summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/TODO6
-rw-r--r--pkgs/applications/version-management/subversion/builder.sh9
-rwxr-xr-xpkgs/development/compilers/strategoxt/svnbuilder.sh17
-rw-r--r--pkgs/development/compilers/strategoxt/trunk.nix17
-rw-r--r--pkgs/development/tools/misc/autoconf/autoconf-libtool.nix22
-rw-r--r--pkgs/development/tools/misc/autoconf/builder.sh8
-rw-r--r--pkgs/development/tools/misc/autoconf/default.nix5
-rw-r--r--pkgs/development/tools/misc/autoconf/libtoolbuilder.sh28
-rw-r--r--pkgs/development/tools/misc/automake/builder.sh55
-rw-r--r--pkgs/development/tools/misc/automake/default.nix5
-rw-r--r--pkgs/development/tools/misc/automake/setup-hook.sh7
-rw-r--r--pkgs/development/tools/misc/libtool/builder.sh8
-rw-r--r--pkgs/development/tools/misc/libtool/default.nix11
-rw-r--r--pkgs/system/all-packages-generic.nix22
-rw-r--r--pkgs/tools/networking/bittorrent/builder.sh3
15 files changed, 103 insertions, 120 deletions
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
-
-tar xvfj $src || exit 1
-cd automake-* || exit 1
-./configure --prefix=$out || exit 1
-make || exit 1
-make install || exit 1
+. $stdenv/setup
+
+
+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 <<EOF
+#! $SHELL -e
+
+oldIFS=\$IFS
+IFS=:
+extra=
+for i in \$ACLOCAL_PATH; do
+    if test -n "\$i"; then
+        extra="\$extra -I \$i"
+    fi
+done
+IFS=\$oldIFS
+
+exec $out/bin/aclocal-orig \${extra[@]} "\$@"
+EOF
+    chmod +x $out/bin/aclocal
+    mv $out/bin/_tmp $out/bin/aclocal-orig
+
+
+    # Automatically let `ACLOCAL_PATH' include all build inputs that
+    # have a `.../share/aclocal' directory.
+    test -x $out/nix-support || mkdir $out/nix-support
+    cp -p $setupHook $out/nix-support/setup-hook
+
+}
+postInstall=postInstall
+
+
+genericBuild
diff --git a/pkgs/development/tools/misc/automake/default.nix b/pkgs/development/tools/misc/automake/default.nix
index 3daa1708d4f..e8c23bfa80e 100644
--- a/pkgs/development/tools/misc/automake/default.nix
+++ b/pkgs/development/tools/misc/automake/default.nix
@@ -1,11 +1,12 @@
 {stdenv, fetchurl, perl, autoconf}:
+
 stdenv.mkDerivation {
   name = "automake-1.7.9";
   builder = ./builder.sh;
+  setupHook = ./setup-hook.sh;
   src = fetchurl {
     url = ftp://ftp.nluug.nl/pub/gnu/automake/automake-1.7.9.tar.bz2;
     md5 = "571fd0b0598eb2a27dcf68adcfddfacb";
   };
-  perl = perl;
-  autoconf = autoconf;
+  buildInputs = [perl autoconf];
 }
diff --git a/pkgs/development/tools/misc/automake/setup-hook.sh b/pkgs/development/tools/misc/automake/setup-hook.sh
new file mode 100644
index 00000000000..097b7b6cbe5
--- /dev/null
+++ b/pkgs/development/tools/misc/automake/setup-hook.sh
@@ -0,0 +1,7 @@
+addAclocals () {
+    if test -d $1/share/aclocal; then
+        export ACLOCAL_PATH="$ACLOCAL_PATH${ACLOCAL_PATH:+:}$1/share/aclocal"
+    fi
+}
+
+envHooks=(${envHooks[@]} addAclocals)
diff --git a/pkgs/development/tools/misc/libtool/builder.sh b/pkgs/development/tools/misc/libtool/builder.sh
deleted file mode 100644
index 4b8407fb533..00000000000
--- a/pkgs/development/tools/misc/libtool/builder.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-buildinputs="$m4 $perl"
-. $stdenv/setup || exit 1
-
-tar xvfz $src || exit 1
-cd libtool-* || exit 1
-./configure --prefix=$out || exit 1
-make || exit 1
-make install || exit 1
diff --git a/pkgs/development/tools/misc/libtool/default.nix b/pkgs/development/tools/misc/libtool/default.nix
index e02658af93a..9bf3574fec6 100644
--- a/pkgs/development/tools/misc/libtool/default.nix
+++ b/pkgs/development/tools/misc/libtool/default.nix
@@ -1,11 +1,10 @@
 {stdenv, fetchurl, m4, perl}:
