aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/applications/radio
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/applications/radio')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/aldo/default.nix17
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/direwolf/default.nix37
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/direwolf/udev-fix.patch11
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/dump1090/default.nix4
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/ebook2cw/Makefile.patch12
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/ebook2cw/configfile.patch11
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/ebook2cw/default.nix15
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/fldigi/default.nix4
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/flmsg/default.nix4
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/flrig/default.nix4
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/gnss-sdr/default.nix1
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/3.7.nix295
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/ais.nix4
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/default.nix423
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/gsm.nix4
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/limesdr.nix4
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/nacl.nix4
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/osmosdr.nix5
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/rds.nix4
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/shared.nix135
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/wrapper.nix140
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/gqrx/default.nix4
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/inspectrum/default.nix4
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/limesuite/default.nix4
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/noaa-apt/default.nix9
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/quisk/default.nix39
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/rtl-sdr/default.nix8
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/rtl_433/default.nix17
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/sdrangel/default.nix29
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/urh/default.nix4
30 files changed, 985 insertions, 271 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/aldo/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/radio/aldo/default.nix
index df52531a518d..83bb520272ea 100644
--- a/infra/libkookie/nixpkgs/pkgs/applications/radio/aldo/default.nix
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/aldo/default.nix
@@ -1,14 +1,19 @@
-{ stdenv, fetchurl, libao }:
+{ stdenv, fetchgit, libao, autoreconfHook }:
-stdenv.mkDerivation rec {
+let
pname = "aldo";
- version = "0.7.7";
+ version = "0.7.8";
+in stdenv.mkDerivation {
+ inherit pname version;
- src = fetchurl {
- url = "mirror://savannah/${pname}/${pname}-${version}.tar.bz2";
- sha256 = "14lzgldqzbbzydsy1cai3wln3hpyj1yhj8ji3wygyzr616fq9f7i";
+ src = fetchgit {
+ url = "git://git.savannah.gnu.org/${pname}.git";
+ rev = "v${version}";
+ sha256 = "0swvdq0pw1msy40qkpn1ar9kacqjyrw2azvf2fy38y0svyac8z2i";
};
+ nativeBuildInputs = [ autoreconfHook ];
+
buildInputs = [ libao ];
meta = with stdenv.lib; {
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/direwolf/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/radio/direwolf/default.nix
index aab76574968b..321b103c7f7a 100644
--- a/infra/libkookie/nixpkgs/pkgs/applications/radio/direwolf/default.nix
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/direwolf/default.nix
@@ -1,50 +1,41 @@
-{ stdenv, fetchFromGitHub
-, alsaLib, espeak, glibc, gpsd
+{ stdenv, fetchFromGitHub, cmake, alsaLib, espeak, glibc, gpsd
, hamlib, perl, python, udev }:
with stdenv.lib;
stdenv.mkDerivation rec {
pname = "direwolf";
- version = "1.5";
+ version = "1.6";
src = fetchFromGitHub {
owner = "wb2osz";
repo = "direwolf";
rev = version;
- sha256 = "1w55dv9xqgc9mpincsj017838vmvdy972fhis3ddskyfvhhzgcsk";
+ sha256 = "0xmz64m02knbrpasfij4rrq53ksxna5idxwgabcw4n2b1ig7pyx5";
};
+ nativeBuildInputs = [ cmake ];
+
buildInputs = [
espeak gpsd hamlib perl python
] ++ (optionals stdenv.isLinux [alsaLib udev]);
- makeFlags = [ "DESTDIR=$(out)" ];
+ patches = [
+ ./udev-fix.patch
+ ];
postPatch = ''
- substituteInPlace symbols.c \
+ substituteInPlace src/symbols.c \
--replace /usr/share/direwolf/symbols-new.txt $out/share/direwolf/symbols-new.txt \
--replace /opt/local/share/direwolf/symbols-new.txt $out/share/direwolf/symbols-new.txt
- substituteInPlace decode_aprs.c \
+ substituteInPlace src/decode_aprs.c \
--replace /usr/share/direwolf/tocalls.txt $out/share/direwolf/tocalls.txt \
--replace /opt/local/share/direwolf/tocalls.txt $out/share/direwolf/tocalls.txt
- substituteInPlace dwespeak.sh \
+ substituteInPlace scripts/dwespeak.sh \
--replace espeak ${espeak}/bin/espeak
- '' + (optionalString stdenv.isLinux ''
- substituteInPlace Makefile.linux \
- --replace /usr/include/pthread.h ${stdenv.glibc.dev}/include/pthread.h \
- --replace /usr/include/alsa ${alsaLib.dev}/include/alsa \
- --replace /usr/include/gps.h ${gpsd}/include/gps.h \
- --replace /usr/include/hamlib ${hamlib}/include/hamlib \
- --replace /usr/include/libudev.h ${udev.dev}/include/libudev.h \
- --replace /etc/udev $out/etc/udev \
- --replace 'Exec=xterm -hold -title \"Dire Wolf\" -bg white -e \"$(DESTDIR)/bin/direwolf\"' "Exec=$out/bin/direwolf" \
- --replace '#Terminal=true' 'Terminal=true' \
- --replace 'Path=$(HOME)' '#Path='
- '');
-
- preInstall = ''
- mkdir -p $out/bin
+ substituteInPlace cmake/cpack/direwolf.desktop.in \
+ --replace 'Terminal=false' 'Terminal=true' \
+ --replace 'Exec=@APPLICATION_DESKTOP_EXEC@' 'Exec=direwolf' \
'';
meta = {
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/direwolf/udev-fix.patch b/infra/libkookie/nixpkgs/pkgs/applications/radio/direwolf/udev-fix.patch
new file mode 100644
index 000000000000..cff17fb88621
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/direwolf/udev-fix.patch
@@ -0,0 +1,11 @@
+--- direwolf/conf/CMakeLists.txt.orig 2020-12-04 11:12:59.739390894 -0600
++++ direwolf/conf/CMakeLists.txt 2020-12-04 11:23:09.146594795 -0600
+@@ -26,7 +26,7 @@
+
+ # install udev rules for CM108
+ if(LINUX)
+- install(FILES "${CUSTOM_CONF_DIR}/99-direwolf-cmedia.rules" DESTINATION /etc/udev/rules.d/)
++ install(FILES "${CUSTOM_CONF_DIR}/99-direwolf-cmedia.rules" DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/udev/rules.d/")
+ endif()
+
+ install(FILES "${CMAKE_BINARY_DIR}/direwolf.conf" DESTINATION ${INSTALL_CONF_DIR})
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/dump1090/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/radio/dump1090/default.nix
index 11c5c46ae681..6e70a9f8d032 100644
--- a/infra/libkookie/nixpkgs/pkgs/applications/radio/dump1090/default.nix
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/dump1090/default.nix
@@ -9,13 +9,13 @@
stdenv.mkDerivation rec {
pname = "dump1090";
- version = "3.8.1";
+ version = "4.0";
src = fetchFromGitHub {
owner = "flightaware";
repo = pname;
rev = "v${version}";
- sha256 = "0xg8rzrxqklx1m9ncxsd96dlkbjcsxfi2mrb859v50f07xysdyd8";
+ sha256 = "1zacsqaqsiapljhzw31dwc4nld2rp98jm3ivkyznrhzk9n156p42";
};
nativeBuildInputs = [ pkgconfig ];
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/ebook2cw/Makefile.patch b/infra/libkookie/nixpkgs/pkgs/applications/radio/ebook2cw/Makefile.patch
new file mode 100644
index 000000000000..be6c32e41470
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/ebook2cw/Makefile.patch
@@ -0,0 +1,12 @@
+diff --git a/Makefile b/Makefile
+index 005d60d..f69c7fe 100644
+--- a/Makefile
++++ b/Makefile
+@@ -41,6 +41,7 @@ install:
+ install -d -v $(DESTDIR)/bin/
+ install -d -v $(DESTDIR)/share/doc/ebook2cw/
+ install -d -v $(DESTDIR)/share/doc/ebook2cw/examples/
++ install -d -v $(DESTDIR)/share/locale/de/LC_MESSAGES/
+ install -s -m 0755 ebook2cw $(DESTDIR)/bin/
+ install -m 0644 ebook2cw.1 $(DESTDIR)/share/man/man1/
+ install -m 0644 README $(DESTDIR)/share/doc/ebook2cw/
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/ebook2cw/configfile.patch b/infra/libkookie/nixpkgs/pkgs/applications/radio/ebook2cw/configfile.patch
deleted file mode 100644
index c7aafe5227a5..000000000000
--- a/infra/libkookie/nixpkgs/pkgs/applications/radio/ebook2cw/configfile.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/ebook2cw.c 2017-11-08 19:52:58.298131348 -0700
-+++ b/ebook2cw.c 2017-11-08 19:53:02.588231067 -0700
-@@ -136,7 +136,7 @@
- char isomap[256][4]; /* by these strings */
- char utf8map[256][8];
-
-- char configfile[1025];
-+ char configfile[2048];
-
- char id3_author[80],
- id3_title[80],
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/ebook2cw/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/radio/ebook2cw/default.nix
index d273594f4c90..5bd9e47ab716 100644
--- a/infra/libkookie/nixpkgs/pkgs/applications/radio/ebook2cw/default.nix
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/ebook2cw/default.nix
@@ -1,17 +1,18 @@
-{ stdenv, fetchsvn, lame, libvorbis }:
+{ stdenv, fetchgit, lame, libvorbis, gettext }:
stdenv.mkDerivation rec {
pname = "ebook2cw";
- version = "0.8.2";
+ version = "0.8.3";
- src = fetchsvn {
- url = "svn://svn.fkurz.net/ebook2cw/tags/${pname}-${version}";
- sha256 = "1mvp3nz3k76v757792n9b7fcm5jm3jcwarl1k7cila9fi0c2rsiw";
+ src = fetchgit {
+ url = "https://git.fkurz.net/dj1yfk/ebook2cw.git";
+ rev = "${pname}-${version}";
+ sha256 = "0jqmnjblv3wzr0ppqzndzd8wg02nlkvzg1fqw14vyyp76sdjsh46";
};
- buildInputs = [ lame libvorbis ];
+ buildInputs = [ lame libvorbis gettext ];
- patches = [ ./configfile.patch ];
+ patches = [ ./Makefile.patch ];
makeFlags = [ "DESTDIR=$(out)" ];
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/fldigi/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/radio/fldigi/default.nix
index af93b7ee65d6..07e9647f2c3f 100644
--- a/infra/libkookie/nixpkgs/pkgs/applications/radio/fldigi/default.nix
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/fldigi/default.nix
@@ -2,12 +2,12 @@
libsamplerate, libpulseaudio, libXinerama, gettext, pkgconfig, alsaLib }:
stdenv.mkDerivation rec {
- version = "4.1.14";
+ version = "4.1.17";
pname = "fldigi";
src = fetchurl {
url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
- sha256 = "0hr6xbv01xf7z4r2jxxhn8xjdmca2198q4m9glh4877dllvfq6xj";
+ sha256 = "1gzff60sn3h05279f9mdi1rkdws52m28shcil16911lvlq6ki13m";
};
buildInputs = [ libXinerama gettext hamlib fltk14 libjpeg libpng portaudio
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/flmsg/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/radio/flmsg/default.nix
index e437dffa4856..fa3f175fcc56 100644
--- a/infra/libkookie/nixpkgs/pkgs/applications/radio/flmsg/default.nix
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/flmsg/default.nix
@@ -6,12 +6,12 @@
}:
stdenv.mkDerivation rec {
- version = "4.0.14";
+ version = "4.0.17";
pname = "flmsg";
src = fetchurl {
url = "mirror://sourceforge/fldigi/${pname}-${version}.tar.gz";
- sha256 = "0s1prawkpvr7xr7h8w7r0ly90ya3n8h6qsii0x6laqrkgjn9w9iy";
+ sha256 = "09xf3f65d3qi69frznf4fdznbfbc7kmgxw716q2c7ccsmh9c5q44";
};
buildInputs = [
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/flrig/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/radio/flrig/default.nix
index d95d894bdef7..322f2eb9a3b9 100644
--- a/infra/libkookie/nixpkgs/pkgs/applications/radio/flrig/default.nix
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/flrig/default.nix
@@ -6,12 +6,12 @@
}:
stdenv.mkDerivation rec {
- version = "1.3.51";
+ version = "1.3.53";
pname = "flrig";
src = fetchurl {
url = "mirror://sourceforge/fldigi/${pname}-${version}.tar.gz";
- sha256 = "0aq4x0ai9q08ypfhzfj2inc4z3q39zq1l6h9as1kil9yn4zbay61";
+ sha256 = "1m0fa891scpaf719002w9gpg1famx84kpzav1mw1fafmbzyvjw1i";
};
buildInputs = [
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/gnss-sdr/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/radio/gnss-sdr/default.nix
index cc89ffb4f870..d7e2d44c75ce 100644
--- a/infra/libkookie/nixpkgs/pkgs/applications/radio/gnss-sdr/default.nix
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/gnss-sdr/default.nix
@@ -41,6 +41,7 @@ stdenv.mkDerivation rec {
orc
pkgconfig
pythonPackages.Mako
+ pythonPackages.six
# UHD support is optional, but gnuradio is built with it, so there's
# nothing to be gained by leaving it out.
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/3.7.nix b/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/3.7.nix
new file mode 100644
index 000000000000..54fb0d7d66cd
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/3.7.nix
@@ -0,0 +1,295 @@
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, cmake
+# Remove gcc and python references
+, removeReferencesTo
+, pkgconfig
+, cppunit
+, swig
+, orc
+, boost
+, log4cpp
+, mpir
+, doxygen
+, python
+, codec2
+, gsm
+, fftwFloat
+, alsaLib
+, libjack2
+, CoreAudio
+, uhd
+, comedilib
+, libusb1
+, SDL
+, gsl
+, cppzmq
+, zeromq
+# GUI related
+, gtk2
+, pango
+, cairo
+, qt4
+, qwt6_qt4
+# Features available to override, the list of them is in featuresInfo. They
+# are all turned on by default
+, features ? {}
+# If one wishes to use a different src or name for a very custom build
+, overrideSrc ? {}
+, pname ? "gnuradio"
+, versionAttr ? {
+ major = "3.7";
+ minor = "14";
+ patch = "0";
+}
+, fetchSubmodules ? true
+}:
+
+let
+ sourceSha256 = "1nh4f9dmygprlbqybd3j1byg9fsr6065n140mvc4b0v8qqygmhrc";
+ featuresInfo = {
+ # Needed always
+ basic = {
+ native = [
+ cmake
+ pkgconfig
+ orc
+ ];
+ runtime = [ boost log4cpp mpir ];
+ pythonNative = with python.pkgs; [ Mako six ];
+ };
+ volk = {
+ cmakeEnableFlag = "VOLK";
+ };
+ doxygen = {
+ native = [ doxygen ];
+ cmakeEnableFlag = "DOXYGEN";
+ };
+ sphinx = {
+ pythonNative = with python.pkgs; [ sphinx ];
+ cmakeEnableFlag = "SPHINX";
+ };
+ python-support = {
+ pythonRuntime = [ python.pkgs.six ];
+ native = [
+ swig
+ python
+ ];
+ cmakeEnableFlag = "PYTHON";
+ };
+ testing-support = {
+ native = [ cppunit ];
+ cmakeEnableFlag = "TESTING";
+ };
+ gnuradio-runtime = {
+ cmakeEnableFlag = "GNURADIO_RUNTIME";
+ };
+ gr-ctrlport = {
+ cmakeEnableFlag = "GR_CTRLPORT";
+ native = [
+ swig
+ ];
+ };
+ gnuradio-companion = {
+ pythonRuntime = with python.pkgs; [
+ pyyaml
+ cheetah
+ lxml
+ pygtk
+ numpy
+ # propagated by pygtk, but since wrapping is done externally, it help
+ # the wrapper if it's here
+ pycairo
+ pygobject2
+ ];
+ runtime = [
+ gtk2
+ pango
+ cairo
+ ];
+ cmakeEnableFlag = "GRC";
+ };
+ gr-blocks = {
+ cmakeEnableFlag = "GR_BLOCKS";
+ };
+ gr-fec = {
+ cmakeEnableFlag = "GR_FEC";
+ };
+ gr-fft = {
+ runtime = [ fftwFloat ];
+ cmakeEnableFlag = "GR_FFT";
+ };
+ gr-filter = {
+ runtime = [ fftwFloat ];
+ cmakeEnableFlag = "GR_FILTER";
+ };
+ gr-analog = {
+ cmakeEnableFlag = "GR_ANALOG";
+ };
+ gr-digital = {
+ cmakeEnableFlag = "GR_DIGITAL";
+ };
+ gr-dtv = {
+ cmakeEnableFlag = "GR_DTV";
+ };
+ gr-atsc = {
+ cmakeEnableFlag = "GR_ATSC";
+ };
+ gr-audio = {
+ runtime = []
+ ++ stdenv.lib.optionals stdenv.isLinux [ alsaLib libjack2 ]
+ ++ stdenv.lib.optionals stdenv.isDarwin [ CoreAudio ]
+ ;
+ cmakeEnableFlag = "GR_AUDIO";
+ };
+ gr-comedi = {
+ runtime = [ comedilib ];
+ cmakeEnableFlag = "GR_COMEDI";
+ };
+ gr-channels = {
+ cmakeEnableFlag = "GR_CHANNELS";
+ };
+ gr-noaa = {
+ cmakeEnableFlag = "GR_NOAA";
+ };
+ gr-pager = {
+ cmakeEnableFlag = "GR_PAGER";
+ };
+ gr-qtgui = {
+ runtime = [ qt4 qwt6_qt4 ];
+ pythonRuntime = [ python.pkgs.pyqt4 ];
+ cmakeEnableFlag = "GR_QTGUI";
+ };
+ gr-trellis = {
+ cmakeEnableFlag = "GR_TRELLIS";
+ };
+ gr-uhd = {
+ runtime = [ uhd ];
+ cmakeEnableFlag = "GR_UHD";
+ };
+ gr-utils = {
+ cmakeEnableFlag = "GR_UTILS";
+ };
+ gr-video-sdl = {
+ runtime = [ SDL ];
+ cmakeEnableFlag = "GR_VIDEO_SDL";
+ };
+ gr-vocoder = {
+ runtime = [ codec2 gsm ];
+ cmakeEnableFlag = "GR_VOCODER";
+ };
+ gr-fcd = {
+ runtime = [ libusb1 ];
+ cmakeEnableFlag = "GR_FCD";
+ };
+ gr-wavelet = {
+ cmakeEnableFlag = "GR_WAVELET";
+ runtime = [ gsl ];
+ };
+ gr-zeromq = {
+ runtime = [ cppzmq zeromq ];
+ cmakeEnableFlag = "GR_ZEROMQ";
+ };
+ gr-wxgui = {
+ pythonRuntime = with python.pkgs; [ numpy wxPython ];
+ cmakeEnableFlag = "GR_WXGUI";
+ };
+ };
+ shared = (import ./shared.nix {
+ inherit
+ stdenv
+ python
+ removeReferencesTo
+ featuresInfo
+ features
+ versionAttr
+ sourceSha256
+ overrideSrc
+ fetchFromGitHub
+ fetchSubmodules
+ ;
+ qt = qt4;
+ gtk = gtk2;
+ });
+ inherit (shared)
+ version
+ src
+ hasFeature # function
+ nativeBuildInputs
+ buildInputs
+ disallowedReferences
+ postInstall
+ passthru
+ doCheck
+ dontWrapPythonPrograms
+ meta
+ ;
+ cmakeFlags = shared.cmakeFlags
+ # From some reason, if these are not set, libcodec2 and gsm are
+ # not detected properly (slightly different then what's in
+ # ./default.nix).
+ ++ stdenv.lib.optionals (hasFeature "gr-vocoder" features) [
+ "-DLIBCODEC2_LIBRARIES=${codec2}/lib/libcodec2.so"
+ "-DLIBCODEC2_INCLUDE_DIR=${codec2}/include"
+ "-DLIBGSM_LIBRARIES=${gsm}/lib/libgsm.so"
+ "-DLIBGSM_INCLUDE_DIR=${gsm}/include/gsm"
+ ]
+ ;
+ stripDebugList = shared.stripDebugList
+ # gr-fcd feature was dropped in 3.8
+ ++ stdenv.lib.optionals (hasFeature "gr-fcd" features) [ "share/gnuradio/examples/fcd" ]
+ ;
+ preConfigure = ''
+ ''
+ # wxgui and pygtk are not looked up properly, so we force them to be
+ # detected as found, if they are requested by the `features` attrset.
+ + stdenv.lib.optionalString (hasFeature "gr-wxgui" features) ''
+ sed -i 's/.*wx\.version.*/set(WX_FOUND TRUE)/g' gr-wxgui/CMakeLists.txt
+ ''
+ + stdenv.lib.optionalString (hasFeature "gnuradio-companion" features) ''
+ sed -i 's/.*pygtk_version.*/set(PYGTK_FOUND TRUE)/g' grc/CMakeLists.txt
+ ''
+ # If python-support is disabled, don't install volk's (git submodule)
+ # volk_modtool - it references python.
+ #
+ # NOTE: The same is done for 3.8, but we don't put this string in
+ # ./shared.nix since on the next release of 3.8 it won't be needed there,
+ # but it will be needed for 3.7, probably for ever.
+ + stdenv.lib.optionalString (!hasFeature "python-support" features) ''
+ sed -i -e "/python\/volk_modtool/d" volk/CMakeLists.txt
+ ''
+ ;
+ patches = [
+ # Don't install python referencing files if python support is disabled.
+ # See: https://github.com/gnuradio/gnuradio/pull/3856
+ (fetchpatch {
+ url = "https://github.com/gnuradio/gnuradio/commit/acef55433d15c231661fa44751f9a2d90a4baa4b.diff";
+ sha256 = "2CEX44Ll8frfLXTIWjdDhKl7aXcjiAWsezVdwrynelE=";
+ })
+ (fetchpatch {
+ url = "https://github.com/gnuradio/gnuradio/commit/a2681edcfaabcb1ecf878ae861161b6a6bf8459d.diff";
+ sha256 = "2Pitgu8accs16B5X5+/q51hr+IY9DMsA15f56gAtBs8=";
+ })
+ ];
+in
+
+stdenv.mkDerivation rec {
+ inherit
+ pname
+ version
+ src
+ nativeBuildInputs
+ buildInputs
+ cmakeFlags
+ preConfigure
+ # disallowedReferences
+ stripDebugList
+ patches
+ postInstall
+ passthru
+ doCheck
+ dontWrapPythonPrograms
+ meta
+ ;
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/ais.nix b/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/ais.nix
index 30c2638a72f8..46d46d1c3255 100644
--- a/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/ais.nix
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/ais.nix
@@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig, boost, gnuradio
-, makeWrapper, cppunit, gr-osmosdr
+, makeWrapper, cppunit, gr-osmosdr, log4cpp
, pythonSupport ? true, python, swig
}:
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
nativeBuildInputs = [ pkgconfig ];
buildInputs = [
- cmake boost gnuradio makeWrapper cppunit gr-osmosdr
+ cmake boost gnuradio makeWrapper cppunit gr-osmosdr log4cpp
] ++ stdenv.lib.optionals pythonSupport [ python swig ];
postInstall = ''
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/default.nix
index dec968cd32d7..811eb37f4f31 100644
--- a/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/default.nix
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/default.nix
@@ -1,165 +1,288 @@
{ stdenv
, fetchFromGitHub
-, makeWrapper
-, writeText
-# Dependencies documented @ https://gnuradio.org/doc/doxygen/build_guide.html
-# => core dependencies
+, fetchpatch
, cmake
+# Remove gcc and python references
+, removeReferencesTo
, pkgconfig
-, git
-, boost
, cppunit
-, fftw
-# => python wrappers
-# May be able to upgrade to swig3
+, swig
+, orc
+, boost
+, log4cpp
+, mpir
+, doxygen
, python
-, swig2
-, numpy
-, scipy
-, matplotlib
-# => grc - the gnu radio companion
-, Mako
-, cheetah
-, pygtk # Note: GR is migrating to Mako. Cheetah should be removed for GR3.8
-# => gr-wavelet: collection of wavelet blocks
-, gsl
-# => gr-qtgui: the Qt-based GUI
-, qt4
-, qwt
-, pyqt4
-# => gr-wxgui: the Wx-based GUI
-, wxPython
-, lxml
-# => gr-audio: audio subsystems (system/OS dependent)
-, alsaLib # linux 'audio-alsa'
-, CoreAudio # darwin 'audio-osx'
-# => uhd: the Ettus USRP Hardware Driver Interface
+, codec2
+, gsm
+, fftwFloat
+, alsaLib
+, libjack2
+, CoreAudio
, uhd
-# => gr-video-sdl: PAL and NTSC display
, SDL
-# Other
-, libusb1
-, orc
-, pyopengl
+, gsl
+, cppzmq
+, zeromq
+# GUI related
+, gtk3
+, pango
+, gobject-introspection
+, cairo
+, qt5
+, libsForQt5
+# Features available to override, the list of them is in featuresInfo. They
+# are all turned on by default.
+, features ? {}
+# If one wishes to use a different src or name for a very custom build
+, overrideSrc ? {}
+, pname ? "gnuradio"
+, versionAttr ? {
+ major = "3.8";
+ minor = "2";
+ patch = "0";
+}
+# Should be false on the release after 3.8.2.0
+, fetchSubmodules ? true
}:
-stdenv.mkDerivation rec {
- pname = "gnuradio";
- version = "3.7.14.0";
-
- src = fetchFromGitHub {
- owner = "gnuradio";
- repo = "gnuradio";
- rev = "v${version}";
- sha256 = "1nh4f9dmygprlbqybd3j1byg9fsr6065n140mvc4b0v8qqygmhrc";
- fetchSubmodules = true;
+let
+ sourceSha256 = "1mnfwdy7w3160vi6110x2qkyq8l78qi8771zwak9n72bl7lhhpnf";
+ featuresInfo = {
+ # Needed always
+ basic = {
+ native = [
+ cmake
+ pkgconfig
+ orc
+ ];
+ runtime = [
+ boost
+ log4cpp
+ mpir
+ ];
+ pythonNative = with python.pkgs; [
+ Mako
+ six
+ ];
+ };
+ # NOTE: Should be removed on the release after 3.8.2.0, see:
+ # https://github.com/gnuradio/gnuradio/commit/80c04479d
+ volk = {
+ cmakeEnableFlag = "VOLK";
+ };
+ doxygen = {
+ native = [ doxygen ];
+ cmakeEnableFlag = "DOXYGEN";
+ };
+ sphinx = {
+ pythonNative = with python.pkgs; [ sphinx ];
+ cmakeEnableFlag = "SPHINX";
+ };
+ python-support = {
+ pythonRuntime = [ python.pkgs.six ];
+ native = [
+ swig
+ python
+ ];
+ cmakeEnableFlag = "PYTHON";
+ };
+ testing-support = {
+ native = [ cppunit ];
+ cmakeEnableFlag = "TESTING";
+ };
+ gnuradio-runtime = {
+ cmakeEnableFlag = "GNURADIO_RUNTIME";
+ };
+ gr-ctrlport = {
+ # Thrift support is not really working well, and even the patch they
+ # recommend applying on 0.9.2 won't apply. See:
+ # https://github.com/gnuradio/gnuradio/blob/v3.8.2.0/gnuradio-runtime/lib/controlport/thrift/README
+ cmakeEnableFlag = "GR_CTRLPORT";
+ native = [
+ swig
+ ];
+ };
+ gnuradio-companion = {
+ pythonRuntime = with python.pkgs; [
+ pyyaml
+ Mako
+ numpy
+ pygobject3
+ ];
+ runtime = [
+ gtk3
+ pango
+ gobject-introspection
+ cairo
+ ];
+ cmakeEnableFlag = "GRC";
+ };
+ gr-blocks = {
+ cmakeEnableFlag = "GR_BLOCKS";
+ };
+ gr-fec = {
+ cmakeEnableFlag = "GR_FEC";
+ };
+ gr-fft = {
+ runtime = [ fftwFloat ];
+ cmakeEnableFlag = "GR_FFT";
+ };
+ gr-filter = {
+ runtime = [ fftwFloat ];
+ cmakeEnableFlag = "GR_FILTER";
+ };
+ gr-analog = {
+ cmakeEnableFlag = "GR_ANALOG";
+ };
+ gr-digital = {
+ cmakeEnableFlag = "GR_DIGITAL";
+ };
+ gr-dtv = {
+ cmakeEnableFlag = "GR_DTV";
+ };
+ gr-audio = {
+ runtime = []
+ ++ stdenv.lib.optionals stdenv.isLinux [ alsaLib libjack2 ]
+ ++ stdenv.lib.optionals stdenv.isDarwin [ CoreAudio ]
+ ;
+ cmakeEnableFlag = "GR_AUDIO";
+ };
+ gr-channels = {
+ cmakeEnableFlag = "GR_CHANNELS";
+ };
+ gr-qtgui = {
+ runtime = [ qt5.qtbase libsForQt5.qwt ];
+ pythonRuntime = [ python.pkgs.pyqt5 ];
+ cmakeEnableFlag = "GR_QTGUI";
+ };
+ gr-trellis = {
+ cmakeEnableFlag = "GR_TRELLIS";
+ };
+ gr-uhd = {
+ runtime = [ uhd ];
+ cmakeEnableFlag = "GR_UHD";
+ };
+ gr-utils = {
+ cmakeEnableFlag = "GR_UTILS";
+ };
+ gr-modtool = {
+ pythonRuntime = with python.pkgs; [
+ click
+ click-plugins
+ ];
+ cmakeEnableFlag = "GR_MODTOOL";
+ };
+ gr-video-sdl = {
+ runtime = [ SDL ];
+ cmakeEnableFlag = "GR_VIDEO_SDL";
+ };
+ gr-vocoder = {
+ runtime = [ codec2 gsm ];
+ cmakeEnableFlag = "GR_VOCODER";
+ };
+ gr-wavelet = {
+ cmakeEnableFlag = "GR_WAVELET";
+ runtime = [ gsl ];
+ };
+ gr-zeromq = {
+ runtime = [ cppzmq zeromq ];
+ cmakeEnableFlag = "GR_ZEROMQ";
+ };
};
+ shared = (import ./shared.nix {
+ inherit
+ stdenv
+ python
+ removeReferencesTo
+ featuresInfo
+ features
+ versionAttr
+ sourceSha256
+ overrideSrc
+ fetchFromGitHub
+ fetchSubmodules
+ ;
+ qt = qt5;
+ gtk = gtk3;
+ });
+ inherit (shared)
+ version
+ src
+ hasFeature # function
+ nativeBuildInputs
+ buildInputs
+ disallowedReferences
+ stripDebugList
+ passthru
+ doCheck
+ dontWrapPythonPrograms
+ meta
+ ;
+ cmakeFlags = shared.cmakeFlags
+ # From some reason, if these are not set, libcodec2 and gsm are not
+ # detected properly. NOTE: qradiolink needs libcodec2 to be detected in
+ # order to build, see https://github.com/qradiolink/qradiolink/issues/67
+ ++ stdenv.lib.optionals (hasFeature "gr-vocoder" features) [
+ "-DLIBCODEC2_LIBRARIES=${codec2}/lib/libcodec2.so"
+ "-DLIBCODEC2_INCLUDE_DIRS=${codec2}/include"
+ "-DLIBCODEC2_HAS_FREEDV_API=ON"
+ "-DLIBGSM_LIBRARIES=${gsm}/lib/libgsm.so"
+ "-DLIBGSM_INCLUDE_DIRS=${gsm}/include/gsm"
+ ]
+ ;
- nativeBuildInputs = [
- cmake
- pkgconfig
- git
- makeWrapper
- cppunit
- orc
- ];
-
- buildInputs = [
- boost
- fftw
- python
- swig2
- lxml
- qt4
- qwt
- SDL
- libusb1
- uhd
- gsl
- ] ++ stdenv.lib.optionals stdenv.isLinux [ alsaLib ]
- ++ stdenv.lib.optionals stdenv.isDarwin [ CoreAudio ];
-
- propagatedBuildInputs = [
- Mako
- cheetah
- numpy
- scipy
- matplotlib
- pyqt4
- pygtk
- wxPython
- pyopengl
- ];
-
- NIX_LDFLAGS = "-lpthread";
-
- enableParallelBuilding = true;
-
- postPatch = ''
- substituteInPlace \
- gr-fec/include/gnuradio/fec/polar_decoder_common.h \
- --replace BOOST_CONSTEXPR_OR_CONST const
- '';
-
- # Enables composition with nix-shell
- grcSetupHook = writeText "grcSetupHook.sh" ''
- addGRCBlocksPath() {
- addToSearchPath GRC_BLOCKS_PATH $1/share/gnuradio/grc/blocks
- }
- addEnvHooks "$targetOffset" addGRCBlocksPath
- '';
-
- setupHook = [ grcSetupHook ];
-
- # patch wxgui and pygtk check due to python importerror in a headless environment
- # wxgtk gui will be removed in GR3.8
- # c++11 hack may not be necessary anymore
+ postInstall = shared.postInstall
+ # This is the only python reference worth removing, if needed (3.7 doesn't
+ # set that reference).
+ + stdenv.lib.optionalString (!hasFeature "python-support" features) ''
+ ${removeReferencesTo}/bin/remove-references-to -t ${python} $out/lib/cmake/gnuradio/GnuradioConfig.cmake
+ ''
+ ;
preConfigure = ''
- export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-unused-variable ${stdenv.lib.optionalString (!stdenv.isDarwin) "-std=c++11"}"
- sed -i 's/.*wx\.version.*/set(WX_FOUND TRUE)/g' gr-wxgui/CMakeLists.txt
- sed -i 's/.*pygtk_version.*/set(PYGTK_FOUND TRUE)/g' grc/CMakeLists.txt
- find . -name "CMakeLists.txt" -exec sed -i '1iadd_compile_options($<$<COMPILE_LANGUAGE:CXX>:-std=c++11>)' "{}" ";"
- '';
-
- # Framework path needed for qwt6_qt4 but not qwt5
- cmakeFlags =
- stdenv.lib.optionals stdenv.isDarwin [ "-DCMAKE_FRAMEWORK_PATH=${qwt}/lib" ];
-
- # - Ensure we get an interactive backend for matplotlib. If not the gr_plot_*
- # programs will not display anything. Yes, $MATPLOTLIBRC must point to the
- # *dirname* where matplotlibrc is located, not the file itself.
- # - GNU Radio core is C++ but the user interface (GUI and API) is Python, so
- # we must wrap the stuff in bin/.
- # Notes:
- # - May want to use makeWrapper instead of wrapProgram
- # - may want to change interpreter path on Python examples instead of wrapping
- # - see https://github.com/NixOS/nixpkgs/issues/22688 regarding use of --prefix / python.withPackages
- # - see https://github.com/NixOS/nixpkgs/issues/24693 regarding use of DYLD_FRAMEWORK_PATH on Darwin
- postInstall = ''
- printf "backend : Qt4Agg\n" > "$out/share/gnuradio/matplotlibrc"
-
- for file in $(find $out/bin $out/share/gnuradio/examples -type f -executable); do
- wrapProgram "$file" \
- --prefix PYTHONPATH : $PYTHONPATH:$(toPythonPath "$out") \
- --set MATPLOTLIBRC "$out/share/gnuradio" \
- ${stdenv.lib.optionalString stdenv.isDarwin "--set DYLD_FRAMEWORK_PATH /System/Library/Frameworks"}
- done
- '';
+ ''
+ # If python-support is disabled, don't install volk's (git submodule)
+ # volk_modtool - it references python.
+ #
+ # NOTE: on the next release, volk will always be required to be installed
+ # externally (submodule removed upstream). Hence this hook will fail and
+ # we'll need to package volk while able to tell it to install or not
+ # install python referencing files. When we'll be there, this will help:
+ # https://github.com/gnuradio/volk/pull/404
+ + stdenv.lib.optionalString (!hasFeature "python-support" features) ''
+ sed -i -e "/python\/volk_modtool/d" volk/CMakeLists.txt
+ ''
+ ;
+ patches = [
+ # Don't install python referencing files if python support is disabled.
+ # See: https://github.com/gnuradio/gnuradio/pull/3839
+ (fetchpatch {
+ url = "https://github.com/gnuradio/gnuradio/commit/4a4fd570b398b0b50fe875fcf0eb9c9db2ea5c6e.diff";
+ sha256 = "xz2E0ji6zfdOAhjfPecAcaVOIls1XP8JngLkBbBBW5Q=";
+ })
+ (fetchpatch {
+ url = "https://github.com/gnuradio/gnuradio/commit/dbc8ad7e7361fddc7b1dbc267c07a776a3f9664b.diff";
+ sha256 = "tQcCpcUbJv3yqAX8rSHN/pAuBq4ueEvoVo7sNzZGvf4=";
+ })
+ ];
+in
- meta = with stdenv.lib; {
- description = "Software Defined Radio (SDR) software";
- longDescription = ''
- GNU Radio is a free & open-source software development toolkit that
- provides signal processing blocks to implement software radios. It can be
- used with readily-available low-cost external RF hardware to create
- software-defined radios, or without hardware in a simulation-like
- environment. It is widely used in hobbyist, academic and commercial
- environments to support both wireless communications research and
- real-world radio systems.
- '';
- homepage = "https://www.gnuradio.org";
- license = licenses.gpl3;
- platforms = platforms.linux ++ platforms.darwin;
- maintainers = with maintainers; [ bjornfor fpletz ];
- };
+stdenv.mkDerivation rec {
+ inherit
+ pname
+ version
+ src
+ nativeBuildInputs
+ buildInputs
+ cmakeFlags
+ preConfigure
+ # disallowedReferences
+ stripDebugList
+ patches
+ postInstall
+ passthru
+ doCheck
+ dontWrapPythonPrograms
+ meta
+ ;
}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/gsm.nix b/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/gsm.nix
index e0b8d7dd44f7..4e2406fc07a0 100644
--- a/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/gsm.nix
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/gsm.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, boost, gnuradio
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, boost, gnuradio, log4cpp
, makeWrapper, cppunit, libosmocore, gr-osmosdr
, pythonSupport ? true, python, swig
}:
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
nativeBuildInputs = [ pkgconfig ];
buildInputs = [
- cmake boost gnuradio makeWrapper cppunit libosmocore gr-osmosdr
+ cmake boost gnuradio makeWrapper cppunit libosmocore gr-osmosdr log4cpp
] ++ stdenv.lib.optionals pythonSupport [ python swig ];
postInstall = ''
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/limesdr.nix b/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/limesdr.nix
index 490caaaa7bea..b2f99164bec6 100644
--- a/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/limesdr.nix
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/limesdr.nix
@@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig, boost, gnuradio
-, pythonSupport ? true, python, swig, limesuite
+, pythonSupport ? true, python, swig, limesuite, log4cpp
} :
assert pythonSupport -> python != null && swig != null;
@@ -24,7 +24,7 @@ in stdenv.mkDerivation {
] ++ stdenv.lib.optionals pythonSupport [ swig ];
buildInputs = [
- boost gnuradio limesuite
+ boost gnuradio limesuite log4cpp
] ++ stdenv.lib.optionals pythonSupport [ python ];
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/nacl.nix b/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/nacl.nix
index e3d851e2e14a..3435d5cdb4f0 100644
--- a/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/nacl.nix
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/nacl.nix
@@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig, boost, gnuradio, uhd
-, makeWrapper, libsodium, cppunit
+, makeWrapper, libsodium, cppunit, log4cpp
, pythonSupport ? true, python, swig
}:
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
nativeBuildInputs = [ pkgconfig ];
buildInputs = [
- cmake boost gnuradio uhd makeWrapper libsodium cppunit
+ cmake boost gnuradio uhd makeWrapper libsodium cppunit log4cpp
] ++ stdenv.lib.optionals pythonSupport [ python swig ];
postInstall = ''
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/osmosdr.nix b/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/osmosdr.nix
index ad54fc8d7c4f..9eb6fe648d02 100644
--- a/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/osmosdr.nix
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/osmosdr.nix
@@ -8,6 +8,7 @@
, rtl-sdr
, soapysdr-with-plugins
, uhd
+, log4cpp
}:
assert pythonSupport -> python != null && swig != null;
@@ -24,10 +25,10 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig ];
buildInputs = [
- cmake makeWrapper boost
+ cmake makeWrapper boost log4cpp
airspy gnuradio hackrf libbladeRF rtl-sdr uhd
] ++ stdenv.lib.optionals stdenv.isLinux [ soapysdr-with-plugins ]
- ++ stdenv.lib.optionals pythonSupport [ python swig ];
+ ++ stdenv.lib.optionals pythonSupport [ python swig python.pkgs.cheetah ];
postInstall = ''
for prog in "$out"/bin/*; do
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/rds.nix b/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/rds.nix
index 1f8ed211ef29..72838569bb3b 100644
--- a/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/rds.nix
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/rds.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, boost, gnuradio
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, boost, gnuradio, log4cpp
, makeWrapper, pythonSupport ? true, python, swig
}:
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig ];
buildInputs = [
- cmake boost gnuradio makeWrapper
+ cmake boost gnuradio makeWrapper log4cpp
] ++ stdenv.lib.optionals pythonSupport [ python swig ];
postInstall = ''
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/shared.nix b/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/shared.nix
new file mode 100644
index 000000000000..66ce0a5f5132
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/shared.nix
@@ -0,0 +1,135 @@
+{ stdenv
+, python
+, qt
+, gtk
+, removeReferencesTo
+, featuresInfo
+, features
+, versionAttr
+, sourceSha256
+# If overriden. No need to set default values, as they are given defaults in
+# the main expressions
+, overrideSrc
+, fetchFromGitHub
+, fetchSubmodules
+}:
+
+let
+ lib = stdenv.lib;
+in rec {
+ version = builtins.concatStringsSep "." (
+ lib.attrVals [ "major" "minor" "patch" ] versionAttr
+ );
+ src = if overrideSrc != {} then
+ overrideSrc
+ else
+ fetchFromGitHub {
+ repo = "gnuradio";
+ owner = "gnuradio";
+ rev = "v${version}";
+ sha256 = sourceSha256;
+ inherit fetchSubmodules;
+ }
+ ;
+ # Check if a feature is enabled, while defaulting to true if feat is not
+ # specified.
+ hasFeature = feat: features: (
+ if builtins.hasAttr feat features then
+ features.${feat}
+ else
+ true
+ );
+ nativeBuildInputs = lib.flatten (lib.mapAttrsToList (
+ feat: info: (
+ if hasFeature feat features then
+ (if builtins.hasAttr "native" info then info.native else []) ++
+ (if builtins.hasAttr "pythonNative" info then info.pythonNative else [])
+ else
+ []
+ )
+ ) featuresInfo);
+ buildInputs = lib.flatten (lib.mapAttrsToList (
+ feat: info: (
+ if hasFeature feat features then
+ (if builtins.hasAttr "runtime" info then info.runtime else []) ++
+ (if builtins.hasAttr "pythonRuntime" info then info.pythonRuntime else [])
+ else
+ []
+ )
+ ) featuresInfo);
+ cmakeFlags = lib.mapAttrsToList (
+ feat: info: (
+ if feat == "basic" then
+ # Abuse this unavoidable "iteration" to set this flag which we want as
+ # well - it means: Don't turn on features just because their deps are
+ # satisfied, let only our cmakeFlags decide.
+ "-DENABLE_DEFAULT=OFF"
+ else
+ if hasFeature feat features then
+ "-DENABLE_${info.cmakeEnableFlag}=ON"
+ else
+ "-DENABLE_${info.cmakeEnableFlag}=OFF"
+ )) featuresInfo
+ ;
+ disallowedReferences = [
+ # TODO: Should this be conditional?
+ stdenv.cc
+ stdenv.cc.cc
+ ]
+ # If python-support is disabled, we probably don't want it referenced
+ ++ lib.optionals (!hasFeature "python-support" features) [ python ]
+ ;
+ # Gcc references from examples
+ stripDebugList = [ "lib" "bin" ]
+ ++ lib.optionals (hasFeature "gr-audio" features) [ "share/gnuradio/examples/audio" ]
+ ++ lib.optionals (hasFeature "gr-uhd" features) [ "share/gnuradio/examples/uhd" ]
+ ++ lib.optionals (hasFeature "gr-qtgui" features) [ "share/gnuradio/examples/qt-gui" ]
+ ;
+ postInstall = ''
+ ''
+ # Gcc references
+ + lib.optionalString (hasFeature "volk" features) ''
+ ${removeReferencesTo}/bin/remove-references-to -t ${stdenv.cc} $(readlink -f $out/lib/libvolk.so)
+ ''
+ + lib.optionalString (hasFeature "gnuradio-runtime" features) ''
+ ${removeReferencesTo}/bin/remove-references-to -t ${stdenv.cc} $(readlink -f $out/lib/libgnuradio-runtime.so)
+ ''
+ ;
+ # NOTE: Outputs are disabled due to upstream not using GNU InstallDIrs cmake
+ # module. It's not that bad since it's a development package for most
+ # purposes. If closure size needs to be reduced, features should be disabled
+ # via an override.
+ passthru = {
+ inherit
+ hasFeature
+ versionAttr
+ features
+ featuresInfo
+ python
+ qt
+ gtk
+ ;
+ };
+ # Wrapping is done with an external wrapper
+ dontWrapPythonPrograms = true;
+ # Tests should succeed, but it's hard to get LD_LIBRARY_PATH right in order
+ # for it to happen.
+ doCheck = false;
+
+ meta = with lib; {
+ description = "Software Defined Radio (SDR) software";
+ longDescription = ''
+ GNU Radio is a free & open-source software development toolkit that
+ provides signal processing blocks to implement software radios. It can be
+ used with readily-available low-cost external RF hardware to create
+ software-defined radios, or without hardware in a simulation-like
+ environment. It is widely used in hobbyist, academic and commercial
+ environments to support both wireless communications research and
+ real-world radio systems.
+ '';
+ homepage = "https://www.gnuradio.org";
+ license = licenses.gpl3;
+ platforms = platforms.unix;
+ maintainers = with maintainers; [ doronbehar bjornfor fpletz ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/wrapper.nix b/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/wrapper.nix
index ffed3da03187..6b854918f571 100644
--- a/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/wrapper.nix
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/wrapper.nix
@@ -1,24 +1,134 @@
-{ stdenv, gnuradio, makeWrapper, python, extraPackages ? [] }:
+{ stdenv
+, unwrapped
+, makeWrapper
+# For lndir
+, xorg
+# For Emulating wrapGAppsHook
+, gsettings-desktop-schemas
+, glib
+, hicolor-icon-theme
+, pango
+, json-glib
+, dconf
+, gobject-introspection
+, librsvg
+, gdk-pixbuf
+, harfbuzz
+, at-spi2-core
+, atk
+# For Adding additional GRC blocks
+, extraPackages ? []
+# For Adding additional python packaages
+, extraPythonPackages ? []
+# Allow to add whatever you want to the wrapper
+, extraMakeWrapperArgs ? []
+}:
-with { inherit (stdenv.lib) appendToName makeSearchPath; };
+let
+ pythonPkgs = extraPythonPackages
+ # Add the extraPackages as python modules as well
+ ++ (builtins.map unwrapped.python.pkgs.toPythonModule extraPackages)
+ ++ stdenv.lib.flatten (stdenv.lib.mapAttrsToList (
+ feat: info: (
+ if unwrapped.hasFeature feat unwrapped.features then
+ (if builtins.hasAttr "pythonRuntime" info then info.pythonRuntime else [])
+ else
+ []
+ )
+ ) unwrapped.featuresInfo)
+ ++ stdenv.lib.optionals (unwrapped.hasFeature "python-support" unwrapped.features) [
+ # Add unwrapped itself as a python module
+ (unwrapped.python.pkgs.toPythonModule unwrapped)
+ ]
+ ;
+ python3Env = unwrapped.python.withPackages(ps: pythonPkgs);
+ name = (stdenv.lib.appendToName "wrapped" unwrapped).name;
+ makeWrapperArgs = builtins.concatStringsSep " " ([
+ ]
+ # Emulating wrapGAppsHook & wrapQtAppsHook working together
+ ++ stdenv.lib.optionals (
+ (unwrapped.hasFeature "gnuradio-companion" unwrapped.features)
+ || (unwrapped.hasFeature "gr-qtgui" unwrapped.features)
+ ) [
+ "--prefix" "XDG_DATA_DIRS" ":" "$out/share"
+ "--prefix" "XDG_DATA_DIRS" ":" "$out/share/gsettings-schemas/${name}"
+ "--prefix" "XDG_DATA_DIRS" ":" "${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}"
+ "--prefix" "XDG_DATA_DIRS" ":" "${hicolor-icon-theme}/share"
+ # Needs to run `gsettings` on startup, see:
+ # https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1764890.html
+ "--prefix" "PATH" ":" "${stdenv.lib.getBin glib}/bin"
+ ]
+ ++ stdenv.lib.optionals (unwrapped.hasFeature "gnuradio-companion" unwrapped.features) [
+ "--set" "GDK_PIXBUF_MODULE_FILE" "${librsvg}/${gdk-pixbuf.moduleDir}.cache"
+ "--prefix" "GIO_EXTRA_MODULES" ":" "${stdenv.lib.getLib dconf}/lib/gio/modules"
+ "--prefix" "XDG_DATA_DIRS" ":" "${unwrapped.gtk}/share"
+ "--prefix" "XDG_DATA_DIRS" ":" "${unwrapped.gtk}/share/gsettings-schemas/${unwrapped.gtk.name}"
+ "--prefix" "GI_TYPELIB_PATH" ":" "${stdenv.lib.makeSearchPath "lib/girepository-1.0" [
+ unwrapped.gtk
+ gsettings-desktop-schemas
+ atk
+ # From some reason, if .out is not used, .bin is used, and we want
+ # what's in `.out`.
+ pango.out
+ gdk-pixbuf
+ json-glib
+ harfbuzz
+ librsvg
+ gobject-introspection
+ at-spi2-core
+ ]}"
+ ]
+ ++ stdenv.lib.optionals (extraPackages != []) [
+ "--prefix" "GRC_BLOCKS_PATH" ":" "${stdenv.lib.makeSearchPath "share/gnuradio/grc/blocks" extraPackages}"
+ ]
+ ++ stdenv.lib.optionals (unwrapped.hasFeature "gr-qtgui" unwrapped.features)
+ # 3.7 builds with qt4
+ (if unwrapped.versionAttr.major == "3.8" then
+ [
+ "--prefix" "QT_PLUGIN_PATH" ":"
+ "${stdenv.lib.getBin unwrapped.qt.qtbase}/${unwrapped.qt.qtbase.qtPluginPrefix}"
+ "--prefix" "QML2_IMPORT_PATH" ":"
+ "${stdenv.lib.getBin unwrapped.qt.qtbase}/${unwrapped.qt.qtbase.qtQmlPrefix}"
+ ]
+ else
+ # TODO: Add here qt4 related environment for 3.7?
+ [
+
+ ]
+ )
+ ++ extraMakeWrapperArgs
+ );
+in
stdenv.mkDerivation {
- name = (appendToName "with-packages" gnuradio).name;
- buildInputs = [ makeWrapper python ];
+ inherit name;
- buildCommand = ''
- mkdir -p $out/bin
- ln -s "${gnuradio}"/bin/* $out/bin/
+ buildInputs = [
+ makeWrapper
+ xorg.lndir
+ ];
- for file in $(find -L $out/bin -type f); do
- if test -x "$(readlink -f "$file")"; then
- wrapProgram "$file" \
- --prefix PYTHONPATH : ${stdenv.lib.concatStringsSep ":"
- (map (path: "$(toPythonPath ${path})") extraPackages)} \
- --prefix GRC_BLOCKS_PATH : ${makeSearchPath "share/gnuradio/grc/blocks" extraPackages}
- fi
+ passthru = {
+ inherit python3Env pythonPkgs unwrapped;
+ };
+
+ buildCommand = ''
+ mkdir $out
+ cd $out
+ lndir -silent ${unwrapped}
+ for i in $out/bin/*; do
+ if [[ ! -x "$i" ]]; then
+ continue
+ fi
+ cp -L "$i" "$i".tmp
+ mv -f "$i".tmp "$i"
+ if head -1 "$i" | grep -q ${unwrapped.python}; then
+ substituteInPlace "$i" \
+ --replace ${unwrapped.python} ${python3Env}
+ fi
+ wrapProgram "$i" ${makeWrapperArgs}
done
'';
- inherit (gnuradio) meta;
+ inherit (unwrapped) meta;
}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/gqrx/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/radio/gqrx/default.nix
index 33b858799e2a..b2402aad33eb 100644
--- a/infra/libkookie/nixpkgs/pkgs/applications/radio/gqrx/default.nix
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/gqrx/default.nix
@@ -9,13 +9,13 @@ assert pulseaudioSupport -> libpulseaudio != null;
mkDerivation rec {
pname = "gqrx";
- version = "2.12.1";
+ version = "2.14.2";
src = fetchFromGitHub {
owner = "csete";
repo = "gqrx";
rev = "v${version}";
- sha256 = "00alf3q6y313xpx6p7v43vqsphd2x4am4q362lw21bcy9wc4jidw";
+ sha256 = "15xlzfgmffq43wn74xjqc5p2m21i3lh28qqskd2jf2hhvanpcwcp";
};
nativeBuildInputs = [ cmake ];
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/inspectrum/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/radio/inspectrum/default.nix
index f55c78ea26b5..cf4ddd5b6e86 100644
--- a/infra/libkookie/nixpkgs/pkgs/applications/radio/inspectrum/default.nix
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/inspectrum/default.nix
@@ -13,13 +13,13 @@
mkDerivation rec {
pname = "inspectrum";
- version = "0.2.2";
+ version = "0.2.3";
src = fetchFromGitHub {
owner = "miek";
repo = "inspectrum";
rev = "v${version}";
- sha256 = "1a517y7s1xi66y5kjrpjay450pad9nc228pa8801mxq1c7m1lamm";
+ sha256 = "1x6nyn429pk0f7lqzskrgsbq09mq5787xd4piic95add6n1cc355";
};
nativeBuildInputs = [ cmake pkgconfig wrapQtAppsHook ];
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/limesuite/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/radio/limesuite/default.nix
index 013b4978b56a..25f49c3a2d65 100644
--- a/infra/libkookie/nixpkgs/pkgs/applications/radio/limesuite/default.nix
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/limesuite/default.nix
@@ -5,13 +5,13 @@
stdenv.mkDerivation rec {
pname = "limesuite";
- version = "20.07.2";
+ version = "20.10.0";
src = fetchFromGitHub {
owner = "myriadrf";
repo = "LimeSuite";
rev = "v${version}";
- sha256 = "0v0w0f5ff1gwpfy13x1q1jsx9xfg4s3ccg05ikpnkzj4yg6sjps1";
+ sha256 = "04wzfhzqmxjsa6bgcr4zd518fln9rbwnbabf48kha84d70vzkdlx";
};
nativeBuildInputs = [ cmake ];
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/noaa-apt/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/radio/noaa-apt/default.nix
index 5034d5fd93c1..01dc7b5c30db 100644
--- a/infra/libkookie/nixpkgs/pkgs/applications/radio/noaa-apt/default.nix
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/noaa-apt/default.nix
@@ -13,13 +13,13 @@
rustPlatform.buildRustPackage rec {
pname = "noaa-apt";
- version = "1.2.0";
+ version = "1.3.0";
src = fetchFromGitHub {
owner = "martinber";
repo = "noaa-apt";
rev = "v${version}";
- sha256 = "0fqki4a9c54rixdz5bpswvn433f9saw6yazgw4av3xdd7g2fdvvj";
+ sha256 = "0fmbg6lw7lmm402hzddpzgi7y9mc6kic14x8rif7fampk20mv3ms";
};
nativeBuildInputs = [
@@ -36,7 +36,7 @@ rustPlatform.buildRustPackage rec {
pango
];
- cargoSha256 = "1pzcq31inazmc9cz31fspzqkp0lpkjid8ai3g17sin1pfzby5jlh";
+ cargoSha256 = "0w4rbbz8lsh31xkgibzndiic47690nfcjrn1411dskf7ali6djy8";
preBuild = ''
# Used by macro pointing to resource location at compile time.
@@ -56,9 +56,10 @@ rustPlatform.buildRustPackage rec {
meta = with lib; {
description = "NOAA APT image decoder";
- homepage = "http://noaa-apt.mbernardi.com.ar/";
+ homepage = "https://noaa-apt.mbernardi.com.ar/";
license = licenses.gpl3Only;
maintainers = with maintainers; [ trepetti ];
+ platforms = platforms.all;
changelog = "https://github.com/martinber/noaa-apt/releases/tag/v${version}";
};
}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/quisk/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/radio/quisk/default.nix
new file mode 100644
index 000000000000..86edfadcce11
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/quisk/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, python38Packages, fetchPypi
+, fftw, alsaLib, pulseaudio, wxPython_4_0 }:
+
+python38Packages.buildPythonApplication rec {
+ pname = "quisk";
+ version = "4.1.73";
+
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "37dfb02a32341025c086b07d66ddf1608d4ee1ae1c62fb51f87c97662f13e0d8";
+ };
+
+ buildInputs = [ fftw alsaLib pulseaudio ];
+
+ propagatedBuildInputs = [ wxPython_4_0 ];
+
+ doCheck = false;
+
+ meta = with stdenv.lib; {
+ description = "A SDR transceiver for radios that use the Hermes protocol";
+ longDescription = ''
+ QUISK is a Software Defined Radio (SDR) transceiver. You supply radio
+ hardware that converts signals at the antenna to complex (I/Q) data at an
+ intermediate frequency (IF). Data can come from a sound card, Ethernet or
+ USB. Quisk then filters and demodulates the data and sends the audio to
+ your speakers or headphones. For transmit, Quisk takes the microphone
+ signal, converts it to I/Q data and sends it to the hardware.
+
+ Quisk can be used with SoftRock, Hermes Lite 2, HiQSDR, Odyssey and many
+ radios that use the Hermes protocol. Quisk can connect to digital
+ programs like Fldigi and WSJT-X. Quisk can be connected to other software
+ like N1MM+ and software that uses Hamlib.
+ '';
+ license = licenses.gpl2Plus;
+ homepage = "https://james.ahlstrom.name/quisk/";
+ maintainers = with maintainers; [ pulsation ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/rtl-sdr/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/radio/rtl-sdr/default.nix
index 8fb5154ff788..7e044296b02c 100644
--- a/infra/libkookie/nixpkgs/pkgs/applications/radio/rtl-sdr/default.nix
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/rtl-sdr/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, cmake, pkgconfig, libusb1 }:
+{ stdenv, fetchgit, fetchpatch, cmake, pkgconfig, libusb1 }:
stdenv.mkDerivation rec {
pname = "rtl-sdr";
@@ -10,6 +10,12 @@ stdenv.mkDerivation rec {
sha256 = "0lmvsnb4xw4hmz6zs0z5ilsah5hjz29g1s0050n59fllskqr3b8k";
};
+ patches = [ (fetchpatch {
+ name = "hardened-udev-rules.patch";
+ url = "https://osmocom.org/projects/rtl-sdr/repository/revisions/b2814731563be4d5a0a68554ece6454a2c63af12/diff?format=diff";
+ sha256 = "0ns740s2rys4glq4la4bh0sxfv1mn61yfjns2yllhx70rsb2fqrn";
+ }) ];
+
nativeBuildInputs = [ pkgconfig cmake ];
buildInputs = [ libusb1 ];
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/rtl_433/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/radio/rtl_433/default.nix
index 78d0f8befc98..c84160c19eae 100644
--- a/infra/libkookie/nixpkgs/pkgs/applications/radio/rtl_433/default.nix
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/rtl_433/default.nix
@@ -1,25 +1,26 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig
+{ stdenv, fetchFromGitHub, cmake, pkgconfig
, libusb1, rtl-sdr, soapysdr-with-plugins
}:
-stdenv.mkDerivation {
-
- version = "20.02";
+stdenv.mkDerivation rec {
+ version = "20.11";
pname = "rtl_433";
src = fetchFromGitHub {
owner = "merbanan";
repo = "rtl_433";
- rev = "20.02";
- sha256 = "11991xky9gawkragdyg27qsf7kw5bhlg7ygvf3fn7ng00x4xbh1z";
+ rev = version;
+ sha256 = "093bxjxkg7yf78wqj5gpijbfa2p05ny09qqsj84kzi1svnzsa369";
};
- nativeBuildInputs = [ autoreconfHook pkgconfig ];
+ nativeBuildInputs = [ pkgconfig cmake ];
buildInputs = [ libusb1 rtl-sdr soapysdr-with-plugins ];
+ doCheck = true;
+
meta = with stdenv.lib; {
- description = "Decode traffic from devices that broadcast on 433.9 MHz";
+ description = "Decode traffic from devices that broadcast on 433.9 MHz, 868 MHz, 315 MHz, 345 MHz and 915 MHz";
homepage = "https://github.com/merbanan/rtl_433";
license = licenses.gpl2;
maintainers = with maintainers; [ earldouglas ];
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/sdrangel/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/radio/sdrangel/default.nix
index 6d0a19334dec..dd8c56610c28 100644
--- a/infra/libkookie/nixpkgs/pkgs/applications/radio/sdrangel/default.nix
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/sdrangel/default.nix
@@ -13,47 +13,40 @@ libav,
libiio,
libopus,
libpulseaudio,
-libusb-compat-0_1,
+libusb1,
limesuite,
+libbladeRF,
mkDerivation,
ocl-icd,
opencv3,
pkgconfig,
qtbase,
qtmultimedia,
+qtserialport,
qtwebsockets,
rtl-sdr,
-serialdv
+serialdv,
+uhd
}:
-let
-
- codec2' = codec2.overrideAttrs (old: {
- src = fetchFromGitHub {
- owner = "drowe67";
- repo = "codec2";
- rev = "567346818c0d4d697773cf66d925fdb031e15668";
- sha256 = "0ngqlh2cw5grx2lg7xj8baz6p55gfhq4caggxkb4pxlg817pwbpa";
- };
- });
-
-in mkDerivation rec {
+mkDerivation rec {
pname = "sdrangel";
- version = "4.11.12";
+ version = "4.21.1";
src = fetchFromGitHub {
owner = "f4exb";
repo = "sdrangel";
rev = "v${version}";
- sha256 = "0zbx0gklylk8npb3wnnmqpam0pdxl40f20i3wzwwh4gqrppxywzx";
+ sha256 = "y6BVwnSJXiapgm9pAuby1DLLeU5MSyB4uqEa3oS35/U=";
fetchSubmodules = false;
};
nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = [
- glew opencv3 libusb-compat-0_1 boost libopus limesuite libav libiio libpulseaudio
+ glew opencv3 libusb1 boost libopus limesuite libav libiio libpulseaudio
qtbase qtwebsockets qtmultimedia rtl-sdr airspy hackrf
- fftwFloat codec2' cm256cc serialdv
+ fftwFloat codec2 cm256cc serialdv qtserialport
+ libbladeRF uhd
];
cmakeFlags = [
"-DLIBSERIALDV_INCLUDE_DIR:PATH=${serialdv}/include/serialdv"
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/urh/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/radio/urh/default.nix
index 730b679ba61e..5411571113d5 100644
--- a/infra/libkookie/nixpkgs/pkgs/applications/radio/urh/default.nix
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/urh/default.nix
@@ -5,13 +5,13 @@
python3Packages.buildPythonApplication rec {
pname = "urh";
- version = "2.8.8";
+ version = "2.9.0";
src = fetchFromGitHub {
owner = "jopohl";
repo = pname;
rev = "v${version}";
- sha256 = "0knymy85n9kxj364jpxjc4v9c238b00nl40rafi1ripkqx36bsfv";
+ sha256 = "1pcyj1vzv51j8rgi0hh9chw3vfkfi03bg1rg7gs4nk95ffmwx4pd";
};
nativeBuildInputs = [ qt5.wrapQtAppsHook ];