about summary refs log tree commit diff
path: root/pkgs/applications/radio
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/radio')
-rw-r--r--pkgs/applications/radio/abracadabra/default.nix4
-rw-r--r--pkgs/applications/radio/cloudlog/default.nix4
-rw-r--r--pkgs/applications/radio/fldigi/default.nix4
-rw-r--r--pkgs/applications/radio/gnuradio/3.8.nix2
-rw-r--r--pkgs/applications/radio/gnuradio/3.9.nix6
-rw-r--r--pkgs/applications/radio/gnuradio/shared.nix2
-rw-r--r--pkgs/applications/radio/m17-cxx-demod/default.nix12
-rw-r--r--pkgs/applications/radio/sdrpp/default.nix107
-rw-r--r--pkgs/applications/radio/urh/default.nix4
9 files changed, 95 insertions, 50 deletions
diff --git a/pkgs/applications/radio/abracadabra/default.nix b/pkgs/applications/radio/abracadabra/default.nix
index 417ca2bc3f42..4210d3190fab 100644
--- a/pkgs/applications/radio/abracadabra/default.nix
+++ b/pkgs/applications/radio/abracadabra/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "abracadabra";
-  version = "2.3.4";
+  version = "2.3.5";
 
   src = fetchFromGitHub {
     owner = "KejPi";
     repo = "AbracaDABra";
     rev = "v${version}";
-    hash = "sha256-giQJ6lOD5TaOa98e7nXf6/HHxP6/TxD9Pgr7xAxvZzs=";
+    hash = "sha256-iWXQ4Tjqz9Y+pihuMDBKi3iwuo5eAyyAMNtRBxojOhs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/radio/cloudlog/default.nix b/pkgs/applications/radio/cloudlog/default.nix
index bcc6655d3dd2..efdf95fc9841 100644
--- a/pkgs/applications/radio/cloudlog/default.nix
+++ b/pkgs/applications/radio/cloudlog/default.nix
@@ -8,13 +8,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "cloudlog";
-  version = "2.6.2";
+  version = "2.6.3";
 
   src = fetchFromGitHub {
     owner = "magicbug";
     repo = "Cloudlog";
     rev = version;
-    hash = "sha256-1V3btXYozgT22KiihZgUiZIktV2Y7IXJgoq7bn16ikk=";
+    hash = "sha256-axulZxMSgpBtF2cUCUWiVdiEOAalvo6RNtG4xpEmC7o=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/radio/fldigi/default.nix b/pkgs/applications/radio/fldigi/default.nix
index 9c1192333c28..abdf52051345 100644
--- a/pkgs/applications/radio/fldigi/default.nix
+++ b/pkgs/applications/radio/fldigi/default.nix
@@ -18,11 +18,11 @@
 
 stdenv.mkDerivation rec {
   pname = "fldigi";
-  version = "4.2.03";
+  version = "4.2.04";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
-    hash = "sha256-tcJYpIeFgoC+jXIdvc1ix+/6v9oPccfxgQbL0wIIKaY=";
+    hash = "sha256-crVeX9vtvn1O5ah1dc74425qUKcozKlDMVeIefMpktY=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/radio/gnuradio/3.8.nix b/pkgs/applications/radio/gnuradio/3.8.nix
index 3113915bce8d..37533bb05d34 100644
--- a/pkgs/applications/radio/gnuradio/3.8.nix
+++ b/pkgs/applications/radio/gnuradio/3.8.nix
@@ -244,6 +244,8 @@ stdenv.mkDerivation (finalAttrs: (shared // {
     rm gr-fec/python/fec/qa_polar_encoder.py
     rm gr-fec/python/fec/qa_polar_encoder_systematic.py
     rm gr-filter/python/filter/qa_freq_xlating_fft_filter.py
+    # Failed with libstdc++ from GCC 13
+    rm gr-filter/python/filter/qa_filterbank.py
   '';
   patches = [
     # Not accepted upstream, see https://github.com/gnuradio/gnuradio/pull/5227
diff --git a/pkgs/applications/radio/gnuradio/3.9.nix b/pkgs/applications/radio/gnuradio/3.9.nix
index 62ee880ce2be..606681b1d6c8 100644
--- a/pkgs/applications/radio/gnuradio/3.9.nix
+++ b/pkgs/applications/radio/gnuradio/3.9.nix
@@ -1,4 +1,5 @@
 { lib, stdenv
+, fetchpatch
 , fetchFromGitHub
 , cmake
 # Remove gcc and python references
@@ -277,6 +278,11 @@ stdenv.mkDerivation (finalAttrs: (shared // {
   patches = [
     # Not accepted upstream, see https://github.com/gnuradio/gnuradio/pull/5227
     ./modtool-newmod-permissions.3_9.patch
+    # Fix compilation with GCC 13
+    (fetchpatch {
+      url = "https://github.com/gnuradio/gnuradio/commit/fe1b3592776c26e349e9985d47d3178568dfe6ec.patch";
+      hash = "sha256-bu6fJuUo/i4kM+cZqSw8moB0ymoSVooLfwUIW+WDpWI=";
+    })
   ];
   passthru = shared.passthru // {
     # Deps that are potentially overridden and are used inside GR plugins - the same version must
diff --git a/pkgs/applications/radio/gnuradio/shared.nix b/pkgs/applications/radio/gnuradio/shared.nix
index fbb4960dc8fa..cd674e41815e 100644
--- a/pkgs/applications/radio/gnuradio/shared.nix
+++ b/pkgs/applications/radio/gnuradio/shared.nix
@@ -104,6 +104,8 @@ in {
       featuresInfo
       python
     ;
+    gnuradioOlder = lib.versionOlder versionAttr.major;
+    gnuradioAtLeast = lib.versionAtLeast versionAttr.major;
   } // lib.optionalAttrs (hasFeature "gr-qtgui") {
     inherit qt;
   } // lib.optionalAttrs (hasFeature "gnuradio-companion") {
diff --git a/pkgs/applications/radio/m17-cxx-demod/default.nix b/pkgs/applications/radio/m17-cxx-demod/default.nix
index 884ebe7a91b5..d6663fbc4287 100644
--- a/pkgs/applications/radio/m17-cxx-demod/default.nix
+++ b/pkgs/applications/radio/m17-cxx-demod/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, boost, codec2 }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, pkg-config, boost, codec2 }:
 
 stdenv.mkDerivation rec {
   pname = "m17-cxx-demod";
@@ -11,6 +11,16 @@ stdenv.mkDerivation rec {
     hash = "sha256-mvppkFBmmPVqvlqIqrbwGrOBih5zS5sZrV/usEhHiws=";
   };
 
+  patches = [
+    # Pull fix pending upstream inclusion for `gcc-13` support:
+    #   https://github.com/mobilinkd/m17-cxx-demod/pull/34
+    (fetchpatch {
+      name = "gcc-13.patch";
+      url = "https://github.com/mobilinkd/m17-cxx-demod/commit/2e2aaf95eeac456a2e8795e4363518bb4d797ac0.patch";
+      hash = "sha256-+XRzHStJ/7XI5JDoBeNwbifsTOw8il3GyFwlbw07wyk=";
+    })
+  ];
+
   nativeBuildInputs = [ cmake pkg-config ];
   buildInputs = [ codec2 boost ];
 
diff --git a/pkgs/applications/radio/sdrpp/default.nix b/pkgs/applications/radio/sdrpp/default.nix
index 9926fab1a746..76fa70984c20 100644
--- a/pkgs/applications/radio/sdrpp/default.nix
+++ b/pkgs/applications/radio/sdrpp/default.nix
@@ -1,45 +1,57 @@
 { stdenv, lib, fetchFromGitHub, cmake, pkg-config
-, libX11, glfw, glew, fftwFloat, volk, AppKit
+, libX11, glfw, glew, fftwFloat, volk, zstd, AppKit
 # Sources
 , airspy_source ? true, airspy
 , airspyhf_source ? true, airspyhf
-, bladerf_source ? false, libbladeRF
+, bladerf_source ? true, libbladeRF
 , file_source ? true
 , hackrf_source ? true, hackrf
-, limesdr_source ? false, limesuite
-, sddc_source ? false
-, rtl_sdr_source ? true, rtl-sdr, libusb1
+, limesdr_source ? true, limesuite
+, perseus_source ? false    # needs libperseus-sdr, not yet available in nixpks
+, plutosdr_source ? stdenv.isLinux, libiio, libad9361
+, rfspace_source ? true
+, rtl_sdr_source ? true, rtl-sdr-osmocom, libusb1  # osmocom better w/ rtlsdr v4
 , rtl_tcp_source ? true
 , sdrplay_source ? false, sdrplay
 , soapy_source ? true, soapysdr
 , spyserver_source ? true
-, plutosdr_source ? stdenv.isLinux, libiio, libad9361
+, usrp_source	? false, uhd, boost
+
 # Sinks
 , audio_sink ? true, rtaudio
-, portaudio_sink ? false, portaudio
 , network_sink ? true
+, portaudio_sink ? false, portaudio
+
 # Decoders
 , falcon9_decoder ? false
 , m17_decoder ? false, codec2
 , meteor_demodulator ? true
 , radio ? true
-, weather_sat_decoder ? true
+, weather_sat_decoder ? false  # is missing some dsp/pll.h
+
 # Misc
 , discord_presence ? true
 , frequency_manager ? true
 , recorder ? true
 , rigctl_server ? true
+, scanner ? true
 }:
 
 stdenv.mkDerivation rec {
   pname = "sdrpp";
-  version = "1.0.4";
+
+  # SDR++ uses a rolling release model.
+  # Choose a git hash from head and use the date from that commit as
+  # version qualifier
+  git_hash = "27ab5bf3c194169ddf60ca312723fce96149cc8e";
+  git_date = "2024-01-22";
+  version = "1.1.0-unstable-" + git_date;
 
   src = fetchFromGitHub {
     owner = "AlexandreRouma";
     repo = "SDRPlusPlus";
-    rev = version;
-    hash = "sha256-g9tpWvVRMXRhPfgvOeJhX6IMouF9+tLUr9wo5r35i/c=";
+    rev = git_hash;
+    hash = "sha256-R4xWeqdHEAaje37VQaGlg+L2iYIOH4tXMHvZkZq4SDU=";
   };
 
   patches = [ ./runtime-prefix.patch ];
@@ -50,11 +62,14 @@ stdenv.mkDerivation rec {
       --replace "set(CMAKE_INSTALL_PREFIX" "#set(CMAKE_INSTALL_PREFIX"
     substituteInPlace decoder_modules/m17_decoder/src/m17dsp.h \
       --replace "codec2.h" "codec2/codec2.h"
+    # Since the __TIME_ and __DATE__ is canonicalized in the build,
+    # use our qualified version shown in the programs window title.
+    substituteInPlace core/src/version.h --replace "1.1.0" "$version"
   '';
 
   nativeBuildInputs = [ cmake pkg-config ];
 
-  buildInputs = [ glfw glew fftwFloat volk ]
+  buildInputs = [ glfw glew fftwFloat volk zstd ]
     ++ lib.optional stdenv.isDarwin AppKit
     ++ lib.optional stdenv.isLinux libX11
     ++ lib.optional airspy_source airspy
@@ -62,42 +77,52 @@ stdenv.mkDerivation rec {
     ++ lib.optional bladerf_source libbladeRF
     ++ lib.optional hackrf_source hackrf
     ++ lib.optional limesdr_source limesuite
-    ++ lib.optionals rtl_sdr_source [ rtl-sdr libusb1 ]
+    ++ lib.optionals rtl_sdr_source [ rtl-sdr-osmocom libusb1 ]
     ++ lib.optional sdrplay_source sdrplay
     ++ lib.optional soapy_source soapysdr
     ++ lib.optionals plutosdr_source [ libiio libad9361 ]
+    ++ lib.optionals usrp_source [ uhd boost ]
     ++ lib.optional audio_sink rtaudio
     ++ lib.optional portaudio_sink portaudio
     ++ lib.optional m17_decoder codec2;
 
-  cmakeFlags = lib.mapAttrsToList (k: v: "-D${k}=${if v then "ON" else "OFF"}") {
-    OPT_BUILD_AIRSPY_SOURCE = airspy_source;
-    OPT_BUILD_AIRSPYHF_SOURCE = airspyhf_source;
-    OPT_BUILD_BLADERF_SOURCE = bladerf_source;
-    OPT_BUILD_FILE_SOURCE = file_source;
-    OPT_BUILD_HACKRF_SOURCE = hackrf_source;
-    OPT_BUILD_LIMESDR_SOURCE = limesdr_source;
-    OPT_BUILD_SDDC_SOURCE = sddc_source;
-    OPT_BUILD_RTL_SDR_SOURCE = rtl_sdr_source;
-    OPT_BUILD_RTL_TCP_SOURCE = rtl_tcp_source;
-    OPT_BUILD_SDRPLAY_SOURCE = sdrplay_source;
-    OPT_BUILD_SOAPY_SOURCE = soapy_source;
-    OPT_BUILD_SPYSERVER_SOURCE = spyserver_source;
-    OPT_BUILD_PLUTOSDR_SOURCE = plutosdr_source;
-    OPT_BUILD_AUDIO_SINK = audio_sink;
-    OPT_BUILD_PORTAUDIO_SINK = portaudio_sink;
-    OPT_BUILD_NETWORK_SINK = network_sink;
-    OPT_BUILD_NEW_PORTAUDIO_SINK = portaudio_sink;
-    OPT_BUILD_FALCON9_DECODER = falcon9_decoder;
-    OPT_BUILD_M17_DECODER = m17_decoder;
-    OPT_BUILD_METEOR_DEMODULATOR = meteor_demodulator;
-    OPT_BUILD_RADIO = radio;
-    OPT_BUILD_WEATHER_SAT_DECODER = weather_sat_decoder;
-    OPT_BUILD_DISCORD_PRESENCE = discord_presence;
-    OPT_BUILD_FREQUENCY_MANAGER = frequency_manager;
-    OPT_BUILD_RECORDER = recorder;
-    OPT_BUILD_RIGCTL_SERVER = rigctl_server;
-  };
+  cmakeFlags = [
+    # Sources
+    (lib.cmakeBool "OPT_BUILD_AIRSPYHF_SOURCE" airspyhf_source)
+    (lib.cmakeBool "OPT_BUILD_AIRSPY_SOURCE" airspy_source)
+    (lib.cmakeBool "OPT_BUILD_BLADERF_SOURCE" bladerf_source)
+    (lib.cmakeBool "OPT_BUILD_FILE_SOURCE" file_source)
+    (lib.cmakeBool "OPT_BUILD_HACKRF_SOURCE" hackrf_source)
+    (lib.cmakeBool "OPT_BUILD_LIMESDR_SOURCE" limesdr_source)
+    (lib.cmakeBool "OPT_BUILD_PERSEUS_SOURCE" perseus_source)
+    (lib.cmakeBool "OPT_BUILD_PLUTOSDR_SOURCE" plutosdr_source)
+    (lib.cmakeBool "OPT_BUILD_RFSPACE_SOURCE" rfspace_source)
+    (lib.cmakeBool "OPT_BUILD_RTL_SDR_SOURCE" rtl_sdr_source)
+    (lib.cmakeBool "OPT_BUILD_RTL_TCP_SOURCE" rtl_tcp_source)
+    (lib.cmakeBool "OPT_BUILD_SDRPLAY_SOURCE" sdrplay_source)
+    (lib.cmakeBool "OPT_BUILD_SOAPY_SOURCE" soapy_source)
+    (lib.cmakeBool "OPT_BUILD_SPYSERVER_SOURCE" spyserver_source)
+    (lib.cmakeBool "OPT_BUILD_USRP_SOURCE" usrp_source)
+
+    # Sinks
+    (lib.cmakeBool "OPT_BUILD_AUDIO_SINK" audio_sink)
+    (lib.cmakeBool "OPT_BUILD_NETWORK_SINK" network_sink)
+    (lib.cmakeBool "OPT_BUILD_NEW_PORTAUDIO_SINK" portaudio_sink)
+
+    # Decoders
+    (lib.cmakeBool "OPT_BUILD_FALCON9_DECODER" falcon9_decoder)
+    (lib.cmakeBool "OPT_BUILD_M17_DECODER" m17_decoder)
+    (lib.cmakeBool "OPT_BUILD_METEOR_DEMODULATOR" meteor_demodulator)
+    (lib.cmakeBool "OPT_BUILD_RADIO" radio)
+    (lib.cmakeBool "OPT_BUILD_WEATHER_SAT_DECODER" weather_sat_decoder)
+
+    # Misc
+    (lib.cmakeBool "OPT_BUILD_DISCORD_PRESENCE" discord_presence)
+    (lib.cmakeBool "OPT_BUILD_FREQUENCY_MANAGER" frequency_manager)
+    (lib.cmakeBool "OPT_BUILD_RECORDER" recorder)
+    (lib.cmakeBool "OPT_BUILD_RIGCTL_SERVER" rigctl_server)
+    (lib.cmakeBool "OPT_BUILD_SCANNER" scanner)
+  ];
 
   env.NIX_CFLAGS_COMPILE = "-fpermissive";
 
diff --git a/pkgs/applications/radio/urh/default.nix b/pkgs/applications/radio/urh/default.nix
index 9a5d3c3cbbb1..6363670d56b7 100644
--- a/pkgs/applications/radio/urh/default.nix
+++ b/pkgs/applications/radio/urh/default.nix
@@ -6,13 +6,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "urh";
-  version = "2.9.4";
+  version = "2.9.6";
 
   src = fetchFromGitHub {
     owner = "jopohl";
     repo = pname;
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-Hi0VqBtGeaXMsibxbHk+2FN8mzfpmkuDr37JRW4Fp+s=";
+    sha256 = "sha256-4Fe2+BUdnVdNQHqZeftXLabn/vTzgyynOtqy0rAb0Rk=";
   };
 
   nativeBuildInputs = [ qt5.wrapQtAppsHook ];