From dfcb1937b11cf2f514e04f28ff15580ed6af84ce Mon Sep 17 00:00:00 2001 From: Jamie Quigley Date: Wed, 12 Oct 2022 20:52:51 +0100 Subject: [PATCH] rnnoise-plugin: 0.91 -> 1.03 Also add myself as a maintainer --- .../libraries/rnnoise-plugin/default.nix | 48 ++++++++++++++++--- .../rnnoise-plugin/disable-ubsan.patch | 14 ++++++ pkgs/top-level/all-packages.nix | 6 ++- 3 files changed, 61 insertions(+), 7 deletions(-) create mode 100644 pkgs/development/libraries/rnnoise-plugin/disable-ubsan.patch diff --git a/pkgs/development/libraries/rnnoise-plugin/default.nix b/pkgs/development/libraries/rnnoise-plugin/default.nix index e68f74e2896..d5f5268ac8e 100644 --- a/pkgs/development/libraries/rnnoise-plugin/default.nix +++ b/pkgs/development/libraries/rnnoise-plugin/default.nix @@ -1,17 +1,53 @@ -{ lib, stdenv, SDL2, fetchFromGitHub, cmake }: - +{ lib +, stdenv +, cmake +, fetchFromGitHub +, freetype +, gtk3-x11 +, mount +, pcre +, pkg-config +, webkitgtk +, xorg +, llvmPackages +, WebKit +, MetalKit +, CoreAudioKit +, simd +}: stdenv.mkDerivation rec { pname = "rnnoise-plugin"; - version = "0.91"; + version = "1.03"; src = fetchFromGitHub { owner = "werman"; repo = "noise-suppression-for-voice"; rev = "v${version}"; - sha256 = "11pwisbcks7g0mdgcrrv49v3ci1l6m26bbb7f67xz4pr1hai5dwc"; + sha256 = "sha256-1DgrpGYF7G5Zr9vbgtKm/Yv0HSdI7LrFYPSGKYNnNDQ="; }; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ cmake pkg-config ]; + + patches = lib.optionals stdenv.isDarwin [ + # Ubsan seems to be broken on aarch64-darwin, it produces linker errors similar to https://github.com/NixOS/nixpkgs/issues/140751 + ./disable-ubsan.patch + ]; + + buildInputs = + [ + freetype + gtk3-x11 + pcre + xorg.libX11 + xorg.libXrandr + ] ++ lib.optionals stdenv.isLinux [ + webkitgtk + ] ++ lib.optionals stdenv.isDarwin [ + WebKit + MetalKit + CoreAudioKit + simd + ]; cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ]; @@ -20,6 +56,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/werman/noise-suppression-for-voice"; license = licenses.gpl3; platforms = platforms.all; - maintainers = with maintainers; [ panaeon henrikolsson ]; + maintainers = with maintainers; [ panaeon henrikolsson sciencentistguy ]; }; } diff --git a/pkgs/development/libraries/rnnoise-plugin/disable-ubsan.patch b/pkgs/development/libraries/rnnoise-plugin/disable-ubsan.patch new file mode 100644 index 00000000000..e2c4819d141 --- /dev/null +++ b/pkgs/development/libraries/rnnoise-plugin/disable-ubsan.patch @@ -0,0 +1,14 @@ +diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt +index 4c2300e..273d76e 100644 +--- a/src/common/CMakeLists.txt ++++ b/src/common/CMakeLists.txt +@@ -33,8 +33,6 @@ if (BUILD_TESTS) + $ + $) + target_link_libraries(common_plugin_tests PRIVATE ${LIBRARIES}) +- target_compile_options(common_plugin_tests PRIVATE -fsanitize=undefined) +- target_link_options(common_plugin_tests PRIVATE -fsanitize=undefined) + + include(CTest) + include(Catch) + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index da14b2debfe..1b69f6136f4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10806,7 +10806,11 @@ with pkgs; rnnoise = callPackage ../development/libraries/rnnoise { }; - rnnoise-plugin = callPackage ../development/libraries/rnnoise-plugin {}; + # Use `apple_sdk_11_0` because `apple_sdk.libs` does not provide `simd` + rnnoise-plugin = darwin.apple_sdk_11_0.callPackage ../development/libraries/rnnoise-plugin { + inherit (darwin.apple_sdk_11_0.frameworks) WebKit MetalKit CoreAudioKit; + inherit (darwin.apple_sdk_11_0.libs) simd; + }; rnote = callPackage ../applications/graphics/rnote { inherit (gst_all_1) gstreamer;