From c417e768aacfc8c11004e3f837b05748603b30af Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Sat, 3 May 2025 20:33:55 +0300 Subject: [PATCH 1/2] LPCNet: small semantic modernizing changes --- pkgs/by-name/lp/LPCNet/package.nix | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/lp/LPCNet/package.nix b/pkgs/by-name/lp/LPCNet/package.nix index 351e51118cb5..0fe4dbff872c 100644 --- a/pkgs/by-name/lp/LPCNet/package.nix +++ b/pkgs/by-name/lp/LPCNet/package.nix @@ -16,9 +16,10 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "drowe67"; repo = "LPCNet"; - rev = "v${finalAttrs.version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-tHZLKXmuM86A6OpfS3CRRjhFbqj1Q/w1w56msdgLHb0="; }; + passthru = { # Prebuilt neural network model that is needed during the build - can be overwritten nnmodel = fetchurl { @@ -26,6 +27,7 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-UJRAkkdR/dh/+qVoPuPd3ZN69cgzuRBMzOZdUWFJJsg="; }; }; + preConfigure = '' mkdir build cp \ @@ -37,20 +39,28 @@ stdenv.mkDerivation (finalAttrs: { patchShebangs *.sh unittest/*.sh ''; - nativeBuildInputs = [ cmake ]; - buildInputs = [ codec2 ]; - nativeCheckInputs = [ octave ]; + nativeBuildInputs = [ + cmake + ]; + + buildInputs = [ + codec2 + ]; + + nativeCheckInputs = [ + octave + ]; doCheck = true; preCheck = '' export LD_LIBRARY_PATH="$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}/build/source/build/src" ''; - meta = with lib; { + meta = { description = "Experimental Neural Net speech coding for FreeDV"; homepage = "https://github.com/drowe67/LPCNet"; - license = licenses.bsd3; - maintainers = with maintainers; [ doronbehar ]; - platforms = platforms.all; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ doronbehar ]; + platforms = lib.platforms.all; }; }) From 4a48f9d497ef818a1f86157a5773dc9c55075e34 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Sat, 3 May 2025 20:41:18 +0300 Subject: [PATCH 2/2] LPCNet: unbreak on clang Co-Authored-By: Zexin Yuan --- pkgs/by-name/lp/LPCNet/package.nix | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/lp/LPCNet/package.nix b/pkgs/by-name/lp/LPCNet/package.nix index 0fe4dbff872c..c7bf42a7d7e9 100644 --- a/pkgs/by-name/lp/LPCNet/package.nix +++ b/pkgs/by-name/lp/LPCNet/package.nix @@ -7,6 +7,7 @@ codec2, # for tests octave, + sox, }: stdenv.mkDerivation (finalAttrs: { @@ -47,13 +48,30 @@ stdenv.mkDerivation (finalAttrs: { codec2 ]; + cmakeFlags = lib.optionals (stdenv.cc.isClang && stdenv.hostPlatform.isAarch64) [ + # unsupported option '-mfpu=' for target 'x86_64-apple-darwin' + "-DNEON=OFF" + ]; + nativeCheckInputs = [ octave + sox + ]; + + disabledTests = lib.optionals (stdenv.cc.isClang && stdenv.hostPlatform.isAarch64) [ + # disable tests that require NEON + "SIMD_functions" ]; doCheck = true; - preCheck = '' + checkPhase = '' + runHook preCheck + export LD_LIBRARY_PATH="$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}/build/source/build/src" + + ctest -j 1 --output-on-failure -E '^${lib.concatStringsSep "|" finalAttrs.disabledTests}$' + + runHook postCheck ''; meta = {