about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorSandro <sandro.jaeckel@gmail.com>2022-10-08 12:12:19 +0200
committerGitHub <noreply@github.com>2022-10-08 12:12:19 +0200
commitd52393743f80b0c3e79f38f88da08bb6db5cb467 (patch)
tree30ad6f91cb14550c233b9c2d8ecd5670bcf3427f /pkgs
parent85c0e1bb3d2512ed035a97f0d50c7be5e18b78e9 (diff)
parentb9e2097a74316083c1a21e472ba0cc57fc269e30 (diff)
Merge pull request #195000 from oxapentane/init-sigdigger
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/radio/sigdigger/default.nix59
-rw-r--r--pkgs/applications/radio/sigutils/default.nix40
-rw-r--r--pkgs/applications/radio/suscan/default.nix50
-rw-r--r--pkgs/applications/radio/suwidgets/default.nix51
-rw-r--r--pkgs/top-level/all-packages.nix8
5 files changed, 208 insertions, 0 deletions
diff --git a/pkgs/applications/radio/sigdigger/default.nix b/pkgs/applications/radio/sigdigger/default.nix
new file mode 100644
index 0000000000000..4273d148ce280
--- /dev/null
+++ b/pkgs/applications/radio/sigdigger/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, qmake
+, qtbase
+, pkg-config
+, sigutils
+, fftwSinglePrec
+, suwidgets
+, wrapQtAppsHook
+, suscan
+, libsndfile
+, soapysdr-with-plugins
+, libxml2
+, volk
+}:
+
+stdenv.mkDerivation rec {
+  pname = "sigdigger";
+  version = "0.3.0";
+
+  src = fetchFromGitHub {
+    owner = "BatchDrake";
+    repo = "SigDigger";
+    rev = "v${version}";
+    sha256 = "sha256-dS+Fc0iQz7GIlGaR556Ur/EQh3Uzhqm9uBW42IuEqoE=";
+  };
+
+  nativeBuildInputs = [
+    qmake
+    pkg-config
+    wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    qtbase
+    sigutils
+    fftwSinglePrec
+    suwidgets
+    suscan
+    libsndfile
+    libxml2
+    volk
+    soapysdr-with-plugins
+  ];
+
+  qmakeFlags = [
+    "SUWIDGETS_PREFIX=${suwidgets}"
+    "SigDigger.pro"
+  ];
+
+  meta = with lib; {
+    description = "Qt-based digital signal analyzer, using Suscan core and Sigutils DSP library";
+    homepage = "https://github.com/BatchDrake/SigDigger";
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ polygon oxapentane ];
+  };
+}
diff --git a/pkgs/applications/radio/sigutils/default.nix b/pkgs/applications/radio/sigutils/default.nix
new file mode 100644
index 0000000000000..8b384af02270d
--- /dev/null
+++ b/pkgs/applications/radio/sigutils/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, pkg-config
+, fftwSinglePrec
+, libsndfile
+, volk
+}:
+
+stdenv.mkDerivation rec {
+  pname = "sigutils";
+  version = "unstable-2022-07-05";
+
+  src = fetchFromGitHub {
+    owner = "BatchDrake";
+    repo = "sigutils";
+    rev = "1d7559d427aadd253dd825eef26bf15e54860c5f";
+    sha256 = "sha256-wvd6sixwGmR9R4x+swLVqXre4Dqnj10jZIXUfaJcmBw=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    fftwSinglePrec
+    libsndfile
+    volk
+  ];
+
+  meta = with lib; {
+    description = "Small signal processing utility library";
+    homepage = "https://github.com/BatchDrake/sigutils";
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ polygon oxapentane ];
+  };
+}
diff --git a/pkgs/applications/radio/suscan/default.nix b/pkgs/applications/radio/suscan/default.nix
new file mode 100644
index 0000000000000..d2b13784a72cf
--- /dev/null
+++ b/pkgs/applications/radio/suscan/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, pkg-config
+, fftwSinglePrec
+, libsndfile
+, sigutils
+, soapysdr-with-plugins
+, libxml2
+, volk
+}:
+
+stdenv.mkDerivation rec {
+  pname = "suscan";
+  version = "unstable-2022-07-05";
+
+  src = fetchFromGitHub {
+    owner = "BatchDrake";
+    repo = "suscan";
+    rev = "37dad542b97aff24654f0bb80fb8e85af7cb84ab";
+    sha256 = "sha256-h1ogtYjkqiHb1/NAJfJ0HQIvGnZM2K/PSP5nqLXUf9M=";
+  };
+
+  postPatch = ''
+    sed -i 's/fftw3 >= 3.0/fftw3f >= 3.0/' suscan.pc.in
+  '';
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    fftwSinglePrec
+    libsndfile
+    sigutils
+    soapysdr-with-plugins
+    libxml2
+    volk
+  ];
+
+  meta = with lib; {
+    description = "Channel scanner based on sigutils library";
+    homepage = "https://github.com/BatchDrake/suscan";
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ polygon oxapentane ];
+  };
+}
diff --git a/pkgs/applications/radio/suwidgets/default.nix b/pkgs/applications/radio/suwidgets/default.nix
new file mode 100644
index 0000000000000..05f6cf12d6cdc
--- /dev/null
+++ b/pkgs/applications/radio/suwidgets/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, qmake
+, qtbase
+, pkg-config
+, sigutils
+, fftwSinglePrec
+}:
+
+stdenv.mkDerivation rec {
+  pname = "suwidgets";
+  version = "unstable-2022-04-03";
+
+  src = fetchFromGitHub {
+    owner = "BatchDrake";
+    repo = "SuWidgets";
+    rev = "826b3eeae5b682dc063f53b427caa9c7c48131ea";
+    sha256 = "sha256-cyFLsP+8GbALdlgEnVX4201Qq/KAxb/Vv+sJqbFpvUk=";
+  };
+
+  dontWrapQtApps = true;
+
+  postPatch = ''
+    substituteInPlace SuWidgets.pri \
+      --replace "PKGCONFIG += sigutils fftw3" "PKGCONFIG += sigutils fftw3f"
+  '';
+
+  nativeBuildInputs = [
+    qmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    qtbase
+    sigutils
+    fftwSinglePrec
+  ];
+
+  qmakeFlags = [
+    "SuWidgetsLib.pro"
+  ];
+
+  meta = with lib; {
+    description = "Sigutils-related widgets";
+    homepage = "https://github.com/BatchDrake/SuWidgets";
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ polygon oxapentane ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 33ca400bbb815..252b293edaa0c 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -21819,6 +21819,10 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) AppKit;
   };
 
+  sigdigger = libsForQt5.callPackage ../applications/radio/sigdigger { };
+
+  sigutils = callPackage ../applications/radio/sigutils { };
+
   sblim-sfcc = callPackage ../development/libraries/sblim-sfcc {};
 
   selinux-sandbox = callPackage ../os-specific/linux/selinux-sandbox { };
@@ -22051,6 +22055,10 @@ with pkgs;
 
   splat = callPackage ../applications/radio/splat { };
 
+  suscan = callPackage ../applications/radio/suscan { };
+
+  suwidgets = libsForQt5.callPackage ../applications/radio/suwidgets { };
+
   sratom = callPackage ../development/libraries/audio/sratom { };
 
   srm = callPackage ../tools/security/srm { };