aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/applications/radio/gqrx/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/applications/radio/gqrx/default.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/gqrx/default.nix48
1 files changed, 48 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/gqrx/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/radio/gqrx/default.nix
new file mode 100644
index 000000000000..b2402aad33eb
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/gqrx/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchFromGitHub, cmake, qtbase, qtsvg, gnuradio, boost, gr-osmosdr
+, mkDerivation
+# drivers (optional):
+, rtl-sdr, hackrf
+, pulseaudioSupport ? true, libpulseaudio
+}:
+
+assert pulseaudioSupport -> libpulseaudio != null;
+
+mkDerivation rec {
+ pname = "gqrx";
+ version = "2.14.2";
+
+ src = fetchFromGitHub {
+ owner = "csete";
+ repo = "gqrx";
+ rev = "v${version}";
+ sha256 = "15xlzfgmffq43wn74xjqc5p2m21i3lh28qqskd2jf2hhvanpcwcp";
+ };
+
+ 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 = "https://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 fpletz ];
+ };
+}