gdb: configure a safe path instead of wrapping

This commit is contained in:
Tmplt 2019-11-19 21:40:16 +01:00
parent 6cff4ce58b
commit a3e008420e
3 changed files with 2 additions and 34 deletions

View file

@ -70,6 +70,7 @@ stdenv.mkDerivation rec {
"--with-gmp=${gmp.dev}"
"--with-mpfr=${mpfr.dev}"
"--with-expat" "--with-libexpat-prefix=${expat.dev}"
"--with-auto-load-safe-path=${stdenv.cc.cc.lib}"
] ++ stdenv.lib.optional (!pythonSupport) "--without-python";
postInstall =

View file

@ -1,31 +0,0 @@
{ stdenv, lib, makeWrapper, gdb-unwrapped, safePaths }:
let
gdb = gdb-unwrapped;
in
stdenv.mkDerivation {
name = gdb.name;
nativeBuildInputs = [ makeWrapper ];
propagatedUserEnvPkgs = [ gdb ];
phases = "installPhase fixupPhase";
# Find all gdb plugins in `safePaths` and
# mark these files as safe to load.
installPhase = ''
mkdir -p $out/share/gdb
initScript=$out/share/gdb/gdbinit
touch $initScript
for safePath in ${lib.concatStringsSep " " safePaths}; do
for plugin in $(find $safePath | grep -- '.*-gdb.*'); do
echo add-auto-load-safe-path $plugin >> $initScript
done
done
makeWrapper "${gdb}/bin/gdb" \
"$out/bin/gdb" \
--add-flags "-x $initScript"
'';
meta = gdb.meta;
}

View file

@ -10471,9 +10471,7 @@ in
bashdb = callPackage ../development/tools/misc/bashdb { };
gdb = callPackage ../development/tools/misc/gdb/wrapper.nix { safePaths = [ stdenv.cc.cc.lib ]; };
gdb-unwrapped = callPackage ../development/tools/misc/gdb {
gdb = callPackage ../development/tools/misc/gdb {
guile = null;
};