commit da70d14e55af0d3b10e6f21da080b214ed7ea634
parent 960f780cb102445f2155ffe6d9d160bb0232b930
Author: Nikolay Korotkiy <sikmir@gmail.com>
Date:   Fri,  1 Oct 2021 01:17:45 +0300
Add sigdigger
Diffstat:
5 files changed, 126 insertions(+), 0 deletions(-)
diff --git a/pkgs/default.nix b/pkgs/default.nix
@@ -308,6 +308,14 @@ lib.makeScope newScope (
     libad9361 = callPackage ./radio/libad9361 { };
     linrad = callPackage ./radio/linrad { };
     sdrpp = callPackage ./radio/sdrpp { };
+    sigdigger = libsForQt5.callPackage ./radio/sigdigger {
+      inherit sigutils suscan suwidgets;
+    };
+    sigutils = callPackage ./radio/sigutils { };
+    suscan = callPackage ./radio/suscan { };
+    suwidgets = libsForQt5.callPackage ./radio/suwidgets {
+      inherit sigutils;
+    };
 
     ### SUCKLESS
 
diff --git a/pkgs/radio/sigdigger/default.nix b/pkgs/radio/sigdigger/default.nix
@@ -0,0 +1,33 @@
+{ lib, mkDerivation, fetchFromGitHub, qmake, pkg-config
+, fftwFloat, sigutils, suscan, suwidgets, volk
+, fftw, libsndfile, soapysdr
+}:
+
+mkDerivation rec {
+  pname = "sigdigger";
+  version = "0.2.0-rc1";
+
+  src = fetchFromGitHub {
+    owner = "BatchDrake";
+    repo = "SigDigger";
+    rev = "v${version}";
+    hash = "sha256-OWFPf1iIDhzgV7+pANp7lxzEBhxND0tIhB0VGNOeCak=";
+  };
+
+  nativeBuildInputs = [ qmake pkg-config ];
+
+  buildInputs = [
+    fftwFloat sigutils suscan suwidgets volk
+    fftw libsndfile soapysdr
+  ];
+
+  qmakeFlags = [ "SUWIDGETS_PREFIX=${suwidgets}" "SigDigger.pro" ];
+
+  meta = with lib; {
+    description = "Qt-based digital signal analyzer, using Suscan core and Sigutils DSP library";
+    inherit (src.meta) homepage;
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.sikmir ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/radio/sigutils/default.nix b/pkgs/radio/sigutils/default.nix
@@ -0,0 +1,27 @@
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config
+, fftwFloat, libsndfile, volk
+}:
+
+stdenv.mkDerivation rec {
+  pname = "sigutils";
+  version = "2021-07-17";
+
+  src = fetchFromGitHub {
+    owner = "BatchDrake";
+    repo = pname;
+    rev = "0b0be80d1c76803a1f463bb68a470d81afcc5101";
+    hash = "sha256-ImeyR6iDIfgu2Pp4JcCzp+pJXVMmPLUps4kHsjsqsxM=";
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  buildInputs = [ fftwFloat libsndfile volk ];
+
+  meta = with lib; {
+    description = "Small signal processing utility library";
+    inherit (src.meta) homepage;
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.sikmir ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/radio/suscan/default.nix b/pkgs/radio/suscan/default.nix
@@ -0,0 +1,27 @@
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config
+, fftwFloat, libsndfile, libxml2, sigutils, soapysdr, volk
+}:
+
+stdenv.mkDerivation rec {
+  pname = "suscan";
+  version = "2021-07-17";
+
+  src = fetchFromGitHub {
+    owner = "BatchDrake";
+    repo = pname;
+    rev = "09fd8cf1f220ae707a877107163515114d9eb671";
+    hash = "sha256-KU3JaGIL65LWJWc6Iw/eyKdUMnVQ85g0MtmuSPGdp44=";
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  buildInputs = [ fftwFloat libsndfile libxml2 sigutils soapysdr volk ];
+
+  meta = with lib; {
+    description = "Channel scanner based on sigutils library";
+    inherit (src.meta) homepage;
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.sikmir ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/radio/suwidgets/default.nix b/pkgs/radio/suwidgets/default.nix
@@ -0,0 +1,31 @@
+{ lib, mkDerivation, fetchFromGitHub, qmake, pkg-config
+, fftw, sigutils
+}:
+
+mkDerivation rec {
+  pname = "suwidgets";
+  version = "2021-07-17";
+
+  src = fetchFromGitHub {
+    owner = "BatchDrake";
+    repo = "SuWidgets";
+    rev = "c45b2af3b24115335bf993671198f419fa3ed0f7";
+    hash = "sha256-p+kgmtDWuBLlh8IJP5FeximeJSfz9M6Il3SRYz0TJgI=";
+  };
+
+  nativeBuildInputs = [ qmake pkg-config ];
+
+  buildInputs = [ fftw sigutils ];
+
+  qmakeFlags = [ "SuWidgetsLib.pro" "PREFIX=/" ];
+
+  installFlags = [ "INSTALL_ROOT=$(out)" ];
+
+  meta = with lib; {
+    description = "Sigutils-related widgets";
+    inherit (src.meta) homepage;
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.sikmir ];
+    platforms = platforms.unix;
+  };
+}