summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2004-03-29 17:23:01 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2004-03-29 17:23:01 +0000
commit12ae5363ea658d399bdb008f6ded3cde355f9310 (patch)
treee2a2ab3210854bfaad01f955c32b1cda724a8790
parentbc71554fc80a760c3a8e01f9e9e97500aa9ccde1 (diff)
downloadnixpkgs-12ae5363ea658d399bdb008f6ded3cde355f9310.tar
nixpkgs-12ae5363ea658d399bdb008f6ded3cde355f9310.tar.gz
nixpkgs-12ae5363ea658d399bdb008f6ded3cde355f9310.tar.bz2
nixpkgs-12ae5363ea658d399bdb008f6ded3cde355f9310.tar.lz
nixpkgs-12ae5363ea658d399bdb008f6ded3cde355f9310.tar.xz
nixpkgs-12ae5363ea658d399bdb008f6ded3cde355f9310.tar.zst
nixpkgs-12ae5363ea658d399bdb008f6ded3cde355f9310.zip
* Remove trivial builders.
* Make builders unexecutable by removing the hash-bang line and
  execute permission.
* Convert calls to `derivation' to `mkDerivation'.
* Remove `system' and `stdenv' attributes from calls to
  `mkDerivation'.  These transformations were all done automatically,
  so it is quite possible I broke stuff.
* Put the `mkDerivation' function in stdenv/generic.

svn path=/nixpkgs/trunk/; revision=874
-rw-r--r--[-rwxr-xr-x]pkgs/applications/editors/emacs/modes/nxml/builder.sh2
-rw-r--r--pkgs/applications/editors/emacs/modes/nxml/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/applications/graphics/gqview/builder.sh2
-rw-r--r--pkgs/applications/graphics/gqview/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/applications/misc/hello/builder.sh2
-rw-r--r--pkgs/applications/misc/hello/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/applications/networking/browsers/firefox/builder.sh2
-rw-r--r--pkgs/applications/networking/browsers/firefox/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/applications/networking/mailreaders/sylpheed/builder.sh2
-rw-r--r--pkgs/applications/networking/mailreaders/sylpheed/default.nix5
-rwxr-xr-xpkgs/applications/networking/newsreaders/pan/builder.sh5
-rw-r--r--pkgs/applications/networking/newsreaders/pan/default.nix11
-rw-r--r--[-rwxr-xr-x]pkgs/applications/version-management/subversion/builder.sh2
-rw-r--r--pkgs/applications/version-management/subversion/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/applications/video/MPlayer/builder.sh2
-rw-r--r--pkgs/applications/video/MPlayer/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/applications/video/MPlayer/win32codecs/builder.sh2
-rw-r--r--pkgs/applications/video/MPlayer/win32codecs/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/applications/video/mplayerplug-in/builder.sh2
-rw-r--r--pkgs/applications/video/mplayerplug-in/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/applications/video/vlc/builder.sh2
-rw-r--r--pkgs/applications/video/vlc/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/applications/video/zapping/builder.sh2
-rw-r--r--pkgs/applications/video/zapping/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/build-support/fetchfile/builder.sh2
-rw-r--r--pkgs/build-support/fetchfile/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/build-support/fetchsvn/builder.sh2
-rw-r--r--pkgs/build-support/fetchsvn/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/build-support/fetchurl/builder.sh2
-rw-r--r--pkgs/build-support/fetchurl/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/build-support/gcc-wrapper/builder.sh4
-rw-r--r--pkgs/build-support/gcc-wrapper/default.nix9
-rw-r--r--[-rwxr-xr-x]pkgs/data/sgml+xml/schemas/xml-dtd/docbook/builder.sh2
-rw-r--r--pkgs/data/sgml+xml/schemas/xml-dtd/docbook/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/data/sgml+xml/stylesheets/xslt/docbook/builder.sh2
-rw-r--r--pkgs/data/sgml+xml/stylesheets/xslt/docbook/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/compilers/gcc/builder.sh2
-rw-r--r--pkgs/development/compilers/gcc/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/development/compilers/ghc/builder.sh2
-rw-r--r--pkgs/development/compilers/ghc/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/development/compilers/helium/builder.sh2
-rw-r--r--pkgs/development/compilers/helium/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/development/compilers/j2sdk/builder.sh1
-rw-r--r--pkgs/development/compilers/j2sdk/default.nix1
-rw-r--r--[-rwxr-xr-x]pkgs/development/compilers/jikes/builder.sh2
-rw-r--r--pkgs/development/compilers/jikes/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/compilers/strategoxt/builder.sh2
-rw-r--r--pkgs/development/compilers/strategoxt/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/development/compilers/tiger/builder.sh2
-rw-r--r--pkgs/development/compilers/tiger/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/interpreters/j2re/builder.sh1
-rw-r--r--pkgs/development/interpreters/j2re/default.nix1
-rw-r--r--[-rwxr-xr-x]pkgs/development/interpreters/perl/builder.sh2
-rw-r--r--pkgs/development/interpreters/perl/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/development/interpreters/python/builder.sh2
-rw-r--r--pkgs/development/interpreters/python/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/a52dec/builder.sh2
-rw-r--r--pkgs/development/libraries/a52dec/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/audiofile/builder.sh2
-rw-r--r--pkgs/development/libraries/audiofile/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/db4/builder.sh2
-rw-r--r--pkgs/development/libraries/db4/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/expat/builder.sh2
-rw-r--r--pkgs/development/libraries/expat/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/fontconfig/builder.sh2
-rw-r--r--pkgs/development/libraries/fontconfig/default.nix4
-rwxr-xr-xpkgs/development/libraries/freedesktop/libICE/builder.sh3
-rw-r--r--pkgs/development/libraries/freedesktop/libICE/default.nix4
-rwxr-xr-xpkgs/development/libraries/freedesktop/libSM/builder.sh3
-rw-r--r--pkgs/development/libraries/freedesktop/libSM/default.nix4
-rwxr-xr-xpkgs/development/libraries/freedesktop/libX11/builder.sh3
-rw-r--r--pkgs/development/libraries/freedesktop/libX11/default.nix4
-rwxr-xr-xpkgs/development/libraries/freedesktop/libXau/builder.sh5
-rw-r--r--pkgs/development/libraries/freedesktop/libXau/default.nix4
-rwxr-xr-xpkgs/development/libraries/freedesktop/libXt/builder.sh3
-rw-r--r--pkgs/development/libraries/freedesktop/libXt/default.nix4
-rwxr-xr-xpkgs/development/libraries/freedesktop/libXtrans/builder.sh5
-rw-r--r--pkgs/development/libraries/freedesktop/libXtrans/default.nix4
-rwxr-xr-xpkgs/development/libraries/freedesktop/xextensions/builder.sh5
-rw-r--r--pkgs/development/libraries/freedesktop/xextensions/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/freedesktop/xlibs/builder.sh1
-rw-r--r--pkgs/development/libraries/freedesktop/xlibs/default.nix4
-rwxr-xr-xpkgs/development/libraries/freedesktop/xproto/builder.sh5
-rw-r--r--pkgs/development/libraries/freedesktop/xproto/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/freetype/builder.sh2
-rw-r--r--pkgs/development/libraries/freetype/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/gettext/builder.sh2
-rw-r--r--pkgs/development/libraries/gettext/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/glibc/builder.sh2
-rw-r--r--pkgs/development/libraries/glibc/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/gnet/builder.sh2
-rw-r--r--pkgs/development/libraries/gnet/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/gnome/GConf/builder.sh2
-rw-r--r--pkgs/development/libraries/gnome/GConf/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/gnome/ORBit2/builder.sh2
-rw-r--r--pkgs/development/libraries/gnome/ORBit2/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/gnome/esound/builder.sh2
-rw-r--r--pkgs/development/libraries/gnome/esound/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/gnome/gnome-mime-data/builder.sh2
-rw-r--r--pkgs/development/libraries/gnome/gnome-mime-data/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/gnome/gnome-vfs/builder.sh2
-rw-r--r--pkgs/development/libraries/gnome/gnome-vfs/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/gnome/libIDL/builder.sh2
-rw-r--r--pkgs/development/libraries/gnome/libIDL/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/gnome/libart_lgpl/builder.sh2
-rw-r--r--pkgs/development/libraries/gnome/libart_lgpl/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/gnome/libbonobo/builder.sh2
-rw-r--r--pkgs/development/libraries/gnome/libbonobo/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/gnome/libbonoboui/builder.sh2
-rw-r--r--pkgs/development/libraries/gnome/libbonoboui/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/gnome/libglade/builder.sh2
-rw-r--r--pkgs/development/libraries/gnome/libglade/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/gnome/libgnome/builder.sh2
-rw-r--r--pkgs/development/libraries/gnome/libgnome/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/gnome/libgnomecanvas/builder.sh2
-rw-r--r--pkgs/development/libraries/gnome/libgnomecanvas/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/gnome/libgnomeui/builder.sh2
-rw-r--r--pkgs/development/libraries/gnome/libgnomeui/default.nix4
-rwxr-xr-xpkgs/development/libraries/gtk+-1/gdk-pixbuf/builder.sh3
-rw-r--r--pkgs/development/libraries/gtk+-1/gdk-pixbuf/default.nix4
-rwxr-xr-xpkgs/development/libraries/gtk+-1/glib/builder.sh3
-rw-r--r--pkgs/development/libraries/gtk+-1/glib/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/gtk+-1/gtk+/builder.sh1
-rw-r--r--pkgs/development/libraries/gtk+-1/gtk+/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/gtk+/atk/builder.sh2
-rw-r--r--pkgs/development/libraries/gtk+/atk/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/gtk+/glib/builder.sh2
-rw-r--r--pkgs/development/libraries/gtk+/glib/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/gtk+/gtk+/builder.sh2
-rw-r--r--pkgs/development/libraries/gtk+/gtk+/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/gtk+/pango/builder.sh2
-rw-r--r--pkgs/development/libraries/gtk+/pango/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/libdvdcss/builder.sh2
-rw-r--r--pkgs/development/libraries/libdvdcss/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/libdvdplay/builder.sh2
-rw-r--r--pkgs/development/libraries/libdvdplay/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/libdvdread/builder.sh2
-rw-r--r--pkgs/development/libraries/libdvdread/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/libjpeg/builder.sh2
-rw-r--r--pkgs/development/libraries/libjpeg/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/libmad/builder.sh2
-rw-r--r--pkgs/development/libraries/libmad/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/libpng/builder.sh2
-rw-r--r--pkgs/development/libraries/libpng/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/libtiff/builder.sh2
-rw-r--r--pkgs/development/libraries/libtiff/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/libxml2/builder.sh2
-rw-r--r--pkgs/development/libraries/libxml2/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/libxslt/builder.sh2
-rw-r--r--pkgs/development/libraries/libxslt/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/mpeg2dec/builder.sh2
-rw-r--r--pkgs/development/libraries/mpeg2dec/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/ncurses/builder.sh2
-rw-r--r--pkgs/development/libraries/ncurses/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/openssl/builder.sh2
-rw-r--r--pkgs/development/libraries/openssl/default.nix5
-rwxr-xr-xpkgs/development/libraries/pcre/builder.sh3
-rw-r--r--pkgs/development/libraries/pcre/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/popt/builder.sh2
-rw-r--r--pkgs/development/libraries/popt/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/rna/builder.sh2
-rw-r--r--pkgs/development/libraries/rna/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/scrollkeeper/builder.sh2
-rw-r--r--pkgs/development/libraries/scrollkeeper/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/wxGTK/builder.sh2
-rw-r--r--pkgs/development/libraries/wxGTK/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/xft/builder.sh2
-rw-r--r--pkgs/development/libraries/xft/default.nix4
-rwxr-xr-xpkgs/development/libraries/zlib/builder.sh4
-rw-r--r--pkgs/development/libraries/zlib/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/zvbi/builder.sh2
-rw-r--r--pkgs/development/libraries/zvbi/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/perl-modules/BerkeleyDB/builder.sh2
-rw-r--r--pkgs/development/perl-modules/BerkeleyDB/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/perl-modules/XML-Parser/builder.sh2
-rw-r--r--pkgs/development/perl-modules/XML-Parser/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/python-modules/wxPython/builder.sh2
-rw-r--r--pkgs/development/python-modules/wxPython/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/development/tools/build-managers/apache-ant/builder.sh2
-rw-r--r--pkgs/development/tools/build-managers/apache-ant/default.nix4
-rwxr-xr-xpkgs/development/tools/build-managers/gnumake/builder.sh3
-rw-r--r--pkgs/development/tools/build-managers/gnumake/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/development/tools/misc/autoconf/builder.sh2
-rw-r--r--pkgs/development/tools/misc/autoconf/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/tools/misc/autoconf/libtoolbuilder.sh0
-rw-r--r--[-rwxr-xr-x]pkgs/development/tools/misc/automake/builder.sh2
-rw-r--r--pkgs/development/tools/misc/automake/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/tools/misc/binutils/builder.sh2
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/development/tools/misc/gnum4/builder.sh2
-rw-r--r--pkgs/development/tools/misc/gnum4/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/tools/misc/gperf/builder.sh2
-rw-r--r--pkgs/development/tools/misc/gperf/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/tools/misc/libtool/builder.sh2
-rw-r--r--pkgs/development/tools/misc/libtool/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/tools/misc/octavefront/builder.sh2
-rw-r--r--pkgs/development/tools/misc/octavefront/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/development/tools/misc/pkgconfig/builder.sh2
-rw-r--r--pkgs/development/tools/misc/pkgconfig/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/tools/misc/swig/builder.sh2
-rw-r--r--pkgs/development/tools/misc/swig/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/tools/misc/texinfo/builder.sh2
-rw-r--r--pkgs/development/tools/misc/texinfo/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/development/tools/misc/valgrind/builder.sh2
-rw-r--r--pkgs/development/tools/misc/valgrind/default.nix4
-rw-r--r--pkgs/development/tools/parsing/asc-support/builder.sh2
-rw-r--r--[-rwxr-xr-x]pkgs/development/tools/parsing/asf-support/builder.sh2
-rw-r--r--[-rwxr-xr-x]pkgs/development/tools/parsing/bison/builder-new.sh2
-rw-r--r--[-rwxr-xr-x]pkgs/development/tools/parsing/bison/builder.sh2
-rw-r--r--pkgs/development/tools/parsing/bison/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/tools/parsing/flex/builder-new.sh2
-rw-r--r--[-rwxr-xr-x]pkgs/development/tools/parsing/flex/builder.sh2
-rw-r--r--pkgs/development/tools/parsing/flex/default.nix4
-rw-r--r--pkgs/development/tools/parsing/pgen/builder.sh2
-rw-r--r--[-rwxr-xr-x]pkgs/development/tools/parsing/pt-support/builder.sh2
-rw-r--r--[-rwxr-xr-x]pkgs/development/tools/parsing/sdf-support/builder.sh2
-rw-r--r--[-rwxr-xr-x]pkgs/development/tools/parsing/sdf2/builder.sh2
-rw-r--r--pkgs/development/tools/parsing/sdf2/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/development/tools/parsing/sglr/builder.sh2
-rw-r--r--[-rwxr-xr-x]pkgs/development/tools/parsing/toolbuslib/builder.sh2
-rw-r--r--[-rwxr-xr-x]pkgs/misc/nix/builder.sh2
-rw-r--r--pkgs/misc/nix/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/misc/uml-utilities/builder.sh2
-rw-r--r--pkgs/misc/uml-utilities/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/misc/uml/builder.sh2
-rw-r--r--pkgs/misc/uml/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/os-specific/linux/alsa/library/builder.sh2
-rw-r--r--pkgs/os-specific/linux/alsa/library/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/os-specific/linux/e2fsprogs/builder.sh2
-rw-r--r--pkgs/os-specific/linux/e2fsprogs/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/os-specific/linux/kernel-headers/builder.sh2
-rw-r--r--pkgs/os-specific/linux/kernel-headers/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/os-specific/linux/net-tools/builder.sh2
-rw-r--r--pkgs/os-specific/linux/net-tools/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/os-specific/linux/sysvinit/builder.sh2
-rw-r--r--pkgs/os-specific/linux/sysvinit/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/os-specific/linux/util-linux/builder.sh2
-rw-r--r--pkgs/os-specific/linux/util-linux/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/servers/http/apache-httpd/builder.sh2
-rw-r--r--pkgs/servers/http/apache-httpd/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/servers/x11/xfree86/builder.sh2
-rw-r--r--pkgs/servers/x11/xfree86/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/shells/bash/builder.sh2
-rw-r--r--pkgs/shells/bash/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/stdenv/generic/builder.sh2
-rw-r--r--pkgs/stdenv/generic/default-builder.sh (renamed from pkgs/stdenv/nix-linux/default-builder.sh)0
-rw-r--r--pkgs/stdenv/generic/default.nix34
-rw-r--r--[-rwxr-xr-x]pkgs/stdenv/initial/builder.sh2
-rw-r--r--pkgs/stdenv/initial/default.nix24
-rw-r--r--pkgs/stdenv/native/default.nix8
-rw-r--r--pkgs/stdenv/nix-linux/boot.nix2
-rw-r--r--pkgs/stdenv/nix-linux/default.nix43
-rw-r--r--pkgs/stdenv/nix/default.nix8
-rw-r--r--pkgs/system/stdenvs.nix19
-rw-r--r--[-rwxr-xr-x]pkgs/test/simple/builder.sh2
-rwxr-xr-xpkgs/tools/archivers/gnutar/builder.sh3
-rw-r--r--pkgs/tools/archivers/gnutar/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/tools/archivers/unzip/builder.sh2
-rw-r--r--pkgs/tools/archivers/unzip/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/tools/archivers/zip/builder.sh2
-rw-r--r--pkgs/tools/archivers/zip/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/tools/compression/bzip2/builder.sh1
-rw-r--r--pkgs/tools/compression/bzip2/default.nix4
-rwxr-xr-xpkgs/tools/compression/gzip/builder.sh3
-rw-r--r--pkgs/tools/compression/gzip/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/tools/graphics/graphviz/builder.sh2
-rw-r--r--pkgs/tools/graphics/graphviz/default.nix4
-rwxr-xr-xpkgs/tools/misc/coreutils/builder.sh3
-rw-r--r--pkgs/tools/misc/coreutils/default.nix5
-rwxr-xr-xpkgs/tools/misc/findutils/builder.sh3
-rw-r--r--pkgs/tools/misc/findutils/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/tools/misc/getopt/builder.sh2
-rw-r--r--pkgs/tools/misc/getopt/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/tools/networking/bittorrent/builder.sh2
-rw-r--r--pkgs/tools/networking/bittorrent/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/tools/networking/cksfv/builder.sh2
-rw-r--r--pkgs/tools/networking/cksfv/default.nix4
-rwxr-xr-xpkgs/tools/networking/curl/builder.sh4
-rw-r--r--pkgs/tools/networking/curl/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/tools/networking/par2cmdline/builder.sh2
-rw-r--r--pkgs/tools/networking/par2cmdline/default.nix4
-rwxr-xr-xpkgs/tools/networking/wget/builder.sh3
-rw-r--r--pkgs/tools/networking/wget/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/tools/system/which/builder.sh2
-rw-r--r--pkgs/tools/system/which/default.nix4
-rwxr-xr-xpkgs/tools/text/diffutils/builder.sh3
-rw-r--r--pkgs/tools/text/diffutils/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/tools/text/ed/builder.sh2
-rw-r--r--pkgs/tools/text/ed/default.nix4
-rwxr-xr-xpkgs/tools/text/gawk/builder.sh3
-rw-r--r--pkgs/tools/text/gawk/default.nix5
-rwxr-xr-xpkgs/tools/text/gnugrep/builder.sh3
-rw-r--r--pkgs/tools/text/gnugrep/default.nix5
-rw-r--r--[-rwxr-xr-x]pkgs/tools/text/gnupatch/builder.sh2
-rw-r--r--pkgs/tools/text/gnupatch/default.nix4
-rwxr-xr-xpkgs/tools/text/gnused/builder.sh3
-rw-r--r--pkgs/tools/text/gnused/default.nix5
297 files changed, 259 insertions, 807 deletions
diff --git a/pkgs/applications/editors/emacs/modes/nxml/builder.sh b/pkgs/applications/editors/emacs/modes/nxml/builder.sh
index 1be9ef0d164..c0544529008 100755..100644
--- a/pkgs/applications/editors/emacs/modes/nxml/builder.sh
+++ b/pkgs/applications/editors/emacs/modes/nxml/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 . $stdenv/setup || exit 1
 
 mkdir -p $out/emacs/site-lisp || exit 1
diff --git a/pkgs/applications/editors/emacs/modes/nxml/default.nix b/pkgs/applications/editors/emacs/modes/nxml/default.nix
index b5a780b307d..59be8c2f7a8 100644
--- a/pkgs/applications/editors/emacs/modes/nxml/default.nix
+++ b/pkgs/applications/editors/emacs/modes/nxml/default.nix
@@ -1,10 +1,8 @@
-{stdenv, fetchurl}: derivation {
+{stdenv, fetchurl}: stdenv.mkDerivation {
   name = "nxml-mode-20031031";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://www.thaiopensource.com/download/nxml-mode-20031031.tar.gz;
     md5 = "4cbc32047183e6cc1b7a2757d1078bd2";
   };
-  stdenv = stdenv;
 }
diff --git a/pkgs/applications/graphics/gqview/builder.sh b/pkgs/applications/graphics/gqview/builder.sh
index be377db2278..808ab924e62 100755..100644
--- a/pkgs/applications/graphics/gqview/builder.sh
+++ b/pkgs/applications/graphics/gqview/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$pkgconfig $gtk $libpng"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/applications/graphics/gqview/default.nix b/pkgs/applications/graphics/gqview/default.nix
index 2fd40e983b6..32352619a38 100644
--- a/pkgs/applications/graphics/gqview/default.nix
+++ b/pkgs/applications/graphics/gqview/default.nix
@@ -5,9 +5,8 @@ assert pkgconfig != null && gtk != null && libpng != null;
 # not be linked against png.
 assert libpng == gtk.libpng;
 
