gnuradio: fix wrapper

gnuradio-with-packages was not running makeWrapper on any of the
symlinked executables because `find $out/bin -type f -executable`
does not resolve symlinks. I don't understand how the old code
ever worked on any system.
This commit is contained in:
Remy Goldschmidt 2018-02-04 10:44:04 -06:00
parent 4db7c04160
commit dc5bdf22d9
No known key found for this signature in database
GPG Key ID: 89AA00C2ADDDC8DF

View File

@ -1,7 +1,6 @@
{ stdenv, gnuradio, makeWrapper, python { stdenv, gnuradio, makeWrapper, python, extraPackages ? [] }:
, extraPackages ? [] }:
with stdenv.lib; with { inherit (stdenv.lib) appendToName makeSearchPath; };
stdenv.mkDerivation { stdenv.mkDerivation {
name = (appendToName "with-packages" gnuradio).name; name = (appendToName "with-packages" gnuradio).name;
@ -11,13 +10,15 @@ stdenv.mkDerivation {
mkdir -p $out/bin mkdir -p $out/bin
ln -s "${gnuradio}"/bin/* $out/bin/ ln -s "${gnuradio}"/bin/* $out/bin/
for file in $(find $out/bin -type f -executable); do for file in $(find -L $out/bin -type f); do
wrapProgram "$file" \ if test -x "$(readlink -f "$file")"; then
--prefix PYTHONPATH : ${stdenv.lib.concatStringsSep ":" wrapProgram "$file" \
(map (path: "$(toPythonPath ${path})") extraPackages)} \ --prefix PYTHONPATH : ${stdenv.lib.concatStringsSep ":"
--prefix GRC_BLOCKS_PATH : ${makeSearchPath "share/gnuradio/grc/blocks" extraPackages} (map (path: "$(toPythonPath ${path})") extraPackages)} \
--prefix GRC_BLOCKS_PATH : ${makeSearchPath "share/gnuradio/grc/blocks" extraPackages}
fi
done done
''; '';
inherit (gnuradio) meta; inherit (gnuradio) meta;
} }