nixpkgs/pkgs/applications/radio/wsjtx/default.nix
2019-12-09 18:03:23 -08:00

45 lines
1.8 KiB
Nix

{ stdenv, fetchurl, asciidoc, asciidoctor, autoconf, automake, cmake,
docbook_xsl, fftw, fftwFloat, gfortran, libtool, libusb1, qtbase,
qtmultimedia, qtserialport, qttools, texinfo, wrapQtAppsHook }:
stdenv.mkDerivation rec {
pname = "wsjtx";
version = "2.1.2";
# This is a "superbuild" tarball containing both wsjtx and a hamlib fork
src = fetchurl {
url = "http://physics.princeton.edu/pulsar/k1jt/wsjtx-${version}.tgz";
sha256 = "0aj3wg5xjjqwjvw6lra171ag5wq86w0hf1ra4k8mnaf0mc1qgbyl";
};
# 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
qttools texinfo wrapQtAppsHook
];
buildInputs = [ fftw fftwFloat libusb1 qtbase qtmultimedia qtserialport ];
# Remove Git dependency from superbuild since sources are included
patches = [ ./super.patch ];
# Superbuild 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 FT4, 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 = "https://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 = with maintainers; [ lasandell ];
};
}