From 7ec0df788f4367b9f64636d11b09e8dfaf6330c8 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 25 Jul 2003 14:59:22 +0000 Subject: [PATCH] * Reduced the size of glibc from 130 to 50 MB. * Adapted some more packages to use stdenv, "fixed" ld.so problems. * Added a package for libxslt. svn path=/nixpkgs/trunk/; revision=204 --- pkgs/aterm/aterm-build.sh | 2 +- pkgs/glibc/glibc-build.sh | 10 +++++++++- pkgs/libxml2/libxml2-build.sh | 4 ++-- pkgs/libxml2/libxml2.fix | 3 ++- pkgs/libxslt/libxslt-build.sh | 14 ++++++++++++++ pkgs/libxslt/libxslt.fix | 15 +++++++++++++++ pkgs/openssl/openssl-build.sh | 4 ++-- pkgs/openssl/openssl.fix | 3 +++ pkgs/sdf2/sdf2-build.sh | 4 ++-- pkgs/sdf2/sdf2.fix | 1 + pkgs/stdenv/gcc-wrapper.sh | 10 ++++++---- pkgs/strategoxt/strategoxt-build.sh | 4 ++-- pkgs/strategoxt/strategoxt.fix | 1 + pkgs/subversion/subversion-build.sh | 9 ++++----- pkgs/subversion/subversion.fix | 8 +++++--- pkgs/system/system.fix | 5 +---- 16 files changed, 70 insertions(+), 27 deletions(-) create mode 100755 pkgs/libxslt/libxslt-build.sh create mode 100644 pkgs/libxslt/libxslt.fix diff --git a/pkgs/aterm/aterm-build.sh b/pkgs/aterm/aterm-build.sh index 9ca15e18b1c..564af228db7 100755 --- a/pkgs/aterm/aterm-build.sh +++ b/pkgs/aterm/aterm-build.sh @@ -1,6 +1,6 @@ #! /bin/sh -. $stdenv/setup || exit 1 +. $stdenv/setup || exit 1 tar xvfz $src || exit 1 cd aterm-* || exit 1 diff --git a/pkgs/glibc/glibc-build.sh b/pkgs/glibc/glibc-build.sh index 79863998d24..3066121ca67 100755 --- a/pkgs/glibc/glibc-build.sh +++ b/pkgs/glibc/glibc-build.sh @@ -7,7 +7,15 @@ tar xvfj $glibcSrc || exit 1 mkdir build || exit 1 cd build || exit 1 -../glibc-*/configure --prefix=$out --enable-add-ons || exit 1 +LDFLAGS=-Wl,-S ../glibc-*/configure --prefix=$out --enable-add-ons --disable-profile || exit 1 make || exit 1 make install || exit 1 +make localedata/install-locales || exit 1 +strip -S $out/lib/*.a $out/lib/*.so $out/lib/gconv/*.so +strip -s $out/bin/* $out/sbin/* $out/libexec/* + +ln -s /etc/ld.so.conf $out/etc/ld.so.conf || exit 1 +$out/sbin/ldconfig /lib /usr/lib || exit 1 + +exit 0 diff --git a/pkgs/libxml2/libxml2-build.sh b/pkgs/libxml2/libxml2-build.sh index 39035ceb94e..de91b2cfd31 100755 --- a/pkgs/libxml2/libxml2-build.sh +++ b/pkgs/libxml2/libxml2-build.sh @@ -1,9 +1,9 @@ #! /bin/sh -export PATH=/bin:/usr/bin +. $stdenv/setup || exit 1 tar xvfz $src || exit 1 cd libxml2-* || exit 1 -./configure --prefix=$out || exit 1 +LDFLAGS=-Wl,-S ./configure --prefix=$out || exit 1 make || exit 1 make install || exit 1 diff --git a/pkgs/libxml2/libxml2.fix b/pkgs/libxml2/libxml2.fix index d000dac0d9c..153b64e249f 100644 --- a/pkgs/libxml2/libxml2.fix +++ b/pkgs/libxml2/libxml2.fix @@ -1,11 +1,12 @@ Package( [ ("name", "libxml2-2.5.8") - , ("build", Relative("libxml2/libxml2-build.sh")) , ("src", App(IncludeFix("fetchurl/fetchurl.fix"), [ ("url", "ftp://fr.rpmfind.net/pub/libxml/libxml2-2.5.8.tar.gz") , ("md5", "b2caf6efe9ff9c4d2c175fb0689bd20e") ])) + + , ("stdenv", IncludeFix("stdenv/stdenv.fix")) ] ) diff --git a/pkgs/libxslt/libxslt-build.sh b/pkgs/libxslt/libxslt-build.sh new file mode 100755 index 00000000000..e9f7b765a4f --- /dev/null +++ b/pkgs/libxslt/libxslt-build.sh @@ -0,0 +1,14 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +envpkgs="$libxml" +. $setenv + +tar xvfz $src || exit 1 +cd libxslt-* || exit 1 +LDFLAGS=-Wl,-S ./configure --prefix=$out || exit 1 +make || exit 1 +make install || exit 1 + +echo $envpkgs > $out/envpkgs || exit 1 diff --git a/pkgs/libxslt/libxslt.fix b/pkgs/libxslt/libxslt.fix new file mode 100644 index 00000000000..c630633bb38 --- /dev/null +++ b/pkgs/libxslt/libxslt.fix @@ -0,0 +1,15 @@ +Package( + [ ("name", "libxslt-1.0.31") + + , ("build", Relative("libxslt/libxslt-build.sh")) + , ("setenv", Relative("helpers/set-env.sh")) + + , ("src", App(IncludeFix("fetchurl/fetchurl.fix"), + [ ("url", "ftp://xmlsoft.org/libxslt-1.0.31.tar.gz") + , ("md5", "7dbc66a3db621d3f2a6fac4a91ff9af9") + ])) + + , ("stdenv", IncludeFix("stdenv/stdenv.fix")) + , ("libxml", IncludeFix("libxml2/libxml2.fix")) + ] +) diff --git a/pkgs/openssl/openssl-build.sh b/pkgs/openssl/openssl-build.sh index 93af431fc55..4884c288d97 100755 --- a/pkgs/openssl/openssl-build.sh +++ b/pkgs/openssl/openssl-build.sh @@ -1,10 +1,10 @@ #! /bin/sh -export PATH=/bin:/usr/bin +. $stdenv/setup || exit 1 tar xvfz $src || exit 1 cd openssl-* || exit 1 -./config --prefix=$out shared || exit 1 +LDFLAGS=-Wl,-S ./config --prefix=$out shared || exit 1 make || exit 1 mkdir $out || exit 1 make install || exit 1 diff --git a/pkgs/openssl/openssl.fix b/pkgs/openssl/openssl.fix index 91cfb3b85d8..fb02db0f738 100644 --- a/pkgs/openssl/openssl.fix +++ b/pkgs/openssl/openssl.fix @@ -1,9 +1,12 @@ Package( [ ("name", "openssl-0.9.7b") , ("build", Relative("openssl/openssl-build.sh")) + , ("src", App(IncludeFix("fetchurl/fetchurl.fix"), [ ("url", "http://www.openssl.org/source/openssl-0.9.7b.tar.gz") , ("md5", "fae4bec090fa78e20f09d76d55b6ccff") ])) + + , ("stdenv", IncludeFix("stdenv/stdenv.fix")) ] ) diff --git a/pkgs/sdf2/sdf2-build.sh b/pkgs/sdf2/sdf2-build.sh index c7f2ede914a..ba95536179d 100755 --- a/pkgs/sdf2/sdf2-build.sh +++ b/pkgs/sdf2/sdf2-build.sh @@ -1,9 +1,9 @@ #! /bin/sh -export PATH=/bin:/usr/bin +. $stdenv/setup || exit 1 tar xvfz $src || exit 1 cd sdf2-* || exit 1 -LDFLAGS=-s ./configure --prefix=$out --with-aterm=$aterm || exit 1 +LDFLAGS=-Wl,-S ./configure --prefix=$out --with-aterm=$aterm || exit 1 make || exit 1 make install || exit 1 diff --git a/pkgs/sdf2/sdf2.fix b/pkgs/sdf2/sdf2.fix index 6f9c2190dfa..0248942dcab 100644 --- a/pkgs/sdf2/sdf2.fix +++ b/pkgs/sdf2/sdf2.fix @@ -8,6 +8,7 @@ Package( , ("md5", "283be0b4c7c9575c1b5cc735316e6192") ])) + , ("stdenv", IncludeFix("stdenv/stdenv.fix")) , ("aterm", IncludeFix("aterm/aterm.fix")) ] ) diff --git a/pkgs/stdenv/gcc-wrapper.sh b/pkgs/stdenv/gcc-wrapper.sh index fdeefe8493c..95c87605668 100644 --- a/pkgs/stdenv/gcc-wrapper.sh +++ b/pkgs/stdenv/gcc-wrapper.sh @@ -1,18 +1,20 @@ #! /bin/sh +IFS= + realgcc=@GCC@ libc=@LIBC@ justcompile=0 -for i in $*; do +for i in $@; do if test "$i" == "-c"; then justcompile=1 fi done -extra="-isystem $libc/include" +extra=("-isystem" "$libc/include") if test "$justcompile" != "1"; then - extra="$extra -L $libc/lib -Wl,-dynamic-linker,$libc/lib/ld-linux.so.2,-rpath,$libc/lib" + extra=(${extra[@]} "-L" "$libc/lib" "-Wl,-dynamic-linker,$libc/lib/ld-linux.so.2,-rpath,$libc/lib") fi -exec $realgcc $* $extra +exec $realgcc $@ ${extra[@]} diff --git a/pkgs/strategoxt/strategoxt-build.sh b/pkgs/strategoxt/strategoxt-build.sh index 810b2160b83..21fd1c2a29c 100755 --- a/pkgs/strategoxt/strategoxt-build.sh +++ b/pkgs/strategoxt/strategoxt-build.sh @@ -1,9 +1,9 @@ #! /bin/sh -export PATH=/bin:/usr/bin +. $stdenv/setup || exit 1 tar xvfz $src || exit 1 cd strategoxt-* || exit 1 -LDFLAGS=-s ./configure --prefix=$out --with-aterm=$aterm --with-sdf=$sdf2 || exit 1 +LDFLAGS=-Wl,-S ./configure --prefix=$out --with-aterm=$aterm --with-sdf=$sdf2 || exit 1 make || exit 1 make install || exit 1 diff --git a/pkgs/strategoxt/strategoxt.fix b/pkgs/strategoxt/strategoxt.fix index d5ad245266c..6d261dff96a 100644 --- a/pkgs/strategoxt/strategoxt.fix +++ b/pkgs/strategoxt/strategoxt.fix @@ -8,6 +8,7 @@ Package( , ("md5", "0d849a9409c40cdc66cbdee4d00726b2") ])) + , ("stdenv", IncludeFix("stdenv/stdenv.fix")) , ("aterm", IncludeFix("aterm/aterm.fix")) , ("sdf2", IncludeFix("sdf2/sdf2.fix")) ] diff --git a/pkgs/subversion/subversion-build.sh b/pkgs/subversion/subversion-build.sh index 473925d9bae..7e3fb956281 100755 --- a/pkgs/subversion/subversion-build.sh +++ b/pkgs/subversion/subversion-build.sh @@ -1,10 +1,9 @@ #! /bin/sh -export PATH=$libxml/bin:/bin:/usr/bin:/usr/local/bin -envpkgs="$ssl $db4 $httpd $swig" -. $setenv +. $stdenv/setup || exit 1 -export LDFLAGS=-s +envpkgs="$ssl $db4 $httpd $swig $libxml" +. $setenv if test $localServer; then extraflags="--with-berkeley-db=$db4 $extraflags" @@ -27,7 +26,7 @@ echo "extra flags: $extraflags" tar xvfz $src || exit 1 cd subversion-* || exit 1 -./configure --prefix=$out $extraflags || exit 1 +LDFLAGS=-Wl,-S ./configure --prefix=$out $extraflags || exit 1 make $extramakeflags || exit 1 make install $extramakeflags || exit 1 diff --git a/pkgs/subversion/subversion.fix b/pkgs/subversion/subversion.fix index dafeb5956a5..5baef8f8a81 100644 --- a/pkgs/subversion/subversion.fix +++ b/pkgs/subversion/subversion.fix @@ -1,15 +1,17 @@ Package( - [ ("name", "subversion-0.25.0") + [ ("name", "subversion-0.26.0") , ("build", Relative("subversion/subversion-build.sh")) , ("setenv", Relative("helpers/set-env.sh")) , ("src", App(IncludeFix("fetchurl/fetchurl.fix"), - [ ("url", "http://subversion.tigris.org/files/documents/15/5110/subversion-0.25.tar.gz") - , ("md5", "a018220d5c790161bc712ccb7d0f1b38") + [ ("url", "http://subversion.tigris.org/files/documents/15/5322/subversion-0.26.0.tar.gz") + , ("md5", "700caa3f59b585d173812c4a078feeba") ])) + , ("stdenv", IncludeFix("stdenv/stdenv.fix")) , ("httpsClient", "1") , ("ssl", IncludeFix("openssl/openssl.fix")) + , ("libxml", IncludeFix("libxml2/libxml2.fix")) ] ) diff --git a/pkgs/system/system.fix b/pkgs/system/system.fix index 82a11cdde04..3fd51b9b7ac 100644 --- a/pkgs/system/system.fix +++ b/pkgs/system/system.fix @@ -1,11 +1,8 @@ Package( - [ ("name", "system-2") + [ ("name", "system") , ("build", Relative("system/populate-linkdirs.pl")) , ("actSubversion", IncludeFix("subversion/subversion.fix")) - , ("actPan", IncludeFix("pan/pan.fix")) - , ("actSylpheed", IncludeFix("sylpheed/sylpheed.fix")) - , ("actMPlayer", IncludeFix("MPlayer/MPlayer.fix")) , ("actStrategoXT", IncludeFix("strategoxt/strategoxt.fix")) , ("actATerm", IncludeFix("aterm/aterm.fix")) ]