anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / applications / radio / js8call / default.nix
blobe89d3445697f464400204643929407c594828469
1 { lib
2 , stdenv
3 , fetchFromBitbucket
4 , wrapQtAppsHook
5 , pkg-config
6 , hamlib
7 , libusb1
8 , cmake
9 , gfortran
10 , fftw
11 , fftwFloat
12 , qtbase
13 , qtmultimedia
14 , qtserialport
17 stdenv.mkDerivation rec {
18   pname = "js8call";
19   version = "2.2.0";
21   src = fetchFromBitbucket {
22     owner = "widefido";
23     repo = pname;
24     rev = "v${version}-ga";
25     sha256 = "sha256-mFPhiAAibCiAkLrysAmIQalVCGd9ips2lqbAsowYprY=";
26   };
28   nativeBuildInputs = [
29     wrapQtAppsHook
30     gfortran
31     pkg-config
32     cmake
33   ];
35   buildInputs = [
36     hamlib
37     libusb1
38     fftw
39     fftwFloat
40     qtbase
41     qtmultimedia
42     qtserialport
43   ];
45   prePatch = ''
46     substituteInPlace CMakeLists.txt \
47         --replace "/usr/share/applications" "$out/share/applications" \
48         --replace "/usr/share/pixmaps" "$out/share/pixmaps" \
49         --replace "/usr/bin/" "$out/bin"
50   '';
52   patches = [ ./cmake.patch ];
54   meta = with lib; {
55     description = "Weak-signal keyboard messaging for amateur radio";
56     longDescription = ''
57       JS8Call is software using the JS8 Digital Mode providing weak signal
58       keyboard to keyboard messaging to Amateur Radio Operators.
59     '';
60     homepage = "http://js8call.com/";
61     license = licenses.gpl3Plus;
62     platforms = platforms.linux;
63     maintainers = with maintainers; [ melling ];
64   };