summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/applications/misc/chirp/default.nix41
-rw-r--r--pkgs/top-level/all-packages.nix4
2 files changed, 45 insertions, 0 deletions
diff --git a/pkgs/applications/misc/chirp/default.nix b/pkgs/applications/misc/chirp/default.nix
new file mode 100644
index 00000000000..2b92dc8d19e
--- /dev/null
+++ b/pkgs/applications/misc/chirp/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, libxml2Python, libxslt, makeWrapper
+, python, pyserial, pygtk
+}:
+let
+  version = "0.4.1";
+in
+stdenv.mkDerivation rec {
+  name = "chirp-${version}";
+  inherit version;
+
+  src = fetchurl {
+    url = "http://chirp.danplanet.com/download/0.4.1/chirp-${version}.tar.gz";
+    sha256 = "17iihghqjprn2hld193qw0yl1kkrf6m0fp57l7ibkflxr0nnb7cc";
+  };
+
+  buildInputs = [
+    makeWrapper
+    pyserial pygtk libxml2Python libxslt pyserial
+  ];
+
+  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/chirp
+    cp -r . $out/share/chirp/
+    ln -s $out/share/chirp/chirpw $out/bin/chirpw
+
+    for file in "$out"/bin/*; do
+      wrapProgram "$file" \
+        --prefix PYTHONPATH : $PYTHONPATH:$(toPythonPath "$out")
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A free, open-source tool for programming your amateur radio.";
+    homepage = http://chirp.danplanet.com/;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.the-kenny ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 4c317e18251..265343cd490 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -10829,6 +10829,10 @@ let
 
   chatzilla = callPackage ../applications/networking/irc/chatzilla { };
 
+  chirp = callPackage ../applications/misc/chirp {
+    inherit (pythonPackages) pyserial pygtk;
+  };
+
   chromium = callPackage ../applications/networking/browsers/chromium {
     channel = "stable";
     pulseSupport = config.pulseaudio or true;