about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLuke Sandell <lasandell@gmail.com>2018-02-17 05:06:27 -0600
committerJoachim F <joachifm@users.noreply.github.com>2018-02-17 11:06:27 +0000
commit635011f219b0084279242dc664ce7efed5f30b24 (patch)
tree7b7a0717027404011421c77ce352455ebe51d481
parent828b635bd96a5c60419a6f9b2e1476c718ee285d (diff)
downloadnixlib-635011f219b0084279242dc664ce7efed5f30b24.tar
nixlib-635011f219b0084279242dc664ce7efed5f30b24.tar.gz
nixlib-635011f219b0084279242dc664ce7efed5f30b24.tar.bz2
nixlib-635011f219b0084279242dc664ce7efed5f30b24.tar.lz
nixlib-635011f219b0084279242dc664ce7efed5f30b24.tar.xz
nixlib-635011f219b0084279242dc664ce7efed5f30b24.tar.zst
nixlib-635011f219b0084279242dc664ce7efed5f30b24.zip
wsjtx: init at 1.8.0 (#33247)
-rw-r--r--lib/maintainers.nix1
-rw-r--r--pkgs/applications/misc/wsjtx/default.nix41
-rw-r--r--pkgs/applications/misc/wsjtx/wsjtx.patch12
-rw-r--r--pkgs/top-level/all-packages.nix2
4 files changed, 56 insertions, 0 deletions
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index 3b3294652f47..34fbbce1a7a1 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -370,6 +370,7 @@
   kristoff3r = "Kristoffer Søholm <k.soeholm@gmail.com>";
   ktosiek = "Tomasz Kontusz <tomasz.kontusz@gmail.com>";
   kuznero = "Roman Kuznetsov <roman@kuznero.com>";
+  lasandell = "Luke Sandell <lasandell@gmail.com>";
   lassulus = "Lassulus <lassulus@gmail.com>";
   layus = "Guillaume Maudoux <layus.on@gmail.com>";
   ldesgoui = "Lucas Desgouilles <ldesgoui@gmail.com>";
diff --git a/pkgs/applications/misc/wsjtx/default.nix b/pkgs/applications/misc/wsjtx/default.nix
new file mode 100644
index 000000000000..8a23134e3ed0
--- /dev/null
+++ b/pkgs/applications/misc/wsjtx/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, asciidoc, asciidoctor, autoconf, automake, cmake,
+  docbook_xsl, fftw, fftwFloat, gfortran, libtool, libpulseaudio, qtbase,
+  qtmultimedia, qtserialport, texinfo, libusb1 }:
+
+stdenv.mkDerivation rec {
+  name = "wsjtx-${version}";
+  version = "1.8.0";
+
+  # This is a composite source tarball containing both wsjtx and a hamlib fork
+  src = fetchurl {
+    url = "http://physics.princeton.edu/pulsar/K1JT/wsjtx-${version}.tgz";
+    sha256 = "21603ad4d5f43cd9c79a6e8cf468bde88c554654012b2c6c1ef9144cfbf668ce";
+  };
+
+  # Hamlib builds with autotools, wsjtx builds with cmake
+  # Omitting pkgconfig because it causes issues locating the built hamlib
+  nativeBuildInputs = [
+    asciidoc asciidoctor autoconf automake cmake docbook_xsl gfortran libtool
+    texinfo
+  ];
+  buildInputs = [ fftw fftwFloat libusb1 qtbase qtmultimedia qtserialport ];
+
+  # Composite build has its own patch step after it extracts the inner archives
+  postPatch = "cp ${./wsjtx.patch} wsjtx.patch";
+
+  meta = with stdenv.lib; {
+    description = "Weak-signal digital communication modes for amateur radio";
+    longDescription = ''
+      WSJT-X implements communication protocols or "modes" called FT8, JT4, JT9,
+      JT65, QRA64, ISCAT, MSK144, and WSPR, as well as one called Echo for
+      detecting and measuring your own radio signals reflected from the Moon.
+      These modes were all designed for making reliable, confirmed ham radio
+      contacts under extreme weak-signal conditions.
+    '';
+    homepage = http://physics.princeton.edu/pulsar/k1jt/wsjtx.html;
+    # Older licenses are for the statically-linked hamlib
+    license = with licenses; [ gpl3Plus gpl2Plus lgpl21Plus ];
+    platforms = platforms.linux;
+    maintainers = [ maintainers.lasandell ];
+  };
+}
diff --git a/pkgs/applications/misc/wsjtx/wsjtx.patch b/pkgs/applications/misc/wsjtx/wsjtx.patch
new file mode 100644
index 000000000000..a5bd7ec3e196
--- /dev/null
+++ b/pkgs/applications/misc/wsjtx/wsjtx.patch
@@ -0,0 +1,12 @@
+Index: wsjtx/CMakeLists.txt
+===================================================================
+--- wsjtx/CMakeLists.txt	(revision 8382)
++++ wsjtx/CMakeLists.txt	(working copy)
+@@ -866,6 +866,7 @@
+ find_package (Qt5Widgets 5 REQUIRED)
+ find_package (Qt5Multimedia 5 REQUIRED)
+ find_package (Qt5PrintSupport 5 REQUIRED)
++find_package (Qt5SerialPort 5 REQUIRED)
+ 
+ if (WIN32)
+   add_definitions (-DQT_NEEDS_QTMAIN)
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index bfb536473836..7e5a97490add 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -17992,6 +17992,8 @@ with pkgs;
       );
   };
 
+  wsjtx = qt5.callPackage ../applications/misc/wsjtx { };
+
   wtftw = callPackage ../applications/window-managers/wtftw {};
 
   wxhexeditor = callPackage ../applications/editors/wxhexeditor { };