From 022527a5e1b2b63e94cacb8a73397d3d9066010b Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Wed, 15 Jul 2015 12:24:03 +0200 Subject: [PATCH] Gnuradio: Add gnuradio-wrapper and gnuradio-full. gnuradio-wrapper is a simple derivation wrapping $(gnuradio)/bin/* to make other blocks (from `extraPackages') available. gnuradio-full uses gnuradio-wrapper to build gnuradio with blocks from gnuradio-osmosdr (therefore allowing the use of rtl-sdr, hackrf, the ccc-camp2015 badge, and similar). --- pkgs/applications/misc/gnuradio/wrapper.nix | 23 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 6 ++++++ 2 files changed, 29 insertions(+) create mode 100644 pkgs/applications/misc/gnuradio/wrapper.nix diff --git a/pkgs/applications/misc/gnuradio/wrapper.nix b/pkgs/applications/misc/gnuradio/wrapper.nix new file mode 100644 index 00000000000..cc8dbde273b --- /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 acfc7525f5e..4a0d25cd157 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 { };