From 47fa6173fcd246d4dc2687943d88593b717d36dc Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Sun, 28 Jul 2024 10:31:02 +0300 Subject: [PATCH] gnuradio3_9{,Minimal}: remove --- pkgs/applications/radio/gnuradio/3.9.nix | 306 ------------------ .../modtool-newmod-permissions.3_9.patch | 15 - pkgs/top-level/aliases.nix | 3 + pkgs/top-level/all-packages.nix | 33 -- 4 files changed, 3 insertions(+), 354 deletions(-) delete mode 100644 pkgs/applications/radio/gnuradio/3.9.nix delete mode 100644 pkgs/applications/radio/gnuradio/modtool-newmod-permissions.3_9.patch diff --git a/pkgs/applications/radio/gnuradio/3.9.nix b/pkgs/applications/radio/gnuradio/3.9.nix deleted file mode 100644 index faa4d2e25f6b..000000000000 --- a/pkgs/applications/radio/gnuradio/3.9.nix +++ /dev/null @@ -1,306 +0,0 @@ -{ lib, stdenv -, fetchpatch -, fetchFromGitHub -, cmake -# Remove gcc and python references -, removeReferencesTo -, pkg-config -, volk -, cppunit -, orc -, boost -, log4cpp -, mpir -, python -, codec2 -, gsm -, fftwFloat -, alsa-lib -, libjack2 -, CoreAudio -, uhd -, SDL -, gsl -, soapysdr -, libsodium -, libsndfile -, libunwind -, thrift -, cppzmq -# Needed only if qt-gui is disabled, from some reason -, icu -# 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" -, version ? "3.9.8.0" -}: - -let - sourceSha256 = "sha256-0umGUOjD5l84CBBeDy1uFgUyEDpI9o9/SEQ8BZm22j4="; - featuresInfo = { - # Needed always - basic = { - native = [ - cmake - pkg-config - orc - ]; - 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 - ]; - }; - man-pages = { - cmakeEnableFlag = "MANPAGES"; - }; - python-support = { - pythonRuntime = [ python.pkgs.six ]; - native = [ - python - ]; - cmakeEnableFlag = "PYTHON"; - }; - testing-support = { - native = [ cppunit ]; - cmakeEnableFlag = "TESTING"; - }; - post-install = { - cmakeEnableFlag = "POSTINSTALL"; - }; - gnuradio-runtime = { - cmakeEnableFlag = "GNURADIO_RUNTIME"; - pythonRuntime = [ - python.pkgs.pybind11 - ]; - }; - gr-ctrlport = { - runtime = [ - libunwind - thrift - ]; - pythonRuntime = [ - python.pkgs.thrift - # For gr-perf-monitorx - python.pkgs.matplotlib - python.pkgs.networkx - ]; - cmakeEnableFlag = "GR_CTRLPORT"; - }; - gnuradio-companion = { - pythonRuntime = with python.pkgs; [ - pyyaml - mako - numpy - pygobject3 - ]; - native = [ - python.pkgs.pytest - ]; - runtime = [ - gtk3 - pango - gobject-introspection - cairo - libsndfile - ]; - cmakeEnableFlag = "GRC"; - }; - jsonyaml_blocks = { - pythonRuntime = [ - python.pkgs.jsonschema - ]; - cmakeEnableFlag = "JSONYAML_BLOCKS"; - }; - gr-blocks = { - cmakeEnableFlag = "GR_BLOCKS"; - runtime = [ - libsndfile - ]; - }; - gr-fec = { - cmakeEnableFlag = "GR_FEC"; - }; - gr-fft = { - runtime = [ fftwFloat ]; - cmakeEnableFlag = "GR_FFT"; - }; - gr-filter = { - runtime = [ fftwFloat ]; - cmakeEnableFlag = "GR_FILTER"; - pythonRuntime = with python.pkgs; [ - scipy - pyqtgraph - pyqt5 - ]; - }; - gr-analog = { - cmakeEnableFlag = "GR_ANALOG"; - }; - gr-digital = { - cmakeEnableFlag = "GR_DIGITAL"; - }; - gr-dtv = { - cmakeEnableFlag = "GR_DTV"; - }; - gr-audio = { - runtime = [] - ++ lib.optionals stdenv.isLinux [ alsa-lib libjack2 ] - ++ 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-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 ]; - cmakeEnableFlag = "GR_VIDEO_SDL"; - }; - gr-vocoder = { - runtime = [ codec2 gsm ]; - cmakeEnableFlag = "GR_VOCODER"; - }; - gr-wavelet = { - cmakeEnableFlag = "GR_WAVELET"; - runtime = [ gsl libsodium ]; - }; - gr-zeromq = { - runtime = [ cppzmq ]; - cmakeEnableFlag = "GR_ZEROMQ"; - pythonRuntime = [ - # Will compile without this, but it is required by tests, and by some - # gr blocks. - python.pkgs.pyzmq - ]; - }; - gr-network = { - cmakeEnableFlag = "GR_NETWORK"; - }; - gr-soapy = { - cmakeEnableFlag = "GR_SOAPY"; - runtime = [ - soapysdr - ]; - }; - }; - shared = (import ./shared.nix { - inherit - stdenv - lib - python - removeReferencesTo - featuresInfo - features - version - sourceSha256 - overrideSrc - fetchFromGitHub - ; - qt = qt5; - gtk = gtk3; - }); - inherit (shared.passthru) hasFeature; # function -in - -stdenv.mkDerivation (finalAttrs: (shared // { - inherit pname version; - # Will still evaluate correctly if not used here. It only helps nix-update - # find the right file in which version is defined. - inherit (shared) src; - # Remove failing tests - preConfigure = (shared.preConfigure or "") + '' - # https://github.com/gnuradio/gnuradio/issues/3801 - rm gr-blocks/python/blocks/qa_cpp_py_binding.py - rm gr-blocks/python/blocks/qa_cpp_py_binding_set.py - rm gr-blocks/python/blocks/qa_ctrlport_probes.py - ''; - 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 - inherit - boost - volk - ; - # Used by many gnuradio modules, the same attribute is present in - # gnuradio3.10 where there it's spdlog. - logLib = log4cpp; - } // lib.optionalAttrs (hasFeature "gr-uhd") { - inherit uhd; - } // lib.optionalAttrs (hasFeature "gr-qtgui") { - inherit (libsForQt5) qwt; - }; - - 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${stdenv.hostPlatform.extensions.sharedLibrary}) - ${removeReferencesTo}/bin/remove-references-to -t ${python.pkgs.pybind11} $out/lib/cmake/gnuradio/gnuradio-runtimeTargets.cmake - '' - ; -})) diff --git a/pkgs/applications/radio/gnuradio/modtool-newmod-permissions.3_9.patch b/pkgs/applications/radio/gnuradio/modtool-newmod-permissions.3_9.patch deleted file mode 100644 index 7cab73fede0c..000000000000 --- a/pkgs/applications/radio/gnuradio/modtool-newmod-permissions.3_9.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git c/gr-utils/modtool/core/newmod.py w/gr-utils/modtool/core/newmod.py -index babebfcde..9a02f663e 100644 ---- c/gr-utils/modtool/core/newmod.py -+++ w/gr-utils/modtool/core/newmod.py -@@ -62,7 +62,9 @@ class ModToolNewModule(ModTool): - self._setup_scm(mode='new') - logger.info(f"Creating out-of-tree module in {self.dir}...") - try: -- shutil.copytree(self.srcdir, self.dir) -+ # https://stackoverflow.com/a/17022146/4935114 -+ shutil.copystat = lambda x, y: x -+ shutil.copytree(self.srcdir, self.dir, copy_function=shutil.copyfile) - try: - shutil.copyfile(os.path.join(gr.prefix(), 'share', 'gnuradio', 'clang-format.conf'), - os.path.join(self.dir, '.clang-format')) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 4aeafb857599..3272e206a0c0 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -560,6 +560,9 @@ mapAliases ({ gnome3 = gnome; # Added 2021-05-07 gnuradio3_7 = throw "gnuradio3_7 has been removed because it required Python 2"; # Added 2022-01-16 + gnuradio3_9 = throw "gnuradio3_9 has been removed because it is not compatible with the latest volk and it had no dependent packages which justified it's distribution"; # Added 2024-07-28 + gnuradio3_9Minimal = throw "gnuradio3_9Minimal has been removed because it is not compatible with the latest volk and it had no dependent packages which justified it's distribution"; # Added 2024-07-28 + gnuradio3_9Packages = throw "gnuradio3_9Minimal has been removed because it is not compatible with the latest volk and it had no dependent packages which justified it's distribution"; # Added 2024-07-28 gnuradio-ais = throw "'gnuradio-ais' has been renamed to/replaced by 'gnuradio3_7.pkgs.ais'"; # Converted to throw 2023-09-10 gnuradio-gsm = throw "'gnuradio-gsm' has been renamed to/replaced by 'gnuradio3_7.pkgs.gsm'"; # Converted to throw 2023-09-10 gnuradio-limesdr = throw "'gnuradio-limesdr' has been renamed to/replaced by 'gnuradio3_7.pkgs.limesdr'"; # Converted to throw 2023-09-10 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1f6bc181d316..9361970b27d7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -30301,39 +30301,6 @@ with pkgs; }; }; }; - gnuradio3_9 = callPackage ../applications/radio/gnuradio/wrapper.nix { - unwrapped = callPackage ../applications/radio/gnuradio/3.9.nix { - inherit (darwin.apple_sdk.frameworks) CoreAudio; - python = python311; - }; - }; - gnuradio3_9Packages = lib.recurseIntoAttrs gnuradio3_9.pkgs; - # A build without gui components and other utilites not needed for end user - # libraries - gnuradio3_9Minimal = gnuradio.override { - doWrap = false; - unwrapped = gnuradio.unwrapped.override { - volk = volk.override { - # So it will not reference python - enableModTool = false; - }; - uhd = uhdMinimal; - features = { - gnuradio-companion = false; - python-support = false; - examples = false; - gr-qtgui = false; - gr-utils = false; - gr-modtool = false; - gr-blocktool = false; - sphinx = false; - doxygen = false; - # Doesn't make it reference python eventually, but makes reverse - # depdendencies require python to use cmake files of GR. - gr-ctrlport = false; - }; - }; - }; gnuradio3_8 = callPackage ../applications/radio/gnuradio/wrapper.nix { unwrapped = callPackage ../applications/radio/gnuradio/3.8.nix ({ inherit (darwin.apple_sdk.frameworks) CoreAudio;