From 6f1acf82c0733e61a84c9680d0279917f83e5689 Mon Sep 17 00:00:00 2001 From: Andrew Dunham Date: Sun, 12 Jul 2020 17:37:11 -0700 Subject: [PATCH] dsd: init at 2018-07-01 --- pkgs/applications/radio/dsd/default.nix | 44 +++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 46 insertions(+) create mode 100644 pkgs/applications/radio/dsd/default.nix diff --git a/pkgs/applications/radio/dsd/default.nix b/pkgs/applications/radio/dsd/default.nix new file mode 100644 index 000000000000..a369486278be --- /dev/null +++ b/pkgs/applications/radio/dsd/default.nix @@ -0,0 +1,44 @@ +{ stdenv, fetchFromGitHub, cmake +, mbelib, libsndfile, itpp +, portaudioSupport ? true, portaudio ? null +}: + +assert portaudioSupport -> portaudio != null; + +stdenv.mkDerivation rec { + pname = "dsd"; + version = "2018-07-01"; + + src = fetchFromGitHub { + owner = "szechyjs"; + repo = "dsd"; + rev = "f175834e45a1a190171dff4597165b27d6b0157b"; + sha256 = "0w4r13sxvjwacdwxr326zr6p77a8p6ny0g6im574jliw5j3shlhr"; + }; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ + mbelib libsndfile itpp + ] ++ stdenv.lib.optionals portaudioSupport [ portaudio ]; + + enableParallelBuilding = true; + + doCheck = true; + preCheck = '' + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD + export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH''${DYLD_LIBRARY_PATH:+:}$PWD + ''; + + meta = with stdenv.lib; { + description = "Digital Speech Decoder"; + longDescription = '' + DSD is able to decode several digital voice formats from discriminator + tap audio and synthesize the decoded speech. Speech synthesis requires + mbelib, which is a separate package. + ''; + homepage = https://github.com/szechyjs/dsd; + license = licenses.gpl2; + platforms = platforms.unix; + maintainers = with maintainers; [ andrew-d ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index febc0476d7ce..c46d180272ca 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16836,6 +16836,8 @@ in dropwatch = callPackage ../os-specific/linux/dropwatch { }; + dsd = callPackage ../applications/radio/dsd { }; + dstat = callPackage ../os-specific/linux/dstat { }; # unstable until the first 1.x release