+
 stdenv.mkDerivation {
-  name = "libtool-1.5";
-  builder = ./builder.sh;
+  name = "libtool-1.5.2";
   src = fetchurl {
-    url = http://ftp.gnu.org/gnu/libtool/libtool-1.5.tar.gz;
-    md5 = "0e1844f25e2ad74c3715b5776d017545";
+    url = http://ftp.gnu.org/gnu/libtool/libtool-1.5.2.tar.gz;
+    md5 = "db66ba05502f533ad0cfd84dc0e03bd5";
   };
-  m4 = m4;
-  perl = perl;
+  buildInputs = [m4 perl];
 }
diff --git a/pkgs/system/all-packages-generic.nix b/pkgs/system/all-packages-generic.nix
index f97c209f32b..88e2d3824fc 100644
--- a/pkgs/system/all-packages-generic.nix
+++ b/pkgs/system/all-packages-generic.nix
@@ -135,11 +135,6 @@ rec {
     m4 = gnum4;
   };
 
-  autoconflibtool = (import ../development/tools/misc/autoconf/autoconf-libtool.nix) {
-    inherit fetchurl stdenv perl;
-    m4 = gnum4;
-  };
-
   automake = (import ../development/tools/misc/automake) {
     inherit fetchurl stdenv perl autoconf;
   };
@@ -149,13 +144,6 @@ rec {
     m4 = gnum4;
   };
 
-  autotools = {
-    automake = autoconflibtool;
-    autoconf = autoconflibtool;
-    make     = gnumake;
-    libtool  = autoconflibtool;
-  };
-
   pkgconfig = (import ../development/tools/misc/pkgconfig) {
     inherit fetchurl stdenv;
   };
@@ -241,7 +229,7 @@ rec {
   };
 
   strategoxtsvn = (import ../development/compilers/strategoxt/trunk.nix) {
-    inherit fetchsvn stdenv autotools which aterm;
+    inherit fetchsvn stdenv autoconf automake libtool which aterm;
     sdf = sdf2;
   };
 
@@ -608,6 +596,14 @@ rec {
     inherit fetchurl stdenv pkgconfig libX11 libXrender freetype fontconfig;
   };
 
+  libXmu = (import ../development/libraries/freedesktop/libXmu) {
+    inherit fetchurl stdenv pkgconfig xproto libX11 libXt;
+  };
+
+  libXaw = (import ../development/libraries/freedesktop/libXaw) {
+    inherit fetchurl stdenv pkgconfig xproto libX11 libXt;
+  };
+
   xlibs = (import ../development/libraries/freedesktop/xlibs) {
     inherit stdenv libX11 libXt freetype fontconfig libXft libXext;
   };
diff --git a/pkgs/tools/networking/bittorrent/builder.sh b/pkgs/tools/networking/bittorrent/builder.sh
index 342bf991bae..418e011e486 100644
--- a/pkgs/tools/networking/bittorrent/builder.sh
+++ b/pkgs/tools/networking/bittorrent/builder.sh
@@ -10,8 +10,7 @@ mkdir $out/bin
 for i in $(cd $out/bin-orig && ls); do
   cat > $out/bin/$i <<EOF
 #! /bin/sh
-IFS=
-PYTHONPATH=$out/lib/python2.3/site-packages:$wxPython/lib/python2.3/site-packages exec $out/bin-orig/$i \$@
+PYTHONPATH=$out/lib/python2.3/site-packages:$wxPython/lib/python2.3/site-packages exec $out/bin-orig/$i "\$@"
 EOF
   chmod +x $out/bin/$i
 done
\ No newline at end of file