{ lib, stdenv, fetchurl, pkg-config, openssl, libogg, libopus, fetchpatch }: stdenv.mkDerivation rec { pname = "opusfile"; version = "0.12"; src = fetchurl { url = "http://downloads.xiph.org/releases/opus/opusfile-${version}.tar.gz"; sha256 = "02smwc5ah8nb3a67mnkjzqmrzk43j356hgj2a97s9midq40qd38i"; }; nativeBuildInputs = [ pkg-config ]; buildInputs = [ openssl libogg ]; propagatedBuildInputs = [ libopus ]; outputs = [ "out" "dev" ]; patches = [ ./include-multistream.patch (fetchpatch { name = "CVE-2022-47021.patch"; url = "https://github.com/xiph/opusfile/commit/0a4cd796df5b030cb866f3f4a5e41a4b92caddf5.patch"; sha256 = "sha256-XThI/ys5caB+OncFVfxm5IsvQPy1MbLQKwIlYjPvTJQ="; }) ] # 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.all; maintainers = with maintainers; [ taeer ]; }; }