diff options
author | Taeer Bar-Yam <taeer@bar-yam.me> | 2021-04-27 13:59:41 -0400 |
---|---|---|
committer | Taeer Bar-Yam <taeer@bar-yam.me> | 2021-04-29 20:47:57 -0400 |
commit | e1b933ccdc67ce654d9cab658bb2970677ea20bb (patch) | |
tree | 9a10a8112c836cc32dcb255757e7c4fac7b4fd1e /pkgs/applications/audio | |
parent | 61a31ad3d6c58cf7cc7c57fb998835c019e458d2 (diff) |
opusfile: fix windows compilation
Diffstat (limited to 'pkgs/applications/audio')
-rw-r--r-- | pkgs/applications/audio/opusfile/default.nix | 14 | ||||
-rw-r--r-- | pkgs/applications/audio/opusfile/disable-cert-store.patch | 35 |
2 files changed, 44 insertions, 5 deletions
diff --git a/pkgs/applications/audio/opusfile/default.nix b/pkgs/applications/audio/opusfile/default.nix index e4f7e6ca6b465..a6683904cb1d9 100644 --- a/pkgs/applications/audio/opusfile/default.nix +++ b/pkgs/applications/audio/opusfile/default.nix @@ -1,23 +1,27 @@ { lib, stdenv, fetchurl, pkg-config, openssl, libogg, libopus }: stdenv.mkDerivation rec { - name = "opusfile-0.12"; + pname = "opusfile"; + version = "0.12"; src = fetchurl { - url = "http://downloads.xiph.org/releases/opus/${name}.tar.gz"; + url = "http://downloads.xiph.org/releases/opus/opusfile-${version}.tar.gz"; sha256 = "02smwc5ah8nb3a67mnkjzqmrzk43j356hgj2a97s9midq40qd38i"; }; nativeBuildInputs = [ pkg-config ]; buildInputs = [ openssl libogg ]; propagatedBuildInputs = [ libopus ]; - patches = [ ./include-multistream.patch ]; + patches = [ ./include-multistream.patch ] + # fixes problem with openssl 1.1 dependency + # see https://github.com/xiph/opusfile/issues/13 + ++ lib.optionals stdenv.hostPlatform.isWindows [ ./disable-cert-store.patch ]; configureFlags = [ "--disable-examples" ]; meta = with lib; { description = "High-level API for decoding and seeking in .opus files"; homepage = "https://www.opus-codec.org/"; license = licenses.bsd3; - platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers; [ ]; + platforms = platforms.all; + maintainers = with maintainers; [ taeer ]; }; } diff --git a/pkgs/applications/audio/opusfile/disable-cert-store.patch b/pkgs/applications/audio/opusfile/disable-cert-store.patch new file mode 100644 index 0000000000000..e0a7dd4fe3dff --- /dev/null +++ b/pkgs/applications/audio/opusfile/disable-cert-store.patch @@ -0,0 +1,35 @@ +diff --git a/src/http.c b/src/http.c +index bd08562..3a3592c 100644 +--- a/src/http.c ++++ b/src/http.c +@@ -327,10 +327,12 @@ static int op_poll_win32(struct pollfd *_fds,nfds_t _nfds,int _timeout){ + typedef ptrdiff_t ssize_t; + # endif + ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + /*Load certificates from the built-in certificate store.*/ + int SSL_CTX_set_default_verify_paths_win32(SSL_CTX *_ssl_ctx); + # define SSL_CTX_set_default_verify_paths \ + SSL_CTX_set_default_verify_paths_win32 ++#endif + + # else + /*Normal Berkeley sockets.*/ +diff --git a/src/wincerts.c b/src/wincerts.c +index 409a4e0..c355952 100644 +--- a/src/wincerts.c ++++ b/src/wincerts.c +@@ -33,6 +33,8 @@ + # include <openssl/err.h> + # include <openssl/x509.h> + ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++ + static int op_capi_new(X509_LOOKUP *_lu){ + HCERTSTORE h_store; + h_store=CertOpenStore(CERT_STORE_PROV_SYSTEM_A,0,0, +@@ -171,3 +173,4 @@ int SSL_CTX_set_default_verify_paths_win32(SSL_CTX *_ssl_ctx){ + } + + #endif ++#endif |