python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / development / libraries / codec2 / default.nix
blob018ef10aebd53a4e0780a90060678a28813ab8b4
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , cmake
5 , freedvSupport ? false
6 , lpcnetfreedv
7 , codec2
8 }:
10 stdenv.mkDerivation rec {
11   pname = "codec2";
12   version = "1.0.5";
14   src = fetchFromGitHub {
15     owner = "drowe67";
16     repo = "codec2";
17     rev = "v${version}";
18     hash = "sha256-Q5p6NicwmHBR7drX8Tdgf6Mruqssg9qzMC9sG9DlMbQ=";
19   };
21   nativeBuildInputs = [ cmake ];
23   buildInputs = lib.optionals freedvSupport [
24     lpcnetfreedv
25   ];
27   # Install a binary that is used by openwebrx
28   postInstall = ''
29     install -Dm0755 src/freedv_rx -t $out/bin/
30   '';
32   # Swap keyword order to satisfy SWIG parser
33   postFixup = ''
34     sed -r -i 's/(\<_Complex)(\s+)(float|double)/\3\2\1/' $out/include/$pname/freedv_api.h
35   '';
37   cmakeFlags = [
38     # RPATH of binary /nix/store/.../bin/freedv_rx contains a forbidden reference to /build/
39     "-DCMAKE_SKIP_BUILD_RPATH=ON"
40   ] ++ lib.optionals freedvSupport [
41     "-DLPCNET=ON"
42   ];
44   meta = with lib; {
45     description = "Speech codec designed for communications quality speech at low data rates";
46     homepage = "https://www.rowetel.com/codec2.html";
47     license = licenses.lgpl21Only;
48     platforms = platforms.unix;
49     maintainers = with maintainers; [ markuskowa ];
50   };