about summary refs log tree commit diff
diff options
context:
space:
mode:
authorYury G. Kudryashov <urkud.urkud@gmail.com>2007-11-16 21:05:15 +0000
committerYury G. Kudryashov <urkud.urkud@gmail.com>2007-11-16 21:05:15 +0000
commit8792fb81c7dfa34f743b959f89a3480f5ced40c7 (patch)
tree74ad2e72df24977f2f67aac30dbc01ac06b97527
parent71353ce9293155133cd2ce676027346b51974a6d (diff)
downloadnixlib-8792fb81c7dfa34f743b959f89a3480f5ced40c7.tar
nixlib-8792fb81c7dfa34f743b959f89a3480f5ced40c7.tar.gz
nixlib-8792fb81c7dfa34f743b959f89a3480f5ced40c7.tar.bz2
nixlib-8792fb81c7dfa34f743b959f89a3480f5ced40c7.tar.lz
nixlib-8792fb81c7dfa34f743b959f89a3480f5ced40c7.tar.xz
nixlib-8792fb81c7dfa34f743b959f89a3480f5ced40c7.tar.zst
nixlib-8792fb81c7dfa34f743b959f89a3480f5ced40c7.zip
Merged with trunk.
The following is autogenerated by git:

commit 9aaede75e73be646f35069d0717c8c70004ba3f0
Author: raskin <raskin@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Fri Nov 16 18:37:23 2007 +0000

    This was needed for me to get a working gnome-doc-utils package

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9726 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 751a9e6d19fc9e6c96b04eca450ea1b836d00865
Author: urkud <urkud@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Fri Nov 16 17:30:34 2007 +0000

    gdb upgraded

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9725 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit bb908853924046681d1cd6a85b05273aed14fd9f
Author: urkud <urkud@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Fri Nov 16 17:29:11 2007 +0000

    gphoto2 upgraded to 2.4.0: all-packages.nix

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9724 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 619c7004d7140d6016927cd1114fd778aca3ecce
Author: MarcWeber <MarcWeber@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Fri Nov 16 17:28:53 2007 +0000

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9723 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit f09310ed8403428021d2d751e273fc0add438032
Author: urkud <urkud@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Fri Nov 16 17:28:17 2007 +0000

    gphoto2 upgraded to 2.4.0

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9722 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 26d5cc1628e51853fdb9a7d162361b3a13581461
Author: MarcWeber <MarcWeber@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Fri Nov 16 17:27:27 2007 +0000

    missing catalog added. Now you can open files

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9721 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 4eb1f68d61077e66b9ca3a0de3c86b1024f06db1
Author: MarcWeber <MarcWeber@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Fri Nov 16 17:09:32 2007 +0000

    nix expression creating startup wrapper for jedit

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9720 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 69701148e45d29b1712c9f14628459def54be076
Author: MarcWeber <MarcWeber@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Fri Nov 16 17:06:53 2007 +0000

    The nice programmers editor jedit is now built on nix as well.

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9719 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 15ecdd411e78b952d8004323ec871ce6c4969c2e
Author: wbreejen <wbreejen@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Fri Nov 16 14:41:15 2007 +0000

    Missing gecko now.

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9715 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 6975eb6f2a972cca2adb2943190a41880e3bedf7
Author: wbreejen <wbreejen@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Fri Nov 16 14:36:15 2007 +0000

    Fix path of libnotify

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9714 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit ef985f4e88db03a0861fe8ccc8b35ec329ef616a
Author: wbreejen <wbreejen@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Fri Nov 16 14:34:02 2007 +0000

    added libnotify

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9713 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 7fb35510feb89fecc9d92810a723baead232dff4
Author: wbreejen <wbreejen@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Fri Nov 16 14:33:36 2007 +0000

    added libnotify

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9712 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 7a9eb1e172ef5b111556d78a30003a87aee7f775
Author: wbreejen <wbreejen@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Fri Nov 16 14:24:24 2007 +0000

    libnotify is missing

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9711 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 433cc0578ce00860ddfac7d7934818ec0584f6e1
Author: wbreejen <wbreejen@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Fri Nov 16 14:08:04 2007 +0000

    Added libsexy

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9710 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 194a84b18965e9a3c8f9fa1305fac57690e683cb
Author: wbreejen <wbreejen@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Fri Nov 16 14:07:30 2007 +0000

    Added libsexy

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9709 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 1d832560cf94bfa6793d90ff43f2235415bc3958
Author: wbreejen <wbreejen@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Fri Nov 16 13:49:02 2007 +0000

    Added openftd. Doesnt work (yet)

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9708 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 58e8a73f63a85a22ca45f046579d89bd0359f8ee
Author: eelco <eelco@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Fri Nov 16 13:08:20 2007 +0000

    * GCC 3.4: pass --disable-multilib to make it build on x86_64.

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9704 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 5ff88d858692e89120a4efa4acc2224eaf78d9a9
Author: raskin <raskin@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Fri Nov 16 03:45:42 2007 +0000

    bzip2 dependency added in a couple of places

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9702 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 128ac8a7ee8668fc933f4933a66f491c44234379
Author: urkud <urkud@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Thu Nov 15 23:47:03 2007 +0000

    Added python to libgsf dependencies

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9699 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 1847defee6331b03ba8a54ae9e3e68033310f7a2
Author: eelco <eelco@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Thu Nov 15 17:05:45 2007 +0000

    * Use latest Nix.

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9695 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit cb1992780c20cb5885cf4d3932e7352f8b912533
Author: raskin <raskin@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Thu Nov 15 04:23:46 2007 +0000

    Added a currently more functional URL for libgcrypt

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9688 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 9d099dbef1a5721065bff5f2edd73844c829f538
Author: urkud <urkud@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Thu Nov 15 00:16:03 2007 +0000

    facile: fixed a typo

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9686 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 031c5b7d0797f5eee7be0a06856530c29adee710
Author: urkud <urkud@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Thu Nov 15 00:11:56 2007 +0000

    Added kde-4

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9685 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 81b3a7d92f2e9552c46ab47c75a2d3a40e151d43
Author: urkud <urkud@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Thu Nov 15 00:08:58 2007 +0000

    Added new kde-4 staff

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9684 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 18edb608ee7822438d4b2dc2a76af7567efd646a
Author: urkud <urkud@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Wed Nov 14 23:48:40 2007 +0000

    kde-4: removed old staff from kde-4 dir

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9683 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 00d9b75d85f3a7de4db3feb313fe8d2d29f6bc2d
Author: urkud <urkud@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Wed Nov 14 23:46:48 2007 +0000

    lame: upgrade to 3.97

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9682 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 52f8f699f29b6def41eee392f489c7e8ecd9399d
Author: urkud <urkud@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Wed Nov 14 23:44:21 2007 +0000

    libgsf: meta written

    0.14.7 in my previous commit was a typo: 1.14.7 of course

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9681 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 6e426380fc8c67b7dae57d4404ee7ca76d3e1d62
Author: urkud <urkud@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Wed Nov 14 23:40:39 2007 +0000

    libgsf: upgraded to 0.14.7

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9680 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 7787b342945cb13856168a353fdc9b0062e5f32b
Author: urkud <urkud@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Wed Nov 14 23:37:51 2007 +0000

    clucene: upgrade, kde4: remove

    clucene-core upgraded to 0.9.20
    clucene-contrib removed (can't find any version later than 0.9.16a and don't
    know whether it's compatible with new clucene-core)
    kde4: old staff removed, will add new tonight

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9679 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit b4900dece179788dfb8879518b8ec639ba089980
Author: urkud <urkud@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Wed Nov 14 23:25:32 2007 +0000

    Strigi removed

    I'll add a version from kdesupport trunk today

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9678 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit ffad224993440be069d4f15cf5e73ed018979311
Author: urkud <urkud@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Wed Nov 14 23:23:36 2007 +0000

    dbus-glib upgraded to 0.74, meta written

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9677 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 6ae133a8d5d472d9f475cacb7f3ff3e6703fb34b
Author: urkud <urkud@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Wed Nov 14 23:13:29 2007 +0000

    xine-lib: upgraded to 1.1.8

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9676 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit d56f2643e631f8b3ce6e8228c35f2cc19755e2aa
Author: urkud <urkud@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Wed Nov 14 23:11:37 2007 +0000

    chmlib: upgraded to 0.39

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9675 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit c31c27f328fdd4ae99d48bcc512231639dfcf6e5
Author: urkud <urkud@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Wed Nov 14 23:05:11 2007 +0000

    Added facile library

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9674 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 28f915ee41410b6f278faf07b0135bd4e9aeaf2f
Author: urkud <urkud@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Wed Nov 14 23:03:29 2007 +0000

    libgcrypt-1.3.1

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9673 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit ca314a236b855b73024677f6dc5bc021070c4e72
Author: urkud <urkud@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Wed Nov 14 22:49:24 2007 +0000

    Fixed a typo in ocaml-3.10.0

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9672 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit b3fa79d09289ab61a30f63692e7c475d0aec142e
Author: urkud <urkud@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Wed Nov 14 22:39:58 2007 +0000

    ocaml: Added 3.10.0, using getVersion staff

    I've added the latest (3.10.0) version of ocaml and let the user choose default
    version.

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9671 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 853d65d8a9fd65f7bf918c42342baf6690008f54
Author: urkud <urkud@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Wed Nov 14 22:22:06 2007 +0000

    Let user to choose python2.4 or python2.5

    Currently, there is some code duplication. I'll try to rewrite it without
    modifying resulting derivations.

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9670 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 65567e8e2e96d1a2e62af148fe043c86df0c5b60
Author: urkud <urkud@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Wed Nov 14 21:57:26 2007 +0000

    useVersion function added

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9669 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 2e5e12d1fc1faded72235fa66eb8efaa92e597ba
Author: urkud <urkud@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Wed Nov 14 21:41:01 2007 +0000

    git: upgraded to 1.5.3.5; meta added; nix-expr slightly rewritten

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9668 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit dd564f36bd54d4900aefa759bc94cfac7496d1a2
Author: MarcWeber <MarcWeber@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Wed Nov 14 19:07:38 2007 +0000

    added small script fixing the shebang (#!/bin/...) path.
    It searches the PATH env variable for the same executable.

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9667 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 2f9213e49fbaa40634ccb9699e44aec239212aea
Author: raskin <raskin@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Wed Nov 14 01:20:17 2007 +0000

    Now SVN Nix builds as a purely alternative Nix choice

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9666 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 016b6bfcc67244964251d68d86e1fa6de2062e54
Author: raskin <raskin@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Tue Nov 13 15:52:16 2007 +0000

    Added possibility to use non-default Nix.

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9663 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 89f53d7b8dae8d4ec537322340be212602524102
Author: MarcWeber <MarcWeber@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Tue Nov 13 01:26:54 2007 +0000

    implemented proposal by niksnut.
    Now you have to use either date= or tag= when specifying cvs revision

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9661 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit ced4ab4c8b5750a0f0a6a685830c8cb5340b6d52
Author: eelco <eelco@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Mon Nov 12 16:45:47 2007 +0000

    * Symlink $out/bin to $out/libexec.

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9659 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit d454ab8861882e18ed3b79287727890ec6668455
Author: raskin <raskin@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Mon Nov 12 16:42:13 2007 +0000

    Beta-version of builderDefs fixes.

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9657 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 959e395c49753d902201d457cee102b40608d3f9
Author: urkud <urkud@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Mon Nov 12 16:12:50 2007 +0000

    djview location corrected

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9655 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 52530f607a15017e94225ee50e2698963325ed80
Author: eelco <eelco@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Mon Nov 12 13:51:46 2007 +0000

    * Revert the setup hook changes on the trunk (but they remain on the
      stdenv-updates branch).

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9652 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

commit 977bdfec49557f48bc1e121e3375c21d4991434f
Author: skolthof <skolthof@70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb>
Date:   Mon Nov 12 13:48:33 2007 +0000

    * added Haskell package gtk2hs

    git-svn-id: https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk@9651 70bd8c7a-acb8-0310-9f0d-9cc1c95dcdbb

svn path=/nixpkgs/branches/stdenv-updates/; revision=9727
-rw-r--r--pkgs/applications/audio/ladspa-plugins/default.nix3
-rw-r--r--pkgs/applications/audio/lame/default.nix6
-rw-r--r--pkgs/applications/jedit/default.nix28
-rw-r--r--pkgs/applications/jedit/wrapper.nix18
-rw-r--r--pkgs/applications/misc/gphoto2/default.nix14
-rw-r--r--pkgs/applications/misc/synergy/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/elinks/default.nix6
-rw-r--r--pkgs/applications/version-management/git/default.nix21
-rw-r--r--pkgs/build-support/fetchcvs/builder.sh13
-rw-r--r--pkgs/build-support/fetchcvs/default.nix12
-rw-r--r--pkgs/desktops/gnome/default.nix2
-rw-r--r--pkgs/desktops/gnome/gnome-doc-utils.nix17
-rwxr-xr-xpkgs/desktops/kde-4/base/builder.sh (renamed from pkgs/desktops/kde-4/kdebase/builder.sh)11
-rw-r--r--pkgs/desktops/kde-4/base/default.nix14
-rw-r--r--pkgs/desktops/kde-4/decibel/default.nix11
-rw-r--r--pkgs/desktops/kde-4/default.nix35
-rw-r--r--pkgs/desktops/kde-4/edu/default.nix20
-rw-r--r--pkgs/desktops/kde-4/edu/myCmakeFiles/CheckBoostAndPythonCompatible.cmake38
-rw-r--r--pkgs/desktops/kde-4/edu/myCmakeFiles/FindBoostPython.cmake90
-rw-r--r--pkgs/desktops/kde-4/edu/myCmakeFiles/FindLibfacile.cmake45
-rw-r--r--pkgs/desktops/kde-4/edu/myCmakeFiles/PythonLibsUtils.cmake46
-rw-r--r--pkgs/desktops/kde-4/extragear/default.nix14
-rw-r--r--pkgs/desktops/kde-4/games/default.nix12
-rw-r--r--pkgs/desktops/kde-4/graphics/default.nix13
-rw-r--r--pkgs/desktops/kde-4/kdebase/default.nix55
-rw-r--r--pkgs/desktops/kde-4/kdelibs/default.nix48
-rwxr-xr-xpkgs/desktops/kde-4/kdepim/builder.sh18
-rw-r--r--pkgs/desktops/kde-4/kdepim/default.nix55
-rw-r--r--pkgs/desktops/kde-4/kdepimlibs/default.nix48
-rw-r--r--pkgs/desktops/kde-4/libs/FindIlmBase.cmake74
-rw-r--r--pkgs/desktops/kde-4/libs/FindOpenEXR.cmake68
-rw-r--r--pkgs/desktops/kde-4/libs/default.nix27
-rwxr-xr-xpkgs/desktops/kde-4/libs/setup.sh5
-rw-r--r--pkgs/desktops/kde-4/multimedia/default.nix13
-rw-r--r--pkgs/desktops/kde-4/network/default.nix12
-rwxr-xr-xpkgs/desktops/kde-4/pim/builder.sh10
-rw-r--r--pkgs/desktops/kde-4/pim/default.nix15
-rw-r--r--pkgs/desktops/kde-4/pimlibs/default.nix12
-rwxr-xr-xpkgs/desktops/kde-4/runtime/builder.sh12
-rw-r--r--pkgs/desktops/kde-4/runtime/default.nix15
-rw-r--r--pkgs/desktops/kde-4/support/akode.nix13
-rw-r--r--pkgs/desktops/kde-4/support/default.nix36
-rw-r--r--pkgs/desktops/kde-4/support/eigen.nix13
-rw-r--r--pkgs/desktops/kde-4/support/gmm.nix13
-rw-r--r--pkgs/desktops/kde-4/support/qca.nix15
-rw-r--r--pkgs/desktops/kde-4/support/qimageblitz.nix13
-rw-r--r--pkgs/desktops/kde-4/support/soprano.nix14
-rw-r--r--pkgs/desktops/kde-4/support/strigi.nix15
-rw-r--r--pkgs/desktops/kde-4/support/taglib.nix13
-rw-r--r--pkgs/desktops/kde-4/toys/default.nix12
-rw-r--r--pkgs/desktops/kde-4/utils/default.nix13
-rwxr-xr-xpkgs/desktops/kde-4/workspace/builder.sh12
-rw-r--r--pkgs/desktops/kde-4/workspace/default.nix15
-rw-r--r--pkgs/development/compilers/gcc-3.4/builder.sh12
-rw-r--r--pkgs/development/compilers/gcc-3.4/default.nix19
-rw-r--r--pkgs/development/compilers/ocaml/3.08.0.nix (renamed from pkgs/development/compilers/ocaml/ocaml-3.08.0.nix)2
-rw-r--r--pkgs/development/compilers/ocaml/3.09.1.nix (renamed from pkgs/development/compilers/ocaml/ocaml-3.09.1.nix)2
-rw-r--r--pkgs/development/compilers/ocaml/3.10.0.nix23
-rw-r--r--pkgs/development/compilers/ocaml/default.nix8
-rw-r--r--pkgs/development/interpreters/perl/setup-hook.sh4
-rw-r--r--pkgs/development/interpreters/python/2.4.nix52
-rw-r--r--pkgs/development/interpreters/python/2.5/setup-hook.sh5
-rw-r--r--pkgs/development/interpreters/python/default.nix55
-rw-r--r--pkgs/development/interpreters/python/setup-hook.sh5
-rw-r--r--pkgs/development/libraries/chmlib/builder.sh19
-rw-r--r--pkgs/development/libraries/chmlib/default.nix17
-rw-r--r--pkgs/development/libraries/clucene-contrib/default.nix18
-rw-r--r--pkgs/development/libraries/clucene-core/default.nix25
-rw-r--r--pkgs/development/libraries/dbus-glib/default.nix14
-rw-r--r--pkgs/development/libraries/facile/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/gtk2hs/default.nix18
-rw-r--r--pkgs/development/libraries/libexif/default.nix12
-rw-r--r--pkgs/development/libraries/libgcrypt/default.nix11
-rw-r--r--pkgs/development/libraries/libgphoto2/default.nix17
-rw-r--r--pkgs/development/libraries/libgsf/default.nix19
-rw-r--r--pkgs/development/libraries/libnotify/default.nix20
-rw-r--r--pkgs/development/libraries/libsexy/default.nix17
-rw-r--r--pkgs/development/libraries/libwpd/default.nix5
-rw-r--r--pkgs/development/libraries/openssl/default.nix3
-rw-r--r--pkgs/development/libraries/strigi/default.nix20
-rw-r--r--pkgs/development/libraries/xine-lib/default.nix6
-rwxr-xr-xpkgs/development/tools/build-managers/cmake/setup-hook.sh15
-rw-r--r--pkgs/development/tools/misc/automake/setup-hook.sh4
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix10
-rw-r--r--pkgs/development/tools/misc/pkgconfig/builder.sh10
-rw-r--r--pkgs/development/tools/misc/pkgconfig/default.nix12
-rw-r--r--pkgs/development/tools/misc/pkgconfig/setup-hook.sh4
-rw-r--r--pkgs/lib/default.nix4
-rw-r--r--pkgs/servers/monitoring/nagios/plugins/official/default.nix2
-rw-r--r--pkgs/test/openftd/default.nix49
-rw-r--r--pkgs/tools/misc/shebangfix/default.nix20
-rw-r--r--pkgs/tools/misc/shebangfix/shebangfix.pl35
-rw-r--r--pkgs/tools/misc/wv/default.nix2
-rw-r--r--pkgs/tools/package-management/nix/custom.nix45
-rw-r--r--pkgs/tools/package-management/nix/unstable.nix4
-rw-r--r--pkgs/top-level/all-packages.nix197
-rw-r--r--pkgs/top-level/builder-defs.nix74
97 files changed, 1501 insertions, 608 deletions
diff --git a/pkgs/applications/audio/ladspa-plugins/default.nix b/pkgs/applications/audio/ladspa-plugins/default.nix
index 9a033a42b878..70dc36240c65 100644
--- a/pkgs/applications/audio/ladspa-plugins/default.nix
+++ b/pkgs/applications/audio/ladspa-plugins/default.nix
@@ -17,7 +17,8 @@ in
 stdenv.mkDerivation {
 	name = "swh-plugins-0.4.15";
 	builder = writeScript "swh-plugins-0.4.15-builder"
-		(textClosure [doConfigure doMakeInstall postInstall doForceShare]);
+		(textClosure [doConfigure doMakeInstall 
+			postInstall doForceShare]);
 	meta = {
 		description = "
 	LADSPA format audio plugins.
diff --git a/pkgs/applications/audio/lame/default.nix b/pkgs/applications/audio/lame/default.nix
index 503c0c395953..fa0fa679079a 100644
--- a/pkgs/applications/audio/lame/default.nix
+++ b/pkgs/applications/audio/lame/default.nix
@@ -1,9 +1,9 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "lame-3.96.1";
+  name = "lame-3.97";
   src = fetchurl {
-    url = mirror://sourceforge/lame/lame-3.96.1.tar.gz ;
-    md5 = "e1206c46a5e276feca11a7149e2fc6ac" ;
+    url = mirror://sourceforge/lame/lame-3.97.tar.gz ;
+	sha256 = "05xy9lv6m9s013lzlvhxwvr1586c239xaiiwka52k18hs6k388qa";
   };
 }
diff --git a/pkgs/applications/jedit/default.nix b/pkgs/applications/jedit/default.nix
new file mode 100644
index 000000000000..3d694ee3ed7e
--- /dev/null
+++ b/pkgs/applications/jedit/default.nix
@@ -0,0 +1,28 @@
+args:
+args.stdenv.mkDerivation {
+  name = "jedit-4.2";
+
+  src = args.fetchurl {
+    url = http://kent.dl.sourceforge.net/sourceforge/jedit/jedit42source.tar.gz;
+    sha256 = "1ckqghsw2r30kfkqfgjl4k47gdwpz8c1h85haw0y0ymq4rqh798j";
+  };
+
+  phases = "unpackPhase buildPhase";
+
+  buildPhase = "
+     sed -i 's/\\<SplashScreen\\>/org.gjt.sp.jedit.gui.SplashScreen/g' org/gjt/sp/jedit/GUIUtilities.java
+    ant dist
+    ensureDir $out/lib
+    cp jedit.jar $out/lib
+    ensureDir \$out/lib/modes
+    cp modes/catalog \$out/lib/modes
+  ";
+
+  buildInputs =(with args; [ant]);
+
+  meta = { 
+      description = "really nice programmers editor written in Java. Give it a try";
+      homepage = http://sourceforge.net/project/showfiles.php?group_id=588;
+      license = "GPL";
+  };
+}
diff --git a/pkgs/applications/jedit/wrapper.nix b/pkgs/applications/jedit/wrapper.nix
new file mode 100644
index 000000000000..ff8f6abacfc4
--- /dev/null
+++ b/pkgs/applications/jedit/wrapper.nix
@@ -0,0 +1,18 @@
+args:
+args.stdenv.mkDerivation {
+    name = args.jedit.name+"_startscript";
+
+    java = args.jre+"/bin/java";
+    jeditjar = args.jedit+"/lib/jedit.jar";
+
+    phases = "buildPhase";
+
+    buildPhase = "
+ensureDir \$out/bin
+cat > \$out/bin/${args.jedit.name} << EOF
+#!/bin/sh
+exec $java -jar $jeditjar \\$*
+EOF
+  chmod +x \$out/bin/${args.jedit.name}
+";
+}
diff --git a/pkgs/applications/misc/gphoto2/default.nix b/pkgs/applications/misc/gphoto2/default.nix
index caab251edd95..ef70b54384a7 100644
--- a/pkgs/applications/misc/gphoto2/default.nix
+++ b/pkgs/applications/misc/gphoto2/default.nix
@@ -1,10 +1,12 @@
-{stdenv, fetchurl, pkgconfig, libgphoto2, libexif, popt}:
+args: with args;
 
-stdenv.mkDerivation {
-  name = "gphoto2-2.2.0";
+stdenv.mkDerivation rec {
+  name = "gphoto2-2.4.0";
   src = fetchurl {
-    url = mirror://sourceforge/gphoto/gphoto2-2.2.0.tar.bz2;
-    md5 = "f5c1f83185db598b4ca52889964a5e84";
+    url = "mirror://sourceforge/gphoto/${name}.tar.bz2";
+    sha256 = "1rf4w5m35dsi8dkwwnh4wg70xivdi9j79f2dy3rq90p1v8sar9ca";
   };
-  buildInputs = [pkgconfig libgphoto2 libexif popt];
+  buildInputs = [pkgconfig libgphoto2 libexif popt gettext];
+# There is a bug in 2.4.0 configure.ac (in their m4 macroses)
+  patchPhase = "sed -e 's@_tmp=true@_tmp=false@' -i configure configure.ac";
 }
diff --git a/pkgs/applications/misc/synergy/default.nix b/pkgs/applications/misc/synergy/default.nix
index b2b7af6f0141..7872c6abaaf7 100644
--- a/pkgs/applications/misc/synergy/default.nix
+++ b/pkgs/applications/misc/synergy/default.nix
@@ -5,7 +5,7 @@ args.stdenv.mkDerivation {
   src = args.fetchcvs {
     url = ":pserver:anonymous@synergy2.cvs.sourceforge.net:/cvsroot/synergy2";
     module = "synergy";
-    tag = "-DNOW";
+    date = "NOW";
     sha256 = "ef8e2ebfda6e43240051a7af9417092b2af50ece8b5c6c3fbd908ba91c4fe068";
   };
 
diff --git a/pkgs/applications/networking/browsers/elinks/default.nix b/pkgs/applications/networking/browsers/elinks/default.nix
index 9804f758ba7d..1e7868481338 100644
--- a/pkgs/applications/networking/browsers/elinks/default.nix
+++ b/pkgs/applications/networking/browsers/elinks/default.nix
@@ -8,11 +8,7 @@ stdenv.mkDerivation {
     sha256 = "c10e657fbd884eae4f01b91b32407bbfcbcae0ad5017fb24ea365aebc71d2af1";
   };
 
-  preConfigure = "
-  	touch config.log ; rm /tmp/elinks.config.log; ln -f config.log /tmp/elinks.config.log";
-
-  buildInputs = [python perl ncurses x11 bzip2 zlib openssl spidermonkey guile
-  	libtool];
+  buildInputs = [python perl ncurses x11 bzip2 zlib openssl spidermonkey guile];
   configureFlags = "--enable-finger --enable-html-highlight --with-guile
   --with-perl --with-python --enable-gopher --enable-cgi --enable-bittorrent
   --enable-nntp --with-openssl=${openssl}";
diff --git a/pkgs/applications/version-management/git/default.nix b/pkgs/applications/version-management/git/default.nix
index 138b4d614495..c2388f8c1aa4 100644
--- a/pkgs/applications/version-management/git/default.nix
+++ b/pkgs/applications/version-management/git/default.nix
@@ -1,16 +1,21 @@
-{stdenv, fetchurl, curl, openssl, zlib, expat, perl}:
+args: with args;
 
-stdenv.mkDerivation {
-  name = "git-1.5.1.2";
+stdenv.mkDerivation rec {
+  name = "git-1.5.3.5";
 
   src = fetchurl {
-    url = mirror://kernel/software/scm/git/git-1.5.1.2.tar.bz2;
-    sha256 = "0a7nnw9631h6nxk7sny0cjv89qlibilvsm6947620vr2kgc6p6k2";
+    url = "mirror://kernel/software/scm/git/${name}.tar.bz2";
+    sha256 = "0ab63s25wzmsl5inp7bykz5ac7xjilqa0ciaz7ydhciymz6gkawj";
   };
 
   buildInputs = [curl openssl zlib expat];
 
-  preBuild = "
-    makeFlagsArray=(prefix=$out PERL_PATH=${perl}/bin/perl SHELL_PATH=${stdenv.shell})
-  ";
+  makeFlags="prefix=\${out} PERL_PATH=${perl}/bin/perl SHELL_PATH=${stdenv.shell}";
+
+  meta = {
+	  license = "GPL2";
+	  homepage = http://git.or.cz;
+	  description = "A popular version control system designed to handle very
+	  large projects with speed and efficiency";
+  };
 }
diff --git a/pkgs/build-support/fetchcvs/builder.sh b/pkgs/build-support/fetchcvs/builder.sh
index 16aad96116d5..be3e9e46355d 100644
--- a/pkgs/build-support/fetchcvs/builder.sh
+++ b/pkgs/build-support/fetchcvs/builder.sh
@@ -1,8 +1,5 @@
 source $stdenv/setup
 
-if test -z "$tag"; then
-  tag="-DNOW"
-fi
 # creating the export drictory and checking out there only to be able to
 # move the content without the root directory into $out ...
 # cvs -f -d "$url" export $tag -d "$out" "$module"
@@ -10,6 +7,16 @@ fi
 # See als man Page for those options
 
 ensureDir $out export
+set -x
+if [ -n "$tag" ]; then
+  tag="-r $tag"
+else
+  if [ -n "$date" ]; then
+    tag="-D $date"
+  else
+    tag="-D NOW"
+  fi
+fi
 cd export; cvs -f -d "$url" export $tag "$module"
 mv */* $out
 
diff --git a/pkgs/build-support/fetchcvs/default.nix b/pkgs/build-support/fetchcvs/default.nix
index 6cd31ddaade7..60463ec56443 100644
--- a/pkgs/build-support/fetchcvs/default.nix
+++ b/pkgs/build-support/fetchcvs/default.nix
@@ -1,13 +1,13 @@
 # example tags:
-# "-DNOW" (get current version)
-# "-D2007-20-10" (get the last version before given date)
-# "-r <tagname>" (get version by tag name)
-{stdenv, cvs, nix}: {url, module, tag, sha256}:
+# date="2007-20-10"; (get the last version before given date)
+# tag="<tagname>" (get version by tag name)
+# If you don't specify neither one date="NOW" will be used (get latest)
+
+{stdenv, cvs, nix}: {url, module, tag ? null, date ? null, sha256}:
 
 stdenv.mkDerivation {
   name = "cvs-export";
   builder = ./builder.sh;
   buildInputs = [cvs nix];
-
-  inherit url module tag sha256;
+  inherit url module sha256 tag date;
 }
diff --git a/pkgs/desktops/gnome/default.nix b/pkgs/desktops/gnome/default.nix
index 6410e9c053ac..9b4c14340bfc 100644
--- a/pkgs/desktops/gnome/default.nix
+++ b/pkgs/desktops/gnome/default.nix
@@ -210,7 +210,7 @@ rec {
 
   gnomedocutils = import ./gnome-doc-utils.nix {
     inherit stdenv fetchurl pkgconfig perl perlXMLParser python
-      libxml2 libxslt gettext;
+      libxml2 libxslt gettext libxml2Python;
     input = desktop.gnomedocutils;
   };
 
diff --git a/pkgs/desktops/gnome/gnome-doc-utils.nix b/pkgs/desktops/gnome/gnome-doc-utils.nix
index f1650d9650a8..8a77d96475f3 100644
--- a/pkgs/desktops/gnome/gnome-doc-utils.nix
+++ b/pkgs/desktops/gnome/gnome-doc-utils.nix
@@ -1,7 +1,4 @@
-{ input, stdenv, fetchurl, pkgconfig, perl, perlXMLParser, python
-, libxml2, libxslt, gettext
-}:
-
+args: with args;
 # !!! xml2po needs to store the path to libxml2
 
 stdenv.mkDerivation {
@@ -9,8 +6,18 @@ stdenv.mkDerivation {
   
   buildInputs = [
     pkgconfig perl perlXMLParser python
-    libxml2 libxslt gettext
+    libxml2 libxslt gettext python libxml2Python
   ];
 
   configureFlags = "--disable-scrollkeeper";
+
+  postInstall = "
+    mv \$out/bin/xml2po \$out/bin/.xml2po.orig
+    pythonPathLibXml2=\"\$(toPythonPath ${libxml2Python})\"
+    echo -e '#! ${stdenv.shell}\nPYTHONPATH=$PYTHONPATH:'\"\$( toPythonPath \$out  )"+
+    ":\${pythonPathLibXml2//python2.5/python2.4}"+
+    ":\$( toPythonPath ${libxml2Python} )\""+
+    "' \$(dirname \$0)/.xml2po.orig \"\$@\"' > \$out/bin/xml2po;
+    chmod a+x \$out/bin/xml2po
+  ";
 }
diff --git a/pkgs/desktops/kde-4/kdebase/builder.sh b/pkgs/desktops/kde-4/base/builder.sh
index 41cff761b361..99b357fcf167 100755
--- a/pkgs/desktops/kde-4/kdebase/builder.sh
+++ b/pkgs/desktops/kde-4/base/builder.sh
@@ -1,21 +1,12 @@
 source ${stdenv}/setup
 
-myPreBuild()
-{
-	for i in ${qt}/include/*; do
-		NIX_CFLAGS_COMPILE="-I$i ${NIX_CFLAGS_COMPILE}"
-	done;
-	echo "${NIX_CFLAGS_COMPILE}"
-}
-preBuild=myPreBuild
-
 myPatchPhase()
 {
 	echo "Fixing dbus calls in CMakeLists.txt files"
 # Trailing slash in sed is essential
 	find .. -name CMakeLists.txt \
 	| xargs sed -e "s@\${DBUS_INTERFACES_INSTALL_DIR}/@${kdelibs}/share/dbus-1/interfaces/@" -i
-	sed -e '/^#define HAS_RANDR_1_2 1$/d' -i ../workspace/kcontrol/randr/randr.h
+	#sed -e '/^#define HAS_RANDR_1_2 1$/d' -i ../workspace/kcontrol/randr/randr.h
 }
 patchPhase=myPatchPhase
 genericBuild
diff --git a/pkgs/desktops/kde-4/base/default.nix b/pkgs/desktops/kde-4/base/default.nix
new file mode 100644
index 000000000000..75dbfbf40d4d
--- /dev/null
+++ b/pkgs/desktops/kde-4/base/default.nix
@@ -0,0 +1,14 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "kdebase-4.0beta4";
+  #builder = ./builder.sh;
+  
+  src = fetchurl {
+    url = mirror://kde/unstable/3.95/src/kdebase-3.95.0.tar.bz2;
+    sha256 = "0qf7bn5jqj70hznjk74vpwb7rvk6f5gx9fxwli930b2hskib3zll";
+  };
+
+  propagatedBuildInputs = [kdepimlibs libusb];
+  inherit kdelibs;
+}
diff --git a/pkgs/desktops/kde-4/decibel/default.nix b/pkgs/desktops/kde-4/decibel/default.nix
new file mode 100644
index 000000000000..ff98b48ee6fc
--- /dev/null
+++ b/pkgs/desktops/kde-4/decibel/default.nix
@@ -0,0 +1,11 @@
+args: with args;
+stdenv.mkDerivation {
+	name = "decibel-0.5.0";
+
+	src = fetchurl {
+		url = http://decibel.kde.org/fileadmin/downloads/decibel/releases/decibel-0.5.0.tar.gz;
+		sha256 = "07visasid4mpzm0ba5j9qy0lxxb6451lvbr2gnc1vzfvjagffqz4";
+	};
+
+	buildInputs = [kdelibs kdebase ];
+}
diff --git a/pkgs/desktops/kde-4/default.nix b/pkgs/desktops/kde-4/default.nix
new file mode 100644
index 000000000000..9732d9e2b2b7
--- /dev/null
+++ b/pkgs/desktops/kde-4/default.nix
@@ -0,0 +1,35 @@
+args:
+rec {
+  fullargs = args // { kdelibs = libs; kdepimlibs = pimlibs; kdebase = base; kderuntime = runtime; };
+  libs = import ./libs (args // { kdesupport = support; });
+  pimlibs = import ./pimlibs (args // { kdelibs = libs; });
+  graphics = import ./graphics (fullargs // { kdeworkspace = workspace; } );
+  multimedia = import ./multimedia (fullargs // { kdeworkspace = workspace; } );
+  toys = import ./toys (fullargs // { kdeworkspace = workspace; } );
+  network = import ./network (fullargs // { kdeworkspace = workspace; } );
+  utils = import ./utils (fullargs // { kdeworkspace = workspace; } );
+  games = import ./games (fullargs // { kdeworkspace = workspace; } );
+  edu = import ./edu (fullargs // { kdeworkspace = workspace; } );
+  base = import ./base fullargs;
+  runtime = import ./runtime fullargs;
+  workspace = import ./workspace fullargs;
+  extragear_plasma = import ./extragear (fullargs // { kdeworkspace = workspace; });
+  support = import ./support args;
+  decibel = import ./decibel fullargs;
+  pim = import ./pim (fullargs // {kdeworkspace = workspace; });
+
+  env = with args; runCommand "kde-env"
+  {
+	  KDEDIRS = lib.concatStringsSep ":" ([ libs pimlibs graphics multimedia
+	  toys network utils games edu base runtime workspace extragear_plasma pim] ++
+	  support.all);
+	  scriptName = "echo-kde-dirs";
+  }
+  "
+  ensureDir \${out}/bin
+  scriptPath=\${out}/bin/\${scriptName}
+  echo \"#!/bin/sh\" > \${scriptPath}
+  echo \"echo -n export KDEDIRS=\${KDEDIRS}\" >> \${scriptPath}
+  chmod +x \${scriptPath}
+  ";
+}
diff --git a/pkgs/desktops/kde-4/edu/default.nix b/pkgs/desktops/kde-4/edu/default.nix
new file mode 100644
index 000000000000..e69a1a49be63
--- /dev/null
+++ b/pkgs/desktops/kde-4/edu/default.nix
@@ -0,0 +1,20 @@
+args: with args;
+
+stdenv.mkDerivation rec {
+  name = "kdeedu-4.0beta4";
+  
+  src = fetchurl {
+    url = mirror://kde/unstable/3.95/src/kdeedu-3.95.0.tar.bz2;
+    sha256 = "0cydl3pp3l0cbfmf774qh8njyhycaf8yxb27k4xf6mipvw1k9jqf";
+  };
+
+  buildInputs = [kdelibs kdepimlibs kdeworkspace boost readline openbabel ocaml
+  libusb facile python];
+  myCmakeFiles = ./myCmakeFiles;
+  patchPhase = "
+  cp ${myCmakeFiles}/* ../cmake/modules
+  sed -e 's@+facile@\${LIBFACILE_INCLUDE_DIR}@' -i \\
+  ../kalzium/src/CMakeOCamlInstructions.cmake
+  ";
+  configureFlags = "--debug-trycompile";
+}
diff --git a/pkgs/desktops/kde-4/edu/myCmakeFiles/CheckBoostAndPythonCompatible.cmake b/pkgs/desktops/kde-4/edu/myCmakeFiles/CheckBoostAndPythonCompatible.cmake
new file mode 100644
index 000000000000..35701ecf5c68
--- /dev/null
+++ b/pkgs/desktops/kde-4/edu/myCmakeFiles/CheckBoostAndPythonCompatible.cmake
@@ -0,0 +1,38 @@
+include(CheckCXXSourceCompiles)
+include(CheckIncludeFileCXX)
+include(CheckLibraryExists)
+
+MACRO(check_boost_and_python_compatible
+	_bo_inc _bo_ld _bo_py_lib
+	_py_inc _py_ld _py_lib)
+
+	set(_save_CXX_FLAGS ${CMAKE_CXX_FLAGS})
+	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE4_ENABLE_EXCEPTIONS}")
+
+	set(CMAKE_REQUIRED_FLAGS "-L${_bo_ld} -L${_py_ld}")
+	set(CMAKE_REQUIRED_INCLUDES ${_py_inc} ${_bo_inc})
+	set(CMAKE_REQUIRED_LIBRARIES ${_bo_py_lib} ${_py_lib})
+
+	check_cxx_source_compiles("
+#include <boost/python.hpp>
+const char* greet() { return \"Hello world!\"; }
+BOOST_PYTHON_MODULE(hello) { boost::python::def(\"greet\", greet); }
+
+int main() { return 0; }
+
+// some vars, in case of the compilation fail...
+// python include dir: ${_py_inc}
+// python lib: ${_py_lib}
+// 
+// boost python lib: ${_bo_py_lib}
+// boost include dir: ${_bo_inc}
+// boost lib dir: ${_bo_ld}
+// 
+"
+BOOST_PYTHON_${_bo_inc}_${_bo_ld}_${_bo_py_lib}_${_py_inc}_${_py_ld}_${_py_lib}_COMPATIBLE )
+
+	set(CMAKE_REQUIRED_FLAGS)
+	set(CMAKE_REQUIRED_INCLUDES)
+	set(CMAKE_REQUIRED_LIBRARIES)
+	set(CMAKE_CXX_FLAGS ${_save_CXX_FLAGS})
+ENDMACRO(check_boost_and_python_compatible)
diff --git a/pkgs/desktops/kde-4/edu/myCmakeFiles/FindBoostPython.cmake b/pkgs/desktops/kde-4/edu/myCmakeFiles/FindBoostPython.cmake
new file mode 100644
index 000000000000..b68959d8a9c9
--- /dev/null
+++ b/pkgs/desktops/kde-4/edu/myCmakeFiles/FindBoostPython.cmake
@@ -0,0 +1,90 @@
+# - Try to find the a valid boost+python combination
+# Once done this will define
+#
+#  Boost_PYTHON_FOUND - system has a valid boost+python combination
+#  BOOST_PYTHON_INCLUDES - the include directory for boost+python
+#  BOOST_PYTHON_LIBS - the needed libs for boost+python
+
+# Copyright (c) 2006, Pino Toscano, <toscano.pino@tiscali.it>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+if(BOOST_PYTHON_INCLUDES AND BOOST_PYTHON_LIBS)
+	# Already in cache, be silent
+	set(Boost_PYTHON_FIND_QUIETLY TRUE)
+endif(BOOST_PYTHON_INCLUDES AND BOOST_PYTHON_LIBS)
+
+SET(Boost_PYTHON_LIB_SUFFIXES "-mt" "-gcc-mt")
+SET(Boost_KNOWN_VERSIONS "-1_34_1" "-1_34_0" "-1_33_1" "-1_33_0")
+
+FIND_PACKAGE(Boost)
+INCLUDE(PythonLibsUtils)
+INCLUDE(CheckBoostAndPythonCompatible)
+
+IF(Boost_FOUND AND Boost_LIBRARY_DIRS)
+
+	SET(Boost_PYTHON_LIB_NAMES boost_python)
+	FOREACH(_suffix ${Boost_PYTHON_LIB_SUFFIXES})
+		set(Boost_PYTHON_LIB_NAMES ${Boost_PYTHON_LIB_NAMES}
+			boost_python${_suffix})
+		FOREACH(_bo_ver ${Boost_KNOWN_VERSIONS})
+			set(Boost_PYTHON_LIB_NAMES ${Boost_PYTHON_LIB_NAMES}
+				boost_python${_suffix}${_bo_ver})
+		ENDFOREACH(_bo_ver)
+	ENDFOREACH(_suffix)
+
+	SET(_found FALSE)
+	FOREACH(_boost_python_lib ${Boost_PYTHON_LIB_NAMES})
+		IF(NOT _found)
+			FIND_LIBRARY(Boost_PYTHON_LIB_FULLPATH
+				NAME ${_boost_python_lib}
+				PATHS ${Boost_LIBRARY_DIRS}
+				NO_DEFAULT_PATH
+				)
+			IF(Boost_PYTHON_LIB_FULLPATH)
+				SET(Boost_PYTHON_LIB ${_boost_python_lib})
+				SET(_found TRUE)
+			ENDIF(Boost_PYTHON_LIB_FULLPATH)
+		ENDIF(NOT _found)
+	ENDFOREACH(_boost_python_lib)
+
+	IF(Boost_PYTHON_LIB)
+		SET(_found FALSE)
+		FOREACH(_py_ver ${PYTHON_KNOWN_VERSIONS})
+			if (NOT _found)
+				python_find_version(${_py_ver} _py_inc _py_ld _py_lib)
+				IF(PYTHON_REQ_VERSION_FOUND)
+					MESSAGE(STATUS " ${Boost_INCLUDE_DIRS} ${Boost_LIBRARY_DIRS} ${Boost_PYTHON_LIB} ${_py_inc} ${_py_ld} ${_py_lib}")
+					check_boost_and_python_compatible(
+						"${Boost_INCLUDE_DIRS}" "${Boost_LIBRARY_DIRS}"
+						"${Boost_PYTHON_LIB}" "${_py_inc}" "${_py_ld}"
+						"${_py_lib}")
+					SET(_found
+						BOOST_PYTHON_${Boost_INCLUDE_DIRS}_${Boost_LIBRARY_DIRS}_${Boost_PYTHON_LIB}_${_py_inc}_${_py_ld}_${_py_lib}_COMPATIBLE)
+
+					IF(BOOST_PYTHON_${Boost_INCLUDE_DIRS}_${Boost_LIBRARY_DIRS}_${Boost_PYTHON_LIB}_${_py_inc}_${_py_ld}_${_py_lib}_COMPATIBLE)
+						SET(BOOST_PYTHON_INCLUDES ${Boost_INCLUDE_DIRS} ${_py_inc})
+						SET(BOOST_PYTHON_LIBS "-l${_py_lib} -L${_py_ld} -l${Boost_PYTHON_LIB}")
+						SET(BOOST_PYTHON_FOUND TRUE)
+						SET(_found TRUE)
+					ENDIF(BOOST_PYTHON_${Boost_INCLUDE_DIRS}_${Boost_LIBRARY_DIRS}_${Boost_PYTHON_LIB}_${_py_inc}_${_py_ld}_${_py_lib}_COMPATIBLE)
+				ENDIF(PYTHON_REQ_VERSION_FOUND)
+			ENDIF(NOT _found)
+		ENDFOREACH(_py_ver)
+	ENDIF(Boost_PYTHON_LIB)
+ENDIF(Boost_FOUND AND Boost_LIBRARY_DIRS)
+
+if(BOOST_PYTHON_FOUND)
+	if(NOT BoostPython_FIND_QUIETLY)
+		message(STATUS "Found Boost+Python: ${BOOST_PYTHON_INCLUDES} ${BOOST_PYTHON_LIBS}")
+	endif(NOT BoostPython_FIND_QUIETLY)
+	set(KIG_ENABLE_PYTHON_SCRIPTING 1)
+else (BOOST_PYTHON_FOUND)
+	if (BoostPython_FIND_REQUIRED)
+		message(FATAL_ERROR "Could NOT find Boost+Python")
+	endif(BoostPython_FIND_REQUIRED)
+	set(KIG_ENABLE_PYTHON_SCRIPTING 0)
+endif(BOOST_PYTHON_FOUND)
+
+mark_as_advanced(BOOST_PYTHON_INCLUDES BOOST_PYTHON_LIBS)
diff --git a/pkgs/desktops/kde-4/edu/myCmakeFiles/FindLibfacile.cmake b/pkgs/desktops/kde-4/edu/myCmakeFiles/FindLibfacile.cmake
new file mode 100644
index 000000000000..154531dabc11
--- /dev/null
+++ b/pkgs/desktops/kde-4/edu/myCmakeFiles/FindLibfacile.cmake
@@ -0,0 +1,45 @@
+# - Try to find Libfacile
+# Once done this will define
+#
+#  LIBFACILE_FOUND - system has Libfacile
+#  LIBFACILE_INCLUDE_DIR - the Libfacile include directory
+#  LIBFACILE_LIBRARIES - Link these to use Libfacile
+#  LIBFACILE_DEFINITIONS - Compiler switches required for using Libfacile
+#
+# Copyright (c) 2006, Carsten Niehaus, <cniehaus@gmx.de>
+# Copyright (c) 2006, Montel Laurent, <montel@kde.org>
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+
+find_package(OCaml)
+
+set(LIBFACILE_FOUND FALSE)
+
+if( OCAML_FOUND )
+   find_file(LIBFACILE_LIBRARIES NAME facile.a
+       PATHS ${OCAMLC_DIR} ENV CMAKE_LIBRARY_PATH
+	   PATH_SUFFIXES facile ocaml/facile
+   )
+   message(STATUS "LIBFACILE_LIBRARIES :<${LIBFACILE_LIBRARIES}>") 
+   if (LIBFACILE_LIBRARIES)
+	   get_filename_component(LIBFACILE_INCLUDE_DIR ${LIBFACILE_LIBRARIES} PATH)
+	   message(STATUS "LIBFACILE_INCLUDE_DIR <${LIBFACILE_INCLUDE_DIR}>")
+       set(LIBFACILE_FOUND TRUE)
+   endif(LIBFACILE_LIBRARIES)
+endif(OCAML_FOUND)
+
+
+if(LIBFACILE_FOUND)
+   if(NOT Libfacile_FIND_QUIETLY)
+      message(STATUS "Found Libfacile: ${LIBFACILE_LIBRARIES}")
+   endif(NOT Libfacile_FIND_QUIETLY)
+else(LIBFACILE_FOUND)
+   if(Libfacile_FIND_REQUIRED)
+      message(FATAL_ERROR "Could not find Libfacile")
+   endif(Libfacile_FIND_REQUIRED)
+endif(LIBFACILE_FOUND)
+
+# show the LIBFACILE_INCLUDE_DIR and LIBFACILE_LIBRARIES variables only in the advanced view
+mark_as_advanced(LIBFACILE_INCLUDE_DIR LIBFACILE_LIBRARIES )
+ 
diff --git a/pkgs/desktops/kde-4/edu/myCmakeFiles/PythonLibsUtils.cmake b/pkgs/desktops/kde-4/edu/myCmakeFiles/PythonLibsUtils.cmake
new file mode 100644
index 000000000000..df54324712a1
--- /dev/null
+++ b/pkgs/desktops/kde-4/edu/myCmakeFiles/PythonLibsUtils.cmake
@@ -0,0 +1,46 @@
+SET(PYTHON_KNOWN_VERSIONS "2.5" "2.4" "2.3" "2.2" "2.1" "2.0" "1.6" "1.5")
+
+MACRO(python_find_version _py_ver _py_inc _py_ld _py_lib)
+	STRING(REPLACE "." "" _py_ver_nd "${_py_ver}")
+
+	SET(PY_INSTALL_PATH
+		[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_py_ver}\\InstallPath])
+
+	SET(_py_libnames "python${_py_ver}" "python${_py_ver_nd}")
+
+	SET(_py_found FALSE)
+	FOREACH(_py_libname ${_py_libnames})
+		IF (NOT _py_found)
+			SET(_py_lib_full _py_lib_full-NOTFOUND)
+
+			FIND_LIBRARY(_py_lib_full
+				NAMES "${_py_libname}"
+				PATHS "${PY_INSTALL_PATH}/libs"
+				NO_SYSTEM_ENVIRONMENT_PATH
+			)
+			FIND_LIBRARY(_py_lib_full
+				NAMES "${_py_libname}"
+				PATHS "${PY_INSTALL_PATH}/libs"
+				PATH_SUFFIXES "python${_py_ver}/config"
+				NO_SYSTEM_ENVIRONMENT_PATH
+			)
+			IF(_py_lib_full)
+				SET(_py_lib "${_py_libname}")
+				GET_FILENAME_COMPONENT(_py_ld "${_py_lib_full}" PATH)
+				SET(_py_found TRUE)
+			ENDIF(_py_lib_full)
+		ENDIF(NOT _py_found)
+	ENDFOREACH(_py_libname)
+
+	IF(_py_found)
+		FIND_PATH(_py_inc
+			NAMES Python.h
+			PATHS
+				${PY_INSTALL_PATH}/include
+			PATH_SUFFIXES
+				"python${_py_ver}"
+		)
+	ENDIF(_py_found)
+
+	SET(PYTHON_REQ_VERSION_FOUND ${_py_found})
+ENDMACRO(python_find_version)
diff --git a/pkgs/desktops/kde-4/extragear/default.nix b/pkgs/desktops/kde-4/extragear/default.nix
new file mode 100644
index 000000000000..c67d4b8682cb
--- /dev/null
+++ b/pkgs/desktops/kde-4/extragear/default.nix
@@ -0,0 +1,14 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "extragear-plasma-4.0beta4";
+  
+  src = fetchurl {
+    url = mirror://kde/unstable/3.95/src/extragear-plasma-3.95.0.tar.bz2;
+    sha256 = "1nzfy34ig66gfpgv6kbcmcap13axcy7kvj43srbd0ic6a0giv283";
+  };
+
+  buildInputs = [ kdeworkspace kdebase ];
+  patchPhase = "
+  sed -e 's@<Plasma@<KDE/Plasma@' -i ../applets/*/*.h";
+}
diff --git a/pkgs/desktops/kde-4/games/default.nix b/pkgs/desktops/kde-4/games/default.nix
new file mode 100644
index 000000000000..e3869e10808f
--- /dev/null
+++ b/pkgs/desktops/kde-4/games/default.nix
@@ -0,0 +1,12 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "kdegames-4.0beta4";
+  
+  src = fetchurl {
+    url = mirror://kde/unstable/3.95/src/kdegames-3.95.0.tar.bz2;
+    sha256 = "1zsfslnazl8gmiq51y5d16svv7p92yvs2zsz13zg7zpwy4afxzbp";
+  };
+
+  buildInputs = [kdelibs kdepimlibs kdeworkspace];
+}
diff --git a/pkgs/desktops/kde-4/graphics/default.nix b/pkgs/desktops/kde-4/graphics/default.nix
new file mode 100644
index 000000000000..124c9598c9ea
--- /dev/null
+++ b/pkgs/desktops/kde-4/graphics/default.nix
@@ -0,0 +1,13 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "kdegraphics-4.0beta4";
+  
+  src = fetchurl {
+    url = mirror://kde/unstable/3.95/src/kdegraphics-3.95.0.tar.bz2;
+    sha256 = "0mfsadv9ihhw6s7pcy1yabc21px47nzfs34c76n1888qb09m5dfw";
+  };
+
+  buildInputs = [kdelibs kdepimlibs kdeworkspace libgphoto2 saneBackends
+  djvulibre exiv2 poppler chmlib];
+}
diff --git a/pkgs/desktops/kde-4/kdebase/default.nix b/pkgs/desktops/kde-4/kdebase/default.nix
deleted file mode 100644
index ebc0ba3cab34..000000000000
--- a/pkgs/desktops/kde-4/kdebase/default.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-{ stdenv, fetchurl
-, inputproto, kbproto, scrnsaverproto, xextproto, xf86miscproto
-, xf86vidmodeproto, xineramaproto, xproto
-, libICE
-, libX11
-, libXau
-, libXcomposite
-, libXcursor
-, libXdamage
-, libXdmcp
-, libXext
-, libXfixes
-, libXft
-, libXi
-, libXinerama
-, libXpm
-, libXrandr
-, libXrender
-, libXScrnSaver
-, libXt
-, libXtst
-, libXv
-, libXxf86misc
-, libxkbfile
-, zlib, perl, qt, openssl, pcre
-, pkgconfig, libjpeg, libpng, libtiff, libxml2, libxslt, libtool, expat
-, freetype, bzip2, strigi, cmake, shared_mime_info, alsaLib, libungif
-, libusb, glib, mesa
-, cups, kdelibs, kdepimlibs
-}:
-
-stdenv.mkDerivation {
-  name = "kdebase-4.0beta1";
-  builder = ./builder.sh;
-  
-  src = fetchurl {
-    url = mirror://kde/unstable/3.92/src/kdebase-3.92.0.tar.bz2;
-    sha256 = "1xh5a93l6anmix358fll4xfqm5fl4hpm1ksmlab8hr8s7vqng707";
-  };
-
-  buildInputs = [
-	inputproto kbproto scrnsaverproto xextproto xf86miscproto xf86vidmodeproto
-	xineramaproto xproto libICE libX11 libXau libXcomposite libXcursor
-	libXdamage libXdmcp libXext libXfixes libXft libXi libXpm libXrandr
-	libXinerama mesa stdenv.gcc.libc
-	libXrender libXScrnSaver libXt libXtst libXv libXxf86misc libxkbfile
-    zlib perl qt openssl pcre 
-    pkgconfig libjpeg libpng libtiff libxml2 libxslt expat
-    libtool freetype bzip2 strigi cmake shared_mime_info alsaLib libungif cups
-	kdelibs kdepimlibs libusb glib
-  ];
-# TODO : it should be done through setup-hooks
-  KDEDIRS="${kdelibs}/share/apps:${kdepimlibs}/share/apps";
-  inherit qt kdelibs;
-}
diff --git a/pkgs/desktops/kde-4/kdelibs/default.nix b/pkgs/desktops/kde-4/kdelibs/default.nix
deleted file mode 100644
index 9d59da000880..000000000000
--- a/pkgs/desktops/kde-4/kdelibs/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ stdenv, fetchurl
-, inputproto, kbproto, scrnsaverproto, xextproto, xf86miscproto
-, xf86vidmodeproto, xineramaproto, xproto
-, libICE
-, libX11
-, libXau
-, libXcomposite
-, libXcursor
-, libXdamage
-, libXdmcp
-, libXext
-, libXfixes
-, libXft
-, libXi
-, libXpm
-, libXrandr
-, libXrender
-, libXScrnSaver
-, libXt
-, libXtst
-, libXv
-, libXxf86misc
-, libxkbfile
-, zlib, perl, qt, openssl, pcre
-, pkgconfig, libjpeg, libpng, libtiff, libxml2, libxslt, libtool, expat
-, freetype, bzip2, strigi, cmake, shared_mime_info, alsaLib, libungif
-, cups
-}:
-
-stdenv.mkDerivation {
-  name = "kdelibs-4.0beta1";
-  
-  src = fetchurl {
-    url = mirror://kde/unstable/3.92/src/kdelibs-3.92.0.tar.bz2;
-    sha256 = "19jd9nx5g0ayxavj3ys52wx5ppxw9yr9jylxk7qplxsm525ryf1p";
-  };
-
-  buildInputs = [
-	inputproto kbproto scrnsaverproto xextproto xf86miscproto xf86vidmodeproto
-	xineramaproto xproto libICE libX11 libXau libXcomposite libXcursor
-	libXdamage libXdmcp libXext libXfixes libXft libXi libXpm libXrandr
-	libXrender libXScrnSaver libXt libXtst libXv libXxf86misc libxkbfile
-    zlib perl qt openssl pcre 
-    pkgconfig libjpeg libpng libtiff libxml2 libxslt expat
-    libtool freetype bzip2 strigi cmake shared_mime_info alsaLib libungif cups
-  ];
-  patchPhase = "sed -e 's@ NO_SYSTEM_PATH@@g' -i ../cmake/modules/FindX11.cmake";
-}
diff --git a/pkgs/desktops/kde-4/kdepim/builder.sh b/pkgs/desktops/kde-4/kdepim/builder.sh
deleted file mode 100755
index 73d0e9febcd5..000000000000
--- a/pkgs/desktops/kde-4/kdepim/builder.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-source ${stdenv}/setup
-
-myPreBuild()
-{
-	for i in ${qt}/include/*; do
-		NIX_CFLAGS_COMPILE="-I$i ${NIX_CFLAGS_COMPILE}"
-	done;
-	echo "${NIX_CFLAGS_COMPILE}"
-}
-preBuild=myPreBuild
-
-myPatchPhase()
-{
-	sed -e '3s/)/ ${CMAKE_MODULE_PATH})/' -i ../CMakeLists.txt
-}
-patchPhase=myPatchPhase
-
-genericBuild
diff --git a/pkgs/desktops/kde-4/kdepim/default.nix b/pkgs/desktops/kde-4/kdepim/default.nix
deleted file mode 100644
index dd1e706bf743..000000000000
--- a/pkgs/desktops/kde-4/kdepim/default.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-{ stdenv, fetchurl
-, inputproto, kbproto, scrnsaverproto, xextproto, xf86miscproto
-, xf86vidmodeproto, xineramaproto, xproto
-, libICE
-, libX11
-, libXau
-, libXcomposite
-, libXcursor
-, libXdamage
-, libXdmcp
-, libXext
-, libXfixes
-, libXft
-, libXi
-, libXinerama
-, libXpm
-, libXrandr
-, libXrender
-, libXScrnSaver
-, libXt
-, libXtst
-, libXv
-, libXxf86misc
-, libxkbfile
-, zlib, perl, qt, openssl, pcre
-, pkgconfig, libjpeg, libpng, libtiff, libxml2, libxslt, libtool, expat
-, freetype, bzip2, strigi, cmake, shared_mime_info, alsaLib, libungif
-, libusb, glib, mesa, gpgme, boost
-, cups, kdelibs, kdepimlibs
-}:
-
-stdenv.mkDerivation {
-  name = "kdepim-4.0beta1";
-  builder = ./builder.sh;
-  
-  src = fetchurl {
-    url = mirror://kde/unstable/3.92/src/kdepim-3.92.0.tar.bz2;
-    sha256 = "1wlq1h7j07f24n1mjnv9wbfsxn2vn24qfn5dgn4j4fsl84qha16i";
-  };
-
-  buildInputs = [
-	inputproto kbproto scrnsaverproto xextproto xf86miscproto xf86vidmodeproto
-	xineramaproto xproto libICE libX11 libXau libXcomposite libXcursor
-	libXdamage libXdmcp libXext libXfixes libXft libXi libXpm libXrandr
-	libXinerama mesa stdenv.gcc.libc
-	libXrender libXScrnSaver libXt libXtst libXv libXxf86misc libxkbfile
-    zlib perl qt openssl pcre 
-    pkgconfig libjpeg libpng libtiff libxml2 libxslt expat
-    libtool freetype bzip2 strigi cmake shared_mime_info alsaLib libungif cups
-	kdelibs kdepimlibs libusb glib gpgme boost
-  ];
-# TODO : it should be done through setup-hooks
-  KDEDIRS="${kdelibs}/share/apps:${kdepimlibs}/share/apps";
-  inherit qt kdelibs;
-}
diff --git a/pkgs/desktops/kde-4/kdepimlibs/default.nix b/pkgs/desktops/kde-4/kdepimlibs/default.nix
deleted file mode 100644
index 44c6728b5e3a..000000000000
--- a/pkgs/desktops/kde-4/kdepimlibs/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ stdenv, fetchurl
-, inputproto, kbproto, scrnsaverproto, xextproto, xf86miscproto
-, xf86vidmodeproto, xineramaproto, xproto
-, libICE
-, libX11
-, libXau
-, libXcomposite
-, libXcursor
-, libXdamage
-, libXdmcp
-, libXext
-, libXfixes
-, libXft
-, libXi
-, libXpm
-, libXrandr
-, libXrender
-, libXScrnSaver
-, libXt
-, libXtst
-, libXv
-, libXxf86misc
-, libxkbfile
-, zlib, perl, qt, openssl, pcre
-, pkgconfig, libjpeg, libpng, libtiff, libxml2, libxslt, libtool, expat
-, freetype, bzip2, strigi, cmake, shared_mime_info, alsaLib, libungif
-, cups, kdelibs, boost, gpgme
-}:
-
-stdenv.mkDerivation {
-  name = "kdepimlibs-4.0beta1";
-  
-  src = fetchurl {
-    url = mirror://kde/unstable/3.92/src/kdepimlibs-3.92.0.tar.bz2;
-    sha256 = "0q7zzj8n282xaxvdij74fb17w5c1vja7izxfrkcbq7arn9f40wbx";
-  };
-
-  buildInputs = [
-	inputproto kbproto scrnsaverproto xextproto xf86miscproto xf86vidmodeproto
-	xineramaproto xproto libICE libX11 libXau libXcomposite libXcursor
-	libXdamage libXdmcp libXext libXfixes libXft libXi libXpm libXrandr
-	libXrender libXScrnSaver libXt libXtst libXv libXxf86misc libxkbfile
-    zlib perl qt openssl pcre 
-    pkgconfig libjpeg libpng libtiff libxml2 libxslt expat
-    libtool freetype bzip2 strigi cmake shared_mime_info alsaLib libungif cups
-	kdelibs boost gpgme
-  ];
-}
diff --git a/pkgs/desktops/kde-4/libs/FindIlmBase.cmake b/pkgs/desktops/kde-4/libs/FindIlmBase.cmake
new file mode 100644
index 000000000000..1511e9509cee
--- /dev/null
+++ b/pkgs/desktops/kde-4/libs/FindIlmBase.cmake
@@ -0,0 +1,74 @@
+# Try to find the IlmBase libraries
+# This check defines:
+#
+#  ILMBASE_FOUND - system has IlmBase
+#  ILMBASE_INCLUDE_DIR - IlmBase include directory
+#  ILMBASE_LIBRARIES - Libraries needed to use IlmBase
+#
+# Copyright (c) 2006, Alexander Neundorf, <neundorf@kde.org>
+# Copyright (c) 2007, Yury G. Kudryashov, <urkud.urkud@gmail.com>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+if (ILMBASE_INCLUDE_DIR AND ILMBASE_LIBRARIES)
+  # in cache already
+  SET(ILMBASE_FOUND TRUE)
+
+else (ILMBASE_INCLUDE_DIR AND ILMBASE_LIBRARIES)
+IF (NOT WIN32)
+  # use pkg-config to get the directories and then use these values
+  # in the FIND_PATH() and FIND_LIBRARY() calls
+  INCLUDE(UsePkgConfig)
+  
+  PKGCONFIG(IlmBase _IlmBaseIncDir _IlmBaseLinkDir _IlmBaseLinkFlags _IlmBaseCflags)
+ENDIF (NOT WIN32)  
+  FIND_PATH(ILMBASE_INCLUDE_DIR ImathBox.h
+     ${_IlmBaseIncDir}
+     ${_IlmBaseIncDir}/OpenEXR/
+  )
+
+  FIND_LIBRARY(ILMBASE_HALF_LIBRARY NAMES Half
+    PATHS
+    ${_IlmBaseLinkDir}
+    NO_DEFAULT_PATH
+  )
+  FIND_LIBRARY(ILMBASE_HALF_LIBRARY NAMES Half )
+  
+  FIND_LIBRARY(ILMBASE_IEX_LIBRARY NAMES Iex
+    PATHS
+    ${_IlmBaseLinkDir}
+    NO_DEFAULT_PATH
+  )
+  FIND_LIBRARY(ILMBASE_IEX_LIBRARY NAMES Iex )
+  
+  FIND_LIBRARY(ILMBASE_IMATH_LIBRARY NAMES Imath
+    PATHS
+    ${_IlmBaseLinkDir}
+    NO_DEFAULT_PATH
+  )
+  FIND_LIBRARY(ILMBASE_IMATH_LIBRARY NAMES Imath )  
+  
+  if (ILMBASE_INCLUDE_DIR AND ILMBASE_IMATH_LIBRARY AND ILMBASE_IEX_LIBRARY AND ILMBASE_HALF_LIBRARY)
+     set(ILMBASE_FOUND TRUE)
+     set(ILMBASE_LIBRARIES ${ILMBASE_IMATH_LIBRARY} ${ILMBASE_IEX_LIBRARY} ${ILMBASE_HALF_LIBRARY} CACHE STRING "The libraries needed to use IlmBase")
+  endif (ILMBASE_INCLUDE_DIR AND ILMBASE_IMATH_LIBRARY AND ILMBASE_IEX_LIBRARY AND ILMBASE_HALF_LIBRARY)
+  
+  if (ILMBASE_FOUND)
+    if (NOT IlmBase_FIND_QUIETLY)
+      message(STATUS "Found ILMBASE: ${ILMBASE_LIBRARIES}")
+    endif (NOT IlmBase_FIND_QUIETLY)
+  else (ILMBASE_FOUND)
+    if (IlmBase_FIND_REQUIRED)
+      message(FATAL_ERROR "Could NOT find ILMBASE")
+    endif (IlmBase_FIND_REQUIRED)
+  endif (ILMBASE_FOUND)
+  
+  MARK_AS_ADVANCED(
+     ILMBASE_INCLUDE_DIR 
+     ILMBASE_LIBRARIES 
+     ILMBASE_IMATH_LIBRARY 
+     ILMBASE_IEX_LIBRARY 
+     ILMBASE_HALF_LIBRARY )
+  
+endif (ILMBASE_INCLUDE_DIR AND ILMBASE_LIBRARIES)
diff --git a/pkgs/desktops/kde-4/libs/FindOpenEXR.cmake b/pkgs/desktops/kde-4/libs/FindOpenEXR.cmake
new file mode 100644
index 000000000000..b1f590544fa8
--- /dev/null
+++ b/pkgs/desktops/kde-4/libs/FindOpenEXR.cmake
@@ -0,0 +1,68 @@
+# Try to find the OpenEXR libraries
+# This check defines:
+#
+#  OPENEXR_FOUND - system has OpenEXR
+#  OPENEXR_INCLUDE_DIR - OpenEXR include directory
+#  OPENEXR_LIBRARIES - Libraries needed to use OpenEXR
+#
+# Copyright (c) 2006, Alexander Neundorf, <neundorf@kde.org>
+# Copyright (c) 2007, Yury G. Kudryashov, <urkud.urkud@gmail.com>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+
+if (OPENEXR_INCLUDE_DIR AND OPENEXR_LIBRARIES)
+  # in cache already
+  SET(OPENEXR_FOUND TRUE)
+
+else (OPENEXR_INCLUDE_DIR AND OPENEXR_LIBRARIES)
+FIND_PACKAGE(IlmBase)
+IF (NOT ILMBASE_FOUND)
+	SET(OPENEXR_FOUND FALSE)
+ELSE (NOT ILMBASE_FOUND)
+IF (NOT WIN32)
+  # use pkg-config to get the directories and then use these values
+  # in the FIND_PATH() and FIND_LIBRARY() calls
+  INCLUDE(UsePkgConfig)
+  
+  PKGCONFIG(OpenEXR _OpenEXRIncDir _OpenEXRLinkDir _OpenEXRLinkFlags _OpenEXRCflags)
+ENDIF (NOT WIN32)  
+  FIND_PATH(OPENEXR_INCLUDE_DIR ImfRgbaFile.h
+     ${_OpenEXRIncDir}
+     ${_OpenEXRIncDir}/OpenEXR/
+  )
+
+  FIND_LIBRARY(OPENEXR_ILMIMF_LIBRARY NAMES IlmImf 
+    PATHS
+    ${_OpenEXRLinkDir}
+    NO_DEFAULT_PATH
+  )
+  FIND_LIBRARY(OPENEXR_ILMIMF_LIBRARY NAMES IlmImf )  
+  
+  if (OPENEXR_INCLUDE_DIR AND OPENEXR_ILMIMF_LIBRARY)
+     set(OPENEXR_FOUND TRUE)
+     set(OPENEXR_LIBRARIES ${ILMBASE_LIBRARIES} ${OPENEXR_ILMIMF_LIBRARY} CACHE STRING "The libraries needed to use OpenEXR")
+	 set(OPENEXR_INCLUDE_DIR ${OPENEXR_INCLUDE_DIR} ${ILMBASE_INCLUDE_DIR})
+  endif (OPENEXR_INCLUDE_DIR AND OPENEXR_ILMIMF_LIBRARY)
+ENDIF (NOT ILMBASE_FOUND)
+  
+  if (OPENEXR_FOUND)
+    if (NOT OpenEXR_FIND_QUIETLY)
+      message(STATUS "Found OPENEXR: ${OPENEXR_LIBRARIES}")
+    endif (NOT OpenEXR_FIND_QUIETLY)
+  else (OPENEXR_FOUND)
+    if (OpenEXR_FIND_REQUIRED)
+      message(FATAL_ERROR "Could NOT find OPENEXR")
+    endif (OpenEXR_FIND_REQUIRED)
+  endif (OPENEXR_FOUND)
+  
+  MARK_AS_ADVANCED(
+     OPENEXR_INCLUDE_DIR 
+     OPENEXR_LIBRARIES 
+     OPENEXR_ILMIMF_LIBRARY 
+     OPENEXR_IMATH_LIBRARY 
+     OPENEXR_IEX_LIBRARY 
+     OPENEXR_HALF_LIBRARY )
+  
+endif (OPENEXR_INCLUDE_DIR AND OPENEXR_LIBRARIES)
diff --git a/pkgs/desktops/kde-4/libs/default.nix b/pkgs/desktops/kde-4/libs/default.nix
new file mode 100644
index 000000000000..844e4a03320f
--- /dev/null
+++ b/pkgs/desktops/kde-4/libs/default.nix
@@ -0,0 +1,27 @@
+args: with args;
+
+stdenv.mkDerivation rec {
+  name = "kdelibs-4.0beta4";
+  
+  src = fetchurl {
+    url = mirror://kde/unstable/3.95/src/kdelibs-3.95.0.tar.bz2;
+    sha256 = "0960880wvwrj68r35knqjjxbqq90xzy1lqv526zyaymp7jc24ybc";
+  };
+
+  propagatedBuildInputs = [
+	cmake inputproto kbproto scrnsaverproto xextproto xf86miscproto xf86vidmodeproto
+	xineramaproto xproto libICE libX11 libXau libXcomposite libXcursor
+	libXdamage libXdmcp libXext libXfixes libXft libXi libXpm libXrandr
+	libXrender libXScrnSaver libXt libXtst libXv libXxf86misc libxkbfile zlib
+	perl qt openssl pcre pkgconfig libjpeg libpng libtiff libxml2 libxslt expat
+    libtool freetype bzip2 shared_mime_info alsaLib libungif cups
+	gettext enchant openexr aspell stdenv.gcc.libc
+  ] ++ kdesupport.all;
+  patchPhase = "cp ${findIlmBase} ../cmake/modules/FindIlmBase.cmake;
+  cp $findOpenEXR ../cmake/modules/FindOpenEXR.cmake;
+  sed -e 's@Soprano/DummyModel@Soprano/Util/DummyModel@' -i ../nepomuk/core/resourcemanager.cpp;";
+
+  findIlmBase = ./FindIlmBase.cmake;
+  findOpenEXR = ./FindOpenEXR.cmake;
+  setupHook=./setup.sh;
+}
diff --git a/pkgs/desktops/kde-4/libs/setup.sh b/pkgs/desktops/kde-4/libs/setup.sh
new file mode 100755
index 000000000000..6f899442d27a
--- /dev/null
+++ b/pkgs/desktops/kde-4/libs/setup.sh
@@ -0,0 +1,5 @@
+addKDEDIRS()
+{
+	addToSearchPath KDEDIRS /share/kde4 /. $1
+}
+envHooks=(${envHooks[@]} addKDEDIRS)
diff --git a/pkgs/desktops/kde-4/multimedia/default.nix b/pkgs/desktops/kde-4/multimedia/default.nix
new file mode 100644
index 000000000000..f0870c1740d4
--- /dev/null
+++ b/pkgs/desktops/kde-4/multimedia/default.nix
@@ -0,0 +1,13 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "kdemultimedia-4.0beta4";
+  
+  src = fetchurl {
+    url = mirror://kde/unstable/3.95/src/kdemultimedia-3.95.0.tar.bz2;
+    sha256 = "0vjk5gpn45fh7hm982jw1frd7fr0grff96ksmh29wnkc160rh8va";
+  };
+
+  buildInputs = [kdelibs kdepimlibs kdeworkspace libogg flac cdparanoia lame
+  libvorbis];
+}
diff --git a/pkgs/desktops/kde-4/network/default.nix b/pkgs/desktops/kde-4/network/default.nix
new file mode 100644
index 000000000000..21ae2074e068
--- /dev/null
+++ b/pkgs/desktops/kde-4/network/default.nix
@@ -0,0 +1,12 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "kdenetwork-4.0beta4";
+  
+  src = fetchurl {
+    url = mirror://kde/unstable/3.95/src/kdenetwork-3.95.0.tar.bz2;
+    sha256 = "118r55aw0pag78kawjfn3vya7aca12n5ypknm1i4khxs747hxqbr";
+  };
+
+  buildInputs = [kdelibs kdepimlibs kdeworkspace sqlite libidn];
+}
diff --git a/pkgs/desktops/kde-4/pim/builder.sh b/pkgs/desktops/kde-4/pim/builder.sh
new file mode 100755
index 000000000000..8963fae048ca
--- /dev/null
+++ b/pkgs/desktops/kde-4/pim/builder.sh
@@ -0,0 +1,10 @@
+source ${stdenv}/setup
+
+myPatchPhase()
+{
+# They reset CMAKE_MODULE_PATH, not adding to the existing
+	sed -e '3s/)/ ${CMAKE_MODULE_PATH})/' -i ../CMakeLists.txt
+}
+patchPhase=myPatchPhase
+
+genericBuild
diff --git a/pkgs/desktops/kde-4/pim/default.nix b/pkgs/desktops/kde-4/pim/default.nix
new file mode 100644
index 000000000000..f0f4184d391f
--- /dev/null
+++ b/pkgs/desktops/kde-4/pim/default.nix
@@ -0,0 +1,15 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "kdepim-4.0beta4";
+  
+  src = fetchurl {
+    url = mirror://kde/unstable/3.95/src/kdepim-3.95.0.tar.bz2;
+    sha256 = "0gzvm4h6ij7i119apmh9w82raygahr18bl0i9m3ynf2mcca0aq94";
+  };
+
+  buildInputs = [libXinerama mesa stdenv.gcc.libc alsaLib kdelibs kdepimlibs
+  kdeworkspace libusb glib];
+  qt4BadIncludes = true;
+  inherit qt kdelibs;
+}
diff --git a/pkgs/desktops/kde-4/pimlibs/default.nix b/pkgs/desktops/kde-4/pimlibs/default.nix
new file mode 100644
index 000000000000..6d273acc67e0
--- /dev/null
+++ b/pkgs/desktops/kde-4/pimlibs/default.nix
@@ -0,0 +1,12 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "kdepimlibs-4.0beta4";
+  
+  src = fetchurl {
+    url = mirror://kde/unstable/3.95/src/kdepimlibs-3.95.0.tar.bz2;
+	sha256 = "1dhn5x3k9myqfymv6ry84v0zm2qwxnrlm1vdlllfvmgbm5nz34mg";
+  };
+
+  propagatedBuildInputs = [kdelibs boost gpgme cyrus_sasl openldap];
+}
diff --git a/pkgs/desktops/kde-4/runtime/builder.sh b/pkgs/desktops/kde-4/runtime/builder.sh
new file mode 100755
index 000000000000..99b357fcf167
--- /dev/null
+++ b/pkgs/desktops/kde-4/runtime/builder.sh
@@ -0,0 +1,12 @@
+source ${stdenv}/setup
+
+myPatchPhase()
+{
+	echo "Fixing dbus calls in CMakeLists.txt files"
+# Trailing slash in sed is essential
+	find .. -name CMakeLists.txt \
+	| xargs sed -e "s@\${DBUS_INTERFACES_INSTALL_DIR}/@${kdelibs}/share/dbus-1/interfaces/@" -i
+	#sed -e '/^#define HAS_RANDR_1_2 1$/d' -i ../workspace/kcontrol/randr/randr.h
+}
+patchPhase=myPatchPhase
+genericBuild
diff --git a/pkgs/desktops/kde-4/runtime/default.nix b/pkgs/desktops/kde-4/runtime/default.nix
new file mode 100644
index 000000000000..f3f241a7ffee
--- /dev/null
+++ b/pkgs/desktops/kde-4/runtime/default.nix
@@ -0,0 +1,15 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "kdebase-runtime-4.0beta4";
+  builder = ./builder.sh;
+  
+  src = fetchurl {
+    url = mirror://kde/unstable/3.95/src/kdebase-runtime-3.95.0.tar.bz2;
+    sha256 = "1s4fhbz7gpdxmvlr20c7n6cvcb9sn0qxigzpljsxw9524w177ksr";
+  };
+
+  propagatedBuildInputs = [kdepimlibs libusb kdebase xineLib];
+  inherit kdelibs;
+}
+
diff --git a/pkgs/desktops/kde-4/support/akode.nix b/pkgs/desktops/kde-4/support/akode.nix
new file mode 100644
index 000000000000..1385def6b559
--- /dev/null
+++ b/pkgs/desktops/kde-4/support/akode.nix
@@ -0,0 +1,13 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "akode-2.0.0dev";
+  
+  src = fetchsvn {
+    url = svn://anonsvn.kde.org/home/kde/trunk/kdesupport/akode;
+	rev = 732646;
+	md5 = "6629ffedc42c020d2e8645910a4efdf5";
+  };
+
+  buildInputs = [ cmake qt openssl gettext cyrus_sasl alsaLib ];
+}
diff --git a/pkgs/desktops/kde-4/support/default.nix b/pkgs/desktops/kde-4/support/default.nix
new file mode 100644
index 000000000000..af1dc175bedd
--- /dev/null
+++ b/pkgs/desktops/kde-4/support/default.nix
@@ -0,0 +1,36 @@
+args:
+rec {
+	qca = (import ./qca.nix) args;
+	akode = (import ./akode.nix) args;
+	gmm = (import ./gmm.nix) args;
+	eigen = (import ./eigen.nix) args;
+	taglib = (import ./taglib.nix) args;
+	soprano = (import ./soprano.nix) args;
+	strigi = (import ./strigi.nix) args;
+	qimageblitz = (import ./qimageblitz.nix) args;
+	all = [qca gmm eigen taglib soprano strigi qimageblitz];
+}
+#args: with args;
+#
+#stdenv.mkDerivation {
+#  name = "kdesupport-4.0svn-r729462";
+#  
+#  src = fetchsvn {
+#    url = svn://anonsvn.kde.org/home/kde/trunk/kdesupport;
+#	rev = 729462;
+#	md5 = "aa50ec8e5c8d49e1dfd53143345cb4b3";
+#  };
+#
+#  propagatedBuildInputs = [
+#	exiv2
+#	cmake inputproto kbproto scrnsaverproto xextproto xf86miscproto xf86vidmodeproto
+#	xineramaproto xproto libICE libX11 libXau libXcomposite libXcursor
+#	libXdamage libXdmcp libXext libXfixes libXft libXi libXpm libXrandr
+#	libXrender libXScrnSaver libXt libXtst libXv libXxf86misc libxkbfile zlib
+#	perl qt openssl pcre pkgconfig libjpeg libpng libtiff libxml2 libxslt expat
+#    libtool freetype bzip2 shared_mime_info alsaLib libungif cups
+#	gettext cluceneCore redland stdenv.gcc.libc dbus bison cppunit
+#  ];
+#  CLUCENE_HOME=cluceneCore;
+#  patchPhase = "sed -e '/set(qca_PLUGINSDIR/s@\${QT_PLUGINS_DIR}@\${CMAKE_INSTALL_PREFIX}/plugins@' -i ../qca/CMakeLists.txt";
+#}
diff --git a/pkgs/desktops/kde-4/support/eigen.nix b/pkgs/desktops/kde-4/support/eigen.nix
new file mode 100644
index 000000000000..a3ac9eff3910
--- /dev/null
+++ b/pkgs/desktops/kde-4/support/eigen.nix
@@ -0,0 +1,13 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "eigen-1.0.5";
+  
+  src = fetchsvn {
+    url = svn://anonsvn.kde.org/home/kde/trunk/kdesupport/eigen;
+	rev = 732646;
+	md5 = "f91ad5d3dd992984fb61107fd9050a36";
+  };
+
+  buildInputs = [ cmake ];
+}
diff --git a/pkgs/desktops/kde-4/support/gmm.nix b/pkgs/desktops/kde-4/support/gmm.nix
new file mode 100644
index 000000000000..d32c9b9f765e
--- /dev/null
+++ b/pkgs/desktops/kde-4/support/gmm.nix
@@ -0,0 +1,13 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "gmm-svn";
+  
+  src = fetchsvn {
+    url = svn://anonsvn.kde.org/home/kde/trunk/kdesupport/gmm;
+	rev = 732646;
+	md5 = "09ee4cfcbb3c428bc681c2da022648bf";
+  };
+
+  buildInputs = [ cmake ];
+}
diff --git a/pkgs/desktops/kde-4/support/qca.nix b/pkgs/desktops/kde-4/support/qca.nix
new file mode 100644
index 000000000000..64b00da91ce7
--- /dev/null
+++ b/pkgs/desktops/kde-4/support/qca.nix
@@ -0,0 +1,15 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "qca-2.0.0dev";
+  
+  src = fetchsvn {
+    url = svn://anonsvn.kde.org/home/kde/trunk/kdesupport/qca;
+	rev = 732646;
+	md5 = "1df54bf3bf327b14ea1948f9080717c3";
+  };
+
+  buildInputs = [ cmake qt openssl gettext cyrus_sasl libgcrypt gnupg ];
+
+  patchPhase = "sed -e '/set(qca_PLUGINSDIR/s@\${QT_PLUGINS_DIR}@\${CMAKE_INSTALL_PREFIX}/plugins@' -i ../CMakeLists.txt";
+}
diff --git a/pkgs/desktops/kde-4/support/qimageblitz.nix b/pkgs/desktops/kde-4/support/qimageblitz.nix
new file mode 100644
index 000000000000..fe6a03ca7c78
--- /dev/null
+++ b/pkgs/desktops/kde-4/support/qimageblitz.nix
@@ -0,0 +1,13 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "qimageblitz-4.0.0svn";
+  
+  src = fetchsvn {
+    url = svn://anonsvn.kde.org/home/kde/trunk/kdesupport/qimageblitz;
+	rev = 732646;
+	md5 = "c37fa505368071ec501e966225e30c78";
+  };
+
+  buildInputs = [cmake qt];
+}
diff --git a/pkgs/desktops/kde-4/support/soprano.nix b/pkgs/desktops/kde-4/support/soprano.nix
new file mode 100644
index 000000000000..0f453d726d77
--- /dev/null
+++ b/pkgs/desktops/kde-4/support/soprano.nix
@@ -0,0 +1,14 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "soprano-1.9.0svn";
+  
+  src = fetchsvn {
+    url = svn://anonsvn.kde.org/home/kde/trunk/kdesupport/soprano;
+	rev = 732646;
+	md5 = "c3b43544536f0f8061e4afeb9e368072";
+  };
+
+  CLUCENE_HOME=cluceneCore;
+  buildInputs = [ cmake qt cluceneCore redland ];
+}
diff --git a/pkgs/desktops/kde-4/support/strigi.nix b/pkgs/desktops/kde-4/support/strigi.nix
new file mode 100644
index 000000000000..f0e0fe614be9
--- /dev/null
+++ b/pkgs/desktops/kde-4/support/strigi.nix
@@ -0,0 +1,15 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "strigi-svn";
+  
+  src = fetchsvn {
+    url = svn://anonsvn.kde.org/home/kde/trunk/kdesupport/strigi;
+	rev = 732646;
+	md5 = "15762f5a406ef84bc1cdd776b2ca9a82";
+  };
+
+  CLUCENE_HOME=cluceneCore;
+  buildInputs = [ cmake zlib cluceneCore bzip2 libxml2 qt dbus
+  log4cxx stdenv.gcc.libc exiv2 bison cppunit perl ];
+}
diff --git a/pkgs/desktops/kde-4/support/taglib.nix b/pkgs/desktops/kde-4/support/taglib.nix
new file mode 100644
index 000000000000..6aecb7a91ef2
--- /dev/null
+++ b/pkgs/desktops/kde-4/support/taglib.nix
@@ -0,0 +1,13 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "taglib-1.4svn";
+  
+  src = fetchsvn {
+    url = svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib;
+	rev = 732646;
+	md5 = "647d68a76858cf3a667656c486b0a8c2";
+  };
+
+  buildInputs = [ cmake zlib ];
+}
diff --git a/pkgs/desktops/kde-4/toys/default.nix b/pkgs/desktops/kde-4/toys/default.nix
new file mode 100644
index 000000000000..19c08c4891bc
--- /dev/null
+++ b/pkgs/desktops/kde-4/toys/default.nix
@@ -0,0 +1,12 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "kdetoys-4.0beta4";
+  
+  src = fetchurl {
+    url = mirror://kde/unstable/3.95/src/kdetoys-3.95.0.tar.bz2;
+    sha256 = "0qg9ns640v21sa837pg5basnw8clnkyxap2lm7s69ainsg69662v";
+  };
+
+  buildInputs = [kdelibs kdepimlibs kdeworkspace];
+}
diff --git a/pkgs/desktops/kde-4/utils/default.nix b/pkgs/desktops/kde-4/utils/default.nix
new file mode 100644
index 000000000000..cee61c0e4cdf
--- /dev/null
+++ b/pkgs/desktops/kde-4/utils/default.nix
@@ -0,0 +1,13 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "kdeutils-4.0beta4";
+  
+  src = fetchurl {
+    url = mirror://kde/unstable/3.95/src/kdeutils-3.95.0.tar.bz2;
+    sha256 = "1b8jvdy83qwhnfwqxzx96bxnaxss25psazifymyb0z4ynkqmadlh";
+  };
+
+  buildInputs = [kdelibs kdepimlibs kdeworkspace gmp libzip python ];
+# TODO : tpctl
+}
diff --git a/pkgs/desktops/kde-4/workspace/builder.sh b/pkgs/desktops/kde-4/workspace/builder.sh
new file mode 100755
index 000000000000..648d6175f35a
--- /dev/null
+++ b/pkgs/desktops/kde-4/workspace/builder.sh
@@ -0,0 +1,12 @@
+source ${stdenv}/setup
+
+myPatchPhase()
+{
+	echo "Fixing dbus calls in CMakeLists.txt files"
+# Trailing slash in sed is essential
+	find .. -name CMakeLists.txt \
+	| xargs sed -e "s@\${DBUS_INTERFACES_INSTALL_DIR}/@${kdelibs}/share/dbus-1/interfaces/@" -i
+	sed -e '/^#define HAS_RANDR_1_2 1$/d' -i ../kcontrol/randr/randr.h
+}
+patchPhase=myPatchPhase
+genericBuild
diff --git a/pkgs/desktops/kde-4/workspace/default.nix b/pkgs/desktops/kde-4/workspace/default.nix
new file mode 100644
index 000000000000..829393f67e9f
--- /dev/null
+++ b/pkgs/desktops/kde-4/workspace/default.nix
@@ -0,0 +1,15 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "kdebase-workspace-4.0beta4";
+  builder = ./builder.sh;
+  
+  src = fetchurl {
+    url = mirror://kde/unstable/3.95/src/kdebase-workspace-3.95.0.tar.bz2;
+    sha256 = "0jripmw8vgs7lxlsif552rr9vqps5kav8jdlfyhmr9c3xw5c99v0";
+  };
+
+  buildInputs = [kdelibs kdepimlibs kdebase kderuntime stdenv.gcc.libc];
+  inherit kdelibs;
+}
+
diff --git a/pkgs/development/compilers/gcc-3.4/builder.sh b/pkgs/development/compilers/gcc-3.4/builder.sh
index 5a89201377d6..eb1f211dce8f 100644
--- a/pkgs/development/compilers/gcc-3.4/builder.sh
+++ b/pkgs/development/compilers/gcc-3.4/builder.sh
@@ -37,22 +37,10 @@ fi
 
 preConfigure=preConfigure
 preConfigure() {
-    
-    # Determine the frontends to build.
-    langs="c"
-    if test -n "$langCC"; then
-        langs="$langs,c++"
-    fi
-    if test -n "$langF77"; then
-        langs="$langs,f77"
-    fi
-
     # Perform the build in a different directory.
     mkdir ../build
     cd ../build
-
     configureScript=../$sourceRoot/configure
-    configureFlags="--enable-languages=$langs $configureFlags"
 }
 
 
diff --git a/pkgs/development/compilers/gcc-3.4/default.nix b/pkgs/development/compilers/gcc-3.4/default.nix
index 4cb834304e3e..de7f079b2d90 100644
--- a/pkgs/development/compilers/gcc-3.4/default.nix
+++ b/pkgs/development/compilers/gcc-3.4/default.nix
@@ -5,6 +5,8 @@
 
 assert langC;
 
+with import ../../../lib;
+
 stdenv.mkDerivation {
   name = "gcc-3.4.6";
   builder = ./builder.sh;
@@ -15,7 +17,22 @@ stdenv.mkDerivation {
 
   patches = if noSysDirs then [./no-sys-dirs.patch] else [];
 
-  inherit noSysDirs langC langCC langF77 profiledCompiler;
+  inherit noSysDirs profiledCompiler;
+
+  configureFlags = "
+    --disable-multilib
+    --with-system-zlib
+    --enable-languages=${
+      concatStrings (intersperse ","
+        (  optional langC   "c"
+        ++ optional langCC  "c++"
+        ++ optional langF77 "f77"
+        )
+      )
+    }
+  ";
+
+  passthru = { inherit langC langCC langF77; };
 
   meta = {
     homepage = "http://gcc.gnu.org/";
diff --git a/pkgs/development/compilers/ocaml/ocaml-3.08.0.nix b/pkgs/development/compilers/ocaml/3.08.0.nix
index d063fead4a53..6d4b4ca616ce 100644
--- a/pkgs/development/compilers/ocaml/ocaml-3.08.0.nix
+++ b/pkgs/development/compilers/ocaml/3.08.0.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, x11}:
+args: with args;
 
 stdenv.mkDerivation {
   name = "ocaml-3.08.0";
diff --git a/pkgs/development/compilers/ocaml/ocaml-3.09.1.nix b/pkgs/development/compilers/ocaml/3.09.1.nix
index 996012d6b277..6e9922ccc366 100644
--- a/pkgs/development/compilers/ocaml/ocaml-3.09.1.nix
+++ b/pkgs/development/compilers/ocaml/3.09.1.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, x11, ncurses}:
+args: with args;
 
 stdenv.mkDerivation {
   name = "ocaml-3.09.1";
diff --git a/pkgs/development/compilers/ocaml/3.10.0.nix b/pkgs/development/compilers/ocaml/3.10.0.nix
new file mode 100644
index 000000000000..a26175755b5b
--- /dev/null
+++ b/pkgs/development/compilers/ocaml/3.10.0.nix
@@ -0,0 +1,23 @@
+args: with args;
+stdenv.mkDerivation rec {
+	name = "ocaml-3.10.0";
+	src = fetchurl {
+		url = "http://caml.inria.fr/pub/distrib/ocaml-3.10/${name}.tar.bz2";
+		sha256 = "1ihmx1civ78s7k2hfc05z1s9vbyx2qw7fg8lnbxnfd6zxkk8878d";
+	};
+	prefixKey = "-prefix ";
+	configureFlags = ["-no-tk" "-x11lib" x11];
+	buildFlags = "world bootstrap world.opt";
+	buildInputs = [x11 ncurses];
+	installTargets = "install installopt"; 
+	patchPhase = "
+	CAT=$(type -tp cat)
+	sed -e \"s@/bin/cat@\${CAT}@\" -i config/auto-aux/sharpbang
+	";
+
+	meta = {
+		homepage = http://caml.inria.fr/ocaml;
+		license = "QPL, LGPL2 (library part)";
+		desctiption = "Most popular variant of the Caml language";
+	};
+}
diff --git a/pkgs/development/compilers/ocaml/default.nix b/pkgs/development/compilers/ocaml/default.nix
index 44603f957647..74d1378968cf 100644
--- a/pkgs/development/compilers/ocaml/default.nix
+++ b/pkgs/development/compilers/ocaml/default.nix
@@ -1 +1,7 @@
-import ./ocaml-3.09.1.nix
+args:
+rec {
+	default = v_3_09_1;
+	v_3_08_0 = import ./3.08.0.nix (args // {stdenv = args.stdenv34;});
+	v_3_09_1 = import ./3.09.1.nix args;
+	v_3_10_0 = import ./3.10.0.nix (args // {stdenv = args.stdenvUsingSetupNew2;});
+}
diff --git a/pkgs/development/interpreters/perl/setup-hook.sh b/pkgs/development/interpreters/perl/setup-hook.sh
index 6903bddd4199..1f05581df97a 100644
--- a/pkgs/development/interpreters/perl/setup-hook.sh
+++ b/pkgs/development/interpreters/perl/setup-hook.sh
@@ -1,5 +1,7 @@
 addPerlLibPath () {
-	addToSearchPath PERL5LIB /lib/site_perl "" $1
+    if test -d $1/lib/site_perl; then
+        export PERL5LIB="${PERL5LIB}${PERL5LIB:+:}$1/lib/site_perl"
+    fi
 }
 
 envHooks=(${envHooks[@]} addPerlLibPath)
diff --git a/pkgs/development/interpreters/python/2.4.nix b/pkgs/development/interpreters/python/2.4.nix
new file mode 100644
index 000000000000..726d2ac4aa96
--- /dev/null
+++ b/pkgs/development/interpreters/python/2.4.nix
@@ -0,0 +1,52 @@
+{stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2}:
+
+assert zlibSupport -> zlib != null;
+
+with stdenv.lib;
+
+let
+
+  buildInputs =
+    optional (stdenv ? gcc && stdenv.gcc.libc != null) stdenv.gcc.libc ++
+    [bzip2] ++ 
+    optional zlibSupport zlib;
+
+in
+
+stdenv.mkDerivation {
+  name = "python-2.4.4";
+  
+  src = fetchurl {
+    url = http://www.python.org/ftp/python/2.4.4/Python-2.4.4.tar.bz2;
+    md5 = "0ba90c79175c017101100ebf5978e906";
+  };
+
+  patches = [
+    # Look in C_INCLUDE_PATH and LIBRARY_PATH for stuff.
+    ./search-path.patch
+  ];
+  
+  inherit buildInputs;
+  C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs);
+  LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs);
+  
+  configureFlags = "--enable-shared";
+  
+  preConfigure = "
+    # Purity.
+    for i in /usr /sw /opt /pkg; do 
+      substituteInPlace ./setup.py --replace $i /no-such-path
+    done
+  ";
+  
+  postInstall = "
+    ensureDir $out/nix-support
+    cp ${./setup-hook.sh} $out/nix-support/setup-hook
+    rm -rf $out/lib/python2.4/test
+  ";
+
+  passthru = {
+    inherit zlibSupport;
+    libPrefix = "python2.4";
+  };
+}
diff --git a/pkgs/development/interpreters/python/2.5/setup-hook.sh b/pkgs/development/interpreters/python/2.5/setup-hook.sh
index 27ad62260301..11551235c1f8 100644
--- a/pkgs/development/interpreters/python/2.5/setup-hook.sh
+++ b/pkgs/development/interpreters/python/2.5/setup-hook.sh
@@ -1,5 +1,8 @@
 addPythonPath() {
-	addToSearchPathWithCustomDelimiter : PYTHONPATH /lib/python2.5/site-packages "" $1
+    local p=$1/lib/python2.5/site-packages
+    if test -d $p; then
+        export PYTHONPATH="${PYTHONPATH}${PYTHONPATH:+:}$p"
+    fi
 }
 
 toPythonPath() {
diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix
index 726d2ac4aa96..3ac782e1aee3 100644
--- a/pkgs/development/interpreters/python/default.nix
+++ b/pkgs/development/interpreters/python/default.nix
@@ -1,52 +1,5 @@
-{stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2}:
-
-assert zlibSupport -> zlib != null;
-
-with stdenv.lib;
-
-let
-
-  buildInputs =
-    optional (stdenv ? gcc && stdenv.gcc.libc != null) stdenv.gcc.libc ++
-    [bzip2] ++ 
-    optional zlibSupport zlib;
-
-in
-
-stdenv.mkDerivation {
-  name = "python-2.4.4";
-  
-  src = fetchurl {
-    url = http://www.python.org/ftp/python/2.4.4/Python-2.4.4.tar.bz2;
-    md5 = "0ba90c79175c017101100ebf5978e906";
-  };
-
-  patches = [
-    # Look in C_INCLUDE_PATH and LIBRARY_PATH for stuff.
-    ./search-path.patch
-  ];
-  
-  inherit buildInputs;
-  C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs);
-  LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs);
-  
-  configureFlags = "--enable-shared";
-  
-  preConfigure = "
-    # Purity.
-    for i in /usr /sw /opt /pkg; do 
-      substituteInPlace ./setup.py --replace $i /no-such-path
-    done
-  ";
-  
-  postInstall = "
-    ensureDir $out/nix-support
-    cp ${./setup-hook.sh} $out/nix-support/setup-hook
-    rm -rf $out/lib/python2.4/test
-  ";
-
-  passthru = {
-    inherit zlibSupport;
-    libPrefix = "python2.4";
-  };
+args: rec {
+	default = v_2_4;
+	v_2_4 = import ./2.4.nix args;
+	v_2_5 = import ./2.5 args;
 }
diff --git a/pkgs/development/interpreters/python/setup-hook.sh b/pkgs/development/interpreters/python/setup-hook.sh
index 58b8d1cab760..3bc86c582298 100644
--- a/pkgs/development/interpreters/python/setup-hook.sh
+++ b/pkgs/development/interpreters/python/setup-hook.sh
@@ -1,5 +1,8 @@
 addPythonPath() {
-	addToSearchPathWithCustomDelimiter : PYTHONPATH /lib/python2.4/site-packages "" $1
+    local p=$1/lib/python2.4/site-packages
+    if test -d $p; then
+        export PYTHONPATH="${PYTHONPATH}${PYTHONPATH:+:}$p"
+    fi
 }
 
 toPythonPath() {
diff --git a/pkgs/development/libraries/chmlib/builder.sh b/pkgs/development/libraries/chmlib/builder.sh
deleted file mode 100644
index ccdbfc17a767..000000000000
--- a/pkgs/development/libraries/chmlib/builder.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-source $stdenv/setup
-
-unpackCmd="tar xvfj $src"
-
-makeFlags="-f Makefile.simple CC=gcc LD=gcc INSTALLPREFIX=$out"
-
-postConfigure=postConfigure
-postConfigure() {
-    cd src
-}
-
-preInstall=preInstall
-preInstall() {
-    mkdir $out
-    mkdir $out/lib
-    mkdir $out/include
-}
-
-genericBuild
\ No newline at end of file
diff --git a/pkgs/development/libraries/chmlib/default.nix b/pkgs/development/libraries/chmlib/default.nix
index 096f2e0e2295..bd593aaea0a5 100644
--- a/pkgs/development/libraries/chmlib/default.nix
+++ b/pkgs/development/libraries/chmlib/default.nix
@@ -1,9 +1,16 @@
-{stdenv, fetchurl}:
+args: with args;
 
-stdenv.mkDerivation {
-  name = "chmlib-0.38";
+stdenv.mkDerivation rec {
+  name = "chmlib-0.39";
   src = fetchurl {
-    url = http://66.93.236.84/~jedwin/projects/chmlib/chmlib-0.38.tar.bz2;
-    md5 = "d72661526aaea377ed30e9f58a086964";
+    url = "${meta.homepage}/${name}.tar.bz2";
+	sha256 = "0hgzw121ffmk79wbpkd0394y5ah99c3i85z6scp958mmkr25sc6j";
+  };
+
+  meta = {
+	  homepage = http://www.jedrea.com/chmlib;
+	  license = "LGPL";
+	  description = "CHLIB is a library for dealing with Microsoft ITSS/CHM
+	  format files";
   };
 }
diff --git a/pkgs/development/libraries/clucene-contrib/default.nix b/pkgs/development/libraries/clucene-contrib/default.nix
deleted file mode 100644
index 8938256dec46..000000000000
--- a/pkgs/development/libraries/clucene-contrib/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ stdenv, fetchurl, cluceneCore}:
-
-stdenv.mkDerivation {
-  name = "clucene-contrib-0.9.16a";
-
-  src = fetchurl {
-    url = ftp://ftp.chg.ru/pub/sourceforge/c/cl/clucene/clucene-contrib-0.9.16a.tar.bz2;
-    sha256 = "1apk867pggxsflhgvsnhcmy5vz2cvc1b914g4inkcj6s5vn1a1jx";
-  };
-  inherit cluceneCore;
-  buildInputs=[cluceneCore];
-  configureFlags = "--disable-static --with-clucene=${cluceneCore}";
-
-  meta = {
-    description = "CLucene is a port of the very popular Java Lucene text search engine API. Contrib package.";
-    homepage = http://clucene.sourceforge.net;
-  };
-}
diff --git a/pkgs/development/libraries/clucene-core/default.nix b/pkgs/development/libraries/clucene-core/default.nix
index 3d5734d6c2d5..24e133a5de3c 100644
--- a/pkgs/development/libraries/clucene-core/default.nix
+++ b/pkgs/development/libraries/clucene-core/default.nix
@@ -1,16 +1,15 @@
-{ stdenv, fetchurl }:
+args: with args;
+stdenv.mkDerivation rec {
+	name = "clucene-core-0.9.20";
 
-stdenv.mkDerivation {
-  name = "clucene-core-0.9.16a";
+	src = fetchurl {
+		url = "mirror://sf/clucene/${name}.tar.bz2";
+		sha256 = "1hwq3b4qp1dgygmypgpg3blj68wnksq2rbqkwyxvl5dldn12q7rg";
+	};
+	configureFlags = "--disable-static";
 
-  src = fetchurl {
-    url = ftp://ftp.chg.ru/pub/sourceforge/c/cl/clucene/clucene-core-0.9.16a.tar.bz2;
-    sha256 = "0hv7sp1lbicnj2984hiki8qwrvz5zwn1zhj6azhavgjklanhihjr";
-  };
-
-  meta = {
-    description = "CLucene is a port of the very popular Java Lucene text search engine API. Core package.";
-    homepage = http://clucene.sourceforge.net;
-  };
-  configureFlags = "--disable-static";
+	meta = {
+		description = "CLucene is a port of the very popular Java Lucene text search engine API. Core package.";
+		homepage = http://clucene.sourceforge.net;
+	};
 }
diff --git a/pkgs/development/libraries/dbus-glib/default.nix b/pkgs/development/libraries/dbus-glib/default.nix
index fb206f9a6f66..e72ca406509d 100644
--- a/pkgs/development/libraries/dbus-glib/default.nix
+++ b/pkgs/development/libraries/dbus-glib/default.nix
@@ -1,12 +1,18 @@
-{stdenv, fetchurl, pkgconfig, gettext, dbus, glib, expat}:
+args: with args;
 
 stdenv.mkDerivation {
-  name = "dbus-glib-0.73";
+  name = "dbus-glib-0.74";
   src = fetchurl {
-    url = http://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-0.73.tar.gz;
-    sha256 = "14ndjhbn6q4m7wrml8s57wghnjbm6a6fqb5jgazjxcn6748gkmyn";
+    url = http://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-0.74.tar.gz;
+    sha256 = "1qmbnd9xgg7vahlfywd8sfd9yqhx8jdyczz3cshfsd4qc76xhw78";
   };
   inherit dbus glib;
   buildInputs = [pkgconfig gettext glib expat];
   propagatedBuildInputs = [dbus];
+
+  meta = {
+	  homepage = http://dbus.freedesktop.org;
+	  license = "AFL-2.1 or GPL-2";
+	  description = "GLib bindings for D-Bus lightweight IPC mechanism";
+  };
 }
diff --git a/pkgs/development/libraries/facile/default.nix b/pkgs/development/libraries/facile/default.nix
new file mode 100644
index 000000000000..1890c6d0563c
--- /dev/null
+++ b/pkgs/development/libraries/facile/default.nix
@@ -0,0 +1,19 @@
+args: with args;
+stdenv.mkDerivation rec {
+	name = "facile-1.1";
+	src = fetchurl {
+		url = "${meta.homepage}/distrib/${name}.tar.gz";
+		sha256 = "1jp59ankjds8mh4vm0b5h4fd1lcbfn0rd6n151cgh14ihsknnym8";
+	};
+	dontAddPrefix = 1;
+	patchPhase = "sed -e 's@mkdir@mkdir -p@' -i Makefile";
+	postConfigure = "make -C src .depend";
+	makeFlags = "FACILEDIR=\${out}/lib/ocaml/facile";
+	buildInputs = [ocaml];
+
+	meta = {
+		homepage = http://www.recherche.enac.fr/log/facile;
+		license = "LGPL";
+		description = "A Functional Constraint Library";
+	};
+}
diff --git a/pkgs/development/libraries/haskell/gtk2hs/default.nix b/pkgs/development/libraries/haskell/gtk2hs/default.nix
new file mode 100644
index 000000000000..f4e3a02c73f8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/gtk2hs/default.nix
@@ -0,0 +1,18 @@
+{stdenv, fetchurl, pkgconfig, ghc, gtk, cairo, GConf, libglade
+, glib, libgtkhtml, gtkhtml}:
+
+stdenv.mkDerivation {
+  name = "gtk2hs-0.9.12.1";
+  src = fetchurl {
+    url = mirror://sourceforge/gtk2hs/gtk2hs-0.9.12.1.tar.gz;
+    sha256 = "110z6v9gzhg6nzlz5gs8aafmipbva6rc50b8z1jgq0k2g25hfy22";
+  };
+
+  buildInputs = [pkgconfig ghc gtk glib cairo GConf libglade libgtkhtml gtkhtml];
+
+ configureFlags = [
+    "--enable-cairo"
+  ];
+
+
+}
diff --git a/pkgs/development/libraries/libexif/default.nix b/pkgs/development/libraries/libexif/default.nix
index 0a63ffda2afc..76434d2c30bd 100644
--- a/pkgs/development/libraries/libexif/default.nix
+++ b/pkgs/development/libraries/libexif/default.nix
@@ -1,12 +1,12 @@
-{stdenv, fetchurl}:
+args: with args;
 
-stdenv.mkDerivation {
-  name = "libexif-0.6.14";
+stdenv.mkDerivation rec {
+  name = "libexif-0.6.16";
 
   src = fetchurl {
-    url = mirror://sourceforge/libexif/libexif-0.6.14.tar.bz2;
-    sha256 = "0pza5ysvbvvliz7al2i8l3yai64w09xwc6ivy2v5cl7k43almz84";
+    url = "mirror://sourceforge/libexif/${name}.tar.bz2";
+    sha256 = "0hxc3aik3sn8xq4mbmxxb8ycx2lwffmhi5xvz0zjffhfwkaqas6v";
   };
 
-  patches = [./no-po.patch];
+  buildInputs = [gettext];
 }
diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix
index bb71e8f8499c..8ea05dc73a32 100644
--- a/pkgs/development/libraries/libgcrypt/default.nix
+++ b/pkgs/development/libraries/libgcrypt/default.nix
@@ -1,10 +1,13 @@
-{stdenv, fetchurl, libgpgerror}:
+args: with args;
 
 stdenv.mkDerivation {
-  name = "libgcrypt-1.2.4";
+  name = "libgcrypt-1.3.1";
   src = fetchurl {
-    url = ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.2.4.tar.gz;
-    sha256 = "1v6rbx2jpwvh9jwf8n91da2p66v2gzmym6s3h1fidfdy7qqkyg6g";
+    urls = [
+      ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.3.1.tar.bz2
+      ftp://ftp.gnupg.org/gcrypt/alpha/libgcrypt/libgcrypt-1.3.1.tar.bz2
+    ];
+    sha256 = "0ip0bjhnn12lvb050j91x64wfhmpk7xlc3p93mxi9g2qczg413nz";
   };
 
   buildInputs = [libgpgerror];
diff --git a/pkgs/development/libraries/libgphoto2/default.nix b/pkgs/development/libraries/libgphoto2/default.nix
index 78372330a94f..6e332117a2db 100644
--- a/pkgs/development/libraries/libgphoto2/default.nix
+++ b/pkgs/development/libraries/libgphoto2/default.nix
@@ -1,14 +1,15 @@
-{stdenv, fetchurl, pkgconfig, libusb}:
+args: with args;
 
-stdenv.mkDerivation {
-  name = "libgphoto2-2.2.1";
+stdenv.mkDerivation rec {
+  name = "libgphoto2-2.4.0";
 
   src = fetchurl {
-    url = mirror://sourceforge/gphoto/libgphoto2-2.2.1.tar.bz2;
-    md5 = "69827311733e39fafa9f77bb05e55b77";
+    url = "mirror://sourceforge/gphoto/${name}.tar.bz2";
+    sha256 = "0yfvpgfly774jnjrfqjf89h99az3sgvzkfpb9diygpk8hmx6phhd";
   };
-  buildInputs = [pkgconfig libusb];
+  buildInputs = [pkgconfig libusb libtool libexif libjpeg gettext];
 
-  ## remove this patch when 2.2.2 is released
-  patches = [./libgphoto2-2.2.1.patch];
+  meta = {
+	  license = "LGPL-2";
+  };
 }
diff --git a/pkgs/development/libraries/libgsf/default.nix b/pkgs/development/libraries/libgsf/default.nix
index 41f946e6606c..6131314a22cd 100644
--- a/pkgs/development/libraries/libgsf/default.nix
+++ b/pkgs/development/libraries/libgsf/default.nix
@@ -1,10 +1,17 @@
-{stdenv, fetchurl, perl, perlXMLParser, pkgconfig, libxml2, glib, gettext}:
+args: with args;
 
-stdenv.mkDerivation {
-  name = "libgsf-1.14.1";
+stdenv.mkDerivation rec {
+  name = "libgsf-1.14.7";
   src = fetchurl {
-    url = http://ftp.gnome.org/pub/gnome/sources/libgsf/1.14/libgsf-1.14.1.tar.bz2;
-    md5 = "00de00b99382d0b7e034e0fffd8951d4";
+    url = "http://ftp.gnome.org/pub/gnome/sources/libgsf/1.14/${name}.tar.bz2";
+	sha256 = "0vd8arjaavb3qywd9cm2gdn6ngrlyd99nlsj72par8fm60k48bhq";
+  };
+  buildInputs = [perl perlXMLParser pkgconfig libxml2 glib gettext bzip2
+  gnomevfs libbonobo python];
+
+  meta = {
+	  homepage = http://www.gnome.org/projects/libgsf;
+	  license = "LGPL";
+	  description = "GNOME Structured File Library";
   };
-  buildInputs = [perl perlXMLParser pkgconfig libxml2 glib gettext];
 }
diff --git a/pkgs/development/libraries/libnotify/default.nix b/pkgs/development/libraries/libnotify/default.nix
new file mode 100644
index 000000000000..42747db95a1b
--- /dev/null
+++ b/pkgs/development/libraries/libnotify/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl
+, pkgconfig, dbus, dbus_glib
+, gtk, glib
+}:
+ 
+stdenv.mkDerivation {
+  name = "libnotify-0.4.4";
+  #builder = ./builder.sh;
+
+  src = fetchurl {
+    url = http://www.galago-project.org/files/releases/source/libnotify/libnotify-0.4.4.tar.gz;
+    sha256 = "2389a9b8220f776033f728a8d46352cfee5c8705066e34887bfb188f9f0d3856";
+  };
+
+  buildInputs = [
+    pkgconfig dbus dbus_glib gtk glib
+  ];
+
+  configureFlags="";
+}
diff --git a/pkgs/development/libraries/libsexy/default.nix b/pkgs/development/libraries/libsexy/default.nix
new file mode 100644
index 000000000000..81a38d399735
--- /dev/null
+++ b/pkgs/development/libraries/libsexy/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, pkgconfig, libxml2, glib, gtk, pango
+}:
+ 
+stdenv.mkDerivation {
+  name = "libsexy-0.1.11";
+  #builder = ./builder.sh;
+
+  src = fetchurl {
+    url = http://releases.chipx86.com/libsexy/libsexy/libsexy-0.1.11.tar.gz;
+    sha256 = "8c4101a8cda5fccbba85ba1a15f46f2cf75deaa8b3c525ce5b135b9e1a8fe49e";
+  };
+
+  buildInputs = [ pkgconfig libxml2 glib gtk pango
+  ];
+
+  #configureFlags="";  
+}
diff --git a/pkgs/development/libraries/libwpd/default.nix b/pkgs/development/libraries/libwpd/default.nix
index 13723fdeb85d..630eb44753bb 100644
--- a/pkgs/development/libraries/libwpd/default.nix
+++ b/pkgs/development/libraries/libwpd/default.nix
@@ -1,10 +1,9 @@
-{stdenv, fetchurl, pkgconfig, glib, libgsf, libxml2}:
-
+args: with args;
 stdenv.mkDerivation {
   name = "libwpd-0.8.5";
   src = fetchurl {
     url = mirror://sourceforge/libwpd/libwpd-0.8.5.tar.gz;
     md5 = "6b679e205a2805c3d23f41c65b35e266";
   };
-  buildInputs = [pkgconfig glib libgsf libxml2];
+  buildInputs = [pkgconfig glib libgsf libxml2 bzip2];
 }
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index e1dbc274aeda..a4f09612f9b5 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -1,4 +1,4 @@
-args: with args; stdenv.mkDerivation {
+{stdenv, fetchurl, perl}: stdenv.mkDerivation {
   name = "openssl-0.9.8g";
   builder = ./builder.sh;
   src = fetchurl {
@@ -6,5 +6,4 @@ args: with args; stdenv.mkDerivation {
     sha256 = "1w0wj3pgg9ga0hay3jdxs9sl17bfw307b6qvkxn735fy8ml8h9hf";
   };
   buildInputs = [perl];
-  propagatedBuildInputs = [gmp];
 }
diff --git a/pkgs/development/libraries/strigi/default.nix b/pkgs/development/libraries/strigi/default.nix
deleted file mode 100644
index 85f21652b53a..000000000000
--- a/pkgs/development/libraries/strigi/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, fetchurl, zlib, bzip2, expat, pkgconfig, cluceneCore, cluceneContrib,
-qt, cmake, dbus, libxml2, perl }:
-
-stdenv.mkDerivation {
-  name = "strigi-0.5.3dev";
-
-  src = fetchurl {
-    url = http://repo.calcforge.org/f8/strigi-0.5.3.tar.bz2;
-    sha256 = "0rv7l2s4r022hrsw3jw0pvxh0yzlaw53jhmjxi3cbi6mdvc1y2sv";
-  };
-
-  patchPhase="sed -e 's/ iconv / /' -i ../cmake/FindIconv.cmake;
-  export CLUCENE_HOME=${cluceneCore}";
-  buildInputs = [zlib cluceneCore cluceneContrib expat bzip2 pkgconfig qt cmake
-  stdenv.gcc.libc dbus libxml2 perl];
-
-  meta = {
-    description = "Strigi is a fast and light desktop search engine";
-  };
-}
diff --git a/pkgs/development/libraries/xine-lib/default.nix b/pkgs/development/libraries/xine-lib/default.nix
index 191fa13c0ce0..738b21741b5d 100644
--- a/pkgs/development/libraries/xine-lib/default.nix
+++ b/pkgs/development/libraries/xine-lib/default.nix
@@ -12,11 +12,11 @@ assert encryptedDVDSupport -> libdvdcss != null;
 assert alsaSupport -> alsaLib != null;
 
 (stdenv.mkDerivation {
-  name = "xine-lib-1.1.7";
+  name = "xine-lib-1.1.8";
   builder = ./builder.sh;
   src = fetchurl {
-    url = mirror://sourceforge/xine/xine-lib-1.1.7.tar.bz2;
-    sha256 = "1aycmhvq95gbb5mqw5skgcxyn4nh5qkzq21yclnqk5yzflpwwvvg";
+    url = mirror://sourceforge/xine/xine-lib-1.1.8.tar.bz2;
+    sha256 = "03iwhgsf9kj0x5b4fgv7lzc1vj3frk4afh2idgrqskvixjyi37vc";
   };
   buildInputs = [
     x11
diff --git a/pkgs/development/tools/build-managers/cmake/setup-hook.sh b/pkgs/development/tools/build-managers/cmake/setup-hook.sh
index 4712ef2b6483..f65b09f88d4a 100755
--- a/pkgs/development/tools/build-managers/cmake/setup-hook.sh
+++ b/pkgs/development/tools/build-managers/cmake/setup-hook.sh
@@ -1,16 +1,15 @@
 addCMakeParamsInclude()
 {
-	addToSearchPath CMAKE_INCLUDE_PATH /include "" $1
+	if [ -d $1/include ]; then
+		export CMAKE_INCLUDE_PATH="${CMAKE_INCLUDE_PATH}${CMAKE_INCLUDE_PATH:+:}$1/include"
+	fi
 }
 
 addCMakeParamsLibs()
 {
-	addToSearchPath CMAKE_LIBRARY_PATH /lib "" $1
-}
-
-addCMakeModulePath()
-{
-	addToSearchPath CMAKE_MODULE_PATH /share/cmake-2.4/Modules "" $1
+	if [ -d $1/lib ]; then
+		export CMAKE_LIBRARY_PATH="${CMAKE_LIBRARY_PATH}${CMAKE_LIBRARY_PATH:+:}$1/lib"
+	fi
 }
 
 fixCmakeFiles()
@@ -46,4 +45,4 @@ if [ -z "$noCmakeTewaks" ]; then
 	postUnpack="cmakePostUnpack${postUnpack:+; }${postUnpack}"
 fi;
 
-envHooks=(${envHooks[@]} addCMakeParamsInclude addCMakeParamsLibs addCMakeModulePath)
+envHooks=(${envHooks[@]} addCMakeParamsInclude addCMakeParamsLibs)
diff --git a/pkgs/development/tools/misc/automake/setup-hook.sh b/pkgs/development/tools/misc/automake/setup-hook.sh
index 4489d343510d..097b7b6cbe57 100644
--- a/pkgs/development/tools/misc/automake/setup-hook.sh
+++ b/pkgs/development/tools/misc/automake/setup-hook.sh
@@ -1,5 +1,7 @@
 addAclocals () {
-	addToSearchPathWithCustomDelimiter : ACLOCAL_PATH /share/aclocal "" $1
+    if test -d $1/share/aclocal; then
+        export ACLOCAL_PATH="$ACLOCAL_PATH${ACLOCAL_PATH:+:}$1/share/aclocal"
+    fi
 }
 
 envHooks=(${envHooks[@]} addAclocals)
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index e914391ea2f1..c9a47a953efc 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -1,10 +1,10 @@
-{stdenv, fetchurl, ncurses}:
+args: with args;
 
-stdenv.mkDerivation {
-  name = "gdb-6.6";
+stdenv.mkDerivation rec {
+  name = "gdb-6.7.1";
   src = fetchurl {
-    url = http://ftp.gnu.org/gnu/gdb/gdb-6.6.tar.bz2;
-    md5 = "a4df41d28dd514d64e8ccbfe125fd9a6";
+    url = "mirror://gnu/gdb/${name}.tar.bz2";
+	sha256 = "0qig8j8hcqpqfhnnp685rzgj8v88bw2fc5igvbiiqkqg88wfr37r";
   };
   buildInputs = [ncurses];
 }
diff --git a/pkgs/development/tools/misc/pkgconfig/builder.sh b/pkgs/development/tools/misc/pkgconfig/builder.sh
new file mode 100644
index 000000000000..6d281da71e4d
--- /dev/null
+++ b/pkgs/development/tools/misc/pkgconfig/builder.sh
@@ -0,0 +1,10 @@
+source $stdenv/setup
+
+postInstall() {
+    test -x $out/nix-support || mkdir $out/nix-support
+    cp $setupHook $out/nix-support/setup-hook
+}
+postInstall=postInstall
+
+genericBuild
+
diff --git a/pkgs/development/tools/misc/pkgconfig/default.nix b/pkgs/development/tools/misc/pkgconfig/default.nix
index 481d2174ebc1..be8c4febe03a 100644
--- a/pkgs/development/tools/misc/pkgconfig/default.nix
+++ b/pkgs/development/tools/misc/pkgconfig/default.nix
@@ -1,18 +1,14 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "pkgconfig-0.22";
+  name = "pkgconfig-0.21";
+  builder = ./builder.sh;
   setupHook = ./setup-hook.sh;
   src = fetchurl {
-    url = http://pkgconfig.freedesktop.org/releases/pkg-config-0.22.tar.gz;
-	sha256 = "1rpb5wygmp0f8nal7y3ga4556i7hkjdslv3wdq04fj30gns621vy";
+    url = http://nix.cs.uu.nl/dist/tarballs/pkg-config-0.21.tar.gz;
+    md5 = "476f45fab1504aac6697aa7785f0ab91";
   };
 
-  postInstall = "
-  ensureDir \$out/nix-support
-  cp \$setupHook \$out/nix-support/setup-hook
-  ";
-
   patches = [
     # Process Requires.private properly, see
     # http://bugs.freedesktop.org/show_bug.cgi?id=4738.
diff --git a/pkgs/development/tools/misc/pkgconfig/setup-hook.sh b/pkgs/development/tools/misc/pkgconfig/setup-hook.sh
index f13a44eb9995..f9e7805ccbf7 100644
--- a/pkgs/development/tools/misc/pkgconfig/setup-hook.sh
+++ b/pkgs/development/tools/misc/pkgconfig/setup-hook.sh
@@ -1,5 +1,7 @@
 addPkgConfigPath () {
-	addToSearchPath PKG_CONFIG_PATH /lib/pkgconfig "" $1
+    if test -d $1/lib/pkgconfig; then
+        export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}${PKG_CONFIG_PATH:+:}$1/lib/pkgconfig"
+    fi
 }
 
 envHooks=(${envHooks[@]} addPkgConfigPath)
diff --git a/pkgs/lib/default.nix b/pkgs/lib/default.nix
index 33b7b3d6c9e5..ce4fbf12cf46 100644
--- a/pkgs/lib/default.nix
+++ b/pkgs/lib/default.nix
@@ -244,4 +244,8 @@ rec {
         (l + (if l=="" then "" else ".") + s) (builtins.getAttr s attrs)))
         (builtins.attrNames attrs)))));
 
+  innerModifySumArgs = f: x: a: b: if b == null then (f a b) // x else 
+	innerModifySumArgs f x (a // b);
+  modifySumArgs = f: x: innerModifySumArgs f x {};
+
 }
diff --git a/pkgs/servers/monitoring/nagios/plugins/official/default.nix b/pkgs/servers/monitoring/nagios/plugins/official/default.nix
index d415e833742b..29eb7bbb7a08 100644
--- a/pkgs/servers/monitoring/nagios/plugins/official/default.nix
+++ b/pkgs/servers/monitoring/nagios/plugins/official/default.nix
@@ -20,6 +20,8 @@ stdenv.mkDerivation {
     )
   ";
 
+  postInstall = "ln -s libexec $out/bin";
+
   buildInputs = [openssh]; # !!! make openssh a runtime dependency only
 
   meta = {
diff --git a/pkgs/test/openftd/default.nix b/pkgs/test/openftd/default.nix
new file mode 100644
index 000000000000..34cff9ac93f4
--- /dev/null
+++ b/pkgs/test/openftd/default.nix
@@ -0,0 +1,49 @@
+/*
+
+Systeemvereisten
+
+* libz >= 1.1.4
+* glib >= 2.2.0
+* gtk >= 2.2.0
+
+Glib 2 is een 'dependancy' van gtk2. Als je gtk2 op je systeem hebt staan dan heb je ongetwijfeld ook glib2 op je systeem. Zie: www.gtk.org voor meer informatie omtrent Glib/gtk2
+Alhoewel FTD4Linux gtk 2.2 als minimumvereiste heeft raden we toch aan om gtk 2.4 te gebruiken. Dit vanwege een bug in gtk versies 2.2.2 t/m 2.2.4.
+
+* libxml2 >= 2.2.5
+* libxslt >= 1.0.5
+
+* mozilla (gecompileerd met gtk2 support)
+Mozilla is de opensource browser die is voortgekomen uit het vrijgeven van de netscape navigator source code. Als je mozilla reeds op je systeem hebt staan zou je even moeten nagaan of deze tegen gtk2 is gelinkt. Dit kun je doen met behulp van het programma ldd.
+ldd /usr/X11R6/lib/mozilla-gtk2/libgtkembedmoz.so | grep gtk
+/usr/X11R6/lib/mozilla-gtk2/libgtkembedmoz.so:
+libgtk-x11-2.0.so.200 => /usr/X11R6/lib/libgtk-x11-2.0.so.200 (0x282c3000)
+In de output van het ldd programma kun je zien of er inderdaad wordt gelink tegen gtk2. (libgtk-x11-2.0.so.200).
+Heb je geen mozilla, maar heb je wel de firebird/firefox variant geinstalleerd staan dan kun je ook met de mozilla compatible onderdelen van firebird/firefox aan de gang. Je hebt hier echter wel de header (development) bestanden bij nodig. Controleer dus even of jouw firebird/firefox installatie hiermee is geleverd. (gtkembedmoz/gtkmozembed.h) Een 'locate gtkmozembed.h' zou hier snel genoeg uitsluitsel over moeten geven.
+
+* OpenSSL
+* LibCURL
+
+*/
+
+{ stdenv, fetchurl
+, zlib, libxml2, libxslt, firefox, openssl, curl
+, glib, gtk, libgnomeui, libgtkhtml
+, pkgconfig, dbus_glib, realCurl, pcre, libsexy, gtkspell, libnotify
+}:
+ 
+stdenv.mkDerivation {
+  name = "openftd-0.98.6";
+  #builder = ./builder.sh;
+
+  src = fetchurl {
+    url = http://speeldoos.eweka.nl/~paul/openftd/openftd-1.0.1.tar.bz2;
+    sha256 = "e0710865f852fdf209949788a1ced65e9ecf82b4eaa0992a7a1dde1511a3b6e7";
+  };
+
+  buildInputs = [
+    zlib libxml2 libxslt firefox openssl curl
+    glib gtk pkgconfig dbus_glib realCurl pcre libsexy libgnomeui gtkspell libnotify libgtkhtml
+  ];
+
+  configureFlags="--with-libcurl-libraries=${curl}/lib --with-libcurl-headers=${curl}/include --with-pcre_libraries=${pcre}/lib --with-pcre_headers=${pcre}/include";  
+}
diff --git a/pkgs/tools/misc/shebangfix/default.nix b/pkgs/tools/misc/shebangfix/default.nix
new file mode 100644
index 000000000000..94ecc1e00f7b
--- /dev/null
+++ b/pkgs/tools/misc/shebangfix/default.nix
@@ -0,0 +1,20 @@
+args:
+args.stdenv.mkDerivation {
+  name = "shebangfix-0.0";
+
+  buildInputs = [args.perl];
+
+  file = ./shebangfix.pl;
+
+  phases = "buildPhase";
+
+  buildPhase = "
+    ensureDir \$out/bin
+    s=\$out/bin/shebangfix
+    cp \$file \$s
+    chmod +x \$s
+    perl \$s \$s
+  ";
+
+  meta = { description = "replaces the #!executable with $#!correctpath/executable "; };
+}
diff --git a/pkgs/tools/misc/shebangfix/shebangfix.pl b/pkgs/tools/misc/shebangfix/shebangfix.pl
new file mode 100644
index 000000000000..53573f8d36dd
--- /dev/null
+++ b/pkgs/tools/misc/shebangfix/shebangfix.pl
@@ -0,0 +1,35 @@
+#!/bin/perl
+use warnings;
+use strict;
+
+#usage PATH=< : separated path list> perl <this script>  file1 file2
+
+print "TODO fix space trouble. This script won't work if your paths contain spaces";
+
+sub findInPath{
+  my $file = shift(@_);
+  foreach (split(/:/, $ENV{'PATH'})){
+    my $f =  "$_/$file";
+    if (-x "$f"){
+      return $f;
+    }
+  }
+  print "unable to find $file in on of ".$ENV{'PATH'};
+  exit 1
+}
+
+foreach (@ARGV)
+{
+  my $file = $_;
+  open(FILE, $file);
+  my $content = do { local $/; <FILE> };
+
+  close(FILE); 
+
+  (my $name = $content) =~ /^#![^ ]*\/([^ \n\r]*)/;
+  my $fullpath =  ($1 eq 'sh') ? "/bin/sh" : findInPath($1);
+  $content =~ s/^#![^ \n\r]*/#!$fullpath/;
+  open(FILE, ">$file");
+  print FILE $content;
+  close($file);
+}
diff --git a/pkgs/tools/misc/wv/default.nix b/pkgs/tools/misc/wv/default.nix
index 141bf91bee0e..1bf88edef2a6 100644
--- a/pkgs/tools/misc/wv/default.nix
+++ b/pkgs/tools/misc/wv/default.nix
@@ -9,7 +9,7 @@ args.stdenv.mkDerivation {
 	};
 
   buildInputs =(with args; [zlib imagemagick libpng glib
-	pkgconfig libgsf libxml2]);
+	pkgconfig libgsf libxml2 bzip2]);
 
   meta = {
     description = "
diff --git a/pkgs/tools/package-management/nix/custom.nix b/pkgs/tools/package-management/nix/custom.nix
new file mode 100644
index 000000000000..2cff9f53d877
--- /dev/null
+++ b/pkgs/tools/package-management/nix/custom.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchurl, aterm, db4, perl, curl, bzip2, openssl ? null
+, storeDir ? "/nix/store"
+, stateDir ? "/nix/var"
+, src
+, preConfigure ? ""
+, autoconf ? null, automake ? null, libtool ? null
+, bison ? null
+, flex ? null
+, w3m ? null
+, docbook5_xsl ? null, libxslt ? null
+, docbook5 ? null, docbook_xml_dtd_43 ? null 
+, configureFlags ? []
+}:
+
+stdenv.mkDerivation {
+  name = "nix-custom";
+  
+  inherit src;
+
+  buildInputs = [perl curl openssl] 
+  	++ (if automake != null then [automake] else [])
+  	++ (if autoconf != null then [autoconf] else [])
+  	++ (if libtool != null then [libtool] else [])
+  	++ (if bison != null then [bison] else [])
+  	++ (if flex != null then [flex] else [])
+  	++ (if docbook5_xsl != null then [docbook5_xsl] else [])
+  	++ (if libxslt != null then [libxslt] else [])
+  	++ (if docbook5 != null then [docbook5] else [])
+  	++ (if docbook_xml_dtd_43 != null then [docbook_xml_dtd_43] else [])
+  	++ (if w3m != null then [w3m] else [])
+  ;
+
+  inherit preConfigure;
+
+  configureFlags = ["
+    --with-store-dir=${storeDir} --localstatedir=${stateDir}
+    --with-aterm=${aterm} --with-bdb=${db4} --with-bzip2=${bzip2}
+    --disable-init-state"] ++ configureFlags ;
+
+  meta = {
+    description = "The Nix Deployment System";
+    homepage = http://nix.cs.uu.nl/;
+    license = "LGPL";
+  };
+}
diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix
index 9d381198bee0..532863d66eb9 100644
--- a/pkgs/tools/package-management/nix/unstable.nix
+++ b/pkgs/tools/package-management/nix/unstable.nix
@@ -3,14 +3,14 @@
 , stateDir ? "/nix/var"
 }:
 
-let version = "0.11pre9570"; in
+let version = "0.11pre9692"; in
 
 stdenv.mkDerivation {
   name = "nix-${version}";
   
   src = fetchurl {
     url = "http://nix.cs.uu.nl/dist/nix/nix-${version}/nix-${version}.tar.bz2";
-    md5 = "5170f1b1e8feda2adeb2cac3c5ca5ff9";
+    md5 = "35c0bc68b81d20c7fb925bcf8faf4827";
   };
 
   buildInputs = [perl curl openssl];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 1b31a9e69a00..1cf2c2792ce7 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -147,6 +147,13 @@ rec {
   getVersion = name: alts: builtins.getAttr
     (getConfig [ "environment" "versions" name ] "default") alts;
 
+  # The same, another syntax.
+  # Warning: syntax for configuration.nix changed too
+  useVersion = name: f: f
+  {
+	  version = getConfig [ "environment" "versions" name ];
+  };
+
   # Whether user enabled given feature for the given package?
   getFlag = flag: package: default:
   getConfig [ "environment" "flags" package flag ]
@@ -659,6 +666,11 @@ rec {
     inherit fetchurl stdenv ncurses;
   };
 
+  shebangfix = import ../tools/misc/shebangfix {
+    inherit perl;
+    stdenv = overrideSetup stdenv ../stdenv/generic/setup-new-2.sh;
+  };
+
   smartmontools = import ../tools/system/smartmontools {
     inherit fetchurl stdenv;
   };
@@ -743,7 +755,7 @@ rec {
 
   wv = import ../tools/misc/wv {
     inherit fetchurl stdenv libpng zlib imagemagick
-	pkgconfig libgsf libxml2;
+	pkgconfig libgsf libxml2 bzip2;
     inherit (gtkLibs) glib;
   };
 
@@ -1063,13 +1075,11 @@ rec {
     inherit fetchurl stdenv;
   };
 
-  ocaml = import ../development/compilers/ocaml {
-    inherit fetchurl stdenv x11 ncurses;
-  };
+  ocaml = getVersion  "ocaml" ocaml_alts;
 
-  ocaml3080 = import ../development/compilers/ocaml/ocaml-3.08.0.nix {
-    inherit fetchurl x11;
-    stdenv = overrideGCC stdenv gcc34;
+  ocaml_alts = import ../development/compilers/ocaml {
+    inherit fetchurl stdenv x11 ncurses stdenvUsingSetupNew2;
+	stdenv34 = overrideGCC stdenv gcc34;
   };
 
 /*
@@ -1096,7 +1106,7 @@ rec {
 
   qcmm = import ../development/compilers/qcmm {
     lua   = lua4;
-    ocaml = ocaml3080;
+    ocaml = ocaml_alts.v_3_08_0;
     inherit fetchurl stdenv mk noweb groff;
   };
 
@@ -1202,17 +1212,15 @@ rec {
   };
   */
 
-  python = import ../development/interpreters/python {
-    inherit fetchurl stdenv zlib bzip2;
-  };
+  python = getVersion "python" python_alts;
 
-  python25 = import ../development/interpreters/python/2.5 {
+  python_alts = import ../development/interpreters/python {
     inherit fetchurl stdenv zlib bzip2;
   };
 
   pyrexFun = lib.sumArgs (import ../development/interpreters/pyrex) {
   	inherit fetchurl stdenv stringsWithDeps lib builderDefs;
-	python = python25;
+	python = python_alts.v_2_5;
   };
 
   pyrex = pyrexFun {
@@ -1605,13 +1613,9 @@ rec {
     inherit fetchurl stdenv python;
   };
 
-  cluceneContrib = (import ../development/libraries/clucene-contrib) {
-    inherit fetchurl stdenv cluceneCore;
-   };
-
-   cluceneCore = (import ../development/libraries/clucene-core) {
-     inherit fetchurl stdenv;
-   };
+  cluceneCore = (import ../development/libraries/clucene-core) {
+    inherit fetchurl stdenv;
+  };
 
   coredumper = import ../development/libraries/coredumper {
     inherit fetchurl stdenv;
@@ -1681,6 +1685,13 @@ rec {
     inherit fetchurl stdenv;
   };
 
+  facile = import ../development/libraries/facile {
+	  inherit fetchurl;
+      # Actually, we don't need this version but we need native-code compilation
+	  ocaml = ocaml_alts.v_3_10_0;
+	  stdenv = stdenvUsingSetupNew2;
+  };
+
   ffmpeg = import ../development/libraries/ffmpeg {
     inherit fetchurl stdenv;
   };
@@ -1939,7 +1950,7 @@ rec {
   };
 
   libexif = import ../development/libraries/libexif {
-    inherit fetchurl stdenv;
+    inherit fetchurl stdenv gettext;
   };
 
   libgcrypt = import ../development/libraries/libgcrypt {
@@ -1951,7 +1962,7 @@ rec {
   };
 
   libgphoto2 = import ../development/libraries/libgphoto2 {
-    inherit fetchurl stdenv pkgconfig libusb;
+    inherit fetchurl stdenv pkgconfig libusb libtool libexif libjpeg gettext;
   };
 
   # commented out because it's using the new configuration style proposal which is unstable
@@ -1960,8 +1971,9 @@ rec {
   #};
 
   libgsf = import ../development/libraries/libgsf {
-    inherit fetchurl stdenv perl perlXMLParser pkgconfig libxml2 gettext;
-    inherit (gnome) glib;
+    inherit fetchurl stdenv perl perlXMLParser pkgconfig libxml2 gettext bzip2
+	python;
+    inherit (gnome) glib gnomevfs libbonobo;
   };
 
   libidn = import ../development/libraries/libidn {
@@ -2044,7 +2056,7 @@ rec {
   };
 
   libwpd = import ../development/libraries/libwpd {
-    inherit fetchurl stdenv pkgconfig libgsf libxml2;
+    inherit fetchurl stdenv pkgconfig libgsf libxml2 bzip2;
     inherit (gnome) glib;
   };
 
@@ -2145,7 +2157,7 @@ rec {
   };
 
   openssl = import ../development/libraries/openssl {
-    inherit fetchurl stdenv perl gmp;
+    inherit fetchurl stdenv perl;
   };
 
   pangoxsl = import ../development/libraries/pangoxsl {
@@ -2244,12 +2256,6 @@ rec {
     inherit fetchurl stdenv;
   };
 
-  strigi = import ../development/libraries/strigi {
-	  inherit stdenv fetchurl zlib cluceneCore cluceneContrib expat bzip2
-	  pkgconfig cmake dbus libxml2 perl;
-	  qt = qt4;
-  };
-
   t1lib = import ../development/libraries/t1lib {
     inherit fetchurl stdenv x11;
     inherit (xlibs) libXaw;
@@ -2409,6 +2415,11 @@ rec {
 
   ### DEVELOPMENT / LIBRARIES / HASKELL
 
+  gtk2hs = import ../development/libraries/haskell/gtk2hs {
+    inherit pkgconfig stdenv fetchurl cairo;
+    inherit (gnome) gtk glib GConf libglade libgtkhtml gtkhtml;
+    ghc = ghc661;
+  };
 
   uulib64 = import ../development/libraries/haskell/uulib { # !!! remove?
     inherit stdenv fetchurl ghc;
@@ -3078,6 +3089,11 @@ rec {
   libselinux = import ../os-specific/linux/libselinux {
     inherit fetchurl stdenv libsepol;
   };
+ 
+  libsexy = import ../development/libraries/libsexy {
+    inherit stdenv fetchurl pkgconfig libxml2;
+    inherit (gtkLibs) glib gtk pango;
+  };
 
   librsvg = import ../development/libraries/librsvg {
     inherit fetchurl stdenv;
@@ -3128,6 +3144,11 @@ rec {
     inherit fetchurl stdenv;
   };
 
+  libnotify = import ../development/libraries/libnotify {
+    inherit stdenv fetchurl pkgconfig dbus dbus_glib;
+    inherit (gtkLibs) gtk glib;
+  };
+
   libvolume_id = import ../os-specific/linux/libvolume_id {
     inherit fetchurl stdenv;
   };
@@ -3509,7 +3530,7 @@ rec {
   };
 
   compiz = compizFun {
-    version = getConfig ["compiz" "version"] "0.5.0";
+    version = getConfig ["compiz" "version"] "0.6.2";
     extraConfigureFlags = getConfig ["compiz" "extraConfigureFlags"] [];
   } null;
 
@@ -3578,11 +3599,9 @@ rec {
     inherit (xlibs) libX11;
   };
 
-  /*
-  djview4 = import ../applications/graphics/djview4 {
+  djview4 = import ../applications/graphics/djview {
     inherit fetchurl stdenv qt4 djvulibre;
   };
-  */
 
   eclipse = plugins:
     import ../applications/editors/eclipse {
@@ -3598,7 +3617,7 @@ rec {
 
   elinks = import ../applications/networking/browsers/elinks {
     inherit stdenv fetchurl python perl ncurses x11 zlib openssl spidermonkey
-	guile bzip2 libtool;
+	guile bzip2;
   };
 
   emacs = emacs22;
@@ -3720,7 +3739,7 @@ rec {
   } null;
 
   gphoto2 = import ../applications/misc/gphoto2 {
-    inherit fetchurl stdenv pkgconfig libgphoto2 libexif popt;
+    inherit fetchurl stdenv pkgconfig libgphoto2 libexif popt readline gettext;
   };
 
   gqview = import ../applications/graphics/gqview {
@@ -3789,6 +3808,11 @@ rec {
     inherit (gtkLibs) glib;
   };
 
+  jedit = import ../applications/jedit {
+    inherit fetchurl ant;
+    stdenv = overrideSetup stdenv ../stdenv/generic/setup-new-2.sh;
+  };
+
   joe = import ../applications/editors/joe {
     inherit stdenv fetchurl;
   };
@@ -3961,7 +3985,7 @@ rec {
 
   pythonmagick = import ../applications/graphics/PythonMagick {
     inherit fetchurl stdenv pkgconfig imagemagick boost;
-    python = python25;
+    python = python_alts.v_2_5;
   };
 
   ratpoison = import ../applications/window-managers/ratpoison {
@@ -4344,71 +4368,28 @@ rec {
     qt = qt3;
   };
   
-  kdelibs4 = import ../desktops/kde-4/kdelibs {
-    inherit
-      fetchurl stdenv zlib perl openssl pcre pkgconfig
-      libjpeg libpng libtiff libxml2 libxslt libtool
-	  expat freetype bzip2 cmake strigi shared_mime_info alsaLib libungif cups;
-	inherit (xlibs)
-	  inputproto kbproto scrnsaverproto xextproto xf86miscproto
-	  xf86vidmodeproto xineramaproto xproto libICE libX11 libXau libXcomposite
-	  libXcursor libXdamage libXdmcp libXext libXfixes libXft libXi libXpm
-	  libXrandr libXrender libXScrnSaver libXt libXtst libXv libXxf86misc
-	  libxkbfile;
-    qt = qt4;
-  };
-
-  kdepimlibs4 = import ../desktops/kde-4/kdepimlibs {
-    inherit
-      fetchurl stdenv zlib perl openssl pcre pkgconfig
-      libjpeg libpng libtiff libxml2 libxslt libtool
-	  expat freetype bzip2 cmake strigi shared_mime_info alsaLib libungif cups
-	  boost gpgme;
-	inherit (xlibs)
-	  inputproto kbproto scrnsaverproto xextproto xf86miscproto
-	  xf86vidmodeproto xineramaproto xproto libICE libX11 libXau libXcomposite
-	  libXcursor libXdamage libXdmcp libXext libXfixes libXft libXi libXpm
-	  libXrandr libXrender libXScrnSaver libXt libXtst libXv libXxf86misc
-	  libxkbfile;
-    qt = qt4;
-	kdelibs = kdelibs4;
-  };
-
-  kdepim4 = import ../desktops/kde-4/kdepim {
+  kde4 = recurseIntoAttrs (import ../desktops/kde-4 {
     inherit
-      fetchurl stdenv zlib perl openssl pcre pkgconfig
-      libjpeg libpng libtiff libxml2 libxslt libtool libusb
-	  expat freetype bzip2 cmake strigi shared_mime_info alsaLib libungif cups
-	  mesa gpgme boost;
-	inherit (xlibs)
-	  inputproto kbproto scrnsaverproto xextproto xf86miscproto
-	  xf86vidmodeproto xineramaproto xproto libICE libX11 libXau libXcomposite
-	  libXcursor libXdamage libXdmcp libXext libXfixes libXft libXi libXpm
-	  libXrandr libXrender libXScrnSaver libXt libXtst libXv libXxf86misc
-	  libxkbfile libXinerama;
-	inherit (gtkLibs) glib;
-    qt = qt4;
-	kdelibs = kdelibs4;
-	kdepimlibs = kdepimlibs4;
-  };
-
-  kdebase4 = import ../desktops/kde-4/kdebase {
-    inherit
-      fetchurl stdenv zlib perl openssl pcre pkgconfig
-      libjpeg libpng libtiff libxml2 libxslt libtool libusb
-	  expat freetype bzip2 cmake strigi shared_mime_info alsaLib libungif cups
-	  mesa;
-	inherit (xlibs)
-	  inputproto kbproto scrnsaverproto xextproto xf86miscproto
-	  xf86vidmodeproto xineramaproto xproto libICE libX11 libXau libXcomposite
-	  libXcursor libXdamage libXdmcp libXext libXfixes libXft libXi libXpm
-	  libXrandr libXrender libXScrnSaver libXt libXtst libXv libXxf86misc
-	  libxkbfile libXinerama;
-	inherit (gtkLibs) glib;
+      fetchurl fetchsvn zlib perl openssl pcre pkgconfig libjpeg libpng libtiff
+      libxml2 libxslt libtool libusb expat freetype bzip2 cmake cluceneCore libgcrypt gnupg
+	  cppunit cyrus_sasl openldap enchant openexr exiv2 samba nss log4cxx aspell
+      shared_mime_info alsaLib libungif cups mesa boost gpgme gettext redland
+	  xineLib libgphoto2 djvulibre libogg flac lame libvorbis poppler readline
+	  saneBackends chmlib python libzip gmp sqlite libidn runCommand lib
+	  openbabel ocaml facile;
+	stdenv = stdenvUsingSetupNew2;
+	cdparanoia = cdparanoiaIII;
+    inherit (xlibs)
+      inputproto kbproto scrnsaverproto xextproto xf86miscproto
+      xf86vidmodeproto xineramaproto xproto libICE libX11 libXau libXcomposite
+      libXcursor libXdamage libXdmcp libXext libXfixes libXft libXi libXpm
+      libXrandr libXrender libXScrnSaver libXt libXtst libXv libXxf86misc
+      libxkbfile libXinerama;
+    inherit (gtkLibs) glib;
     qt = qt4;
-	kdelibs = kdelibs4;
-	kdepimlibs = kdepimlibs4;
-  };
+	dbus = dbus_alts.withX11;
+	bison = bison23;
+  });
 
   kdebase = import ../desktops/kde/kdebase {
     inherit
@@ -4520,6 +4501,18 @@ rec {
     db4 = db45;
   };
 
+  nixCustomFun = src: preConfigure: configureFlags :
+  (import ../tools/package-management/nix/custom.nix {
+    inherit fetchurl stdenv perl curl bzip2 openssl src preConfigure automake 
+        autoconf libtool configureFlags;
+    bison = bison23;
+    flex = flex2533;
+    aterm = aterm242fixes;
+    db4 = db45;
+    inherit docbook5_xsl libxslt docbook5 docbook_xml_dtd_43 w3m;
+
+  });
+
   ntfs3g = import ../misc/ntfs-3g {
     inherit fetchurl stdenv fuse pkgconfig;
   };
diff --git a/pkgs/top-level/builder-defs.nix b/pkgs/top-level/builder-defs.nix
index 3337d6dc8a23..ae5224f71011 100644
--- a/pkgs/top-level/builder-defs.nix
+++ b/pkgs/top-level/builder-defs.nix
@@ -1,5 +1,5 @@
 args: with args; with stringsWithDeps; with lib;
-rec
+(rec
 {
 	inherit writeScript; 
 
@@ -12,30 +12,29 @@ rec
 		else if (hasSuffixHack ".zip" s) || (hasSuffixHack ".ZIP" s) then "zip"
 		else (abort "unknown archive type : ${s}"));
 
-	minInit = noDepEntry ("
-		set -e
-		NIX_GCC=${stdenv.gcc}
-		export SHELL=${stdenv.shell}
-		# Set up the initial path.
-		PATH=
-		for i in \$NIX_GCC ${toString stdenv.initialPath}; do
-		    PATH=\$PATH\${PATH:+:}\$i/bin
-		done
-	" + (if ((stdenv ? preHook) && (stdenv.preHook != null) && 
-			((toString stdenv.preHook) != "")) then 
-		"
-		param1=${stdenv.param1}
-		param2=${stdenv.param2}
-		param3=${stdenv.param3}
-		param4=${stdenv.param4}
-		param5=${stdenv.param5}
-		source ${stdenv.preHook}
-
-		export TZ=UTC
-
-		prefix=${if args ? prefix then (toString args.prefix) else "\$out"}
+	defAddToSearchPath = FullDepEntry ("
+		addToSearchPathWithCustomDelimiter() {
+			local delimiter=\$1
+			local varName=\$2
+			local needDir=\$3
+			local addDir=\${4:-\$needDir}
+			local prefix=\$5
+			if [ -d \$prefix\$needDir ]; then
+				if [ -z \${!varName} ]; then
+					eval export \${varName}=\${prefix}\$addDir
+				else
+					eval export \${varName}=\${!varName}\${delimiter}\${prefix}\$addDir
+				fi
+			fi
+		}
 
+		addToSearchPath()
+		{
+			addToSearchPathWithCustomDelimiter \"\${PATH_DELIMITER}\" \"\$@\"
+		}
+	") [defNest];
 
+	defNest = noDepEntry ("
 		nestingLevel=0
 
 		startNest() {
@@ -62,10 +61,33 @@ rec
 		}
 
 		trap \"closeNest\" EXIT
+	");
+
+	minInit = FullDepEntry ("
+		set -e
+		NIX_GCC=${stdenv.gcc}
+		export SHELL=${stdenv.shell}
+		# Set up the initial path.
+		PATH=
+		for i in \$NIX_GCC ${toString stdenv.initialPath}; do
+		    PATH=\$PATH\${PATH:+:}\$i/bin
+		done
+	" + (if ((stdenv ? preHook) && (stdenv.preHook != null) && 
+			((toString stdenv.preHook) != "")) then 
+		"
+		param1=${stdenv.param1}
+		param2=${stdenv.param2}
+		param3=${stdenv.param3}
+		param4=${stdenv.param4}
+		param5=${stdenv.param5}
+		source ${stdenv.preHook}
 
+		export TZ=UTC
+
+		prefix=${if args ? prefix then (toString args.prefix) else "\$out"}
 
 		"
-	else ""));
+	else "")) [defNest defAddToSearchPath];
 		
 	addInputs = FullDepEntry ("
 		# Recursively find all build inputs.
@@ -243,8 +265,8 @@ rec
 	replaceInScript = file: l: (concatStringsSep "\n" ((pairMap (replaceScriptVar file) l)));
 	replaceScripts = l:(concatStringsSep "\n" (pairMap replaceInScript l));
 	doReplaceScripts = FullDepEntry (replaceScripts (getAttr ["shellReplacements"] [] args)) [minInit];
-	makeNest = x:(if x==minInit.text then x else "startNest\n" + x + "\nstopNest\n");
+	makeNest = x:(if x==defNest.text then x else "startNest\n" + x + "\nstopNest\n");
 	textClosure = textClosureMap makeNest;
 
 	inherit noDepEntry FullDepEntry PackEntry;
-}
+}) // args