summary refs log tree commit diff
path: root/pkgs/development/tools
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools')
-rw-r--r--pkgs/development/tools/build-managers/scons/builder.sh8
-rw-r--r--pkgs/development/tools/misc/binutils/builder.sh12
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix18
-rw-r--r--pkgs/development/tools/misc/binutils/new-dtags.patch10
-rw-r--r--pkgs/development/tools/misc/patchelf/default.nix9
-rw-r--r--pkgs/development/tools/misc/pkgconfig/default.nix10
-rw-r--r--pkgs/development/tools/misc/pkgconfig/setup-hook.sh1
7 files changed, 45 insertions, 23 deletions
diff --git a/pkgs/development/tools/build-managers/scons/builder.sh b/pkgs/development/tools/build-managers/scons/builder.sh
index a33aa00c137..c5c1a97e459 100644
--- a/pkgs/development/tools/build-managers/scons/builder.sh
+++ b/pkgs/development/tools/build-managers/scons/builder.sh
@@ -1,13 +1,11 @@
 source $stdenv/setup
 
-buildPhase=myBuildPhase
-myBuildPhase() {
+buildPhase() {
     true
 }
 
-installPhase=myInstallPhase
-myInstallPhase() {
-    python setup.py install --prefix=$out || fail
+installPhase() {
+    python setup.py install --prefix=$out
 }
 
 genericBuild
diff --git a/pkgs/development/tools/misc/binutils/builder.sh b/pkgs/development/tools/misc/binutils/builder.sh
deleted file mode 100644
index 788effe9b24..00000000000
--- a/pkgs/development/tools/misc/binutils/builder.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-source $stdenv/setup
-
-patchConfigure() {
-    # Clear the default library search path.
-    if test "$noSysDirs" = "1"; then
-        echo 'NATIVE_LIB_DIRS=' >> ld/configure.tgt
-    fi
-}
-
-preConfigure=patchConfigure
-
-genericBuild
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index 52112c17b6c..29cf5074e1c 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -2,12 +2,28 @@
 
 stdenv.mkDerivation {
   name = "binutils-2.18";
-  builder = ./builder.sh;
+  
   src = fetchurl {
     url = mirror://gnu/binutils/binutils-2.18.tar.bz2;
     sha256 = "16zfc7llbjdn69bbdy7kqgg2xa67ypgj7z5qicgwzvghaaj36yj8";
   };
+
+  patches = [
+    # Turn on --enable-new-dtags by default to make the linker set
+    # RUNPATH instead of RPATH on binaries.  This is important because
+    # RUNPATH can be overriden using LD_LIBRARY_PATH at runtime.
+    ./new-dtags.patch
+  ];
+  
   inherit noSysDirs;
+
+  preConfigure = ''
+    # Clear the default library search path.
+    if test "$noSysDirs" = "1"; then
+        echo 'NATIVE_LIB_DIRS=' >> ld/configure.tgt
+    fi
+  '';
+  
   configureFlags = "--disable-werror"; # needed for dietlibc build
 
   meta = {
diff --git a/pkgs/development/tools/misc/binutils/new-dtags.patch b/pkgs/development/tools/misc/binutils/new-dtags.patch
new file mode 100644
index 00000000000..eea6f8c39d5
--- /dev/null
+++ b/pkgs/development/tools/misc/binutils/new-dtags.patch
@@ -0,0 +1,10 @@
+--- binutils/ld/ldmain.c
++++ binutils/ld/ldmain.c
+@@ -296,6 +296,7 @@ main (int argc, char **argv)
+
+   link_info.allow_undefined_version = TRUE;
+   link_info.keep_memory = TRUE;
++  link_info.new_dtags = TRUE;
+   link_info.combreloc = TRUE;
+   link_info.strip_discarded = TRUE;
+   link_info.callbacks = &link_callbacks;
diff --git a/pkgs/development/tools/misc/patchelf/default.nix b/pkgs/development/tools/misc/patchelf/default.nix
index 27b1b73b67c..91832cd45a7 100644
--- a/pkgs/development/tools/misc/patchelf/default.nix
+++ b/pkgs/development/tools/misc/patchelf/default.nix
@@ -1,14 +1,15 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "patchelf-0.3";
+  name = "patchelf-0.4";
+  
   src = fetchurl {
-    url = http://nix.cs.uu.nl/dist/nix/patchelf-0.3/patchelf-0.3.tar.bz2;
-    md5 = "20d77052ae559c60e6c5efb6ea95af9b";
+    url = http://nixos.org/releases/patchelf/patchelf-0.4/patchelf-0.4.tar.bz2;
+    sha256 = "65c455b62fc52292e2488f05f46e7e38c46fdcf69c002750f5887145284c4f85";
   };
 
   meta = {
-    homepage = "http://nix.cs.uu.nl/patchelf.html";
+    homepage = http://nixos.org/patchelf.html;
     license = "GPL";
     description = "A small utility to modify the dynamic linker and RPATH of ELF executables";
   };
diff --git a/pkgs/development/tools/misc/pkgconfig/default.nix b/pkgs/development/tools/misc/pkgconfig/default.nix
index 41a61f600e0..df35368d0cd 100644
--- a/pkgs/development/tools/misc/pkgconfig/default.nix
+++ b/pkgs/development/tools/misc/pkgconfig/default.nix
@@ -1,8 +1,10 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "pkgconfig-0.22";
+  name = "pkg-config-0.22";
+  
   setupHook = ./setup-hook.sh;
+  
   src = fetchurl {
     url = http://pkgconfig.freedesktop.org/releases/pkg-config-0.22.tar.gz;
     sha256 = "1rpb5wygmp0f8nal7y3ga4556i7hkjdslv3wdq04fj30gns621vy";
@@ -17,5 +19,11 @@ stdenv.mkDerivation {
       sha256 = "1pcrdbb7dypg2biy0yqc7bdxak5zii8agqljdvk7j4wbyghpqzws";
     })
   ];
+
+  meta = {
+    description = "A tool that allows packages to find out information about other packages";
+    homepage = http://pkg-config.freedesktop.org/wiki/;
+  };
+
 }
 
diff --git a/pkgs/development/tools/misc/pkgconfig/setup-hook.sh b/pkgs/development/tools/misc/pkgconfig/setup-hook.sh
index c137fb0e96c..ccb48c129e7 100644
--- a/pkgs/development/tools/misc/pkgconfig/setup-hook.sh
+++ b/pkgs/development/tools/misc/pkgconfig/setup-hook.sh
@@ -1,5 +1,6 @@
 addPkgConfigPath () {
     addToSearchPath PKG_CONFIG_PATH /lib/pkgconfig "" $1
+    addToSearchPath PKG_CONFIG_PATH /share/pkgconfig "" $1
 }
 
 envHooks=(${envHooks[@]} addPkgConfigPath)