diff --git a/pkgs/TODO b/pkgs/TODO index 1bdce4e3025..3fac0a249d7 100644 --- a/pkgs/TODO +++ b/pkgs/TODO @@ -1 +1,7 @@ * Bump freetype to 2.1.7 (but it breaks Pango 1.2.5). + +* In setup.sh, remove " -a -f ./ltmain.sh" (and then remove ltmain stuff from Subversion) + +* Patch development/tools/misc/libtool not to search standard + directories for libraries (like setup.sh does now). [do we want + this?] diff --git a/pkgs/applications/version-management/subversion/builder.sh b/pkgs/applications/version-management/subversion/builder.sh index 8dd5e6fb2e4..8888241429b 100644 --- a/pkgs/applications/version-management/subversion/builder.sh +++ b/pkgs/applications/version-management/subversion/builder.sh @@ -23,6 +23,15 @@ fi installFlags="$makeFlags" +preConfigure() { + for i in $(find . -name "ltmain.sh"); do + echo "fixing libtool script $i" + fixLibtool $i + done +} +preConfigure=preConfigure + + postInstall() { if test "$swigBindings"; then make swig-py diff --git a/pkgs/development/compilers/strategoxt/svnbuilder.sh b/pkgs/development/compilers/strategoxt/svnbuilder.sh index bed37b987f2..95d9e59af3f 100755 --- a/pkgs/development/compilers/strategoxt/svnbuilder.sh +++ b/pkgs/development/compilers/strategoxt/svnbuilder.sh @@ -1,14 +1,13 @@ -#! /bin/sh - -buildinputs="$aterm $sdf $make $automake $autoconf $libtool $which" -. $stdenv/setup || exit 1 +. $stdenv/setup echo "pwd = `pwd`" echo "PATH = $PATH" -cp -r $src strategoxt || exit 1 +echo "ACLOCAL_PATH = $ACLOCAL_PATH" + +cp -r $src strategoxt chmod -R +w strategoxt -cd strategoxt || exit 1 -./bootstrap || exit 1 -./configure --prefix=$out --with-aterm=$aterm --with-sdf=$sdf || exit 1 -make install || exit 1 +cd strategoxt +./bootstrap +./configure --prefix=$out --with-aterm=$aterm --with-sdf=$sdf +make install diff --git a/pkgs/development/compilers/strategoxt/trunk.nix b/pkgs/development/compilers/strategoxt/trunk.nix index 0e78d79f57d..1462a364b18 100644 --- a/pkgs/development/compilers/strategoxt/trunk.nix +++ b/pkgs/development/compilers/strategoxt/trunk.nix @@ -1,19 +1,14 @@ -{stdenv, fetchsvn, autotools, which, aterm, sdf}: derivation { +{stdenv, fetchsvn, autoconf, automake, libtool, which, aterm, sdf}: + +stdenv.mkDerivation { name = "strategoxt-0.9.4-4792"; - system = stdenv.system; + builder = ./svnbuilder.sh; src = fetchsvn { url = https://svn.cs.uu.nl:12443/repos/StrategoXT/trunk/StrategoXT; rev = "4792"; }; - stdenv = stdenv; - make = autotools.make; - automake = autotools.automake; - autoconf = autotools.autoconf; - libtool = autotools.libtool; - which = which; - - aterm = aterm; - sdf = sdf; + buildInputs = [autoconf automake libtool which aterm sdf]; + inherit aterm sdf libtool; } diff --git a/pkgs/development/tools/misc/autoconf/autoconf-libtool.nix b/pkgs/development/tools/misc/autoconf/autoconf-libtool.nix deleted file mode 100644 index b77fe727eec..00000000000 --- a/pkgs/development/tools/misc/autoconf/autoconf-libtool.nix +++ /dev/null @@ -1,22 +0,0 @@ -{stdenv, fetchurl, m4, perl}: -derivation { - name = "autoconf-2.58-automake-1.7.9-libtool-1.5"; - system = stdenv.system; - builder = ./libtoolbuilder.sh; - autoconfsrc = fetchurl { - url = ftp://ftp.nluug.nl/pub/gnu/autoconf/autoconf-2.58.tar.bz2; - md5 = "db3fa3069c6554b3505799c7e1022e2b"; - }; - automakesrc = fetchurl { - url = ftp://ftp.nluug.nl/pub/gnu/automake/automake-1.7.9.tar.bz2; - md5 = "571fd0b0598eb2a27dcf68adcfddfacb"; - }; - libtoolsrc = fetchurl { - url = http://ftp.gnu.org/gnu/libtool/libtool-1.5.tar.gz; - md5 = "0e1844f25e2ad74c3715b5776d017545"; - }; - stdenv = stdenv; - m4 = m4; - perl = perl; -} - diff --git a/pkgs/development/tools/misc/autoconf/builder.sh b/pkgs/development/tools/misc/autoconf/builder.sh deleted file mode 100644 index de4db475aaa..00000000000 --- a/pkgs/development/tools/misc/autoconf/builder.sh +++ /dev/null @@ -1,8 +0,0 @@ -buildinputs="$m4 $perl" -. $stdenv/setup || exit 1 - -tar xvfj $src || exit 1 -cd autoconf-* || exit 1 -./configure --prefix=$out || exit 1 -make || exit 1 -make install || exit 1 diff --git a/pkgs/development/tools/misc/autoconf/default.nix b/pkgs/development/tools/misc/autoconf/default.nix index c850d1fb8fe..7af57fb703a 100644 --- a/pkgs/development/tools/misc/autoconf/default.nix +++ b/pkgs/development/tools/misc/autoconf/default.nix @@ -1,11 +1,10 @@ {stdenv, fetchurl, m4, perl}: + stdenv.mkDerivation { name = "autoconf-2.58"; - builder = ./builder.sh; src = fetchurl { url = ftp://ftp.nluug.nl/pub/gnu/autoconf/autoconf-2.58.tar.bz2; md5 = "db3fa3069c6554b3505799c7e1022e2b"; }; - m4 = m4; - perl = perl; + buildInputs = [m4 perl]; } diff --git a/pkgs/development/tools/misc/autoconf/libtoolbuilder.sh b/pkgs/development/tools/misc/autoconf/libtoolbuilder.sh deleted file mode 100644 index 34bdbcb35b7..00000000000 --- a/pkgs/development/tools/misc/autoconf/libtoolbuilder.sh +++ /dev/null @@ -1,28 +0,0 @@ -#! /bin/sh - -buildinputs="$m4 $perl $out" -. $stdenv/setup || exit 1 - -tar xvfj $autoconfsrc || exit 1 -cd autoconf-* || exit 1 -./configure --prefix=$out || exit 1 -make || exit 1 -make install || exit 1 - -buildinputs="$m4 $perl $out" -. $stdenv/setup || exit 1 - -tar xvfj $automakesrc || exit 1 -cd automake-* || exit 1 -./configure --prefix=$out || exit 1 -make || exit 1 -make install || exit 1 - -buildinputs="$m4 $perl $out" -. $stdenv/setup || exit 1 - -tar xvfz $libtoolsrc || exit 1 -cd libtool-* || exit 1 -./configure --prefix=$out || exit 1 -make || exit 1 -make install || exit 1 \ No newline at end of file diff --git a/pkgs/development/tools/misc/automake/builder.sh b/pkgs/development/tools/misc/automake/builder.sh index 6610efa7205..5b319dd3158 100644 --- a/pkgs/development/tools/misc/automake/builder.sh +++ b/pkgs/development/tools/misc/automake/builder.sh @@ -1,8 +1,47 @@ -buildinputs="$perl $autoconf" -. $stdenv/setup || exit 1 +. $stdenv/setup -tar xvfj $src || exit 1 -cd automake-* || exit 1 -./configure --prefix=$out || exit 1 -make || exit 1 -make install || exit 1 + +postInstall() { + + # Create a wrapper around `aclocal' that converts every element in + # `ACLOCAL_PATH' into a `-I dir' option. This way `aclocal' + # becomes modular; M4 macros do not need to be stored in a single + # global directory, while callers of `aclocal' do not need to pass + # `-I' options explicitly. + + mv $out/bin/aclocal $out/bin/_tmp + + for i in $out/bin/aclocal*; do + rm $i + ln -s aclocal $i + done + + cat > $out/bin/aclocal < $out/bin/$i <