aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/applications/radio/gnuradio/wrapper.nix
blob: ffed3da03187e812ad1d5cc8f75eab125f5d873a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{ stdenv, gnuradio, makeWrapper, python, extraPackages ? [] }:

with { inherit (stdenv.lib) appendToName makeSearchPath; };

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 $(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
    done
  '';

  inherit (gnuradio) meta;
}