unityhub: 3.10.0 -> 3.11.0 (#376840)
[NixPkgs.git] / pkgs / by-name / lp / LPCNet / package.nix
blob0d94114f4e6dc5333394baa84314f3be8b5109b6
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   fetchurl,
6   cmake,
7   codec2,
8   # for tests
9   octave,
12 stdenv.mkDerivation (finalAttrs: {
13   pname = "LPCNet";
14   version = "0.5";
16   src = fetchFromGitHub {
17     owner = "drowe67";
18     repo = "LPCNet";
19     rev = "v${finalAttrs.version}";
20     hash = "sha256-tHZLKXmuM86A6OpfS3CRRjhFbqj1Q/w1w56msdgLHb0=";
21   };
22   passthru = {
23     # Prebuilt neural network model that is needed during the build - can be overrwritten
24     nnmodel = fetchurl {
25       url = "http://rowetel.com/downloads/deep/lpcnet_191005_v1.0.tgz";
26       hash = "sha256-UJRAkkdR/dh/+qVoPuPd3ZN69cgzuRBMzOZdUWFJJsg=";
27     };
28   };
29   preConfigure = ''
30     mkdir build
31     cp \
32       ${finalAttrs.finalPackage.passthru.nnmodel} \
33       build/${finalAttrs.finalPackage.passthru.nnmodel.name}
34   '';
36   prePatch = ''
37     patchShebangs *.sh unittest/*.sh
38   '';
40   nativeBuildInputs = [ cmake ];
41   buildInputs = [ codec2 ];
42   nativeCheckInputs = [ octave ];
44   doCheck = true;
45   preCheck = ''
46     export LD_LIBRARY_PATH="$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}/build/source/build/src"
47   '';
49   meta = with lib; {
50     description = "Experimental Neural Net speech coding for FreeDV";
51     homepage = "https://github.com/drowe67/LPCNet";
52     license = licenses.bsd3;
53     maintainers = with maintainers; [ doronbehar ];
54     platforms = platforms.all;
55   };