summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2003-11-14 09:59:13 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2003-11-14 09:59:13 +0000
commit48c3faca5194fab0d6f19ad33a9756763dddefdd (patch)
tree24e08e006efef44f671d275a5c896e22d83abb28 /pkgs/development
parent6b2bb2247432e5749710576a167a1632c2ec0a61 (diff)
downloadnixpkgs-48c3faca5194fab0d6f19ad33a9756763dddefdd.tar
nixpkgs-48c3faca5194fab0d6f19ad33a9756763dddefdd.tar.gz
nixpkgs-48c3faca5194fab0d6f19ad33a9756763dddefdd.tar.bz2
nixpkgs-48c3faca5194fab0d6f19ad33a9756763dddefdd.tar.lz
nixpkgs-48c3faca5194fab0d6f19ad33a9756763dddefdd.tar.xz
nixpkgs-48c3faca5194fab0d6f19ad33a9756763dddefdd.tar.zst
nixpkgs-48c3faca5194fab0d6f19ad33a9756763dddefdd.zip
* Renamed pkgs-ng to pkgs.
svn path=/nixpkgs/trunk/; revision=502
Diffstat (limited to 'pkgs/development')
-rwxr-xr-xpkgs/development/compilers/gcc/builder.sh56
-rw-r--r--pkgs/development/compilers/gcc/default.fix12
-rwxr-xr-xpkgs/development/interpreters/perl/builder.sh26
-rw-r--r--pkgs/development/interpreters/perl/default.fix10
-rwxr-xr-xpkgs/development/libraries/aterm/builder.sh10
-rw-r--r--pkgs/development/libraries/aterm/default.fix10
-rwxr-xr-xpkgs/development/libraries/db4/builder.sh10
-rw-r--r--pkgs/development/libraries/db4/default.fix10
-rwxr-xr-xpkgs/development/libraries/expat/builder.sh10
-rw-r--r--pkgs/development/libraries/expat/default.fix10
-rwxr-xr-xpkgs/development/libraries/fontconfig/builder.sh18
-rw-r--r--pkgs/development/libraries/fontconfig/default.fix21
-rwxr-xr-xpkgs/development/libraries/freetype/builder.sh10
-rw-r--r--pkgs/development/libraries/freetype/default.fix10
-rwxr-xr-xpkgs/development/libraries/gettext/builder.sh9
-rw-r--r--pkgs/development/libraries/gettext/default.fix10
-rwxr-xr-xpkgs/development/libraries/glibc/builder.sh26
-rw-r--r--pkgs/development/libraries/glibc/default.fix21
-rw-r--r--pkgs/development/libraries/glibc/glibc-2.3.2-sscanf-1.patch68
-rwxr-xr-xpkgs/development/libraries/gnet/builder.sh10
-rw-r--r--pkgs/development/libraries/gnet/default.fix16
-rwxr-xr-xpkgs/development/libraries/gtk+-1/gdk-pixbuf/builder.sh10
-rw-r--r--pkgs/development/libraries/gtk+-1/gdk-pixbuf/default.fix21
-rwxr-xr-xpkgs/development/libraries/gtk+-1/glib/builder.sh9
-rw-r--r--pkgs/development/libraries/gtk+-1/glib/default.fix10
-rwxr-xr-xpkgs/development/libraries/gtk+-1/gtk+/builder.sh12
-rw-r--r--pkgs/development/libraries/gtk+-1/gtk+/default.fix19
-rwxr-xr-xpkgs/development/libraries/gtk+/atk/builder.sh10
-rw-r--r--pkgs/development/libraries/gtk+/atk/default.fix17
-rwxr-xr-xpkgs/development/libraries/gtk+/glib/builder.sh10
-rw-r--r--pkgs/development/libraries/gtk+/glib/default.fix17
-rwxr-xr-xpkgs/development/libraries/gtk+/gtk+/builder.sh12
-rw-r--r--pkgs/development/libraries/gtk+/gtk+/default.fix30
-rwxr-xr-xpkgs/development/libraries/gtk+/pango/builder.sh12
-rw-r--r--pkgs/development/libraries/gtk+/pango/default.fix20
-rwxr-xr-xpkgs/development/libraries/libIDL/builder.sh11
-rw-r--r--pkgs/development/libraries/libIDL/default.fix18
-rwxr-xr-xpkgs/development/libraries/libjpeg/builder.sh15
-rw-r--r--pkgs/development/libraries/libjpeg/default.fix10
-rwxr-xr-xpkgs/development/libraries/libpng/builder.sh16
-rw-r--r--pkgs/development/libraries/libpng/default.fix15
-rwxr-xr-xpkgs/development/libraries/libtiff/builder.sh16
-rw-r--r--pkgs/development/libraries/libtiff/default.fix16
-rwxr-xr-xpkgs/development/libraries/libxml2/builder.sh11
-rw-r--r--pkgs/development/libraries/libxml2/default.fix15
-rwxr-xr-xpkgs/development/libraries/openssl/builder.sh16
-rw-r--r--pkgs/development/libraries/openssl/default.fix11
-rwxr-xr-xpkgs/development/libraries/pcre/builder.sh9
-rw-r--r--pkgs/development/libraries/pcre/default.fix10
-rwxr-xr-xpkgs/development/libraries/xft/builder.sh12
-rw-r--r--pkgs/development/libraries/xft/default.fix18
-rwxr-xr-xpkgs/development/libraries/zlib/builder.sh10
-rw-r--r--pkgs/development/libraries/zlib/default.fix10
-rwxr-xr-xpkgs/development/tools/build-managers/gnumake/builder.sh9
-rw-r--r--pkgs/development/tools/build-managers/gnumake/default.fix10
-rwxr-xr-xpkgs/development/tools/misc/binutils/builder.sh17
-rw-r--r--pkgs/development/tools/misc/binutils/default.fix11
-rwxr-xr-xpkgs/development/tools/misc/gnum4/builder.sh9
-rw-r--r--pkgs/development/tools/misc/gnum4/default.fix11
-rwxr-xr-xpkgs/development/tools/misc/pkgconfig/builder.sh10
-rw-r--r--pkgs/development/tools/misc/pkgconfig/default.fix10
-rwxr-xr-xpkgs/development/tools/parsing/bison/builder.sh10
-rw-r--r--pkgs/development/tools/parsing/bison/default.fix13
-rwxr-xr-xpkgs/development/tools/parsing/flex/builder.sh10
-rw-r--r--pkgs/development/tools/parsing/flex/default.fix13
65 files changed, 964 insertions, 0 deletions
diff --git a/pkgs/development/compilers/gcc/builder.sh b/pkgs/development/compilers/gcc/builder.sh
new file mode 100755
index 00000000000..15746b26439
--- /dev/null
+++ b/pkgs/development/compilers/gcc/builder.sh
@@ -0,0 +1,56 @@
+#! /bin/sh
+
+buildinputs="$binutils"
+. $stdenv/setup || exit 1
+
+tar xvfj $src || exit 1
+
+if test "$noSysDirs" == "1"; then
+    # Disable the standard include directories.
+    cd gcc-* || exit 1
+    cat >> ./gcc/cppdefault.h <<EOF
+#undef LOCAL_INCLUDE_DIR
+#undef SYSTEM_INCLUDE_DIR
+#undef STANDARD_INCLUDE_DIR
+EOF
+    cd .. || exit 1
+fi
+
+# Configure.
+mkdir build || exit 1
+cd build || exit 1
+../gcc-*/configure --prefix=$out --enable-languages=c,c++ || exit 1
+
+if test "$noSysDirs" == "1"; then
+    # Patch some of the makefiles to force linking against our own glibc.
+    extraflags="-Wl,-s $NIX_CFLAGS_COMPILE $NIX_CFLAGS_LINK"
+    for i in $NIX_LDFLAGS; do
+        extraflags="$extraflags -Wl,$i"
+    done
+
+    mf=Makefile
+    sed \
+        -e "s^FLAGS_FOR_TARGET =\(.*\)^FLAGS_FOR_TARGET = \1 $extraflags^" \
+        < $mf > $mf.tmp || exit 1
+    mv $mf.tmp $mf
+
+    mf=gcc/Makefile
+    sed \
+        -e "s^X_CFLAGS =\(.*\)^X_CFLAGS = \1 $extraflags^" \
+        < $mf > $mf.tmp || exit 1
+    mv $mf.tmp $mf
+
+    # Patch gcc/Makefile to prevent fixinc.sh from "fixing" system header files
+    # from /usr/include.
+    mf=gcc/Makefile
+    sed \
+        -e "s^NATIVE_SYSTEM_HEADER_DIR =\(.*\)^NATIVE_SYSTEM_HEADER_DIR = /fixinc-disabled^" \
+        < $mf > $mf.tmp || exit 1
+    mv $mf.tmp $mf
+fi
+
+# Build and install.
+make bootstrap || exit 1
+make install || exit 1
+
+find $out -name "*.a" -exec strip -S {} \; || exit 1
diff --git a/pkgs/development/compilers/gcc/default.fix b/pkgs/development/compilers/gcc/default.fix
new file mode 100644
index 00000000000..0effb18de1a
--- /dev/null
+++ b/pkgs/development/compilers/gcc/default.fix
@@ -0,0 +1,12 @@
+{stdenv, fetchurl, binutils}: derivation {
+  name = "gcc-3.3.2";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = ftp://ftp.nluug.nl/pub/gnu/gcc/gcc-3.3.2/gcc-3.3.2.tar.bz2;
+    md5 = "65999f654102f5438ac8562d13a6eced";
+  };
+  stdenv = stdenv;
+  binutils = binutils;
+  noSysDirs = stdenv.noSysDirs;
+}
diff --git a/pkgs/development/interpreters/perl/builder.sh b/pkgs/development/interpreters/perl/builder.sh
new file mode 100755
index 00000000000..7a925e6dbfd
--- /dev/null
+++ b/pkgs/development/interpreters/perl/builder.sh
@@ -0,0 +1,26 @@
+#! /bin/sh
+
+. $stdenv/setup || exit 1
+
+tar xvfz $src || exit 1
+cd perl-* || exit 1
+
+# Perl's Configure messes with PATH.  We can't have that, so we patch it.
+# Yeah, this is an ugly hack.
+cat Configure | \
+ grep -v '^paths=' | \
+ grep -v '^locincpth=' | \
+ grep -v '^xlibpth=' | \
+ grep -v '^glibpth=' | \
+ grep -v '^loclibpth=' | \
+ grep -v '^locincpth=' | \
+ cat > Configure.tmp || exit 1
+mv Configure.tmp Configure || exit 1
+chmod +x Configure || exit 1
+
+./Configure -de -Dcc=gcc -Dprefix=$out -Uinstallusrbinperl \
+ -Dlocincpth="$NIX_LIBC_INCLUDES" \
+ -Dloclibpth="$NIX_LIBC_LIBS" \
+ || exit 1
+make || exit 1
+make install || exit 1
diff --git a/pkgs/development/interpreters/perl/default.fix b/pkgs/development/interpreters/perl/default.fix
new file mode 100644
index 00000000000..8d9fa7f610d
--- /dev/null
+++ b/pkgs/development/interpreters/perl/default.fix
@@ -0,0 +1,10 @@
+{stdenv, fetchurl}: derivation {
+  name = "perl-5.8.0";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+      url = ftp://ftp.cs.uu.nl/mirror/CPAN/src/5.0/perl-5.8.1.tar.gz;
+      md5 = "87cf132f1fbf23e780f0b218046438a6";
+    };
+  stdenv = stdenv;
+}
diff --git a/pkgs/development/libraries/aterm/builder.sh b/pkgs/development/libraries/aterm/builder.sh
new file mode 100755
index 00000000000..5915dc0f87d
--- /dev/null
+++ b/pkgs/development/libraries/aterm/builder.sh
@@ -0,0 +1,10 @@
+#! /bin/sh
+
+. $stdenv/setup || exit 1
+
+tar xvfz $src || exit 1
+cd aterm-* || exit 1
+./configure --prefix=$out --with-gcc || exit 1
+make || exit 1
+make install || exit 1
+strip -S $out/lib/*.a || exit 1
diff --git a/pkgs/development/libraries/aterm/default.fix b/pkgs/development/libraries/aterm/default.fix
new file mode 100644
index 00000000000..56b4c265ec0
--- /dev/null
+++ b/pkgs/development/libraries/aterm/default.fix
@@ -0,0 +1,10 @@
+{stdenv, fetchurl}: derivation {
+  name = "aterm-2.0";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = http://www.cwi.nl/projects/MetaEnv/aterm/aterm-2.0.tar.gz;
+    md5 = "853474e4bcf4a85f7d38a0676b36bded";
+  };
+  stdenv = stdenv;
+}
diff --git a/pkgs/development/libraries/db4/builder.sh b/pkgs/development/libraries/db4/builder.sh
new file mode 100755
index 00000000000..f32e4ec50dd
--- /dev/null
+++ b/pkgs/development/libraries/db4/builder.sh
@@ -0,0 +1,10 @@
+#! /bin/sh
+
+. $stdenv/setup || exit 1
+
+tar xvfz $src || exit 1
+cd db-*/build_unix || exit 1
+../dist/configure --prefix=$out --enable-cxx --enable-compat185 || exit 1
+make || exit 1
+make install || exit 1
+rm -rf $out/doc || exit 1
diff --git a/pkgs/development/libraries/db4/default.fix b/pkgs/development/libraries/db4/default.fix
new file mode 100644
index 00000000000..06974133ce9
--- /dev/null
+++ b/pkgs/development/libraries/db4/default.fix
@@ -0,0 +1,10 @@
+{stdenv, fetchurl}: derivation {
+  name = "db4-4.0.14";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = http://www.sleepycat.com/update/snapshot/db-4.0.14.tar.gz;
+    md5 = "12262c64fcd64b772e7cffad8e4d0ebc";
+  };
+  stdenv = stdenv;
+}
diff --git a/pkgs/development/libraries/expat/builder.sh b/pkgs/development/libraries/expat/builder.sh
new file mode 100755
index 00000000000..c5ca8edfb92
--- /dev/null
+++ b/pkgs/development/libraries/expat/builder.sh
@@ -0,0 +1,10 @@
+#! /bin/sh
+
+. $stdenv/setup || exit 1
+
+tar xvfz $src || exit 1
+cd expat-* || exit 1
+./configure --prefix=$out || exit 1
+make || exit 1
+make install || exit 1
+strip -S $out/lib/*.a || exit 1
diff --git a/pkgs/development/libraries/expat/default.fix b/pkgs/development/libraries/expat/default.fix
new file mode 100644
index 00000000000..77b025b739f
--- /dev/null
+++ b/pkgs/development/libraries/expat/default.fix
@@ -0,0 +1,10 @@
+{stdenv, fetchurl}: derivation {
+  name = "expat-1.95.7";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = http://heanet.dl.sourceforge.net/sourceforge/expat/expat-1.95.7.tar.gz;
+    md5 = "2ff59c2a5cbdd21a285c5f343e214fa9";
+  };
+  stdenv = stdenv;
+}
diff --git a/pkgs/development/libraries/fontconfig/builder.sh b/pkgs/development/libraries/fontconfig/builder.sh
new file mode 100755
index 00000000000..3b705bd9eca
--- /dev/null
+++ b/pkgs/development/libraries/fontconfig/builder.sh
@@ -0,0 +1,18 @@
+#! /bin/sh
+
+buildinputs="$freetype $expat $x11 $ed"
+. $stdenv/setup || exit 1
+
+# Fontconfig generates a bad `fonts.conf' file is the timezone is not known
+# (because it calls `date').
+export TZ=UTC
+
+tar xvfz $src || exit 1
+cd fontconfig-* || exit 1
+./configure --prefix=$out --with-confdir=$out/etc/fonts \
+ --x-includes=$x11/include --x-libraries=$x11/lib \
+ --with-expat-includes=$expat/include --with-expat-lib=$expat/lib || exit 1
+make || exit 1
+make install || exit 1
+
+echo "$freetype" > $out/propagated-build-inputs || exit 1
diff --git a/pkgs/development/libraries/fontconfig/default.fix b/pkgs/development/libraries/fontconfig/default.fix
new file mode 100644
index 00000000000..15944697423
--- /dev/null
+++ b/pkgs/development/libraries/fontconfig/default.fix
@@ -0,0 +1,21 @@
+{stdenv, fetchurl, x11, freetype, expat, ed}:
+
+assert !isNull x11 && x11.buildClientLibs;
+assert !isNull freetype;
+assert !isNull expat;
+assert !isNull ed;
+
+derivation {
+  name = "fontconfig-2.2.90";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = http://pdx.freedesktop.org/software/fontconfig/releases/fontconfig-2.2.90.tar.gz;
+    md5 = "5cb87476743be1bbf1674ed72a76ae6a";
+  };
+  stdenv = stdenv;
+  x11 = x11;
+  freetype = freetype;
+  expat = expat;
+  ed = ed;
+}
diff --git a/pkgs/development/libraries/freetype/builder.sh b/pkgs/development/libraries/freetype/builder.sh
new file mode 100755
index 00000000000..81bd27e4882
--- /dev/null
+++ b/pkgs/development/libraries/freetype/builder.sh
@@ -0,0 +1,10 @@
+#! /bin/sh
+
+. $stdenv/setup || exit 1
+
+tar xvfj $src || exit 1
+cd freetype-* || exit 1
+./configure --prefix=$out || exit 1
+make || exit 1
+make install || exit 1
+strip -S $out/lib/*.a || exit 1
diff --git a/pkgs/development/libraries/freetype/default.fix b/pkgs/development/libraries/freetype/default.fix
new file mode 100644
index 00000000000..4284979844d
--- /dev/null
+++ b/pkgs/development/libraries/freetype/default.fix
@@ -0,0 +1,10 @@
+{stdenv, fetchurl}: derivation {
+  name = "freetype-2.1.5";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = http://heanet.dl.sourceforge.net/sourceforge/freetype/freetype-2.1.5.tar.bz2;
+    md5 = "54537b518b84d04190a1eccd393a29df";
+  };
+  stdenv = stdenv;
+}
diff --git a/pkgs/development/libraries/gettext/builder.sh b/pkgs/development/libraries/gettext/builder.sh
new file mode 100755
index 00000000000..57f18bb3da1
--- /dev/null
+++ b/pkgs/development/libraries/gettext/builder.sh
@@ -0,0 +1,9 @@
+#! /bin/sh
+
+. $stdenv/setup || exit 1
+
+tar xvfz $src || exit 1
+cd gettext-* || exit 1
+./configure --prefix=$out || exit 1
+make || exit 1
+make install || exit 1
diff --git a/pkgs/development/libraries/gettext/default.fix b/pkgs/development/libraries/gettext/default.fix
new file mode 100644
index 00000000000..d20c6f4763e
--- /dev/null
+++ b/pkgs/development/libraries/gettext/default.fix
@@ -0,0 +1,10 @@
+{stdenv, fetchurl}: derivation {
+  name = "gettext-0.12.1";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = ftp://ftp.nluug.nl/pub/gnu/gettext/gettext-0.12.1.tar.gz;
+    md5 = "5d4bddd300072315e668247e5b7d5bdb";
+  };
+  stdenv = stdenv;
+}
diff --git a/pkgs/development/libraries/glibc/builder.sh b/pkgs/development/libraries/glibc/builder.sh
new file mode 100755
index 00000000000..7503e73a171
--- /dev/null
+++ b/pkgs/development/libraries/glibc/builder.sh
@@ -0,0 +1,26 @@
+#! /bin/sh
+
+# glibc cannot have itself in its rpath.
+export NIX_NO_SELF_RPATH=1
+. $stdenv/setup || exit 1
+
+tar xvfj $glibcSrc || exit 1
+(cd glibc-* && tar xvfj $linuxthreadsSrc) || exit 1
+
+(cd glibc-* && patch -p1 < $vaargsPatch) || exit 1
+
+mkdir build || exit 1
+cd build || 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 -sf /etc/ld.so.cache $out/etc/ld.so.cache || exit 1
+
+(cd $out/include && ln -s $kernelHeaders/include/* .) || exit 1
+
+exit 0
diff --git a/pkgs/development/libraries/glibc/default.fix b/pkgs/development/libraries/glibc/default.fix
new file mode 100644
index 00000000000..bf001b85b2a
--- /dev/null
+++ b/pkgs/development/libraries/glibc/default.fix
@@ -0,0 +1,21 @@
+{stdenv, fetchurl, kernelHeaders}: derivation {
+  name = "glibc-2.3.2";
+  system = stdenv.system;
+  builder = ./builder.sh;
+
+  glibcSrc = fetchurl {
+    url = ftp://ftp.nl.net/pub/gnu/glibc/glibc-2.3.2.tar.bz2;
+    md5 = "ede969aad568f48083e413384f20753c";
+  };
+  linuxthreadsSrc = fetchurl {
+    url = ftp://ftp.nl.net/pub/gnu/glibc/glibc-linuxthreads-2.3.2.tar.bz2;
+    md5 = "894b8969cfbdf787c73e139782167607";
+  };
+
+  # This is a patch to make glibc compile under GCC 3.3.  Presumably
+  # later releases of glibc won't need this.
+  vaargsPatch = ./glibc-2.3.2-sscanf-1.patch;
+
+  stdenv = stdenv;
+  kernelHeaders = kernelHeaders;
+}
diff --git a/pkgs/development/libraries/glibc/glibc-2.3.2-sscanf-1.patch b/pkgs/development/libraries/glibc/glibc-2.3.2-sscanf-1.patch
new file mode 100644
index 00000000000..78940884cbe
--- /dev/null
+++ b/pkgs/development/libraries/glibc/glibc-2.3.2-sscanf-1.patch
@@ -0,0 +1,68 @@
+Submitted By: David Shust (www.shustring.com)
+Date: 2003-08-15
+Initial Package Version: 2.3.2
+Origin: glibc CVS changes performed by Roland McGrath
+Description: patches stdio-common/sscanf.c, libio/{swprintf.c, swscanf.c}
+
+diff -Naur glibc-2.3.2/libio/swprintf.c glibc-2.3.2-new/libio/swprintf.c
+--- glibc-2.3.2/libio/swprintf.c	2001-07-07 19:21:03.000000000 +0000
++++ glibc-2.3.2-new/libio/swprintf.c	2003-08-15 19:36:42.000000000 +0000
+@@ -1,4 +1,5 @@
+-/* Copyright (C) 1991,1995,1997,1998,1999,2000 Free Software Foundation, Inc.
++/* Copyright (C) 1991,1995,1997,1998,1999,2000,2003
++	Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+@@ -22,10 +23,7 @@
+ /* Write formatted output into S, according to the format string FORMAT.  */
+ /* VARARGS3 */
+ int
+-swprintf (s, n, format)
+-     wchar_t *s;
+-     size_t n;
+-     const wchar_t *format;
++swprintf (wchar_t *s, size_t n, const wchar_t *format, ...)
+ {
+   va_list arg;
+   int done;
+diff -Naur glibc-2.3.2/libio/swscanf.c glibc-2.3.2-new/libio/swscanf.c
+--- glibc-2.3.2/libio/swscanf.c	2001-07-07 19:21:03.000000000 +0000
++++ glibc-2.3.2-new/libio/swscanf.c	2003-08-15 19:36:42.000000000 +0000
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 1991, 1995, 1996, 1998, 1999 Free Software Foundation, Inc.
++/* Copyright (C) 1991,1995,1996,1998,1999,2003 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+@@ -22,9 +22,7 @@
+ /* Read formatted input from S, according to the format string FORMAT.  */
+ /* VARARGS2 */
+ int
+-swscanf (s, format)
+-     const wchar_t *s;
+-     const wchar_t *format;
++swscanf (const wchar_t *s, const wchar_t *format, ...)
+ {
+   va_list arg;
+   int done;
+diff -Naur glibc-2.3.2/stdio-common/sscanf.c glibc-2.3.2-new/stdio-common/sscanf.c
+--- glibc-2.3.2/stdio-common/sscanf.c	2002-08-10 18:09:08.000000000 +0000
++++ glibc-2.3.2-new/stdio-common/sscanf.c	2003-08-15 19:36:24.000000000 +0000
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 1991,95,96,98,2002 Free Software Foundation, Inc.
++/* Copyright (C) 1991,1995,1996,1998,2002,2003 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+@@ -27,9 +27,7 @@
+ /* Read formatted input from S, according to the format string FORMAT.  */
+ /* VARARGS2 */
+ int
+-sscanf (s, format)
+-     const char *s;
+-     const char *format;
++sscanf (const char *s, const char *format, ...)
+ {
+   va_list arg;
+   int done;
diff --git a/pkgs/development/libraries/gnet/builder.sh b/pkgs/development/libraries/gnet/builder.sh
new file mode 100755
index 00000000000..220307fd8b9
--- /dev/null
+++ b/pkgs/development/libraries/gnet/builder.sh
@@ -0,0 +1,10 @@
+#! /bin/sh
+
+buildinputs="$pkgconfig $glib"
+. $stdenv/setup || exit 1
+
+tar xvfz $src || exit 1
+cd gnet-* || exit 1
+./configure --prefix=$out || exit 1
+make || exit 1
+make install || exit 1
diff --git a/pkgs/development/libraries/gnet/default.fix b/pkgs/development/libraries/gnet/default.fix
new file mode 100644
index 00000000000..0475dfa06ab
--- /dev/null
+++ b/pkgs/development/libraries/gnet/default.fix
@@ -0,0 +1,16 @@
+{stdenv, fetchurl, pkgconfig, glib}:
+
+assert !isNull pkgconfig && !isNull glib;
+
+derivation {
+  name = "gnet-2.0.4";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = http://www.gnetlibrary.org/src/gnet-2.0.4.tar.gz;
+    md5 = "b43e728391143214e2cfd0b835b6fd2a";
+  };
+  stdenv = stdenv;
+  pkgconfig = pkgconfig;
+  glib = glib;
+}
diff --git a/pkgs/development/libraries/gtk+-1/gdk-pixbuf/builder.sh b/pkgs/development/libraries/gtk+-1/gdk-pixbuf/builder.sh
new file mode 100755
index 00000000000..c3dc0238305
--- /dev/null
+++ b/pkgs/development/libraries/gtk+-1/gdk-pixbuf/builder.sh
@@ -0,0 +1,10 @@
+#! /bin/sh
+
+buildinputs="$gtk $libtiff $libjpeg $libpng"
+. $stdenv/setup || exit 1
+
+tar xvfj $src || exit 1
+cd gdk-pixbuf-* || exit 1
+./configure --prefix=$out || exit 1
+make || exit 1
+make install || exit 1
diff --git a/pkgs/development/libraries/gtk+-1/gdk-pixbuf/default.fix b/pkgs/development/libraries/gtk+-1/gdk-pixbuf/default.fix
new file mode 100644
index 00000000000..8fe9f5e0e14
--- /dev/null
+++ b/pkgs/development/libraries/gtk+-1/gdk-pixbuf/default.fix
@@ -0,0 +1,21 @@
+{stdenv, fetchurl, gtk, libtiff, libjpeg, libpng}:
+
+assert !isNull gtk && !isNull libtiff
+  && !isNull libjpeg && !isNull libpng;
+
+derivation {
+  name = "gdk-pixbuf-0.22.0";
+  system = stdenv.system;
+
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = ftp://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/0.22/gdk-pixbuf-0.22.0.tar.bz2;
+    md5 = "05fcb68ceaa338614ab650c775efc2f2";
+  };
+
+  stdenv = stdenv;
+  gtk = gtk;
+  libtiff = libtiff;
+  libjpeg = libjpeg;
+  libpng = libpng;
+}
diff --git a/pkgs/development/libraries/gtk+-1/glib/builder.sh b/pkgs/development/libraries/gtk+-1/glib/builder.sh
new file mode 100755
index 00000000000..e6f721de3f4
--- /dev/null
+++ b/pkgs/development/libraries/gtk+-1/glib/builder.sh
@@ -0,0 +1,9 @@
+#! /bin/sh
+
+. $stdenv/setup || exit 1
+
+tar xvfz $src || exit 1
+cd glib-* || exit 1
+./configure --prefix=$out || exit 1
+make || exit 1
+make install || exit 1
diff --git a/pkgs/development/libraries/gtk+-1/glib/default.fix b/pkgs/development/libraries/gtk+-1/glib/default.fix
new file mode 100644
index 00000000000..7ae9be406b3
--- /dev/null
+++ b/pkgs/development/libraries/gtk+-1/glib/default.fix
@@ -0,0 +1,10 @@
+{stdenv, fetchurl}: derivation {
+  name = "glib-1.2.10";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = ftp://ftp.gtk.org/pub/gtk/v1.2/glib-1.2.10.tar.gz;
+    md5 = "6fe30dad87c77b91b632def29dd69ef9";
+  };
+  stdenv = stdenv;
+}
diff --git a/pkgs/development/libraries/gtk+-1/gtk+/builder.sh b/pkgs/development/libraries/gtk+-1/gtk+/builder.sh
new file mode 100755
index 00000000000..0487465727a
--- /dev/null
+++ b/pkgs/development/libraries/gtk+-1/gtk+/builder.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+buildinputs="$x11 $glib"
+. $stdenv/setup || exit 1
+
+tar xvfz $src || exit 1
+cd gtk+-* || exit 1
+./configure --prefix=$out --x-includes=$x11/include --x-libraries=$x11/lib || exit 1
+make || exit 1
+make install || exit 1
+
+echo "$x11 $glib" > $out/propagated-build-inputs || exit 1
diff --git a/pkgs/development/libraries/gtk+-1/gtk+/default.fix b/pkgs/development/libraries/gtk+-1/gtk+/default.fix
new file mode 100644
index 00000000000..856b2ffcad0
--- /dev/null
+++ b/pkgs/development/libraries/gtk+-1/gtk+/default.fix
@@ -0,0 +1,19 @@
+{stdenv, fetchurl, x11, glib}:
+
+assert !isNull x11 && !isNull glib;
+assert x11.buildClientLibs;
+
+derivation {
+  name = "gtk+-1.2.10";
+  system = stdenv.system;
+
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = ftp://ftp.gtk.org/pub/gtk/v1.2/gtk+-1.2.10.tar.gz;
+    md5 = "4d5cb2fc7fb7830e4af9747a36bfce20";
+  };
+
+  stdenv = stdenv;
+  x11 = x11;
+  glib = glib;
+}
diff --git a/pkgs/development/libraries/gtk+/atk/builder.sh b/pkgs/development/libraries/gtk+/atk/builder.sh
new file mode 100755
index 00000000000..212b5dbe287
--- /dev/null
+++ b/pkgs/development/libraries/gtk+/atk/builder.sh
@@ -0,0 +1,10 @@
+#! /bin/sh
+
+buildinputs="$pkgconfig $perl $glib"
+. $stdenv/setup || exit 1
+
+tar xvfj $src || exit 1
+cd atk-* || exit 1
+./configure --prefix=$out || exit 1
+make || exit 1
+make install || exit 1
diff --git a/pkgs/development/libraries/gtk+/atk/default.fix b/pkgs/development/libraries/gtk+/atk/default.fix
new file mode 100644
index 00000000000..8db047f9c49
--- /dev/null
+++ b/pkgs/development/libraries/gtk+/atk/default.fix
@@ -0,0 +1,17 @@
+{stdenv, fetchurl, pkgconfig, glib, perl}:
+
+assert !isNull pkgconfig && !isNull glib && !isNull perl;
+
+derivation {
+  name = "atk-1.2.4";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = ftp://ftp.gtk.org/pub/gtk/v2.2/atk-1.2.4.tar.bz2;
+    md5 = "2d6d50df31abe0e8892b5d3e7676a02d";
+  };
+  stdenv = stdenv;
+  pkgconfig = pkgconfig;
+  glib = glib;
+  perl = perl;
+}
diff --git a/pkgs/development/libraries/gtk+/glib/builder.sh b/pkgs/development/libraries/gtk+/glib/builder.sh
new file mode 100755
index 00000000000..8f4c0b097b2
--- /dev/null
+++ b/pkgs/development/libraries/gtk+/glib/builder.sh
@@ -0,0 +1,10 @@
+#! /bin/sh
+
+buildinputs="$pkgconfig $gettext $perl"
+. $stdenv/setup || exit 1
+
+tar xvfj $src || exit 1
+cd glib-* || exit 1
+./configure --prefix=$out || exit 1
+make || exit 1
+make install || exit 1
diff --git a/pkgs/development/libraries/gtk+/glib/default.fix b/pkgs/development/libraries/gtk+/glib/default.fix
new file mode 100644
index 00000000000..227aa80f17d
--- /dev/null
+++ b/pkgs/development/libraries/gtk+/glib/default.fix
@@ -0,0 +1,17 @@
+{stdenv, fetchurl, pkgconfig, gettext, perl}:
+
+assert !isNull pkgconfig && !isNull gettext && !isNull perl;
+
+derivation {
+  name = "glib-2.2.3";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = ftp://ftp.gtk.org/pub/gtk/v2.2/glib-2.2.3.tar.bz2;
+    md5 = "aa214a10d873b68ddd67cd9de2ccae55";
+  };
+  stdenv = stdenv;
+  pkgconfig = pkgconfig;
+  gettext = gettext;
+  perl = perl;
+}
diff --git a/pkgs/development/libraries/gtk+/gtk+/builder.sh b/pkgs/development/libraries/gtk+/gtk+/builder.sh
new file mode 100755
index 00000000000..e8835feb3a7
--- /dev/null
+++ b/pkgs/development/libraries/gtk+/gtk+/builder.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+buildinputs="$pkgconfig $x11 $glib $atk $pango $perl $libtiff $libjpeg $libpng"
+. $stdenv/setup || exit 1
+
+tar xvfj $src || exit 1
+cd gtk+-* || exit 1
+./configure --prefix=$out --x-includes=$x11/include --x-libraries=$x11/lib || exit 1
+make || exit 1
+make install || exit 1
+
+echo "$x11 $glib $atk $pango" > $out/propagated-build-inputs || exit 1
diff --git a/pkgs/development/libraries/gtk+/gtk+/default.fix b/pkgs/development/libraries/gtk+/gtk+/default.fix
new file mode 100644
index 00000000000..f0fe5979d0b
--- /dev/null
+++ b/pkgs/development/libraries/gtk+/gtk+/default.fix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, pkgconfig, x11, glib, atk
+, pango, perl, libtiff, libjpeg, libpng}:
+
+assert !isNull pkgconfig && !isNull x11 && !isNull glib && !isNull atk
+  && !isNull pango && !isNull perl && !isNull perl && !isNull libtiff
+  && !isNull libjpeg && !isNull libpng;
+assert x11.buildClientLibs;
+assert glib == atk.glib;
+assert glib == pango.glib;
+assert x11 == pango.x11;
+
+derivation {
+  name = "gtk+-2.2.4";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = ftp://ftp.gtk.org/pub/gtk/v2.2/gtk+-2.2.4.tar.bz2;
+    md5 = "605332199533e73bc6eec481fb4f1671";
+  };
+  stdenv = stdenv;
+  pkgconfig = pkgconfig;
+  x11 = x11;
+  glib = glib;
+  atk = atk;
+  pango = pango;
+  perl = perl;
+  libtiff = libtiff;
+  libjpeg = libjpeg;
+  libpng = libpng;
+}
diff --git a/pkgs/development/libraries/gtk+/pango/builder.sh b/pkgs/development/libraries/gtk+/pango/builder.sh
new file mode 100755
index 00000000000..daa6001cc17
--- /dev/null
+++ b/pkgs/development/libraries/gtk+/pango/builder.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+buildinputs="$pkgconfig $x11 $glib $xft"
+. $stdenv/setup || exit 1
+
+tar xvfj $src || exit 1
+cd pango-* || exit 1
+./configure --prefix=$out --x-includes=$x11/include --x-libraries=$x11/lib || exit 1
+make || exit 1
+make install || exit 1
+
+echo "$xft" > $out/propagated-build-inputs || exit 1
diff --git a/pkgs/development/libraries/gtk+/pango/default.fix b/pkgs/development/libraries/gtk+/pango/default.fix
new file mode 100644
index 00000000000..d598d97f9c3
--- /dev/null
+++ b/pkgs/development/libraries/gtk+/pango/default.fix
@@ -0,0 +1,20 @@
+{stdenv, fetchurl, pkgconfig, x11, glib, xft}:
+
+assert !isNull pkgconfig && !isNull x11 && !isNull glib && !isNull xft;
+assert x11.buildClientLibs;
+assert xft.x11 == x11;
+
+derivation {
+  name = "pango-1.2.5";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = ftp://ftp.gtk.org/pub/gtk/v2.2/pango-1.2.5.tar.bz2;
+    md5 = "df00fe3e71cd297010f24f439b6c8ee6";
+  };
+  stdenv = stdenv;
+  pkgconfig = pkgconfig;
+  x11 = x11;
+  glib = glib;
+  xft = xft;
+}
diff --git a/pkgs/development/libraries/libIDL/builder.sh b/pkgs/development/libraries/libIDL/builder.sh
new file mode 100755
index 00000000000..113dfef5a64
--- /dev/null
+++ b/pkgs/development/libraries/libIDL/builder.sh
@@ -0,0 +1,11 @@
+#! /bin/sh
+
+buildinputs="$pkgconfig $glib $lex $yacc"
+. $stdenv/setup || exit 1
+
+tar xvfj $src || exit 1
+cd libIDL-* || exit 1
+./configure --prefix=$out || exit 1
+make || exit 1
+make install || exit 1
+strip -S $out/lib/*.a || exit 1
diff --git a/pkgs/development/libraries/libIDL/default.fix b/pkgs/development/libraries/libIDL/default.fix
new file mode 100644
index 00000000000..79ef17dd6b8
--- /dev/null
+++ b/pkgs/development/libraries/libIDL/default.fix
@@ -0,0 +1,18 @@
+{stdenv, fetchurl, pkgconfig, glib, lex, yacc}:
+
+assert !isNull pkgconfig && !isNull gtk && !isNull lex && !isNull yacc;
+
+derivation {
+  name = "libIDL-0.8.2";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = ftp://ftp.gnome.org/pub/gnome/sources/libIDL/0.8/libIDL-0.8.2.tar.bz2;
+    md5 = "a75d2dbf3a3c66b567047c94245f8b82";
+  };
+  stdenv = stdenv;
+  pkgconfig = pkgconfig;
+  glib = glib;
+  lex = lex;
+  yacc = yacc;
+}
diff --git a/pkgs/development/libraries/libjpeg/builder.sh b/pkgs/development/libraries/libjpeg/builder.sh
new file mode 100755
index 00000000000..9a27a8545c4
--- /dev/null
+++ b/pkgs/development/libraries/libjpeg/builder.sh
@@ -0,0 +1,15 @@
+#! /bin/sh
+
+. $stdenv/setup || exit 1
+
+tar xvfz $src || exit 1
+cd jpeg-* || exit 1
+./configure --prefix=$out --enable-shared || exit 1
+make || exit 1
+mkdir $out || exit 1
+mkdir $out/bin || exit 1
+mkdir $out/lib || exit 1
+mkdir $out/include || exit 1
+mkdir $out/man || exit 1
+mkdir $out/man/man1 || exit 1
+make install || exit 1
diff --git a/pkgs/development/libraries/libjpeg/default.fix b/pkgs/development/libraries/libjpeg/default.fix
new file mode 100644
index 00000000000..80946833f72
--- /dev/null
+++ b/pkgs/development/libraries/libjpeg/default.fix
@@ -0,0 +1,10 @@
+{stdenv, fetchurl}: derivation {
+  name = "libjpeg-6b";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = http://www.ijg.org/files/jpegsrc.v6b.tar.gz;
+    md5 = "dbd5f3b47ed13132f04c685d608a7547";
+  };
+  stdenv = stdenv;
+}
diff --git a/pkgs/development/libraries/libpng/builder.sh b/pkgs/development/libraries/libpng/builder.sh
new file mode 100755
index 00000000000..d601bfa5fbf
--- /dev/null
+++ b/pkgs/development/libraries/libpng/builder.sh
@@ -0,0 +1,16 @@
+#! /bin/sh
+
+buildinputs="$zlib"
+. $stdenv/setup || exit 1
+
+tar xvfj $src || exit 1
+cd libpng-* || exit 1
+make -f scripts/makefile.linux || exit 1
+mkdir $out || exit 1
+mkdir $out/bin || exit 1
+mkdir $out/lib || exit 1
+mkdir $out/include || exit 1
+make -f scripts/makefile.linux install prefix=$out || exit 1
+strip -S $out/lib/*.a || exit 1
+
+echo "$zlib" > $out/propagated-build-inputs || exit 1
diff --git a/pkgs/development/libraries/libpng/default.fix b/pkgs/development/libraries/libpng/default.fix
new file mode 100644
index 00000000000..47322de7d17
--- /dev/null
+++ b/pkgs/development/libraries/libpng/default.fix
@@ -0,0 +1,15 @@
+{stdenv, fetchurl, zlib}:
+
+assert !isNull zlib;
+
+derivation {
+  name = "libpng-1.2.5";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = http://heanet.dl.sourceforge.net/sourceforge/png-mng/libpng-1.2.5.tar.bz2;
+    md5 = "3fc28af730f12ace49b14568de4ad934";
+  };
+  stdenv = stdenv;
+  zlib = zlib;
+}
diff --git a/pkgs/development/libraries/libtiff/builder.sh b/pkgs/development/libraries/libtiff/builder.sh
new file mode 100755
index 00000000000..c237077c8b4
--- /dev/null
+++ b/pkgs/development/libraries/libtiff/builder.sh
@@ -0,0 +1,16 @@
+#! /bin/sh
+
+buildinputs="$zlib $libjpeg"
+. $stdenv/setup || exit 1
+
+tar xvfz $src || exit 1
+cd tiff-* || exit 1
+./configure --prefix=$out --with-DIR_MAN=$out/man \
+ --with-ZIP --with-JPEG \
+ --with-DIRS_LIBINC="$zlib/include $libjpeg/include" || exit 1
+make || exit 1
+mkdir $out || exit 1
+make install || exit 1
+strip -S $out/lib/*.a || exit 1
+
+echo "$zlib $libjpeg" > $out/propagated-build-inputs || exit 1
diff --git a/pkgs/development/libraries/libtiff/default.fix b/pkgs/development/libraries/libtiff/default.fix
new file mode 100644
index 00000000000..7a14a63ce33
--- /dev/null
+++ b/pkgs/development/libraries/libtiff/default.fix
@@ -0,0 +1,16 @@
+{stdenv, fetchurl, zlib, libjpeg}:
+
+assert !isNull zlib && !isNull libjpeg;
+
+derivation {
+  name = "libtiff-3.5.7";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = ftp://ftp.remotesensing.org/pub/libtiff/tiff-v3.5.7.tar.gz;
+    md5 = "82243b5ae9b7c9e492aeebc501680990";
+  };
+  stdenv = stdenv;
+  zlib = zlib;
+  libjpeg = libjpeg;
+}
diff --git a/pkgs/development/libraries/libxml2/builder.sh b/pkgs/development/libraries/libxml2/builder.sh
new file mode 100755
index 00000000000..1b4e58174c8
--- /dev/null
+++ b/pkgs/development/libraries/libxml2/builder.sh
@@ -0,0 +1,11 @@
+#! /bin/sh
+
+buildinputs="$zlib"
+. $stdenv/setup || exit 1
+
+tar xvfz $src || exit 1
+cd libxml2-* || exit 1
+./configure --prefix=$out || exit 1
+make || exit 1
+make install || exit 1
+strip -S $out/lib/*.a || exit 1
diff --git a/pkgs/development/libraries/libxml2/default.fix b/pkgs/development/libraries/libxml2/default.fix
new file mode 100644
index 00000000000..3e2fb8b13e5
--- /dev/null
+++ b/pkgs/development/libraries/libxml2/default.fix
@@ -0,0 +1,15 @@
+{stdenv, fetchurl, zlib}:
+
+assert !isNull zlib;
+
+derivation {
+  name = "libxml2-2.6.2";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = http://rpmfind.net/pub/libxml/libxml2-2.6.2.tar.gz;
+    md5 = "56e7f74d3d44cc16790ad08624faef64";
+  };
+  stdenv = stdenv;
+  zlib = zlib;
+}
diff --git a/pkgs/development/libraries/openssl/builder.sh b/pkgs/development/libraries/openssl/builder.sh
new file mode 100755
index 00000000000..c1493365ae6
--- /dev/null
+++ b/pkgs/development/libraries/openssl/builder.sh
@@ -0,0 +1,16 @@
+#! /bin/sh
+
+. $stdenv/setup || exit 1
+export PATH=$perl/bin:$PATH
+
+tar xvfz $src || exit 1
+cd openssl-* || exit 1
+./config --prefix=$out shared || exit 1
+make || exit 1
+mkdir $out || exit 1
+make install || exit 1
+
+# Bug fix: openssl does a `chmod 644' on the pkgconfig directory.
+chmod 755 $out/lib/pkgconfig || exit 1
+
+echo $envpkgs > $out/envpkgs || exit 1
diff --git a/pkgs/development/libraries/openssl/default.fix b/pkgs/development/libraries/openssl/default.fix
new file mode 100644
index 00000000000..38bf22cb0bf
--- /dev/null
+++ b/pkgs/development/libraries/openssl/default.fix
@@ -0,0 +1,11 @@
+{stdenv, fetchurl, perl}: derivation {
+  name = "openssl-0.9.7c";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+      url = http://www.openssl.org/source/openssl-0.9.7c.tar.gz;
+      md5 = "c54fb36218adaaaba01ef733cd88c8ec";
+    };
+  stdenv = stdenv;
+  perl = perl;
+}
diff --git a/pkgs/development/libraries/pcre/builder.sh b/pkgs/development/libraries/pcre/builder.sh
new file mode 100755
index 00000000000..dea883667fc
--- /dev/null
+++ b/pkgs/development/libraries/pcre/builder.sh
@@ -0,0 +1,9 @@
+#! /bin/sh
+
+. $stdenv/setup || exit 1
+
+tar xvfj $src || exit 1
+cd pcre-* || exit 1
+./configure --prefix=$out || exit 1
+make || exit 1
+make install || exit 1
diff --git a/pkgs/development/libraries/pcre/default.fix b/pkgs/development/libraries/pcre/default.fix
new file mode 100644
index 00000000000..9e18d88fccf
--- /dev/null
+++ b/pkgs/development/libraries/pcre/default.fix
@@ -0,0 +1,10 @@
+{stdenv, fetchurl}: derivation {
+  name = "pcre-4.3";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-4.3.tar.bz2;
+    md5 = "7bc7d5b590a41e6f9ede30f272002a02";
+  };
+  stdenv = stdenv;
+}
diff --git a/pkgs/development/libraries/xft/builder.sh b/pkgs/development/libraries/xft/builder.sh
new file mode 100755
index 00000000000..f4432e079bf
--- /dev/null
+++ b/pkgs/development/libraries/xft/builder.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+buildinputs="$pkgconfig $fontconfig $x11"
+. $stdenv/setup || exit 1
+
+tar xvfz $src || exit 1
+cd xft-* || exit 1
+./configure --prefix=$out --x-includes=$x11/include --x-libraries=$x11/lib || exit 1
+make || exit 1
+make install || exit 1
+
+echo "$fontconfig" > $out/propagated-build-inputs || exit 1
diff --git a/pkgs/development/libraries/xft/default.fix b/pkgs/development/libraries/xft/default.fix
new file mode 100644
index 00000000000..0764a1dd80a
--- /dev/null
+++ b/pkgs/development/libraries/xft/default.fix
@@ -0,0 +1,18 @@
+{stdenv, fetchurl, pkgconfig, x11, fontconfig}:
+
+assert !isNull pkgconfig && !isNull x11 && !isNull fontconfig;
+assert fontconfig.x11 == x11;
+
+derivation {
+  name = "xft-2.1.2";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = http://pdx.freedesktop.org/software/fontconfig/releases/xft-2.1.2.tar.gz;
+    md5 = "defb7e801d4938b8b15a426ae57e2f3f";
+  };
+  stdenv = stdenv;
+  pkgconfig = pkgconfig;
+  x11 = x11;
+  fontconfig = fontconfig;
+}
diff --git a/pkgs/development/libraries/zlib/builder.sh b/pkgs/development/libraries/zlib/builder.sh
new file mode 100755
index 00000000000..4ca1a830544
--- /dev/null
+++ b/pkgs/development/libraries/zlib/builder.sh
@@ -0,0 +1,10 @@
+#! /bin/sh
+
+. $stdenv/setup || exit 1
+
+tar xvfz $src || exit 1
+cd zlib-* || exit 1
+./configure --prefix=$out --shared || exit 1
+make || exit 1
+mkdir $out || exit 1
+make install || exit 1
diff --git a/pkgs/development/libraries/zlib/default.fix b/pkgs/development/libraries/zlib/default.fix
new file mode 100644
index 00000000000..7dfe3e6a9ab
--- /dev/null
+++ b/pkgs/development/libraries/zlib/default.fix
@@ -0,0 +1,10 @@
+{stdenv, fetchurl}: derivation {
+  name = "zlib-1.1.4";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = http://www.gzip.org/zlib/zlib-1.1.4.tar.gz;
+    md5 = "abc405d0bdd3ee22782d7aa20e440f08";
+  };
+  stdenv = stdenv;
+}
diff --git a/pkgs/development/tools/build-managers/gnumake/builder.sh b/pkgs/development/tools/build-managers/gnumake/builder.sh
new file mode 100755
index 00000000000..362de7cd9a8
--- /dev/null
+++ b/pkgs/development/tools/build-managers/gnumake/builder.sh
@@ -0,0 +1,9 @@
+#! /bin/sh
+
+. $stdenv/setup || exit 1
+
+tar xvfj $src || exit 1
+cd make-* || exit 1
+./configure --prefix=$out || exit 1
+make || exit 1
+make install || exit 1
diff --git a/pkgs/development/tools/build-managers/gnumake/default.fix b/pkgs/development/tools/build-managers/gnumake/default.fix
new file mode 100644
index 00000000000..6ca56d57ba6
--- /dev/null
+++ b/pkgs/development/tools/build-managers/gnumake/default.fix
@@ -0,0 +1,10 @@
+{stdenv, fetchurl}: derivation {
+  name = "gnumake-3.80";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = ftp://ftp.nluug.nl/pub/gnu/make/make-3.80.tar.bz2;
+    md5 = "0bbd1df101bc0294d440471e50feca71";
+  };
+  stdenv = stdenv;
+}
diff --git a/pkgs/development/tools/misc/binutils/builder.sh b/pkgs/development/tools/misc/binutils/builder.sh
new file mode 100755
index 00000000000..7782ea08988
--- /dev/null
+++ b/pkgs/development/tools/misc/binutils/builder.sh
@@ -0,0 +1,17 @@
+#! /bin/sh
+
+. $stdenv/setup || exit 1
+
+tar xvfj $src || exit 1
+cd binutils-* || exit 1
+
+# Clear the default library search path.
+if test "$noSysDirs" == "1"; then
+    echo 'NATIVE_LIB_DIRS=' >> ld/configure.tgt || exit 1
+fi
+
+./configure --prefix=$out || exit 1
+make || exit 1
+make install || exit 1
+
+strip -S $out/lib/*.a || exit 1
diff --git a/pkgs/development/tools/misc/binutils/default.fix b/pkgs/development/tools/misc/binutils/default.fix
new file mode 100644
index 00000000000..07d6b416a54
--- /dev/null
+++ b/pkgs/development/tools/misc/binutils/default.fix
@@ -0,0 +1,11 @@
+{stdenv, fetchurl}: derivation {
+  name = "binutils-2.14";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = ftp://ftp.nluug.nl/pub/gnu/binutils/binutils-2.14.tar.bz2;
+    md5 = "2da8def15d28af3ec6af0982709ae90a";
+  };
+  stdenv = stdenv;
+  noSysDirs = stdenv.noSysDirs;
+}
diff --git a/pkgs/development/tools/misc/gnum4/builder.sh b/pkgs/development/tools/misc/gnum4/builder.sh
new file mode 100755
index 00000000000..03f201582bb
--- /dev/null
+++ b/pkgs/development/tools/misc/gnum4/builder.sh
@@ -0,0 +1,9 @@
+#! /bin/sh
+
+. $stdenv/setup || exit 1
+
+tar xvfz $src || exit 1
+cd m4-* || exit 1
+./configure --prefix=$out || exit 1
+make || exit 1
+make install || exit 1
diff --git a/pkgs/development/tools/misc/gnum4/default.fix b/pkgs/development/tools/misc/gnum4/default.fix
new file mode 100644
index 00000000000..25d095d387a
--- /dev/null
+++ b/pkgs/development/tools/misc/gnum4/default.fix
@@ -0,0 +1,11 @@
+{stdenv, fetchurl}:
+derivation {
+  name = "gnum4-1.4";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = ftp://ftp.nluug.nl/pub/gnu/m4/m4-1.4.tar.gz;
+    md5 = "9eb2dd07740b2d2f3c7adb3e8d299bda";
+  };
+  stdenv = stdenv;
+}
diff --git a/pkgs/development/tools/misc/pkgconfig/builder.sh b/pkgs/development/tools/misc/pkgconfig/builder.sh
new file mode 100755
index 00000000000..5ec940cb03a
--- /dev/null
+++ b/pkgs/development/tools/misc/pkgconfig/builder.sh
@@ -0,0 +1,10 @@
+#! /bin/sh
+
+. $stdenv/setup || exit 1
+
+tar xvfz $src || exit 1
+cd pkgconfig-* || exit 1
+./configure --prefix=$out || exit 1
+make || exit 1
+mkdir $out || exit 1
+make install || exit 1
diff --git a/pkgs/development/tools/misc/pkgconfig/default.fix b/pkgs/development/tools/misc/pkgconfig/default.fix
new file mode 100644
index 00000000000..9194b041843
--- /dev/null
+++ b/pkgs/development/tools/misc/pkgconfig/default.fix
@@ -0,0 +1,10 @@
+{stdenv, fetchurl}: derivation {
+  name = "pkgconfig-0.15.0";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = http://www.freedesktop.org/software/pkgconfig/releases/pkgconfig-0.15.0.tar.gz;
+    md5 = "a7e4f60a6657dbc434334deb594cc242";
+  };
+  stdenv = stdenv;
+}
diff --git a/pkgs/development/tools/parsing/bison/builder.sh b/pkgs/development/tools/parsing/bison/builder.sh
new file mode 100755
index 00000000000..c112a067c7b
--- /dev/null
+++ b/pkgs/development/tools/parsing/bison/builder.sh
@@ -0,0 +1,10 @@
+#! /bin/sh
+
+buildinputs="$m4"
+. $stdenv/setup || exit 1
+
+tar xvfj $src || exit 1
+cd bison-* || exit 1
+./configure --prefix=$out || exit 1
+make || exit 1
+make install || exit 1
diff --git a/pkgs/development/tools/parsing/bison/default.fix b/pkgs/development/tools/parsing/bison/default.fix
new file mode 100644
index 00000000000..fc8941b76f3
--- /dev/null
+++ b/pkgs/development/tools/parsing/bison/default.fix
@@ -0,0 +1,13 @@
+{stdenv, fetchurl, m4}:
+assert !isNull m4;
+derivation {
+  name = "bison-1.875";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = ftp://ftp.nluug.nl/pub/gnu/bison/bison-1.875.tar.bz2;
+    md5 = "b7f8027b249ebd4dd0cc948943a71af0";
+  };
+  stdenv = stdenv;
+  m4 = m4;
+}
diff --git a/pkgs/development/tools/parsing/flex/builder.sh b/pkgs/development/tools/parsing/flex/builder.sh
new file mode 100755
index 00000000000..4c097580550
--- /dev/null
+++ b/pkgs/development/tools/parsing/flex/builder.sh
@@ -0,0 +1,10 @@
+#! /bin/sh
+
+export buildinputs="$yacc"
+. $stdenv/setup || exit 1
+
+tar xvfz $src || exit 1
+cd flex-* || exit 1
+./configure --prefix=$out || exit 1
+make || exit 1
+make install || exit 1
diff --git a/pkgs/development/tools/parsing/flex/default.fix b/pkgs/development/tools/parsing/flex/default.fix
new file mode 100644
index 00000000000..605c29db2d2
--- /dev/null
+++ b/pkgs/development/tools/parsing/flex/default.fix
@@ -0,0 +1,13 @@
+{stdenv, fetchurl, yacc}:
+assert !isNull yacc;
+derivation {
+  name = "flex-2.5.4a";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = ftp://ftp.nluug.nl/pub/gnu/flex/flex-2.5.4a.tar.gz;
+    md5 = "bd8753d0b22e1f4ec87a553a73021adf";
+  };
+  stdenv = stdenv;
+  yacc = yacc;
+}