diff options
Diffstat (limited to 'pkgs/applications/radio')
17 files changed, 276 insertions, 177 deletions
diff --git a/pkgs/applications/radio/dablin/default.nix b/pkgs/applications/radio/dablin/default.nix index a9f5fc991fff2..46b0714bd445d 100644 --- a/pkgs/applications/radio/dablin/default.nix +++ b/pkgs/applications/radio/dablin/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "dablin"; - version = "1.13.0"; + version = "1.14.0"; src = fetchFromGitHub { owner = "Opendigitalradio"; repo = "dablin"; rev = version; - sha256 = "0143jnhwwh4din6mlrkbm8m2wm8vnrlk0yk9r5qcvj70r2314bgq"; + sha256 = "02mhxaqpj0094sbb3c28r5xznw9z8ayvlkczknizlk75ag895zz2"; }; nativeBuildInputs = [ cmake pkg-config ]; diff --git a/pkgs/applications/radio/dump1090/default.nix b/pkgs/applications/radio/dump1090/default.nix index 00e5e0089cf8c..63eab66db8ff7 100644 --- a/pkgs/applications/radio/dump1090/default.nix +++ b/pkgs/applications/radio/dump1090/default.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation rec { pname = "dump1090"; - version = "6.1"; + version = "7.1"; src = fetchFromGitHub { owner = "flightaware"; repo = pname; rev = "v${version}"; - sha256 = "sha256-OLXnT5TD6ZBNJUk4qXOMbr+NWdw3j1rv1xkFPZi4Wo8="; + sha256 = "sha256-1fD8ZMkTS/r+p1rrOfJhH2sz3sJCapQcvk8f8crGApw="; }; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/applications/radio/freedv/default.nix b/pkgs/applications/radio/freedv/default.nix index b369a5475e53c..43cf58db2581c 100644 --- a/pkgs/applications/radio/freedv/default.nix +++ b/pkgs/applications/radio/freedv/default.nix @@ -7,6 +7,7 @@ , libsndfile , lpcnetfreedv , portaudio +, pulseaudio , speexdsp , hamlib , wxGTK31-gtk3 @@ -14,13 +15,13 @@ stdenv.mkDerivation rec { pname = "freedv"; - version = "1.6.1"; + version = "1.7.0"; src = fetchFromGitHub { owner = "drowe67"; repo = "freedv-gui"; rev = "v${version}"; - sha256 = "1dzhf944vgla9a5ilcgwivhzgdbfaknqnwbpb071a0rz8rajnv0q"; + hash = "sha256-0E7r/7+AQRPIFAcE6O1WE0NYiKzAlBR0jKbssqWvRMU="; }; nativeBuildInputs = [ cmake ]; @@ -29,16 +30,15 @@ stdenv.mkDerivation rec { libsamplerate libsndfile lpcnetfreedv - portaudio speexdsp hamlib wxGTK31-gtk3 - ]; + ] ++ (if stdenv.isLinux then [ pulseaudio ] else [ portaudio ]); cmakeFlags = [ "-DUSE_INTERNAL_CODEC2:BOOL=FALSE" "-DUSE_STATIC_DEPS:BOOL=FALSE" - ]; + ] ++ lib.optionals stdenv.isLinux [ "-DUSE_PULSEAUDIO:BOOL=TRUE" ]; meta = with lib; { homepage = "https://freedv.org/"; diff --git a/pkgs/applications/radio/gnss-sdr/default.nix b/pkgs/applications/radio/gnss-sdr/default.nix index 479b3b641cd37..383c5710808f5 100644 --- a/pkgs/applications/radio/gnss-sdr/default.nix +++ b/pkgs/applications/radio/gnss-sdr/default.nix @@ -7,78 +7,97 @@ , gtest , openssl , gflags -, gnuradio3_8 +, gnuradio , thrift -, libpcap +, enableRawUdp ? true, libpcap , orc , pkg-config -, uhd -, log4cpp , blas, lapack , matio , pugixml , protobuf }: -gnuradio3_8.pkgs.mkDerivation rec { +gnuradio.pkgs.mkDerivation rec { pname = "gnss-sdr"; - # There's an issue with cpufeatures on 0.0.15, see: - # https://github.com/NixOS/nixpkgs/pull/142557#issuecomment-950217925 - version = "0.0.13"; + version = "0.0.16"; src = fetchFromGitHub { owner = "gnss-sdr"; repo = "gnss-sdr"; rev = "v${version}"; - sha256 = "0a3k47fl5dizzhbqbrbmckl636lznyjby2d2nz6fz21637hvrnby"; + sha256 = "sha256-ODe4k6PDGtDX11FrbggEbN3tc4UtATaItUIpCKl4JjM="; }; + patches = [ + # Use the relative install location for volk_gnsssdr_module and + # cpu_features which is bundled in the source. NOTE: Perhaps this patch + # should be sent upstream. + ./fix_libcpu_features_install_path.patch + ]; + nativeBuildInputs = [ cmake - gnuradio3_8.unwrapped.python - gnuradio3_8.unwrapped.python.pkgs.Mako - gnuradio3_8.unwrapped.python.pkgs.six + pkg-config + gnuradio.unwrapped.python + gnuradio.unwrapped.python.pkgs.Mako + gnuradio.unwrapped.python.pkgs.six + ]; + checkInputs = [ + gtest ]; buildInputs = [ gmp armadillo - gnuradio3_8.unwrapped.boost glog - gtest - openssl gflags + openssl orc - # UHD support is optional, but gnuradio is built with it, so there's - # nothing to be gained by leaving it out. - gnuradio3_8.unwrapped.uhd - log4cpp blas lapack matio pugixml protobuf - gnuradio3_8.pkgs.osmosdr + gnuradio.unwrapped.boost + ] ++ lib.optionals (gnuradio.hasFeature "gr-uhd") [ + gnuradio.unwrapped.uhd + ] ++ (if (lib.versionAtLeast gnuradio.unwrapped.versionAttr.major "3.10") then [ + gnuradio.unwrapped.spdlog + ] else [ + gnuradio.unwrapped.log4cpp + ]) ++ lib.optionals (enableRawUdp) [ libpcap - ] ++ lib.optionals (gnuradio3_8.hasFeature "gr-ctrlport") [ + ] ++ lib.optionals (gnuradio.hasFeature "gr-ctrlport") [ thrift - gnuradio3_8.unwrapped.python.pkgs.thrift + gnuradio.unwrapped.python.pkgs.thrift + ] ++ lib.optionals (gnuradio.hasFeature "gr-pdu" || gnuradio.hasFeature "gr-iio") [ + gnuradio.unwrapped.libiio + ] ++ lib.optionals (gnuradio.hasFeature "gr-pdu") [ + gnuradio.unwrapped.libad9361 ]; cmakeFlags = [ - "-DGFlags_ROOT_DIR=${gflags}/lib" + "-DGFlags_INCLUDE_DIRS=${gflags}/include" "-DGLOG_INCLUDE_DIR=${glog}/include" + # Should use .dylib if darwin support is requested + "-DGFlags_LIBS=${gflags}/lib/libgflags.so" + "-DGLOG_LIBRARIES=${glog}/lib/libglog.so" + # Use our dependencies glog, gflags and armadillo dependencies + "-DENABLE_OWN_GLOG=OFF" + "-DENABLE_OWN_ARMADILLO=OFF" + "-DENABLE_ORC=ON" + "-DENABLE_LOG=ON" + "-DENABLE_RAW_UDP=${if enableRawUdp then "ON" else "OFF"}" + "-DENABLE_UHD=${if (gnuradio.hasFeature "gr-uhd") then "ON" else "OFF"}" + "-DENABLE_FMCOMMS2=${if (gnuradio.hasFeature "gr-iio" && gnuradio.hasFeature "gr-pdu") then "ON" else "OFF"}" + "-DENABLE_PLUTOSDR=${if (gnuradio.hasFeature "gr-iio") then "ON" else "OFF"}" + "-DENABLE_AD9361=${if (gnuradio.hasFeature "gr-pdu") then "ON" else "OFF"}" "-DENABLE_UNIT_TESTING=OFF" # gnss-sdr doesn't truly depend on BLAS or LAPACK, as long as # armadillo is built using both, so skip checking for them. - "-DBLAS=YES" - "-DLAPACK=YES" "-DBLAS_LIBRARIES=-lblas" "-DLAPACK_LIBRARIES=-llapack" - - # Similarly, it doesn't actually use gfortran despite checking for - # its presence. - "-DGFORTRAN=YES" ]; meta = with lib; { diff --git a/pkgs/applications/radio/gnss-sdr/fix_libcpu_features_install_path.patch b/pkgs/applications/radio/gnss-sdr/fix_libcpu_features_install_path.patch new file mode 100644 index 0000000000000..cfeb0bd416b40 --- /dev/null +++ b/pkgs/applications/radio/gnss-sdr/fix_libcpu_features_install_path.patch @@ -0,0 +1,47 @@ +--- a/CMakeLists.txt 1970-01-01 08:00:01.000000000 +0800 ++++ b/CMakeLists.txt 2022-02-16 20:41:53.725290020 +0800 +@@ -1214,7 +1214,7 @@ + BINARY_DIR ${CMAKE_BINARY_DIR}/volk_gnsssdr_module/build + CMAKE_ARGS ${VOLK_GNSSSDR_CMAKE_ARGS} + -DCMAKE_BUILD_TYPE=$<$<CONFIG:None>:None>$<$<CONFIG:Debug>:Debug>$<$<CONFIG:Release>:Release>$<$<CONFIG:RelWithDebInfo>:RelWithDebInfo>$<$<CONFIG:MinSizeRel>:MinSizeRel>$<$<CONFIG:NoOptWithASM>:NoOptWithASM>$<$<CONFIG:Coverage>:Coverage>$<$<CONFIG:O2WithASM>:O2WithASM>$<$<CONFIG:O3WithASM>:O3WithASM>$<$<CONFIG:ASAN>:ASAN> +- -DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR} ++ -DCMAKE_INSTALL_LIBDIR=lib + DOWNLOAD_COMMAND "" + UPDATE_COMMAND "" + PATCH_COMMAND "" +@@ -1247,7 +1247,7 @@ + ) + set(VOLK_GNSSSDR_BUILD_BYPRODUCTS + ${VOLK_GNSSSDR_BUILD_BYPRODUCTS} +- ${CMAKE_BINARY_DIR}/volk_gnsssdr_module/install/${CMAKE_INSTALL_LIBDIR}/${CMAKE_FIND_LIBRARY_PREFIXES}cpu_features${CMAKE_STATIC_LIBRARY_SUFFIX} ++ ${CMAKE_BINARY_DIR}/volk_gnsssdr_module/install/lib/${CMAKE_FIND_LIBRARY_PREFIXES}cpu_features${CMAKE_STATIC_LIBRARY_SUFFIX} + ) + endif() + ExternalProject_Add(volk_gnsssdr_module +@@ -1256,7 +1256,7 @@ + BINARY_DIR ${CMAKE_BINARY_DIR}/volk_gnsssdr_module/build + CMAKE_ARGS ${VOLK_GNSSSDR_CMAKE_ARGS} + -DCMAKE_BUILD_TYPE=$<$<CONFIG:None>:None>$<$<CONFIG:Debug>:Debug>$<$<CONFIG:Release>:Release>$<$<CONFIG:RelWithDebInfo>:RelWithDebInfo>$<$<CONFIG:MinSizeRel>:MinSizeRel>$<$<CONFIG:NoOptWithASM>:NoOptWithASM>$<$<CONFIG:Coverage>:Coverage>$<$<CONFIG:O2WithASM>:O2WithASM>$<$<CONFIG:O3WithASM>:O3WithASM>$<$<CONFIG:ASAN>:ASAN> +- -DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR} ++ -DCMAKE_INSTALL_LIBDIR=lib + DOWNLOAD_COMMAND "" + UPDATE_COMMAND "" + PATCH_COMMAND "" +@@ -1271,7 +1271,7 @@ + BINARY_DIR ${CMAKE_BINARY_DIR}/volk_gnsssdr_module/build + CMAKE_ARGS ${VOLK_GNSSSDR_CMAKE_ARGS} + -DCMAKE_BUILD_TYPE=$<$<CONFIG:None>:None>$<$<CONFIG:Debug>:Debug>$<$<CONFIG:Release>:Release>$<$<CONFIG:RelWithDebInfo>:RelWithDebInfo>$<$<CONFIG:MinSizeRel>:MinSizeRel>$<$<CONFIG:NoOptWithASM>:NoOptWithASM>$<$<CONFIG:Coverage>:Coverage>$<$<CONFIG:O2WithASM>:O2WithASM>$<$<CONFIG:O3WithASM>:O3WithASM>$<$<CONFIG:ASAN>:ASAN> +- -DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR} ++ -DCMAKE_INSTALL_LIBDIR=lib + DOWNLOAD_COMMAND "" + UPDATE_COMMAND "" + PATCH_COMMAND "" +@@ -1310,7 +1310,7 @@ + if(CMAKE_VERSION VERSION_GREATER 3.0 AND SUPPORTED_CPU_FEATURES_ARCH) + if(NOT CpuFeatures_FOUND) + set_target_properties(Volkgnsssdr::volkgnsssdr PROPERTIES +- INTERFACE_LINK_LIBRARIES ${CMAKE_BINARY_DIR}/volk_gnsssdr_module/install/${CMAKE_INSTALL_LIBDIR}/${CMAKE_FIND_LIBRARY_PREFIXES}cpu_features${CMAKE_STATIC_LIBRARY_SUFFIX} ++ INTERFACE_LINK_LIBRARIES ${CMAKE_BINARY_DIR}/volk_gnsssdr_module/install/lib/${CMAKE_FIND_LIBRARY_PREFIXES}cpu_features${CMAKE_STATIC_LIBRARY_SUFFIX} + ) + endif() + endif() diff --git a/pkgs/applications/radio/gnuradio/3.8.nix b/pkgs/applications/radio/gnuradio/3.8.nix index a6d4099c8639e..f3a56cfdb0550 100644 --- a/pkgs/applications/radio/gnuradio/3.8.nix +++ b/pkgs/applications/radio/gnuradio/3.8.nix @@ -43,13 +43,13 @@ , pname ? "gnuradio" , versionAttr ? { major = "3.8"; - minor = "4"; + minor = "5"; patch = "0"; } }: let - sourceSha256 = "sha256-C8S3iF7vj9A8SpxriW9y7idrhXzonvenoQtVAMex+Iw="; + sourceSha256 = "sha256-p4VFjTE0GXmdA7QGhWSUzO/WxJ+8Dq3JEnOABtQtJUU="; featuresInfo = { # Needed always basic = { @@ -243,11 +243,6 @@ stdenv.mkDerivation rec { patches = [ # Not accepted upstream, see https://github.com/gnuradio/gnuradio/pull/5227 ./modtool-newmod-permissions.3_8.patch - (fetchpatch { - # https://github.com/gnuradio/gnuradio/pull/5226 - url = "https://github.com/gnuradio/gnuradio/commit/9d7343526dd793120b6425cd9a6969416ed32503.patch"; - sha256 = "sha256-usSoRDDuClUfdX4yFbQNu8wDzve6UEhZYTFj1oZbFic="; - }) # Fix compilation with boost 177 (fetchpatch { url = "https://github.com/gnuradio/gnuradio/commit/2c767bb260a25b415e8c9c4b3ea37280b2127cec.patch"; @@ -256,7 +251,11 @@ stdenv.mkDerivation rec { ]; passthru = shared.passthru // { # Deps that are potentially overriden and are used inside GR plugins - the same version must - inherit boost volk; + inherit + boost + volk + log4cpp + ; } // lib.optionalAttrs (hasFeature "gr-uhd") { inherit uhd; } // lib.optionalAttrs (hasFeature "gr-qtgui") { diff --git a/pkgs/applications/radio/gnuradio/3.7.nix b/pkgs/applications/radio/gnuradio/3.9.nix index 372300895ca28..638064bbd0729 100644 --- a/pkgs/applications/radio/gnuradio/3.7.nix +++ b/pkgs/applications/radio/gnuradio/3.9.nix @@ -7,7 +7,6 @@ , pkg-config , volk , cppunit -, swig , orc , boost , log4cpp @@ -21,33 +20,39 @@ , libjack2 , CoreAudio , uhd -, comedilib -, libusb1 , SDL , gsl +, soapysdr +, libsodium +, libsndfile +, libunwind +, thrift , cppzmq , zeromq +# Needed only if qt-gui is disabled, from some reason +, icu # GUI related -, gtk2 +, gtk3 , pango +, gobject-introspection , cairo -, qt4 -, qwt6_qt4 +, qt5 +, libsForQt5 # Features available to override, the list of them is in featuresInfo. They -# are all turned on by default +# 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"; + major = "3.9"; + minor = "5"; patch = "0"; } }: let - sourceSha256 = "BiUDibXV/5cEYmAAaIxT4WTxF/ni4MJumF5oJ/vuOyc="; + sourceSha256 = "sha256-TWCXLoS+ImKNd2zkxMks4FXsQMvGKgcW5/MW8S1Y1TY="; featuresInfo = { # Needed always basic = { @@ -56,27 +61,30 @@ let pkg-config orc ]; - runtime = [ boost log4cpp mpir ]; - pythonNative = with python.pkgs; [ Mako six ]; - }; - volk = { - cmakeEnableFlag = "VOLK"; runtime = [ volk + boost + log4cpp + mpir + ] + # when gr-qtgui is disabled, icu needs to be included, otherwise + # building with boost 1.7x fails + ++ lib.optionals (!(hasFeature "gr-qtgui")) [ icu ]; + pythonNative = with python.pkgs; [ + Mako + six ]; }; doxygen = { native = [ doxygen ]; cmakeEnableFlag = "DOXYGEN"; }; - sphinx = { - pythonNative = with python.pkgs; [ sphinx ]; - cmakeEnableFlag = "SPHINX"; + man-pages = { + cmakeEnableFlag = "MANPAGES"; }; python-support = { pythonRuntime = [ python.pkgs.six ]; native = [ - swig python ]; cmakeEnableFlag = "PYTHON"; @@ -85,31 +93,44 @@ let native = [ cppunit ]; cmakeEnableFlag = "TESTING"; }; + post-install = { + cmakeEnableFlag = "POSTINSTALL"; + }; gnuradio-runtime = { cmakeEnableFlag = "GNURADIO_RUNTIME"; + pythonRuntime = [ + python.pkgs.pybind11 + ]; }; gr-ctrlport = { - cmakeEnableFlag = "GR_CTRLPORT"; - native = [ - swig + runtime = [ + libunwind + thrift ]; + pythonRuntime = with python.pkgs; [ + python.pkgs.thrift + # For gr-perf-monitorx + matplotlib + networkx + ]; + cmakeEnableFlag = "GR_CTRLPORT"; }; gnuradio-companion = { pythonRuntime = with python.pkgs; [ pyyaml - cheetah - lxml - pygtk + Mako numpy - # propagated by pygtk, but since wrapping is done externally, it help - # the wrapper if it's here - pycairo - pygobject2 + pygobject3 + ]; + native = [ + python.pkgs.pytest ]; runtime = [ - gtk2 + gtk3 pango + gobject-introspection cairo + libsndfile ]; cmakeEnableFlag = "GRC"; }; @@ -126,6 +147,10 @@ let gr-filter = { runtime = [ fftwFloat ]; cmakeEnableFlag = "GR_FILTER"; + pythonRuntime = with python.pkgs; [ + scipy + pyqtgraph + ]; }; gr-analog = { cmakeEnableFlag = "GR_ANALOG"; @@ -136,9 +161,6 @@ let gr-dtv = { cmakeEnableFlag = "GR_DTV"; }; - gr-atsc = { - cmakeEnableFlag = "GR_ATSC"; - }; gr-audio = { runtime = [] ++ lib.optionals stdenv.isLinux [ alsa-lib libjack2 ] @@ -146,33 +168,46 @@ let ; 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 ]; + runtime = [ qt5.qtbase libsForQt5.qwt ]; + pythonRuntime = [ python.pkgs.pyqt5 ]; cmakeEnableFlag = "GR_QTGUI"; }; gr-trellis = { cmakeEnableFlag = "GR_TRELLIS"; }; gr-uhd = { - runtime = [ uhd ]; + runtime = [ + uhd + ]; cmakeEnableFlag = "GR_UHD"; }; + gr-uhd-rfnoc = { + runtime = [ + uhd + ]; + cmakeEnableFlag = "UHD_RFNOC"; + }; gr-utils = { cmakeEnableFlag = "GR_UTILS"; + pythonRuntime = with python.pkgs; [ + # For gr_plot + matplotlib + ]; + }; + gr-modtool = { + pythonRuntime = with python.pkgs; [ + setuptools + click + click-plugins + ]; + cmakeEnableFlag = "GR_MODTOOL"; + }; + gr-blocktool = { + cmakeEnableFlag = "GR_BLOCKTOOL"; }; gr-video-sdl = { runtime = [ SDL ]; @@ -182,27 +217,28 @@ let runtime = [ codec2 gsm ]; cmakeEnableFlag = "GR_VOCODER"; }; - gr-fcd = { - runtime = [ libusb1 ]; - cmakeEnableFlag = "GR_FCD"; - }; gr-wavelet = { cmakeEnableFlag = "GR_WAVELET"; - runtime = [ gsl ]; + runtime = [ gsl libsodium ]; }; gr-zeromq = { runtime = [ cppzmq zeromq ]; cmakeEnableFlag = "GR_ZEROMQ"; }; - gr-wxgui = { - pythonRuntime = with python.pkgs; [ numpy wxPython ]; - cmakeEnableFlag = "GR_WXGUI"; + gr-network = { + cmakeEnableFlag = "GR_NETWORK"; + }; + gr-soapy = { + cmakeEnableFlag = "GR_SOAPY"; + runtime = [ + soapysdr + ]; }; }; shared = (import ./shared.nix { inherit - lib stdenv + lib python removeReferencesTo featuresInfo @@ -212,8 +248,8 @@ let overrideSrc fetchFromGitHub ; - qt = qt4; - gtk = gtk2; + qt = qt5; + gtk = gtk3; }); inherit (shared) hasFeature; # function in @@ -225,57 +261,37 @@ stdenv.mkDerivation rec { src nativeBuildInputs buildInputs + cmakeFlags disallowedReferences - postInstall + stripDebugList doCheck dontWrapPythonPrograms + dontWrapQtApps meta ; - + patches = [ + # Not accepted upstream, see https://github.com/gnuradio/gnuradio/pull/5227 + ./modtool-newmod-permissions.patch + ]; passthru = shared.passthru // { # Deps that are potentially overriden and are used inside GR plugins - the same version must - inherit boost volk; + inherit + boost + volk + log4cpp + ; } // lib.optionalAttrs (hasFeature "gr-uhd") { inherit uhd; + } // lib.optionalAttrs (hasFeature "gr-qtgui") { + inherit (libsForQt5) qwt; }; - 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). - ++ lib.optionals (hasFeature "gr-vocoder") [ - "-DLIBCODEC2_LIBRARIES=${codec2}/lib/libcodec2.so" - "-DLIBCODEC2_INCLUDE_DIR=${codec2}/include" - "-DLIBGSM_LIBRARIES=${gsm}/lib/libgsm.so" - "-DLIBGSM_INCLUDE_DIR=${gsm}/include/gsm" - ] - ++ lib.optionals (hasFeature "volk" && volk != null) [ - "-DENABLE_INTERNAL_VOLK=OFF" - ] - ; - stripDebugList = shared.stripDebugList - # gr-fcd feature was dropped in 3.8 - ++ lib.optionals (hasFeature "gr-fcd") [ "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. - + lib.optionalString (hasFeature "gr-wxgui") '' - sed -i 's/.*wx\.version.*/set(WX_FOUND TRUE)/g' gr-wxgui/CMakeLists.txt - '' - + lib.optionalString (hasFeature "gnuradio-companion") '' - sed -i 's/.*pygtk_version.*/set(PYGTK_FOUND TRUE)/g' grc/CMakeLists.txt + + postInstall = shared.postInstall + # This is the only python reference worth removing, if needed. + + lib.optionalString (!hasFeature "python-support") '' + ${removeReferencesTo}/bin/remove-references-to -t ${python} $out/lib/cmake/gnuradio/GnuradioConfig.cmake + ${removeReferencesTo}/bin/remove-references-to -t ${python} $(readlink -f $out/lib/libgnuradio-runtime.so) + ${removeReferencesTo}/bin/remove-references-to -t ${python.pkgs.pybind11} $out/lib/cmake/gnuradio/gnuradio-runtimeTargets.cmake '' ; - 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="; - }) - ]; } diff --git a/pkgs/applications/radio/gnuradio/default.nix b/pkgs/applications/radio/gnuradio/default.nix index 61aafb63b5dbc..eef1960ae1f48 100644 --- a/pkgs/applications/radio/gnuradio/default.nix +++ b/pkgs/applications/radio/gnuradio/default.nix @@ -9,7 +9,7 @@ , cppunit , orc , boost -, log4cpp +, spdlog , mpir , doxygen , python @@ -18,6 +18,8 @@ , fftwFloat , alsa-lib , libjack2 +, libiio +, libad9361 , CoreAudio , uhd , SDL @@ -45,14 +47,14 @@ , overrideSrc ? {} , pname ? "gnuradio" , versionAttr ? { - major = "3.9"; - minor = "4"; - patch = "0"; + major = "3.10"; + minor = "1"; + patch = "1"; } }: let - sourceSha256 = "sha256-O+37CyF0IVPdUB1e68HsaXD0T2VsOLPXOpLNlRYEXUk="; + sourceSha256 = "sha256-vsAK+GQzcpA9Vsa6q4RFEzVpbF7/+yZkMsemKn6VhIg="; featuresInfo = { # Needed always basic = { @@ -64,7 +66,7 @@ let runtime = [ volk boost - log4cpp + spdlog mpir ] # when gr-qtgui is disabled, icu needs to be included, otherwise @@ -171,6 +173,22 @@ let gr-channels = { cmakeEnableFlag = "GR_CHANNELS"; }; + gr-pdu = { + cmakeEnableFlag = "GR_PDU"; + runtime = [ + libiio + libad9361 + ]; + }; + gr-iio = { + cmakeEnableFlag = "GR_IIO"; + runtime = [ + libiio + ]; + }; + common-precompiled-headers = { + cmakeEnableFlag = "COMMON_PCH"; + }; gr-qtgui = { runtime = [ qt5.qtbase libsForQt5.qwt ]; pythonRuntime = [ python.pkgs.pyqt5 ]; @@ -275,9 +293,15 @@ stdenv.mkDerivation rec { ]; passthru = shared.passthru // { # Deps that are potentially overriden and are used inside GR plugins - the same version must - inherit boost volk; + inherit + boost + volk + spdlog + ; } // lib.optionalAttrs (hasFeature "gr-uhd") { inherit uhd; + } // lib.optionalAttrs (hasFeature "gr-pdu") { + inherit libiio libad9361; } // lib.optionalAttrs (hasFeature "gr-qtgui") { inherit (libsForQt5) qwt; }; diff --git a/pkgs/applications/radio/gqrx/default.nix b/pkgs/applications/radio/gqrx/default.nix index a653762b538e1..28be25920a459 100644 --- a/pkgs/applications/radio/gqrx/default.nix +++ b/pkgs/applications/radio/gqrx/default.nix @@ -5,7 +5,6 @@ , qt5 , gnuradio3_8Minimal , thrift -, log4cpp , mpir , fftwFloat , alsa-lib @@ -24,13 +23,13 @@ assert !(pulseaudioSupport && portaudioSupport); gnuradio3_8Minimal.pkgs.mkDerivation rec { pname = "gqrx"; - version = "2.15.1"; + version = "2.15.8"; src = fetchFromGitHub { owner = "gqrx-sdr"; repo = "gqrx"; rev = "v${version}"; - sha256 = "sha256-OL83l3A27rggfGbfLT1CUaPAQHEKXgoGS1jYJZ9eHPQ="; + sha256 = "sha256-RxwkiJdPHWyhU3azSpWV2M0tG5GInQBpc/ls16V1B94="; }; nativeBuildInputs = [ @@ -39,7 +38,7 @@ gnuradio3_8Minimal.pkgs.mkDerivation rec { qt5.wrapQtAppsHook ]; buildInputs = [ - log4cpp + gnuradio3_8Minimal.unwrapped.log4cpp mpir fftwFloat alsa-lib @@ -68,11 +67,6 @@ gnuradio3_8Minimal.pkgs.mkDerivation rec { "-DLINUX_AUDIO_BACKEND=${audioBackend}" ]; - postInstall = '' - install -vD $src/gqrx.desktop -t "$out/share/applications/" - install -vD $src/resources/icons/gqrx.svg -t "$out/share/pixmaps/" - ''; - meta = with lib; { description = "Software defined radio (SDR) receiver"; longDescription = '' diff --git a/pkgs/applications/radio/qradiolink/default.nix b/pkgs/applications/radio/qradiolink/default.nix index 6960eba6a57d1..567a587e6d5bc 100644 --- a/pkgs/applications/radio/qradiolink/default.nix +++ b/pkgs/applications/radio/qradiolink/default.nix @@ -7,7 +7,6 @@ , thrift # Not gnuradioPackages' , codec2 -, log4cpp , gmp , gsm , libopus @@ -48,7 +47,7 @@ gnuradio3_8.pkgs.mkDerivation rec { buildInputs = [ gnuradio3_8.unwrapped.boost codec2 - log4cpp + gnuradio3_8.unwrapped.log4cpp gmp libpulseaudio libconfig diff --git a/pkgs/applications/radio/qsstv/default.nix b/pkgs/applications/radio/qsstv/default.nix index 7b27bb2eac02d..6e7a28eb7c745 100644 --- a/pkgs/applications/radio/qsstv/default.nix +++ b/pkgs/applications/radio/qsstv/default.nix @@ -2,12 +2,12 @@ libpulseaudio, alsa-lib, hamlib, libv4l, fftwFloat }: mkDerivation rec { - version = "9.4.4"; + version = "9.5.8"; pname = "qsstv"; src = fetchurl { url = "http://users.telenet.be/on4qz/qsstv/downloads/qsstv_${version}.tar.gz"; - sha256 = "0f9hx6sy418cb23fadll298pqbc5l2lxsdivi4vgqbkvx7sw58zi"; + sha256 = "0s3sivc0xan6amibdiwfnknrl3248wzgy98w6gyxikl0qsjpygy0"; }; nativeBuildInputs = [ @@ -20,7 +20,8 @@ mkDerivation rec { postInstall = '' # Install desktop icon - install -D qsstv/icons/qsstv.png $out/share/pixmaps/qsstv.png + install -D icons/qsstv.png $out/share/pixmaps/qsstv.png + install -D qsstv.desktop $out/share/applications/qsstv.desktop ''; meta = with lib; { @@ -31,4 +32,3 @@ mkDerivation rec { maintainers = with lib.maintainers; [ hax404 ]; }; } - diff --git a/pkgs/applications/radio/sdrangel/default.nix b/pkgs/applications/radio/sdrangel/default.nix index 2ba379400382d..2f66de63428c9 100644 --- a/pkgs/applications/radio/sdrangel/default.nix +++ b/pkgs/applications/radio/sdrangel/default.nix @@ -33,13 +33,13 @@ mkDerivation rec { pname = "sdrangel"; - version = "6.17.2"; + version = "6.18.1"; src = fetchFromGitHub { owner = "f4exb"; repo = "sdrangel"; rev = "v${version}"; - sha256 = "sha256-sMD2JTJJlssMdXCUHdFYjEqGknhGGuG4szfnvFFN7t4="; + sha256 = "sha256-gf+RUOcki0pi3UH4NHFsmbTV04HUG16UC4jcUjyeip4="; fetchSubmodules = false; }; diff --git a/pkgs/applications/radio/soapyhackrf/default.nix b/pkgs/applications/radio/soapyhackrf/default.nix index 8fe3dc90008f4..1d2aaca9362bb 100644 --- a/pkgs/applications/radio/soapyhackrf/default.nix +++ b/pkgs/applications/radio/soapyhackrf/default.nix @@ -3,7 +3,7 @@ } : let - version = "0.3.3"; + version = "0.3.4"; in stdenv.mkDerivation { pname = "soapyhackrf"; @@ -13,7 +13,7 @@ in stdenv.mkDerivation { owner = "pothosware"; repo = "SoapyHackRF"; rev = "soapy-hackrf-${version}"; - sha256 = "1awn89z462500gb3fjb7x61b1znkjri9n1d39bqfip1qk4s11pxc"; + sha256 = "sha256-fzPYHJAPX8FkFxPXpLlUagTd/NoamRX0YnxHwkbV1nI="; }; nativeBuildInputs = [ cmake pkg-config ]; diff --git a/pkgs/applications/radio/soapysdr/default.nix b/pkgs/applications/radio/soapysdr/default.nix index efd438adf6375..79dcab19acb42 100644 --- a/pkgs/applications/radio/soapysdr/default.nix +++ b/pkgs/applications/radio/soapysdr/default.nix @@ -2,7 +2,8 @@ , fetchFromGitHub, cmake , libusb-compat-0_1, pkg-config , usePython ? false -, python, ncurses, swig2 +, python ? null +, ncurses, swig2 , extraPackages ? [] } : diff --git a/pkgs/applications/radio/tqsl/default.nix b/pkgs/applications/radio/tqsl/default.nix index fb55672c4576c..b5198f78b0aaf 100644 --- a/pkgs/applications/radio/tqsl/default.nix +++ b/pkgs/applications/radio/tqsl/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "tqsl"; - version = "2.5.7"; + version = "2.5.9"; src = fetchurl { url = "https://www.arrl.org/files/file/LoTW%20Instructions/${pname}-${version}.tar.gz"; - sha256 = "sha256-0QlTUNwKeuuR+n8eT04kiywAsY3hrPGPYH1A84MmxIs="; + sha256 = "sha256-flv7tI/SYAxxJsHFa3QUgnO0glAAQF87EgP4wyTWnNU="; }; nativeBuildInputs = [ cmake makeWrapper ]; diff --git a/pkgs/applications/radio/welle-io/default.nix b/pkgs/applications/radio/welle-io/default.nix index cfd339c2d1ea9..fbc7eae9109d5 100644 --- a/pkgs/applications/radio/welle-io/default.nix +++ b/pkgs/applications/radio/welle-io/default.nix @@ -5,13 +5,13 @@ mkDerivation rec { pname = "welle-io"; - version = "2.3"; + version = "2.4"; src = fetchFromGitHub { owner = "AlbrechtL"; repo = "welle.io"; rev = "v${version}"; - sha256 = "1xl1lanw0xgmgks67dbfb2h52jxnrd1i2zik56v0q8dwsr7f0daw"; + sha256 = "sha256-xXiCL/A2SwCSr5SA4AQQEdieRzBksXx9Z78bHtlFiW4="; }; nativeBuildInputs = [ cmake pkg-config ]; diff --git a/pkgs/applications/radio/wsjtx/default.nix b/pkgs/applications/radio/wsjtx/default.nix index 165ddfe8b372f..c3e591aec07bb 100644 --- a/pkgs/applications/radio/wsjtx/default.nix +++ b/pkgs/applications/radio/wsjtx/default.nix @@ -4,12 +4,12 @@ stdenv.mkDerivation rec { pname = "wsjtx"; - version = "2.5.3"; + version = "2.5.4"; # This is a "superbuild" tarball containing both wsjtx and a hamlib fork src = fetchurl { url = "http://physics.princeton.edu/pulsar/k1jt/wsjtx-${version}.tgz"; - sha256 = "sha256-Dd99JBPn1TgPF8Yvqk+AZX8ZUuQjYS0Tx3y5A3VZsHw="; + sha256 = "sha256-Gz84Rq0sCl9BAXi2YSdl1Z7mPbJJ62z8MyrOF/CjCJg="; }; # Hamlib builds with autotools, wsjtx builds with cmake |