summaryrefslogtreecommitdiffstats
path: root/pkgs/by-name/ws/wsjtx/package.nix
blob: 7a43dcc1c81957b7b4275afbfdf0a90aac86f230 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
{
  lib,
  stdenv,
  fetchFromGitHub,
  asciidoc,
  asciidoctor,
  cmake,
  nix-update-script,
  pkg-config,
  portaudio,
  fftw,
  fftwFloat,
  gfortran,
  hamlib_4,
  libtool,
  libusb1,
  qt5,
  boost,
  texinfo,
}:

stdenv.mkDerivation (finalAttrs: {
  pname = "wsjtx";
  version = "3.0.2";

  src = fetchFromGitHub {
    owner = "WSJTX";
    repo = "wsjtx";
    tag = "v${finalAttrs.version}";
    hash = "sha256-PompKWVxPpF3ie811tqy8bplnULyXdenBrR/pHvtM08=";
  };

  nativeBuildInputs = [
    asciidoc
    asciidoctor
    cmake
    gfortran
    hamlib_4 # rigctl
    libtool
    pkg-config
    qt5.qttools
    texinfo
    qt5.wrapQtAppsHook
  ];
  buildInputs = [
    fftw
    fftwFloat
    hamlib_4
    libusb1
    portaudio
    qt5.qtbase
    qt5.qtmultimedia
    qt5.qtserialport
    qt5.qtwebsockets
    boost
  ];

  strictDeps = true;

  passthru.updateScript = nix-update-script {
    extraArgs = [
      "--version-regex"
      "^v([0-9]\\.[0-9]\\.[0-9])$"
    ];
  };

  meta = {
    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://wsjt.sourceforge.io";
    license = lib.licenses.gpl3Plus;
    platforms = lib.platforms.linux;
    maintainers = with lib.maintainers; [
      lasandell
      numinit
    ];
  };
})