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)
downloadnixlib-12ae5363ea658d399bdb008f6ded3cde355f9310.tar
nixlib-12ae5363ea658d399bdb008f6ded3cde355f9310.tar.gz
nixlib-12ae5363ea658d399bdb008f6ded3cde355f9310.tar.bz2
nixlib-12ae5363ea658d399bdb008f6ded3cde355f9310.tar.lz
nixlib-12ae5363ea658d399bdb008f6ded3cde355f9310.tar.xz
nixlib-12ae5363ea658d399bdb008f6ded3cde355f9310.tar.zst
nixlib-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 1be9ef0d1649..c0544529008b 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 b5a780b307d6..59be8c2f7a8f 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 be377db22781..808ab924e620 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 2fd40e983b60..32352619a385 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 39da4116cb2e..bc2a48e30e41 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 2d8d6ae368b1..0ea1f12ad745 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 917cbc513305..23a78692136f 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 aaee20e74814..cf435cdddd22 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 061adef213a8..85da4ac19b21 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 b70b7ad17c5b..73ec1e6fb38c 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 f98a3482350b..000000000000
--- 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 e71cb9c18cfa..aace5f60091f 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 d3125d183605..8dd5e6fb2e44 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 2951eb0c2960..171ef1b3ee8e 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 aa018e73c2ff..ca3b4fa1a710 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 a064162d8804..6ce6441751ae 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 9b76079acabb..75ee4963e263 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 699875ae1594..b66e44bf1349 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 300a445ea0a9..2fb9ae91a224 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 5337325e4269..b999dd1d126f 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 a07a6b734127..e12aec4e5277 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 3776f5a23844..4b554fd6e23e 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 cbbfdc4d0daa..d30929a7ac2d 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 809ca969d801..749351a16eb1 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 e2d7b256f87f..223b977bf14f 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 88f7aa42aa8c..7c811df59c5d 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 2208b2c69820..15fdd7d7c821 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 9a9891239284..89208fbc2170 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 8c43dfe5ef83..6a4190f75921 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 f1b9566fb270..b40b90985ac3 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 5da6af4bdb60..ae8e64736940 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 304f919138f3..486876049715 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 75ff4d772d00..7ae6913812a4 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 a27d35d6cc61..ccb08ffdf725 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 f28afe09465a..b4f23a98605b 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 1d3e3d0325b7..bf87714a77f4 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 a5aa83cc6114..c97c9823b34f 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 cedd38dac843..46b6a2d863e3 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 9a2a235158f5..168ca0cbab7d 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 5872c81eb8bc..fafd3982aa75 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 82667936e43e..d7946ab8a52d 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 e45aab344e84..ac4ef2fb20d2 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 3cf67f8f4cee..1f19cde82a81 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 91b60e7fa287..aae153701106 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 7e0cd9e13610..35b2aa8cc97b 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 cac79a4cad49..05fd014afc06 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 68289b2f8be1..5ccf79af02b8 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 75f8eacc3da4..b4207a3bb992 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 880cd4c4e058..aab09f5e1ee3 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 c7185fc659b7..2fd297b8848a 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 9e977f2a384e..e14d911320b2 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 170ac1bed4db..3fa417657eac 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 e36e0738f501..c1d35465d0b4 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 26f44b9ef81c..da3d53abe5f6 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 9c57a580847f..d7baadecdac8 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 4d60896424e2..e3e075dc0f15 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 55367c159e38..1899153fa34b 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 5dbd14fb64ff..20692fafb26a 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 f213ca74ebdb..43db47a8b26c 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 c39390666b43..7dc7b7c6c145 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 f32e4ec50dd3..8b938d160fe8 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 cfe4a00efe6a..9486ec8ba6db 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 c5ca8edfb92f..d425249cbc29 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 77b025b739fd..d033dfe719e1 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 dc4243fadfec..324d2d9f8437 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 c9340043d90f..16e13b751259 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 a73f5a6d5b8d..000000000000
--- 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 58dc8794c180..6ff2e8519978 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 a73f5a6d5b8d..000000000000
--- 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 d60b03c1dac2..ed1765fa3639 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 a73f5a6d5b8d..000000000000
--- 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 dc95abe5102a..69a6ea554ae8 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 dc844d758a83..000000000000
--- 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 be6d6e262c0a..894f0d5a088f 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 a73f5a6d5b8d..000000000000
--- 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 5d2e62c8c33f..0645a18446ed 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 dc844d758a83..000000000000
--- 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 b5f9eb590b5b..a706397e085a 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 dc844d758a83..000000000000
--- 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 f22195154b98..eac4b89ab3f8 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 f1230bed2d8a..abcab635a608 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 a5ef56ba46c7..d1b7dc4476ce 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 dc844d758a83..000000000000
--- 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 008590ef43df..6cfea9548025 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 81bd27e48820..724d378e6235 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 4284979844d2..108874a3159f 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 57f18bb3da15..b91861bfa7f6 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 d20c6f4763e8..6cd64d2f69a7 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 29bcc7dc8e79..398820c00383 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 c65281a7ce3a..90be37aefe66 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 220307fd8b95..3590c5e23fb1 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 cccf0e0d36c1..ae6aadd42b28 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 814beb573617..19d7bf711adf 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 31f144b1d79d..e6163c9f381e 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 87dbfe6cf992..466ad2087e32 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 8203db963ca9..d1fc483716b1 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 bebb21cafdaf..a2c5cca65f3b 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 7e51b9d6fba6..5dd792ef67ce 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 46d023e04a37..60cd167a542f 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 ffcd6d19a78c..d523fd60c865 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 752464fe4ec8..e32024f2d1fd 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 b2cd632f6ce7..39f0a83bfd43 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 113dfef5a64f..72b9bf8b0f2c 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 e6ab1cb019b4..9d99b903978d 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 61ebd1faa4dd..1f4e7265a02d 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 9241d3e2b96f..23bb0d5dea86 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 eb53f4f9648d..fb6ccb9677f9 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 c2a6adb9ecef..b30a6ad6c84c 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 a01414983503..9f538ee1b873 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 3efa13fe151d..bf700b756771 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 9917fd2c5e92..4c185c4c7a64 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 543586eb20a5..475bf9c9fa3a 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 30de2db56cdb..bd32300351c1 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 d33a54cf7a28..ac4a61365e88 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 550ee65a8d0a..c7eddf4ffa91 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 fef31114b1b8..878a5936a3cf 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 23711d9ea6f5..c0ccfec36ef4 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 9a97d7697a95..a44d8bb6a99d 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 a73f5a6d5b8d..000000000000
--- 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 dbf194171c93..d0654900f028 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 a73f5a6d5b8d..000000000000
--- 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 eb61048c3af7..f8bb0f0e7824 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 3f0cb5a15052..9c1af29b65e5 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 7ee815ec5f68..7762ee57b77e 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 be57a268c124..a5af70b675ae 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 7d45fbca050e..f08c561676fe 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 8f4c0b097b21..5f12963eb8be 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 88bb12593735..83700be48633 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 0b444c1f0093..38659aa31c25 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 1437221c813c..0efb546b107b 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 6242083508d8..0ec40bf7b406 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 36731123e56f..36d204a5e6d0 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 6d7015b1054c..c7bd41840bb1 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 8745bd546862..fe51ca0bb1f3 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 6b2b5132304c..686288592b3c 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 7c4d67dbb021..820d9df2f8a4 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 4ecafb3a0696..1581116ce53f 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 11da28b6f854..926180384d1e 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 9a27a8545c45..16a3d377f17d 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 80946833f721..8b6d44e1c9dc 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 27e135bf7ee1..b6a916f74b64 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 38f229e44e50..a7441fbe6f22 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 24b847b59860..515c3828ca1b 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 5e0d65dc02ea..cb651485b69d 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 59fa97888e9c..b26eba9c5668 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 7b16f5f067ce..4cfe16e485c5 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 d787dee7071a..da5a450ffb8e 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 7533451029e3..8e218a4dd72b 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 70521de25cf8..e5cc0f5a6674 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 b005aca4aaf9..523d6cf9fd2c 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 22fd9594af02..6dc6a220e924 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 1b4da9bc2ce8..a57314a3fddd 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 3738256e5d07..23091ee306ce 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 41eac6d2dd02..9f52fe66286c 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 c1493365ae6c..596a80cd3713 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 5a8fb164028a..4ca67d3f5d43 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 a73f5a6d5b8d..000000000000
--- 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 5b98a264e3ca..9c5e3c67282b 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 62100048d0a9..851e010f0382 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 7ad1cb807b7c..4383b8486ef7 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 60ac15542e5b..1b427b791562 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 81319bcaff25..a71b91a3368c 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 4dc559c62286..eeb2371aaac2 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 38e7c73e9446..1e80b1367ff9 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 64e4a5ff832d..d2b0880add93 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 039579c2d543..27bfcf2ebff9 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 085974877deb..4ed7d6e918a5 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 ea1cef2cfe6d..69aef8a76059 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 b8e06a6907f9..000000000000
--- 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 c5889e57fb4a..6dec5bac1fe8 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 a123b16dce28..379ad847fae5 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 54de0c92816a..6ba67e642234 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 ebe916c738e8..e14e8c4311ac 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 8dd44e1e201c..b4cf9f10438f 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 3b5d98eebba0..b6409cd87651 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 79bad03171ec..3f41b6327035 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 dafbc9038637..3e36d3f40453 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 0cd19b9fe034..65dda5e5671d 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 4478233712bf..e3e8e63d73d9 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 52b5f9b524ba..e7c587136a7a 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 a73f5a6d5b8d..000000000000
--- 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 de0bd9c901d4..0b7a044f258e 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 e421c69a6c27..de4db475aaac 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 f7ea5d44c576..c850d1fb8fec 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 34bdbcb35b76..34bdbcb35b76 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 b356da423651..6610efa72052 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 219ed9c89e20..3daa1708d4f5 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 409cd4bba8c4..ac8b7f13a790 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 5208abef6379..014eb72dd929 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 03f201582bb7..de2631e71567 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 25d095d387a0..408c97a3563d 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 8eee4233a945..08e18c2681d4 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 cc0f3e317d69..ded80edca837 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 eaa673874ae5..4b8407fb533e 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 febe579a7c73..e02658af93a0 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 c24c9d1b123d..16f41eacdc1f 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 7fdc5b93c72c..f68b9bb12184 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 b2b351301626..c48fd9dbeb1e 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 4cd880aad006..0dae1094666a 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 25a5040e45d6..10d96cbea53c 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 a84ad4fc1f35..d0dd0a8cd3d7 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 81a30f02d8a0..0a24647bf81c 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 960bb6107f8f..d97f8ffbbe1c 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 ec568b79a183..a3066cf63526 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 772479d601fe..7b46fc183a61 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 8170bbbea018..ee69b7b63560 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 f7e3f7347af9..58f73d15f899 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 42c191e3544e..cff4b60c8e0c 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 c112a067c7b9..04bd1e2d2932 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 085b1e0f6364..953915729e44 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 dc78198f37dc..55947cd7e8c7 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 4c0975805508..e032b0317151 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 3a4e3649e002..b48a1d8621fa 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 c0a41147baef..4c3af02261a7 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 a76e84c4bb41..9c03520e9a2c 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 258b63002fe4..8e0c8537dafb 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 f12e8ca548ab..ccba62988381 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 b5fa9d64bff5..93f5944f97d8 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 1b0d2d35a1a0..4898bdad8d41 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 bb5e4dc0c3a4..5a224b5498f7 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 6e868d94bbd8..24de39295273 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 ea1ee5267be6..601ab0b6f019 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 add7f9f74b77..9ad012504c5a 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 f0c93002364f..b6c6d7ea98f1 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 28b3692cf65a..8abbb79301ab 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 eafd5700e0be..977a26e11800 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 4cb8210f1863..eabae65a3c8d 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 f13ca6ec54ef..02e3b1d49c73 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 1f782ea310d1..bb285c8a89b3 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 afd32ed97376..9d4e6f24734a 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 957a2552c87f..823b21ae4114 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 e16b4c6b19b1..40ebac6c1921 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 87bb493c27f0..17dea5297f6a 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 fd6398c7184b..d93870c1b255 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 b67f28b6a992..ed32068532b0 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 da197f6422b1..f9bbc3bedbfc 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 d60064c8b7fe..16f015c73a9a 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 86f95f2588af..a346d134c804 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 6333dfab578b..91d05400b5e3 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 b4e7fa2359f3..0168f569a7b2 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 4717f42e0f6f..9c23b574e4c9 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 1de8e2b9a117..63eff2baf02b 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 73a4e9020eb5..13e79ff5e28b 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 3e824cfecc57..918b1cea769c 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 20145df08ab5..b3d464322499 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 9a297c67f6e8..9a297c67f6e8 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 9c877252e2be..d7b953ffb056 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 8a9f7ab49188..9aa5aa6ae18d 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 da0771ce7d26..6a62751b0370 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 8a57b10d71b3..143230fbd893 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 de2d5128e288..b556ba9ba361 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 9e9602d5e1f6..9b4231962c30 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 5d454e26ce78..5634553dd500 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 798091a9f2ed..0621608f2be3 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 f97356a55630..7455f3e22748 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 a73f5a6d5b8d..000000000000
--- 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 e5cbf559cf8f..893c0fb0f4c7 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 f0b9d031802c..0166eecce6b7 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 8467e00d029d..c871c7755d6e 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 b68fdfe32b83..04fb0ec967f8 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 7b4ea02fb405..d5f8f910a7e8 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 e2c5982852e6..49028c0e5a1e 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 af3ec46dec79..afe2a620377e 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 a73f5a6d5b8d..000000000000
--- 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 d766635b05b2..7e324fc91271 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 3fd6c6bb902a..1926fc3c9d11 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 9bc51be695a9..c9303bc72a87 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 a73f5a6d5b8d..000000000000
--- 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 009ff76ab672..b69428a0ceb6 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 a73f5a6d5b8d..000000000000
--- 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 1aafc9999159..ea2099106296 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 30ac6e3d453d..b086693baece 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 c34230ddeeef..1e27204a5afb 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 653017321413..342bf991bae0 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 feacfbb2ecd7..13711226950b 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 1b22f508241b..18b63b2fd615 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 5551831a1d50..643355eb5d2e 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 6e33f41fff56..000000000000
--- 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 a2e9c273847f..d7627982d6a5 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 60aac555e1c0..0dbb5e0a57b1 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 488ad88a0d99..3c669d20c686 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 a73f5a6d5b8d..000000000000
--- 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 b3ec1829421f..21bf49769083 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 e6ddd3dfa738..3c09d5ff1374 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 8d85e4120fc0..0c9f6b6a7764 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 46f69284ae87..000000000000
--- 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 bcb9a4891b6d..7fc4fe3d5fb7 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 ba63de01c950..0c4430cf2acf 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 1f79383e0581..dbbd944e05ec 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 a73f5a6d5b8d..000000000000
--- 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 26340d74f4dc..b15f3ffb6e3d 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 a73f5a6d5b8d..000000000000
--- 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 f8a2563de6e1..e820cf69eb07 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 0b7210beff44..0dc0ba871d96 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 ddc24e55aee1..e5e02730e6d6 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 46f69284ae87..000000000000
--- 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 bcca43fcec70..fb956e60de75 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;
 }