-derivation {
+stdenv.mkDerivation {
   name = "gqview-1.3.5";
-  system = stdenv.system;
 
   builder = ./builder.sh;
   src = fetchurl {
@@ -15,7 +14,6 @@ derivation {
     md5 = "c44687bdd636ea6e5133fb936abf880a";
   };
 
-  stdenv = stdenv;
   pkgconfig = pkgconfig;
   gtk = gtk;
   libpng = libpng;
diff --git a/pkgs/applications/misc/hello/builder.sh b/pkgs/applications/misc/hello/builder.sh
index 39da4116cb2..bc2a48e30e4 100755..100644
--- a/pkgs/applications/misc/hello/builder.sh
+++ b/pkgs/applications/misc/hello/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$perl"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/applications/misc/hello/default.nix b/pkgs/applications/misc/hello/default.nix
index 2d8d6ae368b..0ea1f12ad74 100644
--- a/pkgs/applications/misc/hello/default.nix
+++ b/pkgs/applications/misc/hello/default.nix
@@ -1,13 +1,11 @@
 {stdenv, fetchurl, perl}:
 
-derivation {
+stdenv.mkDerivation {
   name = "hello-2.1.1";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.nluug.nl/pub/gnu/hello/hello-2.1.1.tar.gz;
     md5 = "70c9ccf9fac07f762c24f2df2290784d";
   };
-  stdenv = stdenv;
   perl = perl;
 }
diff --git a/pkgs/applications/networking/browsers/firefox/builder.sh b/pkgs/applications/networking/browsers/firefox/builder.sh
index 917cbc51330..23a78692136 100755..100644
--- a/pkgs/applications/networking/browsers/firefox/builder.sh
+++ b/pkgs/applications/networking/browsers/firefox/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$pkgconfig $gtk $perl $zip $libIDL"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix
index aaee20e7481..cf435cdddd2 100644
--- a/pkgs/applications/networking/browsers/firefox/default.nix
+++ b/pkgs/applications/networking/browsers/firefox/default.nix
@@ -6,9 +6,8 @@ assert pkgconfig != null && gtk != null && perl != null
 
 assert libIDL.glib == gtk.glib;
 
-derivation {
+stdenv.mkDerivation {
   name = "firefox-0.8";
-  system = stdenv.system;
 
   builder = ./builder.sh;
   src = fetchurl {
@@ -16,7 +15,6 @@ derivation {
     md5 = "cdc85152f4219bf3e3f1a8dc46e04654";
   };
 
-  stdenv = stdenv;
   pkgconfig = pkgconfig;
   gtk = gtk;
   perl = perl;
diff --git a/pkgs/applications/networking/mailreaders/sylpheed/builder.sh b/pkgs/applications/networking/mailreaders/sylpheed/builder.sh
index 061adef213a..85da4ac19b2 100755..100644
--- a/pkgs/applications/networking/mailreaders/sylpheed/builder.sh
+++ b/pkgs/applications/networking/mailreaders/sylpheed/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildInputs="$gtk $gdkpixbuf $openssl"
 . $stdenv/setup
 
diff --git a/pkgs/applications/networking/mailreaders/sylpheed/default.nix b/pkgs/applications/networking/mailreaders/sylpheed/default.nix
index b70b7ad17c5..73ec1e6fb38 100644
--- a/pkgs/applications/networking/mailreaders/sylpheed/default.nix
+++ b/pkgs/applications/networking/mailreaders/sylpheed/default.nix
@@ -7,9 +7,8 @@ assert gtk != null;
 assert sslSupport -> openssl != null;
 assert imageSupport -> gdkpixbuf != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "sylpheed-0.9.10";
-  system = stdenv.system;
 
   builder = ./builder.sh;
   src = fetchurl {
@@ -19,7 +18,7 @@ derivation {
 
   inherit sslSupport imageSupport;
 
-  inherit stdenv gtk;
+  inherit gtk;
   openssl = if sslSupport then openssl else null;
   gdkpixbuf = if imageSupport then gdkpixbuf else null;
 }
diff --git a/pkgs/applications/networking/newsreaders/pan/builder.sh b/pkgs/applications/networking/newsreaders/pan/builder.sh
deleted file mode 100755
index f98a3482350..00000000000
--- a/pkgs/applications/networking/newsreaders/pan/builder.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#! /bin/sh -e
-
-buildInputs="$pkgconfig $gtk $gtkspell $gnet $libxml2 $perl $pcre"
-. $stdenv/setup
-genericBuild
diff --git a/pkgs/applications/networking/newsreaders/pan/default.nix b/pkgs/applications/networking/newsreaders/pan/default.nix
index e71cb9c18cf..aace5f60091 100644
--- a/pkgs/applications/networking/newsreaders/pan/default.nix
+++ b/pkgs/applications/networking/newsreaders/pan/default.nix
@@ -8,9 +8,8 @@ assert pkgconfig != null && gtk != null && gnet != null
 assert spellChecking -> gtkspell != null && gtk == gtkspell.gtk;
 assert gtk.glib == gnet.glib;
 
-derivation {
+stdenv.mkDerivation {
   name = "pan-0.14.2.91";
-  system = stdenv.system;
 
   builder = ./builder.sh;
   src = fetchurl {
@@ -18,6 +17,10 @@ derivation {
     md5 = "4770d899a1c1ba968ce96bc5aeb07b62";
   };
 
-  gtkspell = if spellChecking then gtkspell else null;
-  inherit spellChecking stdenv pkgconfig gtk gnet libxml2 perl pcre;
+  buildInputs = [
+    pkgconfig gtk gnet libxml2 perl pcre
+    (if spellChecking then gtkspell else null)
+  ];
+
+  inherit spellChecking stdenv;
 }
diff --git a/pkgs/applications/version-management/subversion/builder.sh b/pkgs/applications/version-management/subversion/builder.sh
index d3125d18360..8dd5e6fb2e4 100755..100644
--- a/pkgs/applications/version-management/subversion/builder.sh
+++ b/pkgs/applications/version-management/subversion/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildInputs="$openssl $db4 $httpd $swig $python $expat"
 . $stdenv/setup
 
diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix
index 2951eb0c296..171ef1b3ee8 100644
--- a/pkgs/applications/version-management/subversion/default.nix
+++ b/pkgs/applications/version-management/subversion/default.nix
@@ -12,9 +12,8 @@ assert httpServer -> httpd != null && httpd.expat == expat;
 assert sslSupport -> openssl != null && (httpServer -> httpd.openssl == openssl);
 assert swigBindings -> swig != null && swig.pythonSupport;
 
-derivation {
+stdenv.mkDerivation {
   name = "subversion-1.0.1";
-  system = stdenv.system;
 
   builder = ./builder.sh;
   src = fetchurl {
@@ -28,5 +27,5 @@ derivation {
   swig = if swigBindings then swig else null;
   python = if swigBindings then swig.python else null;
 
-  inherit stdenv expat localServer httpServer sslSupport swigBindings;
+  inherit expat localServer httpServer sslSupport swigBindings;
 }
diff --git a/pkgs/applications/video/MPlayer/builder.sh b/pkgs/applications/video/MPlayer/builder.sh
index aa018e73c2f..ca3b4fa1a71 100755..100644
--- a/pkgs/applications/video/MPlayer/builder.sh
+++ b/pkgs/applications/video/MPlayer/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$freetype $x11 $alsa"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/applications/video/MPlayer/default.nix b/pkgs/applications/video/MPlayer/default.nix
index a064162d880..6ce6441751a 100644
--- a/pkgs/applications/video/MPlayer/default.nix
+++ b/pkgs/applications/video/MPlayer/default.nix
@@ -4,9 +4,8 @@
 assert x11 != null && freetype != null;
 assert alsaSupport -> alsa != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "MPlayer-1.0pre3";
-  system = stdenv.system;
 
   builder = ./builder.sh;
   src = fetchurl {
@@ -20,12 +19,10 @@ derivation {
 
   alsaSupport = alsaSupport;
 
-  stdenv = stdenv;
   x11 = x11;
   freetype = freetype;
   alsa = if alsaSupport then alsa else null;
   win32codecs = (import ./win32codecs) {
-    stdenv = stdenv;
     fetchurl = fetchurl;
   };
 }
diff --git a/pkgs/applications/video/MPlayer/win32codecs/builder.sh b/pkgs/applications/video/MPlayer/win32codecs/builder.sh
index 9b76079acab..75ee4963e26 100755..100644
--- a/pkgs/applications/video/MPlayer/win32codecs/builder.sh
+++ b/pkgs/applications/video/MPlayer/win32codecs/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 . $stdenv/setup || exit 1
 
 mkdir $out || exit 1
diff --git a/pkgs/applications/video/MPlayer/win32codecs/default.nix b/pkgs/applications/video/MPlayer/win32codecs/default.nix
index 699875ae159..b66e44bf134 100644
--- a/pkgs/applications/video/MPlayer/win32codecs/default.nix
+++ b/pkgs/applications/video/MPlayer/win32codecs/default.nix
@@ -1,10 +1,8 @@
-{stdenv, fetchurl}: derivation {
+{stdenv, fetchurl}: stdenv.mkDerivation {
   name = "win32codecs-1";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://www2.mplayerhq.hu/MPlayer/releases/codecs/extralite.tar.bz2;
     md5 = "4748ecae87f71e8bda9cb2e2a9bd30b4";
   };
-  stdenv = stdenv;
 }
diff --git a/pkgs/applications/video/mplayerplug-in/builder.sh b/pkgs/applications/video/mplayerplug-in/builder.sh
index 300a445ea0a..2fb9ae91a22 100755..100644
--- a/pkgs/applications/video/mplayerplug-in/builder.sh
+++ b/pkgs/applications/video/mplayerplug-in/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$x11"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/applications/video/mplayerplug-in/default.nix b/pkgs/applications/video/mplayerplug-in/default.nix
index 5337325e426..b999dd1d126 100644
--- a/pkgs/applications/video/mplayerplug-in/default.nix
+++ b/pkgs/applications/video/mplayerplug-in/default.nix
@@ -2,9 +2,8 @@
 
 assert x11 != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "mplayerplug-in-1.0pre2";
-  system = stdenv.system;
 
   builder = ./builder.sh;
   src = fetchurl {
@@ -12,6 +11,5 @@ derivation {
     md5 = "1a6eb243989c143984bb1aac63b5282e";
   };
 
-  stdenv = stdenv;
   x11 = x11;
 }
diff --git a/pkgs/applications/video/vlc/builder.sh b/pkgs/applications/video/vlc/builder.sh
index a07a6b73412..e12aec4e527 100755..100644
--- a/pkgs/applications/video/vlc/builder.sh
+++ b/pkgs/applications/video/vlc/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$x11 $wxGTK $libdvdcss $libdvdread $libdvdplay $mpeg2dec $a52dec $libmad $alsa"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix
index 3776f5a2384..4b554fd6e23 100644
--- a/pkgs/applications/video/vlc/default.nix
+++ b/pkgs/applications/video/vlc/default.nix
@@ -6,9 +6,8 @@ assert x11 != null && wxGTK != null && libdvdcss != null
   && libmad != null && alsa != null;
 assert libdvdplay.libdvdread.libdvdcss == libdvdcss;
 
-derivation {
+stdenv.mkDerivation {
   name = "vlc-0.7.0";
-  system = stdenv.system;
 
   builder = ./builder.sh;
   src = fetchurl {
@@ -16,7 +15,6 @@ derivation {
     md5 = "05efef68528892ca933585c7db0842e3";
   };
 
-  stdenv = stdenv;
   x11 = x11;
   wxGTK = wxGTK;
   libdvdcss = libdvdcss;
diff --git a/pkgs/applications/video/zapping/builder.sh b/pkgs/applications/video/zapping/builder.sh
index cbbfdc4d0da..d30929a7ac2 100755..100644
--- a/pkgs/applications/video/zapping/builder.sh
+++ b/pkgs/applications/video/zapping/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$pkgconfig $perl $python $x11 $libgnomeui \
   $libglade $scrollkeeper $esound $gettext $zvbi $libjpeg $libpng"
 . $stdenv/setup || exit 1
diff --git a/pkgs/applications/video/zapping/default.nix b/pkgs/applications/video/zapping/default.nix
index 809ca969d80..749351a16eb 100644
--- a/pkgs/applications/video/zapping/default.nix
+++ b/pkgs/applications/video/zapping/default.nix
@@ -15,9 +15,8 @@ assert teletextSupport -> zvbi != null && zvbi.pngSupport
 assert jpegSupport -> libjpeg != null;
 assert pngSupport -> libpng != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "zapping-0.7cvs6";
-  system = stdenv.system;
 
   builder = ./builder.sh;
   src = fetchurl {
@@ -29,7 +28,6 @@ derivation {
   jpegSupport = jpegSupport;
   pngSupport = pngSupport;
 
-  stdenv = stdenv;
   pkgconfig = pkgconfig;
   perl = perl;
   python = python;
diff --git a/pkgs/build-support/fetchfile/builder.sh b/pkgs/build-support/fetchfile/builder.sh
index e2d7b256f87..223b977bf14 100755..100644
--- a/pkgs/build-support/fetchfile/builder.sh
+++ b/pkgs/build-support/fetchfile/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 . $stdenv/setup
 
 echo "copying $url into $out..."
diff --git a/pkgs/build-support/fetchfile/default.nix b/pkgs/build-support/fetchfile/default.nix
index 88f7aa42aa8..7c811df59c5 100644
--- a/pkgs/build-support/fetchfile/default.nix
+++ b/pkgs/build-support/fetchfile/default.nix
@@ -1,8 +1,6 @@
-{stdenv}: {pathname, md5}: derivation {
+{stdenv}: {pathname, md5}: stdenv.mkDerivation {
   name = baseNameOf (toString url);
-  system = stdenv.system;
   builder = ./builder.sh;
-  stdenv = stdenv;
   pathname = pathname;
   md5 = md5;
   id = md5;
diff --git a/pkgs/build-support/fetchsvn/builder.sh b/pkgs/build-support/fetchsvn/builder.sh
index 2208b2c6982..15fdd7d7c82 100755..100644
--- a/pkgs/build-support/fetchsvn/builder.sh
+++ b/pkgs/build-support/fetchsvn/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$subversion"
 . $stdenv/setup
 
diff --git a/pkgs/build-support/fetchsvn/default.nix b/pkgs/build-support/fetchsvn/default.nix
index 9a989123928..89208fbc217 100644
--- a/pkgs/build-support/fetchsvn/default.nix
+++ b/pkgs/build-support/fetchsvn/default.nix
@@ -1,8 +1,6 @@
-{stdenv, subversion}: {url, rev}: derivation {
+{stdenv, subversion}: {url, rev}: stdenv.mkDerivation {
   name = "svn-checkout";
-  system = stdenv.system;
   builder = ./builder.sh;
-  stdenv = stdenv;
   subversion = subversion;
   url = url;
   rev = rev;
diff --git a/pkgs/build-support/fetchurl/builder.sh b/pkgs/build-support/fetchurl/builder.sh
index 8c43dfe5ef8..6a4190f7592 100755..100644
--- a/pkgs/build-support/fetchurl/builder.sh
+++ b/pkgs/build-support/fetchurl/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 . $stdenv/setup
 
 header "downloading $out from $url"
diff --git a/pkgs/build-support/fetchurl/default.nix b/pkgs/build-support/fetchurl/default.nix
index f1b9566fb27..b40b90985ac 100644
--- a/pkgs/build-support/fetchurl/default.nix
+++ b/pkgs/build-support/fetchurl/default.nix
@@ -2,11 +2,10 @@
 
 # Note that `curl' may be `null', in case of the native stdenv.
 
-derivation {
+stdenv.mkDerivation {
   name = baseNameOf (toString url);
-  system = stdenv.system;
   builder = ./builder.sh;
   buildInputs = [curl];
   id = md5;
-  inherit stdenv url md5;
+  inherit url md5;
 }
diff --git a/pkgs/build-support/gcc-wrapper/builder.sh b/pkgs/build-support/gcc-wrapper/builder.sh
index 5da6af4bdb6..ae8e6473694 100755..100644
--- a/pkgs/build-support/gcc-wrapper/builder.sh
+++ b/pkgs/build-support/gcc-wrapper/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 . $stdenv/setup
 
 
@@ -79,4 +77,4 @@ sed \
     -e "s^@glibc@^$glibc^g" \
     < $setupHook > $out/nix-support/setup-hook
 
-cp -p $utils $out/nix-support/utils
\ No newline at end of file
+cp -p $utils $out/nix-support/utils
diff --git a/pkgs/build-support/gcc-wrapper/default.nix b/pkgs/build-support/gcc-wrapper/default.nix
index 304f919138f..48687604971 100644
--- a/pkgs/build-support/gcc-wrapper/default.nix
+++ b/pkgs/build-support/gcc-wrapper/default.nix
@@ -1,8 +1,8 @@
-# The Nix `gcc' derivation is not directly usable, since it doesn't
+# The Nix `gcc' stdenv.mkDerivation is not directly usable, since it doesn't
 # know where the C library and standard header files are.  Therefore
 # the compiler produced by that package cannot be installed directly
 # in a user environment and used from the command line.  This
-# derivation provides a wrapper that sets up the right environment
+# stdenv.mkDerivation provides a wrapper that sets up the right environment
 # variables so that the compiler and the linker just "work".
 
 { name, stdenv, nativeTools, nativeGlibc, nativePrefix ? ""
@@ -13,14 +13,13 @@ assert nativeTools -> nativePrefix != "";
 assert !nativeTools -> gcc != null && binutils != null;
 assert !nativeGlibc -> glibc != null;
 
-derivation {
-  system = stdenv.system;
+stdenv.mkDerivation {
   builder = ./builder.sh;
   setupHook = ./setup-hook.sh;
   gccWrapper = ./gcc-wrapper.sh;
   ldWrapper = ./ld-wrapper.sh;
   utils = ./utils.sh;
-  inherit name stdenv nativeTools nativeGlibc nativePrefix gcc glibc binutils;
+  inherit name nativeTools nativeGlibc nativePrefix gcc glibc binutils;
   langC = if nativeTools then true else gcc.langC;
   langCC = if nativeTools then true else gcc.langCC;
   langF77 = if nativeTools then false else gcc.langF77;
diff --git a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/builder.sh b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/builder.sh
index 75ff4d772d0..7ae6913812a 100755..100644
--- a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/builder.sh
+++ b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 . $stdenv/setup || exit 1
 
 mkdir -p $out/xml/dtd/docbook || exit 1
diff --git a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/default.nix b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/default.nix
index a27d35d6cc6..ccb08ffdf72 100644
--- a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/default.nix
+++ b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/default.nix
@@ -2,14 +2,12 @@
 
 assert unzip != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "docbook-xml-4.2";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://www.oasis-open.org/docbook/xml/4.2/docbook-xml-4.2.zip;
     md5 = "73fe50dfe74ca631c1602f558ed8961f";
   };
-  stdenv = stdenv;
   unzip = unzip;
 }
diff --git a/pkgs/data/sgml+xml/stylesheets/xslt/docbook/builder.sh b/pkgs/data/sgml+xml/stylesheets/xslt/docbook/builder.sh
index f28afe09465..b4f23a98605 100755..100644
--- a/pkgs/data/sgml+xml/stylesheets/xslt/docbook/builder.sh
+++ b/pkgs/data/sgml+xml/stylesheets/xslt/docbook/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 . $stdenv/setup || exit 1
 
 mkdir $out || exit 1
diff --git a/pkgs/data/sgml+xml/stylesheets/xslt/docbook/default.nix b/pkgs/data/sgml+xml/stylesheets/xslt/docbook/default.nix
index 1d3e3d0325b..bf87714a77f 100644
--- a/pkgs/data/sgml+xml/stylesheets/xslt/docbook/default.nix
+++ b/pkgs/data/sgml+xml/stylesheets/xslt/docbook/default.nix
@@ -1,12 +1,10 @@
 {stdenv, fetchurl}:
 
-derivation {
+stdenv.mkDerivation {
   name = "docbook-xsl-1.64.1";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://cesnet.dl.sourceforge.net/sourceforge/docbook/docbook-xsl-1.64.1.tar.gz;
     md5 = "ed766902e8381f6206d12f5c326fbd47";
   };
-  stdenv = stdenv;
 }
diff --git a/pkgs/development/compilers/gcc/builder.sh b/pkgs/development/compilers/gcc/builder.sh
index a5aa83cc611..c97c9823b34 100755..100644
--- a/pkgs/development/compilers/gcc/builder.sh
+++ b/pkgs/development/compilers/gcc/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 . $stdenv/setup
 
 
diff --git a/pkgs/development/compilers/gcc/default.nix b/pkgs/development/compilers/gcc/default.nix
index cedd38dac84..46b6a2d863e 100644
--- a/pkgs/development/compilers/gcc/default.nix
+++ b/pkgs/development/compilers/gcc/default.nix
@@ -4,13 +4,12 @@
 
 assert langC;
 
-derivation {
+stdenv.mkDerivation {
   name = "gcc-3.3.3";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.nluug.nl/mirror/languages/gcc/releases/gcc-3.3.3/gcc-3.3.3.tar.bz2;
     md5 = "3c6cfd9fcd180481063b4058cf6faff2";
   };
-  inherit stdenv noSysDirs langC langCC langF77;
+  inherit noSysDirs langC langCC langF77;
 }
diff --git a/pkgs/development/compilers/ghc/builder.sh b/pkgs/development/compilers/ghc/builder.sh
index 9a2a235158f..168ca0cbab7 100755..100644
--- a/pkgs/development/compilers/ghc/builder.sh
+++ b/pkgs/development/compilers/ghc/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$perl $ghc $m4"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/development/compilers/ghc/default.nix b/pkgs/development/compilers/ghc/default.nix
index 5872c81eb8b..fafd3982aa7 100644
--- a/pkgs/development/compilers/ghc/default.nix
+++ b/pkgs/development/compilers/ghc/default.nix
@@ -2,13 +2,12 @@
 
 assert perl != null && ghc != null && m4 != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "ghc-6.2";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://www.haskell.org/ghc/dist/6.2/ghc-6.2-src.tar.bz2;
     md5 = "cc495e263f4384e1d6b38e851bf6eca0";
   };
-  inherit stdenv perl ghc m4;
+  inherit perl ghc m4;
 }
diff --git a/pkgs/development/compilers/helium/builder.sh b/pkgs/development/compilers/helium/builder.sh
index 82667936e43..d7946ab8a52 100755..100644
--- a/pkgs/development/compilers/helium/builder.sh
+++ b/pkgs/development/compilers/helium/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$ghc"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/development/compilers/helium/default.nix b/pkgs/development/compilers/helium/default.nix
index e45aab344e8..ac4ef2fb20d 100644
--- a/pkgs/development/compilers/helium/default.nix
+++ b/pkgs/development/compilers/helium/default.nix
@@ -2,13 +2,12 @@
 
 assert ghc != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "helium-1.2";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://www.cs.uu.nl/helium/distr/helium-1.2-src.tar.gz;
     md5 = "6ea1d6e4436e137d75f5354b4758f299";
   };
-  inherit stdenv ghc;
+  inherit ghc;
 }
diff --git a/pkgs/development/compilers/j2sdk/builder.sh b/pkgs/development/compilers/j2sdk/builder.sh
index 3cf67f8f4ce..1f19cde82a8 100755..100644
--- a/pkgs/development/compilers/j2sdk/builder.sh
+++ b/pkgs/development/compilers/j2sdk/builder.sh
@@ -1,4 +1,3 @@
-#!/bin/sh
 
 . $stdenv/setup || exit 1
 version=j2sdk1.4.2_03
diff --git a/pkgs/development/compilers/j2sdk/default.nix b/pkgs/development/compilers/j2sdk/default.nix
index 91b60e7fa28..aae15370110 100644
--- a/pkgs/development/compilers/j2sdk/default.nix
+++ b/pkgs/development/compilers/j2sdk/default.nix
@@ -3,7 +3,6 @@
 if stdenv.system == "i686-linux"
   then
     (import ./j2sdk-sun-linux.nix) {
-      stdenv   = stdenv;
       fetchurl = fetchurl;
     }
   else
diff --git a/pkgs/development/compilers/jikes/builder.sh b/pkgs/development/compilers/jikes/builder.sh
index 7e0cd9e1361..35b2aa8cc97 100755..100644
--- a/pkgs/development/compilers/jikes/builder.sh
+++ b/pkgs/development/compilers/jikes/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 . $stdenv/setup || exit 1
 
 tar xvfj $src || exit 1
diff --git a/pkgs/development/compilers/jikes/default.nix b/pkgs/development/compilers/jikes/default.nix
index cac79a4cad4..05fd014afc0 100644
--- a/pkgs/development/compilers/jikes/default.nix
+++ b/pkgs/development/compilers/jikes/default.nix
@@ -1,10 +1,8 @@
-{stdenv, fetchurl}: derivation {
+{stdenv, fetchurl}: stdenv.mkDerivation {
   name = "jikes-1.18";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://www-126.ibm.com/pub/jikes/1.18/jikes-1.18.tar.bz2;
     md5 = "74bbcfd31aa2d7df4b86c5fe2db315cc";
   };
-  stdenv = stdenv;
 }
diff --git a/pkgs/development/compilers/strategoxt/builder.sh b/pkgs/development/compilers/strategoxt/builder.sh
index 68289b2f8be..5ccf79af02b 100755..100644
--- a/pkgs/development/compilers/strategoxt/builder.sh
+++ b/pkgs/development/compilers/strategoxt/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildInputs="$aterm $sdf"
 . $stdenv/setup
 
diff --git a/pkgs/development/compilers/strategoxt/default.nix b/pkgs/development/compilers/strategoxt/default.nix
index 75f8eacc3da..b4207a3bb99 100644
--- a/pkgs/development/compilers/strategoxt/default.nix
+++ b/pkgs/development/compilers/strategoxt/default.nix
@@ -1,12 +1,11 @@
 {stdenv, fetchurl, aterm, sdf}:
 
-derivation {
+stdenv.mkDerivation {
   name = "strategoxt-0.9.4";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.stratego-language.org/pub/stratego/StrategoXT/strategoxt-0.9.4.tar.gz;
     md5 = "b61aee784cebac6cce0d96383bdb1b37";
   };
-  inherit stdenv aterm sdf;
+  inherit aterm sdf;
 }
diff --git a/pkgs/development/compilers/tiger/builder.sh b/pkgs/development/compilers/tiger/builder.sh
index 880cd4c4e05..aab09f5e1ee 100755..100644
--- a/pkgs/development/compilers/tiger/builder.sh
+++ b/pkgs/development/compilers/tiger/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$aterm $sdf $strategoxt"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/development/compilers/tiger/default.nix b/pkgs/development/compilers/tiger/default.nix
index c7185fc659b..2fd297b8848 100644
--- a/pkgs/development/compilers/tiger/default.nix
+++ b/pkgs/development/compilers/tiger/default.nix
@@ -1,12 +1,10 @@
-{stdenv, fetchurl, aterm, sdf, strategoxt}: derivation {
+{stdenv, fetchurl, aterm, sdf, strategoxt}: stdenv.mkDerivation {
   name = "tiger-1.3-4631";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://losser.st-lab.cs.uu.nl/~mbravenb/dailydist/tiger/src/tiger-1.3-4631.tar.gz;
     md5 = "1ea6070d84134eb6cff7fb32a75ef90a";
   };
-  stdenv = stdenv;
   aterm = aterm;
   sdf = sdf;
   strategoxt = strategoxt;
diff --git a/pkgs/development/interpreters/j2re/builder.sh b/pkgs/development/interpreters/j2re/builder.sh
index 9e977f2a384..e14d911320b 100755..100644
--- a/pkgs/development/interpreters/j2re/builder.sh
+++ b/pkgs/development/interpreters/j2re/builder.sh
@@ -1,4 +1,3 @@
-#!/bin/sh
 
 . $stdenv/setup || exit 1
 version=j2re1.4.2_03
diff --git a/pkgs/development/interpreters/j2re/default.nix b/pkgs/development/interpreters/j2re/default.nix
index 170ac1bed4d..3fa417657ea 100644
--- a/pkgs/development/interpreters/j2re/default.nix
+++ b/pkgs/development/interpreters/j2re/default.nix
@@ -3,7 +3,6 @@
 if stdenv.system == "i686-linux"
   then
     (import ./j2re-sun-linux.nix) {
-      stdenv   = stdenv;
       fetchurl = fetchurl;
     }
   else
diff --git a/pkgs/development/interpreters/perl/builder.sh b/pkgs/development/interpreters/perl/builder.sh
index e36e0738f50..c1d35465d0b 100755..100644
--- a/pkgs/development/interpreters/perl/builder.sh
+++ b/pkgs/development/interpreters/perl/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs="$patch"
 . $stdenv/setup
 
diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix
index 26f44b9ef81..da3d53abe5f 100644
--- a/pkgs/development/interpreters/perl/default.nix
+++ b/pkgs/development/interpreters/perl/default.nix
@@ -1,8 +1,7 @@
 {stdenv, fetchurl, patch}:
 
-derivation {
+stdenv.mkDerivation {
   name = "perl-5.8.3";
-  system = stdenv.system;
 
   builder = ./builder.sh;
   src = fetchurl {
@@ -19,5 +18,5 @@ derivation {
 
   srcPatch = ./patch;
 
-  inherit stdenv patch;
+  inherit patch;
 }
diff --git a/pkgs/development/interpreters/python/builder.sh b/pkgs/development/interpreters/python/builder.sh
index 9c57a580847..d7baadecdac 100755..100644
--- a/pkgs/development/interpreters/python/builder.sh
+++ b/pkgs/development/interpreters/python/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs=""
 if test -n "$zlibSupport"; then
   buildinputs="$zlib $buildinputs"
diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix
index 4d60896424e..e3e075dc0f1 100644
--- a/pkgs/development/interpreters/python/default.nix
+++ b/pkgs/development/interpreters/python/default.nix
@@ -2,14 +2,13 @@
 
 assert zlibSupport -> zlib != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "python-2.3.3";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
       url = http://www.python.org/ftp/python/2.3.3/Python-2.3.3.tar.bz2;
       md5 = "70ada9f65742ab2c77a96bcd6dffd9b1";
   };
   zlib = if zlibSupport then zlib else null;
-  inherit stdenv zlibSupport;
+  inherit zlibSupport;
 }
diff --git a/pkgs/development/libraries/a52dec/builder.sh b/pkgs/development/libraries/a52dec/builder.sh
index 55367c159e3..1899153fa34 100755..100644
--- a/pkgs/development/libraries/a52dec/builder.sh
+++ b/pkgs/development/libraries/a52dec/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 . $stdenv/setup || exit 1
 
 tar xvfz $src || exit 1
diff --git a/pkgs/development/libraries/a52dec/default.nix b/pkgs/development/libraries/a52dec/default.nix
index 5dbd14fb64f..20692fafb26 100644
--- a/pkgs/development/libraries/a52dec/default.nix
+++ b/pkgs/development/libraries/a52dec/default.nix
@@ -1,10 +1,8 @@
-{stdenv, fetchurl}: derivation {
+{stdenv, fetchurl}: stdenv.mkDerivation {
   name = "a52dec-0.7.4";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://liba52.sourceforge.net/files/a52dec-0.7.4.tar.gz;
     md5 = "caa9f5bc44232dc8aeea773fea56be80";
   };
-  stdenv = stdenv;
 }
diff --git a/pkgs/development/libraries/audiofile/builder.sh b/pkgs/development/libraries/audiofile/builder.sh
index f213ca74ebd..43db47a8b26 100755..100644
--- a/pkgs/development/libraries/audiofile/builder.sh
+++ b/pkgs/development/libraries/audiofile/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs=""
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/development/libraries/audiofile/default.nix b/pkgs/development/libraries/audiofile/default.nix
index c39390666b4..7dc7b7c6c14 100644
--- a/pkgs/development/libraries/audiofile/default.nix
+++ b/pkgs/development/libraries/audiofile/default.nix
@@ -1,12 +1,10 @@
 {stdenv, fetchurl}:
 
-derivation {
+stdenv.mkDerivation {
   name = "audiofile-0.2.3";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://www.68k.org/~michael/audiofile/audiofile-0.2.5.tar.gz;
     md5 = "fd07c62a17ceafa317929e55e51e26c5";
   };
-  stdenv = stdenv;
 }
diff --git a/pkgs/development/libraries/db4/builder.sh b/pkgs/development/libraries/db4/builder.sh
index f32e4ec50dd..8b938d160fe 100755..100644
--- a/pkgs/development/libraries/db4/builder.sh
+++ b/pkgs/development/libraries/db4/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 . $stdenv/setup || exit 1
 
 tar xvfz $src || exit 1
diff --git a/pkgs/development/libraries/db4/default.nix b/pkgs/development/libraries/db4/default.nix
index cfe4a00efe6..9486ec8ba6d 100644
--- a/pkgs/development/libraries/db4/default.nix
+++ b/pkgs/development/libraries/db4/default.nix
@@ -1,10 +1,8 @@
-{stdenv, fetchurl}: derivation {
+{stdenv, fetchurl}: stdenv.mkDerivation {
   name = "db4-4.2.52";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://www.sleepycat.com/update/snapshot/db-4.2.52.tar.gz;
     md5 = "cbc77517c9278cdb47613ce8cb55779f";
   };
-  stdenv = stdenv;
 }
diff --git a/pkgs/development/libraries/expat/builder.sh b/pkgs/development/libraries/expat/builder.sh
index c5ca8edfb92..d425249cbc2 100755..100644
--- a/pkgs/development/libraries/expat/builder.sh
+++ b/pkgs/development/libraries/expat/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 . $stdenv/setup || exit 1
 
 tar xvfz $src || exit 1
diff --git a/pkgs/development/libraries/expat/default.nix b/pkgs/development/libraries/expat/default.nix
index 77b025b739f..d033dfe719e 100644
--- a/pkgs/development/libraries/expat/default.nix
+++ b/pkgs/development/libraries/expat/default.nix
@@ -1,10 +1,8 @@
-{stdenv, fetchurl}: derivation {
+{stdenv, fetchurl}: stdenv.mkDerivation {
   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
index dc4243fadfe..324d2d9f843 100755..100644
--- a/pkgs/development/libraries/fontconfig/builder.sh
+++ b/pkgs/development/libraries/fontconfig/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs="$freetype $expat $x11 $ed"
 . $stdenv/setup
 
diff --git a/pkgs/development/libraries/fontconfig/default.nix b/pkgs/development/libraries/fontconfig/default.nix
index c9340043d90..16e13b75125 100644
--- a/pkgs/development/libraries/fontconfig/default.nix
+++ b/pkgs/development/libraries/fontconfig/default.nix
@@ -5,15 +5,13 @@ assert freetype != null;
 assert expat != null;
 assert ed != null;
 
-derivation {
+stdenv.mkDerivation {
   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;
diff --git a/pkgs/development/libraries/freedesktop/libICE/builder.sh b/pkgs/development/libraries/freedesktop/libICE/builder.sh
deleted file mode 100755
index a73f5a6d5b8..00000000000
--- a/pkgs/development/libraries/freedesktop/libICE/builder.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#! /bin/sh -e
-. $stdenv/setup
-genericBuild
diff --git a/pkgs/development/libraries/freedesktop/libICE/default.nix b/pkgs/development/libraries/freedesktop/libICE/default.nix
index 58dc8794c18..6ff2e851997 100644
--- a/pkgs/development/libraries/freedesktop/libICE/default.nix
+++ b/pkgs/development/libraries/freedesktop/libICE/default.nix
@@ -1,13 +1,11 @@
 {stdenv, fetchurl, pkgconfig, libX11}:
 
-derivation {
+stdenv.mkDerivation {
   name = "libICE-6.3.2";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://freedesktop.org/~xlibs/release/xlibs-1.0/libICE-6.3.2.tar.bz2;
     md5 = "06db02e3df846b127a6e2dc3e345039c";
   };
   buildInputs = [pkgconfig libX11];
-  inherit stdenv;
 }
diff --git a/pkgs/development/libraries/freedesktop/libSM/builder.sh b/pkgs/development/libraries/freedesktop/libSM/builder.sh
deleted file mode 100755
index a73f5a6d5b8..00000000000
--- a/pkgs/development/libraries/freedesktop/libSM/builder.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#! /bin/sh -e
-. $stdenv/setup
-genericBuild
diff --git a/pkgs/development/libraries/freedesktop/libSM/default.nix b/pkgs/development/libraries/freedesktop/libSM/default.nix
index d60b03c1dac..ed1765fa363 100644
--- a/pkgs/development/libraries/freedesktop/libSM/default.nix
+++ b/pkgs/development/libraries/freedesktop/libSM/default.nix
@@ -1,8 +1,7 @@
 {stdenv, fetchurl, pkgconfig, libX11, libICE}:
 
-derivation {
+stdenv.mkDerivation {
   name = "libSM-6.0.2";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://freedesktop.org/~xlibs/release/xlibs-1.0/libSM-6.0.2.tar.bz2;
@@ -10,5 +9,4 @@ derivation {
   };
   buildInputs = [pkgconfig];
   propagatedBuildInputs = [libX11 libICE];
-  inherit stdenv;
 }
diff --git a/pkgs/development/libraries/freedesktop/libX11/builder.sh b/pkgs/development/libraries/freedesktop/libX11/builder.sh
deleted file mode 100755
index a73f5a6d5b8..00000000000
--- a/pkgs/development/libraries/freedesktop/libX11/builder.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#! /bin/sh -e
-. $stdenv/setup
-genericBuild
diff --git a/pkgs/development/libraries/freedesktop/libX11/default.nix b/pkgs/development/libraries/freedesktop/libX11/default.nix
index dc95abe5102..69a6ea554ae 100644
--- a/pkgs/development/libraries/freedesktop/libX11/default.nix
+++ b/pkgs/development/libraries/freedesktop/libX11/default.nix
@@ -1,8 +1,7 @@
 {stdenv, fetchurl, pkgconfig, xproto, xextensions, libXtrans, libXau}:
 
-derivation {
+stdenv.mkDerivation {
   name = "libX11-6.2.1";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://freedesktop.org/~xlibs/release/xlibs-1.0/libX11-6.2.1.tar.bz2;
@@ -10,5 +9,4 @@ derivation {
   };
   buildInputs = [pkgconfig];
   propagatedBuildInputs = [xproto xextensions libXtrans libXau];
-  inherit stdenv;
 }
diff --git a/pkgs/development/libraries/freedesktop/libXau/builder.sh b/pkgs/development/libraries/freedesktop/libXau/builder.sh
deleted file mode 100755
index dc844d758a8..00000000000
--- a/pkgs/development/libraries/freedesktop/libXau/builder.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#! /bin/sh
-
-. $stdenv/setup
-
-genericBuild
diff --git a/pkgs/development/libraries/freedesktop/libXau/default.nix b/pkgs/development/libraries/freedesktop/libXau/default.nix
index be6d6e262c0..894f0d5a088 100644
--- a/pkgs/development/libraries/freedesktop/libXau/default.nix
+++ b/pkgs/development/libraries/freedesktop/libXau/default.nix
@@ -1,13 +1,11 @@
 {stdenv, fetchurl, pkgconfig, xproto}:
 
-derivation {
+stdenv.mkDerivation {
   name = "libXau-0.1.1";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://freedesktop.org/~xlibs/release/xlibs-1.0/libXau-0.1.1.tar.bz2;
     md5 = "3d747ada4a7d17538fa21c62d5608656";
   };
   buildInputs = [pkgconfig xproto];
-  inherit stdenv;
 }
diff --git a/pkgs/development/libraries/freedesktop/libXt/builder.sh b/pkgs/development/libraries/freedesktop/libXt/builder.sh
deleted file mode 100755
index a73f5a6d5b8..00000000000
--- a/pkgs/development/libraries/freedesktop/libXt/builder.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#! /bin/sh -e
-. $stdenv/setup
-genericBuild
diff --git a/pkgs/development/libraries/freedesktop/libXt/default.nix b/pkgs/development/libraries/freedesktop/libXt/default.nix
index 5d2e62c8c33..0645a18446e 100644
--- a/pkgs/development/libraries/freedesktop/libXt/default.nix
+++ b/pkgs/development/libraries/freedesktop/libXt/default.nix
@@ -1,8 +1,7 @@
 {stdenv, fetchurl, pkgconfig, libX11, libSM, patch}:
 
-derivation {
+stdenv.mkDerivation {
   name = "libXt-0.1.4";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://freedesktop.org/~xlibs/release/xlibs-1.0/libXt-0.1.4.tar.bz2;
@@ -11,5 +10,4 @@ derivation {
   buildInputs = [pkgconfig libX11 libSM patch];
   # This patch should become unnecessary soon; already been fixed in CVS.
   patches = [./patch];
-  inherit stdenv;
 }
diff --git a/pkgs/development/libraries/freedesktop/libXtrans/builder.sh b/pkgs/development/libraries/freedesktop/libXtrans/builder.sh
deleted file mode 100755
index dc844d758a8..00000000000
--- a/pkgs/development/libraries/freedesktop/libXtrans/builder.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#! /bin/sh
-
-. $stdenv/setup
-
-genericBuild
diff --git a/pkgs/development/libraries/freedesktop/libXtrans/default.nix b/pkgs/development/libraries/freedesktop/libXtrans/default.nix
index b5f9eb590b5..a706397e085 100644
--- a/pkgs/development/libraries/freedesktop/libXtrans/default.nix
+++ b/pkgs/development/libraries/freedesktop/libXtrans/default.nix
@@ -1,12 +1,10 @@
 {stdenv, fetchurl}:
 
-derivation {
+stdenv.mkDerivation {
   name = "libXtrans-0.1";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://freedesktop.org/~xlibs/release/xlibs-1.0/libXtrans-0.1.tar.bz2;
     md5 = "a5ae4c7a75f930053b8327f7bd0c1361";
   };
-  inherit stdenv;
 }
diff --git a/pkgs/development/libraries/freedesktop/xextensions/builder.sh b/pkgs/development/libraries/freedesktop/xextensions/builder.sh
deleted file mode 100755
index dc844d758a8..00000000000
--- a/pkgs/development/libraries/freedesktop/xextensions/builder.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#! /bin/sh
-
-. $stdenv/setup
-
-genericBuild
diff --git a/pkgs/development/libraries/freedesktop/xextensions/default.nix b/pkgs/development/libraries/freedesktop/xextensions/default.nix
index f22195154b9..eac4b89ab3f 100644
--- a/pkgs/development/libraries/freedesktop/xextensions/default.nix
+++ b/pkgs/development/libraries/freedesktop/xextensions/default.nix
@@ -1,12 +1,10 @@
 {stdenv, fetchurl}:
 
-derivation {
+stdenv.mkDerivation {
   name = "xextensions-1.0.1";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://freedesktop.org/~xlibs/release/xlibs-1.0/xextensions-1.0.1.tar.bz2;
     md5 = "e61bca2a4757b736c9557dc8a7df2217";
   };
-  inherit stdenv;
 }
diff --git a/pkgs/development/libraries/freedesktop/xlibs/builder.sh b/pkgs/development/libraries/freedesktop/xlibs/builder.sh
index f1230bed2d8..abcab635a60 100755..100644
--- a/pkgs/development/libraries/freedesktop/xlibs/builder.sh
+++ b/pkgs/development/libraries/freedesktop/xlibs/builder.sh
@@ -1,4 +1,3 @@
-#! /bin/sh -e
 . $stdenv/setup
 dontMake=1
 dontMakeInstall=1
diff --git a/pkgs/development/libraries/freedesktop/xlibs/default.nix b/pkgs/development/libraries/freedesktop/xlibs/default.nix
index a5ef56ba46c..d1b7dc4476c 100644
--- a/pkgs/development/libraries/freedesktop/xlibs/default.nix
+++ b/pkgs/development/libraries/freedesktop/xlibs/default.nix
@@ -1,11 +1,9 @@
 {stdenv, libX11, libXt}:
 
-derivation {
+stdenv.mkDerivation {
   name = "xlib-1.0";
-  system = stdenv.system;
   builder = ./builder.sh;
   propagatedBuildInputs = [libX11 libXt];
-  inherit stdenv;
 } // {
   # For compatability with XFree86.
   buildClientLibs = true;
diff --git a/pkgs/development/libraries/freedesktop/xproto/builder.sh b/pkgs/development/libraries/freedesktop/xproto/builder.sh
deleted file mode 100755
index dc844d758a8..00000000000
--- a/pkgs/development/libraries/freedesktop/xproto/builder.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#! /bin/sh
-
-. $stdenv/setup
-
-genericBuild
diff --git a/pkgs/development/libraries/freedesktop/xproto/default.nix b/pkgs/development/libraries/freedesktop/xproto/default.nix
index 008590ef43d..6cfea954802 100644
--- a/pkgs/development/libraries/freedesktop/xproto/default.nix
+++ b/pkgs/development/libraries/freedesktop/xproto/default.nix
@@ -1,12 +1,10 @@
 {stdenv, fetchurl}:
 
-derivation {
+stdenv.mkDerivation {
   name = "xproto-6.6.1";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://freedesktop.org/~xlibs/release/xlibs-1.0/xproto-6.6.1.tar.bz2;
     md5 = "8a7546a607dcd61b2ee595c763fd7f85";
   };
-  inherit stdenv;
 }
diff --git a/pkgs/development/libraries/freetype/builder.sh b/pkgs/development/libraries/freetype/builder.sh
index 81bd27e4882..724d378e623 100755..100644
--- a/pkgs/development/libraries/freetype/builder.sh
+++ b/pkgs/development/libraries/freetype/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 . $stdenv/setup || exit 1
 
 tar xvfj $src || exit 1
diff --git a/pkgs/development/libraries/freetype/default.nix b/pkgs/development/libraries/freetype/default.nix
index 4284979844d..108874a3159 100644
--- a/pkgs/development/libraries/freetype/default.nix
+++ b/pkgs/development/libraries/freetype/default.nix
@@ -1,10 +1,8 @@
-{stdenv, fetchurl}: derivation {
+{stdenv, fetchurl}: stdenv.mkDerivation {
   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
index 57f18bb3da1..b91861bfa7f 100755..100644
--- a/pkgs/development/libraries/gettext/builder.sh
+++ b/pkgs/development/libraries/gettext/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 . $stdenv/setup || exit 1
 
 tar xvfz $src || exit 1
diff --git a/pkgs/development/libraries/gettext/default.nix b/pkgs/development/libraries/gettext/default.nix
index d20c6f4763e..6cd64d2f69a 100644
--- a/pkgs/development/libraries/gettext/default.nix
+++ b/pkgs/development/libraries/gettext/default.nix
@@ -1,10 +1,8 @@
-{stdenv, fetchurl}: derivation {
+{stdenv, fetchurl}: stdenv.mkDerivation {
   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
index 29bcc7dc8e7..398820c0038 100755..100644
--- a/pkgs/development/libraries/glibc/builder.sh
+++ b/pkgs/development/libraries/glibc/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 # glibc cannot have itself in its rpath.
 export NIX_NO_SELF_RPATH=1
 
diff --git a/pkgs/development/libraries/glibc/default.nix b/pkgs/development/libraries/glibc/default.nix
index c65281a7ce3..90be37aefe6 100644
--- a/pkgs/development/libraries/glibc/default.nix
+++ b/pkgs/development/libraries/glibc/default.nix
@@ -2,9 +2,8 @@
 
 assert patch != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "glibc-2.3.2";
-  system = stdenv.system;
   builder = ./builder.sh;
 
   src = fetchurl {
@@ -21,5 +20,5 @@ derivation {
   patches = [./glibc-2.3.2-sscanf-1.patch];
 
   buildInputs = [patch];
-  inherit stdenv kernelHeaders;
+  inherit kernelHeaders;
 }
diff --git a/pkgs/development/libraries/gnet/builder.sh b/pkgs/development/libraries/gnet/builder.sh
index 220307fd8b9..3590c5e23fb 100755..100644
--- a/pkgs/development/libraries/gnet/builder.sh
+++ b/pkgs/development/libraries/gnet/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$pkgconfig $glib"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/development/libraries/gnet/default.nix b/pkgs/development/libraries/gnet/default.nix
index cccf0e0d36c..ae6aadd42b2 100644
--- a/pkgs/development/libraries/gnet/default.nix
+++ b/pkgs/development/libraries/gnet/default.nix
@@ -2,15 +2,13 @@
 
 assert pkgconfig != null && glib != null;
 
-derivation {
+stdenv.mkDerivation {
   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/gnome/GConf/builder.sh b/pkgs/development/libraries/gnome/GConf/builder.sh
index 814beb57361..19d7bf711ad 100755..100644
--- a/pkgs/development/libraries/gnome/GConf/builder.sh
+++ b/pkgs/development/libraries/gnome/GConf/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs="$pkgconfig $perl $glib $gtk $libxml2 $ORBit2 $popt"
 . $stdenv/setup
 
diff --git a/pkgs/development/libraries/gnome/GConf/default.nix b/pkgs/development/libraries/gnome/GConf/default.nix
index 31f144b1d79..e6163c9f381 100644
--- a/pkgs/development/libraries/gnome/GConf/default.nix
+++ b/pkgs/development/libraries/gnome/GConf/default.nix
@@ -4,15 +4,13 @@ assert pkgconfig != null && perl != null
   && glib != null && gtk != null
   && libxml2 != null && ORBit2 != null && popt != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "GConf-2.4.0.1";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://ftp.gnome.org/pub/GNOME/desktop/2.4/2.4.1/sources/GConf-2.4.0.1.tar.bz2;
     md5 = "2f7548d0bad24d7c4beba54d0ec98a20";
   };
-  stdenv = stdenv;
   pkgconfig = pkgconfig;
   perl = perl; # Perl is not `supposed' to be required, but it is.
   glib = glib;
diff --git a/pkgs/development/libraries/gnome/ORBit2/builder.sh b/pkgs/development/libraries/gnome/ORBit2/builder.sh
index 87dbfe6cf99..466ad2087e3 100755..100644
--- a/pkgs/development/libraries/gnome/ORBit2/builder.sh
+++ b/pkgs/development/libraries/gnome/ORBit2/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs="$pkgconfig $glib $libIDL $popt"
 . $stdenv/setup
 
diff --git a/pkgs/development/libraries/gnome/ORBit2/default.nix b/pkgs/development/libraries/gnome/ORBit2/default.nix
index 8203db963ca..d1fc483716b 100644
--- a/pkgs/development/libraries/gnome/ORBit2/default.nix
+++ b/pkgs/development/libraries/gnome/ORBit2/default.nix
@@ -3,15 +3,13 @@
 assert pkgconfig != null && glib != null && libIDL != null
   && popt != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "ORBit2-2.8.3";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.gnome.org/pub/gnome/sources/ORBit2/2.8/ORBit2-2.8.3.tar.bz2;
     md5 = "c6c4b63de2f70310e33a52a37257ddaf";
   };
-  stdenv = stdenv;
   pkgconfig = pkgconfig;
   glib = glib;
   libIDL = libIDL;
diff --git a/pkgs/development/libraries/gnome/esound/builder.sh b/pkgs/development/libraries/gnome/esound/builder.sh
index bebb21cafda..a2c5cca65f3 100755..100644
--- a/pkgs/development/libraries/gnome/esound/builder.sh
+++ b/pkgs/development/libraries/gnome/esound/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs="$audiofile"
 . $stdenv/setup
 
diff --git a/pkgs/development/libraries/gnome/esound/default.nix b/pkgs/development/libraries/gnome/esound/default.nix
index 7e51b9d6fba..5dd792ef67c 100644
--- a/pkgs/development/libraries/gnome/esound/default.nix
+++ b/pkgs/development/libraries/gnome/esound/default.nix
@@ -2,14 +2,12 @@
 
 assert audiofile != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "esound-0.2.32";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://ftp.gnome.org/pub/GNOME/desktop/2.4/2.4.1/sources/esound-0.2.32.tar.bz2;
     md5 = "b2a5e71ec8220fea1c22cc042f5f6e63";
   };
-  stdenv = stdenv;
   audiofile = audiofile;
 }
diff --git a/pkgs/development/libraries/gnome/gnome-mime-data/builder.sh b/pkgs/development/libraries/gnome/gnome-mime-data/builder.sh
index 46d023e04a3..60cd167a542 100755..100644
--- a/pkgs/development/libraries/gnome/gnome-mime-data/builder.sh
+++ b/pkgs/development/libraries/gnome/gnome-mime-data/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$pkgconfig $perl"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/development/libraries/gnome/gnome-mime-data/default.nix b/pkgs/development/libraries/gnome/gnome-mime-data/default.nix
index ffcd6d19a78..d523fd60c86 100644
--- a/pkgs/development/libraries/gnome/gnome-mime-data/default.nix
+++ b/pkgs/development/libraries/gnome/gnome-mime-data/default.nix
@@ -2,15 +2,13 @@
 
 assert pkgconfig != null && perl != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "gnome-mime-data-2.4.0";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://ftp.gnome.org/pub/GNOME/desktop/2.4/2.4.1/sources/gnome-mime-data-2.4.0.tar.bz2;
     md5 = "b8f1b383a23d734bec8bc33a03cb3690";
   };
-  stdenv = stdenv;
   pkgconfig = pkgconfig;
   perl = perl;
 }
diff --git a/pkgs/development/libraries/gnome/gnome-vfs/builder.sh b/pkgs/development/libraries/gnome/gnome-vfs/builder.sh
index 752464fe4ec..e32024f2d1f 100755..100644
--- a/pkgs/development/libraries/gnome/gnome-vfs/builder.sh
+++ b/pkgs/development/libraries/gnome/gnome-vfs/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$pkgconfig $perl $glib $libxml2 $GConf $libbonobo \
   $gnomemimedata $popt $bzip2"
 . $stdenv/setup || exit 1
diff --git a/pkgs/development/libraries/gnome/gnome-vfs/default.nix b/pkgs/development/libraries/gnome/gnome-vfs/default.nix
index b2cd632f6ce..39f0a83bfd4 100644
--- a/pkgs/development/libraries/gnome/gnome-vfs/default.nix
+++ b/pkgs/development/libraries/gnome/gnome-vfs/default.nix
@@ -5,15 +5,13 @@ assert pkgconfig != null && perl != null && glib != null
   && libxml2 != null && GConf != null && libbonobo != null
   && gnomemimedata != null && bzip2 != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "gnome-vfs-2.4.1";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.gnome.org/pub/gnome/sources/gnome-vfs/2.4/gnome-vfs-2.4.1.tar.bz2;
     md5 = "cb7a36076f6a65e40c7f540be3057310";
   };
-  stdenv = stdenv;
   pkgconfig = pkgconfig;
   perl = perl;
   glib = glib;
diff --git a/pkgs/development/libraries/gnome/libIDL/builder.sh b/pkgs/development/libraries/gnome/libIDL/builder.sh
index 113dfef5a64..72b9bf8b0f2 100755..100644
--- a/pkgs/development/libraries/gnome/libIDL/builder.sh
+++ b/pkgs/development/libraries/gnome/libIDL/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$pkgconfig $glib $lex $yacc"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/development/libraries/gnome/libIDL/default.nix b/pkgs/development/libraries/gnome/libIDL/default.nix
index e6ab1cb019b..9d99b903978 100644
--- a/pkgs/development/libraries/gnome/libIDL/default.nix
+++ b/pkgs/development/libraries/gnome/libIDL/default.nix
@@ -2,15 +2,13 @@
 
 assert pkgconfig != null && glib != null && lex != null && yacc != null;
 
-derivation {
+stdenv.mkDerivation {
   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;
diff --git a/pkgs/development/libraries/gnome/libart_lgpl/builder.sh b/pkgs/development/libraries/gnome/libart_lgpl/builder.sh
index 61ebd1faa4d..1f4e7265a02 100755..100644
--- a/pkgs/development/libraries/gnome/libart_lgpl/builder.sh
+++ b/pkgs/development/libraries/gnome/libart_lgpl/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs=""
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/development/libraries/gnome/libart_lgpl/default.nix b/pkgs/development/libraries/gnome/libart_lgpl/default.nix
index 9241d3e2b96..23bb0d5dea8 100644
--- a/pkgs/development/libraries/gnome/libart_lgpl/default.nix
+++ b/pkgs/development/libraries/gnome/libart_lgpl/default.nix
@@ -1,12 +1,10 @@
 {stdenv, fetchurl}:
 
-derivation {
+stdenv.mkDerivation {
   name = "libart_lgpl-2.3.16";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://ftp.gnome.org/pub/GNOME/desktop/2.4/2.4.1/sources/libart_lgpl-2.3.16.tar.bz2;
     md5 = "6bb13292b00649d01400a5b29a6c87cb";
   };
-  stdenv = stdenv;
 }
diff --git a/pkgs/development/libraries/gnome/libbonobo/builder.sh b/pkgs/development/libraries/gnome/libbonobo/builder.sh
index eb53f4f9648..fb6ccb9677f 100755..100644
--- a/pkgs/development/libraries/gnome/libbonobo/builder.sh
+++ b/pkgs/development/libraries/gnome/libbonobo/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs="$pkgconfig $perl $ORBit2 $libxml2 $popt $yacc $flex"
 . $stdenv/setup
 
diff --git a/pkgs/development/libraries/gnome/libbonobo/default.nix b/pkgs/development/libraries/gnome/libbonobo/default.nix
index c2a6adb9ece..b30a6ad6c84 100644
--- a/pkgs/development/libraries/gnome/libbonobo/default.nix
+++ b/pkgs/development/libraries/gnome/libbonobo/default.nix
@@ -3,15 +3,13 @@
 assert pkgconfig != null && perl != null && ORBit2 != null
   && libxml2 != null && popt != null && yacc != null && flex != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "libbonobo-2.4.2";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.gnome.org/pub/gnome/sources/libbonobo/2.4/libbonobo-2.4.2.tar.bz2;
     md5 = "78200cc6ed588c93f0d29177a5f3e003";
   };
-  stdenv = stdenv;
   pkgconfig = pkgconfig;
   perl = perl;
   ORBit2 = ORBit2;
diff --git a/pkgs/development/libraries/gnome/libbonoboui/builder.sh b/pkgs/development/libraries/gnome/libbonoboui/builder.sh
index a0141498350..9f538ee1b87 100755..100644
--- a/pkgs/development/libraries/gnome/libbonoboui/builder.sh
+++ b/pkgs/development/libraries/gnome/libbonoboui/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs="$pkgconfig $perl $libxml2 $libglade $libgnome \
   $libgnomecanvas"
 . $stdenv/setup
diff --git a/pkgs/development/libraries/gnome/libbonoboui/default.nix b/pkgs/development/libraries/gnome/libbonoboui/default.nix
index 3efa13fe151..bf700b75677 100644
--- a/pkgs/development/libraries/gnome/libbonoboui/default.nix
+++ b/pkgs/development/libraries/gnome/libbonoboui/default.nix
@@ -4,15 +4,13 @@
 assert pkgconfig != null && perl != null && libxml2 != null
   && libglade != null && libgnome != null && libgnomecanvas != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "libbonoboui-2.4.1";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://ftp.gnome.org/pub/GNOME/desktop/2.4/2.4.1/sources/libbonoboui-2.4.1.tar.bz2;
     md5 = "943a2d0e9fc7b9f0e97ba869de0c5f2a";
   };
-  stdenv = stdenv;
   pkgconfig = pkgconfig;
   perl = perl;
   libxml2 = libxml2;
diff --git a/pkgs/development/libraries/gnome/libglade/builder.sh b/pkgs/development/libraries/gnome/libglade/builder.sh
index 9917fd2c5e9..4c185c4c7a6 100755..100644
--- a/pkgs/development/libraries/gnome/libglade/builder.sh
+++ b/pkgs/development/libraries/gnome/libglade/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs="$pkgconfig $gtk $libxml2"
 . $stdenv/setup
 
diff --git a/pkgs/development/libraries/gnome/libglade/default.nix b/pkgs/development/libraries/gnome/libglade/default.nix
index 543586eb20a..475bf9c9fa3 100644
--- a/pkgs/development/libraries/gnome/libglade/default.nix
+++ b/pkgs/development/libraries/gnome/libglade/default.nix
@@ -2,15 +2,13 @@
 
 assert pkgconfig != null && gtk != null && libxml2 != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "libglade-2.0.1";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://ftp.gnome.org/pub/GNOME/desktop/2.4/2.4.1/sources/libglade-2.0.1.tar.bz2;
     md5 = "4d93f6b01510013ae429e91af432cfe2";
   };
-  stdenv = stdenv;
   pkgconfig = pkgconfig;
   gtk = gtk;
   libxml2 = libxml2;
diff --git a/pkgs/development/libraries/gnome/libgnome/builder.sh b/pkgs/development/libraries/gnome/libgnome/builder.sh
index 30de2db56cd..bd32300351c 100755..100644
--- a/pkgs/development/libraries/gnome/libgnome/builder.sh
+++ b/pkgs/development/libraries/gnome/libgnome/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs="$pkgconfig $perl $glib $gnomevfs $libbonobo $GConf \
   $popt $zlib"
 . $stdenv/setup
diff --git a/pkgs/development/libraries/gnome/libgnome/default.nix b/pkgs/development/libraries/gnome/libgnome/default.nix
index d33a54cf7a2..ac4a61365e8 100644
--- a/pkgs/development/libraries/gnome/libgnome/default.nix
+++ b/pkgs/development/libraries/gnome/libgnome/default.nix
@@ -10,15 +10,13 @@ assert pkgconfig != null && perl != null && glib != null
 # "WARNING: failed to install schema `/schemas/desktop/gnome/url-handlers/https/need-terminal' locale `is': Failed:
 # Failed to create file `/nix/store/14d4fc76451786eba9dea087d56dc719-GConf-2.4.0/etc/gconf/gconf.xml.defaults/%gconf.xml': Permission denied"
 
-derivation {
+stdenv.mkDerivation {
   name = "libgnome-2.0.6";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.gnome.org/pub/gnome/sources/libgnome/2.4/libgnome-2.4.0.tar.bz2;
     md5 = "caec1e12d64b98a2925a4317ac16429f";
   };
-  stdenv = stdenv;
   pkgconfig = pkgconfig;
   perl = perl;
   glib = glib;
diff --git a/pkgs/development/libraries/gnome/libgnomecanvas/builder.sh b/pkgs/development/libraries/gnome/libgnomecanvas/builder.sh
index 550ee65a8d0..c7eddf4ffa9 100755..100644
--- a/pkgs/development/libraries/gnome/libgnomecanvas/builder.sh
+++ b/pkgs/development/libraries/gnome/libgnomecanvas/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs="$pkgconfig $gtk $libart $libglade"
 . $stdenv/setup
 
diff --git a/pkgs/development/libraries/gnome/libgnomecanvas/default.nix b/pkgs/development/libraries/gnome/libgnomecanvas/default.nix
index fef31114b1b..878a5936a3c 100644
--- a/pkgs/development/libraries/gnome/libgnomecanvas/default.nix
+++ b/pkgs/development/libraries/gnome/libgnomecanvas/default.nix
@@ -3,15 +3,13 @@
 assert pkgconfig != null && gtk != null && libart != null
   && libglade != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "libgnomecanvas-2.4.0";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://ftp.gnome.org/pub/GNOME/desktop/2.4/2.4.1/sources/libgnomecanvas-2.4.0.tar.bz2;
     md5 = "c212a7cac06b7f9e68ed2de38df6e54d";
   };
-  stdenv = stdenv;
   pkgconfig = pkgconfig;
   gtk = gtk;
   libart = libart;
diff --git a/pkgs/development/libraries/gnome/libgnomeui/builder.sh b/pkgs/development/libraries/gnome/libgnomeui/builder.sh
index 23711d9ea6f..c0ccfec36ef 100755..100644
--- a/pkgs/development/libraries/gnome/libgnomeui/builder.sh
+++ b/pkgs/development/libraries/gnome/libgnomeui/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs="$pkgconfig $libgnome $libgnomecanvas $libbonoboui $libglade"
 . $stdenv/setup
 
diff --git a/pkgs/development/libraries/gnome/libgnomeui/default.nix b/pkgs/development/libraries/gnome/libgnomeui/default.nix
index 9a97d7697a9..a44d8bb6a99 100644
--- a/pkgs/development/libraries/gnome/libgnomeui/default.nix
+++ b/pkgs/development/libraries/gnome/libgnomeui/default.nix
@@ -3,15 +3,13 @@
 assert pkgconfig != null && libgnome != null && libgnomecanvas != null
   && libbonoboui != null && libglade != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "libgnomeui-2.4.0.1";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://ftp.gnome.org/pub/GNOME/desktop/2.4/2.4.1/sources/libgnomeui-2.4.0.1.tar.bz2;
     md5 = "196f4a3f1f4a531ff57acaa879e98dd2";
   };
-  stdenv = stdenv;
   pkgconfig = pkgconfig;
   libgnome = libgnome;
   libgnomecanvas = libgnomecanvas;
diff --git a/pkgs/development/libraries/gtk+-1/gdk-pixbuf/builder.sh b/pkgs/development/libraries/gtk+-1/gdk-pixbuf/builder.sh
deleted file mode 100755
index a73f5a6d5b8..00000000000
--- a/pkgs/development/libraries/gtk+-1/gdk-pixbuf/builder.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#! /bin/sh -e
-. $stdenv/setup
-genericBuild
diff --git a/pkgs/development/libraries/gtk+-1/gdk-pixbuf/default.nix b/pkgs/development/libraries/gtk+-1/gdk-pixbuf/default.nix
index dbf194171c9..d0654900f02 100644
--- a/pkgs/development/libraries/gtk+-1/gdk-pixbuf/default.nix
+++ b/pkgs/development/libraries/gtk+-1/gdk-pixbuf/default.nix
@@ -3,9 +3,8 @@
 assert gtk != null && libtiff != null
   && libjpeg != null && libpng != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "gdk-pixbuf-0.22.0";
-  system = stdenv.system;
 
   builder = ./builder.sh;
   src = fetchurl {
@@ -14,5 +13,4 @@ derivation {
   };
 
   buildInputs = [gtk libtiff libjpeg libpng];
-  inherit stdenv;
 }
diff --git a/pkgs/development/libraries/gtk+-1/glib/builder.sh b/pkgs/development/libraries/gtk+-1/glib/builder.sh
deleted file mode 100755
index a73f5a6d5b8..00000000000
--- a/pkgs/development/libraries/gtk+-1/glib/builder.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#! /bin/sh -e
-. $stdenv/setup
-genericBuild
diff --git a/pkgs/development/libraries/gtk+-1/glib/default.nix b/pkgs/development/libraries/gtk+-1/glib/default.nix
index eb61048c3af..f8bb0f0e782 100644
--- a/pkgs/development/libraries/gtk+-1/glib/default.nix
+++ b/pkgs/development/libraries/gtk+-1/glib/default.nix
@@ -1,12 +1,10 @@
 {stdenv, fetchurl}:
 
-derivation {
+stdenv.mkDerivation {
   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";
   };
-  inherit stdenv;
 }
diff --git a/pkgs/development/libraries/gtk+-1/gtk+/builder.sh b/pkgs/development/libraries/gtk+-1/gtk+/builder.sh
index 3f0cb5a1505..9c1af29b65e 100755..100644
--- a/pkgs/development/libraries/gtk+-1/gtk+/builder.sh
+++ b/pkgs/development/libraries/gtk+-1/gtk+/builder.sh
@@ -1,4 +1,3 @@
-#! /bin/sh -e
 . $stdenv/setup
 genericBuild
 
diff --git a/pkgs/development/libraries/gtk+-1/gtk+/default.nix b/pkgs/development/libraries/gtk+-1/gtk+/default.nix
index 7ee815ec5f6..7762ee57b77 100644
--- a/pkgs/development/libraries/gtk+-1/gtk+/default.nix
+++ b/pkgs/development/libraries/gtk+-1/gtk+/default.nix
@@ -3,9 +3,8 @@
 assert x11 != null && glib != null;
 assert x11.buildClientLibs;
 
-derivation {
+stdenv.mkDerivation {
   name = "gtk+-1.2.10";
-  system = stdenv.system;
 
   builder = ./builder.sh;
   src = fetchurl {
@@ -15,5 +14,4 @@ derivation {
 
   buildInputs = [x11 glib];
   _propagatedBuildInputs = [x11 glib];
-  inherit stdenv;
 }
diff --git a/pkgs/development/libraries/gtk+/atk/builder.sh b/pkgs/development/libraries/gtk+/atk/builder.sh
index be57a268c12..a5af70b675a 100755..100644
--- a/pkgs/development/libraries/gtk+/atk/builder.sh
+++ b/pkgs/development/libraries/gtk+/atk/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs="$pkgconfig $perl $glib"
 . $stdenv/setup
 
diff --git a/pkgs/development/libraries/gtk+/atk/default.nix b/pkgs/development/libraries/gtk+/atk/default.nix
index 7d45fbca050..f08c561676f 100644
--- a/pkgs/development/libraries/gtk+/atk/default.nix
+++ b/pkgs/development/libraries/gtk+/atk/default.nix
@@ -2,15 +2,13 @@
 
 assert pkgconfig != null && glib != null && perl != null;
 
-derivation {
+stdenv.mkDerivation {
   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
index 8f4c0b097b2..5f12963eb8b 100755..100644
--- a/pkgs/development/libraries/gtk+/glib/builder.sh
+++ b/pkgs/development/libraries/gtk+/glib/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$pkgconfig $gettext $perl"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/development/libraries/gtk+/glib/default.nix b/pkgs/development/libraries/gtk+/glib/default.nix
index 88bb1259373..83700be4863 100644
--- a/pkgs/development/libraries/gtk+/glib/default.nix
+++ b/pkgs/development/libraries/gtk+/glib/default.nix
@@ -2,15 +2,13 @@
 
 assert pkgconfig != null && gettext != null && perl != null;
 
-derivation {
+stdenv.mkDerivation {
   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
index 0b444c1f009..38659aa31c2 100755..100644
--- a/pkgs/development/libraries/gtk+/gtk+/builder.sh
+++ b/pkgs/development/libraries/gtk+/gtk+/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs="$pkgconfig $x11 $glib $atk $pango $perl $libtiff $libjpeg $libpng"
 . $stdenv/setup
 
diff --git a/pkgs/development/libraries/gtk+/gtk+/default.nix b/pkgs/development/libraries/gtk+/gtk+/default.nix
index 1437221c813..0efb546b107 100644
--- a/pkgs/development/libraries/gtk+/gtk+/default.nix
+++ b/pkgs/development/libraries/gtk+/gtk+/default.nix
@@ -9,15 +9,13 @@ assert glib == atk.glib;
 assert glib == pango.glib;
 assert x11 == pango.x11;
 
-derivation {
+stdenv.mkDerivation {
   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;
diff --git a/pkgs/development/libraries/gtk+/pango/builder.sh b/pkgs/development/libraries/gtk+/pango/builder.sh
index 6242083508d..0ec40bf7b40 100755..100644
--- a/pkgs/development/libraries/gtk+/pango/builder.sh
+++ b/pkgs/development/libraries/gtk+/pango/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs="$pkgconfig $x11 $glib $xft"
 . $stdenv/setup
 
diff --git a/pkgs/development/libraries/gtk+/pango/default.nix b/pkgs/development/libraries/gtk+/pango/default.nix
index 36731123e56..36d204a5e6d 100644
--- a/pkgs/development/libraries/gtk+/pango/default.nix
+++ b/pkgs/development/libraries/gtk+/pango/default.nix
@@ -4,15 +4,13 @@ assert pkgconfig != null && x11 != null && glib != null && xft != null;
 assert x11.buildClientLibs;
 assert xft.x11 == x11;
 
-derivation {
+stdenv.mkDerivation {
   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;
diff --git a/pkgs/development/libraries/libdvdcss/builder.sh b/pkgs/development/libraries/libdvdcss/builder.sh
index 6d7015b1054..c7bd41840bb 100755..100644
--- a/pkgs/development/libraries/libdvdcss/builder.sh
+++ b/pkgs/development/libraries/libdvdcss/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 . $stdenv/setup || exit 1
 
 tar xvfz $src || exit 1
diff --git a/pkgs/development/libraries/libdvdcss/default.nix b/pkgs/development/libraries/libdvdcss/default.nix
index 8745bd54686..fe51ca0bb1f 100644
--- a/pkgs/development/libraries/libdvdcss/default.nix
+++ b/pkgs/development/libraries/libdvdcss/default.nix
@@ -1,10 +1,8 @@
-{stdenv, fetchurl}: derivation {
+{stdenv, fetchurl}: stdenv.mkDerivation {
   name = "libdvdcss-1.2.8";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://www.videolan.org/pub/videolan/vlc/0.6.2/contrib/libdvdcss-1.2.8.tar.gz;
     md5 = "e35e4240b6ca0b66a0218065dffe6adb";
   };
-  stdenv = stdenv;
 }
diff --git a/pkgs/development/libraries/libdvdplay/builder.sh b/pkgs/development/libraries/libdvdplay/builder.sh
index 6b2b5132304..686288592b3 100755..100644
--- a/pkgs/development/libraries/libdvdplay/builder.sh
+++ b/pkgs/development/libraries/libdvdplay/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$libdvdread"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/development/libraries/libdvdplay/default.nix b/pkgs/development/libraries/libdvdplay/default.nix
index 7c4d67dbb02..820d9df2f8a 100644
--- a/pkgs/development/libraries/libdvdplay/default.nix
+++ b/pkgs/development/libraries/libdvdplay/default.nix
@@ -2,14 +2,12 @@
 
 assert libdvdread != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "libdvdplay-1.0.1";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://www.videolan.org/pub/libdvdplay/1.0.1/libdvdplay-1.0.1.tar.bz2;
     md5 = "602bca4ef78d79aa87e5e8920d958a78";
   };
-  stdenv = stdenv;
   libdvdread = libdvdread;
 }
diff --git a/pkgs/development/libraries/libdvdread/builder.sh b/pkgs/development/libraries/libdvdread/builder.sh
index 4ecafb3a069..1581116ce53 100755..100644
--- a/pkgs/development/libraries/libdvdread/builder.sh
+++ b/pkgs/development/libraries/libdvdread/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$libdvdcss"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/development/libraries/libdvdread/default.nix b/pkgs/development/libraries/libdvdread/default.nix
index 11da28b6f85..926180384d1 100644
--- a/pkgs/development/libraries/libdvdread/default.nix
+++ b/pkgs/development/libraries/libdvdread/default.nix
@@ -2,14 +2,12 @@
 
 assert libdvdcss != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "libdvdread-20030812";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://www.videolan.org/pub/videolan/vlc/0.6.2/contrib/libdvdread-20030812.tar.bz2;
     md5 = "9d58beac7c2dfb98d00f4ed0ea3d7274";
   };
-  stdenv = stdenv;
   libdvdcss = libdvdcss;
 }
diff --git a/pkgs/development/libraries/libjpeg/builder.sh b/pkgs/development/libraries/libjpeg/builder.sh
index 9a27a8545c4..16a3d377f17 100755..100644
--- a/pkgs/development/libraries/libjpeg/builder.sh
+++ b/pkgs/development/libraries/libjpeg/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 . $stdenv/setup || exit 1
 
 tar xvfz $src || exit 1
diff --git a/pkgs/development/libraries/libjpeg/default.nix b/pkgs/development/libraries/libjpeg/default.nix
index 80946833f72..8b6d44e1c9d 100644
--- a/pkgs/development/libraries/libjpeg/default.nix
+++ b/pkgs/development/libraries/libjpeg/default.nix
@@ -1,10 +1,8 @@
-{stdenv, fetchurl}: derivation {
+{stdenv, fetchurl}: stdenv.mkDerivation {
   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/libmad/builder.sh b/pkgs/development/libraries/libmad/builder.sh
index 27e135bf7ee..b6a916f74b6 100755..100644
--- a/pkgs/development/libraries/libmad/builder.sh
+++ b/pkgs/development/libraries/libmad/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 . $stdenv/setup || exit 1
 
 tar xvfz $src || exit 1
diff --git a/pkgs/development/libraries/libmad/default.nix b/pkgs/development/libraries/libmad/default.nix
index 38f229e44e5..a7441fbe6f2 100644
--- a/pkgs/development/libraries/libmad/default.nix
+++ b/pkgs/development/libraries/libmad/default.nix
@@ -1,10 +1,8 @@
-{stdenv, fetchurl}: derivation {
+{stdenv, fetchurl}: stdenv.mkDerivation {
   name = "libmad-0.15.0b";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://heanet.dl.sourceforge.net/sourceforge/mad/libmad-0.15.0b.tar.gz;
     md5 = "2e4487cdf922a6da2546bad74f643205";
   };
-  stdenv = stdenv;
 }
diff --git a/pkgs/development/libraries/libpng/builder.sh b/pkgs/development/libraries/libpng/builder.sh
index 24b847b5986..515c3828ca1 100755..100644
--- a/pkgs/development/libraries/libpng/builder.sh
+++ b/pkgs/development/libraries/libpng/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildInputs="$zlib"
 . $stdenv/setup
 
diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix
index 5e0d65dc02e..cb651485b69 100644
--- a/pkgs/development/libraries/libpng/default.nix
+++ b/pkgs/development/libraries/libpng/default.nix
@@ -2,14 +2,12 @@
 
 assert zlib != null;
 
-derivation {
+stdenv.mkDerivation {
   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
index 59fa97888e9..b26eba9c566 100755..100644
--- a/pkgs/development/libraries/libtiff/builder.sh
+++ b/pkgs/development/libraries/libtiff/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs="$zlib $libjpeg"
 . $stdenv/setup
 
diff --git a/pkgs/development/libraries/libtiff/default.nix b/pkgs/development/libraries/libtiff/default.nix
index 7b16f5f067c..4cfe16e485c 100644
--- a/pkgs/development/libraries/libtiff/default.nix
+++ b/pkgs/development/libraries/libtiff/default.nix
@@ -2,15 +2,13 @@
 
 assert zlib != null && libjpeg != null;
 
-derivation {
+stdenv.mkDerivation {
   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
index d787dee7071..da5a450ffb8 100755..100644
--- a/pkgs/development/libraries/libxml2/builder.sh
+++ b/pkgs/development/libraries/libxml2/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs="$zlib"
 . $stdenv/setup
 
diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix
index 7533451029e..8e218a4dd72 100644
--- a/pkgs/development/libraries/libxml2/default.nix
+++ b/pkgs/development/libraries/libxml2/default.nix
@@ -2,14 +2,12 @@
 
 assert zlib != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "libxml2-2.6.7";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/libxml2-2.6.7.tar.bz2;
     md5 = "bdbef92cbdc5b4bd0365313ba22b75ce";
   };
-  stdenv = stdenv;
   zlib = zlib;
 }
diff --git a/pkgs/development/libraries/libxslt/builder.sh b/pkgs/development/libraries/libxslt/builder.sh
index 70521de25cf..e5cc0f5a667 100755..100644
--- a/pkgs/development/libraries/libxslt/builder.sh
+++ b/pkgs/development/libraries/libxslt/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$libxml2"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix
index b005aca4aaf..523d6cf9fd2 100644
--- a/pkgs/development/libraries/libxslt/default.nix
+++ b/pkgs/development/libraries/libxslt/default.nix
@@ -2,14 +2,12 @@
 
 assert libxml2 != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "libxslt-1.1.0";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://xmlsoft.org/libxslt-1.1.0.tar.gz;
     md5 = "79a2c5307812e813e14f18b6fef9ca87";
   };
-  stdenv = stdenv;
   libxml2 = libxml2;
 }
diff --git a/pkgs/development/libraries/mpeg2dec/builder.sh b/pkgs/development/libraries/mpeg2dec/builder.sh
index 22fd9594af0..6dc6a220e92 100755..100644
--- a/pkgs/development/libraries/mpeg2dec/builder.sh
+++ b/pkgs/development/libraries/mpeg2dec/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 . $stdenv/setup || exit 1
 
 tar xvfz $src || exit 1
diff --git a/pkgs/development/libraries/mpeg2dec/default.nix b/pkgs/development/libraries/mpeg2dec/default.nix
index 1b4da9bc2ce..a57314a3fdd 100644
--- a/pkgs/development/libraries/mpeg2dec/default.nix
+++ b/pkgs/development/libraries/mpeg2dec/default.nix
@@ -1,10 +1,8 @@
-{stdenv, fetchurl}: derivation {
+{stdenv, fetchurl}: stdenv.mkDerivation {
   name = "mpeg2dec-20030612";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://libmpeg2.sourceforge.net/files/mpeg2dec-0.4.0.tar.gz;
     md5 = "49a70fef1b0f710ed7e64ed32ee82d4d";
   };
-  stdenv = stdenv;
 }
diff --git a/pkgs/development/libraries/ncurses/builder.sh b/pkgs/development/libraries/ncurses/builder.sh
index 3738256e5d0..23091ee306c 100755..100644
--- a/pkgs/development/libraries/ncurses/builder.sh
+++ b/pkgs/development/libraries/ncurses/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs=""
 . $stdenv/setup
 
diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix
index 41eac6d2dd0..9f52fe66286 100644
--- a/pkgs/development/libraries/ncurses/default.nix
+++ b/pkgs/development/libraries/ncurses/default.nix
@@ -1,12 +1,10 @@
 {stdenv, fetchurl}:
 
-derivation {
+stdenv.mkDerivation {
   name = "ncurses-5.4";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.4.tar.gz;
     md5 = "069c8880072060373290a4fefff43520";
   };
-  inherit stdenv;
 }
diff --git a/pkgs/development/libraries/openssl/builder.sh b/pkgs/development/libraries/openssl/builder.sh
index c1493365ae6..596a80cd371 100755..100644
--- a/pkgs/development/libraries/openssl/builder.sh
+++ b/pkgs/development/libraries/openssl/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 . $stdenv/setup || exit 1
 export PATH=$perl/bin:$PATH
 
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 5a8fb164028..4ca67d3f5d4 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -1,10 +1,9 @@
-{stdenv, fetchurl, perl}: derivation {
+{stdenv, fetchurl, perl}: stdenv.mkDerivation {
   name = "openssl-0.9.7d";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://www.openssl.org/source/openssl-0.9.7d.tar.gz;
     md5 = "1b49e90fc8a75c3a507c0a624529aca5";
   };
-  inherit stdenv perl;
+  inherit perl;
 }
diff --git a/pkgs/development/libraries/pcre/builder.sh b/pkgs/development/libraries/pcre/builder.sh
deleted file mode 100755
index a73f5a6d5b8..00000000000
--- a/pkgs/development/libraries/pcre/builder.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#! /bin/sh -e
-. $stdenv/setup
-genericBuild
diff --git a/pkgs/development/libraries/pcre/default.nix b/pkgs/development/libraries/pcre/default.nix
index 5b98a264e3c..9c5e3c67282 100644
--- a/pkgs/development/libraries/pcre/default.nix
+++ b/pkgs/development/libraries/pcre/default.nix
@@ -1,12 +1,9 @@
 {stdenv, fetchurl}:
 
-derivation {
+stdenv.mkDerivation {
   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";
   };
-  inherit stdenv;
 }
diff --git a/pkgs/development/libraries/popt/builder.sh b/pkgs/development/libraries/popt/builder.sh
index 62100048d0a..851e010f038 100755..100644
--- a/pkgs/development/libraries/popt/builder.sh
+++ b/pkgs/development/libraries/popt/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$gettext"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/development/libraries/popt/default.nix b/pkgs/development/libraries/popt/default.nix
index 7ad1cb807b7..4383b8486ef 100644
--- a/pkgs/development/libraries/popt/default.nix
+++ b/pkgs/development/libraries/popt/default.nix
@@ -2,14 +2,12 @@
 
 assert gettext != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "popt-1.7";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.1.x/popt-1.7.tar.gz;
     md5 = "5988e7aeb0ae4dac8d83561265984cc9";
   };
-  stdenv = stdenv;
   gettext = gettext;
 }
diff --git a/pkgs/development/libraries/rna/builder.sh b/pkgs/development/libraries/rna/builder.sh
index 60ac15542e5..1b427b79156 100755..100644
--- a/pkgs/development/libraries/rna/builder.sh
+++ b/pkgs/development/libraries/rna/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs="$zlib"
 . $stdenv/setup
 
diff --git a/pkgs/development/libraries/rna/default.nix b/pkgs/development/libraries/rna/default.nix
index 81319bcaff2..a71b91a3368 100644
--- a/pkgs/development/libraries/rna/default.nix
+++ b/pkgs/development/libraries/rna/default.nix
@@ -2,13 +2,12 @@
 
 assert zlib != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "rna-0.14c";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.radionetworkprocessor.com/pub/radionetworkprocessor/rna-0.14c.tar.gz;
     md5 = "1e2947caf8a680e93cac55bffe2d6ec6";
   };
-  inherit stdenv zlib;
+  inherit zlib;
 }
diff --git a/pkgs/development/libraries/scrollkeeper/builder.sh b/pkgs/development/libraries/scrollkeeper/builder.sh
index 4dc559c6228..eeb2371aaac 100755..100644
--- a/pkgs/development/libraries/scrollkeeper/builder.sh
+++ b/pkgs/development/libraries/scrollkeeper/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$perl $libxml2 $libxslt"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/development/libraries/scrollkeeper/default.nix b/pkgs/development/libraries/scrollkeeper/default.nix
index 38e7c73e944..1e80b1367ff 100644
--- a/pkgs/development/libraries/scrollkeeper/default.nix
+++ b/pkgs/development/libraries/scrollkeeper/default.nix
@@ -6,15 +6,13 @@ assert perl != null && libxml2 != null && libxslt != null
 
 # !!! seems to need iconv, but cannot find it since $glibc/bin is not in PATH
 
-derivation {
+stdenv.mkDerivation {
   name = "scrollkeeper-0.3.14";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://heanet.dl.sourceforge.net/sourceforge/scrollkeeper/scrollkeeper-0.3.14.tar.gz;
     md5 = "161eb3f29e30e7b24f84eb93ac696155";
   };
-  stdenv = stdenv;
   perl = perl;
   libxml2 = libxml2;
   libxslt = libxslt;
diff --git a/pkgs/development/libraries/wxGTK/builder.sh b/pkgs/development/libraries/wxGTK/builder.sh
index 64e4a5ff832..d2b0880add9 100755..100644
--- a/pkgs/development/libraries/wxGTK/builder.sh
+++ b/pkgs/development/libraries/wxGTK/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs="$pkgconfig $gtk $libtiff $libjpeg $libpng $zlib"
 . $stdenv/setup
 
diff --git a/pkgs/development/libraries/wxGTK/default.nix b/pkgs/development/libraries/wxGTK/default.nix
index 039579c2d54..27bfcf2ebff 100644
--- a/pkgs/development/libraries/wxGTK/default.nix
+++ b/pkgs/development/libraries/wxGTK/default.nix
@@ -6,9 +6,8 @@ assert gtk.libjpeg != null;
 assert gtk.libpng != null;
 assert gtk.libpng.zlib != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "wxGTK-2.4.2";
-  system = stdenv.system;
 
   builder = ./builder.sh;
   src = fetchurl {
@@ -20,5 +19,5 @@ derivation {
   libjpeg = gtk.libjpeg;
   libpng = gtk.libpng;
   zlib = gtk.libpng.zlib;
-  inherit stdenv pkgconfig gtk compat22;
+  inherit pkgconfig gtk compat22;
 }
diff --git a/pkgs/development/libraries/xft/builder.sh b/pkgs/development/libraries/xft/builder.sh
index 085974877de..4ed7d6e918a 100755..100644
--- a/pkgs/development/libraries/xft/builder.sh
+++ b/pkgs/development/libraries/xft/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 set -x
 
 buildinputs="$pkgconfig $fontconfig $x11"
diff --git a/pkgs/development/libraries/xft/default.nix b/pkgs/development/libraries/xft/default.nix
index ea1cef2cfe6..69aef8a7605 100644
--- a/pkgs/development/libraries/xft/default.nix
+++ b/pkgs/development/libraries/xft/default.nix
@@ -3,15 +3,13 @@
 assert pkgconfig != null && x11 != null && fontconfig != null;
 assert fontconfig.x11 == x11;
 
-derivation {
+stdenv.mkDerivation {
   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
deleted file mode 100755
index b8e06a6907f..00000000000
--- a/pkgs/development/libraries/zlib/builder.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#! /bin/sh -e
-. $stdenv/setup
-configureFlags="--shared"
-genericBuild
diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix
index c5889e57fb4..6dec5bac1fe 100644
--- a/pkgs/development/libraries/zlib/default.nix
+++ b/pkgs/development/libraries/zlib/default.nix
@@ -1,12 +1,11 @@
 {stdenv, fetchurl}:
 
-derivation {
+stdenv.mkDerivation {
   name = "zlib-1.2.1";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://www.gzip.org/zlib/zlib-1.2.1.tar.gz;
     md5 = "ef1cb003448b4a53517b8f25adb12452";
   };
-  inherit stdenv;
+  configureFlags = "--shared";
 }
diff --git a/pkgs/development/libraries/zvbi/builder.sh b/pkgs/development/libraries/zvbi/builder.sh
index a123b16dce2..379ad847fae 100755..100644
--- a/pkgs/development/libraries/zvbi/builder.sh
+++ b/pkgs/development/libraries/zvbi/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$x11 $libpng"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/development/libraries/zvbi/default.nix b/pkgs/development/libraries/zvbi/default.nix
index 54de0c92816..6ba67e64223 100644
--- a/pkgs/development/libraries/zvbi/default.nix
+++ b/pkgs/development/libraries/zvbi/default.nix
@@ -4,15 +4,13 @@
 assert x11 != null;
 assert pngSupport -> libpng != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "zvbi-0.2.5";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://heanet.dl.sourceforge.net/sourceforge/zapping/zvbi-0.2.5.tar.bz2;
     md5 = "06b370565246758813f6580797369518";
   };
-  stdenv = stdenv;
   x11 = x11;
   pngSupport = pngSupport;
   libpng = if pngSupport then libpng else null;
diff --git a/pkgs/development/perl-modules/BerkeleyDB/builder.sh b/pkgs/development/perl-modules/BerkeleyDB/builder.sh
index ebe916c738e..e14e8c4311a 100755..100644
--- a/pkgs/development/perl-modules/BerkeleyDB/builder.sh
+++ b/pkgs/development/perl-modules/BerkeleyDB/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$perl $db4"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/development/perl-modules/BerkeleyDB/default.nix b/pkgs/development/perl-modules/BerkeleyDB/default.nix
index 8dd44e1e201..b4cf9f10438 100644
--- a/pkgs/development/perl-modules/BerkeleyDB/default.nix
+++ b/pkgs/development/perl-modules/BerkeleyDB/default.nix
@@ -2,15 +2,13 @@
 
 assert perl != null && db4 != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "perl-BerkeleyDB-0.25";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.cs.uu.nl/mirror/CPAN/authors/id/P/PM/PMQS/BerkeleyDB-0.25.tar.gz;
     md5 = "fcef06232d1ccd6c2a9cd114e388ea3d";
   };
-  stdenv = stdenv;
   perl = perl;
   db4 = db4;
 }
diff --git a/pkgs/development/perl-modules/XML-Parser/builder.sh b/pkgs/development/perl-modules/XML-Parser/builder.sh
index 3b5d98eebba..b6409cd8765 100755..100644
--- a/pkgs/development/perl-modules/XML-Parser/builder.sh
+++ b/pkgs/development/perl-modules/XML-Parser/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$perl $expat"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/development/perl-modules/XML-Parser/default.nix b/pkgs/development/perl-modules/XML-Parser/default.nix
index 79bad03171e..3f41b632703 100644
--- a/pkgs/development/perl-modules/XML-Parser/default.nix
+++ b/pkgs/development/perl-modules/XML-Parser/default.nix
@@ -2,15 +2,13 @@
 
 assert perl != null && expat != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "perl-XML-Parser-2.34";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://search.cpan.org/CPAN/authors/id/M/MS/MSERGEANT/XML-Parser-2.34.tar.gz;
     md5 = "84d9e0001fe01c14867256c3fe115899";
   };
-  stdenv = stdenv;
   perl = perl;
   expat = expat;
 }
diff --git a/pkgs/development/python-modules/wxPython/builder.sh b/pkgs/development/python-modules/wxPython/builder.sh
index dafbc903863..3e36d3f4045 100755..100644
--- a/pkgs/development/python-modules/wxPython/builder.sh
+++ b/pkgs/development/python-modules/wxPython/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs="$wxGTK $python $pkgconfig $gtk"
 . $stdenv/setup
 
diff --git a/pkgs/development/python-modules/wxPython/default.nix b/pkgs/development/python-modules/wxPython/default.nix
index 0cd19b9fe03..65dda5e5671 100644
--- a/pkgs/development/python-modules/wxPython/default.nix
+++ b/pkgs/development/python-modules/wxPython/default.nix
@@ -2,9 +2,8 @@
 
 assert wxGTK.compat22;
 
-derivation {
+stdenv.mkDerivation {
   name = "wxPython-2.4.2.4";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://heanet.dl.sourceforge.net/sourceforge/wxpython/wxPythonSrc-2.4.2.4.tar.gz;
@@ -12,5 +11,5 @@ derivation {
   };
   pkgconfig = wxGTK.pkgconfig;
   gtk = wxGTK.gtk;
-  inherit stdenv wxGTK python;
+  inherit wxGTK python;
 }
diff --git a/pkgs/development/tools/build-managers/apache-ant/builder.sh b/pkgs/development/tools/build-managers/apache-ant/builder.sh
index 4478233712b..e3e8e63d73d 100755..100644
--- a/pkgs/development/tools/build-managers/apache-ant/builder.sh
+++ b/pkgs/development/tools/build-managers/apache-ant/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 . $stdenv/setup || exit 1
 
 tar xvfj $src || exit 1
diff --git a/pkgs/development/tools/build-managers/apache-ant/default.nix b/pkgs/development/tools/build-managers/apache-ant/default.nix
index 52b5f9b524b..e7c587136a7 100644
--- a/pkgs/development/tools/build-managers/apache-ant/default.nix
+++ b/pkgs/development/tools/build-managers/apache-ant/default.nix
@@ -1,10 +1,8 @@
-{stdenv, fetchurl, j2sdk}: derivation {
+{stdenv, fetchurl, j2sdk}: stdenv.mkDerivation {
   name = "apache-ant-1.6.0";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://dist.apache.easynet.nl/ant/binaries/apache-ant-1.6.0-bin.tar.bz2;
     md5 = "01989c306da53862c101d9ea4ebb1f00";
   };
-  stdenv = stdenv;
 }
diff --git a/pkgs/development/tools/build-managers/gnumake/builder.sh b/pkgs/development/tools/build-managers/gnumake/builder.sh
deleted file mode 100755
index a73f5a6d5b8..00000000000
--- a/pkgs/development/tools/build-managers/gnumake/builder.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#! /bin/sh -e
-. $stdenv/setup
-genericBuild
diff --git a/pkgs/development/tools/build-managers/gnumake/default.nix b/pkgs/development/tools/build-managers/gnumake/default.nix
index de0bd9c901d..0b7a044f258 100644
--- a/pkgs/development/tools/build-managers/gnumake/default.nix
+++ b/pkgs/development/tools/build-managers/gnumake/default.nix
@@ -1,14 +1,11 @@
 {stdenv, fetchurl, patch}:
 
-derivation {
+stdenv.mkDerivation {
   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";
   };
   patches = [./log.diff];
   buildInputs = [patch];
-  inherit stdenv;
 }
diff --git a/pkgs/development/tools/misc/autoconf/builder.sh b/pkgs/development/tools/misc/autoconf/builder.sh
index e421c69a6c2..de4db475aaa 100755..100644
--- a/pkgs/development/tools/misc/autoconf/builder.sh
+++ b/pkgs/development/tools/misc/autoconf/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$m4 $perl"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/development/tools/misc/autoconf/default.nix b/pkgs/development/tools/misc/autoconf/default.nix
index f7ea5d44c57..c850d1fb8fe 100644
--- a/pkgs/development/tools/misc/autoconf/default.nix
+++ b/pkgs/development/tools/misc/autoconf/default.nix
@@ -1,13 +1,11 @@
 {stdenv, fetchurl, m4, perl}:
-derivation {
+stdenv.mkDerivation {
   name = "autoconf-2.58";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.nluug.nl/pub/gnu/autoconf/autoconf-2.58.tar.bz2;
     md5 = "db3fa3069c6554b3505799c7e1022e2b";
   };
-  stdenv = stdenv;
   m4 = m4;
   perl = perl;
 }
diff --git a/pkgs/development/tools/misc/autoconf/libtoolbuilder.sh b/pkgs/development/tools/misc/autoconf/libtoolbuilder.sh
index 34bdbcb35b7..34bdbcb35b7 100755..100644
--- a/pkgs/development/tools/misc/autoconf/libtoolbuilder.sh
+++ b/pkgs/development/tools/misc/autoconf/libtoolbuilder.sh
diff --git a/pkgs/development/tools/misc/automake/builder.sh b/pkgs/development/tools/misc/automake/builder.sh
index b356da42365..6610efa7205 100755..100644
--- a/pkgs/development/tools/misc/automake/builder.sh
+++ b/pkgs/development/tools/misc/automake/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$perl $autoconf"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/development/tools/misc/automake/default.nix b/pkgs/development/tools/misc/automake/default.nix
index 219ed9c89e2..3daa1708d4f 100644
--- a/pkgs/development/tools/misc/automake/default.nix
+++ b/pkgs/development/tools/misc/automake/default.nix
@@ -1,13 +1,11 @@
 {stdenv, fetchurl, perl, autoconf}:
-derivation {
+stdenv.mkDerivation {
   name = "automake-1.7.9";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.nluug.nl/pub/gnu/automake/automake-1.7.9.tar.bz2;
     md5 = "571fd0b0598eb2a27dcf68adcfddfacb";
   };
-  stdenv = stdenv;
   perl = perl;
   autoconf = autoconf;
 }
diff --git a/pkgs/development/tools/misc/binutils/builder.sh b/pkgs/development/tools/misc/binutils/builder.sh
index 409cd4bba8c..ac8b7f13a79 100755..100644
--- a/pkgs/development/tools/misc/binutils/builder.sh
+++ b/pkgs/development/tools/misc/binutils/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 . $stdenv/setup
 
 patchConfigure() {
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index 5208abef637..014eb72dd92 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -1,12 +1,11 @@
 {stdenv, fetchurl, noSysDirs}:
 
-derivation {
+stdenv.mkDerivation {
   name = "binutils-2.14";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.nl.net/pub/gnu/binutils/binutils-2.14.tar.bz2;
     md5 = "2da8def15d28af3ec6af0982709ae90a";
   };
-  inherit stdenv noSysDirs;
+  inherit noSysDirs;
 }
diff --git a/pkgs/development/tools/misc/gnum4/builder.sh b/pkgs/development/tools/misc/gnum4/builder.sh
index 03f201582bb..de2631e7156 100755..100644
--- a/pkgs/development/tools/misc/gnum4/builder.sh
+++ b/pkgs/development/tools/misc/gnum4/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 . $stdenv/setup || exit 1
 
 tar xvfz $src || exit 1
diff --git a/pkgs/development/tools/misc/gnum4/default.nix b/pkgs/development/tools/misc/gnum4/default.nix
index 25d095d387a..408c97a3563 100644
--- a/pkgs/development/tools/misc/gnum4/default.nix
+++ b/pkgs/development/tools/misc/gnum4/default.nix
@@ -1,11 +1,9 @@
 {stdenv, fetchurl}:
-derivation {
+stdenv.mkDerivation {
   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/gperf/builder.sh b/pkgs/development/tools/misc/gperf/builder.sh
index 8eee4233a94..08e18c2681d 100755..100644
--- a/pkgs/development/tools/misc/gperf/builder.sh
+++ b/pkgs/development/tools/misc/gperf/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 . $stdenv/setup
 
 tar xvfz $src
diff --git a/pkgs/development/tools/misc/gperf/default.nix b/pkgs/development/tools/misc/gperf/default.nix
index cc0f3e317d6..ded80edca83 100644
--- a/pkgs/development/tools/misc/gperf/default.nix
+++ b/pkgs/development/tools/misc/gperf/default.nix
@@ -1,12 +1,10 @@
 {stdenv, fetchurl}:
 
-derivation {
+stdenv.mkDerivation {
   name = "gperf-2.7.2";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.gnu.org/gnu/gperf/gperf-2.7.2.tar.gz;
     md5 = "e501acc2e18eed2c8f25ca0ac2330d68";
   };
-  inherit stdenv;
 }
diff --git a/pkgs/development/tools/misc/libtool/builder.sh b/pkgs/development/tools/misc/libtool/builder.sh
index eaa673874ae..4b8407fb533 100755..100644
--- a/pkgs/development/tools/misc/libtool/builder.sh
+++ b/pkgs/development/tools/misc/libtool/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$m4 $perl"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/development/tools/misc/libtool/default.nix b/pkgs/development/tools/misc/libtool/default.nix
index febe579a7c7..e02658af93a 100644
--- a/pkgs/development/tools/misc/libtool/default.nix
+++ b/pkgs/development/tools/misc/libtool/default.nix
@@ -1,13 +1,11 @@
 {stdenv, fetchurl, m4, perl}:
-derivation {
+stdenv.mkDerivation {
   name = "libtool-1.5";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = 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/octavefront/builder.sh b/pkgs/development/tools/misc/octavefront/builder.sh
index c24c9d1b123..16f41eacdc1 100755..100644
--- a/pkgs/development/tools/misc/octavefront/builder.sh
+++ b/pkgs/development/tools/misc/octavefront/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 set -x
 
 buildinputs="$autoconf $g77 $texinfo $bison $flex $gperf $rna $aterm"
diff --git a/pkgs/development/tools/misc/octavefront/default.nix b/pkgs/development/tools/misc/octavefront/default.nix
index 7fdc5b93c72..f68b9bb1218 100644
--- a/pkgs/development/tools/misc/octavefront/default.nix
+++ b/pkgs/development/tools/misc/octavefront/default.nix
@@ -7,13 +7,12 @@ assert autoconf != null && texinfo != null
   && rna != null && aterm != null;
 assert g77.langF77;
 
-derivation {
+stdenv.mkDerivation {
   name = "octavefront-0.2";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.radionetworkprocessor.com/pub/radionetworkprocessor/octavefront-0.2.tar.gz;
     md5 = "14e02d060fd6afc6752dbba0a7445ff2";
   };
-  inherit stdenv autoconf g77 texinfo bison flex gperf rna aterm;
+  inherit autoconf g77 texinfo bison flex gperf rna aterm;
 }
diff --git a/pkgs/development/tools/misc/pkgconfig/builder.sh b/pkgs/development/tools/misc/pkgconfig/builder.sh
index b2b35130162..c48fd9dbeb1 100755..100644
--- a/pkgs/development/tools/misc/pkgconfig/builder.sh
+++ b/pkgs/development/tools/misc/pkgconfig/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 . $stdenv/setup
 
 tar xvfz $src
diff --git a/pkgs/development/tools/misc/pkgconfig/default.nix b/pkgs/development/tools/misc/pkgconfig/default.nix
index 4cd880aad00..0dae1094666 100644
--- a/pkgs/development/tools/misc/pkgconfig/default.nix
+++ b/pkgs/development/tools/misc/pkgconfig/default.nix
@@ -1,13 +1,11 @@
 {stdenv, fetchurl}:
 
-derivation {
+stdenv.mkDerivation {
   name = "pkgconfig-0.15.0";
-  system = stdenv.system;
   builder = ./builder.sh;
   setupHook = ./setup-hook.sh;
   src = fetchurl {
     url = http://www.freedesktop.org/software/pkgconfig/releases/pkgconfig-0.15.0.tar.gz;
     md5 = "a7e4f60a6657dbc434334deb594cc242";
   };
-  inherit stdenv;
 }
diff --git a/pkgs/development/tools/misc/swig/builder.sh b/pkgs/development/tools/misc/swig/builder.sh
index 25a5040e45d..10d96cbea53 100755..100644
--- a/pkgs/development/tools/misc/swig/builder.sh
+++ b/pkgs/development/tools/misc/swig/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$perl $python"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/development/tools/misc/swig/default.nix b/pkgs/development/tools/misc/swig/default.nix
index a84ad4fc1f3..d0dd0a8cd3d 100644
--- a/pkgs/development/tools/misc/swig/default.nix
+++ b/pkgs/development/tools/misc/swig/default.nix
@@ -4,9 +4,8 @@
 assert perlSupport -> perl != null;
 assert pythonSupport -> python != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "swig-1.3.19";
-  system = stdenv.system;
 
   builder = ./builder.sh;
   src = fetchurl {
@@ -17,7 +16,6 @@ derivation {
   perlSupport = perlSupport;
   pythonSupport = pythonSupport;
 
-  stdenv = stdenv;
   perl = if perlSupport then perl else null;
   python = if pythonSupport then python else null;
 }
\ No newline at end of file
diff --git a/pkgs/development/tools/misc/texinfo/builder.sh b/pkgs/development/tools/misc/texinfo/builder.sh
index 81a30f02d8a..0a24647bf81 100755..100644
--- a/pkgs/development/tools/misc/texinfo/builder.sh
+++ b/pkgs/development/tools/misc/texinfo/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs="$ncurses"
 . $stdenv/setup
 
diff --git a/pkgs/development/tools/misc/texinfo/default.nix b/pkgs/development/tools/misc/texinfo/default.nix
index 960bb6107f8..d97f8ffbbe1 100644
--- a/pkgs/development/tools/misc/texinfo/default.nix
+++ b/pkgs/development/tools/misc/texinfo/default.nix
@@ -2,13 +2,12 @@
 
 assert ncurses != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "texinfo-4.6";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.gnu.org/gnu/texinfo/texinfo-4.6.tar.gz;
     md5 = "5730c8c0c7484494cca7a7e2d7459c64";
   };
-  inherit stdenv ncurses;
+  inherit ncurses;
 }
diff --git a/pkgs/development/tools/misc/valgrind/builder.sh b/pkgs/development/tools/misc/valgrind/builder.sh
index ec568b79a18..a3066cf6352 100755..100644
--- a/pkgs/development/tools/misc/valgrind/builder.sh
+++ b/pkgs/development/tools/misc/valgrind/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 . $stdenv/setup || exit 1
 
 # !!! hack; this is because $linuxHeaders/config.h includes some
diff --git a/pkgs/development/tools/misc/valgrind/default.nix b/pkgs/development/tools/misc/valgrind/default.nix
index 772479d601f..7b46fc183a6 100644
--- a/pkgs/development/tools/misc/valgrind/default.nix
+++ b/pkgs/development/tools/misc/valgrind/default.nix
@@ -1,12 +1,10 @@
 {stdenv, fetchurl}:
 
-derivation {
+stdenv.mkDerivation {
   name = "valgrind-2.1.0";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://developer.kde.org/~sewardj/valgrind-2.1.0.tar.bz2;
     md5 = "3e4056dd45163a5f555a23ced2f95191";
   };
-  stdenv = stdenv;
 }
diff --git a/pkgs/development/tools/parsing/asc-support/builder.sh b/pkgs/development/tools/parsing/asc-support/builder.sh
index 8170bbbea01..ee69b7b6356 100644
--- a/pkgs/development/tools/parsing/asc-support/builder.sh
+++ b/pkgs/development/tools/parsing/asc-support/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$aterm $ptsupport $toolbuslib $asfsupport"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/development/tools/parsing/asf-support/builder.sh b/pkgs/development/tools/parsing/asf-support/builder.sh
index f7e3f7347af..58f73d15f89 100755..100644
--- a/pkgs/development/tools/parsing/asf-support/builder.sh
+++ b/pkgs/development/tools/parsing/asf-support/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$aterm $ptsupport"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/development/tools/parsing/bison/builder-new.sh b/pkgs/development/tools/parsing/bison/builder-new.sh
index 42c191e3544..cff4b60c8e0 100755..100644
--- a/pkgs/development/tools/parsing/bison/builder-new.sh
+++ b/pkgs/development/tools/parsing/bison/builder-new.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$m4"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/development/tools/parsing/bison/builder.sh b/pkgs/development/tools/parsing/bison/builder.sh
index c112a067c7b..04bd1e2d293 100755..100644
--- a/pkgs/development/tools/parsing/bison/builder.sh
+++ b/pkgs/development/tools/parsing/bison/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$m4"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/development/tools/parsing/bison/default.nix b/pkgs/development/tools/parsing/bison/default.nix
index 085b1e0f636..953915729e4 100644
--- a/pkgs/development/tools/parsing/bison/default.nix
+++ b/pkgs/development/tools/parsing/bison/default.nix
@@ -1,13 +1,11 @@
 {stdenv, fetchurl, m4}:
 assert m4 != null;
-derivation {
+stdenv.mkDerivation {
   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-new.sh b/pkgs/development/tools/parsing/flex/builder-new.sh
index dc78198f37d..55947cd7e8c 100755..100644
--- a/pkgs/development/tools/parsing/flex/builder-new.sh
+++ b/pkgs/development/tools/parsing/flex/builder-new.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 export buildinputs="$yacc $m4"
 . $stdenv/setup
 
diff --git a/pkgs/development/tools/parsing/flex/builder.sh b/pkgs/development/tools/parsing/flex/builder.sh
index 4c097580550..e032b031715 100755..100644
--- a/pkgs/development/tools/parsing/flex/builder.sh
+++ b/pkgs/development/tools/parsing/flex/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 export buildinputs="$yacc"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/development/tools/parsing/flex/default.nix b/pkgs/development/tools/parsing/flex/default.nix
index 3a4e3649e00..b48a1d8621f 100644
--- a/pkgs/development/tools/parsing/flex/default.nix
+++ b/pkgs/development/tools/parsing/flex/default.nix
@@ -1,13 +1,11 @@
 {stdenv, fetchurl, yacc}:
 assert yacc != null;
-derivation {
+stdenv.mkDerivation {
   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;
 }
diff --git a/pkgs/development/tools/parsing/pgen/builder.sh b/pkgs/development/tools/parsing/pgen/builder.sh
index c0a41147bae..4c3af02261a 100644
--- a/pkgs/development/tools/parsing/pgen/builder.sh
+++ b/pkgs/development/tools/parsing/pgen/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs="$aterm $getopt $toolbuslib $ptsupport $sdfsupport $asfsupport $ascsupport $sglr"
 . $stdenv/setup
 
diff --git a/pkgs/development/tools/parsing/pt-support/builder.sh b/pkgs/development/tools/parsing/pt-support/builder.sh
index a76e84c4bb4..9c03520e9a2 100755..100644
--- a/pkgs/development/tools/parsing/pt-support/builder.sh
+++ b/pkgs/development/tools/parsing/pt-support/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$aterm $toolbuslib"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/development/tools/parsing/sdf-support/builder.sh b/pkgs/development/tools/parsing/sdf-support/builder.sh
index 258b63002fe..8e0c8537daf 100755..100644
--- a/pkgs/development/tools/parsing/sdf-support/builder.sh
+++ b/pkgs/development/tools/parsing/sdf-support/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$aterm $ptsupport $toolbuslib"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/development/tools/parsing/sdf2/builder.sh b/pkgs/development/tools/parsing/sdf2/builder.sh
index f12e8ca548a..ccba6298838 100755..100644
--- a/pkgs/development/tools/parsing/sdf2/builder.sh
+++ b/pkgs/development/tools/parsing/sdf2/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs="$aterm $getopt"
 . $stdenv/setup
 
diff --git a/pkgs/development/tools/parsing/sdf2/default.nix b/pkgs/development/tools/parsing/sdf2/default.nix
index b5fa9d64bff..93f5944f97d 100644
--- a/pkgs/development/tools/parsing/sdf2/default.nix
+++ b/pkgs/development/tools/parsing/sdf2/default.nix
@@ -1,13 +1,11 @@
 {stdenv, fetchurl, aterm, getopt}:
-derivation {
+stdenv.mkDerivation {
   name = "sdf2-1.6";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.stratego-language.org/pub/stratego/sdf2/sdf2-bundle-1.6.tar.gz;
     md5 = "283be0b4c7c9575c1b5cc735316e6192";
   };
-  stdenv = stdenv;
   aterm = aterm;
   getopt = getopt;
 }
diff --git a/pkgs/development/tools/parsing/sglr/builder.sh b/pkgs/development/tools/parsing/sglr/builder.sh
index 1b0d2d35a1a..4898bdad8d4 100755..100644
--- a/pkgs/development/tools/parsing/sglr/builder.sh
+++ b/pkgs/development/tools/parsing/sglr/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$aterm $ptsupport $toolbuslib"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/development/tools/parsing/toolbuslib/builder.sh b/pkgs/development/tools/parsing/toolbuslib/builder.sh
index bb5e4dc0c3a..5a224b5498f 100755..100644
--- a/pkgs/development/tools/parsing/toolbuslib/builder.sh
+++ b/pkgs/development/tools/parsing/toolbuslib/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$aterm"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/misc/nix/builder.sh b/pkgs/misc/nix/builder.sh
index 6e868d94bbd..24de3929527 100755..100644
--- a/pkgs/misc/nix/builder.sh
+++ b/pkgs/misc/nix/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs="$aterm $bdb"
 . $stdenv/setup
 
diff --git a/pkgs/misc/nix/default.nix b/pkgs/misc/nix/default.nix
index ea1ee5267be..601ab0b6f01 100644
--- a/pkgs/misc/nix/default.nix
+++ b/pkgs/misc/nix/default.nix
@@ -4,13 +4,12 @@ assert aterm != null && bdb != null;
 # assert bdb.version >= 4.2
 # assert aterm.version >= 2.0
 
-derivation {
+stdenv.mkDerivation {
   name = "nix-0.5pre807";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://catamaran.labs.cs.uu.nl/dist/nix/nix-0.5pre807/nix-0.5pre807.tar.bz2;
     md5 = "fa64bfc39de3e8903954328e4a90d530";
   };
-  inherit stdenv aterm bdb;
+  inherit aterm bdb;
 }
diff --git a/pkgs/misc/uml-utilities/builder.sh b/pkgs/misc/uml-utilities/builder.sh
index add7f9f74b7..9ad012504c5 100755..100644
--- a/pkgs/misc/uml-utilities/builder.sh
+++ b/pkgs/misc/uml-utilities/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs=""
 . $stdenv/setup
 
diff --git a/pkgs/misc/uml-utilities/default.nix b/pkgs/misc/uml-utilities/default.nix
index f0c93002364..b6c6d7ea98f 100644
--- a/pkgs/misc/uml-utilities/default.nix
+++ b/pkgs/misc/uml-utilities/default.nix
@@ -1,12 +1,10 @@
 {stdenv, fetchurl}:
 
-derivation {
+stdenv.mkDerivation {
   name = "uml-utilities-20040114";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://unc.dl.sourceforge.net/sourceforge/user-mode-linux/uml_utilities_20040114.tar.bz2;
     md5 = "1fd5b791ef32c6a3ed4ae42c4a53a316";
   };
-  inherit stdenv;
 }
diff --git a/pkgs/misc/uml/builder.sh b/pkgs/misc/uml/builder.sh
index 28b3692cf65..8abbb79301a 100755..100644
--- a/pkgs/misc/uml/builder.sh
+++ b/pkgs/misc/uml/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 buildinputs="$patch $perl $m4"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/misc/uml/default.nix b/pkgs/misc/uml/default.nix
index eafd5700e0b..977a26e1180 100644
--- a/pkgs/misc/uml/default.nix
+++ b/pkgs/misc/uml/default.nix
@@ -2,9 +2,8 @@
 
 assert patch != null && perl != null && m4 != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "uml-2.4.22-3";
-  system = stdenv.system;
   builder = ./builder.sh;
   linuxSrc = fetchurl {
     url = ftp://ftp.nl.kernel.org/pub/linux/kernel/v2.4/linux-2.4.22.tar.bz2;
@@ -15,5 +14,5 @@ derivation {
     md5 = "1ffa698fed37d14c6750ec841b7d9858";
   };
   config = ./config;
-  inherit stdenv patch perl m4;
+  inherit patch perl m4;
 }
diff --git a/pkgs/os-specific/linux/alsa/library/builder.sh b/pkgs/os-specific/linux/alsa/library/builder.sh
index 4cb8210f186..eabae65a3c8 100755..100644
--- a/pkgs/os-specific/linux/alsa/library/builder.sh
+++ b/pkgs/os-specific/linux/alsa/library/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 . $stdenv/setup || exit 1
 
 tar xvfj $src || exit 1
diff --git a/pkgs/os-specific/linux/alsa/library/default.nix b/pkgs/os-specific/linux/alsa/library/default.nix
index f13ca6ec54e..02e3b1d49c7 100644
--- a/pkgs/os-specific/linux/alsa/library/default.nix
+++ b/pkgs/os-specific/linux/alsa/library/default.nix
@@ -1,10 +1,8 @@
-{stdenv, fetchurl}: derivation {
+{stdenv, fetchurl}: stdenv.mkDerivation {
   name = "alsa-lib-0.9.8";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.alsa-project.org/pub/lib/alsa-lib-0.9.8.tar.bz2;
     md5 = "c9f163fb0623de1b92bf287712641f6e";
   };
-  stdenv = stdenv;
 }
diff --git a/pkgs/os-specific/linux/e2fsprogs/builder.sh b/pkgs/os-specific/linux/e2fsprogs/builder.sh
index 1f782ea310d..bb285c8a89b 100755..100644
--- a/pkgs/os-specific/linux/e2fsprogs/builder.sh
+++ b/pkgs/os-specific/linux/e2fsprogs/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs="$gettext"
 . $stdenv/setup 
 
diff --git a/pkgs/os-specific/linux/e2fsprogs/default.nix b/pkgs/os-specific/linux/e2fsprogs/default.nix
index afd32ed9737..9d4e6f24734 100644
--- a/pkgs/os-specific/linux/e2fsprogs/default.nix
+++ b/pkgs/os-specific/linux/e2fsprogs/default.nix
@@ -1,12 +1,11 @@
 {stdenv, fetchurl, gettext}:
 
-derivation {
+stdenv.mkDerivation {
   name = "e2fsprogs-1.34";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://heanet.dl.sourceforge.net/sourceforge/e2fsprogs/e2fsprogs-1.34.tar.gz;
     md5 = "9be9375224f0970a55e39ebebf2a0ce5";
   };
-  inherit stdenv gettext;
+  inherit gettext;
 }
diff --git a/pkgs/os-specific/linux/kernel-headers/builder.sh b/pkgs/os-specific/linux/kernel-headers/builder.sh
index 957a2552c87..823b21ae411 100755..100644
--- a/pkgs/os-specific/linux/kernel-headers/builder.sh
+++ b/pkgs/os-specific/linux/kernel-headers/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 . $stdenv/setup
 
 
diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix
index e16b4c6b19b..40ebac6c192 100644
--- a/pkgs/os-specific/linux/kernel-headers/default.nix
+++ b/pkgs/os-specific/linux/kernel-headers/default.nix
@@ -2,13 +2,11 @@
 
 assert stdenv.system == "i686-linux";
 
-derivation {
+stdenv.mkDerivation {
   name = "linux-headers-2.4.25-i386";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.nl.kernel.org/pub/linux/kernel/v2.4/linux-2.4.25.tar.bz2;
     md5 = "5fc8e9f43fa44ac29ddf9a9980af57d8";
   };
-  inherit stdenv;
 }
diff --git a/pkgs/os-specific/linux/net-tools/builder.sh b/pkgs/os-specific/linux/net-tools/builder.sh
index 87bb493c27f..17dea5297f6 100755..100644
--- a/pkgs/os-specific/linux/net-tools/builder.sh
+++ b/pkgs/os-specific/linux/net-tools/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs=""
 . $stdenv/setup
 
diff --git a/pkgs/os-specific/linux/net-tools/default.nix b/pkgs/os-specific/linux/net-tools/default.nix
index fd6398c7184..d93870c1b25 100644
--- a/pkgs/os-specific/linux/net-tools/default.nix
+++ b/pkgs/os-specific/linux/net-tools/default.nix
@@ -1,13 +1,11 @@
 {stdenv, fetchurl}:
 
-derivation {
+stdenv.mkDerivation {
   name = "net-tools-1.60";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://www.tazenda.demon.co.uk/phil/net-tools/net-tools-1.60.tar.bz2;
     md5 = "888774accab40217dde927e21979c165";
   };
   config = ./config.h;
-  inherit stdenv;
 }
diff --git a/pkgs/os-specific/linux/sysvinit/builder.sh b/pkgs/os-specific/linux/sysvinit/builder.sh
index b67f28b6a99..ed32068532b 100755..100644
--- a/pkgs/os-specific/linux/sysvinit/builder.sh
+++ b/pkgs/os-specific/linux/sysvinit/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs="$patch"
 . $stdenv/setup
 
diff --git a/pkgs/os-specific/linux/sysvinit/default.nix b/pkgs/os-specific/linux/sysvinit/default.nix
index da197f6422b..f9bbc3bedbf 100644
--- a/pkgs/os-specific/linux/sysvinit/default.nix
+++ b/pkgs/os-specific/linux/sysvinit/default.nix
@@ -1,13 +1,12 @@
 {stdenv, fetchurl, patch}:
 
-derivation {
+stdenv.mkDerivation {
   name = "sysvinit-2.85";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.cistron.nl/pub/people/miquels/sysvinit/sysvinit-2.85.tar.gz;
     md5 = "8a2d8f1ed5a2909da04132fefa44905e";
   };
   srcPatch = ./patch;
-  inherit stdenv patch;
+  inherit patch;
 }
diff --git a/pkgs/os-specific/linux/util-linux/builder.sh b/pkgs/os-specific/linux/util-linux/builder.sh
index d60064c8b7f..16f015c73a9 100755..100644
--- a/pkgs/os-specific/linux/util-linux/builder.sh
+++ b/pkgs/os-specific/linux/util-linux/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs="$patch"
 . $stdenv/setup
 
diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix
index 86f95f2588a..a346d134c80 100644
--- a/pkgs/os-specific/linux/util-linux/default.nix
+++ b/pkgs/os-specific/linux/util-linux/default.nix
@@ -1,13 +1,12 @@
 {stdenv, fetchurl, patch}:
 
-derivation {
+stdenv.mkDerivation {
   name = "util-linux-2.12";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://ftp.cwi.nl/aeb/util-linux/util-linux-2.12.tar.gz;
     md5 = "997adf78b98d9d1c5db4f37ea982acff";
   };
   mconfigPatch = ./MCONFIG.patch;
-  inherit stdenv patch;
+  inherit patch;
 }
diff --git a/pkgs/servers/http/apache-httpd/builder.sh b/pkgs/servers/http/apache-httpd/builder.sh
index 6333dfab578..91d05400b5e 100755..100644
--- a/pkgs/servers/http/apache-httpd/builder.sh
+++ b/pkgs/servers/http/apache-httpd/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildInputs="$openssl $db4 $expat $perl"
 . $stdenv/setup
 
diff --git a/pkgs/servers/http/apache-httpd/default.nix b/pkgs/servers/http/apache-httpd/default.nix
index b4e7fa2359f..0168f569a7b 100644
--- a/pkgs/servers/http/apache-httpd/default.nix
+++ b/pkgs/servers/http/apache-httpd/default.nix
@@ -6,9 +6,8 @@ assert sslSupport -> openssl != null;
 assert db4Support -> db4 != null;
 assert expat != null && perl != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "apache-httpd-2.0.49";
-  system = stdenv.system;
 
   builder = ./builder.sh;
   src = fetchurl {
@@ -18,7 +17,7 @@ derivation {
 
   inherit sslSupport db4Support;
 
-  inherit stdenv perl expat;
+  inherit perl expat;
   openssl = if sslSupport then openssl else null;
   db4 = if db4Support then db4 else null;
 }
diff --git a/pkgs/servers/x11/xfree86/builder.sh b/pkgs/servers/x11/xfree86/builder.sh
index 4717f42e0f6..9c23b574e4c 100755..100644
--- a/pkgs/servers/x11/xfree86/builder.sh
+++ b/pkgs/servers/x11/xfree86/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 export buildinputs="$bison $flex"
 . $stdenv/setup || exit 1
 
diff --git a/pkgs/servers/x11/xfree86/default.nix b/pkgs/servers/x11/xfree86/default.nix
index 1de8e2b9a11..63eff2baf02 100644
--- a/pkgs/servers/x11/xfree86/default.nix
+++ b/pkgs/servers/x11/xfree86/default.nix
@@ -6,9 +6,8 @@ assert !buildServer; # we don't support this currently
 assert buildClientLibs; # we don't support *not* doing this currently
 assert bison != null && flex != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "xfree86-4.3";
-  system = stdenv.system;
 
   builder = ./builder.sh;
   hostdef = ./host.def;
@@ -28,7 +27,6 @@ derivation {
   buildServer = buildServer;
   buildClientLibs = buildClientLibs;
 
-  stdenv = stdenv;
   bison = bison;
   flex = flex;
 }
diff --git a/pkgs/shells/bash/builder.sh b/pkgs/shells/bash/builder.sh
index 73a4e9020eb..13e79ff5e28 100755..100644
--- a/pkgs/shells/bash/builder.sh
+++ b/pkgs/shells/bash/builder.sh
@@ -1,4 +1,2 @@
-#! /bin/sh -e
-. $stdenv/setup
 genericBuild
 (cd $out/bin && ln -s bash sh) || exit 1
diff --git a/pkgs/shells/bash/default.nix b/pkgs/shells/bash/default.nix
index 3e824cfecc5..918b1cea769 100644
--- a/pkgs/shells/bash/default.nix
+++ b/pkgs/shells/bash/default.nix
@@ -1,12 +1,10 @@
 {stdenv, fetchurl}:
 
-derivation {
+stdenv.mkDerivation {
   name = "bash-2.05b";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.nl.net/pub/gnu/bash/bash-2.05b.tar.gz;
     md5 = "5238251b4926d778dfe162f6ce729733";
   };
-  inherit stdenv;
 }
diff --git a/pkgs/stdenv/generic/builder.sh b/pkgs/stdenv/generic/builder.sh
index 20145df08ab..b3d46432249 100755..100644
--- a/pkgs/stdenv/generic/builder.sh
+++ b/pkgs/stdenv/generic/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 p1=$param1
 p2=$param2
 p3=$param3
diff --git a/pkgs/stdenv/nix-linux/default-builder.sh b/pkgs/stdenv/generic/default-builder.sh
index 9a297c67f6e..9a297c67f6e 100644
--- a/pkgs/stdenv/nix-linux/default-builder.sh
+++ b/pkgs/stdenv/generic/default-builder.sh
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index 9c877252e2b..d7b953ffb05 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -1,17 +1,33 @@
-{ stdenv, name, preHook ? null, postHook ? null, initialPath, gcc
+{ stdenv, name, preHook ? null, postHook ? null, initialPath, gcc, bash
 , param1 ? "", param2 ? "", param3 ? "", param4 ? "", param5 ? ""
 }:
 
-derivation {
-  inherit stdenv name;
-  system = stdenv.system;
+let {
 
-  builder = ./builder.sh;
+  body =
 
-  setup = ./setup.sh;
+    stdenv.mkDerivation {
+      inherit name;
 
-  inherit preHook postHook initialPath gcc;
+      builder = ./builder.sh;
+
+      setup = ./setup.sh;
+
+      inherit preHook postHook initialPath gcc;
+
+      # TODO: make this more elegant.
+      inherit param1 param2 param3 param4 param5;
+    }
+
+    # Add a utility function to produce derivations that use this
+    # stdenv and its the bash shell.
+    // {
+      mkDerivation = attrs: derivation (attrs // {
+        builder = bash;
+        args = ["-e" (if attrs ? builder then attrs.builder else ./default-builder.sh)];
+        stdenv = body;
+        system = body.system;
+      });
+    };
 
-  # TODO: make this more elegant.
-  inherit param1 param2 param3 param4 param5;
 }
diff --git a/pkgs/stdenv/initial/builder.sh b/pkgs/stdenv/initial/builder.sh
index 8a9f7ab4918..9aa5aa6ae18 100755..100644
--- a/pkgs/stdenv/initial/builder.sh
+++ b/pkgs/stdenv/initial/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 export PATH=/usr/bin:/bin
 
 mkdir $out
diff --git a/pkgs/stdenv/initial/default.nix b/pkgs/stdenv/initial/default.nix
index da0771ce7d2..6a62751b037 100644
--- a/pkgs/stdenv/initial/default.nix
+++ b/pkgs/stdenv/initial/default.nix
@@ -5,7 +5,23 @@
 
 {system, name}:
 
-derivation {
-  inherit system name;
-  builder = ./builder.sh;
-}
\ No newline at end of file
+let {
+
+  body = 
+
+    derivation {
+      inherit system name;
+      builder = "/bin/sh";
+      args = ["-e" ./builder.sh];
+    }
+
+    // {
+      mkDerivation = attrs: derivation (attrs // {
+        builder = "/bin/sh";
+        args = ["-e" attrs.builder];
+        stdenv = body;
+        system = body.system;
+      });
+    };
+
+}
diff --git a/pkgs/stdenv/native/default.nix b/pkgs/stdenv/native/default.nix
index 8a57b10d71b..143230fbd89 100644
--- a/pkgs/stdenv/native/default.nix
+++ b/pkgs/stdenv/native/default.nix
@@ -1,17 +1,19 @@
-{stdenv}:
+{stdenv, genericStdenv, gccWrapper}:
 
-(import ../generic) {
+genericStdenv {
   name = "stdenv-native";
   preHook = ./prehook.sh;
   initialPath = "/usr/local /usr /";
 
   inherit stdenv;
 
-  gcc = (import ../../build-support/gcc-wrapper) {
+  gcc = gccWrapper {
     name = "gcc-native";
     nativeTools = true;
     nativeGlibc = true;
     nativePrefix = "/usr";
     inherit stdenv;
   };
+
+  bash = "/bin/sh";
 }
diff --git a/pkgs/stdenv/nix-linux/boot.nix b/pkgs/stdenv/nix-linux/boot.nix
index de2d5128e28..b556ba9ba36 100644
--- a/pkgs/stdenv/nix-linux/boot.nix
+++ b/pkgs/stdenv/nix-linux/boot.nix
@@ -14,4 +14,6 @@ genericStdenv {
     nativePrefix = "/usr";
     inherit stdenv glibc;
   };
+
+  bash = "/bin/sh";
 }
diff --git a/pkgs/stdenv/nix-linux/default.nix b/pkgs/stdenv/nix-linux/default.nix
index 9e9602d5e1f..9b4231962c3 100644
--- a/pkgs/stdenv/nix-linux/default.nix
+++ b/pkgs/stdenv/nix-linux/default.nix
@@ -1,36 +1,21 @@
 {stdenv, glibc, pkgs, genericStdenv, gccWrapper}:
 
-let {
+genericStdenv {
+  name = "stdenv-nix-linux";
+  preHook = ./prehook.sh;
+  initialPath = (import ../nix/path.nix) {pkgs = pkgs;};
 
-  body =
+  inherit stdenv;
 
-    genericStdenv {
-      name = "stdenv-nix-linux";
-      preHook = ./prehook.sh;
-      initialPath = (import ../nix/path.nix) {pkgs = pkgs;};
+  gcc = gccWrapper {
+    name = pkgs.gcc.name;
+    nativeTools = false;
+    nativeGlibc = false;
+    inherit (pkgs) gcc binutils;
+    inherit glibc;
+  };
 
-      inherit stdenv;
-
-      gcc = gccWrapper {
-        name = pkgs.gcc.name;
-        nativeTools = false;
-        nativeGlibc = false;
-        inherit (pkgs) gcc binutils;
-        inherit stdenv glibc;
-      };
-
-      param1 = pkgs.bash;
-    }
-
-    # Add a utility function to produce derivations that use this
-    # stdenv and its the bash shell.
-    // {
-      mkDerivation = attrs: derivation (attrs // {
-        builder = pkgs.bash ~ /bin/sh;
-        args = ["-e" (if attrs ? builder then attrs.builder else ./default-builder.sh)];
-        stdenv = body;
-        system = body.system;
-      });
-    };
+  bash = pkgs.bash ~ /bin/sh;
 
+  param1 = pkgs.bash;
 }
diff --git a/pkgs/stdenv/nix/default.nix b/pkgs/stdenv/nix/default.nix
index 5d454e26ce7..5634553dd50 100644
--- a/pkgs/stdenv/nix/default.nix
+++ b/pkgs/stdenv/nix/default.nix
@@ -1,13 +1,13 @@
-{stdenv, pkgs}:
+{stdenv, pkgs, genericStdenv, gccWrapper}:
 
-(import ../generic) {
+genericStdenv {
   name = "stdenv-nix";
   preHook = ./prehook.sh;
   initialPath = (import ./path.nix) {pkgs = pkgs;};
 
   inherit stdenv;
 
-  gcc = (import ../../build-support/gcc-wrapper) {
+  gcc = gccWrapper {
     name = pkgs.gcc.name;
     nativeTools = false;
     nativeGlibc = true;
@@ -15,5 +15,7 @@
     inherit stdenv;
   };
 
+  bash = pkgs.bash ~ /bin/sh;
+
   param1 = pkgs.bash;
 }
diff --git a/pkgs/system/stdenvs.nix b/pkgs/system/stdenvs.nix
index 798091a9f2e..0621608f2be 100644
--- a/pkgs/system/stdenvs.nix
+++ b/pkgs/system/stdenvs.nix
@@ -23,7 +23,10 @@
   # i.e., the stuff in /bin, /usr/bin, etc.  This environment should
   # be used with care, since many Nix packages will not build properly
   # with it (e.g., because they require GNU Make).
-  stdenvNative = (import ../stdenv/native) {stdenv = stdenvInitial;};
+  stdenvNative = (import ../stdenv/native) {
+    stdenv = stdenvInitial;
+    inherit genericStdenv gccWrapper;
+  };
 
   stdenvNativePkgs = allPackages {
     stdenv = stdenvNative;
@@ -35,10 +38,20 @@
   # The Nix build environment.
   stdenvNix = (import ../stdenv/nix) {
     stdenv = stdenvNative;
-    pkgs = allPackages {stdenv = stdenvNative; noSysDirs = false;};
+    pkgs = stdenvNixBootPkgs;
+    inherit genericStdenv gccWrapper;
+  };
+
+  stdenvNixBootPkgs = allPackages {
+    stdenv = stdenvNative;
+    bootCurl = null;
+    noSysDirs = true;
   };
 
-  stdenvNixPkgs = allPackages {stdenv = stdenvNix;};
+  stdenvNixPkgs = allPackages {
+    stdenv = stdenvNix;
+    bootCurl = stdenvNixBootPkgs.curl;
+  };
 
 
   # The Linux build environment is a fully bootstrapped Nix
diff --git a/pkgs/test/simple/builder.sh b/pkgs/test/simple/builder.sh
index f97356a5563..7455f3e2274 100755..100644
--- a/pkgs/test/simple/builder.sh
+++ b/pkgs/test/simple/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 set -x
 
 export NIX_DEBUG=1
diff --git a/pkgs/tools/archivers/gnutar/builder.sh b/pkgs/tools/archivers/gnutar/builder.sh
deleted file mode 100755
index a73f5a6d5b8..00000000000
--- a/pkgs/tools/archivers/gnutar/builder.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#! /bin/sh -e
-. $stdenv/setup
-genericBuild
diff --git a/pkgs/tools/archivers/gnutar/default.nix b/pkgs/tools/archivers/gnutar/default.nix
index e5cbf559cf8..893c0fb0f4c 100644
--- a/pkgs/tools/archivers/gnutar/default.nix
+++ b/pkgs/tools/archivers/gnutar/default.nix
@@ -1,12 +1,9 @@
 {stdenv, fetchurl}:
 
-derivation {
+stdenv.mkDerivation {
   name = "gnutar-1.13.25";
-  system = stdenv.system;
-  builder = ./builder.sh;
   src = fetchurl {
     url = ftp://alpha.gnu.org/gnu/tar/tar-1.13.25.tar.gz;
     md5 = "6ef8c906e81eee441f8335652670ac4a";
   };
-  inherit stdenv;
 }
diff --git a/pkgs/tools/archivers/unzip/builder.sh b/pkgs/tools/archivers/unzip/builder.sh
index f0b9d031802..0166eecce6b 100755..100644
--- a/pkgs/tools/archivers/unzip/builder.sh
+++ b/pkgs/tools/archivers/unzip/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 . $stdenv/setup
 
 builder() {
diff --git a/pkgs/tools/archivers/unzip/default.nix b/pkgs/tools/archivers/unzip/default.nix
index 8467e00d029..c871c7755d6 100644
--- a/pkgs/tools/archivers/unzip/default.nix
+++ b/pkgs/tools/archivers/unzip/default.nix
@@ -1,12 +1,10 @@
 {stdenv, fetchurl}:
 
-derivation {
+stdenv.mkDerivation {
   name = "unzip-5.50";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.info-zip.org/pub/infozip/src/unzip550.tar.gz;
     md5 = "798592d62e37f92571184236947122ed";
   };
-  inherit stdenv;
 }
diff --git a/pkgs/tools/archivers/zip/builder.sh b/pkgs/tools/archivers/zip/builder.sh
index b68fdfe32b8..04fb0ec967f 100755..100644
--- a/pkgs/tools/archivers/zip/builder.sh
+++ b/pkgs/tools/archivers/zip/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 . $stdenv/setup || exit 1
 
 tar xvfz $src || exit 1
diff --git a/pkgs/tools/archivers/zip/default.nix b/pkgs/tools/archivers/zip/default.nix
index 7b4ea02fb40..d5f8f910a7e 100644
--- a/pkgs/tools/archivers/zip/default.nix
+++ b/pkgs/tools/archivers/zip/default.nix
@@ -1,10 +1,8 @@
-{stdenv, fetchurl}: derivation {
+{stdenv, fetchurl}: stdenv.mkDerivation {
   name = "zip-2.3";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.info-zip.org/pub/infozip/src/zip23.tar.gz;
     md5 = "5206a99541f3b0ab90f1baa167392c4f";
   };
-  stdenv = stdenv;
 }
diff --git a/pkgs/tools/compression/bzip2/builder.sh b/pkgs/tools/compression/bzip2/builder.sh
index e2c5982852e..49028c0e5a1 100755..100644
--- a/pkgs/tools/compression/bzip2/builder.sh
+++ b/pkgs/tools/compression/bzip2/builder.sh
@@ -1,4 +1,3 @@
-#! /bin/sh -e
 . $stdenv/setup
 installFlags="PREFIX=$out"
 genericBuild
diff --git a/pkgs/tools/compression/bzip2/default.nix b/pkgs/tools/compression/bzip2/default.nix
index af3ec46dec7..afe2a620377 100644
--- a/pkgs/tools/compression/bzip2/default.nix
+++ b/pkgs/tools/compression/bzip2/default.nix
@@ -1,12 +1,10 @@
 {stdenv, fetchurl}:
 
-derivation {
+stdenv.mkDerivation {
   name = "bzip2-1.0.2";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://sources.redhat.com/pub/bzip2/v102/bzip2-1.0.2.tar.gz;
     md5 = "ee76864958d568677f03db8afad92beb";
   };
-  inherit stdenv;
 }
diff --git a/pkgs/tools/compression/gzip/builder.sh b/pkgs/tools/compression/gzip/builder.sh
deleted file mode 100755
index a73f5a6d5b8..00000000000
--- a/pkgs/tools/compression/gzip/builder.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#! /bin/sh -e
-. $stdenv/setup
-genericBuild
diff --git a/pkgs/tools/compression/gzip/default.nix b/pkgs/tools/compression/gzip/default.nix
index d766635b05b..7e324fc9127 100644
--- a/pkgs/tools/compression/gzip/default.nix
+++ b/pkgs/tools/compression/gzip/default.nix
@@ -1,12 +1,9 @@
 {stdenv, fetchurl}:
 
-derivation {
+stdenv.mkDerivation {
   name = "gzip-1.3.3";
-  system = stdenv.system;
-  builder = ./builder.sh;
   src = fetchurl {
     url = http://www.gzip.org/gzip-1.3.3.tar.gz;
     md5 = "52eaf713673507d21f7abefee98ba662";
   };
-  inherit stdenv;
 }
diff --git a/pkgs/tools/graphics/graphviz/builder.sh b/pkgs/tools/graphics/graphviz/builder.sh
index 3fd6c6bb902..1926fc3c9d1 100755..100644
--- a/pkgs/tools/graphics/graphviz/builder.sh
+++ b/pkgs/tools/graphics/graphviz/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs="$x11 $libpng $libjpeg $expat $freetype"
 . $stdenv/setup
 
diff --git a/pkgs/tools/graphics/graphviz/default.nix b/pkgs/tools/graphics/graphviz/default.nix
index 9bc51be695a..c9303bc72a8 100644
--- a/pkgs/tools/graphics/graphviz/default.nix
+++ b/pkgs/tools/graphics/graphviz/default.nix
@@ -3,9 +3,8 @@
 assert x11 != null && libpng != null && libjpeg != null
   && expat != null;
 
-derivation {
+stdenv.mkDerivation {
   name = "graphviz-1.10";
-  system = stdenv.system;
 
   builder = ./builder.sh;
   src = fetchurl {
@@ -13,7 +12,6 @@ derivation {
     md5 = "e1402531abff68d146bf94e72b44dc2a";
   };
 
-  stdenv = stdenv;
   x11 = x11;
   libpng = libpng;
   libjpeg = libjpeg;
diff --git a/pkgs/tools/misc/coreutils/builder.sh b/pkgs/tools/misc/coreutils/builder.sh
deleted file mode 100755
index a73f5a6d5b8..00000000000
--- a/pkgs/tools/misc/coreutils/builder.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#! /bin/sh -e
-. $stdenv/setup
-genericBuild
diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix
index 009ff76ab67..b69428a0ceb 100644
--- a/pkgs/tools/misc/coreutils/default.nix
+++ b/pkgs/tools/misc/coreutils/default.nix
@@ -1,12 +1,9 @@
 {stdenv, fetchurl}:
 
-derivation {
+stdenv.mkDerivation {
   name = "coreutils-5.0";
-  system = stdenv.system;
-  builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.nluug.nl/pub/gnu/coreutils/coreutils-5.0.tar.bz2;
     md5 = "94e5558ee2a65723d4840bfde2d323f0";
   };
-  inherit stdenv;
 }
diff --git a/pkgs/tools/misc/findutils/builder.sh b/pkgs/tools/misc/findutils/builder.sh
deleted file mode 100755
index a73f5a6d5b8..00000000000
--- a/pkgs/tools/misc/findutils/builder.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#! /bin/sh -e
-. $stdenv/setup
-genericBuild
diff --git a/pkgs/tools/misc/findutils/default.nix b/pkgs/tools/misc/findutils/default.nix
index 1aafc999915..ea209910629 100644
--- a/pkgs/tools/misc/findutils/default.nix
+++ b/pkgs/tools/misc/findutils/default.nix
@@ -1,12 +1,9 @@
 {stdenv, fetchurl}:
 
-derivation {
+stdenv.mkDerivation {
   name = "findutils-4.1.20";
-  system = stdenv.system;
-  builder = ./builder.sh;
   src = fetchurl {
     url = ftp://alpha.gnu.org/pub/gnu/findutils/findutils-4.1.20.tar.gz;
     md5 = "e90ce7222daadeb8616b8db461e17cbc";
   };
-  inherit stdenv;
 }
diff --git a/pkgs/tools/misc/getopt/builder.sh b/pkgs/tools/misc/getopt/builder.sh
index 30ac6e3d453..b086693baec 100755..100644
--- a/pkgs/tools/misc/getopt/builder.sh
+++ b/pkgs/tools/misc/getopt/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 . $stdenv/setup || exit 1
 
 tar xvfz $src || exit 1
diff --git a/pkgs/tools/misc/getopt/default.nix b/pkgs/tools/misc/getopt/default.nix
index c34230ddeee..1e27204a5af 100644
--- a/pkgs/tools/misc/getopt/default.nix
+++ b/pkgs/tools/misc/getopt/default.nix
@@ -1,10 +1,8 @@
-{stdenv, fetchurl}: derivation {
+{stdenv, fetchurl}: stdenv.mkDerivation {
   name = "getopt-1.1.3";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://huizen.dds.nl/~frodol/getopt-1.1.3.tar.gz;
     md5 = "7b7637dcb0ac531f1af29f4d6b018e86";
   };
-  stdenv = stdenv;
 }
diff --git a/pkgs/tools/networking/bittorrent/builder.sh b/pkgs/tools/networking/bittorrent/builder.sh
index 65301732141..342bf991bae 100755..100644
--- a/pkgs/tools/networking/bittorrent/builder.sh
+++ b/pkgs/tools/networking/bittorrent/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh -e
-
 buildinputs="$python $wxPython"
 . $stdenv/setup
 
diff --git a/pkgs/tools/networking/bittorrent/default.nix b/pkgs/tools/networking/bittorrent/default.nix
index feacfbb2ecd..13711226950 100644
--- a/pkgs/tools/networking/bittorrent/default.nix
+++ b/pkgs/tools/networking/bittorrent/default.nix
@@ -2,14 +2,13 @@
 
 assert wxPython.python.zlibSupport;
 
-derivation {
+stdenv.mkDerivation {
   name = "bittorrent-3.3";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://bitconjurer.org/BitTorrent/BitTorrent-3.3.tar.gz;
     md5 = "1ecf1fc40b4972470313f9ae728206e8";
   };
   python = wxPython.python;
-  inherit stdenv wxPython;
+  inherit wxPython;
 }
diff --git a/pkgs/tools/networking/cksfv/builder.sh b/pkgs/tools/networking/cksfv/builder.sh
index 1b22f508241..18b63b2fd61 100755..100644
--- a/pkgs/tools/networking/cksfv/builder.sh
+++ b/pkgs/tools/networking/cksfv/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 . $stdenv/setup || exit 1
 
 tar xvfz $src || exit 1
diff --git a/pkgs/tools/networking/cksfv/default.nix b/pkgs/tools/networking/cksfv/default.nix
index 5551831a1d5..643355eb5d2 100644
--- a/pkgs/tools/networking/cksfv/default.nix
+++ b/pkgs/tools/networking/cksfv/default.nix
@@ -1,12 +1,10 @@
 {stdenv, fetchurl}:
 
-derivation {
+stdenv.mkDerivation {
   name = "cksfv-1.3";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://www.fodder.org/cksfv/cksfv-1.3.tar.gz;
     md5 = "e00cf6a80a566539eb6f3432f2282c38";
   };
-  stdenv = stdenv;
 }
diff --git a/pkgs/tools/networking/curl/builder.sh b/pkgs/tools/networking/curl/builder.sh
deleted file mode 100755
index 6e33f41fff5..00000000000
--- a/pkgs/tools/networking/curl/builder.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#! /bin/sh -e
-. $stdenv/setup
-configureFlags="--without-ssl"
-genericBuild
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index a2e9c273847..d7627982d6a 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -1,13 +1,12 @@
 {stdenv, fetchurl, zlib}:
 
-derivation {
+stdenv.mkDerivation {
   name = "curl-7.11.1";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://curl.haxx.se/download/curl-7.11.1.tar.bz2;
     md5 = "c2af7c3364a1a8839516f74961b6bd11";
   };
   buildInputs = [zlib];
-  inherit stdenv;
+  configureFlags = "--without-ssl";
 }
diff --git a/pkgs/tools/networking/par2cmdline/builder.sh b/pkgs/tools/networking/par2cmdline/builder.sh
index 60aac555e1c..0dbb5e0a57b 100755..100644
--- a/pkgs/tools/networking/par2cmdline/builder.sh
+++ b/pkgs/tools/networking/par2cmdline/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 . $stdenv/setup || exit 1
 
 tar xvfz $src || exit 1
diff --git a/pkgs/tools/networking/par2cmdline/default.nix b/pkgs/tools/networking/par2cmdline/default.nix
index 488ad88a0d9..3c669d20c68 100644
--- a/pkgs/tools/networking/par2cmdline/default.nix
+++ b/pkgs/tools/networking/par2cmdline/default.nix
@@ -1,10 +1,8 @@
-{stdenv, fetchurl}: derivation {
+{stdenv, fetchurl}: stdenv.mkDerivation {
   name = "par2cmdline-0.3";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://heanet.dl.sourceforge.net/sourceforge/parchive/par2cmdline-0.3.tar.gz;
     md5 = "705c97bc41b862d281dd41c219a60849";
   };
-  stdenv = stdenv;
 }
diff --git a/pkgs/tools/networking/wget/builder.sh b/pkgs/tools/networking/wget/builder.sh
deleted file mode 100755
index a73f5a6d5b8..00000000000
--- a/pkgs/tools/networking/wget/builder.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#! /bin/sh -e
-. $stdenv/setup
-genericBuild
diff --git a/pkgs/tools/networking/wget/default.nix b/pkgs/tools/networking/wget/default.nix
index b3ec1829421..21bf4976908 100644
--- a/pkgs/tools/networking/wget/default.nix
+++ b/pkgs/tools/networking/wget/default.nix
@@ -1,12 +1,10 @@
 {stdenv, fetchurl}:
 
-derivation {
+stdenv.mkDerivation {
   name = "wget-1.9.1";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.nl.net/pub/gnu/wget/wget-1.9.1.tar.gz;
     md5 = "e6051f1e1487ec0ebfdbda72bedc70ad";
   };
-  inherit stdenv;
 }
diff --git a/pkgs/tools/system/which/builder.sh b/pkgs/tools/system/which/builder.sh
index e6ddd3dfa73..3c09d5ff137 100755..100644
--- a/pkgs/tools/system/which/builder.sh
+++ b/pkgs/tools/system/which/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 . $stdenv/setup || exit 1
 
 tar xvfz $src || exit 1
diff --git a/pkgs/tools/system/which/default.nix b/pkgs/tools/system/which/default.nix
index 8d85e4120fc..0c9f6b6a776 100644
--- a/pkgs/tools/system/which/default.nix
+++ b/pkgs/tools/system/which/default.nix
@@ -1,12 +1,10 @@
-{stdenv, fetchurl}: derivation {
+{stdenv, fetchurl}: stdenv.mkDerivation {
   name = "which-2.16";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = http://ftp.gnu.org/gnu/which/which-2.16.tar.gz;
     md5 = "830b83af48347a9a3520f561e47cbc9b";
   };
-  stdenv = stdenv;
 }
 
 
diff --git a/pkgs/tools/text/diffutils/builder.sh b/pkgs/tools/text/diffutils/builder.sh
deleted file mode 100755
index 46f69284ae8..00000000000
--- a/pkgs/tools/text/diffutils/builder.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#! /bin/sh
-. $stdenv/setup
-genericBuild
diff --git a/pkgs/tools/text/diffutils/default.nix b/pkgs/tools/text/diffutils/default.nix
index bcb9a4891b6..7fc4fe3d5fb 100644
--- a/pkgs/tools/text/diffutils/default.nix
+++ b/pkgs/tools/text/diffutils/default.nix
@@ -1,12 +1,9 @@
 {stdenv, fetchurl}:
 
-derivation {
+stdenv.mkDerivation {
   name = "diffutils-2.8.1";
-  system = stdenv.system;
-  builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.nluug.nl/pub/gnu/diffutils/diffutils-2.8.1.tar.gz;
     md5 = "71f9c5ae19b60608f6c7f162da86a428";
   };
-  inherit stdenv;
 }
diff --git a/pkgs/tools/text/ed/builder.sh b/pkgs/tools/text/ed/builder.sh
index ba63de01c95..0c4430cf2ac 100755..100644
--- a/pkgs/tools/text/ed/builder.sh
+++ b/pkgs/tools/text/ed/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 . $stdenv/setup || exit 1
 
 tar xvfz $src || exit 1
diff --git a/pkgs/tools/text/ed/default.nix b/pkgs/tools/text/ed/default.nix
index 1f79383e058..dbbd944e05e 100644
--- a/pkgs/tools/text/ed/default.nix
+++ b/pkgs/tools/text/ed/default.nix
@@ -1,10 +1,8 @@
-{stdenv, fetchurl}: derivation {
+{stdenv, fetchurl}: stdenv.mkDerivation {
   name = "ed-0.2";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.gnu.org/pub/gnu/ed/ed-0.2.tar.gz;
     md5 = "ddd57463774cae9b50e70cd51221281b";
   };
-  stdenv = stdenv;
 }
diff --git a/pkgs/tools/text/gawk/builder.sh b/pkgs/tools/text/gawk/builder.sh
deleted file mode 100755
index a73f5a6d5b8..00000000000
--- a/pkgs/tools/text/gawk/builder.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#! /bin/sh -e
-. $stdenv/setup
-genericBuild
diff --git a/pkgs/tools/text/gawk/default.nix b/pkgs/tools/text/gawk/default.nix
index 26340d74f4d..b15f3ffb6e3 100644
--- a/pkgs/tools/text/gawk/default.nix
+++ b/pkgs/tools/text/gawk/default.nix
@@ -1,12 +1,9 @@
 {stdenv, fetchurl}:
 
-derivation {
+stdenv.mkDerivation {
   name = "gawk-3.1.3";
-  system = stdenv.system;
-  builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.nluug.nl/pub/gnu/gawk/gawk-3.1.3.tar.bz2;
     md5 = "a116eec17e7ba085febb74c7758823bd";
   };
-  inherit stdenv;
 }
diff --git a/pkgs/tools/text/gnugrep/builder.sh b/pkgs/tools/text/gnugrep/builder.sh
deleted file mode 100755
index a73f5a6d5b8..00000000000
--- a/pkgs/tools/text/gnugrep/builder.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#! /bin/sh -e
-. $stdenv/setup
-genericBuild
diff --git a/pkgs/tools/text/gnugrep/default.nix b/pkgs/tools/text/gnugrep/default.nix
index f8a2563de6e..e820cf69eb0 100644
--- a/pkgs/tools/text/gnugrep/default.nix
+++ b/pkgs/tools/text/gnugrep/default.nix
@@ -1,13 +1,10 @@
 {stdenv, fetchurl, pcre}:
 
-derivation {
+stdenv.mkDerivation {
   name = "gnugrep-2.5.1";
-  system = stdenv.system;
-  builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.nluug.nl/pub/gnu/grep/grep-2.5.1.tar.bz2;
     md5 = "ddd99e2d5d4f4611357e31e97f080cf2";
   };
   buildInputs = [pcre];
-  inherit stdenv;
 }
diff --git a/pkgs/tools/text/gnupatch/builder.sh b/pkgs/tools/text/gnupatch/builder.sh
index 0b7210beff4..0dc0ba871d9 100755..100644
--- a/pkgs/tools/text/gnupatch/builder.sh
+++ b/pkgs/tools/text/gnupatch/builder.sh
@@ -1,5 +1,3 @@
-#! /bin/sh
-
 . $stdenv/setup || exit 1
 
 tar xvfz $src || exit 1
diff --git a/pkgs/tools/text/gnupatch/default.nix b/pkgs/tools/text/gnupatch/default.nix
index ddc24e55aee..e5e02730e6d 100644
--- a/pkgs/tools/text/gnupatch/default.nix
+++ b/pkgs/tools/text/gnupatch/default.nix
@@ -1,10 +1,8 @@
-{stdenv, fetchurl}: derivation {
+{stdenv, fetchurl}: stdenv.mkDerivation {
   name = "gnupatch-2.5.4";
-  system = stdenv.system;
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.nluug.nl/pub/gnu/patch/patch-2.5.4.tar.gz;
     md5 = "ee5ae84d115f051d87fcaaef3b4ae782";
   };
-  stdenv = stdenv;
 }
diff --git a/pkgs/tools/text/gnused/builder.sh b/pkgs/tools/text/gnused/builder.sh
deleted file mode 100755
index 46f69284ae8..00000000000
--- a/pkgs/tools/text/gnused/builder.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#! /bin/sh
-. $stdenv/setup
-genericBuild
diff --git a/pkgs/tools/text/gnused/default.nix b/pkgs/tools/text/gnused/default.nix
index bcca43fcec7..fb956e60de7 100644
--- a/pkgs/tools/text/gnused/default.nix
+++ b/pkgs/tools/text/gnused/default.nix
@@ -1,12 +1,9 @@
 {stdenv, fetchurl}:
 
-derivation {
+stdenv.mkDerivation {
   name = "gnused-4.0.7";
-  system = stdenv.system;
-  builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.nluug.nl/pub/gnu/sed/sed-4.0.7.tar.gz;
     md5 = "005738e7f97bd77d95b6907156c8202a";
   };
-  inherit stdenv;
 }