diff --git a/pkgs/applications/misc/gnuradio/wrapper.nix b/pkgs/applications/misc/gnuradio/wrapper.nix new file mode 100644 index 000000000000..cc8dbde273b6 --- /dev/null +++ b/pkgs/applications/misc/gnuradio/wrapper.nix @@ -0,0 +1,23 @@ +{ stdenv, gnuradio, makeWrapper, python +, extraPackages ? [] }: + +with stdenv.lib; + +stdenv.mkDerivation { + name = (appendToName "with-packages" gnuradio).name; + buildInputs = [ makeWrapper python ]; + + buildCommand = '' + mkdir -p $out/bin + ln -s "${gnuradio}"/bin/* $out/bin/ + + for file in "$out"/bin/*; do + wrapProgram "$file" \ + --prefix PYTHONPATH : ${stdenv.lib.concatStringsSep ":" + (map (path: "$(toPythonPath ${path})") extraPackages)} \ + --prefix GRC_BLOCKS_PATH : ${makeSearchPath "share/gnuradio/grc/blocks" extraPackages} + done + + ''; + inherit (gnuradio) meta; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index acfc7525f5e8..4a0d25cd1578 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11309,6 +11309,12 @@ let fftw = fftwFloat; }; + gnuradio-wrapper = callPackage ../applications/misc/gnuradio/wrapper.nix { }; + + gnuradio-full = gnuradio-wrapper.override { + extraPackages = [ gnuradio-osmosdr ]; + }; + gnuradio-osmosdr = callPackage ../applications/misc/gnuradio-osmosdr { }; goldendict = callPackage ../applications/misc/goldendict { };