Skip to content

Commit

Permalink
binutils: minimize rebuilds after parent revert
Browse files Browse the repository at this point in the history
Only revert the addition of the output and only on Darwin.
  • Loading branch information
vcunat committed Jan 30, 2017
1 parent eaa9e01 commit db89615
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 1 deletion.
11 changes: 10 additions & 1 deletion pkgs/development/tools/misc/binutils/default.nix
Expand Up @@ -32,9 +32,18 @@ stdenv.mkDerivation rec {
# This is needed, for instance, so that running "ldd" on a binary that is
# PaX-marked to disable mprotect doesn't fail with permission denied.
./pt-pax-flags.patch

# Bfd looks in BINDIR/../lib for some plugins that don't
# exist. This is pointless (since users can't install plugins
# there) and causes a cycle between the lib and bin outputs, so
# get rid of it.
./no-plugins.patch
];

outputs = [ "out" "info" ] ++ (optional (cross == null) "dev");
outputs = [ "out" ]
++ optional (!stdenv.isDarwin) "lib" # problems in Darwin stdenv
++ [ "info" ]
++ optional (cross == null) "dev";

nativeBuildInputs = [ bison ];
buildInputs = [ zlib ];
Expand Down
19 changes: 19 additions & 0 deletions pkgs/development/tools/misc/binutils/no-plugins.patch
@@ -0,0 +1,19 @@
diff -ru binutils-2.27-orig/bfd/plugin.c binutils-2.27/bfd/plugin.c
--- binutils-2.27-orig/bfd/plugin.c 2016-10-14 17:46:30.791315555 +0200
+++ binutils-2.27/bfd/plugin.c 2016-10-14 17:46:38.583298765 +0200
@@ -333,6 +333,7 @@
if (plugin_program_name == NULL)
return found;

+#if 0
plugin_dir = concat (BINDIR, "/../lib/bfd-plugins", NULL);
p = make_relative_prefix (plugin_program_name,
BINDIR,
@@ -364,6 +365,7 @@
free (p);
if (d)
closedir (d);
+#endif

return found;
}

0 comments on commit db89615

Please sign in to comment.