diff options
Diffstat (limited to 'pkgs/development/tools')
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) |