nixpkgs/pkgs/applications/radio/gqrx/default.nix
Bjørn Forsman a26168ff46 gqrx: use qt5's mkDerivation
Fixes

  qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
  This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

See https://github.com/NixOS/nixpkgs/issues/65399
2019-08-07 20:40:02 +02:00

49 lines
1.6 KiB
Nix

{ stdenv, fetchFromGitHub, cmake, qtbase, qtsvg, gnuradio, boost, gr-osmosdr
, mkDerivation
# drivers (optional):
, rtl-sdr, hackrf
, pulseaudioSupport ? true, libpulseaudio
}:
assert pulseaudioSupport -> libpulseaudio != null;
mkDerivation rec {
name = "gqrx-${version}";
version = "2.11.5";
src = fetchFromGitHub {
owner = "csete";
repo = "gqrx";
rev = "v${version}";
sha256 = "0q9i0dhd6blagxzk84pzqjq8n4ym3jc1mkkhygg8yncr4vq2saaf";
};
nativeBuildInputs = [ cmake ];
buildInputs = [
qtbase qtsvg gnuradio boost gr-osmosdr rtl-sdr hackrf
] ++ stdenv.lib.optionals pulseaudioSupport [ libpulseaudio ];
enableParallelBuilding = true;
postInstall = ''
install -vD $src/gqrx.desktop -t "$out/share/applications/"
install -vD $src/resources/icons/gqrx.svg -t "$out/share/icons/"
'';
meta = with stdenv.lib; {
description = "Software defined radio (SDR) receiver";
longDescription = ''
Gqrx is a software defined radio receiver powered by GNU Radio and the Qt
GUI toolkit. It can process I/Q data from many types of input devices,
including Funcube Dongle Pro/Pro+, rtl-sdr, HackRF, and Universal
Software Radio Peripheral (USRP) devices.
'';
homepage = http://gqrx.dk/;
# Some of the code comes from the Cutesdr project, with a BSD license, but
# it's currently unknown which version of the BSD license that is.
license = licenses.gpl3Plus;
platforms = platforms.linux; # should work on Darwin / macOS too
maintainers = with maintainers; [ bjornfor the-kenny fpletz ];
};
}