diff options
Diffstat (limited to 'pkgs/applications/radio/direwolf/default.nix')
-rw-r--r-- | pkgs/applications/radio/direwolf/default.nix | 48 |
1 files changed, 34 insertions, 14 deletions
diff --git a/pkgs/applications/radio/direwolf/default.nix b/pkgs/applications/radio/direwolf/default.nix index d3c01aff769..99503d5d036 100644 --- a/pkgs/applications/radio/direwolf/default.nix +++ b/pkgs/applications/radio/direwolf/default.nix @@ -1,26 +1,44 @@ -{ lib, stdenv, fetchFromGitHub, cmake, alsa-lib, espeak, gpsd -, hamlib, perl, python3, udev }: - -with lib; +{ lib +, stdenv +, fetchFromGitHub +, cmake +, alsa-lib +, gpsd +, gpsdSupport ? false +, hamlib +, hamlibSupport ? true +, perl +, portaudio +, python3 +, espeak +, udev +, extraScripts ? false +}: stdenv.mkDerivation rec { pname = "direwolf"; - version = "1.6"; + version = "1.7"; src = fetchFromGitHub { owner = "wb2osz"; repo = "direwolf"; rev = version; - sha256 = "0xmz64m02knbrpasfij4rrq53ksxna5idxwgabcw4n2b1ig7pyx5"; + hash = "sha256-Vbxc6a6CK+wrBfs15dtjfRa1LJDKKyHMrg8tqsF7EX4="; }; nativeBuildInputs = [ cmake ]; strictDeps = true; - buildInputs = [ - espeak gpsd hamlib perl python3 - ] ++ (optionals stdenv.isLinux [alsa-lib udev]); + buildInputs = lib.optionals stdenv.isLinux [ alsa-lib udev ] + ++ lib.optionals stdenv.isDarwin [ portaudio ] + ++ lib.optionals gpsdSupport [ gpsd ] + ++ lib.optionals hamlibSupport [ hamlib ] + ++ lib.optionals extraScripts [ python3 perl espeak ]; + + preConfigure = lib.optionals (!extraScripts) '' + echo "" > scripts/CMakeLists.txt + ''; postPatch = '' substituteInPlace conf/CMakeLists.txt \ @@ -31,21 +49,23 @@ stdenv.mkDerivation rec { substituteInPlace src/decode_aprs.c \ --replace /usr/share/direwolf/tocalls.txt $out/share/direwolf/tocalls.txt \ --replace /opt/local/share/direwolf/tocalls.txt $out/share/direwolf/tocalls.txt - patchShebangs scripts/dwespeak.sh - substituteInPlace scripts/dwespeak.sh \ - --replace espeak ${espeak}/bin/espeak substituteInPlace cmake/cpack/direwolf.desktop.in \ --replace 'Terminal=false' 'Terminal=true' \ --replace 'Exec=@APPLICATION_DESKTOP_EXEC@' 'Exec=direwolf' substituteInPlace src/dwgpsd.c \ --replace 'GPSD_API_MAJOR_VERSION > 11' 'GPSD_API_MAJOR_VERSION > 14' + '' + + lib.optionalString extraScripts '' + patchShebangs scripts/dwespeak.sh + substituteInPlace scripts/dwespeak.sh \ + --replace espeak ${espeak}/bin/espeak ''; - meta = { + meta = with lib; { description = "A Soundcard Packet TNC, APRS Digipeater, IGate, APRStt gateway"; homepage = "https://github.com/wb2osz/direwolf/"; license = licenses.gpl2; platforms = platforms.unix; - maintainers = with maintainers; [ lasandell ]; + maintainers = with maintainers; [ lasandell sarcasticadmin ]; }; } |