Adding some kind of build expression for money manager ex.
[nixpkgs-libre.git] / pkgs / top-level / all-packages.nix
blob420a770ec7e449d187221cfc2d3ba64252f0d518
1 /* This file composes the Nix Packages collection.  That is, it
2    imports the functions that build the various packages, and calls
3    them with appropriate arguments.  The result is a set of all the
4    packages in the Nix Packages collection for some particular
5    platform.
7    You want to get to know where to add a new package ?
8    Have a look at nixpkgs/maintainers/docs/classification.txt */
11 { # The system (e.g., `i686-linux') for which to build the packages.
12   system ? builtins.currentSystem
14   # Usually, the system type uniquely determines the stdenv and thus
15   # how to build the packages.  But on some platforms we have
16   # different stdenvs, leading to different ways to build the
17   # packages.  For instance, on Windows we support both Cygwin and
18   # Mingw builds.  In both cases, `system' is `i686-cygwin'.  The
19   # attribute `stdenvType' is used to select the specific kind of
20   # stdenv to use, e.g., `i686-mingw'.
21 , stdenvType ? system
23 , # The standard environment to use.  Only used for bootstrapping.  If
24   # null, the default standard environment is used.
25   bootStdenv ? null
27   # More flags for the bootstrapping of stdenv.
28 , noSysDirs ? true
29 , gccWithCC ? true
30 , gccWithProfiling ? true
32 , # Allow a configuration attribute set to be passed in as an
33   # argument.  Otherwise, it's read from $NIXPKGS_CONFIG or
34   # ~/.nixpkgs/config.nix.
35   config ? null
39 let config_ = config; in # rename the function argument
41 let
43   lib = import ../lib; # see also libTests below
45   # The contents of the configuration file found at $NIXPKGS_CONFIG or
46   # $HOME/.nixpkgs/config.nix.
47   # for NIXOS (nixos-rebuild): use nixpkgs.config option
48   config =
49     let
50       toPath = builtins.toPath;
51       getEnv = x: if builtins ? getEnv then builtins.getEnv x else "";
52       pathExists = name:
53         builtins ? pathExists && builtins.pathExists (toPath name);
55       configFile = getEnv "NIXPKGS_CONFIG";
56       homeDir = getEnv "HOME";
57       configFile2 = homeDir + "/.nixpkgs/config.nix";
59       configExpr =
60         if config_ != null then config_
61         else if configFile != "" && pathExists configFile then import (toPath configFile)
62         else if homeDir != "" && pathExists configFile2 then import (toPath configFile2)
63         else {};
65     in
66       # allow both:
67       # { /* the config */ } and
68       # { pkgsOrig, pkgs, ... } : { /* the config */ }
69       if builtins.isFunction configExpr
70         then configExpr { inherit pkgs pkgsOrig; }
71         else configExpr;
73   # Return an attribute from the Nixpkgs configuration file, or
74   # a default value if the attribute doesn't exist.
75   getConfig = attrPath: default: lib.attrByPath attrPath default config;
78   # Helper functions that are exported through `pkgs'.
79   helperFunctions =
80     stdenvAdapters //
81     (import ../build-support/trivial-builders.nix { inherit (pkgs) stdenv; inherit (pkgs.xorg) lndir; });
83   stdenvAdapters =
84     import ../stdenv/adapters.nix { inherit (pkgs) dietlibc fetchurl runCommand; };
87   # Allow packages to be overriden globally via the `packageOverrides'
88   # configuration option, which must be a function that takes `pkgs'
89   # as an argument and returns a set of new or overriden packages.
90   # `__overrides' is a magic attribute that causes the attributes in
91   # its value to be added to the surrounding `rec'.  The
92   # `packageOverrides' function is called with the *original*
93   # (un-overriden) set of packages, allowing packageOverrides
94   # attributes to refer to the original attributes (e.g. "foo =
95   # ... pkgs.foo ...").
96   __overrides = (getConfig ["packageOverrides"] (pkgs: {})) pkgsOrig;
98   pkgsOrig = pkgsFun {}; # the un-overriden packages, passed to packageOverrides
99   pkgsOverriden = pkgsFun __overrides; # the overriden, final packages
100   pkgs = pkgsOverriden // helperFunctions;
103   # The package compositions.  Yes, this isn't properly indented.
104   pkgsFun = __overrides: with helperFunctions; rec {
106   # override system. This is useful to build i686 packages on x86_64-linux
107   forceSystem = system: (import ./all-packages.nix) {
108     inherit system;
109     inherit bootStdenv noSysDirs gccWithCC gccWithProfiling config;
110   };
112   # used by wine, firefox with debugging version of Flash, ..
113   pkgsi686Linux = forceSystem "i686-linux";
115   inherit __overrides;
118   # For convenience, allow callers to get the path to Nixpkgs.
119   path = ../..;
122   ### Symbolic names.
125   x11 = xlibsWrapper;
127   # `xlibs' is the set of X library components.  This used to be the
128   # old modular X libraries project (called `xlibs') but now it's just
129   # the set of packages in the modular X.org tree (which also includes
130   # non-library components like the server, drivers, fonts, etc.).
131   xlibs = xorg // {xlibs = xlibsWrapper;};
134   ### Helper functions.
137   inherit lib config getConfig stdenvAdapters;
139   inherit (lib) lowPrio appendToName makeOverridable;
141   # Applying this to an attribute set will cause nix-env to look
142   # inside the set for derivations.
143   recurseIntoAttrs = attrs: attrs // {recurseForDerivations = true;};
145   useFromStdenv = it : alternative : if (builtins.hasAttr it stdenv) then
146     (builtins.getAttr it stdenv) else alternative;
148   # Return the first available value in the order: pkg.val, val, or default.
149   getPkgConfig = pkg : val : default : (getConfig [ pkg val ] (getConfig [ val ] default));
151   # Check absence of non-used options
152   checker = x: flag: opts: config:
153     (if flag then let result=(
154       (import ../build-support/checker)
155       opts config); in
156       (if (result=="") then x else
157       abort ("Unknown option specified: " + result))
158     else x);
160   builderDefs = composedArgsAndFun (import ../build-support/builder-defs/builder-defs.nix) {
161     inherit stringsWithDeps lib stdenv writeScript
162       fetchurl fetchmtn fetchgit;
163   };
165   composedArgsAndFun = lib.composedArgsAndFun;
167   builderDefsPackage = builderDefs.builderDefsPackage builderDefs;
169   stringsWithDeps = lib.stringsWithDeps;
172   ### STANDARD ENVIRONMENT
175   allStdenvs = import ../stdenv {
176     inherit system stdenvType;
177     allPackages = args: import ./all-packages.nix ({ inherit config; } // args);
178   };
180   defaultStdenv = allStdenvs.stdenv;
182   stdenv =
183     if bootStdenv != null then bootStdenv else
184       let changer = getConfig ["replaceStdenv"] null;
185       in if changer != null then
186         changer {
187           stdenv = defaultStdenv;
188           overrideSetup = overrideSetup;
189         }
190       else defaultStdenv;
192   # A stdenv capable of building 32-bit binaries.  On x86_64-linux,
193   # it uses GCC compiled with multilib support; on i686-linux, it's
194   # just the plain stdenv.
195   stdenv_32bit =
196     if system == "x86_64-linux" then
197       overrideGCC stdenv gcc43_multi
198     else
199       stdenv;
202   ### BUILD SUPPORT
204   attrSetToDir = arg : import ../build-support/upstream-updater/attrset-to-dir.nix {
205     inherit writeTextFile stdenv lib;
206     theAttrSet = arg;
207   };
209   buildEnv = import ../build-support/buildenv {
210     inherit stdenv perl;
211   };
213   debPackage = {
214     debBuild = lib.sumTwoArgs(import ../build-support/deb-package) {
215       inherit builderDefs;
216     };
217     inherit fetchurl stdenv;
218   };
220   fetchbzr = import ../build-support/fetchbzr {
221     inherit stdenv bazaar;
222   };
224   fetchcvs = import ../build-support/fetchcvs {
225     inherit stdenv cvs;
226   };
228   fetchdarcs = import ../build-support/fetchdarcs {
229     inherit stdenv darcs nix;
230   };
232   fetchgit = import ../build-support/fetchgit {
233     inherit stdenv git;
234   };
236   fetchmtn = import ../build-support/fetchmtn {
237     inherit monotone stdenv;
238     cacheDB = getConfig ["fetchmtn" "cacheDB"] "";
239     defaultDBMirrors = getConfig ["fetchmtn" "defaultDBMirrors"] [];
240   };
242   fetchsvn = import ../build-support/fetchsvn {
243     inherit stdenv subversion openssh;
244     sshSupport = true;
245   };
247   fetchsvnssh = import ../build-support/fetchsvnssh {
248     inherit stdenv subversion openssh expect;
249     sshSupport = true;
250   };
252   fetchhg = import ../build-support/fetchhg {
253     inherit stdenv mercurial nix;
254   };
256   # `fetchurl' downloads a file from the network.  The `useFromStdenv'
257   # is there to allow stdenv to determine fetchurl.  Used during the
258   # stdenv-linux bootstrap phases to prevent lots of different curls
259   # from being built.
260   fetchurl = useFromStdenv "fetchurl"
261     (import ../build-support/fetchurl {
262       inherit curl stdenv;
263     });
265   # fetchurlBoot is used for curl and its dependencies in order to
266   # prevent a cyclic dependency (curl depends on curl.tar.bz2,
267   # curl.tar.bz2 depends on fetchurl, fetchurl depends on curl).  It
268   # uses the curl from the previous bootstrap phase (e.g. a statically
269   # linked curl in the case of stdenv-linux).
270   fetchurlBoot = stdenv.fetchurlBoot;
272   resolveMirrorURLs = {url}: fetchurl {
273     showURLs = true;
274     inherit url;
275   };
277   makeDesktopItem = import ../build-support/make-desktopitem {
278     inherit stdenv;
279   };
281   makeInitrd = {contents}: import ../build-support/kernel/make-initrd.nix {
282     inherit stdenv perl cpio contents;
283   };
285   makeWrapper = makeSetupHook ../build-support/make-wrapper/make-wrapper.sh;
287   makeModulesClosure = {kernel, rootModules, allowMissing ? false}:
288     import ../build-support/kernel/modules-closure.nix {
289       inherit stdenv module_init_tools kernel nukeReferences
290         rootModules allowMissing;
291     };
293   pathsFromGraph = ../build-support/kernel/paths-from-graph.pl;
295   srcOnly = args: (import ../build-support/src-only) ({inherit stdenv; } // args);
297   substituteAll = import ../build-support/substitute/substitute-all.nix {
298     inherit stdenv;
299   };
301   nukeReferences = import ../build-support/nuke-references/default.nix {
302     inherit stdenv;
303   };
305   vmTools = import ../build-support/vm/default.nix {
306     inherit pkgs;
307   };
309   releaseTools = import ../build-support/release/default.nix {
310     inherit pkgs;
311   };
313   composableDerivation = (import ../lib/composable-derivation.nix) {
314     inherit pkgs lib;
315   };
318   ### TOOLS
320   acct = import ../tools/system/acct {
321     inherit fetchurl stdenv;
322   };
324   aefs = import ../tools/filesystems/aefs {
325     inherit fetchurl stdenv fuse;
326   };
328   aircrackng = import ../tools/networking/aircrack-ng {
329     inherit fetchurl stdenv libpcap openssl zlib wirelesstools;
330   };
332   ec2apitools = import ../tools/virtualization/amazon-ec2-api-tools {
333     inherit stdenv fetchurl unzip makeWrapper jre;
334   };
336   ec2amitools = import ../tools/virtualization/amazon-ec2-ami-tools {
337     inherit stdenv fetchurl unzip makeWrapper ruby openssl;
338   };
340   amule = import ../tools/networking/p2p/amule {
341     inherit fetchurl stdenv zlib perl cryptopp gettext libupnp makeWrapper;
342     inherit wxGTK;
343   };
345   aria = builderDefsPackage (import ../tools/networking/aria) {
346   };
348   at = import ../tools/system/at {
349     inherit fetchurl stdenv bison flex pam ssmtp;
350   };
352   autogen = import ../development/tools/misc/autogen {
353     inherit fetchurl stdenv guile which;
354   };
356   autojump = import ../tools/misc/autojump {
357     inherit fetchurl stdenv python;
358   };
360   avahi =
361     let qt4Support = getConfig [ "avahi" "qt4Support" ] false;
362     in
363       makeOverridable (import ../development/libraries/avahi) {
364         inherit stdenv fetchurl pkgconfig libdaemon dbus perl perlXMLParser
365           expat gettext intltool lib;
366         inherit (gtkLibs) glib gtk;
367         inherit qt4Support;
368         qt4 = if qt4Support then qt4 else null;
369       };
371   axel = import ../tools/networking/axel {
372     inherit fetchurl stdenv;
373   };
375   azureus = import ../tools/networking/p2p/azureus {
376     inherit fetchurl stdenv jdk swt;
377   };
379   bc = import ../tools/misc/bc {
380     inherit fetchurl stdenv flex readline;
381   };
383   bfr = import ../tools/misc/bfr {
384     inherit fetchurl stdenv perl;
385   };
387   bootchart = import ../tools/system/bootchart {
388     inherit fetchurl stdenv gnutar gzip coreutils utillinux gnugrep gnused psmisc nettools;
389   };
391   btrfsProgs = builderDefsPackage (import ../tools/filesystems/btrfsprogs) {
392     inherit libuuid zlib acl;
393   };
395   eggdrop = import ../tools/networking/eggdrop {
396     inherit fetchurl stdenv tcl;
397   };
399   mcrl = import ../tools/misc/mcrl {
400     inherit fetchurl stdenv coreutils;
401   };
403   mcrl2 = import ../tools/misc/mcrl2 {
404     inherit fetchurl stdenv mesa ;
405     inherit (xorg) libX11;
406     inherit wxGTK;
407   };
409   syslogng = import ../tools/misc/syslog-ng {
410     inherit fetchurl stdenv eventlog pkgconfig glib;
411   };
413   asciidoc = import ../tools/typesetting/asciidoc {
414     inherit fetchurl stdenv python;
415   };
417   bibtextools = import ../tools/typesetting/bibtex-tools {
418     inherit fetchurl stdenv aterm tetex hevea;
419     inherit (strategoPackages016) strategoxt sdf;
420   };
422   bittorrent = import ../tools/networking/p2p/bittorrent {
423     inherit fetchurl stdenv makeWrapper python pycrypto twisted;
424     wxPython = wxPython26;
425     gui = true;
426   };
428   bittornado = import ../tools/networking/p2p/bit-tornado {
429     inherit fetchurl stdenv python wxPython26;
430   };
432   bmrsa = builderDefsPackage (import ../tools/security/bmrsa/11.nix) {
433     inherit unzip;
434   };
436   bogofilter = import ../tools/misc/bogofilter {
437     inherit fetchurl stdenv flex;
438     bdb = db4;
439   };
441   bsdiff = import ../tools/compression/bsdiff {
442     inherit fetchurl stdenv;
443   };
445   ncompress = import ../tools/compression/ncompress {
446     inherit fetchurl stdenv;
447   };
449   bzip2 = useFromStdenv "bzip2"
450     (import ../tools/compression/bzip2 {
451       inherit fetchurl stdenv;
452     });
454   cabextract = import ../tools/archivers/cabextract {
455     inherit fetchurl stdenv;
456   };
458   ccid = import ../tools/security/ccid {
459     inherit fetchurl stdenv pcsclite libusb pkgconfig perl;
460   };
462   ccrypt = import ../tools/security/ccrypt {
463     inherit fetchurl stdenv;
464   };
466   cdecl = import ../development/tools/cdecl {
467     inherit fetchurl stdenv yacc flex readline ncurses;
468   };
470   cdrdao = import ../tools/cd-dvd/cdrdao {
471     inherit fetchurl stdenv lame libvorbis libmad pkgconfig libao;
472   };
474   cdrkit = import ../tools/cd-dvd/cdrkit {
475     inherit fetchurl stdenv cmake libcap zlib bzip2;
476   };
478   checkinstall = import ../tools/package-management/checkinstall {
479     inherit fetchurl stdenv gettext;
480   };
482   cheetahTemplate = builderDefsPackage (import ../tools/text/cheetah-template/2.0.1.nix) {
483     inherit makeWrapper python;
484   };
486   chkrootkit = import ../tools/security/chkrootkit {
487     inherit fetchurl stdenv;
488   };
490   cksfv = import ../tools/networking/cksfv {
491     inherit fetchurl stdenv;
492   };
494   convertlit = import ../tools/text/convertlit {
495     inherit fetchurl stdenv unzip libtommath;
496   };
498   unifdef = import ../development/tools/misc/unifdef {
499     inherit fetchurl stdenv;
500   };
502   cloogppl = import ../development/libraries/cloog-ppl {
503     inherit fetchurl stdenv ppl;
504   };
506   coreutils = useFromStdenv "coreutils"
507     (makeOverridable (if stdenv ? isDietLibC
508       then import ../tools/misc/coreutils-5
509       else import ../tools/misc/coreutils)
510     {
511       inherit fetchurl stdenv acl;
512       aclSupport = stdenv.isLinux;
513     });
515   cpio = import ../tools/archivers/cpio {
516     inherit fetchurl stdenv;
517   };
519   cromfs = import ../tools/archivers/cromfs {
520     inherit fetchurl stdenv pkgconfig fuse perl;
521   };
523   cron = import ../tools/system/cron { # see also fcron
524     inherit fetchurl stdenv;
525   };
527   curl = import ../tools/networking/curl {
528     fetchurl = fetchurlBoot;
529     inherit stdenv zlib openssl;
530     zlibSupport = ! ((stdenv ? isDietLibC) || (stdenv ? isStatic));
531     sslSupport = ! ((stdenv ? isDietLibC) || (stdenv ? isStatic));
532   };
534   curlftpfs = import ../tools/filesystems/curlftpfs {
535     inherit fetchurl stdenv fuse curl pkgconfig zlib glib;
536   };
538   dadadodo = builderDefsPackage (import ../tools/text/dadadodo) {
539   };
541   dar = import ../tools/archivers/dar {
542     inherit fetchurl stdenv zlib bzip2 openssl;
543   };
545   davfs2 = import ../tools/filesystems/davfs2 {
546     inherit fetchurl stdenv zlib;
547     neon = neon028;
548   };
550   dcraw = import ../tools/graphics/dcraw {
551     inherit fetchurl stdenv gettext libjpeg lcms;
552   };
554   debootstrap = import ../tools/misc/debootstrap {
555     inherit fetchurl stdenv lib dpkg gettext gawk wget perl;
556   };
558   ddclient = import ../tools/networking/ddclient {
559     inherit fetchurl buildPerlPackage perl;
560   };
562   ddrescue = import ../tools/system/ddrescue {
563     inherit fetchurl stdenv;
564   };
566   desktop_file_utils = import ../tools/misc/desktop-file-utils {
567     inherit stdenv fetchurl pkgconfig glib;
568   };
570   dev86 = import ../development/compilers/dev86 {
571     inherit fetchurl stdenv;
572   };
574   dnsmasq = import ../tools/networking/dnsmasq {
575     # TODO i18n can be installed as well, implement it?
576     inherit fetchurl stdenv;
577   };
579   dhcp = import ../tools/networking/dhcp {
580     inherit fetchurl stdenv nettools iputils iproute makeWrapper;
581   };
583   dhcpcd = import ../tools/networking/dhcpcd {
584     inherit fetchurl stdenv;
585   };
587   diffstat = import ../tools/text/diffstat {
588     inherit fetchurl stdenv;
589   };
591   diffutils = useFromStdenv "diffutils"
592     (import ../tools/text/diffutils {
593       inherit fetchurl stdenv coreutils;
594     });
596   docbook2x = import ../tools/typesetting/docbook2x {
597     inherit fetchurl stdenv texinfo perl
598             gnused groff libxml2 libxslt makeWrapper;
599     inherit (perlPackages) XMLSAX XMLParser XMLNamespaceSupport;
600     libiconv = if stdenv.isDarwin then libiconv else null;
601   };
603   dosfstools = composedArgsAndFun (import ../tools/filesystems/dosfstools) {
604     inherit builderDefs;
605   };
607   dvdplusrwtools = import ../tools/cd-dvd/dvd+rw-tools {
608     inherit fetchurl stdenv cdrkit m4;
609   };
611   e2fsprogs = import ../tools/filesystems/e2fsprogs {
612     inherit fetchurl stdenv pkgconfig libuuid;
613   };
615   ecryptfs = import ../tools/security/ecryptfs {
616     inherit fetchurl stdenv fuse python perl keyutils pam nss nspr;
617   };
619   enblendenfuse = import ../tools/graphics/enblend-enfuse {
620     inherit fetchurl stdenv libtiff libpng lcms libxmi boost;
621   };
623   enscript = import ../tools/text/enscript {
624     inherit fetchurl stdenv;
625   };
627   eprover = composedArgsAndFun (import ../tools/misc/eProver) {
628     inherit fetchurl stdenv which;
629     texLive = texLiveAggregationFun {
630       paths = [
631         texLive texLiveExtra
632       ];
633     };
634   };
636   ethtool = import ../tools/misc/ethtool {
637     inherit fetchurl stdenv;
638   };
640   exif = import ../tools/graphics/exif {
641     inherit fetchurl stdenv pkgconfig libexif popt;
642   };
644   exiftags = import ../tools/graphics/exiftags {
645     inherit stdenv fetchurl;
646   };
648   expect = import ../tools/misc/expect {
649     inherit fetchurl stdenv tcl tk autoconf;
650     inherit (xorg) xproto libX11;
651   };
653   fcron = import ../tools/system/fcron { # see also cron
654     inherit fetchurl stdenv perl;
655   };
657   fdisk = import ../tools/system/fdisk {
658     inherit fetchurl stdenv parted libuuid gettext;
659   };
661   figlet = import ../tools/misc/figlet {
662     inherit fetchurl stdenv;
663   };
665   file = import ../tools/misc/file {
666     inherit fetchurl stdenv;
667   };
669   filelight = import ../tools/system/filelight {
670     inherit fetchurl stdenv kdelibs x11 zlib perl libpng;
671     qt = qt3;
672   };
674   findutils = useFromStdenv "findutils"
675     (if stdenv.isDarwin then findutils4227 else
676       import ../tools/misc/findutils {
677         inherit fetchurl stdenv coreutils;
678       }
679     );
681   findutils4227 = import ../tools/misc/findutils/4.2.27.nix {
682     inherit fetchurl stdenv coreutils;
683   };
685   findutilsWrapper = lowPrio (appendToName "wrapper" (import ../tools/misc/findutils-wrapper {
686     inherit stdenv findutils;
687   }));
689   finger_bsd = import ../tools/networking/bsd-finger {
690     inherit fetchurl stdenv;
691   };
693   fontforge = import ../tools/misc/fontforge {
694     inherit fetchurl stdenv gettext freetype zlib
695       libungif libpng libjpeg libtiff libxml2 lib;
696   };
698   fontforgeX = import ../tools/misc/fontforge {
699     inherit fetchurl stdenv gettext freetype zlib
700       libungif libpng libjpeg libtiff libxml2 lib;
701     inherit (xlibs) libX11 xproto libXt;
702   };
704   dos2unix = import ../tools/text/dos2unix {
705       inherit fetchurl stdenv;
706   };
708   unix2dos = import ../tools/text/unix2dos {
709       inherit fetchurl stdenv;
710   };
712   gawk = useFromStdenv "gawk"
713     (import ../tools/text/gawk {
714       inherit fetchurl stdenv;
715     });
717   gdmap = composedArgsAndFun (import ../tools/system/gdmap/0.8.1.nix) {
718     inherit stdenv fetchurl builderDefs pkgconfig libxml2 intltool
719       gettext;
720     inherit (gtkLibs) gtk;
721   };
723   genext2fs = import ../tools/filesystems/genext2fs {
724     inherit fetchurl stdenv;
725   };
727   gengetopt = import ../development/tools/misc/gengetopt {
728     inherit fetchurl stdenv;
729   };
731   getopt = import ../tools/misc/getopt {
732     inherit fetchurl stdenv;
733   };
735   gftp = import ../tools/networking/gftp {
736     inherit lib fetchurl stdenv;
737     inherit readline ncurses gettext openssl pkgconfig;
738     inherit (gtkLibs) glib gtk;
739   };
741   gifsicle = import ../tools/graphics/gifscile {
742     inherit fetchurl stdenv;
743     inherit (xlibs) xproto libXt libX11;
744   };
746   glusterfs = builderDefsPackage ../tools/filesystems/glusterfs {
747     inherit fuse;
748     bison = bison24;
749     flex = flex2535;
750   };
752   glxinfo = import ../tools/graphics/glxinfo {
753     inherit fetchurl stdenv x11 mesa;
754   };
756   gnokii = builderDefsPackage (import ../tools/misc/gnokii) {
757     inherit intltool perl gettext libusb;
758   };
760   gnugrep = useFromStdenv "gnugrep"
761     (import ../tools/text/gnugrep {
762       inherit fetchurl stdenv pcre;
763     });
765   gnupatch = useFromStdenv "patch" (import ../tools/text/gnupatch {
766     inherit fetchurl stdenv;
767   });
769   gnupg = import ../tools/security/gnupg {
770     inherit fetchurl stdenv readline;
771     ideaSupport = getPkgConfig "gnupg" "idea" false; # enable for IDEA crypto support
772   };
774   gnupg2 = import ../tools/security/gnupg2 {
775     inherit fetchurl stdenv readline libgpgerror libgcrypt libassuan pth libksba zlib;
776     openldap = if getPkgConfig "gnupg" "ldap" true then openldap else null;
777     bzip2 = if getPkgConfig "gnupg" "bzip2" true then bzip2 else null;
778     libusb = if getPkgConfig "gnupg" "usb" true then libusb else null;
779     curl = if getPkgConfig "gnupg" "curl" true then curl else null;
780   };
782   gnuplot = import ../tools/graphics/gnuplot {
783     inherit fetchurl stdenv zlib gd texinfo readline emacs;
784     inherit (xlibs) libX11 libXt libXaw libXpm;
785     x11Support = getPkgConfig "gnuplot" "x11" false;
786     wxGTK = if getPkgConfig "gnuplot" "wxGtk" false then wxGTK else null;
787     inherit (gtkLibs) pango;
788     inherit cairo pkgconfig;
789   };
791   gnused = useFromStdenv "gnused"
792     (import ../tools/text/gnused {
793       inherit fetchurl stdenv;
794     });
796   gnused_4_2 = import ../tools/text/gnused/4.2.nix {
797     inherit fetchurl stdenv;
798   };
800   gnutar = useFromStdenv "gnutar"
801     (import ../tools/archivers/gnutar {
802       inherit fetchurl stdenv;
803     });
805   gnuvd = import ../tools/misc/gnuvd {
806     inherit fetchurl stdenv;
807   };
809   graphviz = import ../tools/graphics/graphviz {
810     inherit fetchurl stdenv pkgconfig libpng libjpeg expat x11 yacc
811       libtool fontconfig gd;
812     inherit (xlibs) libXaw;
813     inherit (gtkLibs) pango;
814   };
816   groff = import ../tools/text/groff {
817     inherit fetchurl stdenv perl;
818     ghostscript = null;
819   };
821   grub = import ../tools/misc/grub {
822     inherit fetchurl autoconf automake;
823     stdenv = stdenv_32bit;
824     buggyBiosCDSupport = (getConfig ["grub" "buggyBiosCDSupport"] true);
825   };
827   grub2 = import ../tools/misc/grub/1.9x.nix {
828     inherit stdenv fetchurl bison ncurses libusb freetype;
829   };
831   gssdp = import ../development/libraries/gssdp {
832     inherit fetchurl stdenv pkgconfig libxml2 glib;
833     inherit (gnome) libsoup;
834   };
836   gtkgnutella = import ../tools/networking/p2p/gtk-gnutella {
837     inherit fetchurl stdenv pkgconfig libxml2;
838     inherit (gtkLibs) glib gtk;
839   };
841   gupnp = import ../development/libraries/gupnp {
842     inherit fetchurl stdenv pkgconfig libxml2 gssdp e2fsprogs glib;
843     inherit (gnome) libsoup;
844   };
846   gupnptools = import ../tools/networking/gupnp-tools {
847     inherit fetchurl stdenv gssdp gupnp pkgconfig libxml2 e2fsprogs;
848     inherit (gtkLibs) gtk glib;
849     inherit (gnome) libsoup libglade gnomeicontheme;
850   };
852   gvpe = builderDefsPackage ../tools/networking/gvpe {
853     inherit openssl gmp nettools iproute;
854   };
856   gzip = useFromStdenv "gzip"
857     (import ../tools/compression/gzip {
858       inherit fetchurl stdenv;
859     });
861   pigz = import ../tools/compression/pigz {
862     inherit fetchurl stdenv zlib;
863   };
865   halibut = import ../tools/typesetting/halibut {
866     inherit fetchurl stdenv perl;
867   };
869   hddtemp = import ../tools/misc/hddtemp {
870     inherit fetchurl stdenv;
871   };
873   hevea = import ../tools/typesetting/hevea {
874     inherit fetchurl stdenv ocaml;
875   };
877   highlight = import ../tools/text/highlight {
878     inherit fetchurl stdenv getopt;
879   };
881   host = import ../tools/networking/host {
882     inherit fetchurl stdenv;
883   };
885   iasl = import ../development/compilers/iasl {
886     inherit fetchurl stdenv bison flex;
887   };
889   idutils = import ../tools/misc/idutils {
890     inherit fetchurl stdenv emacs;
891   };
893   iftop = import ../tools/networking/iftop {
894     inherit fetchurl stdenv ncurses libpcap;
895   };
897   imapsync = import ../tools/networking/imapsync {
898     inherit fetchurl stdenv perl openssl;
899     inherit (perlPackages) MailIMAPClient;
900   };
902   inetutils = import ../tools/networking/inetutils {
903     inherit fetchurl stdenv ncurses;
904   };
906   iodine = import ../tools/networking/iodine {
907     inherit stdenv fetchurl zlib nettools;
908   };
910   iperf = import ../tools/networking/iperf {
911     inherit fetchurl stdenv;
912   };
914   ipmitool = import ../tools/system/ipmitool {
915     inherit fetchurl stdenv openssl;
916   };
918   jdiskreport = import ../tools/misc/jdiskreport {
919     inherit fetchurl stdenv unzip jdk;
920   };
922   jfsrec = import ../tools/filesystems/jfsrec {
923     inherit fetchurl stdenv boost;
924   };
926   jfsutils = import ../tools/filesystems/jfsutils {
927     inherit fetchurl stdenv libuuid;
928   };
930   jhead = import ../tools/graphics/jhead {
931     inherit stdenv fetchurl;
932   };
934   jing = import ../tools/text/xml/jing {
935     inherit fetchurl stdenv unzip;
936   };
938   jing_tools = import ../tools/text/xml/jing/jing-script.nix {
939     inherit fetchurl stdenv unzip jre;
940   };
942   jnettop = import ../tools/networking/jnettop {
943     inherit fetchurl stdenv autoconf libpcap ncurses pkgconfig;
944     inherit (gnome) glib;
945   };
947   jwhois = import ../tools/networking/jwhois {
948     inherit fetchurl stdenv;
949   };
951   keychain = import ../tools/misc/keychain {
952     inherit fetchurl stdenv;
953   };
955   kismet = import ../applications/networking/sniffers/kismet {
956     inherit fetchurl stdenv libpcap ncurses expat;
957   };
959   ktorrent = import ../tools/networking/p2p/ktorrent {
960     inherit fetchurl stdenv pkgconfig kdelibs
961       xlibs zlib libpng libjpeg perl gmp;
962   };
964   less = import ../tools/misc/less {
965     inherit fetchurl stdenv ncurses;
966   };
968   lftp = import ../tools/networking/lftp {
969     inherit fetchurl stdenv readline;
970   };
972   libtorrent = import ../tools/networking/p2p/libtorrent {
973     inherit fetchurl stdenv pkgconfig openssl libsigcxx;
974   };
976   lout = import ../tools/typesetting/lout {
977     inherit fetchurl stdenv ghostscript;
978   };
980   lrzip = import ../tools/compression/lrzip {
981     inherit fetchurl stdenv zlib lzo bzip2 nasm;
982   };
984   lsh = import ../tools/networking/lsh {
985     inherit stdenv fetchurl gperf guile gmp zlib liboop gnum4 pam
986       readline nettools lsof procps;
987   };
989   lzma = import ../tools/compression/lzma {
990     inherit fetchurl stdenv;
991   };
993   xz = import ../tools/compression/xz {
994     inherit fetchurl stdenv lib;
995   };
997   lzop = import ../tools/compression/lzop {
998     inherit fetchurl stdenv lzo;
999   };
1001   mailutils = import ../tools/networking/mailutils {
1002     inherit fetchurl stdenv gettext gdbm libtool pam readline ncurses
1003       gnutls mysql guile texinfo gnum4;
1004   };
1006   man = import ../tools/misc/man {
1007     inherit fetchurl stdenv groff less;
1008   };
1010   man_db = import ../tools/misc/man-db {
1011     inherit fetchurl stdenv db4 groff;
1012   };
1014   memtest86 = import ../tools/misc/memtest86 {
1015     inherit fetchurl stdenv;
1016   };
1018   mc = import ../tools/misc/mc {
1019     inherit fetchurl stdenv lib pkgconfig ncurses shebangfix perl zip unzip slang
1020       gettext e2fsprogs gpm glib;
1021     inherit (xlibs) libX11 libXt;
1022   };
1024   mcabber = import ../applications/networking/instant-messengers/mcabber {
1025     inherit fetchurl stdenv openssl ncurses pkgconfig glib;
1026   };
1028   mcron = import ../tools/system/mcron {
1029     inherit fetchurl stdenv guile which ed;
1030   };
1032   mdbtools = import ../tools/misc/mdbtools {
1033     inherit fetchurl stdenv readline pkgconfig bison glib;
1034     flex = flex2535;
1035   };
1037   mjpegtools = import ../tools/video/mjpegtools {
1038     inherit fetchurl stdenv libjpeg;
1039     inherit (xlibs) libX11;
1040   };
1042   mkisofs = import ../tools/cd-dvd/mkisofs {
1043     inherit fetchurl stdenv gettext;
1044   };
1046   mktemp = import ../tools/security/mktemp {
1047     inherit fetchurl stdenv;
1048   };
1050   mldonkey = import ../applications/networking/p2p/mldonkey {
1051     inherit fetchurl stdenv ocaml zlib bzip2 ncurses file gd libpng;
1052   };
1054   monit = builderDefsPackage ../tools/system/monit {
1055     flex = flex2535;
1056     bison = bison24;
1057     inherit openssl;
1058   };
1060   mpage = import ../tools/text/mpage {
1061     inherit fetchurl stdenv;
1062   };
1064   msf = builderDefsPackage (import ../tools/security/metasploit/3.1.nix) {
1065     inherit ruby makeWrapper;
1066   };
1068   mssys = import ../tools/misc/mssys {
1069     inherit fetchurl stdenv gettext;
1070   };
1072   multitran = recurseIntoAttrs (let
1073       inherit fetchurl stdenv help2man;
1074     in rec {
1075       multitrandata = import ../tools/text/multitran/data {
1076         inherit fetchurl stdenv;
1077       };
1079       libbtree = import ../tools/text/multitran/libbtree {
1080         inherit fetchurl stdenv;
1081       };
1083       libmtsupport = import ../tools/text/multitran/libmtsupport {
1084         inherit fetchurl stdenv;
1085       };
1087       libfacet = import ../tools/text/multitran/libfacet {
1088         inherit fetchurl stdenv libmtsupport;
1089       };
1091       libmtquery = import ../tools/text/multitran/libmtquery {
1092         inherit fetchurl stdenv libmtsupport libfacet libbtree multitrandata;
1093       };
1095       mtutils = import ../tools/text/multitran/mtutils {
1096         inherit fetchurl stdenv libmtsupport libfacet libbtree libmtquery help2man;
1097       };
1098     });
1100   muscleframework = import ../tools/security/muscleframework {
1101     inherit fetchurl stdenv libmusclecard pkgconfig pcsclite;
1102   };
1104   muscletool = import ../tools/security/muscletool {
1105     inherit fetchurl stdenv pkgconfig libmusclecard pcsclite;
1106   };
1108   mysql2pgsql = import ../tools/misc/mysql2pgsql {
1109     inherit fetchurl stdenv perl shebangfix;
1110   };
1112   namazu = import ../tools/text/namazu {
1113     inherit fetchurl stdenv perl;
1114   };
1116   nbd = import ../tools/networking/nbd {
1117     inherit fetchurl stdenv pkgconfig glib;
1118   };
1120   nc6 = composedArgsAndFun (import ../tools/networking/nc6/1.0.nix) {
1121     inherit builderDefs;
1122   };
1124   ncat = import ../tools/networking/ncat {
1125     inherit fetchurl stdenv openssl;
1126   };
1128   ncftp = import ../tools/networking/ncftp {
1129     inherit fetchurl stdenv ncurses coreutils;
1130   };
1132   netcat = import ../tools/networking/netcat {
1133     inherit fetchurl stdenv;
1134   };
1136   netkittftp = import ../tools/networking/netkit/tftp {
1137     inherit fetchurl stdenv;
1138   };
1140   netpbm = import ../tools/graphics/netpbm {
1141     inherit stdenv fetchsvn libjpeg libpng zlib flex perl libxml2 makeWrapper;
1142   };
1144   netselect = import ../tools/networking/netselect {
1145     inherit fetchurl stdenv;
1146   };
1148   nmap = import ../tools/security/nmap {
1149     inherit fetchurl stdenv libpcap pkgconfig openssl
1150       python pygtk makeWrapper pygobject pycairo;
1151     inherit (pythonPackages) pysqlite;
1152     inherit (xlibs) libX11;
1153     inherit (gtkLibs) gtk;
1154   };
1156   ntfs3g = import ../tools/filesystems/ntfs-3g {
1157     inherit fetchurl stdenv utillinux;
1158   };
1160   ntfsprogs = import ../tools/filesystems/ntfsprogs {
1161     inherit fetchurl stdenv libuuid;
1162   };
1164   ntp = import ../tools/networking/ntp {
1165     inherit fetchurl stdenv libcap;
1166   };
1168   nssmdns = import ../tools/networking/nss-mdns {
1169     inherit fetchurl stdenv avahi;
1170   };
1172   nylon = import ../tools/networking/nylon {
1173     inherit fetchurl stdenv libevent;
1174   };
1176   obexd = import ../tools/bluetooth/obexd {
1177     inherit fetchurl stdenv pkgconfig dbus openobex bluez glib;
1178   };
1180   obexfs = import ../tools/bluetooth/obexfs {
1181     inherit fetchurl stdenv pkgconfig fuse obexftp;
1182   };
1184   obexftp = import ../tools/bluetooth/obexftp {
1185     inherit fetchurl stdenv pkgconfig openobex bluez;
1186   };
1188   openjade = import ../tools/text/sgml/openjade {
1189     inherit fetchurl opensp perl;
1190     stdenv = overrideGCC stdenv gcc33;
1191   };
1193   openobex = import ../tools/bluetooth/openobex {
1194     inherit fetchurl stdenv pkgconfig bluez libusb;
1195   };
1197   opensc_0_11_7 = import ../tools/security/opensc/0.11.7.nix {
1198     inherit fetchurl stdenv libtool readline zlib openssl libiconv pcsclite
1199       libassuan pkgconfig pinentry;
1200     inherit (xlibs) libXt;
1201   };
1203   opensc = opensc_0_11_7;
1205   opensc_dnie_wrapper = import ../tools/security/opensc-dnie-wrapper {
1206     inherit stdenv makeWrapper ed libopensc_dnie;
1207   };
1209   openssh = import ../tools/networking/openssh {
1210     inherit fetchurl stdenv zlib openssl pam perl;
1211     pamSupport = getPkgConfig "openssh" "pam" true;
1212     hpnSupport = getConfig [ "openssh" "hpn" ] false;
1213     etcDir = getConfig [ "openssh" "etcDir" ] "/etc/ssh";
1214   };
1216   opensp = import ../tools/text/sgml/opensp {
1217     inherit fetchurl;
1218     stdenv = overrideGCC stdenv gcc33;
1219   };
1221   openvpn = import ../tools/networking/openvpn {
1222     inherit fetchurl stdenv iproute lzo openssl nettools;
1223   };
1225   p7zip = import ../tools/archivers/p7zip {
1226     inherit fetchurl stdenv;
1227   };
1229   panomatic = import ../tools/graphics/panomatic {
1230     inherit fetchurl stdenv boost zlib;
1231   };
1233   par2cmdline = import ../tools/networking/par2cmdline {
1234     inherit fetchurl stdenv;
1235   };
1237   patchutils = import ../tools/text/patchutils {
1238     inherit fetchurl stdenv;
1239   };
1241   parted = import ../tools/misc/parted {
1242     inherit fetchurl stdenv devicemapper libuuid gettext readline
1243       utillinuxng;
1244   };
1246   patch = gnupatch;
1248   pbzip2 = import ../tools/compression/pbzip2 {
1249     inherit fetchurl stdenv bzip2;
1250   };
1252   pciutils = import ../tools/system/pciutils {
1253     inherit fetchurl stdenv zlib;
1254   };
1256   pcsclite = import ../tools/security/pcsclite {
1257     inherit fetchurl stdenv hal pkgconfig dbus;
1258   };
1260   pdf2djvu = import ../tools/typesetting/pdf2djvu {
1261     inherit fetchurl stdenv pkgconfig djvulibre poppler fontconfig libjpeg;
1262   };
1264   pdfjam = import ../tools/typesetting/pdfjam {
1265     inherit fetchurl stdenv;
1266   };
1268   pg_top = import ../tools/misc/pg_top {
1269     inherit fetchurl stdenv ncurses postgresql;
1270   };
1272   pdsh = import ../tools/networking/pdsh {
1273     inherit fetchurl stdenv perl;
1274     readline = if getPkgConfig "pdsh" "readline" true then readline else null;
1275     rsh = getPkgConfig "pdsh" "rsh" true;
1276     ssh = if getPkgConfig "pdsh" "ssh" true then openssh else null;
1277     pam = if getPkgConfig "pdsh" "pam" true then pam else null;
1278   };
1280   pfstools = import ../tools/graphics/pfstools {
1281     inherit fetchurl stdenv imagemagick libjpeg libtiff mesa freeglut bzip2 libpng expat;
1282     openexr = openexr_1_6_1;
1283     qt = qt3;
1284     inherit (xlibs) libX11;
1285   };
1287   pinentry = import ../tools/misc/pinentry {
1288     inherit fetchurl stdenv pkgconfig ncurses;
1289     inherit (gnome) glib gtk;
1290   };
1292   plan9port = import ../tools/system/plan9port {
1293     inherit fetchurl stdenv;
1294     inherit (xlibs) libX11 xproto libXt xextproto;
1295   };
1297   ploticus = import ../tools/graphics/ploticus {
1298     inherit fetchurl stdenv zlib libpng;
1299     inherit (xlibs) libX11;
1300   };
1302   plotutils = import ../tools/graphics/plotutils {
1303     inherit fetchurl stdenv libpng;
1304   };
1306   povray = import ../tools/graphics/povray {
1307     inherit fetchurl stdenv;
1308   };
1310   ppl = import ../development/libraries/ppl {
1311     inherit fetchurl stdenv gmpxx perl gnum4;
1312   };
1314   /* WARNING: this version is unsuitable for using with a setuid wrapper */
1315   ppp = builderDefsPackage (import ../tools/networking/ppp) {
1316   };
1318   proxychains = import ../tools/networking/proxychains {
1319     inherit fetchurl stdenv;
1320   };
1322   proxytunnel = import ../tools/misc/proxytunnel {
1323     inherit fetchurl stdenv openssl;
1324   };
1326   psmisc = import ../tools/misc/psmisc {
1327     inherit stdenv fetchurl ncurses;
1328   };
1330   pstoedit = import ../tools/graphics/pstoedit {
1331     inherit fetchurl stdenv lib pkgconfig ghostscript gd zlib plotutils;
1332   };
1334   pv = import ../tools/misc/pv {
1335     inherit fetchurl stdenv;
1336   };
1338   pwgen = import ../tools/security/pwgen {
1339     inherit stdenv fetchurl;
1340   };
1342   pydb = import ../tools/pydb {
1343     inherit fetchurl stdenv python emacs;
1344   };
1346   pystringtemplate = import ../development/python-modules/stringtemplate {
1347     inherit stdenv fetchurl python antlr;
1348   };
1350   pythonDBus = builderDefsPackage (import ../development/python-modules/dbus) {
1351     inherit python pkgconfig dbus_glib;
1352     dbus = dbus.libs;
1353   };
1355   pythonIRClib = builderDefsPackage (import ../development/python-modules/irclib) {
1356     inherit python;
1357   };
1359   pythonSexy = builderDefsPackage (import ../development/python-modules/libsexy) {
1360     inherit python libsexy pkgconfig libxml2 pygtk;
1361     inherit (gtkLibs) pango gtk glib;
1362   };
1364   openmpi = import ../development/libraries/openmpi {
1365     inherit fetchurl stdenv;
1366   };
1368   qhull = import ../development/libraries/qhull {
1369     inherit stdenv fetchurl;
1370   };
1372   reiser4progs = import ../tools/filesystems/reiser4progs {
1373     inherit fetchurl stdenv libaal;
1374   };
1376   reiserfsprogs = import ../tools/filesystems/reiserfsprogs {
1377     inherit fetchurl stdenv;
1378   };
1380   relfs = composedArgsAndFun (import ../tools/filesystems/relfs) {
1381     inherit fetchcvs stdenv ocaml postgresql fuse pcre
1382       builderDefs pkgconfig libuuid;
1383     inherit (gnome) gnomevfs GConf;
1384   };
1386   remind = import ../tools/misc/remind {
1387     inherit fetchurl stdenv;
1388   };
1390   replace = import ../tools/text/replace {
1391     inherit fetchurl stdenv;
1392   };
1394   /*
1395   rdiff_backup = import ../tools/backup/rdiff-backup {
1396     inherit fetchurl stdenv librsync gnused;
1397     python=python;
1398   };
1399   */
1401   rsnapshot = import ../tools/backup/rsnapshot {
1402     inherit fetchurl stdenv perl openssh rsync;
1404     # For the `logger' command, we can use either `utillinux' or
1405     # GNU Inetutils.  The latter is more portable.
1406     logger = inetutils;
1407   };
1409   rlwrap = composedArgsAndFun (import ../tools/misc/rlwrap/0.28.nix) {
1410     inherit builderDefs readline;
1411   };
1413   rpPPPoE = builderDefsPackage (import ../tools/networking/rp-pppoe) {
1414     inherit ppp;
1415   };
1417   rpm = import ../tools/package-management/rpm {
1418     inherit fetchurl stdenv cpio zlib bzip2 xz file elfutils nspr nss popt;
1419     db4 = db45;
1420   };
1422   rrdtool = import ../tools/misc/rrdtool {
1423     inherit stdenv fetchurl gettext perl pkgconfig libxml2 cairo;
1424     inherit (gtkLibs) pango;
1425   };
1427   rtorrent = import ../tools/networking/p2p/rtorrent {
1428     inherit fetchurl stdenv libtorrent ncurses pkgconfig libsigcxx curl zlib openssl;
1429   };
1431   rubber = import ../tools/typesetting/rubber {
1432     inherit fetchurl stdenv python texinfo;
1433   };
1435   rxp = import ../tools/text/xml/rxp {
1436     inherit fetchurl stdenv;
1437   };
1439   rzip = import ../tools/compression/rzip {
1440     inherit fetchurl stdenv bzip2;
1441   };
1443   s3backer = import ../tools/filesystems/s3backer {
1444     inherit fetchurl stdenv pkgconfig fuse curl expat;
1445   };
1447   sablotron = import ../tools/text/xml/sablotron {
1448     inherit fetchurl stdenv expat;
1449   };
1451   screen = import ../tools/misc/screen {
1452     inherit fetchurl stdenv ncurses;
1453   };
1455   scrot = import ../tools/graphics/scrot {
1456     inherit fetchurl stdenv giblib x11;
1457   };
1459   seccure = import ../tools/security/seccure/0.4.nix {
1460     inherit fetchurl stdenv libgcrypt;
1461   };
1463   setserial = builderDefsPackage (import ../tools/system/setserial) {
1464     inherit groff;
1465   };
1467   sharutils = import ../tools/archivers/sharutils/4.6.3.nix {
1468     inherit fetchurl stdenv;
1469   };
1471   shebangfix = import ../tools/misc/shebangfix {
1472     inherit stdenv perl;
1473   };
1475   slsnif = import ../tools/misc/slsnif {
1476     inherit fetchurl stdenv;
1477   };
1479   smartmontools = import ../tools/system/smartmontools {
1480     inherit fetchurl stdenv;
1481   };
1483   smbfsFuse = composedArgsAndFun (import ../tools/filesystems/smbfs-fuse) {
1484     inherit builderDefs samba fuse;
1485   };
1487   socat = import ../tools/networking/socat {
1488     inherit fetchurl stdenv openssl;
1489   };
1491   socat2pre = builderDefsPackage ../tools/networking/socat/2.0.0-b3.nix {
1492     inherit fetchurl stdenv openssl;
1493   };
1495   squashfsTools = import ../tools/filesystems/squashfs {
1496     inherit fetchurl stdenv zlib;
1497   };
1499   sshfsFuse = import ../tools/filesystems/sshfs-fuse {
1500     inherit fetchurl stdenv pkgconfig fuse glib;
1501   };
1503   sudo = import ../tools/security/sudo {
1504     inherit fetchurl stdenv coreutils pam groff;
1505   };
1507   suidChroot = builderDefsPackage (import ../tools/system/suid-chroot) {
1508   };
1510   superkaramba = import ../desktops/superkaramba {
1511     inherit stdenv fetchurl kdebase kdelibs zlib libjpeg
1512       perl qt3 python libpng freetype expat;
1513     inherit (xlibs) libX11 libXext libXt libXaw libXpm;
1514   };
1516   ssmtp = import ../tools/networking/ssmtp {
1517     inherit fetchurl stdenv openssl;
1518     tlsSupport = true;
1519   };
1521   ssss = composedArgsAndFun (import ../tools/security/ssss/0.5.nix) {
1522     inherit builderDefs gmp;
1523   };
1525   stun = import ../tools/networking/stun {
1526     inherit fetchurl stdenv lib;
1527   };
1529   stunnel = import ../tools/networking/stunnel {
1530     inherit fetchurl stdenv openssl;
1531   };
1533   su = import ../tools/misc/su {
1534     inherit fetchurl stdenv pam;
1535   };
1537   swec = import ../tools/networking/swec {
1538     inherit fetchurl stdenv makeWrapper perl;
1539     inherit (perlPackages) LWP URI HTMLParser HTTPServerSimple Parent;
1540   };
1542   system_config_printer = import ../tools/misc/system-config-printer {
1543     inherit stdenv fetchurl perl perlXMLParser desktop_file_utils;
1544   };
1546   sitecopy = import ../tools/networking/sitecopy {
1547     inherit fetchurl stdenv neon openssl;
1548   };
1550   privoxy = import ../tools/networking/privoxy {
1551     inherit fetchurl stdenv autoconf automake ;
1552   };
1554   tcpdump = import ../tools/networking/tcpdump {
1555     inherit fetchurl stdenv libpcap;
1556   };
1558   tcng = import ../tools/networking/tcng {
1559     inherit fetchurl stdenv iproute bison flex db4 perl;
1560     kernel = kernel_2_6_28;
1561   };
1563   telnet = import ../tools/networking/telnet {
1564     inherit fetchurl stdenv ncurses;
1565   };
1567   ttf2pt1 = import ../tools/misc/ttf2pt1 {
1568     inherit fetchurl stdenv perl freetype;
1569   };
1571   ucl = import ../development/libraries/ucl {
1572     inherit fetchurl stdenv;
1573   };
1575   ufraw = import ../applications/graphics/ufraw {
1576     inherit fetchurl stdenv pkgconfig gettext bzip2 zlib
1577       libjpeg libtiff cfitsio exiv2 lcms gtkimageview;
1578     inherit (gnome) gtk;
1579   };
1581   upx = import ../tools/compression/upx {
1582     inherit fetchurl stdenv ucl zlib;
1583   };
1585   vbetool = builderDefsPackage ../tools/system/vbetool {
1586     inherit pciutils libx86 zlib;
1587   };
1589   viking = import ../applications/misc/viking {
1590     inherit fetchurl stdenv pkgconfig intltool gettext expat curl
1591       gpsd bc file;
1592     inherit (gtkLibs) gtk;
1593   };
1595   vncrec = builderDefsPackage ../tools/video/vncrec {
1596     inherit (xlibs) imake libX11 xproto gccmakedep libXt
1597       libXmu libXaw libXext xextproto libSM libICE libXpm
1598       libXp;
1599   };
1601   vpnc = import ../tools/networking/vpnc {
1602     inherit fetchurl stdenv libgcrypt perl gawk
1603       nettools makeWrapper;
1604   };
1606   vtun = import ../tools/networking/vtun {
1607     inherit fetchurl stdenv lzo openssl zlib yacc flex;
1608   };
1610   testdisk = import ../tools/misc/testdisk {
1611     inherit fetchurl stdenv ncurses libjpeg e2fsprogs zlib openssl;
1612   };
1614   htmlTidy = import ../tools/text/html-tidy {
1615     inherit fetchcvs stdenv autoconf automake libtool;
1616   };
1618   tightvnc = import ../tools/admin/tightvnc {
1619     inherit fetchurl stdenv x11 zlib libjpeg perl;
1620     inherit (xlibs) imake gccmakedep libXmu libXaw libXpm libXp xauth;
1621     fontDirectories = [ xorg.fontadobe75dpi xorg.fontmiscmisc xorg.fontcursormisc
1622       xorg.fontbhlucidatypewriter75dpi ];
1623   };
1625   time = import ../tools/misc/time {
1626     inherit fetchurl stdenv;
1627   };
1629   tm = import ../tools/system/tm {
1630     inherit fetchurl stdenv;
1631   };
1633   trang = import ../tools/text/xml/trang {
1634     inherit fetchurl stdenv unzip jre;
1635   };
1637   ts = import ../tools/system/ts {
1638     inherit fetchurl stdenv;
1639   };
1641   transfig = import ../tools/graphics/transfig {
1642     inherit fetchurl stdenv libpng libjpeg zlib;
1643     inherit (xlibs) imake;
1644   };
1646   truecrypt = import ../applications/misc/truecrypt {
1647     inherit fetchurl stdenv pkgconfig fuse devicemapper;
1648     inherit wxGTK;
1649     wxGUI = getConfig [ "truecrypt" "wxGUI" ] true;
1650   };
1652   ttmkfdir = import ../tools/misc/ttmkfdir {
1653     inherit stdenv fetchurl freetype fontconfig libunwind libtool bison;
1654     flex = flex2534;
1655   };
1657   units = import ../tools/misc/units {
1658     inherit fetchurl stdenv;
1659   };
1661   unrar = import ../tools/archivers/unrar {
1662     inherit fetchurl stdenv;
1663   };
1665   unshield = import ../tools/archivers/unshield {
1666     inherit fetchurl stdenv zlib;
1667   };
1669   unzip = unzip552;
1671   # TODO: remove in the next stdenv update.
1672   unzip552 = import ../tools/archivers/unzip/5.52.nix {
1673     inherit fetchurl stdenv;
1674   };
1676   unzip60 = import ../tools/archivers/unzip/6.0.nix {
1677     inherit fetchurl stdenv bzip2;
1678   };
1680   uptimed = import ../tools/system/uptimed {
1681     inherit fetchurl stdenv automake autoconf libtool;
1682   };
1684   w3cCSSValidator = import ../tools/misc/w3c-css-validator {
1685     inherit fetchurl stdenv apacheAnt jre sourceFromHead lib;
1686     tomcat = tomcat6;
1687   };
1689   wdfs = import ../tools/filesystems/wdfs {
1690     inherit stdenv fetchurl neon fuse pkgconfig glib;
1691   };
1693   webdruid = builderDefsPackage ../tools/admin/webdruid {
1694     inherit zlib libpng freetype gd which
1695       libxml2 geoip;
1696   };
1698   wget = import ../tools/networking/wget {
1699     inherit fetchurl stdenv gettext openssl;
1700   };
1702   which = import ../tools/system/which {
1703     inherit fetchurl stdenv readline;
1704   };
1706   wicd = import ../tools/networking/wicd {
1707     inherit stdenv fetchurl python pygobject pycairo pyGtkGlade pythonDBus
1708             wpa_supplicant dhcp wirelesstools nettools iproute;
1709   };
1711   wv = import ../tools/misc/wv {
1712     inherit fetchurl stdenv libpng zlib imagemagick
1713       pkgconfig libgsf libxml2 bzip2 glib;
1714   };
1716   wv2 = import ../tools/misc/wv2 {
1717     inherit stdenv fetchurl pkgconfig libgsf libxml2 glib;
1718   };
1720   x11_ssh_askpass = import ../tools/networking/x11-ssh-askpass {
1721     inherit fetchurl stdenv x11;
1722     inherit (xorg) imake;
1723   };
1725   xclip = import ../tools/misc/xclip {
1726     inherit fetchurl stdenv x11;
1727     inherit (xlibs) libXmu;
1728   };
1730   xfsprogs = import ../tools/filesystems/xfsprogs {
1731     inherit fetchurl stdenv libtool gettext libuuid;
1732   };
1734   xmlroff = import ../tools/typesetting/xmlroff {
1735     inherit fetchurl stdenv pkgconfig libxml2 libxslt popt;
1736     inherit (gtkLibs) glib pango gtk;
1737     inherit (gnome) libgnomeprint;
1738     inherit pangoxsl;
1739   };
1741   xmlto = import ../tools/typesetting/xmlto {
1742     inherit fetchurl stdenv flex libxml2 libxslt
1743             docbook_xml_dtd_42 docbook_xsl w3m
1744             bash getopt mktemp findutils makeWrapper;
1745   };
1747   xmltv = import ../tools/misc/xmltv {
1748     inherit fetchurl perl perlPackages;
1749   };
1751   xmpppy = builderDefsPackage (import ../development/python-modules/xmpppy) {
1752     inherit python setuptools;
1753   };
1755   xpf = import ../tools/text/xml/xpf {
1756     inherit fetchurl stdenv python;
1757     libxml2 = libxml2Python;
1758   };
1760   xsel = import ../tools/misc/xsel {
1761     inherit fetchurl stdenv x11;
1762   };
1764   zdelta = import ../tools/compression/zdelta {
1765     inherit fetchurl stdenv;
1766   };
1768   zile = import ../applications/editors/zile {
1769     inherit fetchurl stdenv ncurses help2man;
1770   };
1772   zip = import ../tools/archivers/zip {
1773     inherit fetchurl stdenv;
1774   };
1777   ### SHELLS
1780   bash = lowPrio (useFromStdenv "bash" bashReal);
1782   bashReal = makeOverridable (import ../shells/bash) {
1783     inherit fetchurl stdenv bison;
1784   };
1786   bashInteractive = appendToName "interactive" (bashReal.override {
1787     inherit readline texinfo;
1788     interactive = true;
1789   });
1791   tcsh = import ../shells/tcsh {
1792     inherit fetchurl stdenv ncurses;
1793   };
1795   zsh = import ../shells/zsh {
1796     inherit fetchurl stdenv ncurses coreutils;
1797   };
1800   ### DEVELOPMENT / COMPILERS
1803   abc =
1804     abcPatchable [];
1806   abcPatchable = patches :
1807     import ../development/compilers/abc/default.nix {
1808       inherit stdenv fetchurl patches jre apacheAnt;
1809       javaCup = import ../development/libraries/java/cup {
1810         inherit stdenv fetchurl jdk;
1811       };
1812     };
1814   aspectj =
1815     import ../development/compilers/aspectj {
1816       inherit stdenv fetchurl jre;
1817     };
1819   bigloo = import ../development/compilers/bigloo {
1820     inherit fetchurl stdenv;
1821   };
1823   dylan = import ../development/compilers/gwydion-dylan {
1824     inherit fetchurl stdenv perl boehmgc yacc flex readline;
1825     dylan =
1826       import ../development/compilers/gwydion-dylan/binary.nix {
1827         inherit fetchurl stdenv;
1828       };
1829   };
1831   ecl = builderDefsPackage ../development/compilers/ecl {
1832     inherit gmp mpfr;
1833   };
1835   adobeFlexSDK33 = import ../development/compilers/adobe-flex-sdk {
1836     inherit fetchurl stdenv unzip jre;
1837   };
1839   fpc = import ../development/compilers/fpc {
1840     inherit fetchurl stdenv gawk system;
1841   };
1843   gcc = gcc43;
1845   gcc295 = wrapGCC (import ../development/compilers/gcc-2.95 {
1846     inherit fetchurl stdenv noSysDirs;
1847   });
1849   gcc33 = wrapGCC (import ../development/compilers/gcc-3.3 {
1850     inherit fetchurl stdenv noSysDirs;
1851   });
1853   gcc34 = wrapGCC (import ../development/compilers/gcc-3.4 {
1854     inherit fetchurl stdenv noSysDirs;
1855   });
1857   # XXX: GCC 4.2 (and possibly others) misdetects `makeinfo' when
1858   # using Texinfo >= 4.10, just because it uses a stupid regexp that
1859   # expects a single digit after the dot.  As a workaround, we feed
1860   # GCC with Texinfo 4.9.  Stupid bug, hackish workaround.
1862   gcc40 = wrapGCC (makeOverridable (import ../development/compilers/gcc-4.0) {
1863     inherit fetchurl stdenv noSysDirs;
1864     texinfo = texinfo49;
1865     profiledCompiler = true;
1866   });
1868   gcc41 = wrapGCC (makeOverridable (import ../development/compilers/gcc-4.1) {
1869     inherit fetchurl stdenv noSysDirs;
1870     texinfo = texinfo49;
1871     profiledCompiler = false;
1872   });
1874   gcc42 = wrapGCC (makeOverridable (import ../development/compilers/gcc-4.2) {
1875     inherit fetchurl stdenv noSysDirs;
1876     profiledCompiler = false;
1877   });
1879   gcc43 = useFromStdenv "gcc" gcc43_real;
1881   gcc43_wrapper2 = wrapGCC2 gcc43.gcc;
1883   gcc43_real = lowPrio (wrapGCC (makeOverridable (import ../development/compilers/gcc-4.3) {
1884     inherit fetchurl stdenv texinfo gmp mpfr noSysDirs;
1885     profiledCompiler = true;
1886   }));
1888   gcc43_multi = lowPrio (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi (gcc43_real.gcc.override {
1889     stdenv = overrideGCC stdenv (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi gcc);
1890     profiledCompiler = false;
1891     enableMultilib = true;
1892   }));
1894   gcc44 = lowPrio (wrapGCC (makeOverridable (import ../development/compilers/gcc-4.4) {
1895     inherit fetchurl stdenv texinfo gmp mpfr ppl cloogppl
1896       gettext which noSysDirs;
1897     profiledCompiler = true;
1898   }));
1900   gccApple =
1901     wrapGCC ( (if stdenv.system == "i686-darwin" then import ../development/compilers/gcc-apple else import ../development/compilers/gcc-apple64) {
1902       inherit fetchurl stdenv noSysDirs;
1903       profiledCompiler = true;
1904     }) ;
1906   gccupc40 = wrapGCCUPC (import ../development/compilers/gcc-upc-4.0 {
1907     inherit fetchurl stdenv bison autoconf gnum4 noSysDirs;
1908     texinfo = texinfo49;
1909   });
1911   gfortran = gfortran43;
1913   gfortran40 = wrapGCC (gcc40.gcc.override {
1914     name = "gfortran";
1915     langFortran = true;
1916     langCC = false;
1917     inherit gmp mpfr;
1918   });
1920   gfortran41 = wrapGCC (gcc41.gcc.override {
1921     name = "gfortran";
1922     langFortran = true;
1923     langCC = false;
1924     langC = false;
1925     inherit gmp mpfr;
1926   });
1928   gfortran42 = wrapGCC (gcc42.gcc.override {
1929     name = "gfortran";
1930     langFortran = true;
1931     langCC = false;
1932     langC = false;
1933     inherit gmp mpfr;
1934   });
1936   gfortran43 = wrapGCC (gcc43_real.gcc.override {
1937     name = "gfortran";
1938     langFortran = true;
1939     langCC = false;
1940     langC = false;
1941     profiledCompiler = false;
1942   });
1944   gfortran44 = wrapGCC (gcc44.gcc.override {
1945     name = "gfortran";
1946     langFortran = true;
1947     langCC = false;
1948     langC = false;
1949     profiledCompiler = false;
1950   });
1952   gcj = gcj44;
1954   gcj44 = wrapGCC (gcc44.gcc.override {
1955     name = "gcj";
1956     langJava = true;
1957     langFortran = false;
1958     langCC = true;
1959     langC = false;
1960     profiledCompiler = false;
1961     inherit zip unzip zlib boehmgc gettext pkgconfig;
1962     inherit (gtkLibs) gtk;
1963     inherit (gnome) libart_lgpl;
1964     inherit (xlibs) libX11 libXt libSM libICE libXtst libXi libXrender
1965       libXrandr xproto renderproto xextproto inputproto randrproto;
1966   });
1968   /*
1969   Broken; fails because of unability to find its own symbols during linking
1971   gcl = builderDefsPackage ../development/compilers/gcl {
1972     inherit mpfr m4 binutils fetchcvs emacs;
1973     inherit (xlibs) libX11 xproto inputproto libXi
1974       libXext xextproto libXt libXaw libXmu;
1975     stdenv = (overrideGCC stdenv gcc34) // {gcc = gcc33;};
1976   };
1977   */
1979   # GHC
1981   # GHC binaries are around for bootstrapping purposes
1983   #ghc = haskellPackages.ghc;
1985   /*
1986   ghc642Binary = lowPrio (import ../development/compilers/ghc/6.4.2-binary.nix {
1987     inherit fetchurl stdenv ncurses gmp;
1988     readline = if stdenv.system == "i686-linux" then readline4 else readline5;
1989     perl = perl58;
1990   });
1991   */
1993   ghc6101Binary = lowPrio (import ../development/compilers/ghc/6.10.1-binary.nix {
1994     inherit fetchurl stdenv perl ncurses gmp libedit;
1995   });
1997   ghc6102Binary = lowPrio (import ../development/compilers/ghc/6.10.2-binary.nix {
1998     inherit fetchurl stdenv perl ncurses gmp libedit;
1999   });
2001   # For several compiler versions, we export a large set of Haskell-related
2002   # packages.
2004   haskellPackages = haskellPackages_ghc6104;
2006   /*
2007   haskellPackages_ghc642 = import ./haskell-packages.nix {
2008     inherit pkgs;
2009     ghc = import ../development/compilers/ghc/6.4.2.nix {
2010       inherit fetchurl stdenv perl ncurses readline m4 gmp;
2011       ghc = ghc642Binary;
2012     };
2013   };
2015   haskellPackages_ghc661 = import ./haskell-packages.nix {
2016     inherit pkgs;
2017     ghc = import ../development/compilers/ghc/6.6.1.nix {
2018       inherit fetchurl stdenv readline perl58 gmp ncurses m4;
2019       ghc = ghc642Binary;
2020     };
2021   };
2023   haskellPackages_ghc682 = import ./haskell-packages.nix {
2024     inherit pkgs;
2025     ghc = import ../development/compilers/ghc/6.8.2.nix {
2026       inherit fetchurl stdenv perl gmp ncurses m4;
2027       readline = readline5;
2028       ghc = ghc642Binary;
2029     };
2030   };
2032   haskellPackages_ghc683 = recurseIntoAttrs (import ./haskell-packages.nix {
2033     inherit pkgs;
2034     ghc = import ../development/compilers/ghc/6.8.3.nix {
2035       inherit fetchurl stdenv readline perl gmp ncurses m4;
2036       ghc = ghc642Binary;
2037       haddock = import ../development/tools/documentation/haddock/boot.nix {
2038         inherit gmp;
2039         cabal = import ../development/libraries/haskell/cabal/cabal.nix {
2040           inherit stdenv fetchurl lib;
2041           ghc = ghc642Binary;
2042         };
2043       };
2044     };
2045   });
2046   */
2048   haskellPackages_ghc6101 = import ./haskell-packages.nix {
2049     inherit pkgs;
2050     ghc = import ../development/compilers/ghc/6.10.1.nix {
2051       inherit fetchurl stdenv perl ncurses gmp libedit;
2052       ghc = ghc6101Binary;
2053     };
2054   };
2056   haskellPackages_ghc6102 = import ./haskell-packages.nix {
2057     inherit pkgs;
2058     ghc = import ../development/compilers/ghc/6.10.2.nix {
2059       inherit fetchurl stdenv perl ncurses gmp libedit;
2060       ghc = ghc6101Binary;
2061     };
2062   };
2064   haskellPackages_ghc6103 = recurseIntoAttrs (import ./haskell-packages.nix {
2065     inherit pkgs;
2066     ghc = import ../development/compilers/ghc/6.10.3.nix {
2067       inherit fetchurl stdenv perl ncurses gmp libedit;
2068       ghc = ghc6101Binary;
2069     };
2070   });
2072   haskellPackages_ghc6104 = recurseIntoAttrs (import ./haskell-packages.nix {
2073     inherit pkgs;
2074     ghc = import ../development/compilers/ghc/6.10.4.nix {
2075       inherit fetchurl stdenv perl ncurses gmp libedit;
2076       ghc = ghc6101Binary;
2077     };
2078   });
2080   # make this ghc default when it's supported by the Haskell Platform
2081   haskellPackages_ghc6121 = lowPrio (import ./haskell-packages.nix {
2082     inherit pkgs;
2083     ghc = import ../development/compilers/ghc/6.12.1.nix {
2084       inherit fetchurl stdenv perl ncurses gmp;
2085       ghc = ghc6101Binary;
2086     };
2087   });
2089   haskellPackages_ghcHEAD = import ./haskell-packages.nix {
2090     inherit pkgs;
2091     ghc = import ../development/compilers/ghc/6.11.nix {
2092       inherit fetchurl stdenv perl ncurses gmp libedit;
2093       inherit (haskellPackages) happy alex; # hope these aren't required for the final version
2094       ghc = ghc6101Binary;
2095     };
2096   };
2098   haxe = import ../development/compilers/haxe {
2099     inherit fetchurl sourceFromHead stdenv lib ocaml zlib makeWrapper;
2100   };
2102   falcon = builderDefsPackage (import ../development/interpreters/falcon) {
2103     inherit cmake;
2104   };
2106   go = import ../development/compilers/go {
2107     inherit stdenv fetchhg glibc bison ed which bash makeWrapper;
2108   };
2110   gprolog = import ../development/compilers/gprolog {
2111     inherit fetchurl stdenv;
2112   };
2114   gwt = import ../development/compilers/gwt {
2115     inherit stdenv fetchurl jdk;
2116     inherit (gtkLibs) glib gtk pango atk;
2117     inherit (xlibs) libX11 libXt;
2118     libstdcpp5 = gcc33.gcc;
2119   };
2121   ikarus = import ../development/compilers/ikarus {
2122     inherit stdenv fetchurl gmp;
2123   };
2125   #TODO add packages http://cvs.haskell.org/Hugs/downloads/2006-09/packages/ and test
2126   # commented out because it's using the new configuration style proposal which is unstable
2127   hugs = import ../development/compilers/hugs {
2128     inherit lib fetchurl stdenv composableDerivation;
2129   };
2131   openjdkDarwin = import ../development/compilers/openjdk-darwin {
2132     inherit fetchurl stdenv;
2133   };
2135   j2sdk14x = (
2136     assert system == "i686-linux";
2137     import ../development/compilers/jdk/default-1.4.nix {
2138       inherit fetchurl stdenv;
2139     });
2141   jdk5 = (
2142     assert system == "i686-linux" || system == "x86_64-linux";
2143     import ../development/compilers/jdk/default-5.nix {
2144       inherit fetchurl stdenv unzip;
2145     });
2147   jdk       = jdkdistro true  false;
2148   jre       = jdkdistro false false;
2150   jdkPlugin = jdkdistro true true;
2151   jrePlugin = jdkdistro false true;
2153   supportsJDK =
2154     system == "i686-linux" ||
2155     system == "x86_64-linux" ||
2156     system == "powerpc-linux";
2158   jdkdistro = installjdk: pluginSupport:
2159        (assert supportsJDK;
2160     (if pluginSupport then appendToName "plugin" else x: x) (import ../development/compilers/jdk {
2161       inherit fetchurl stdenv unzip installjdk xlibs pluginSupport makeWrapper;
2162     }));
2164   jikes = import ../development/compilers/jikes {
2165     inherit fetchurl stdenv;
2166   };
2168   lazarus = builderDefsPackage (import ../development/compilers/fpc/lazarus.nix) {
2169     inherit fpc makeWrapper;
2170     inherit (gtkLibs) gtk glib pango atk;
2171     inherit (xlibs) libXi inputproto libX11 xproto libXext xextproto;
2172   };
2174   llvm = import ../development/compilers/llvm {
2175     inherit fetchurl stdenv gcc flex perl libtool;
2176   };
2178   llvmGCC = builderDefsPackage (import ../development/compilers/llvm/llvm-gcc.nix) {
2179     flex=flex2535;
2180     inherit llvm perl libtool bison;
2181   };
2183   mono = import ../development/compilers/mono {
2184     inherit fetchurl stdenv bison pkgconfig gettext perl glib;
2185   };
2187   monoDLLFixer = import ../build-support/mono-dll-fixer {
2188     inherit stdenv perl;
2189   };
2191   mozart = import ../development/compilers/mozart {
2192     inherit fetchurl stdenv flex bison perl gmp zlib tcl tk gdbm m4 x11 emacs;
2193   };
2195   neko = import ../development/compilers/neko {
2196     inherit sourceFromHead fetchurl stdenv lib pkgconfig composableDerivation
2197       boehmgc apacheHttpd mysql zlib sqlite pcre apr makeWrapper;
2198     inherit (gtkLibs) gtk;
2199   };
2201   nasm = import ../development/compilers/nasm {
2202     inherit fetchurl stdenv;
2203   };
2205   ocaml = ocaml_3_11_1;
2207   ocaml_3_08_0 = import ../development/compilers/ocaml/3.08.0.nix {
2208     inherit fetchurl stdenv x11 ncurses;
2209   };
2211   ocaml_3_09_1 = import ../development/compilers/ocaml/3.09.1.nix {
2212     inherit fetchurl stdenv x11 ncurses;
2213   };
2215   ocaml_3_10_0 = import ../development/compilers/ocaml/3.10.0.nix {
2216     inherit fetchurl stdenv x11 ncurses;
2217   };
2219   ocaml_3_11_1 = import ../development/compilers/ocaml/3.11.1.nix {
2220     inherit fetchurl stdenv x11 ncurses;
2221   };
2223   opencxx = import ../development/compilers/opencxx {
2224     inherit fetchurl stdenv libtool;
2225     gcc = gcc33;
2226   };
2228   qcmm = import ../development/compilers/qcmm {
2229     lua   = lua4;
2230     ocaml = ocaml_3_08_0;
2231     inherit fetchurl stdenv mk noweb groff;
2232   };
2234   roadsend = import ../development/compilers/roadsend {
2235     inherit fetchurl stdenv flex bison bigloo lib curl composableDerivation;
2236     # optional features
2237     # all features pcre, fcgi xml mysql, sqlite3, (not implemented: odbc gtk gtk2)
2238     flags = ["pcre" "xml" "mysql"];
2239     inherit mysql libxml2 fcgi;
2240   };
2242   sbcl = builderDefsPackage (import ../development/compilers/sbcl) {
2243     inherit makeWrapper;
2244     clisp = clisp_2_44_1;
2245   };
2247   scala = import ../development/compilers/scala {
2248     inherit stdenv fetchurl;
2249   };
2251   stalin = import ../development/compilers/stalin {
2252     inherit stdenv fetchurl;
2253     inherit (xlibs) libX11;
2254   };
2256   strategoPackages = strategoPackages017;
2258   strategoPackages016 = import ../development/compilers/strategoxt/0.16.nix {
2259     inherit fetchurl pkgconfig aterm getopt;
2260     stdenv = overrideInStdenv stdenv [gnumake380];
2261   };
2263   strategoPackages017 = import ../development/compilers/strategoxt/0.17.nix {
2264     inherit fetchurl stdenv pkgconfig aterm getopt jdk ncurses;
2265     readline = readline5;
2266   };
2268   strategoPackages018 = import ../development/compilers/strategoxt/0.18.nix {
2269     inherit fetchurl stdenv pkgconfig aterm getopt jdk makeStaticBinaries ncurses;
2270     readline = readline5;
2271   };
2273   metaBuildEnv = import ../development/compilers/meta-environment/meta-build-env {
2274     inherit fetchurl stdenv;
2275   };
2277   swiProlog = import ../development/compilers/swi-prolog {
2278     inherit fetchurl stdenv gmp readline openssl libjpeg unixODBC zlib;
2279     inherit (xlibs) libXinerama libXft libXpm libSM libXt;
2280   };
2282   tinycc = import ../development/compilers/tinycc {
2283     inherit fetchurl stdenv perl texinfo;
2284   };
2286   visualcpp = (import ../development/compilers/visual-c++ {
2287     inherit fetchurl stdenv cabextract;
2288   });
2290   webdsl = import ../development/compilers/webdsl {
2291     inherit stdenv fetchurl pkgconfig strategoPackages;
2292   };
2294   win32hello = import ../development/compilers/visual-c++/test {
2295     inherit fetchurl stdenv visualcpp windowssdk;
2296   };
2298   wrapGCCWith = gccWrapper: glibc: baseGCC: gccWrapper {
2299     nativeTools = stdenv ? gcc && stdenv.gcc.nativeTools;
2300     nativeLibc = stdenv ? gcc && stdenv.gcc.nativeLibc;
2301     nativePrefix = if stdenv ? gcc then stdenv.gcc.nativePrefix else "";
2302     gcc = baseGCC;
2303     libc = glibc;
2304     inherit stdenv binutils;
2305   };
2307   wrapGCC = wrapGCCWith (import ../build-support/gcc-wrapper) glibc;
2308   wrapGCC2 = wrapGCCWith (import ../build-support/gcc-wrapper2) glibc;
2310   # FIXME: This is a specific hack for GCC-UPC.  Eventually, we may
2311   # want to merge `gcc-upc-wrapper' and `gcc-wrapper'.
2312   wrapGCCUPC = baseGCC: import ../build-support/gcc-upc-wrapper {
2313     nativeTools = stdenv ? gcc && stdenv.gcc.nativeTools;
2314     nativeLibc = stdenv ? gcc && stdenv.gcc.nativeLibc;
2315     gcc = baseGCC;
2316     libc = glibc;
2317     inherit stdenv binutils;
2318   };
2320   # prolog
2321   yap = import ../development/compilers/yap {
2322     inherit fetchurl stdenv;
2323   };
2326   ### DEVELOPMENT / INTERPRETERS
2328   acl2 = builderDefsPackage ../development/interpreters/acl2 {
2329     inherit sbcl;
2330   };
2332   clisp = import ../development/interpreters/clisp {
2333     inherit fetchurl stdenv libsigsegv gettext
2334       readline ncurses coreutils pcre zlib libffi libffcall;
2335     inherit (xlibs) libX11 libXau libXt xproto
2336       libXpm libXext xextproto;
2337   };
2339   # compatibility issues in 2.47 - at list 2.44.1 is known good
2340   # for sbcl bootstrap
2341   clisp_2_44_1 = import ../development/interpreters/clisp/2.44.1.nix {
2342     inherit fetchurl stdenv gettext
2343       readline ncurses coreutils pcre zlib libffi libffcall;
2344     inherit (xlibs) libX11 libXau libXt xproto
2345       libXpm libXext xextproto;
2346     libsigsegv = libsigsegv_25;
2347   };
2349   erlang = import ../development/interpreters/erlang {
2350     inherit fetchurl stdenv perl gnum4 ncurses openssl;
2351   };
2353   guile = import ../development/interpreters/guile {
2354     inherit fetchurl stdenv readline libtool gmp gawk makeWrapper;
2355   };
2357   guile_1_9 = import ../development/interpreters/guile/1.9.nix {
2358     inherit fetchurl stdenv readline libtool gmp gawk makeWrapper
2359       libunistring pkgconfig boehmgc;
2360   };
2362   guile_1_9_coverage = import ../development/interpreters/guile/1.9.nix {
2363     inherit fetchurl stdenv readline libtool gmp gawk makeWrapper
2364       libunistring pkgconfig boehmgc;
2365     inherit (releaseTools) coverageAnalysis;
2366   };
2368   io = builderDefsPackage (import ../development/interpreters/io) {
2369     inherit sqlite zlib gmp libffi cairo ncurses freetype mesa
2370       libpng libtiff libjpeg readline libsndfile libxml2
2371       freeglut e2fsprogs libsamplerate pcre libevent libedit;
2372   };
2374   kaffe =  import ../development/interpreters/kaffe {
2375     inherit fetchurl stdenv jikes alsaLib xlibs;
2376   };
2378   lua4 = import ../development/interpreters/lua-4 {
2379     inherit fetchurl stdenv;
2380   };
2382   lua5 = import ../development/interpreters/lua-5 {
2383     inherit fetchurl stdenv ncurses readline;
2384   };
2386   maude = import ../development/interpreters/maude {
2387     inherit fetchurl stdenv flex bison ncurses buddy tecla gmpxx libsigsegv makeWrapper;
2388   };
2390   octave = import ../development/interpreters/octave {
2391     inherit stdenv fetchurl gfortran readline ncurses perl flex qhull texinfo;
2392   };
2394   # mercurial (hg) bleeding edge version
2395   octaveHG = import ../development/interpreters/octave/hg.nix {
2396     inherit fetchurl sourceFromHead readline ncurses perl flex atlas getConfig glibc qhull gfortran;
2397     inherit automake autoconf bison gperf lib python gnuplot texinfo texLive; # for dev Version
2398     inherit stdenv;
2399     inherit (xlibs) libX11;
2400     #stdenv = overrideGCC stdenv gcc40;
2401   };
2403   perl58 = import ../development/interpreters/perl-5.8 {
2404       inherit fetchurl stdenv;
2405       impureLibcPath = if stdenv.isLinux then null else "/usr";
2406     };
2408   perl510 = import ../development/interpreters/perl-5.10 {
2409     inherit stdenv;
2410     fetchurl = fetchurlBoot;
2411     impureLibcPath = if stdenv.isLinux then null else "/usr";
2412   };
2414   perl = if system != "i686-cygwin" then perl510 else sysPerl;
2416   # FIXME: unixODBC needs patching on Darwin (see darwinports)
2417   phpOld = import ../development/interpreters/php {
2418     inherit stdenv fetchurl flex bison libxml2 apacheHttpd;
2419     unixODBC =
2420       if stdenv.isDarwin then null else unixODBC;
2421   };
2423   php = makeOverridable (import ../development/interpreters/php_configurable) {
2424     inherit
2425       stdenv fetchurl lib composableDerivation autoconf automake
2426       flex bison apacheHttpd mysql libxml2 # gettext
2427       zlib curl gd postgresql openssl pkgconfig sqlite getConfig;
2428   };
2430   phpXdebug = import ../development/interpreters/php-xdebug {
2431     inherit stdenv fetchurl php autoconf automake;
2432   };
2434   phpIniBuilder = makeOverridable (import ../development/interpreters/php/ini-bulider.nix) {
2435     inherit php runCommand;
2436   };
2438   pltScheme = builderDefsPackage (import ../development/interpreters/plt-scheme) {
2439     inherit cairo fontconfig freetype libjpeg libpng openssl
2440       perl mesa zlib which;
2441     inherit (xorg) libX11 libXaw libXft libXrender libICE xproto
2442       renderproto pixman libSM libxcb libXext xextproto libXmu
2443       libXt;
2444   };
2446   polyml = import ../development/compilers/polyml {
2447     inherit stdenv fetchurl;
2448   };
2450   python = if getConfig ["python" "full"] false then pythonFull else pythonBase;
2451   python25 = if getConfig ["python" "full"] false then python25Full else python25Base;
2452   python26 = if getConfig ["python" "full"] false then python26Full else python26Base;
2453   pythonBase = python25Base;
2454   pythonFull = python25Full;
2456   python24 = import ../development/interpreters/python/2.4 {
2457     inherit fetchurl stdenv zlib bzip2;
2458   };
2460   python25Base = composedArgsAndFun (import ../development/interpreters/python/2.5) {
2461     inherit fetchurl stdenv zlib bzip2 gdbm;
2462   };
2464   python25Full = python25Base.passthru.function {
2465     # FIXME: We lack ncurses support, needed, e.g., for `gpsd'.
2466     db4 = if getConfig ["python" "db4Support"] true then db4 else null;
2467     sqlite = if getConfig ["python" "sqliteSupport"] true then sqlite else null;
2468     readline = if getConfig ["python" "readlineSupport"] true then readline else null;
2469     openssl = if getConfig ["python" "opensslSupport"] true then openssl else null;
2470     tk = if getConfig ["python" "tkSupport"] true then tk else null;
2471     tcl = if getConfig ["python" "tkSupport"] true then tcl else null;
2472     libX11 = if getConfig ["python" "tkSupport"] true then xlibs.libX11 else null;
2473     xproto = if getConfig ["python" "tkSupport"] true then xlibs.xproto else null;
2474   };
2476   python26Base = composedArgsAndFun (import ../development/interpreters/python/2.6) {
2477     inherit fetchurl stdenv zlib bzip2 gdbm;
2478     arch = if stdenv.isDarwin then darwinArchUtility else null;
2479     sw_vers = if stdenv.isDarwin then darwinSwVersUtility else null;
2480   };
2482   python26Full = python26Base.passthru.function {
2483     # FIXME: We lack ncurses support, needed, e.g., for `gpsd'.
2484     db4 = if getConfig ["python" "db4Support"] true then db4 else null;
2485     sqlite = if getConfig ["python" "sqliteSupport"] true then sqlite else null;
2486     readline = if getConfig ["python" "readlineSupport"] true then readline else null;
2487     openssl = if getConfig ["python" "opensslSupport"] true then openssl else null;
2488     tk = if getConfig ["python" "tkSupport"] true then tk else null;
2489     tcl = if getConfig ["python" "tkSupport"] true then tcl else null;
2490     libX11 = if getConfig ["python" "tkSupport"] true then xlibs.libX11 else null;
2491     xproto = if getConfig ["python" "tkSupport"] true then xlibs.xproto else null;
2492   };
2494   # new python and lib proposal
2495   # - adding a python lib to buildinputs should be enough
2496   #   (handles .pth files by patching site.py
2497   #    while introducing NIX_PYTHON_SITES describing list of modules)
2498   # - adding pyCheck = "import foo" test scripts to ensure libraries can be imported
2499   # - providing pythonWrapper so that you can run python and import the selected libraries
2500   # feel free to comment on this (experimental)
2501   python25New = recurseIntoAttrs ((import ../development/interpreters/python-new/2.5) pkgs);
2502   pythonNew = python25New; # the default python
2504   pyrex = pyrex095;
2506   pyrex095 = import ../development/interpreters/pyrex/0.9.5.nix {
2507     inherit fetchurl stdenv stringsWithDeps lib builderDefs python;
2508   };
2510   pyrex096 = import ../development/interpreters/pyrex/0.9.6.nix {
2511     inherit fetchurl stdenv stringsWithDeps lib builderDefs python;
2512   };
2514   Qi = composedArgsAndFun (import ../development/compilers/qi/9.1.nix) {
2515     inherit clisp stdenv fetchurl builderDefs unzip;
2516   };
2518   ruby18 = import ../development/interpreters/ruby {
2519     inherit fetchurl stdenv readline ncurses zlib openssl gdbm;
2520   };
2521   #ruby19 = import ../development/interpreters/ruby/ruby-19.nix { inherit ruby18 fetchurl; };
2522   ruby = ruby18;
2524   rubyLibs = recurseIntoAttrs (import ../development/interpreters/ruby/libs.nix {
2525     inherit pkgs stdenv;
2526   });
2528   rake = import ../development/ruby-modules/rake {
2529     inherit fetchurl stdenv ruby ;
2530   };
2532   rubySqlite3 = import ../development/ruby-modules/sqlite3 {
2533     inherit fetchurl stdenv ruby sqlite;
2534   };
2536   rLang = import ../development/interpreters/r-lang {
2537     inherit fetchurl stdenv readline perl gfortran libpng zlib;
2538     inherit (xorg) libX11 libXt;
2539     withBioconductor = getConfig ["rLang" "withBioconductor"] false;
2540   };
2542   rubygemsFun = ruby: builderDefsPackage (import ../development/interpreters/ruby/gems.nix) {
2543     inherit ruby makeWrapper;
2544   };
2545   rubygems = rubygemsFun ruby;
2547   rq = import ../applications/networking/cluster/rq {
2548     inherit fetchurl stdenv sqlite ruby ;
2549   };
2551   scsh = import ../development/interpreters/scsh {
2552     inherit stdenv fetchurl;
2553   };
2555   spidermonkey = import ../development/interpreters/spidermonkey {
2556     inherit fetchurl stdenv readline;
2557   };
2559   sysPerl = import ../development/interpreters/sys-perl {
2560     inherit stdenv;
2561   };
2563   tcl = import ../development/interpreters/tcl {
2564     inherit fetchurl stdenv;
2565   };
2567   xulrunnerWrapper = {application, launcher}:
2568     import ../development/interpreters/xulrunner/wrapper {
2569       inherit stdenv application launcher;
2570       xulrunner = xulrunner35;
2571     };
2574   ### DEVELOPMENT / MISC
2576   avrgcclibc = import ../development/misc/avr-gcc-with-avr-libc {
2577     inherit fetchurl stdenv writeTextFile gnumake coreutils gnutar bzip2
2578       gnugrep gnused gawk;
2579     gcc = gcc40;
2580   };
2582   avr8burnomat = import ../development/misc/avr8-burn-omat {
2583     inherit fetchurl stdenv unzip;
2584   };
2586   /*
2587   toolbus = import ../development/interpreters/toolbus {
2588     inherit stdenv fetchurl atermjava toolbuslib aterm yacc flex;
2589   };
2590   */
2592   sourceFromHead = import ../build-support/source-from-head-fun.nix {
2593     inherit getConfig;
2594   };
2596   ecj = import ../development/eclipse/ecj {
2597     inherit fetchurl stdenv unzip ant gcj;
2598   };
2600   jdtsdk = import ../development/eclipse/jdt-sdk {
2601     inherit fetchurl stdenv unzip;
2602   };
2604   jruby116 = import ../development/interpreters/jruby {
2605     inherit fetchurl stdenv;
2606   };
2608   guileCairo = import ../development/guile-modules/guile-cairo {
2609     inherit fetchurl stdenv guile pkgconfig cairo guileLib;
2610   };
2612   guileGnome = import ../development/guile-modules/guile-gnome {
2613     inherit fetchurl stdenv guile guileLib gwrap pkgconfig guileCairo;
2614     gconf = gnome.GConf;
2615     inherit (gnome) glib gnomevfs gtk libglade libgnome libgnomecanvas
2616       libgnomeui pango;
2617   };
2619   guileLib = import ../development/guile-modules/guile-lib {
2620     inherit fetchurl stdenv guile texinfo;
2621   };
2623   windowssdk = (
2624     import ../development/misc/windows-sdk {
2625       inherit fetchurl stdenv cabextract;
2626     });
2629   ### DEVELOPMENT / TOOLS
2632   antlr = import ../development/tools/parsing/antlr/2.7.7.nix {
2633     inherit fetchurl stdenv jdk python;
2634   };
2636   antlr3 = import ../development/tools/parsing/antlr {
2637     inherit fetchurl stdenv jre;
2638   };
2640   antDarwin = apacheAnt.override rec { jdk = openjdkDarwin ; name = "ant-" + jdk.name ; } ;
2642   ant = apacheAnt;
2643   apacheAnt = makeOverridable (import ../development/tools/build-managers/apache-ant) {
2644     inherit fetchurl stdenv jdk;
2645     name = "ant-" + jdk.name;
2646   };
2648   apacheAnt14 = import ../development/tools/build-managers/apache-ant {
2649     inherit fetchurl stdenv;
2650     jdk = j2sdk14x;
2651     name = "ant-" + j2sdk14x.name;
2652   };
2654   apacheAntGcj = import ../development/tools/build-managers/apache-ant/from-source.nix {
2655     inherit fetchurl stdenv;
2656     inherit junit; # must be either pre-built or built with GCJ *alone*
2657     javac = gcj;
2658     jvm = gcj;
2659   };
2661   autobuild = import ../development/tools/misc/autobuild {
2662     inherit fetchurl stdenv makeWrapper perl openssh rsync;
2663   };
2665   autoconf = import ../development/tools/misc/autoconf {
2666     inherit fetchurl stdenv perl m4;
2667   };
2669   autoconf213 = import ../development/tools/misc/autoconf/2.13.nix {
2670     inherit fetchurl stdenv perl m4 lzma;
2671   };
2673   automake = automake110x;
2675   automake17x = import ../development/tools/misc/automake/automake-1.7.x.nix {
2676     inherit fetchurl stdenv perl autoconf makeWrapper;
2677   };
2679   automake19x = import ../development/tools/misc/automake/automake-1.9.x.nix {
2680     inherit fetchurl stdenv perl autoconf makeWrapper;
2681   };
2683   automake110x = import ../development/tools/misc/automake/automake-1.10.x.nix {
2684     inherit fetchurl stdenv perl autoconf makeWrapper;
2685   };
2687   automake111x = import ../development/tools/misc/automake/automake-1.11.x.nix {
2688     inherit fetchurl stdenv perl autoconf makeWrapper;
2689   };
2691   avrdude = import ../development/tools/misc/avrdude {
2692     inherit lib fetchurl stdenv flex yacc composableDerivation texLive;
2693   };
2695   binutils = useFromStdenv "binutils"
2696     (import ../development/tools/misc/binutils {
2697       inherit fetchurl stdenv noSysDirs;
2698     });
2700   bison = bison23;
2702   bison1875 = import ../development/tools/parsing/bison/bison-1.875.nix {
2703     inherit fetchurl stdenv m4;
2704   };
2706   bison23 = import ../development/tools/parsing/bison/bison-2.3.nix {
2707     inherit fetchurl stdenv m4;
2708   };
2710   bison24 = import ../development/tools/parsing/bison/bison-2.4.nix {
2711     inherit fetchurl stdenv m4;
2712   };
2714   buildbot = import ../development/tools/build-managers/buildbot {
2715     inherit fetchurl stdenv buildPythonPackage texinfo;
2716     inherit (pythonPackages) twisted;
2717   };
2719   byacc = import ../development/tools/parsing/byacc {
2720     inherit fetchurl stdenv;
2721   };
2723   camlp5_strict = import ../development/tools/ocaml/camlp5 {
2724     inherit stdenv fetchurl ocaml;
2725   };
2727   camlp5_transitional = import ../development/tools/ocaml/camlp5 {
2728     inherit stdenv fetchurl ocaml;
2729     transitional = true;
2730   };
2732   ccache = import ../development/tools/misc/ccache {
2733     inherit fetchurl stdenv;
2734   };
2736   ctags = import ../development/tools/misc/ctags {
2737     inherit fetchurl sourceFromHead stdenv automake autoconf;
2738   };
2740   ctagsWrapped = import ../development/tools/misc/ctags/wrapped.nix {
2741     inherit pkgs ctags writeScriptBin;
2742   };
2744   cmake = import ../development/tools/build-managers/cmake {
2745     inherit fetchurl stdenv replace ncurses;
2746   };
2748   coccinelle = import ../development/tools/misc/coccinelle {
2749     inherit fetchurl stdenv perl python ocaml ncurses makeWrapper;
2750   };
2752   cproto = import ../development/tools/misc/cproto {
2753     inherit fetchurl stdenv flex bison;
2754   };
2756   cflow = import ../development/tools/misc/cflow {
2757     inherit fetchurl stdenv gettext emacs;
2758   };
2760   cscope = import ../development/tools/misc/cscope {
2761     inherit fetchurl stdenv ncurses pkgconfig emacs;
2762   };
2764   dejagnu = import ../development/tools/misc/dejagnu {
2765     inherit fetchurl stdenv expect makeWrapper;
2766   };
2768   ddd = import ../development/tools/misc/ddd {
2769     inherit fetchurl stdenv lesstif ncurses;
2770     inherit (xlibs) libX11 libXt;
2771   };
2773   distcc = import ../development/tools/misc/distcc {
2774     inherit fetchurl stdenv popt;
2775     python = if getPkgConfig "distcc" "python" true then python else null;
2776     avahi = if getPkgConfig "distcc" "avahi" false then avahi else null;
2777     pkgconfig = if getPkgConfig "distcc" "gtk" false then pkgconfig else null;
2778     gtk = if getPkgConfig "distcc" "gtk" false then gtkLibs.gtk else null;
2779     static = getPkgConfig "distcc" "static" false;
2780   };
2782   docutils = builderDefsPackage (import ../development/tools/documentation/docutils) {
2783     inherit python pil makeWrapper;
2784   };
2786   doxygen = import ../development/tools/documentation/doxygen {
2787     inherit fetchurl stdenv graphviz perl flex bison gnumake;
2788     inherit (xlibs) libX11 libXext;
2789     qt = if getPkgConfig "doxygen" "qt4" true then qt4 else null;
2790   };
2792   eggdbus = import ../development/tools/misc/eggdbus {
2793     inherit stdenv fetchurl pkgconfig dbus dbus_glib glib;
2794   };
2796   elfutils = import ../development/tools/misc/elfutils {
2797     inherit fetchurl stdenv m4;
2798   };
2800   epm = import ../development/tools/misc/epm {
2801     inherit fetchurl stdenv rpm;
2802   };
2804   emma = import ../development/tools/analysis/emma {
2805     inherit fetchurl stdenv unzip;
2806   };
2808   findbugs = import ../development/tools/analysis/findbugs {
2809     inherit fetchurl stdenv;
2810   };
2812   pmd = import ../development/tools/analysis/pmd {
2813     inherit fetchurl stdenv unzip;
2814   };
2816   jdepend = import ../development/tools/analysis/jdepend {
2817     inherit fetchurl stdenv unzip;
2818   };
2820   checkstyle = import ../development/tools/analysis/checkstyle {
2821     inherit fetchurl stdenv unzip;
2822   };
2824   flex = flex254a;
2826   flex2535 = import ../development/tools/parsing/flex/flex-2.5.35.nix {
2827     inherit fetchurl stdenv yacc m4;
2828   };
2830   flex2534 = import ../development/tools/parsing/flex/flex-2.5.34.nix {
2831     inherit fetchurl stdenv yacc m4;
2832   };
2834   flex2533 = import ../development/tools/parsing/flex/flex-2.5.33.nix {
2835     inherit fetchurl stdenv yacc m4;
2836   };
2838   # Note: 2.5.4a is much older than 2.5.35 but happens first when sorting
2839   # alphabetically, hence the low priority.
2840   flex254a = lowPrio (import ../development/tools/parsing/flex/flex-2.5.4a.nix {
2841     inherit fetchurl stdenv yacc;
2842   });
2844   m4 = gnum4;
2846   global = import ../development/tools/misc/global {
2847     inherit fetchurl stdenv;
2848   };
2850   gnum4 = import ../development/tools/misc/gnum4 {
2851     inherit fetchurl stdenv;
2852   };
2854   gnumake = useFromStdenv "gnumake"
2855     (import ../development/tools/build-managers/gnumake {
2856       inherit fetchurl stdenv;
2857     });
2859   gnumake380 = import ../development/tools/build-managers/gnumake-3.80 {
2860     inherit fetchurl stdenv;
2861   };
2863   gperf = import ../development/tools/misc/gperf {
2864     inherit fetchurl stdenv;
2865   };
2867   gtkdialog = import ../development/tools/misc/gtkdialog {
2868     inherit fetchurl stdenv pkgconfig;
2869     inherit (gtkLibs) gtk;
2870   };
2872   guileLint = import ../development/tools/guile/guile-lint {
2873     inherit fetchurl stdenv guile;
2874   };
2876   gwrap = import ../development/tools/guile/g-wrap {
2877     inherit fetchurl stdenv guile libffi pkgconfig guileLib glib;
2878   };
2880   help2man = import ../development/tools/misc/help2man {
2881     inherit fetchurl stdenv perl gettext;
2882     inherit (perlPackages) LocaleGettext;
2883   };
2885   iconnamingutils = import ../development/tools/misc/icon-naming-utils {
2886     inherit fetchurl stdenv perl;
2887     inherit (perlPackages) XMLSimple;
2888   };
2890   indent = import ../development/tools/misc/indent {
2891     inherit fetchurl stdenv;
2892   };
2894   inotifyTools = import ../development/tools/misc/inotify-tools {
2895     inherit fetchurl stdenv lib;
2896   };
2898   jikespg = import ../development/tools/parsing/jikespg {
2899     inherit fetchurl stdenv;
2900   };
2902   kcachegrind = import ../development/tools/misc/kcachegrind {
2903     inherit fetchurl stdenv kdelibs zlib perl expat libpng libjpeg;
2904     inherit (xlibs) libX11 libXext libSM;
2905     qt = qt3;
2906   };
2908   lcov = import ../development/tools/analysis/lcov {
2909     inherit fetchurl stdenv perl;
2910   };
2912   libtool = libtool_2;
2914   libtool_1_5 = import ../development/tools/misc/libtool {
2915     inherit fetchurl stdenv perl m4;
2916   };
2918   libtool_2 = import ../development/tools/misc/libtool/libtool2.nix {
2919     inherit fetchurl stdenv lzma perl m4;
2920   };
2922   lsof = import ../development/tools/misc/lsof {
2923     inherit fetchurl stdenv;
2924   };
2926   ltrace = composedArgsAndFun (import ../development/tools/misc/ltrace/0.5-3deb.nix) {
2927     inherit fetchurl stdenv builderDefs stringsWithDeps lib elfutils;
2928   };
2930   mk = import ../development/tools/build-managers/mk {
2931     inherit fetchurl stdenv;
2932   };
2934   noweb = import ../development/tools/literate-programming/noweb {
2935     inherit fetchurl stdenv;
2936   };
2938   openafsClient = import ../servers/openafs-client {
2939     inherit stdenv fetchurl autoconf automake flex yacc;
2940     inherit kernel_2_6_28 glibc ncurses perl krb5;
2941   };
2943   openocd = import ../development/tools/misc/openocd {
2944     inherit fetchurl stdenv libftdi;
2945   };
2947   oprofile = import ../development/tools/profiling/oprofile {
2948     inherit fetchurl stdenv binutils popt;
2949     inherit makeWrapper gawk which gnugrep;
2950   };
2952   patchelf = useFromStdenv "patchelf"
2953     (import ../development/tools/misc/patchelf {
2954       inherit fetchurl stdenv;
2955     });
2957   patchelf05 = import ../development/tools/misc/patchelf/0.5.nix {
2958     inherit fetchurl stdenv;
2959   };
2961   pmccabe = import ../development/tools/misc/pmccabe {
2962     inherit fetchurl stdenv;
2963   };
2965   /**
2966    * pkgconfig is optionally taken from the stdenv to allow bootstrapping
2967    * of glib and pkgconfig itself on MinGW.
2968    */
2969   pkgconfig = useFromStdenv "pkgconfig"
2970     (import ../development/tools/misc/pkgconfig {
2971       inherit fetchurl stdenv;
2972     });
2974   radare = import ../development/tools/analysis/radare {
2975     inherit stdenv fetchurl pkgconfig libusb readline gtkdialog python
2976       ruby libewf perl;
2977     inherit (gtkLibs) gtk;
2978     inherit (gnome) vte;
2979     lua = lua5;
2980     useX11 = getConfig ["radare" "useX11"] false;
2981     pythonBindings = getConfig ["radare" "pythonBindings"] false;
2982     rubyBindings = getConfig ["radare" "rubyBindings"] false;
2983     luaBindings = getConfig ["radare" "luaBindings"] false;
2984   };
2986   ragel = import ../development/tools/parsing/ragel {
2987     inherit composableDerivation fetchurl transfig texLive;
2988   };
2990   remake = import ../development/tools/build-managers/remake {
2991       inherit fetchurl stdenv;
2992     };
2994   # couldn't find the source yet
2995   seleniumRCBin = import ../development/tools/selenium/remote-control {
2996     inherit fetchurl stdenv unzip;
2997     jre = jdk;
2998   };
3000   scons = import ../development/tools/build-managers/scons {
3001     inherit fetchurl stdenv python makeWrapper;
3002   };
3004   sloccount = import ../development/tools/misc/sloccount {
3005     inherit fetchurl stdenv perl;
3006   };
3008   sparse = import ../development/tools/analysis/sparse {
3009     inherit fetchurl stdenv pkgconfig;
3010   };
3012   spin = import ../development/tools/analysis/spin {
3013     inherit fetchurl stdenv flex yacc tk;
3014   };
3016   splint = import ../development/tools/analysis/splint {
3017     inherit fetchurl stdenv flex;
3018   };
3020   strace = import ../development/tools/misc/strace {
3021     inherit fetchurl stdenv;
3022   };
3024   swig = import ../development/tools/misc/swig {
3025     inherit fetchurl stdenv boost;
3026   };
3028   swigWithJava = swig;
3030   swftools = import ../tools/video/swftools {
3031     inherit fetchurl stdenv x264 zlib libjpeg freetype giflib;
3032   };
3034   texinfo49 = import ../development/tools/misc/texinfo/4.9.nix {
3035     inherit fetchurl stdenv ncurses;
3036   };
3038   texinfo = import ../development/tools/misc/texinfo {
3039     inherit fetchurl stdenv ncurses lzma;
3040   };
3042   texi2html = import ../development/tools/misc/texi2html {
3043     inherit fetchurl stdenv perl;
3044   };
3046   uisp = import ../development/tools/misc/uisp {
3047     inherit fetchurl stdenv;
3048   };
3050   gdb = import ../development/tools/misc/gdb {
3051     inherit fetchurl stdenv ncurses gmp mpfr expat texinfo;
3052     readline = readline5;
3053   };
3055   valgrind = import ../development/tools/analysis/valgrind {
3056     inherit fetchurl stdenv perl gdb;
3057   };
3059   xxdiff = builderDefsPackage (import ../development/tools/misc/xxdiff/3.2.nix) {
3060     flex = flex2535;
3061     qt = qt3;
3062     inherit pkgconfig makeWrapper bison python;
3063     inherit (xlibs) libXext libX11;
3064   };
3066   yacc = bison;
3068   yodl = import ../development/tools/misc/yodl {
3069     inherit stdenv fetchurl perl;
3070   };
3073   ### DEVELOPMENT / LIBRARIES
3076   a52dec = import ../development/libraries/a52dec {
3077     inherit fetchurl stdenv;
3078   };
3080   aalib = import ../development/libraries/aalib {
3081     inherit fetchurl stdenv ncurses;
3082   };
3084   acl = useFromStdenv "acl"
3085     (import ../development/libraries/acl {
3086       inherit stdenv fetchurl gettext attr libtool;
3087     });
3089   adns = import ../development/libraries/adns/1.4.nix {
3090     inherit stdenv fetchurl;
3091     static = getPkgConfig "adns" "static" (stdenv ? isStatic || stdenv ? isDietLibC);
3092   };
3094   agg = import ../development/libraries/agg {
3095     inherit fetchurl stdenv autoconf automake libtool pkgconfig
3096       freetype SDL;
3097     inherit (xlibs) libX11;
3098   };
3100   amrnb = import ../development/libraries/amrnb {
3101     inherit fetchurl stdenv unzip;
3102   };
3104   amrwb = import ../development/libraries/amrwb {
3105     inherit fetchurl stdenv unzip;
3106   };
3108   apr = makeOverridable (import ../development/libraries/apr) {
3109     inherit (pkgsOverriden) fetchurl stdenv;
3110   };
3112   aprutil = makeOverridable (import ../development/libraries/apr-util) {
3113     inherit (pkgsOverriden) fetchurl stdenv apr expat db4;
3114     bdbSupport = true;
3115   };
3117   arts = import ../development/libraries/arts {
3118     inherit fetchurl stdenv pkgconfig;
3119     inherit (xlibs) libX11 libXext;
3120     inherit kdelibs zlib libjpeg libpng perl;
3121     qt = qt3;
3122     inherit (gnome) glib;
3123   };
3125   aspell = import ../development/libraries/aspell {
3126     inherit fetchurl stdenv perl;
3127   };
3129   aspellDicts = recurseIntoAttrs (import ../development/libraries/aspell/dictionaries.nix {
3130     inherit fetchurl stdenv aspell which;
3131   });
3133   aterm = aterm25;
3135   aterm242fixes = lowPrio (import ../development/libraries/aterm/2.4.2-fixes.nix {
3136     inherit fetchurl stdenv;
3137   });
3139   aterm25 = makeOverridable (import ../development/libraries/aterm/2.5.nix) {
3140     inherit fetchurl stdenv;
3141   };
3143   aterm28 = lowPrio (import ../development/libraries/aterm/2.8.nix {
3144     inherit fetchurl stdenv;
3145   });
3147   attr = useFromStdenv "attr"
3148     (import ../development/libraries/attr {
3149       inherit stdenv fetchurl gettext libtool;
3150     });
3152   aubio = import ../development/libraries/aubio {
3153     inherit fetchurl stdenv pkgconfig fftw libsndfile libsamplerate python
3154       alsaLib jackaudio;
3155   };
3157   axis = import ../development/libraries/axis {
3158     inherit fetchurl stdenv;
3159   };
3161   babl = import ../development/libraries/babl {
3162     inherit fetchurl stdenv;
3163   };
3165   beecrypt = import ../development/libraries/beecrypt {
3166     inherit fetchurl stdenv m4;
3167   };
3169   boehmgc = import ../development/libraries/boehm-gc {
3170     inherit fetchurl stdenv;
3171   };
3173   boolstuff = import ../development/libraries/boolstuff {
3174     inherit fetchurl stdenv lib pkgconfig;
3175   };
3177   boost_1_36_0 = import ../development/libraries/boost/1.36.0.nix {
3178     inherit fetchurl stdenv icu expat zlib bzip2 python;
3179   };
3181   boost = makeOverridable (import ../development/libraries/boost/1.41.0.nix) {
3182     inherit fetchurl stdenv icu expat zlib bzip2 python;
3183   };
3185   # A Boost build with all library variants enabled.  Very large (about 250 MB).
3186   boostFull = appendToName "full" (boost.override {
3187     enableDebug = true;
3188     enableSingleThreaded = true;
3189     enableStatic = true;
3190   });
3192   botan = builderDefsPackage (import ../development/libraries/botan) {
3193     inherit perl;
3194   };
3196   buddy = import ../development/libraries/buddy {
3197     inherit fetchurl stdenv bison;
3198   };
3200   cairo = import ../development/libraries/cairo {
3201     inherit fetchurl stdenv pkgconfig x11 fontconfig freetype zlib libpng;
3202     inherit (xlibs) pixman libxcb xcbutil;
3203   };
3205   cairomm = import ../development/libraries/cairomm {
3206     inherit fetchurl stdenv pkgconfig cairo x11 fontconfig freetype libsigcxx;
3207   };
3209   scmccid = import ../development/libraries/scmccid {
3210     inherit fetchurl stdenv libusb patchelf;
3211   };
3213   ccrtp = import ../development/libraries/ccrtp {
3214     inherit fetchurl stdenv lib pkgconfig openssl libgcrypt commoncpp2;
3215   };
3217   chipmunk = builderDefsPackage (import ../development/libraries/chipmunk) {
3218     inherit cmake freeglut mesa;
3219     inherit (xlibs) libX11 xproto inputproto libXi libXmu;
3220   };
3222   chmlib = import ../development/libraries/chmlib {
3223     inherit fetchurl stdenv;
3224   };
3226   cil = import ../development/libraries/cil {
3227     inherit stdenv fetchurl ocaml perl;
3228   };
3230   cilaterm = import ../development/libraries/cil-aterm {
3231     stdenv = overrideInStdenv stdenv [gnumake380];
3232     inherit fetchurl perl ocaml;
3233   };
3235   clanlib = import ../development/libraries/clanlib {
3236     inherit fetchurl stdenv zlib libpng libjpeg libvorbis libogg mesa;
3237     inherit (xlibs) libX11 xf86vidmodeproto libXmu libXxf86vm;
3238   };
3240   classpath = import ../development/libraries/java/classpath {
3241     javac = gcj;
3242     jvm = gcj;
3243     inherit fetchurl stdenv pkgconfig antlr;
3244     inherit (gtkLibs) gtk;
3245     gconf = gnome.GConf;
3246   };
3248   clearsilver = import ../development/libraries/clearsilver {
3249     inherit fetchurl stdenv python;
3250   };
3252   clppcre = builderDefsPackage (import ../development/libraries/cl-ppcre) {
3253   };
3255   cluceneCore = (import ../development/libraries/clucene-core) {
3256     inherit fetchurl stdenv;
3257   };
3259   commoncpp2 = import ../development/libraries/commoncpp2 {
3260     inherit stdenv fetchurl lib;
3261   };
3263   consolekit = makeOverridable (import ../development/libraries/consolekit) {
3264     inherit stdenv fetchurl pkgconfig dbus_glib zlib pam policykit expat glib;
3265     inherit (xlibs) libX11;
3266   };
3268   coredumper = import ../development/libraries/coredumper {
3269     inherit fetchurl stdenv;
3270   };
3272   ctl = import ../development/libraries/ctl {
3273     inherit fetchurl stdenv ilmbase;
3274   };
3276   cppunit = import ../development/libraries/cppunit {
3277     inherit fetchurl stdenv;
3278   };
3280   cracklib = import ../development/libraries/cracklib {
3281     inherit fetchurl stdenv;
3282   };
3284   cryptopp = import ../development/libraries/crypto++ {
3285     inherit fetchurl stdenv unzip libtool;
3286   };
3288   cyrus_sasl = import ../development/libraries/cyrus-sasl {
3289     inherit fetchurl stdenv openssl db4 gettext;
3290   };
3292   db4 = db45;
3294   db44 = import ../development/libraries/db4/db4-4.4.nix {
3295     inherit fetchurl stdenv;
3296   };
3298   db45 = import ../development/libraries/db4/db4-4.5.nix {
3299     inherit fetchurl stdenv;
3300   };
3302   dbus = import ../development/libraries/dbus {
3303     inherit fetchurl stdenv pkgconfig expat;
3304     inherit (xlibs) libX11 libICE libSM;
3305     useX11 = true; # !!! `false' doesn't build
3306   };
3308   dbus_glib = makeOverridable (import ../development/libraries/dbus-glib) {
3309     inherit fetchurl stdenv pkgconfig gettext dbus expat glib;
3310   };
3312   dbus_java = import ../development/libraries/java/dbus-java {
3313     inherit stdenv fetchurl gettext jdk libmatthew_java;
3314   };
3316   dclib = import ../development/libraries/dclib {
3317     inherit fetchurl stdenv libxml2 openssl bzip2;
3318   };
3320   directfb = import ../development/libraries/directfb {
3321     inherit fetchurl stdenv perl zlib libjpeg freetype
3322       SDL libpng giflib;
3323     inherit (xlibs) libX11 libXext xproto xextproto renderproto
3324       libXrender;
3325   };
3327   enchant = makeOverridable (import ../development/libraries/enchant) {
3328     inherit fetchurl stdenv aspell pkgconfig;
3329     inherit (gnome) glib;
3330   };
3332   enginepkcs11 = import ../development/libraries/enginepkcs11 {
3333     inherit fetchurl stdenv libp11 pkgconfig openssl;
3334   };
3336   exiv2 = import ../development/libraries/exiv2 {
3337     inherit fetchurl stdenv zlib;
3338   };
3340   expat = import ../development/libraries/expat {
3341     inherit fetchurl stdenv;
3342   };
3344   extremetuxracer = builderDefsPackage (import ../games/extremetuxracer) {
3345     inherit mesa tcl freeglut SDL SDL_mixer pkgconfig
3346         libpng gettext intltool;
3347     inherit (xlibs) libX11 xproto libXi inputproto
3348         libXmu libXext xextproto libXt libSM libICE;
3349   };
3351   eventlog = import ../development/libraries/eventlog {
3352     inherit fetchurl stdenv;
3353   };
3355   facile = import ../development/libraries/facile {
3356     inherit fetchurl stdenv;
3357     # Actually, we don't need this version but we need native-code compilation
3358     ocaml = ocaml_3_10_0;
3359   };
3361   faac = import ../development/libraries/faac {
3362     inherit fetchurl stdenv autoconf automake libtool;
3363   };
3365   faad2 = import ../development/libraries/faad2 {
3366     inherit fetchurl stdenv;
3367   };
3369   farsight2 = import ../development/libraries/farsight2 {
3370     inherit fetchurl stdenv libnice pkgconfig python;
3371     inherit (gnome) glib;
3372     inherit (gst_all) gstreamer gstPluginsBase;
3373   };
3375   fcgi = import ../development/libraries/fcgi {
3376       inherit fetchurl stdenv;
3377   };
3379   ffmpeg = import ../development/libraries/ffmpeg {
3380     inherit fetchurl stdenv faad2;
3381   };
3383   fftw = import ../development/libraries/fftw {
3384     inherit fetchurl stdenv builderDefs stringsWithDeps;
3385     singlePrecision = false;
3386   };
3388   fftwSinglePrec = import ../development/libraries/fftw {
3389     inherit fetchurl stdenv builderDefs stringsWithDeps;
3390     singlePrecision = true;
3391   };
3393   fltk11 = (import ../development/libraries/fltk/fltk11.nix) {
3394     inherit composableDerivation x11 lib pkgconfig freeglut;
3395     inherit fetchurl stdenv mesa libpng libjpeg zlib ;
3396     inherit (xlibs) inputproto libXi libXinerama libXft;
3397     flags = [ "useNixLibs" "threads" "shared" "gl" ];
3398   };
3400   fltk20 = (import ../development/libraries/fltk) {
3401     inherit composableDerivation x11 lib pkgconfig freeglut;
3402     inherit fetchurl stdenv mesa libpng libjpeg zlib ;
3403     inherit (xlibs) inputproto libXi libXinerama libXft;
3404     flags = [ "useNixLibs" "threads" "shared" "gl" ];
3405   };
3407   fmod = import ../development/libraries/fmod {
3408     inherit stdenv fetchurl;
3409   };
3411   freeimage = import ../development/libraries/freeimage {
3412     inherit fetchurl stdenv unzip;
3413   };
3415   freetts = import ../development/libraries/freetts {
3416     inherit stdenv fetchurl apacheAnt unzip sharutils lib;
3417   };
3419   cfitsio = import ../development/libraries/cfitsio {
3420     inherit fetchurl stdenv;
3421   };
3423   fontconfig = import ../development/libraries/fontconfig {
3424     inherit fetchurl stdenv freetype expat;
3425   };
3427   makeFontsConf = let fontconfig_ = fontconfig; in {fontconfig ? fontconfig_, fontDirectories}:
3428     import ../development/libraries/fontconfig/make-fonts-conf.nix {
3429       inherit runCommand libxslt fontconfig fontDirectories;
3430     };
3432   freealut = import ../development/libraries/freealut {
3433     inherit fetchurl stdenv openal;
3434   };
3436   freeglut = import ../development/libraries/freeglut {
3437     inherit fetchurl stdenv x11 mesa;
3438   };
3440   freetype = import ../development/libraries/freetype {
3441     inherit fetchurl stdenv;
3442   };
3444   fribidi = import ../development/libraries/fribidi {
3445     inherit fetchurl stdenv;
3446   };
3448   fam = gamin;
3450   gamin = import ../development/libraries/gamin {
3451     inherit fetchurl stdenv python pkgconfig glib;
3452   };
3454   gav = import ../games/gav {
3455     inherit fetchurl SDL SDL_image SDL_mixer SDL_net;
3456     stdenv = overrideGCC stdenv gcc41;
3457   };
3459   gdbm = import ../development/libraries/gdbm {
3460     inherit fetchurl stdenv;
3461   };
3463   gdk_pixbuf = import ../development/libraries/gdk-pixbuf {
3464     inherit fetchurl stdenv libtiff libjpeg libpng;
3465     inherit (gtkLibs1x) gtk;
3466   };
3468   gegl = import ../development/libraries/gegl {
3469     inherit fetchurl stdenv libpng pkgconfig babl;
3470     openexr = openexr_1_6_1;
3471     #  avocodec avformat librsvg
3472     inherit cairo libjpeg librsvg;
3473     inherit (gtkLibs) pango glib gtk;
3474   };
3476   geoip = builderDefsPackage ../development/libraries/geoip {
3477     inherit zlib;
3478   };
3480   geos = import ../development/libraries/geos {
3481     inherit fetchurl fetchsvn stdenv autoconf
3482       automake libtool swig which lib composableDerivation python ruby;
3483     use_svn = stdenv.system == "x86_64-linux";
3484   };
3486   gettext = import ../development/libraries/gettext {
3487     inherit fetchurl stdenv libiconv;
3488   };
3490   gd = import ../development/libraries/gd {
3491     inherit fetchurl stdenv zlib libpng freetype libjpeg fontconfig;
3492   };
3494   gdal = stdenv.mkDerivation {
3495     name = "gdal-1.6.1-rc1";
3496     src = fetchurl {
3497       url = ftp://ftp.remotesensing.org/gdal/gdal-1.6.1-RC1.tar.gz;
3498       sha256 = "0f7da588yvb1d3l3gk5m0hrqlhg8m4gw93aip3dwkmnawz9r0qcw";
3499     };
3500   };
3502   giblib = import ../development/libraries/giblib {
3503     inherit fetchurl stdenv x11 imlib2;
3504   };
3506   glew = import ../development/libraries/glew {
3507     inherit fetchurl stdenv mesa x11 libtool;
3508     inherit (xlibs) libXmu libXi;
3509   };
3511   glefw = import ../development/libraries/glefw {
3512     inherit fetchurl stdenv lib mesa;
3513     inherit (xlibs) libX11 libXext xextproto;
3514   };
3516   glibc =
3517     let haveRedHatKernel       = system == "i686-linux" || system == "x86_64-linux";
3518         haveBrokenRedHatKernel = haveRedHatKernel && getConfig ["brokenRedHatKernel"] false;
3519     in
3520     useFromStdenv "glibc" (if haveBrokenRedHatKernel then glibc25 else glibc29);
3522   glibc25 = import ../development/libraries/glibc-2.5 {
3523     inherit fetchurl stdenv kernelHeaders;
3524     installLocales = getPkgConfig "glibc" "locales" false;
3525   };
3527   glibc27 = import ../development/libraries/glibc-2.7 {
3528     inherit fetchurl stdenv kernelHeaders;
3529     #installLocales = false;
3530   };
3532   glibc29 = import ../development/libraries/glibc-2.9 {
3533     inherit fetchurl stdenv kernelHeaders;
3534     installLocales = getPkgConfig "glibc" "locales" false;
3535   };
3537   glibcLocales = makeOverridable (import ../development/libraries/glibc-2.9/locales.nix) {
3538     inherit fetchurl stdenv;
3539   };
3541   glibcInfo = import ../development/libraries/glibc-2.9/info.nix {
3542     inherit fetchurl stdenv texinfo perl;
3543   };
3545   glibc_multi =
3546       runCommand "${glibc.name}-multi"
3547         { glibc64 = glibc;
3548           glibc32 = (import ./all-packages.nix {system = "i686-linux";}).glibc;
3549         }
3550         ''
3551           ensureDir $out
3552           ln -s $glibc64/* $out/
3554           rm $out/lib $out/lib64
3555           ensureDir $out/lib
3556           ln -s $glibc64/lib/* $out/lib
3557           ln -s $glibc32/lib $out/lib/32
3558           ln -s lib $out/lib64
3560           rm $out/include
3561           cp -rs $glibc32/include $out
3562           chmod -R u+w $out/include
3563           cp -rsf $glibc64/include $out
3564         '' # */
3565         ;
3567   gmime = import ../development/libraries/gmime {
3568     inherit fetchurl stdenv pkgconfig zlib glib;
3569   };
3571   gmm = import ../development/libraries/gmm {
3572     inherit fetchurl stdenv;
3573   };
3575   gmp = import ../development/libraries/gmp {
3576     inherit fetchurl stdenv m4;
3577     cxx = false;
3578   };
3580   gmpxx = import ../development/libraries/gmp {
3581     inherit fetchurl stdenv m4;
3582     cxx = true;
3583   };
3585   goffice = import ../development/libraries/goffice {
3586     inherit fetchurl stdenv pkgconfig libgsf libxml2 cairo
3587       intltool gettext bzip2;
3588     inherit (gnome) glib gtk libglade libgnomeui pango;
3589     gconf = gnome.GConf;
3590     libart = gnome.libart_lgpl;
3591   };
3593   goocanvas = import ../development/libraries/goocanvas {
3594     inherit fetchurl stdenv pkgconfig cairo;
3595     inherit (gnome) gtk glib;
3596   };
3598   #GMP ex-satellite, so better keep it near gmp
3599   mpfr = import ../development/libraries/mpfr {
3600     inherit fetchurl stdenv gmp;
3601   };
3603   gst_all = recurseIntoAttrs (import ../development/libraries/gstreamer {
3604     inherit lib stdenv fetchurl perl bison pkgconfig libxml2
3605       python alsaLib cdparanoia libogg libvorbis libtheora freetype liboil
3606       libjpeg zlib speex libpng libdv aalib cairo libcaca flac hal libiec61883
3607       dbus libavc1394 ladspaH taglib pulseaudio gdbm bzip2 which makeOverridable
3608       libcap libtasn1;
3609     flex = flex2535;
3610     inherit (xorg) libX11 libXv libXext;
3611     inherit (gtkLibs) glib pango gtk;
3612     inherit (gnome) gnomevfs /* <- only passed for the no longer used older versions
3613              it is deprecated and didn't build on amd64 due to samba dependency */ gtkdoc
3614              libsoup;
3615   });
3617   gnet = import ../development/libraries/gnet {
3618     inherit fetchurl stdenv pkgconfig glib;
3619   };
3621   gnutls = import ../development/libraries/gnutls {
3622     inherit fetchurl stdenv libgcrypt zlib lzo libtasn1 guile;
3623     guileBindings = getConfig ["gnutls" "guile"] true;
3624   };
3626   gpgme = import ../development/libraries/gpgme {
3627     inherit fetchurl stdenv libgpgerror pkgconfig pth gnupg gnupg2 glib;
3628   };
3630   gsl = import ../development/libraries/gsl {
3631     inherit fetchurl stdenv;
3632   };
3634   gtkimageview = import ../development/libraries/gtkimageview {
3635     inherit fetchurl stdenv pkgconfig;
3636     inherit (gnome) gtk;
3637   };
3639   gtkLibs = recurseIntoAttrs gtkLibs218;
3641   glib = gtkLibs.glib;
3643   gtkLibs1x = rec {
3645     glib = import ../development/libraries/glib/1.2.x.nix {
3646       inherit fetchurl stdenv;
3647     };
3649     gtk = import ../development/libraries/gtk+/1.2.x.nix {
3650       inherit fetchurl stdenv x11 glib;
3651     };
3653   };
3655   gtkLibs216 = rec {
3657     glib = import ../development/libraries/glib/2.20.x.nix {
3658       inherit fetchurl stdenv pkgconfig gettext perl;
3659     };
3661     glibmm = import ../development/libraries/glibmm/2.18.x.nix {
3662       inherit fetchurl stdenv pkgconfig glib libsigcxx;
3663     };
3665     atk = import ../development/libraries/atk/1.24.x.nix {
3666       inherit fetchurl stdenv pkgconfig perl glib;
3667     };
3669     pango = import ../development/libraries/pango/1.24.x.nix {
3670       inherit fetchurl stdenv pkgconfig gettext x11 glib cairo libpng;
3671     };
3673     pangomm = import ../development/libraries/pangomm/2.14.x.nix {
3674       inherit fetchurl stdenv pkgconfig pango glibmm cairomm libpng;
3675     };
3677     gtk = import ../development/libraries/gtk+/2.16.x.nix {
3678       inherit fetchurl stdenv pkgconfig perl jasper x11 glib atk pango
3679         libtiff libjpeg libpng cairo xlibs;
3680     };
3682     gtkmm = import ../development/libraries/gtkmm/2.14.x.nix {
3683       inherit fetchurl stdenv pkgconfig gtk atk glibmm cairomm pangomm;
3684     };
3686   };
3688   gtkLibs218 = rec {
3690     glib = import ../development/libraries/glib/2.22.x.nix {
3691       inherit fetchurl stdenv pkgconfig gettext perl;
3692     };
3694     glibmm = import ../development/libraries/glibmm/2.22.x.nix {
3695       inherit fetchurl stdenv pkgconfig glib libsigcxx;
3696     };
3698     atk = import ../development/libraries/atk/1.28.x.nix {
3699       inherit fetchurl stdenv pkgconfig perl glib;
3700     };
3702     pango = import ../development/libraries/pango/1.26.x.nix {
3703       inherit fetchurl stdenv pkgconfig gettext x11 glib cairo libpng;
3704     };
3706     pangomm = import ../development/libraries/pangomm/2.26.x.nix {
3707       inherit fetchurl stdenv pkgconfig pango glibmm cairomm libpng;
3708     };
3710     gtk = import ../development/libraries/gtk+/2.18.x.nix {
3711       inherit fetchurl stdenv pkgconfig perl jasper glib atk pango
3712         libtiff libjpeg libpng cairo xlibs cups;
3713     };
3715     gtkmm = import ../development/libraries/gtkmm/2.18.x.nix {
3716       inherit fetchurl stdenv pkgconfig gtk atk glibmm cairomm pangomm;
3717     };
3719   };
3721   gtkmozembedsharp = import ../development/libraries/gtkmozembed-sharp {
3722     inherit fetchurl stdenv mono pkgconfig monoDLLFixer;
3723     inherit (gnome) gtk;
3724     gtksharp = gtksharp2;
3725   };
3727   gtksharp1 = import ../development/libraries/gtk-sharp-1 {
3728     inherit fetchurl stdenv mono pkgconfig libxml2 monoDLLFixer;
3729     inherit (gnome) gtk glib pango libglade libgtkhtml gtkhtml
3730               libgnomecanvas libgnomeui libgnomeprint
3731               libgnomeprintui GConf;
3732   };
3734   gtksharp2 = import ../development/libraries/gtk-sharp-2 {
3735     inherit fetchurl stdenv mono pkgconfig libxml2 monoDLLFixer;
3736     inherit (gnome) gtk glib pango libglade libgtkhtml gtkhtml
3737               libgnomecanvas libgnomeui libgnomeprint
3738               libgnomeprintui GConf gnomepanel;
3739   };
3741   gtksourceviewsharp = import ../development/libraries/gtksourceview-sharp {
3742     inherit fetchurl stdenv mono pkgconfig monoDLLFixer;
3743     inherit (gnome) gtksourceview;
3744     gtksharp = gtksharp2;
3745   };
3747   gtkspell = import ../development/libraries/gtkspell {
3748     inherit fetchurl stdenv pkgconfig;
3749     inherit (gtkLibs) gtk;
3750     inherit aspell;
3751   };
3753   # TODO : Add MIT Kerberos and let admin choose.
3754   kerberos = heimdal;
3756   heimdal = import ../development/libraries/kerberos/heimdal.nix {
3757     inherit fetchurl stdenv readline db4 openssl openldap cyrus_sasl;
3758   };
3760   hsqldb = import ../development/libraries/java/hsqldb {
3761     inherit stdenv fetchurl unzip;
3762   };
3764   hwloc = import ../development/libraries/hwloc {
3765     inherit fetchurl stdenv pkgconfig cairo expat;
3766   };
3768   icu = import ../development/libraries/icu {
3769     inherit fetchurl stdenv;
3770   };
3772   id3lib = import ../development/libraries/id3lib {
3773     inherit fetchurl stdenv;
3774   };
3776   ilbc = import ../development/libraries/ilbc {
3777     inherit stdenv msilbc;
3778   };
3780   ilmbase = import ../development/libraries/ilmbase {
3781     inherit fetchurl stdenv;
3782   };
3784   imlib = import ../development/libraries/imlib {
3785     inherit fetchurl stdenv libjpeg libtiff libungif libpng;
3786     inherit (xlibs) libX11 libXext xextproto;
3787   };
3789   imlib2 = import ../development/libraries/imlib2 {
3790     inherit fetchurl stdenv x11 libjpeg libtiff libungif libpng bzip2;
3791   };
3793   indilib = import ../development/libraries/indilib {
3794     inherit fetchurl stdenv cfitsio libusb zlib;
3795   };
3797   iniparser = import ../development/libraries/iniparser {
3798     inherit fetchurl stdenv;
3799   };
3801   intltool = gnome.intltool;
3803   isocodes = import ../development/libraries/iso-codes {
3804     inherit stdenv fetchurl gettext python;
3805   };
3807   jamp = builderDefsPackage ../games/jamp {
3808     inherit mesa SDL SDL_image SDL_mixer;
3809   };
3811   jasper = import ../development/libraries/jasper {
3812     inherit fetchurl stdenv unzip xlibs libjpeg;
3813   };
3815   jetty_gwt = import ../development/libraries/java/jetty-gwt {
3816     inherit stdenv fetchurl;
3817   };
3819   jetty_util = import ../development/libraries/java/jetty-util {
3820     inherit stdenv fetchurl;
3821   };
3823   krb5 = import ../development/libraries/kerberos/krb5.nix {
3824     inherit stdenv fetchurl perl ncurses yacc;
3825   };
3827   lablgtk = import ../development/libraries/lablgtk {
3828     inherit fetchurl stdenv ocaml pkgconfig;
3829     inherit (gtkLibs) gtk;
3830     inherit (gnome) libgnomecanvas;
3831   };
3833   lcms = import ../development/libraries/lcms {
3834     inherit fetchurl stdenv;
3835   };
3837   lesstif = import ../development/libraries/lesstif {
3838     inherit fetchurl stdenv x11;
3839     inherit (xlibs) libXp libXau;
3840   };
3842   lesstif93 = import ../development/libraries/lesstif-0.93 {
3843     inherit fetchurl stdenv x11;
3844     inherit (xlibs) libXp libXau;
3845   };
3847   levmar = import ../development/libraries/levmar {
3848     inherit fetchurl stdenv;
3849   };
3851   lib3ds = import ../development/libraries/lib3ds {
3852     inherit fetchurl stdenv unzip;
3853   };
3855   libaal = import ../development/libraries/libaal {
3856     inherit fetchurl stdenv;
3857   };
3859   libao = import ../development/libraries/libao {
3860     inherit stdenv fetchurl pkgconfig pulseaudio;
3861   };
3863   libarchive = import ../development/libraries/libarchive {
3864     inherit fetchurl stdenv zlib bzip2 e2fsprogs sharutils;
3865   };
3867   libassuan = import ../development/libraries/libassuan {
3868     inherit fetchurl stdenv pth;
3869   };
3871   libavc1394 = import ../development/libraries/libavc1394 {
3872     inherit fetchurl stdenv pkgconfig libraw1394;
3873   };
3875   libcaca = import ../development/libraries/libcaca {
3876     inherit fetchurl stdenv ncurses;
3877   };
3879   libcanberra = import ../development/libraries/libcanberra {
3880     inherit fetchurl stdenv pkgconfig libtool alsaLib pulseaudio libvorbis;
3881     inherit (gtkLibs) gtk gthread;
3882     gstreamer = gst_all.gstreamer;
3883   };
3885   libcdaudio = import ../development/libraries/libcdaudio {
3886     inherit fetchurl stdenv;
3887   };
3889   libcddb = import ../development/libraries/libcddb {
3890     inherit fetchurl stdenv;
3891   };
3893   libcdio = import ../development/libraries/libcdio {
3894     inherit fetchurl stdenv libcddb pkgconfig ncurses help2man;
3895   };
3897   libcm = import ../development/libraries/libcm {
3898     inherit fetchurl stdenv pkgconfig xlibs mesa glib;
3899   };
3901   libcv = builderDefsPackage (import ../development/libraries/libcv) {
3902     inherit libtiff libjpeg libpng pkgconfig;
3903     inherit (gtkLibs) gtk glib;
3904   };
3906   libdaemon = import ../development/libraries/libdaemon {
3907     inherit fetchurl stdenv;
3908   };
3910   libdbi = composedArgsAndFun (import ../development/libraries/libdbi/0.8.2.nix) {
3911     inherit stdenv fetchurl builderDefs;
3912   };
3914   libdbiDriversBase = composedArgsAndFun (import ../development/libraries/libdbi-drivers/0.8.2-1.nix) {
3915     inherit stdenv fetchurl builderDefs libdbi;
3916   };
3918   libdbiDrivers = libdbiDriversBase.passthru.function {
3919     inherit sqlite mysql;
3920   };
3922   libdv = import ../development/libraries/libdv {
3923     inherit fetchurl stdenv lib composableDerivation;
3924   };
3926   libdrm = import ../development/libraries/libdrm {
3927     inherit fetchurl stdenv pkgconfig;
3928     inherit (xorg) libpthreadstubs;
3929   };
3931   libdvdcss = import ../development/libraries/libdvdcss {
3932     inherit fetchurl stdenv;
3933   };
3935   libdvdnav = import ../development/libraries/libdvdnav {
3936     inherit fetchurl stdenv libdvdread;
3937   };
3939   libdvdread = import ../development/libraries/libdvdread {
3940     inherit fetchurl stdenv libdvdcss;
3941   };
3943   libedit = import ../development/libraries/libedit {
3944     inherit fetchurl stdenv ncurses;
3945   };
3947   liblo = import ../development/libraries/liblo {
3948     inherit fetchurl stdenv;
3949   };
3951   libev = builderDefsPackage ../development/libraries/libev {
3952   };
3954   libevent = import ../development/libraries/libevent {
3955     inherit fetchurl stdenv;
3956   };
3958   libewf = import ../development/libraries/libewf {
3959     inherit fetchurl stdenv zlib openssl libuuid;
3960   };
3962   libexif = import ../development/libraries/libexif {
3963     inherit fetchurl stdenv gettext;
3964   };
3966   libextractor = import ../development/libraries/libextractor {
3967     inherit fetchurl stdenv libtool gettext zlib bzip2 flac libvorbis
3968      exiv2 ffmpeg libgsf glib rpm pkgconfig;
3969     inherit (gnome) gtk;
3970     libmpeg2 = mpeg2dec;
3971   };
3973   libffcall = builderDefsPackage (import ../development/libraries/libffcall) {
3974     inherit fetchcvs;
3975   };
3977   libffi = import ../development/libraries/libffi {
3978     inherit fetchurl stdenv;
3979   };
3981   libftdi = import ../development/libraries/libftdi {
3982     inherit fetchurl stdenv libusb;
3983   };
3985   libgcrypt = import ../development/libraries/libgcrypt {
3986     inherit fetchurl stdenv libgpgerror;
3987   };
3989   libgpgerror = import ../development/libraries/libgpg-error {
3990     inherit fetchurl stdenv;
3991   };
3993   libgphoto2 = import ../development/libraries/libgphoto2 {
3994     inherit fetchurl stdenv pkgconfig libusb libtool libexif libjpeg gettext;
3995   };
3997   libgpod = import ../development/libraries/libgpod {
3998     inherit fetchurl stdenv gettext perl perlXMLParser pkgconfig libxml2 glib;
3999   };
4001   libharu = import ../development/libraries/libharu {
4002     inherit fetchurl stdenv lib zlib libpng;
4003   };
4005   libical = import ../development/libraries/libical {
4006     inherit stdenv fetchurl perl;
4007   };
4009   libnice = import ../development/libraries/libnice {
4010     inherit stdenv fetchurl pkgconfig;
4011     inherit (gnome) glib;
4012   };
4014   libQGLViewer = import ../development/libraries/libqglviewer {
4015     inherit fetchurl stdenv;
4016     inherit qt4;
4017   };
4019   libsamplerate = import ../development/libraries/libsamplerate {
4020     inherit fetchurl stdenv pkgconfig lib;
4021   };
4023   libspectre = import ../development/libraries/libspectre {
4024     inherit fetchurl stdenv;
4025     ghostscript = ghostscriptX;
4026   };
4028   libgsf = import ../development/libraries/libgsf {
4029     inherit fetchurl stdenv perl perlXMLParser pkgconfig libxml2
4030       intltool gettext bzip2 python;
4031     inherit (gnome) glib gnomevfs libbonobo;
4032   };
4034   libiconv = import ../development/libraries/libiconv {
4035     inherit fetchurl stdenv;
4036   };
4038   libid3tag = import ../development/libraries/libid3tag {
4039     inherit fetchurl stdenv zlib;
4040   };
4042   libidn = import ../development/libraries/libidn {
4043     inherit fetchurl stdenv;
4044   };
4046   libiec61883 = import ../development/libraries/libiec61883 {
4047     inherit fetchurl stdenv pkgconfig libraw1394;
4048   };
4050   libiptcdata = import ../development/libraries/libiptcdata {
4051     inherit fetchurl stdenv;
4052   };
4054   libjingle = import ../development/libraries/libjingle/0.3.11.nix {
4055     inherit fetchurl stdenv mediastreamer;
4056   };
4058   libjpeg = makeOverridable (import ../development/libraries/libjpeg) {
4059     inherit fetchurl stdenv;
4060     libtool = libtool_1_5;
4061   };
4063   libjpeg62 = makeOverridable (import ../development/libraries/libjpeg/62.nix) {
4064     inherit fetchurl stdenv;
4065     libtool = libtool_1_5;
4066   };
4068   libjpegStatic = lowPrio (appendToName "static" (libjpeg.override {
4069     static = true;
4070   }));
4072   libksba = import ../development/libraries/libksba {
4073     inherit fetchurl stdenv libgpgerror;
4074   };
4076   libmad = import ../development/libraries/libmad {
4077     inherit fetchurl stdenv;
4078   };
4080   libmatthew_java = import ../development/libraries/java/libmatthew-java {
4081     inherit stdenv fetchurl jdk;
4082   };
4084   libmcs = import ../development/libraries/libmcs {
4085     inherit fetchurl stdenv pkgconfig libmowgli;
4086   };
4088   libmicrohttpd = import ../development/libraries/libmicrohttpd {
4089     inherit fetchurl stdenv curl;
4090   };
4092   libmowgli = import ../development/libraries/libmowgli {
4093     inherit fetchurl stdenv;
4094   };
4096   libmng = import ../development/libraries/libmng {
4097     inherit fetchurl stdenv lib zlib libpng libjpeg lcms automake autoconf libtool;
4098   };
4100   libmpcdec = import ../development/libraries/libmpcdec {
4101     inherit fetchurl stdenv;
4102   };
4104   libmsn = import ../development/libraries/libmsn {
4105     inherit stdenv fetchurl cmake openssl;
4106   };
4108   libmspack = import ../development/libraries/libmspack {
4109     inherit fetchurl stdenv;
4110   };
4112   libmusclecard = import ../development/libraries/libmusclecard {
4113     inherit fetchurl stdenv pkgconfig pcsclite;
4114   };
4116   libnova = import ../development/libraries/libnova {
4117     inherit fetchurl stdenv;
4118   };
4120   libogg = import ../development/libraries/libogg {
4121     inherit fetchurl stdenv;
4122   };
4124   liboil = makeOverridable (import ../development/libraries/liboil) {
4125     inherit fetchurl stdenv pkgconfig glib;
4126   };
4128   liboop = import ../development/libraries/liboop {
4129     inherit fetchurl stdenv;
4130   };
4132   libotr = import ../development/libraries/libotr {
4133     inherit fetchurl stdenv libgcrypt;
4134   };
4136   libp11 = import ../development/libraries/libp11 {
4137     inherit fetchurl stdenv libtool openssl pkgconfig;
4138   };
4140   libpcap = import ../development/libraries/libpcap {
4141     inherit fetchurl stdenv flex bison;
4142   };
4144   libpng = import ../development/libraries/libpng {
4145     inherit fetchurl stdenv zlib;
4146   };
4148   libproxy = import ../development/libraries/libproxy {
4149     inherit stdenv fetchurl;
4150   };
4152   libpseudo = import ../development/libraries/libpseudo {
4153     inherit fetchurl stdenv pkgconfig ncurses glib;
4154   };
4156   libsigcxx = import ../development/libraries/libsigcxx {
4157     inherit fetchurl stdenv pkgconfig;
4158   };
4160   libsigsegv = import ../development/libraries/libsigsegv {
4161     inherit fetchurl stdenv;
4162   };
4164   # To bootstrap SBCL, I need CLisp 2.44.1; it needs libsigsegv 2.5
4165   libsigsegv_25 =  import ../development/libraries/libsigsegv/2.5.nix {
4166     inherit fetchurl stdenv;
4167   };
4169   libsndfile = import ../development/libraries/libsndfile {
4170     inherit fetchurl stdenv;
4171   };
4173   libtasn1 = import ../development/libraries/libtasn1 {
4174     inherit fetchurl stdenv;
4175   };
4177   libtheora = import ../development/libraries/libtheora {
4178     inherit fetchurl stdenv libogg libvorbis;
4179   };
4181   libtiff = import ../development/libraries/libtiff {
4182     inherit fetchurl stdenv zlib libjpeg;
4183   };
4185   libtommath = import ../development/libraries/libtommath {
4186     inherit fetchurl stdenv libtool;
4187   };
4189   libunistring = import ../development/libraries/libunistring {
4190     inherit fetchurl stdenv libiconv;
4191   };
4193   libupnp = import ../development/libraries/pupnp {
4194     inherit fetchurl stdenv;
4195   };
4197   giflib = import ../development/libraries/giflib {
4198     inherit fetchurl stdenv;
4199   };
4201   libungif = import ../development/libraries/giflib/libungif.nix {
4202     inherit fetchurl stdenv;
4203   };
4205   libusb = import ../development/libraries/libusb {
4206     inherit fetchurl stdenv;
4207   };
4209   libunwind = import ../development/libraries/libunwind {
4210     inherit fetchurl stdenv;
4211   };
4213   libvncserver = builderDefsPackage (import ../development/libraries/libvncserver) {
4214     inherit libtool libjpeg openssl zlib;
4215     inherit (xlibs) xproto libX11 damageproto libXdamage
4216       libXext xextproto fixesproto libXfixes xineramaproto
4217       libXinerama libXrandr randrproto libXtst;
4218   };
4220   libviper = import ../development/libraries/libviper {
4221     inherit fetchurl stdenv pkgconfig ncurses gpm glib;
4222   };
4224   libvterm = import ../development/libraries/libvterm {
4225     inherit fetchurl stdenv pkgconfig ncurses glib;
4226   };
4228   libvorbis = import ../development/libraries/libvorbis {
4229     inherit fetchurl stdenv libogg;
4230   };
4232   libwmf = import ../development/libraries/libwmf {
4233     inherit fetchurl stdenv pkgconfig imagemagick
4234       zlib libpng freetype libjpeg libxml2 glib;
4235   };
4237   libwpd = import ../development/libraries/libwpd {
4238     inherit fetchurl stdenv pkgconfig libgsf libxml2 bzip2;
4239     inherit (gnome) glib;
4240   };
4242   libx86 = builderDefsPackage ../development/libraries/libx86 {};
4244   libxcrypt = import ../development/libraries/libxcrypt {
4245     inherit fetchurl stdenv;
4246   };
4248   libxklavier = import ../development/libraries/libxklavier {
4249     inherit fetchurl stdenv xkeyboard_config pkgconfig libxml2 isocodes glib;
4250     inherit (xorg) libX11 libICE libXi libxkbfile;
4251   };
4253   libxmi = import ../development/libraries/libxmi {
4254     inherit fetchurl stdenv libtool;
4255   };
4257   libxml2 = makeOverridable (import ../development/libraries/libxml2) {
4258     inherit fetchurl stdenv zlib python;
4259     pythonSupport = false;
4260   };
4262   libxml2Python = libxml2.override {
4263     pythonSupport = true;
4264   };
4266   libxslt = makeOverridable (import ../development/libraries/libxslt) {
4267     inherit fetchurl stdenv libxml2;
4268   };
4270   libixp_for_wmii = lowPrio (import ../development/libraries/libixp_for_wmii {
4271     inherit fetchurl stdenv;
4272   });
4274   libyaml = import ../development/libraries/libyaml {
4275     inherit fetchurl stdenv;
4276   };
4278   libzip = import ../development/libraries/libzip {
4279     inherit fetchurl stdenv zlib;
4280   };
4282   libzrtpcpp = import ../development/libraries/libzrtpcpp {
4283     inherit fetchurl stdenv lib commoncpp2 openssl pkgconfig ccrtp;
4284   };
4286   lightning = import ../development/libraries/lightning {
4287     inherit fetchurl stdenv;
4288   };
4290   liquidwar = builderDefsPackage ../games/liquidwar {
4291     inherit (xlibs) xproto libX11 libXrender;
4292     inherit gmp guile mesa libjpeg libpng
4293       expat gettext perl
4294       SDL SDL_image SDL_mixer SDL_ttf
4295       curl sqlite
4296       libogg libvorbis
4297       ;
4298   };
4300   log4cxx = import ../development/libraries/log4cxx {
4301     inherit fetchurl stdenv automake autoconf libtool cppunit libxml2 boost;
4302     inherit apr aprutil db45 expat;
4303   };
4305   loudmouth = import ../development/libraries/loudmouth {
4306     inherit fetchurl stdenv libidn openssl pkgconfig zlib glib;
4307   };
4309   lzo = import ../development/libraries/lzo {
4310     inherit fetchurl stdenv;
4311   };
4313   # failed to build
4314   mediastreamer = composedArgsAndFun (import ../development/libraries/mediastreamer/2.2.0-cvs20080207.nix) {
4315     inherit fetchurl stdenv automake libtool autoconf alsaLib pkgconfig speex
4316       ortp ffmpeg;
4317   };
4319   mesaSupported =
4320     system == "i686-linux" ||
4321     system == "x86_64-linux" ||
4322     system == "x86_64-darwin" ||
4323     system == "i686-darwin";
4325   mesa = import ../development/libraries/mesa {
4326     inherit fetchurl stdenv pkgconfig expat x11 xlibs libdrm;
4327   };
4329   ming = import ../development/libraries/ming {
4330     inherit fetchurl stdenv flex bison freetype zlib libpng perl;
4331   };
4333   mpeg2dec = import ../development/libraries/mpeg2dec {
4334     inherit fetchurl stdenv;
4335   };
4337   msilbc = import ../development/libraries/msilbc {
4338     inherit fetchurl stdenv ilbc mediastreamer pkgconfig;
4339   };
4341   mpich2 = import ../development/libraries/mpich2 {
4342     inherit fetchurl stdenv python;
4343   };
4345   muparser = import ../development/libraries/muparser {
4346     inherit fetchurl stdenv;
4347   };
4349   ncurses = composedArgsAndFun (import ../development/libraries/ncurses) {
4350     inherit fetchurl stdenv;
4351     unicode = (system != "i686-cygwin");
4352   };
4354   neon = neon026;
4356   neon026 = import ../development/libraries/neon/0.26.nix {
4357     inherit fetchurl stdenv libxml2 zlib openssl;
4358     compressionSupport = true;
4359     sslSupport = true;
4360   };
4362   neon028 = import ../development/libraries/neon/0.28.nix {
4363     inherit fetchurl stdenv libxml2 zlib openssl;
4364     compressionSupport = true;
4365     sslSupport = true;
4366   };
4368   nethack = builderDefsPackage (import ../games/nethack) {
4369     inherit ncurses flex bison;
4370   };
4372   nettle = import ../development/libraries/nettle {
4373     inherit fetchurl stdenv gmp gnum4;
4374   };
4376   nspr = import ../development/libraries/nspr {
4377     inherit fetchurl stdenv;
4378   };
4380   nss = import ../development/libraries/nss {
4381     inherit fetchurl stdenv nspr perl zlib;
4382   };
4384   ode = builderDefsPackage (import ../development/libraries/ode) {
4385   };
4387   openal = import ../development/libraries/openal {
4388     inherit fetchurl cmake alsaLib;
4389     stdenv = overrideGCC stdenv gcc43_wrapper2;
4390   };
4392   # added because I hope that it has been easier to compile on x86 (for blender)
4393   openalSoft = import ../development/libraries/openalSoft {
4394     inherit fetchurl stdenv alsaLib libtool cmake;
4395   };
4397   openbabel = import ../development/libraries/openbabel {
4398     inherit fetchurl stdenv zlib libxml2;
4399   };
4401   opencascade = import ../development/libraries/opencascade {
4402     inherit fetchurl stdenv mesa qt4 tcl tk;
4403   };
4405   openct = import ../development/libraries/openct {
4406     inherit fetchurl stdenv libtool pcsclite libusb pkgconfig;
4407   };
4409   # this ctl version is needed by openexr_viewers
4410   openexr_ctl = import ../development/libraries/openexr_ctl {
4411     inherit fetchurl stdenv ilmbase ctl;
4412     openexr = openexr_1_6_1;
4413   };
4415   openexr_1_6_1 = import ../development/libraries/openexr {
4416     inherit fetchurl stdenv ilmbase zlib pkgconfig lib;
4417     version = "1.6.1";
4418     # optional features:
4419     inherit ctl;
4420   };
4422   # This older version is needed by blender (it complains about missing half.h )
4423   openexr_1_4_0 = import ../development/libraries/openexr {
4424     inherit fetchurl stdenv ilmbase zlib pkgconfig lib;
4425     version = "1.4.0";
4426   };
4428   openldap = import ../development/libraries/openldap {
4429     inherit fetchurl stdenv openssl cyrus_sasl db4 groff;
4430   };
4432   openlierox = builderDefsPackage ../games/openlierox {
4433     inherit (xlibs) libX11 xproto;
4434     inherit gd SDL SDL_image SDL_mixer zlib libxml2
4435       pkgconfig;
4436   };
4438   libopensc_dnie = import ../development/libraries/libopensc-dnie {
4439     inherit fetchurl stdenv patchelf writeScript openssl openct
4440       libtool pcsclite zlib;
4441     inherit (gtkLibs) glib;
4442     opensc = opensc_0_11_7;
4443   };
4445   openssl = import ../development/libraries/openssl {
4446     fetchurl = fetchurlBoot;
4447     inherit stdenv perl;
4448   };
4450   ortp = import ../development/libraries/ortp {
4451     inherit fetchurl stdenv;
4452   };
4454   pangoxsl = import ../development/libraries/pangoxsl {
4455     inherit fetchurl stdenv pkgconfig;
4456     inherit (gtkLibs) glib pango;
4457   };
4459   pcre = makeOverridable (import ../development/libraries/pcre) {
4460     inherit fetchurl stdenv;
4461     unicodeSupport = getConfig ["pcre" "unicode"] false;
4462     cplusplusSupport = !stdenv ? isDietLibC;
4463   };
4465   physfs = import ../development/libraries/physfs {
4466     inherit fetchurl stdenv cmake;
4467   };
4469   plib = import ../development/libraries/plib {
4470     inherit fetchurl stdenv mesa freeglut SDL;
4471     inherit (xlibs) libXi libSM libXmu libXext libX11;
4472   };
4474   podofo = import ../development/libraries/podofo {
4475     inherit fetchurl stdenv cmake zlib freetype libjpeg libtiff
4476       fontconfig openssl;
4477   };
4479   polkit = import ../development/libraries/polkit {
4480     inherit stdenv fetchurl pkgconfig eggdbus expat pam intltool gettext glib;
4481   };
4483   policykit = makeOverridable (import ../development/libraries/policykit) {
4484     inherit stdenv fetchurl pkgconfig dbus dbus_glib expat pam
4485       intltool gettext libxslt docbook_xsl glib;
4486   };
4488   poppler = makeOverridable (import ../development/libraries/poppler) {
4489     inherit fetchurl stdenv cairo freetype fontconfig zlib libjpeg pkgconfig;
4490     inherit (gtkLibs) glib gtk;
4491     qt4Support = false;
4492   };
4494   popplerQt44 = poppler.override {
4495     qt4Support = true;
4496     qt4 = qt44;
4497   };
4499   popplerQt45 = poppler.override {
4500     qt4Support = true;
4501     qt4 = qt45;
4502   };
4504   popt = import ../development/libraries/popt {
4505     inherit fetchurl stdenv;
4506   };
4508   proj = import ../development/libraries/proj.4 {
4509     inherit fetchurl stdenv;
4510   };
4512   pth = import ../development/libraries/pth {
4513     inherit fetchurl stdenv;
4514   };
4516   qt3 = makeOverridable (import ../development/libraries/qt-3) {
4517     inherit fetchurl stdenv x11 zlib libjpeg libpng which mysql mesa;
4518     inherit (xlibs) xextproto libXft libXrender libXrandr randrproto
4519       libXmu libXinerama libXcursor;
4520     openglSupport = mesaSupported;
4521     mysqlSupport = getConfig ["qt" "mysql"] false;
4522   };
4524   qt3mysql = qt3.override {
4525     mysqlSupport = true;
4526   };
4528   qt4 = qt44;
4530   qt44 = import ../development/libraries/qt-4.4 {
4531     inherit fetchurl stdenv fetchsvn zlib libjpeg libpng which mysql mesa openssl cups dbus
4532       fontconfig freetype pkgconfig libtiff;
4533     inherit (xlibs) xextproto libXft libXrender libXrandr randrproto
4534       libXmu libXinerama xineramaproto libXcursor libICE libSM libX11 libXext
4535       inputproto fixesproto libXfixes;
4536     inherit (gnome) glib;
4537   };
4539   qt45 = import ../development/libraries/qt-4.5 {
4540     inherit fetchurl stdenv lib zlib libjpeg libpng which mysql mesa openssl cups dbus
4541       fontconfig freetype pkgconfig libtiff;
4542     inherit (xlibs) xextproto libXft libXrender libXrandr randrproto
4543       libXmu libXinerama xineramaproto libXcursor libXext
4544       inputproto fixesproto libXfixes;
4545     inherit (gnome) glib;
4546   };
4548   qt46 = import ../development/libraries/qt-4.6 {
4549     inherit fetchurl stdenv lib zlib libjpeg libpng which mysql mesa openssl cups dbus
4550       fontconfig freetype pkgconfig libtiff;
4551     inherit (xlibs) xextproto libXft libXrender libXrandr randrproto
4552       libXmu libXinerama xineramaproto libXcursor libXext
4553       inputproto fixesproto libXfixes;
4554     inherit (gnome) glib;
4555   };
4557   qtscriptgenerator = makeOverridable (import ../development/libraries/qtscriptgenerator) {
4558     inherit stdenv fetchurl;
4559     qt4 = qt45;
4560   };
4562   readline = readline6;
4564   readline4 = import ../development/libraries/readline/readline4.nix {
4565     inherit fetchurl stdenv ncurses;
4566   };
4568   readline5 = import ../development/libraries/readline/readline5.nix {
4569     inherit fetchurl stdenv ncurses;
4570   };
4572   readline6 = import ../development/libraries/readline/readline6.nix {
4573     inherit fetchurl stdenv ncurses;
4574   };
4576   librdf_raptor = import ../development/libraries/librdf/raptor.nix {
4577     inherit fetchurl stdenv lib libxml2 curl;
4578   };
4579   librdf_rasqal = import ../development/libraries/librdf/rasqal.nix {
4580     inherit fetchurl stdenv lib pcre libxml2 gmp librdf_raptor;
4581   };
4582   librdf = import ../development/libraries/librdf {
4583     inherit fetchurl stdenv lib pkgconfig librdf_raptor ladspaH openssl zlib;
4584   };
4586   # Also known as librdf, includes raptor and rasqal
4587   redland = composedArgsAndFun (import ../development/libraries/redland/1.0.9.nix) {
4588     inherit fetchurl stdenv openssl libxml2 pkgconfig perl postgresql sqlite
4589       mysql libxslt curl pcre librdf_rasqal librdf_raptor;
4590     bdb = db4;
4591   };
4593   redland_1_0_8 = composedArgsAndFun (import ../development/libraries/redland/1.0.8.nix) {
4594     inherit fetchurl stdenv openssl libxml2 pkgconfig perl postgresql sqlite
4595       mysql libxslt curl pcre librdf_rasqal librdf_raptor;
4596     bdb = db4;
4597   };
4599   rhino = import ../development/libraries/java/rhino {
4600     inherit fetchurl stdenv unzip;
4601     ant = apacheAntGcj;
4602     javac = gcj;
4603     jvm = gcj;
4604   };
4606   rte = import ../development/libraries/rte {
4607     inherit fetchurl stdenv;
4608   };
4610   rubberband = import ../development/libraries/rubberband {
4611     inherit fetchurl stdenv lib pkgconfig libsamplerate libsndfile ladspaH;
4612     fftw = fftwSinglePrec;
4613     inherit (vamp) vampSDK;
4614   };
4616   schroedinger = import ../development/libraries/schroedinger {
4617     inherit fetchurl stdenv liboil pkgconfig;
4618   };
4620   SDL = makeOverridable (import ../development/libraries/SDL) {
4621     inherit fetchurl stdenv pkgconfig x11 mesa alsaLib pulseaudio;
4622     inherit (xlibs) libXrandr;
4623     openglSupport = mesaSupported;
4624     alsaSupport = true;
4625     pulseaudioSupport = false; # better go through ALSA
4626   };
4628   SDL_image = import ../development/libraries/SDL_image {
4629     inherit fetchurl stdenv SDL libjpeg libungif libtiff libpng;
4630     inherit (xlibs) libXpm;
4631   };
4633   SDL_mixer = import ../development/libraries/SDL_mixer {
4634     inherit fetchurl stdenv SDL libogg libvorbis;
4635   };
4637   SDL_net = import ../development/libraries/SDL_net {
4638     inherit fetchurl stdenv SDL;
4639   };
4641   SDL_ttf = import ../development/libraries/SDL_ttf {
4642     inherit fetchurl stdenv SDL freetype;
4643   };
4645   slang = import ../development/libraries/slang {
4646     inherit fetchurl stdenv ncurses pcre libpng zlib readline;
4647   };
4649   slibGuile = import ../development/libraries/slib {
4650     inherit fetchurl stdenv unzip texinfo;
4651     scheme = guile;
4652   };
4654   snack = import ../development/libraries/snack {
4655     inherit fetchurl stdenv tcl tk pkgconfig x11;
4656         # optional
4657     inherit alsaLib vorbisTools python;
4658   };
4660   speex = import ../development/libraries/speex {
4661     inherit fetchurl stdenv libogg;
4662   };
4664   sqlite = import ../development/libraries/sqlite {
4665     inherit fetchurl stdenv readline tcl;
4666   };
4668   stlport =  import ../development/libraries/stlport {
4669     inherit fetchurl stdenv;
4670   };
4672   t1lib = import ../development/libraries/t1lib {
4673     inherit fetchurl stdenv x11;
4674     inherit (xlibs) libXaw libXpm;
4675   };
4677   taglib = import ../development/libraries/taglib {
4678     inherit fetchurl stdenv zlib;
4679   };
4681   taglib_extras = import ../development/libraries/taglib-extras {
4682     inherit stdenv fetchurl cmake taglib;
4683   };
4685   tapioca_qt = import ../development/libraries/tapioca-qt {
4686     inherit stdenv fetchurl cmake qt4 telepathy_qt;
4687   };
4689   tecla = import ../development/libraries/tecla {
4690     inherit fetchurl stdenv;
4691   };
4693   telepathy_gabble = import ../development/libraries/telepathy-gabble {
4694     inherit fetchurl stdenv pkgconfig libxslt telepathy_glib loudmouth;
4695   };
4697   telepathy_glib = import ../development/libraries/telepathy-glib {
4698     inherit fetchurl stdenv dbus_glib pkgconfig libxslt python glib;
4699   };
4701   telepathy_qt = import ../development/libraries/telepathy-qt {
4702     inherit stdenv fetchurl cmake qt4;
4703   };
4705   tk = import ../development/libraries/tk/8.5.7.nix {
4706     inherit fetchurl stdenv tcl x11;
4707   };
4709   unixODBC = import ../development/libraries/unixODBC {
4710     inherit fetchurl stdenv;
4711   };
4713   unixODBCDrivers = recurseIntoAttrs (import ../development/libraries/unixODBCDrivers {
4714     inherit fetchurl stdenv unixODBC glibc libtool openssl zlib;
4715     inherit postgresql mysql sqlite;
4716   });
4718   vamp = import ../development/libraries/audio/vamp {
4719     inherit fetchurl stdenv lib pkgconfig libsndfile;
4720   };
4722   vtk = import ../development/libraries/vtk {
4723     inherit stdenv fetchurl cmake mesa;
4724     inherit (xlibs) libX11 xproto libXt;
4725   };
4727   vxl = import ../development/libraries/vxl {
4728    inherit fetchurl stdenv cmake unzip libtiff expat zlib libpng libjpeg;
4729   };
4731   webkit = builderDefsPackage (import ../development/libraries/webkit) {
4732     inherit (gnome28) gtkdoc libsoup;
4733     inherit (gtkLibs) gtk atk pango glib;
4734     inherit freetype fontconfig gettext gperf curl
4735       libjpeg libtiff libpng libxml2 libxslt sqlite
4736       icu cairo perl intltool automake libtool
4737       pkgconfig autoconf bison libproxy enchant;
4738     inherit (gst_all) gstreamer gstPluginsBase gstFfmpeg
4739       gstPluginsGood;
4740     flex = flex2535;
4741     inherit (xlibs) libXt;
4742   };
4744   wxGTK = wxGTK28;
4746   wxGTK26 = import ../development/libraries/wxGTK-2.6 {
4747     inherit fetchurl stdenv pkgconfig;
4748     inherit (gtkLibs216) gtk;
4749     inherit (xlibs) libXinerama libSM libXxf86vm xf86vidmodeproto;
4750   };
4752   wxGTK28 = makeOverridable (import ../development/libraries/wxGTK-2.8) {
4753     inherit fetchurl stdenv pkgconfig mesa;
4754     inherit (gtkLibs216) gtk;
4755     inherit (xlibs) libXinerama libSM libXxf86vm xf86vidmodeproto;
4756   };
4758   wtk = import ../development/libraries/wtk {
4759       inherit fetchurl stdenv unzip xlibs;
4760     };
4762   x264 = import ../development/libraries/x264 {
4763     inherit fetchurl stdenv;
4764   };
4766   xapian = makeOverridable (import ../development/libraries/xapian) {
4767     inherit fetchurl stdenv zlib;
4768   };
4770   xapianBindings = (import ../development/libraries/xapian/bindings/1.0.14.nix) {
4771     inherit fetchurl stdenv xapian composableDerivation pkgconfig;
4772     inherit ruby perl php tcl python; # TODO perl php Java, tcl, C#, python
4773   };
4775   Xaw3d = import ../development/libraries/Xaw3d {
4776     inherit fetchurl stdenv x11 bison;
4777     flex = flex2533;
4778     inherit (xlibs) imake gccmakedep libXmu libXpm libXp;
4779   };
4781   xineLib = import ../development/libraries/xine-lib {
4782     inherit fetchurl stdenv zlib libdvdcss alsaLib pkgconfig mesa aalib
4783       libvorbis libtheora speex xlibs perl ffmpeg;
4784   };
4786   xautolock = import ../misc/screensavers/xautolock {
4787     inherit fetchurl stdenv x11;
4788     inherit (xorg) imake;
4789     inherit (xlibs) libXScrnSaver scrnsaverproto;
4790   };
4792   xercesJava = import ../development/libraries/java/xerces {
4793     inherit fetchurl stdenv;
4794     ant   = apacheAntGcj;  # for bootstrap purposes
4795     javac = gcj;
4796     jvm   = gcj;
4797   };
4799   xlibsWrapper = import ../development/libraries/xlibs-wrapper {
4800     inherit stdenv;
4801     packages = [
4802       freetype fontconfig xlibs.xproto xlibs.libX11 xlibs.libXt
4803       xlibs.libXft xlibs.libXext xlibs.libSM xlibs.libICE
4804       xlibs.xextproto
4805     ];
4806   };
4808   zangband = builderDefsPackage (import ../games/zangband) {
4809     inherit ncurses flex bison autoconf automake m4 coreutils;
4810   };
4812   zlib = import ../development/libraries/zlib {
4813     fetchurl = fetchurlBoot;
4814     inherit stdenv;
4815   };
4817   zlibStatic = lowPrio (appendToName "static" (import ../development/libraries/zlib {
4818     inherit fetchurl stdenv;
4819     static = true;
4820   }));
4822   zvbi = import ../development/libraries/zvbi {
4823     inherit fetchurl stdenv libpng x11;
4824     pngSupport = true;
4825   };
4828   ### DEVELOPMENT / LIBRARIES / JAVA
4831   atermjava = import ../development/libraries/java/aterm {
4832     inherit fetchurl sharedobjects jjtraveler jdk;
4833     stdenv = overrideInStdenv stdenv [gnumake380];
4834   };
4836   commonsFileUpload = import ../development/libraries/java/jakarta-commons/file-upload {
4837     inherit stdenv fetchurl;
4838   };
4840   fastjar = import ../development/tools/java/fastjar {
4841     inherit fetchurl stdenv zlib;
4842   };
4844   httpunit = import ../development/libraries/java/httpunit {
4845     inherit stdenv fetchurl unzip;
4846   };
4848   gwtdragdrop = import ../development/libraries/java/gwt-dragdrop {
4849     inherit stdenv fetchurl;
4850   };
4852   gwtwidgets = import ../development/libraries/java/gwt-widgets {
4853     inherit stdenv fetchurl;
4854   };
4856   jakartabcel = import ../development/libraries/java/jakarta-bcel {
4857     regexp = jakartaregexp;
4858     inherit fetchurl stdenv;
4859   };
4861   jakartaregexp = import ../development/libraries/java/jakarta-regexp {
4862     inherit fetchurl stdenv;
4863   };
4865   javaCup = import ../development/libraries/java/cup {
4866     inherit stdenv fetchurl jdk;
4867   };
4869   javasvn = import ../development/libraries/java/javasvn {
4870     inherit stdenv fetchurl unzip;
4871   };
4873   jclasslib = import ../development/tools/java/jclasslib {
4874     inherit fetchurl stdenv xpf jre;
4875     ant = apacheAnt14;
4876   };
4878   jdom = import ../development/libraries/java/jdom {
4879     inherit stdenv fetchurl;
4880   };
4882   jflex = import ../development/libraries/java/jflex {
4883     inherit stdenv fetchurl;
4884   };
4886   jjtraveler = import ../development/libraries/java/jjtraveler {
4887     inherit fetchurl jdk;
4888     stdenv = overrideInStdenv stdenv [gnumake380];
4889   };
4891   junit = import ../development/libraries/java/junit {
4892     inherit stdenv fetchurl unzip;
4893   };
4895   lucene = import ../development/libraries/java/lucene {
4896     inherit stdenv fetchurl;
4897   };
4899   mockobjects = import ../development/libraries/java/mockobjects {
4900     inherit stdenv fetchurl;
4901   };
4903   saxon = import ../development/libraries/java/saxon {
4904     inherit fetchurl stdenv unzip;
4905   };
4907   saxonb = import ../development/libraries/java/saxon/default8.nix {
4908     inherit fetchurl stdenv unzip jre;
4909   };
4911   sharedobjects = import ../development/libraries/java/shared-objects {
4912     inherit fetchurl jdk;
4913     stdenv = overrideInStdenv stdenv [gnumake380];
4914   };
4916   smack = import ../development/libraries/java/smack {
4917     inherit stdenv fetchurl;
4918   };
4920   swt = import ../development/libraries/java/swt {
4921     inherit stdenv fetchurl unzip jdk pkgconfig;
4922     inherit (gtkLibs) gtk;
4923     inherit (xlibs) libXtst;
4924   };
4926   xalanj = xalanJava;
4927   xalanJava = import ../development/libraries/java/xalanj {
4928     inherit fetchurl stdenv;
4929     ant    = apacheAntGcj;  # for bootstrap purposes
4930     javac  = gcj;
4931     jvm    = gcj;
4932     xerces = xercesJava;
4933   };
4935   zziplib = import ../development/libraries/zziplib {
4936     inherit fetchurl stdenv perl python zip xmlto zlib;
4937   };
4940   ### DEVELOPMENT / PERL MODULES
4942   buildPerlPackage = import ../development/perl-modules/generic perl;
4944   perlPackages = recurseIntoAttrs (import ./perl-packages.nix {
4945     inherit pkgs;
4946   });
4948   perlXMLParser = perlPackages.XMLParser;
4951   ### DEVELOPMENT / PYTHON MODULES
4953   buildPythonPackage =
4954     import ../development/python-modules/generic {
4955       inherit python setuptools makeWrapper lib;
4956     };
4958   buildPython26Package =
4959     import ../development/python-modules/generic {
4960       inherit makeWrapper lib;
4961       python = python26;
4962       setuptools = setuptools_python26;
4963     };
4965   pythonPackages = recurseIntoAttrs (import ./python-packages.nix {
4966     inherit pkgs python buildPythonPackage;
4967   });
4969   python26Packages = recurseIntoAttrs (import ./python-packages.nix {
4970     inherit pkgs;
4971     python = python26;
4972     buildPythonPackage = buildPython26Package;
4973   });
4975   foursuite = import ../development/python-modules/4suite {
4976     inherit fetchurl stdenv python;
4977   };
4979   bsddb3 = import ../development/python-modules/bsddb3 {
4980     inherit fetchurl stdenv python db4;
4981   };
4983   flup = builderDefsPackage ../development/python-modules/flup {
4984     inherit fetchurl stdenv;
4985     python = python25;
4986     setuptools = setuptools.passthru.function {python = python25;};
4987   };
4989   numeric = import ../development/python-modules/numeric {
4990     inherit fetchurl stdenv python;
4991   };
4993   pil = import ../development/python-modules/pil {
4994     inherit fetchurl stdenv python zlib libjpeg freetype;
4995   };
4997   pil_python26 = import ../development/python-modules/pil {
4998     inherit fetchurl stdenv zlib libjpeg freetype;
4999     python = python26;
5000   };
5002   psyco = import ../development/python-modules/psyco {
5003       inherit fetchurl stdenv python;
5004     };
5006   pycairo = import ../development/python-modules/pycairo {
5007     inherit fetchurl stdenv python pkgconfig cairo x11;
5008   };
5010   pycrypto = import ../development/python-modules/pycrypto {
5011     inherit fetchurl stdenv python gmp;
5012   };
5014   pycups = import ../development/python-modules/pycups {
5015     inherit stdenv fetchurl python cups;
5016   };
5018   pygame = import ../development/python-modules/pygame {
5019     inherit fetchurl stdenv python pkgconfig SDL SDL_image
5020       SDL_mixer SDL_ttf numeric;
5021   };
5023   pygobject = import ../development/python-modules/pygobject {
5024     inherit fetchurl stdenv python pkgconfig glib;
5025   };
5027   pygtk = import ../development/python-modules/pygtk {
5028     inherit fetchurl stdenv python pkgconfig pygobject pycairo;
5029     inherit (gtkLibs) glib gtk;
5030   };
5032   pyGtkGlade = import ../development/python-modules/pygtk {
5033     inherit fetchurl stdenv python pkgconfig pygobject pycairo;
5034     inherit (gtkLibs) glib gtk;
5035     inherit (gnome) libglade;
5036   };
5038   pyopengl = import ../development/python-modules/pyopengl {
5039     inherit fetchurl stdenv setuptools mesa freeglut pil python;
5040   };
5042   pyopenssl = builderDefsPackage (import ../development/python-modules/pyopenssl) {
5043     inherit python openssl;
5044   };
5046   pythonSip = builderDefsPackage (import ../development/python-modules/python-sip/4.7.4.nix) {
5047     inherit python;
5048   };
5050   rhpl = import ../development/python-modules/rhpl {
5051     inherit stdenv fetchurl rpm cpio python wirelesstools gettext;
5052   };
5054   sip = import ../development/python-modules/python-sip {
5055     inherit stdenv fetchurl lib python;
5056   };
5058   sip_python26 = import ../development/python-modules/python-sip {
5059     inherit stdenv fetchurl lib;
5060     python = python26;
5061   };
5063   pyqt = builderDefsPackage (import ../development/python-modules/pyqt/4.3.3.nix) {
5064     inherit pkgconfig python pythonSip glib;
5065     inherit (xlibs) libX11 libXext;
5066     qt = qt4;
5067   };
5069   pyqt4 = import ../development/python-modules/pyqt {
5070     inherit stdenv fetchurl lib python sip;
5071     qt4 = qt45;
5072   };
5074   pyqt4_python26 = import ../development/python-modules/pyqt {
5075     inherit stdenv fetchurl lib;
5076     qt4 = qt45;
5077     python = python26;
5078     sip = sip_python26;
5079   };
5081   pyx = import ../development/python-modules/pyx {
5082     inherit fetchurl stdenv python makeWrapper;
5083   };
5085   pyxml = import ../development/python-modules/pyxml {
5086     inherit fetchurl stdenv python makeWrapper;
5087   };
5089   setuptools = builderDefsPackage (import ../development/python-modules/setuptools) {
5090     inherit python makeWrapper;
5091   };
5093   setuptools_python26 = builderDefsPackage (import ../development/python-modules/setuptools) {
5094     inherit makeWrapper;
5095     python = python26;
5096   };
5098   wxPython = wxPython26;
5100   wxPython26 = import ../development/python-modules/wxPython/2.6.nix {
5101     inherit fetchurl stdenv pkgconfig python;
5102     wxGTK = wxGTK26;
5103   };
5105   wxPython28 = import ../development/python-modules/wxPython/2.8.nix {
5106     inherit fetchurl stdenv pkgconfig python;
5107     inherit wxGTK;
5108   };
5110   twisted = pythonPackages.twisted;
5112   ZopeInterface = import ../development/python-modules/ZopeInterface {
5113     inherit fetchurl stdenv python;
5114   };
5116   zope = import ../development/python-modules/zope {
5117     inherit fetchurl stdenv;
5118     python = python24;
5119   };
5121   ### SERVERS
5124   apacheHttpd = makeOverridable (import ../servers/http/apache-httpd) {
5125     inherit (pkgsOverriden) fetchurl stdenv perl openssl zlib apr aprutil pcre;
5126     sslSupport = true;
5127   };
5129   sabnzbd = import ../servers/sabnzbd {
5130     inherit fetchurl stdenv python cheetahTemplate makeWrapper par2cmdline unzip unrar;
5131   };
5133   bind = builderDefsPackage (import ../servers/dns/bind/9.5.0.nix) {
5134     inherit openssl libtool;
5135   };
5137   dico = import ../servers/dico {
5138     inherit fetchurl stdenv libtool gettext zlib readline guile python;
5139   };
5141   dict = composedArgsAndFun (import ../servers/dict/1.9.15.nix) {
5142     inherit builderDefs which bison;
5143     flex=flex2534;
5144   };
5146   dictdDBs = recurseIntoAttrs (import ../servers/dict/dictd-db.nix {
5147     inherit builderDefs;
5148   });
5150   dictDBCollector = import ../servers/dict/dictd-db-collector.nix {
5151     inherit stdenv lib dict;
5152   };
5154   dovecot = import ../servers/mail/dovecot {
5155     inherit fetchurl stdenv openssl pam;
5156   };
5157   dovecot_1_1_1 = import ../servers/mail/dovecot/1.1.1.nix {
5158     inherit fetchurl stdenv openssl pam;
5159   };
5161   ejabberd = import ../servers/xmpp/ejabberd {
5162     inherit fetchurl stdenv expat erlang zlib openssl pam lib;
5163   };
5165   couchdb = import ../servers/http/couchdb {
5166     inherit fetchurl stdenv erlang spidermonkey icu getopt
5167       curl;
5168   };
5170   fingerd_bsd = import ../servers/fingerd/bsd-fingerd {
5171     inherit fetchurl stdenv;
5172   };
5174   ircdHybrid = import ../servers/irc/ircd-hybrid {
5175     inherit fetchurl stdenv openssl zlib;
5176   };
5178   jboss = import ../servers/http/jboss {
5179     inherit fetchurl stdenv unzip jdk lib;
5180   };
5182   jboss_mysql_jdbc = import ../servers/http/jboss/jdbc/mysql {
5183     inherit stdenv jboss mysql_jdbc;
5184   };
5186   jetty = import ../servers/http/jetty {
5187     inherit fetchurl stdenv unzip;
5188   };
5190   jetty61 = import ../servers/http/jetty/6.1 {
5191     inherit fetchurl stdenv unzip;
5192   };
5194   lighttpd = import ../servers/http/lighttpd {
5195     inherit fetchurl stdenv pcre libxml2 zlib attr bzip2;
5196   };
5198   mod_python = makeOverridable (import ../servers/http/apache-modules/mod_python) {
5199     inherit (pkgsOverriden) fetchurl stdenv apacheHttpd python;
5200   };
5202   myserver = import ../servers/http/myserver {
5203     inherit fetchurl stdenv libgcrypt libevent libidn gnutls libxml2
5204       zlib texinfo cppunit;
5205   };
5207   nginx = builderDefsPackage (import ../servers/http/nginx) {
5208     inherit openssl pcre zlib libxml2 libxslt;
5209   };
5211   postfix = import ../servers/mail/postfix {
5212     inherit fetchurl stdenv db4 openssl cyrus_sasl glibc;
5213   };
5215   pulseaudio = makeOverridable (import ../servers/pulseaudio) {
5216     inherit fetchurl stdenv pkgconfig gnum4 gdbm
5217       dbus hal avahi liboil libsamplerate libsndfile speex
5218       intltool gettext libtool libcap;
5219     inherit (xlibs) libX11 libICE libSM libXtst libXi;
5220     inherit (gtkLibs) gtk glib;
5221     inherit alsaLib;    # Needs ALSA >= 1.0.17.
5222     gconf = gnome.GConf;
5223   };
5225   tomcat_connectors = import ../servers/http/apache-modules/tomcat-connectors {
5226     inherit fetchurl stdenv apacheHttpd jdk;
5227   };
5229   portmap = makeOverridable (import ../servers/portmap) {
5230     inherit fetchurl stdenv lib tcpWrapper;
5231   };
5233   monetdb = import ../servers/sql/monetdb {
5234     inherit composableDerivation getConfig;
5235     inherit fetchurl stdenv pcre openssl readline libxml2 geos apacheAnt jdk5;
5236   };
5238   mysql4 = import ../servers/sql/mysql {
5239     inherit fetchurl stdenv ncurses zlib perl;
5240     ps = procps; /* !!! Linux only */
5241   };
5243   mysql5 = import ../servers/sql/mysql5 {
5244     inherit fetchurl stdenv ncurses zlib perl openssl;
5245     ps = procps; /* !!! Linux only */
5246   };
5248   mysql51 = import ../servers/sql/mysql51 {
5249     inherit fetchurl ncurses zlib perl openssl stdenv;
5250     ps = procps; /* !!! Linux only */
5251   };
5253   mysql = mysql5;
5255   mysql_jdbc = import ../servers/sql/mysql/jdbc {
5256     inherit fetchurl stdenv ant;
5257   };
5259   nagios = import ../servers/monitoring/nagios {
5260     inherit fetchurl stdenv perl gd libpng zlib;
5261     gdSupport = true;
5262   };
5264   nagiosPluginsOfficial = import ../servers/monitoring/nagios/plugins/official {
5265     inherit fetchurl stdenv openssh;
5266   };
5268   openfire = composedArgsAndFun (import ../servers/xmpp/openfire) {
5269     inherit builderDefs jre;
5270   };
5272   postgresql = postgresql83;
5274   postgresql83 = import ../servers/sql/postgresql/8.3.x.nix {
5275     inherit fetchurl stdenv readline ncurses zlib;
5276   };
5278   postgresql84 = import ../servers/sql/postgresql/8.4.x.nix {
5279     inherit fetchurl stdenv readline ncurses zlib;
5280   };
5282   postgresql_jdbc = import ../servers/sql/postgresql/jdbc {
5283     inherit fetchurl stdenv ant;
5284   };
5286   pyIRCt = builderDefsPackage (import ../servers/xmpp/pyIRCt) {
5287     inherit xmpppy pythonIRClib python makeWrapper;
5288   };
5290   pyMAILt = builderDefsPackage (import ../servers/xmpp/pyMAILt) {
5291     inherit xmpppy python makeWrapper fetchcvs;
5292   };
5294   samba = makeOverridable (import ../servers/samba) {
5295     inherit stdenv fetchurl readline openldap pam kerberos popt iniparser
5296   libunwind acl fam;
5297   };
5299   squids = recurseIntoAttrs( import ../servers/squid/squids.nix {
5300     inherit fetchurl stdenv perl lib composableDerivation;
5301   });
5302   squid = squids.squid3Beta; # has ipv6 support
5304   tomcat5 = import ../servers/http/tomcat {
5305     inherit fetchurl stdenv jdk;
5306   };
5308   tomcat6 = import ../servers/http/tomcat/6.0.nix {
5309     inherit fetchurl stdenv jdk;
5310   };
5312   tomcat_mysql_jdbc = import ../servers/http/tomcat/jdbc/mysql {
5313     inherit stdenv tomcat6 mysql_jdbc;
5314   };
5316   axis2 = import ../servers/http/tomcat/axis2 {
5317     inherit fetchurl stdenv jdk apacheAnt unzip;
5318   };
5320   vsftpd = import ../servers/ftp/vsftpd {
5321     inherit fetchurl openssl stdenv libcap pam;
5322   };
5324   xinetd = import ../servers/xinetd {
5325     inherit fetchurl stdenv;
5326   };
5328   xorg = recurseIntoAttrs (import ../servers/x11/xorg/default.nix {
5329     inherit fetchurl fetchsvn stdenv pkgconfig freetype fontconfig
5330       libxslt expat libdrm libpng zlib perl mesa
5331       xkeyboard_config dbus hal libuuid openssl gperf m4
5332       automake autoconf libtool;
5334     # !!! pythonBase is use instead of python because this cause an infinite
5335     # !!! recursion when the flag python.full is set to true.  Packages
5336     # !!! contained in the loop are python, tk, xlibs-wrapper, libX11,
5337     # !!! libxcd (and xcb-proto).
5338     python =  pythonBase;
5339   });
5341   xorgReplacements = composedArgsAndFun (import ../servers/x11/xorg/replacements.nix) {
5342     inherit fetchurl stdenv automake autoconf libtool xorg composedArgsAndFun;
5343   };
5345   xorgVideoUnichrome = import ../servers/x11/xorg/unichrome/default.nix {
5346     inherit stdenv fetchgit pkgconfig libdrm mesa automake autoconf libtool;
5347     inherit (xorg) fontsproto libpciaccess randrproto renderproto videoproto
5348       libX11 xextproto xf86driproto xorgserver xproto libXvMC glproto
5349       libXext utilmacros;
5350   };
5352   zabbixAgent = import ../servers/monitoring/zabbix {
5353     inherit fetchurl stdenv;
5354     enableServer = false;
5355   };
5357   zabbixServer = import ../servers/monitoring/zabbix {
5358     inherit fetchurl stdenv postgresql curl;
5359     enableServer = true;
5360   };
5363   ### OS-SPECIFIC
5365   afuse = import ../os-specific/linux/afuse {
5366     inherit fetchurl stdenv lib pkgconfig fuse;
5367   };
5369   autofs5 = import ../os-specific/linux/autofs/autofs-v5.nix {
5370     inherit sourceFromHead fetchurl stdenv flex bison kernelHeaders;
5371   };
5373   _915resolution = import ../os-specific/linux/915resolution {
5374     inherit fetchurl stdenv;
5375   };
5377   nfsUtils = import ../os-specific/linux/nfs-utils {
5378     inherit fetchurl stdenv tcpWrapper libuuid;
5379   };
5381   acpi = import ../os-specific/linux/acpi {
5382     inherit fetchurl stdenv;
5383   };
5385   acpid = import ../os-specific/linux/acpid {
5386     inherit fetchurl stdenv;
5387   };
5389   acpitool = import ../os-specific/linux/acpitool {
5390     inherit fetchurl stdenv;
5391   };
5393   alsaLib = import ../os-specific/linux/alsa-lib {
5394     inherit stdenv fetchurl;
5395   };
5397   alsaPlugins = import ../os-specific/linux/alsa-plugins {
5398     inherit fetchurl stdenv lib pkgconfig alsaLib pulseaudio jackaudio;
5399   };
5400   alsaPluginWrapper = import ../os-specific/linux/alsa-plugins/wrapper.nix {
5401     inherit stdenv alsaPlugins writeScriptBin;
5402   };
5404   alsaUtils = import ../os-specific/linux/alsa-utils {
5405     inherit stdenv fetchurl alsaLib gettext ncurses;
5406   };
5408   bluez = import ../os-specific/linux/bluez {
5409     inherit fetchurl stdenv pkgconfig dbus libusb alsaLib glib;
5410   };
5412   bridge_utils = import ../os-specific/linux/bridge_utils {
5413     inherit fetchurl stdenv autoconf automake;
5414   };
5416   cpufrequtils = (
5417     import ../os-specific/linux/cpufrequtils {
5418     inherit fetchurl stdenv libtool gettext;
5419     glibc = stdenv.gcc.libc;
5420     kernelHeaders = stdenv.gcc.libc.kernelHeaders;
5421   });
5423   cryopid = import ../os-specific/linux/cryopid {
5424     inherit fetchurl stdenv zlibStatic;
5425   };
5427   cryptsetup = import ../os-specific/linux/cryptsetup {
5428     inherit stdenv fetchurl libuuid popt devicemapper udev;
5429   };
5431   cramfsswap = import ../os-specific/linux/cramfsswap {
5432     inherit fetchurl stdenv zlib;
5433   };
5435   darwinArchUtility = import ../os-specific/darwin/arch {
5436     inherit stdenv;
5437   };
5439   darwinSwVersUtility = import ../os-specific/darwin/sw_vers {
5440     inherit stdenv;
5441   };
5443   devicemapper = lvm2;
5445   dmidecode = import ../os-specific/linux/dmidecode {
5446     inherit fetchurl stdenv;
5447   };
5449   dietlibc = import ../os-specific/linux/dietlibc {
5450     inherit fetchurl glibc;
5451     # Dietlibc 0.30 doesn't compile on PPC with GCC 4.1, bus GCC 3.4 works.
5452     stdenv = if stdenv.system == "powerpc-linux" then overrideGCC stdenv gcc34 else stdenv;
5453   };
5455   directvnc = builderDefsPackage ../os-specific/linux/directvnc {
5456     inherit libjpeg pkgconfig zlib directfb;
5457     inherit (xlibs) xproto;
5458   };
5460   dmraid = builderDefsPackage ../os-specific/linux/dmraid {
5461     inherit devicemapper;
5462   };
5464   libuuid = if ! stdenv.isDarwin then utillinuxng else null;
5466   e3cfsprogs = import ../os-specific/linux/e3cfsprogs {
5467     inherit stdenv fetchurl gettext;
5468   };
5470   eject = import ../os-specific/linux/eject {
5471     inherit fetchurl stdenv gettext;
5472   };
5474   fbterm = builderDefsPackage (import ../os-specific/linux/fbterm) {
5475     inherit fontconfig gpm freetype pkgconfig ncurses;
5476   };
5478   fuse = import ../os-specific/linux/fuse {
5479     inherit fetchurl stdenv utillinux;
5480   };
5482   fxload = import ../os-specific/linux/fxload {
5483     inherit fetchurl stdenv;
5484   };
5486   gpm = import ../servers/gpm {
5487     inherit fetchurl stdenv ncurses bison;
5488     flex = flex2535;
5489   };
5491   hal = makeOverridable (import ../os-specific/linux/hal) {
5492     inherit fetchurl stdenv pkgconfig python pciutils usbutils expat
5493       libusb dbus dbus_glib libuuid perl perlXMLParser
5494       gettext zlib eject libsmbios udev gperf dmidecode utillinuxng
5495       consolekit policykit pmutils glib;
5496   };
5498   halevt = import ../os-specific/linux/hal/hal-evt.nix {
5499     inherit fetchurl stdenv lib libxml2 pkgconfig boolstuff hal dbus_glib;
5500   };
5502   hal_info = import ../os-specific/linux/hal/info.nix {
5503     inherit fetchurl stdenv pkgconfig;
5504   };
5506   hal_info_synaptics = import ../os-specific/linux/hal/synaptics.nix {
5507     inherit stdenv;
5508   };
5510   hdparm = import ../os-specific/linux/hdparm {
5511     inherit fetchurl stdenv;
5512   };
5514   hibernate = import ../os-specific/linux/hibernate {
5515     inherit fetchurl stdenv gawk;
5516   };
5518   htop = import ../os-specific/linux/htop {
5519     inherit fetchurl stdenv ncurses;
5520   };
5522   hwdata = import ../os-specific/linux/hwdata {
5523     inherit fetchurl stdenv;
5524   };
5526   ifplugd = import ../os-specific/linux/ifplugd {
5527     inherit fetchurl stdenv pkgconfig libdaemon;
5528   };
5530   iproute = import ../os-specific/linux/iproute {
5531     inherit fetchurl stdenv flex bison db4;
5532   };
5534   iputils = (
5535     import ../os-specific/linux/iputils {
5536     inherit fetchurl stdenv;
5537     glibc = stdenv.gcc.libc;
5538     kernelHeaders = stdenv.gcc.libc.kernelHeaders;
5539   });
5541   iptables = import ../os-specific/linux/iptables {
5542     inherit fetchurl stdenv;
5543   };
5545   ipw2200fw = import ../os-specific/linux/firmware/ipw2200 {
5546     inherit fetchurl stdenv;
5547   };
5549   iwlwifi1000ucode = import ../os-specific/linux/firmware/iwlwifi-1000-ucode {
5550     inherit fetchurl stdenv;
5551   };
5553   iwlwifi3945ucode = import ../os-specific/linux/firmware/iwlwifi-3945-ucode {
5554     inherit fetchurl stdenv;
5555   };
5557   iwlwifi4965ucodeV1 = import ../os-specific/linux/firmware/iwlwifi-4965-ucode {
5558     inherit fetchurl stdenv;
5559   };
5561   iwlwifi4965ucodeV2 = import ../os-specific/linux/firmware/iwlwifi-4965-ucode/version-2.nix {
5562     inherit fetchurl stdenv;
5563   };
5565   iwlwifi5000ucode = import ../os-specific/linux/firmware/iwlwifi-5000-ucode {
5566     inherit fetchurl stdenv;
5567   };
5569   kbd = import ../os-specific/linux/kbd {
5570     inherit fetchurl stdenv bison flex autoconf automake;
5571   };
5573   kernelHeaders = kernelHeaders_2_6_28;
5575   kernelHeaders_2_6_18 = import ../os-specific/linux/kernel-headers/2.6.18.5.nix {
5576     inherit fetchurl stdenv unifdef;
5577   };
5579   kernelHeaders_2_6_28 = import ../os-specific/linux/kernel-headers/2.6.28.nix {
5580     inherit fetchurl stdenv perl;
5581   };
5583   kernelHeadersArm = import ../os-specific/linux/kernel-headers-cross {
5584     inherit fetchurl stdenv;
5585     cross = "arm-linux";
5586   };
5588   kernelHeadersMips = import ../os-specific/linux/kernel-headers-cross {
5589     inherit fetchurl stdenv;
5590     cross = "mips-linux";
5591   };
5593   kernelHeadersSparc = import ../os-specific/linux/kernel-headers-cross {
5594     inherit fetchurl stdenv;
5595     cross = "sparc-linux";
5596   };
5598   kernelPatches = import ../os-specific/linux/kernel/patches.nix {
5599     inherit fetchurl;
5600   };
5602   kernel_2_6_25 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.25.nix) {
5603     inherit fetchurl stdenv perl mktemp module_init_tools;
5604     kernelPatches =
5605       [ kernelPatches.fbcondecor_2_6_25
5606         kernelPatches.sec_perm_2_6_24
5607       ];
5608   };
5610   kernel_2_6_27 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.27.nix) {
5611     inherit fetchurl stdenv perl mktemp module_init_tools;
5612     kernelPatches =
5613       [ kernelPatches.fbcondecor_2_6_27
5614         kernelPatches.sec_perm_2_6_24
5615       ];
5616   };
5618   kernel_2_6_28 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.28.nix) {
5619     inherit fetchurl stdenv perl mktemp module_init_tools;
5620     kernelPatches =
5621       [ kernelPatches.fbcondecor_2_6_28
5622         kernelPatches.sec_perm_2_6_24
5623         kernelPatches.ext4_softlockups_2_6_28
5624       ];
5625   };
5627   kernel_2_6_29 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.29.nix) {
5628     inherit fetchurl stdenv perl mktemp module_init_tools;
5629     kernelPatches =
5630       [ kernelPatches.fbcondecor_2_6_29
5631         kernelPatches.sec_perm_2_6_24
5632       ];
5633   };
5635   kernel_2_6_31 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.31.nix) {
5636     inherit fetchurl stdenv perl mktemp module_init_tools;
5637     kernelPatches = [];
5638   };
5640   kernel_2_6_32 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.32.nix) {
5641     inherit fetchurl stdenv perl mktemp module_init_tools;
5642     kernelPatches =
5643       [ kernelPatches.fbcondecor_2_6_31
5644         kernelPatches.sec_perm_2_6_24
5645       ];
5646   };
5648   kernel_2_6_32_zen4 = makeOverridable (import ../os-specific/linux/zen-kernel/2.6.32-zen4.nix) {
5649     inherit fetchurl stdenv perl mktemp module_init_tools runCommand xz;
5650   };
5652   kernel_2_6_32_zen4_oldi686 = kernel_2_6_32_zen4.override {
5653     features = {
5654       oldI686 = true;
5655     };
5656   };
5658   kernel_2_6_32_zen4_bfs = kernel_2_6_32_zen4.override {
5659     features = {
5660       ckSched = true;
5661     };
5662   };
5664   /* Kernel modules are inherently tied to a specific kernel.  So
5665      rather than provide specific instances of those packages for a
5666      specific kernel, we have a function that builds those packages
5667      for a specific kernel.  This function can then be called for
5668      whatever kernel you're using. */
5670   kernelPackagesFor = kernel: rec {
5672     inherit kernel;
5674     aufs = import ../os-specific/linux/aufs {
5675       inherit fetchurl stdenv kernel;
5676     };
5678     # Currently it is broken
5679     # Build requires exporting some symbols from kernel
5680     # Go to package homepage to learn about the needed
5681     # patch. Feel free to take over the package.
5682     aufs2 = import ../os-specific/linux/aufs2 {
5683       inherit fetchgit stdenv kernel perl;
5684     };
5686     aufs2Utils = if lib.attrByPath ["features" "aufs"] false kernel then
5687       builderDefsPackage ../os-specific/linux/aufs2-utils {
5688         inherit kernel;
5689       }
5690     else null;
5692     exmap = import ../os-specific/linux/exmap {
5693       inherit fetchurl stdenv kernel boost pcre pkgconfig;
5694       inherit (gtkLibs) gtkmm;
5695     };
5697     iwlwifi = import ../os-specific/linux/iwlwifi {
5698       inherit fetchurl stdenv kernel;
5699     };
5701     iwlwifi4965ucode =
5702       (if (builtins.compareVersions kernel.version "2.6.27" == 0)
5703           || (builtins.compareVersions kernel.version "2.6.27" == 1)
5704        then iwlwifi4965ucodeV2
5705        else iwlwifi4965ucodeV1);
5707     atheros = composedArgsAndFun (import ../os-specific/linux/atheros/0.9.4.nix) {
5708       inherit fetchurl stdenv builderDefs kernel lib;
5709     };
5711     nvidia_x11 = import ../os-specific/linux/nvidia-x11 {
5712       inherit stdenv fetchurl kernel xlibs gtkLibs zlib perl;
5713     };
5715     nvidia_x11_legacy = import ../os-specific/linux/nvidia-x11/legacy.nix {
5716       inherit stdenv fetchurl kernel xlibs gtkLibs zlib;
5717     };
5719     wis_go7007 = import ../os-specific/linux/wis-go7007 {
5720       inherit fetchurl stdenv kernel ncurses fxload;
5721     };
5723     kqemu = builderDefsPackage ../os-specific/linux/kqemu/1.4.0pre1.nix {
5724       inherit kernel perl;
5725     };
5727     splashutils =
5728       # Splashutils 1.3 is broken, so disable splash on older kernels.
5729       if kernel.features ? fbSplash then /* splashutils_13 */ null else
5730       if kernel.features ? fbConDecor then splashutils_15 else
5731       null;
5733     ext3cowtools = import ../os-specific/linux/ext3cow-tools {
5734       inherit stdenv fetchurl;
5735       kernel_ext3cowpatched = kernel;
5736     };
5738     /* compiles but has to be integrated into the kernel somehow
5739       Let's have it uncommented and finish it..
5740     */
5741     ndiswrapper = import ../os-specific/linux/ndiswrapper {
5742       inherit fetchurl stdenv;
5743       inherit kernel perl;
5744     };
5746     ov511 = import ../os-specific/linux/ov511 {
5747       inherit fetchurl kernel;
5748       stdenv = overrideGCC stdenv gcc34;
5749     };
5751     # State Nix
5752     snix = import ../tools/package-management/snix {
5753       inherit fetchurl stdenv perl curl bzip2 openssl bison;
5754       inherit libtool automake autoconf docbook5 docbook5_xsl libxslt docbook_xml_dtd_43 w3m;
5756       aterm = aterm242fixes;
5757       db4 = db45;
5759       flex = flex2533;
5761       inherit ext3cowtools e3cfsprogs rsync;
5762       ext3cow_kernel = kernel;
5763     };
5765     sysprof = import ../development/tools/profiling/sysprof {
5766       inherit fetchurl stdenv binutils pkgconfig kernel;
5767       inherit (gnome) gtk glib pango libglade;
5768     };
5770     virtualbox = import ../applications/virtualization/virtualbox {
5771       stdenv = stdenv_32bit;
5772       inherit fetchurl lib iasl dev86 libxslt libxml2 SDL hal
5773           libcap libpng zlib kernel python which alsaLib curl glib;
5774       qt4 = qt45;
5775       inherit (xlibs) xproto libX11 libXext libXcursor;
5776       inherit (gnome) libIDL;
5777     };
5779     virtualboxGuestAdditions = import ../applications/virtualization/virtualbox/guest-additions {
5780       inherit stdenv fetchurl lib patchelf cdrkit kernel;
5781       inherit (xlibs) libX11 libXt libXext libXmu libXcomposite libXfixes;
5782     };
5783   };
5785   # Build the kernel modules for the some of the kernels.
5786   kernelPackages_2_6_25 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_25);
5787   kernelPackages_2_6_27 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_27);
5788   kernelPackages_2_6_28 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_28);
5789   kernelPackages_2_6_29 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_29);
5790   kernelPackages_2_6_31 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_31);
5791   kernelPackages_2_6_32 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_32);
5793   # The current default kernel / kernel modules.
5794   kernel = kernel_2_6_32;
5795   kernelPackages = kernelPackagesFor kernel;
5797   customKernel = composedArgsAndFun (lib.sumTwoArgs (import ../os-specific/linux/kernel/generic.nix) {
5798     inherit fetchurl stdenv perl mktemp module_init_tools;
5799   });
5801   keyutils = import ../os-specific/linux/keyutils {
5802     inherit fetchurl stdenv;
5803   };
5805   libselinux = import ../os-specific/linux/libselinux {
5806     inherit fetchurl stdenv libsepol;
5807   };
5809   libraw1394 = import ../development/libraries/libraw1394 {
5810     inherit fetchurl stdenv;
5811   };
5813   libsexy = import ../development/libraries/libsexy {
5814     inherit stdenv fetchurl pkgconfig libxml2;
5815     inherit (gtkLibs) glib gtk pango;
5816   };
5818   librsvg = gnome.librsvg;
5820   libsepol = import ../os-specific/linux/libsepol {
5821     inherit fetchurl stdenv;
5822   };
5824   libsmbios = import ../os-specific/linux/libsmbios {
5825     inherit fetchurl stdenv pkgconfig libxml2 perl;
5826   };
5828   lm_sensors = import ../os-specific/linux/lm_sensors {
5829     inherit fetchurl stdenv bison flex perl;
5830   };
5832   klibc = makeOverridable (import ../os-specific/linux/klibc) {
5833     inherit fetchurl stdenv perl bison mktemp;
5834     kernelHeaders = glibc.kernelHeaders;
5835   };
5837   # Old version; needed in vmtools for insmod.  Should use
5838   # module_init_tools instead.
5839   klibc_15 = makeOverridable (import ../os-specific/linux/klibc/1.5.nix) {
5840     inherit fetchurl stdenv perl bison mktemp;
5841     kernelHeaders = glibc.kernelHeaders;
5842   };
5844   klibcShrunk = makeOverridable (import ../os-specific/linux/klibc/shrunk.nix) {
5845     inherit stdenv klibc;
5846   };
5848   kvm = kvm76;
5850   kvm76 = import ../os-specific/linux/kvm/76.nix {
5851     inherit fetchurl stdenv zlib e2fsprogs SDL alsaLib pkgconfig rsync;
5852     inherit (glibc) kernelHeaders;
5853   };
5855   kvm86 = import ../os-specific/linux/kvm/86.nix {
5856     inherit fetchurl stdenv zlib SDL alsaLib pkgconfig pciutils;
5857     inherit (glibc) kernelHeaders;
5858   };
5860   kvm88 = import ../os-specific/linux/kvm/88.nix {
5861     inherit fetchurl stdenv zlib SDL alsaLib pkgconfig pciutils;
5862     inherit (glibc) kernelHeaders;
5863   };
5865   libcap = import ../os-specific/linux/libcap {
5866     inherit fetchurl stdenv attr;
5867   };
5869   libnscd = import ../os-specific/linux/libnscd {
5870     inherit fetchurl stdenv;
5871   };
5873   libnotify = import ../development/libraries/libnotify {
5874     inherit stdenv fetchurl pkgconfig dbus dbus_glib;
5875     inherit (gtkLibs) gtk glib;
5876   };
5878   libvolume_id = import ../os-specific/linux/libvolume_id {
5879     inherit fetchurl stdenv;
5880   };
5882   lvm2 = import ../os-specific/linux/lvm2 {
5883     inherit fetchurl stdenv;
5884   };
5886   mdadm = import ../os-specific/linux/mdadm {
5887     inherit fetchurl stdenv groff;
5888   };
5890   mingetty = import ../os-specific/linux/mingetty {
5891     inherit fetchurl stdenv;
5892   };
5894   module_init_tools = import ../os-specific/linux/module-init-tools {
5895     inherit fetchurl stdenv;
5896   };
5898   mount_cifs = import ../os-specific/linux/mount-cifs {
5899     inherit fetchurl stdenv;
5900   };
5902   aggregateModules = modules:
5903     import ../os-specific/linux/module-init-tools/aggregator.nix {
5904       inherit stdenv module_init_tools modules buildEnv;
5905     };
5907   modutils = import ../os-specific/linux/modutils {
5908     inherit fetchurl bison flex;
5909     stdenv = overrideGCC stdenv gcc34;
5910   };
5912   nettools = import ../os-specific/linux/net-tools {
5913     inherit fetchurl stdenv;
5914   };
5916   neverball = import ../games/neverball {
5917     inherit stdenv fetchurl SDL mesa libpng libjpeg SDL_ttf libvorbis
5918       gettext physfs;
5919   };
5921   numactl = import ../os-specific/linux/numactl {
5922     inherit fetchurl stdenv;
5923   };
5925   gw6c = builderDefsPackage (import ../os-specific/linux/gw6c) {
5926     inherit fetchurl stdenv nettools openssl procps iproute;
5927   };
5929   nss_ldap = import ../os-specific/linux/nss_ldap {
5930     inherit fetchurl stdenv openldap;
5931   };
5933   pam = import ../os-specific/linux/pam {
5934     inherit stdenv fetchurl cracklib flex;
5935   };
5937   # pam_bioapi ( see http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader )
5939   pam_console = import ../os-specific/linux/pam_console {
5940     inherit stdenv fetchurl pam autoconf automake pkgconfig bison glib;
5941     libtool = libtool_1_5;
5942     flex = if stdenv.system == "i686-linux" then flex else flex2533;
5943   };
5945   pam_devperm = import ../os-specific/linux/pam_devperm {
5946     inherit stdenv fetchurl pam;
5947   };
5949   pam_ldap = import ../os-specific/linux/pam_ldap {
5950     inherit stdenv fetchurl pam openldap;
5951   };
5953   pam_login = import ../os-specific/linux/pam_login {
5954     inherit stdenv fetchurl pam;
5955   };
5957   pam_unix2 = import ../os-specific/linux/pam_unix2 {
5958     inherit stdenv fetchurl pam libxcrypt;
5959   };
5961   pam_usb = import ../os-specific/linux/pam_usb {
5962     inherit stdenv fetchurl makeWrapper useSetUID dbus libxml2 pam hal pkgconfig pmount python pythonDBus;
5963   };
5965   pcmciaUtils = composedArgsAndFun (import ../os-specific/linux/pcmciautils) {
5966     inherit stdenv fetchurl udev yacc flex;
5967     inherit sysfsutils module_init_tools;
5969     firmware = getConfig ["pcmciaUtils" "firmware"] [];
5970     config = getConfig ["pcmciaUtils" "config"] null;
5971     inherit lib;
5972   };
5974   pmount = import ../os-specific/linux/pmount {
5975     inherit fetchurl stdenv cryptsetup dbus dbus_glib hal intltool ntfs3g utillinuxng;
5976   };
5978   pmutils = import ../os-specific/linux/pm-utils {
5979     inherit fetchurl stdenv;
5980   };
5982   powertop = import ../os-specific/linux/powertop {
5983     inherit fetchurl stdenv ncurses gettext;
5984   };
5986   procps = import ../os-specific/linux/procps {
5987     inherit fetchurl stdenv ncurses;
5988   };
5990   pwdutils = import ../os-specific/linux/pwdutils {
5991     inherit fetchurl stdenv pam openssl libnscd;
5992   };
5994   qemu_kvm = import ../os-specific/linux/qemu-kvm {
5995     inherit fetchurl stdenv zlib SDL alsaLib pkgconfig pciutils;
5996   };
5998   radeontools = import ../os-specific/linux/radeontools {
5999     inherit pciutils;
6000     inherit fetchurl stdenv;
6001   };
6003   rt73fw = import ../os-specific/linux/firmware/rt73 {
6004     inherit fetchurl stdenv unzip;
6005   };
6007   sdparm = import ../os-specific/linux/sdparm {
6008     inherit fetchurl stdenv;
6009   };
6011   shadowutils = import ../os-specific/linux/shadow {
6012     inherit fetchurl stdenv;
6013   };
6015   splashutils_13 = import ../os-specific/linux/splashutils/1.3.nix {
6016     inherit fetchurl stdenv klibc;
6017     zlib = zlibStatic;
6018     libjpeg = libjpegStatic;
6019   };
6021   splashutils_15 = import ../os-specific/linux/splashutils/1.5.nix {
6022     inherit fetchurl stdenv klibc;
6023     zlib = zlibStatic;
6024     libjpeg = libjpegStatic;
6025   };
6027   statifier = builderDefsPackage (import ../os-specific/linux/statifier) {
6028   };
6030   sysfsutils = import ../os-specific/linux/sysfsutils {
6031     inherit fetchurl stdenv;
6032   };
6034   # Provided with sysfsutils.
6035   libsysfs = sysfsutils;
6036   systool = sysfsutils;
6038   sysklogd = import ../os-specific/linux/sysklogd {
6039     inherit fetchurl stdenv;
6040   };
6042   syslinux = import ../os-specific/linux/syslinux {
6043     inherit fetchurl stdenv nasm perl;
6044   };
6046   sysstat = import ../os-specific/linux/sysstat {
6047     inherit fetchurl stdenv gettext;
6048   };
6050   sysvinit = import ../os-specific/linux/sysvinit {
6051     inherit fetchurl stdenv;
6052   };
6054   sysvtools = import ../os-specific/linux/sysvinit {
6055     inherit fetchurl stdenv;
6056     withoutInitTools = true;
6057   };
6059   # FIXME: `tcp-wrapper' is actually not OS-specific.
6060   tcpWrapper = import ../os-specific/linux/tcp-wrapper {
6061     inherit fetchurl stdenv;
6062   };
6064   trackballs = import ../games/trackballs {
6065     inherit stdenv fetchurl SDL mesa SDL_ttf gettext zlib SDL_mixer SDL_image guile;
6066     debug = false;
6067   };
6069   tunctl = import ../os-specific/linux/tunctl {
6070     inherit stdenv fetchurl;
6071   };
6073   /*tuxracer = builderDefsPackage (import ../games/tuxracer) {
6074     inherit mesa tcl freeglut;
6075     inherit (xlibs) libX11 xproto;
6076   };*/
6078   udev = makeOverridable (import ../os-specific/linux/udev) {
6079     inherit fetchurl stdenv gperf pkgconfig acl libusb usbutils pciutils glib;
6080   };
6082   uml = import ../os-specific/linux/kernel/linux-2.6.29.nix {
6083     inherit fetchurl stdenv perl mktemp module_init_tools;
6084     userModeLinux = true;
6085   };
6087   umlutilities = import ../os-specific/linux/uml-utilities {
6088     inherit fetchurl kernelHeaders stdenv readline lib;
6089     tunctl = true; mconsole = true;
6090   };
6092   upstart = import ../os-specific/linux/upstart {
6093     inherit fetchurl stdenv;
6094   };
6096   upstart06 = import ../os-specific/linux/upstart/0.6.nix {
6097     inherit fetchurl stdenv pkgconfig dbus expat;
6098   };
6100   upstartJobControl = import ../os-specific/linux/upstart/jobcontrol.nix {
6101     inherit stdenv;
6102   };
6104   usbutils = import ../os-specific/linux/usbutils {
6105     inherit fetchurl stdenv pkgconfig libusb;
6106   };
6108   utillinux = utillinuxng;
6110   utillinuxCurses = utillinuxngCurses;
6112   utillinuxng = makeOverridable (import ../os-specific/linux/util-linux-ng) {
6113     inherit fetchurl stdenv;
6114   };
6116   utillinuxngCurses = utillinuxng.override {
6117     inherit ncurses;
6118   };
6120   wesnoth = import ../games/wesnoth {
6121     inherit fetchurl stdenv SDL SDL_image SDL_mixer SDL_net SDL_ttf
6122       gettext zlib boost freetype libpng pkgconfig;
6123     inherit (gtkLibs) pango;
6124   };
6126   wirelesstools = import ../os-specific/linux/wireless-tools {
6127     inherit fetchurl stdenv;
6128   };
6130   wpa_supplicant = import ../os-specific/linux/wpa_supplicant {
6131     inherit fetchurl stdenv openssl;
6132   };
6134   wpa_supplicant_gui_qt4 = import ../os-specific/linux/wpa_supplicant/gui-qt4.nix {
6135     inherit fetchurl stdenv qt4 imagemagick inkscape;
6136   };
6138   xmoto = builderDefsPackage (import ../games/xmoto) {
6139     inherit chipmunk sqlite curl zlib bzip2 libjpeg libpng
6140       freeglut mesa SDL SDL_mixer SDL_image SDL_net SDL_ttf
6141       lua5 ode;
6142   };
6144   xorg_sys_opengl = import ../os-specific/linux/opengl/xorg-sys {
6145     inherit stdenv xlibs expat libdrm;
6146   };
6148   zd1211fw = import ../os-specific/linux/firmware/zd1211 {
6149     inherit stdenv fetchurl;
6150   };
6152   ### DATA
6154   arkpandora_ttf = builderDefsPackage (import ../data/fonts/arkpandora) {
6155   };
6157   bakoma_ttf = import ../data/fonts/bakoma-ttf {
6158     inherit fetchurl stdenv;
6159   };
6161   cacert = import ../data/misc/cacert {
6162     inherit fetchurl stdenv;
6163   };
6165   corefonts = import ../data/fonts/corefonts {
6166     inherit fetchurl stdenv cabextract;
6167   };
6169   wrapFonts = paths : ((import ../data/fonts/fontWrap) {
6170     inherit fetchurl stdenv builderDefs paths ttmkfdir;
6171     inherit (xorg) mkfontdir mkfontscale;
6172   });
6174   clearlyU = composedArgsAndFun (import ../data/fonts/clearlyU/1.9.nix) {
6175     inherit builderDefs;
6176     inherit (xorg) mkfontdir mkfontscale;
6177   };
6179   dejavu_fonts = import ../data/fonts/dejavu-fonts {
6180     inherit fetchurl stdenv fontforge perl fontconfig;
6181     inherit (perlPackages) FontTTF;
6182   };
6184   docbook5 = import ../data/sgml+xml/schemas/docbook-5.0 {
6185     inherit fetchurl stdenv unzip;
6186   };
6188   docbook_xml_dtd_412 = import ../data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix {
6189     inherit fetchurl stdenv unzip;
6190   };
6192   docbook_xml_dtd_42 = import ../data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix {
6193     inherit fetchurl stdenv unzip;
6194   };
6196   docbook_xml_dtd_43 = import ../data/sgml+xml/schemas/xml-dtd/docbook/4.3.nix {
6197     inherit fetchurl stdenv unzip;
6198   };
6200   docbook_xml_dtd_45 = import ../data/sgml+xml/schemas/xml-dtd/docbook/4.5.nix {
6201     inherit fetchurl stdenv unzip;
6202   };
6204   docbook_xml_ebnf_dtd = import ../data/sgml+xml/schemas/xml-dtd/docbook-ebnf {
6205     inherit fetchurl stdenv unzip;
6206   };
6208   docbook_xml_xslt = docbook_xsl;
6210   docbook_xsl = import ../data/sgml+xml/stylesheets/xslt/docbook-xsl {
6211     inherit fetchurl stdenv;
6212   };
6214   docbook5_xsl = docbook_xsl_ns;
6216   docbook_xsl_ns = import ../data/sgml+xml/stylesheets/xslt/docbook-xsl-ns {
6217     inherit fetchurl stdenv;
6218   };
6220   junicode = composedArgsAndFun (import ../data/fonts/junicode/0.6.15.nix) {
6221     inherit builderDefs fontforge unzip;
6222     inherit (xorg) mkfontdir mkfontscale;
6223   };
6225   freefont_ttf = import ../data/fonts/freefont-ttf {
6226     inherit fetchurl stdenv;
6227   };
6229   liberation_ttf = import ../data/fonts/redhat-liberation-fonts {
6230     inherit fetchurl stdenv;
6231   };
6233   libertine = builderDefsPackage (import ../data/fonts/libertine/2.7.nix) {
6234     inherit fontforge;
6235   };
6236   libertineBin = builderDefsPackage (import ../data/fonts/libertine/2.7.bin.nix) {
6237   };
6239   lmodern = import ../data/fonts/lmodern {
6240     inherit fetchurl stdenv;
6241   };
6243   manpages = import ../data/documentation/man-pages {
6244     inherit fetchurl stdenv;
6245   };
6247   miscfiles = import ../data/misc/miscfiles {
6248     inherit fetchurl stdenv;
6249   };
6251   mph_2b_damase = import ../data/fonts/mph-2b-damase {
6252     inherit fetchurl stdenv unzip;
6253   };
6255   pthreadmanpages = lowPrio (import ../data/documentation/pthread-man-pages {
6256     inherit fetchurl stdenv perl;
6257   });
6259   shared_mime_info = import ../data/misc/shared-mime-info {
6260     inherit fetchurl stdenv pkgconfig gettext
6261       intltool perl perlXMLParser libxml2 glib;
6262   };
6264   stdmanpages = import ../data/documentation/std-man-pages {
6265     inherit fetchurl stdenv;
6266   };
6268   iana_etc = import ../data/misc/iana-etc {
6269     inherit fetchurl stdenv;
6270   };
6272   popplerData = import ../data/misc/poppler-data {
6273     inherit fetchurl stdenv;
6274   };
6276   r3rs = import ../data/documentation/rnrs/r3rs.nix {
6277     inherit fetchurl stdenv texinfo;
6278   };
6280   r4rs = import ../data/documentation/rnrs/r4rs.nix {
6281     inherit fetchurl stdenv texinfo;
6282   };
6284   r5rs = import ../data/documentation/rnrs/r5rs.nix {
6285     inherit fetchurl stdenv texinfo;
6286   };
6288   themes = name: import (../data/misc/themes + ("/" + name + ".nix")) {
6289     inherit fetchurl;
6290   };
6292   ttf_bitstream_vera = import ../data/fonts/ttf-bitstream-vera {
6293     inherit fetchurl stdenv;
6294   };
6296   ucsFonts = import ../data/fonts/ucs-fonts {
6297     inherit fetchurl stdenv wrapFonts;
6298   };
6300   unifont = import ../data/fonts/unifont {
6301     inherit debPackage perl;
6302     inherit (xorg) mkfontdir mkfontscale bdftopcf fontutil;
6303   };
6305   vistafonts = import ../data/fonts/vista-fonts {
6306     inherit fetchurl stdenv cabextract;
6307   };
6309   wqy_zenhei = composedArgsAndFun (import ../data/fonts/wqy_zenhei/0.4.23-1.nix) {
6310     inherit builderDefs;
6311   };
6313   xhtml1 = import ../data/sgml+xml/schemas/xml-dtd/xhtml1 {
6314     inherit fetchurl stdenv libxml2;
6315   };
6317   xkeyboard_config = import ../data/misc/xkeyboard-config {
6318     inherit fetchurl stdenv perl perlXMLParser gettext intltool;
6319     inherit (xlibs) xkbcomp;
6320   };
6323   ### APPLICATIONS
6326   aangifte2005 = import ../applications/taxes/aangifte-2005 {
6327     inherit stdenv fetchurl;
6328     inherit (xlibs) libX11 libXext;
6329   };
6331   aangifte2006 = import ../applications/taxes/aangifte-2006 {
6332     inherit stdenv fetchurl;
6333     inherit (xlibs) libX11 libXext;
6334   };
6336   aangifte2007 = import ../applications/taxes/aangifte-2007 {
6337     inherit stdenv fetchurl;
6338     inherit (xlibs) libX11 libXext libSM;
6339   };
6341   aangifte2008 = import ../applications/taxes/aangifte-2008 {
6342     inherit stdenv fetchurl;
6343     inherit (xlibs) libX11 libXext libSM;
6344   };
6346   abcde = import ../applications/audio/abcde {
6347     inherit fetchurl stdenv libcdio cddiscid wget bash vorbisTools
6348             makeWrapper;
6349   };
6351   abiword = import ../applications/office/abiword {
6352     inherit fetchurl stdenv pkgconfig fribidi libpng popt libgsf enchant wv librsvg bzip2;
6353     inherit (gtkLibs) gtk;
6354     inherit (gnome) libglade libgnomecanvas;
6355   };
6357   adobeReader = import ../applications/misc/adobe-reader {
6358     inherit fetchurl stdenv zlib libxml2 cups;
6359     inherit (xlibs) libX11;
6360     inherit (gtkLibs) glib pango atk gtk;
6361   };
6363   amsn = import ../applications/networking/instant-messengers/amsn {
6364     inherit fetchurl stdenv which tcl tk x11;
6365     libstdcpp = gcc33.gcc;
6366   };
6368   ardour = import ../applications/audio/ardour {
6369     inherit fetchurl stdenv lib pkgconfig scons boost redland librdf_raptor
6370       librdf_rasqal jackaudio flac libsamplerate alsaLib libxml2 libxslt
6371       libsndfile libsigcxx libusb cairomm librdf liblo fftw fftwSinglePrec
6372       aubio libmad;
6373     inherit (gtkLibs) glib pango gtk glibmm gtkmm;
6374     inherit (gnome) libgnomecanvas;
6375   };
6377   audacious = import ../applications/audio/audacious/player.nix {
6378     inherit fetchurl stdenv pkgconfig libmowgli libmcs gettext xlibs dbus_glib;
6379     inherit (gnome) libglade;
6380     inherit (gtkLibs) glib gtk;
6381   };
6383   audacious_plugins = import ../applications/audio/audacious/plugins.nix {
6384     inherit fetchurl stdenv pkgconfig audacious dbus_glib gettext
6385       libmad xlibs alsaLib taglib libmpcdec libogg libvorbis
6386       libcdio libcddb libxml2;
6387   };
6389   audacity = import ../applications/audio/audacity {
6390     inherit fetchurl stdenv gettext pkgconfig zlib perl intltool libogg
6391       libvorbis libmad;
6392     inherit (gtkLibs) gtk glib;
6393     inherit wxGTK;
6394   };
6396   aumix = import ../applications/audio/aumix {
6397     inherit fetchurl stdenv ncurses pkgconfig gettext;
6398     inherit (gtkLibs) gtk;
6399     gtkGUI = false;
6400   };
6402   autopanosiftc = import ../applications/graphics/autopanosiftc {
6403     inherit fetchurl cmake libpng libtiff libjpeg panotools libxml2;
6404     stdenv = overrideGCC stdenv gcc43_wrapper2;
6405   };
6407   avidemux = import ../applications/video/avidemux {
6408     inherit fetchurl cmake pkgconfig libxml2 qt4 gettext SDL libxslt x264
6409       alsaLib lame faac faad2 libvorbis;
6410     stdenv = overrideGCC stdenv gcc43_wrapper2;
6411     inherit (gtkLibs) gtk;
6412     inherit (xlibs) libXv pixman libpthreadstubs libXau libXdmcp;
6413   };
6415   batik = import ../applications/graphics/batik {
6416     inherit fetchurl stdenv unzip;
6417   };
6419   bazaar = import ../applications/version-management/bazaar {
6420     inherit fetchurl stdenv makeWrapper;
6421     python = pythonFull;
6422   };
6424   bazaarTools = builderDefsPackage (import ../applications/version-management/bazaar/tools.nix) {
6425     inherit bazaar;
6426   };
6428   beast = import ../applications/audio/beast {
6429 # stdenv = overrideGCC stdenv gcc34;
6430     inherit stdenv fetchurl zlib guile pkgconfig intltool libogg libvorbis python libxml2 bash perl gettext;
6431     inherit (gtkLibs) gtk glib;
6432     inherit (gnome) libgnomecanvas libart_lgpl;
6433     inherit automake autoconf;
6434   };
6436   bitlbee = import ../applications/networking/instant-messengers/bitlbee {
6437     inherit fetchurl stdenv gnutls pkgconfig glib;
6438   };
6440   bitlbeeOtr = import ../applications/networking/instant-messengers/bitlbee-otr {
6441     inherit fetchbzr stdenv gnutls pkgconfig libotr libgcrypt
6442       libxslt xmlto docbook_xsl docbook_xml_dtd_42 perl glib;
6443   };
6445   # commented out because it's using the new configuration style proposal which is unstable
6446   #biew = import ../applications/misc/biew {
6447   #  inherit lib stdenv fetchurl ncurses;
6448   #};
6450   # only to be able to compile blender - I couldn't compile the default openal software
6451   # Perhaps this can be removed - don't know which one openal{,soft} is better
6452   freealut_soft = import ../development/libraries/freealut {
6453     inherit fetchurl stdenv;
6454     openal = openalSoft;
6455   };
6457   blender = import ../applications/misc/blender {
6458     inherit cmake mesa gettext freetype SDL libtiff fetchurl glibc scons x11 lib
6459       libjpeg libpng zlib /* smpeg sdl */ python;
6460     inherit (xlibs) inputproto libXi;
6461     freealut = freealut_soft;
6462     openal = openalSoft;
6463     openexr = openexr_1_4_0;
6464     # using gcc43 makes blender segfault when pressing p then esc.
6465     # is this related to the PHP bug? I'm to lazy to try recompilng it without optimizations
6466     stdenv = overrideGCC stdenv gcc42;
6467   };
6469   bmp = import ../applications/audio/bmp {
6470     inherit fetchurl stdenv pkgconfig libogg libvorbis alsaLib id3lib;
6471     inherit (gnome) esound libglade;
6472     inherit (gtkLibs) glib gtk;
6473   };
6475   bmp_plugin_musepack = import ../applications/audio/bmp-plugins/musepack {
6476     inherit fetchurl stdenv pkgconfig bmp libmpcdec taglib;
6477   };
6479   bmp_plugin_wma = import ../applications/audio/bmp-plugins/wma {
6480     inherit fetchurl stdenv pkgconfig bmp;
6481   };
6483   bvi = import ../applications/editors/bvi {
6484     inherit fetchurl stdenv ncurses;
6485   };
6487   calibre = import ../applications/misc/calibre {
6488     inherit stdenv fetchurl libpng imagemagick pkgconfig libjpeg fontconfig podofo
6489       qt4 makeWrapper unrar;
6490     python = python26Full;
6491     pyqt4 = pyqt4_python26;
6492     sip = sip_python26;
6493     pil = pil_python26;
6494     popplerQt4 = popplerQt45;
6495     inherit (python26Packages) mechanize lxml dateutil;
6496   };
6498   carrier = builderDefsPackage (import ../applications/networking/instant-messengers/carrier/2.5.0.nix) {
6499     inherit fetchurl stdenv pkgconfig perl perlXMLParser libxml2 openssl nss
6500       gtkspell aspell gettext ncurses avahi dbus dbus_glib python
6501       libtool automake autoconf;
6502     GStreamer = gst_all.gstreamer;
6503     inherit (gtkLibs) gtk glib;
6504     inherit (gnome) startupnotification GConf ;
6505     inherit (xlibs) libXScrnSaver scrnsaverproto libX11 xproto kbproto;
6506   };
6507   funpidgin = carrier;
6509   cddiscid = import ../applications/audio/cd-discid {
6510     inherit fetchurl stdenv;
6511   };
6513   cdparanoia = cdparanoiaIII;
6515   cdparanoiaIII = import ../applications/audio/cdparanoia {
6516     inherit fetchurl stdenv;
6517   };
6519   cdrtools = import ../applications/misc/cdrtools {
6520     inherit fetchurl stdenv;
6521   };
6523   chatzilla =
6524     xulrunnerWrapper {
6525       launcher = "chatzilla";
6526       application = import ../applications/networking/irc/chatzilla {
6527         inherit fetchurl stdenv unzip;
6528       };
6529     };
6531   chrome = import ../applications/networking/browsers/chromium {
6532     inherit stdenv fetchurl ffmpeg cairo nspr nss fontconfig freetype alsaLib makeWrapper unzip expat zlib bzip2 libpng;
6533     inherit (xlibs) libX11 libXext libXrender libXt ;
6534     inherit (gtkLibs) gtk glib pango atk;
6535     inherit (gnome) GConf;
6536     libjpeg = libjpeg62;
6537   };
6539   chromeWrapper = wrapFirefox chrome "chrome" "";
6542   cinelerra = import ../applications/video/cinelerra {
6543     inherit lib fetchurl sourceFromHead stdenv
6544       automake autoconf libtool
6545       a52dec alsaLib   lame libavc1394 libiec61883 libraw1394 libsndfile
6546       libvorbis libogg libjpeg libtiff freetype mjpegtools x264
6547       gettext faad2 faac libtheora libpng libdv perl nasm e2fsprogs
6548       pkgconfig;
6549       openexr = openexr_1_6_1;
6550     fftw = fftwSinglePrec;
6551     inherit (xorg) libXxf86vm libXv libXi libX11 xextproto;
6552     inherit (gnome) esound;
6553   };
6555   compizBase = (builderDefsPackage (import ../applications/window-managers/compiz/0.8.0.nix)) {
6556     inherit lib stringsWithDeps builderDefs;
6557     inherit fetchurl stdenv pkgconfig libpng mesa perl perlXMLParser libxslt gettext
6558       intltool binutils;
6559     inherit (xorg) libXcomposite libXfixes libXdamage libXrandr
6560       libXinerama libICE libSM libXrender xextproto compositeproto fixesproto
6561       damageproto randrproto xineramaproto renderproto kbproto xproto libX11
6562       libxcb;
6563     inherit (gnome) startupnotification libwnck GConf;
6564     inherit (gtkLibs) gtk;
6565     inherit (gnome) libgnome libgnomeui metacity
6566       glib pango libglade libgtkhtml gtkhtml
6567       libgnomecanvas libgnomeprint
6568       libgnomeprintui gnomepanel;
6569     gnomegtk = gnome.gtk;
6570     inherit librsvg fuse;
6571     inherit dbus dbus_glib;
6572   };
6574   compiz = compizBase.passthru.function (x : x // {
6575     extraConfigureFlags = getConfig ["compiz" "extraConfigureFlags"] [];
6576   });
6578   compizFusion = import ../applications/window-managers/compiz-fusion {
6579     version = getConfig ["compizFusion" "version"] "0.7.8";
6580     inherit compiz;
6581     inherit stringsWithDeps lib builderDefs;
6582     inherit fetchurl stdenv pkgconfig libpng mesa perl perlXMLParser libxslt libxml2;
6583     inherit (xorg) libXcomposite libXfixes libXdamage libXrandr
6584       libXinerama libICE libSM libXrender xextproto;
6585     inherit (gnome) startupnotification libwnck GConf;
6586     inherit (gtkLibs) gtk;
6587     inherit (gnome) libgnome libgnomeui metacity
6588       glib pango libglade libgtkhtml gtkhtml
6589       libgnomecanvas libgnomeprint
6590       libgnomeprintui gnomepanel gnomedesktop;
6591     gnomegtk = gnome.gtk;
6592     inherit librsvg fuse dbus dbus_glib git;
6593     inherit automake autoconf libtool intltool python pyrex gettext;
6594     inherit pygtk pycairo getopt libjpeg glxinfo;
6595     inherit (xorg) xvinfo xdpyinfo;
6596   };
6598   compizExtra = import ../applications/window-managers/compiz/extra.nix {
6599     inherit fetchurl stdenv pkgconfig compiz perl perlXMLParser dbus;
6600     inherit (gnome) GConf;
6601     inherit (gtkLibs) gtk;
6602   };
6604   cinepaint = import ../applications/graphics/cinepaint {
6605     inherit stdenv fetchcvs cmake pkgconfig freetype fontconfig lcms flex libtiff
6606       libjpeg libpng libexif zlib perl mesa perlXMLParser python pygtk gettext
6607       intltool babl gegl automake autoconf libtool;
6608     inherit (xlibs) makedepend libX11 xf86vidmodeproto xineramaproto libXmu
6609       libXext libXpm libXxf86vm;
6610     inherit (gtkLibs) gtk glib;
6611     openexr = openexr_1_6_1;
6612     fltk = fltk11;
6613   };
6615   codeville = builderDefsPackage (import ../applications/version-management/codeville/0.8.0.nix) {
6616     inherit makeWrapper;
6617     python = pythonFull;
6618   };
6620   comical = import ../applications/graphics/comical {
6621     inherit stdenv fetchurl utillinux zlib;
6622     wxGTK = wxGTK26;
6623   };
6625   cuneiform = builderDefsPackage (import ../tools/graphics/cuneiform) {
6626     inherit cmake patchelf;
6627     imagemagick=imagemagick;
6628   };
6630   cvs = import ../applications/version-management/cvs {
6631     inherit fetchurl stdenv nano;
6632   };
6634   cvsps = import ../applications/version-management/cvsps {
6635     inherit fetchurl stdenv cvs zlib;
6636   };
6638   cvs2svn = import ../applications/version-management/cvs2svn {
6639     inherit fetchurl stdenv python makeWrapper;
6640   };
6642   d4x = import ../applications/misc/d4x {
6643     inherit fetchurl stdenv pkgconfig openssl boost;
6644     inherit (gtkLibs) gtk glib;
6645   };
6647   darcs = haskellPackages_ghc6104.darcs;
6649   dia = import ../applications/graphics/dia {
6650     inherit stdenv fetchurl pkgconfig perl perlXMLParser
6651       libxml2 gettext python libxml2Python docbook5 docbook_xsl
6652       libxslt intltool;
6653     inherit (gtkLibs) gtk glib;
6654   };
6656   digikam = import ../applications/graphics/digikam {
6657     inherit stdenv fetchurl exiv2 zlib libjpeg perl libpng expat qt3 cmake;
6658     inherit (kde3) kdelibs;
6659     inherit (xlibs) libXt libXext;
6660   };
6662   djvulibre = import ../applications/misc/djvulibre {
6663     inherit stdenv fetchurl libjpeg libtiff libungif zlib
6664       ghostscript libpng x11 mesa;
6665     qt = if (getConfig ["djvulibre" "qt3Frontend"] true) then qt3 else null;
6666     inherit (xlibs) libX11;
6667   };
6669   djview4 = import ../applications/graphics/djview {
6670     inherit fetchurl stdenv qt4 djvulibre;
6671   };
6673   dmenu = import ../applications/misc/dmenu {
6674     inherit lib fetchurl stdenv;
6675     inherit (xlibs) libX11 libXinerama;
6676   };
6678   dmtx = builderDefsPackage (import ../tools/graphics/dmtx) {
6679     inherit libpng libtiff libjpeg imagemagick librsvg
6680       pkgconfig bzip2 zlib libtool;
6681     inherit (xlibs) libX11;
6682   };
6684   dvdauthor = import ../applications/video/dvdauthor {
6685     inherit fetchurl stdenv freetype libpng fribidi libxml2 libdvdread imagemagick;
6686   };
6688   dwm = import ../applications/window-managers/dwm {
6689     inherit fetchurl stdenv;
6690     inherit (xlibs) libX11 libXinerama;
6691   };
6693   eaglemode = import ../applications/misc/eaglemode {
6694     inherit fetchurl stdenv perl xineLib libjpeg libpng libtiff;
6695     inherit (xlibs) libX11;
6696   };
6698   eclipse = import ../applications/editors/eclipse {
6699     inherit stdenv fetchurl patchelf makeDesktopItem makeWrapper freetype fontconfig jre zlib;
6700     # GTK 2.18 gives glitches such as mouse clicks on buttons not
6701     # working correctly.
6702     inherit (gtkLibs216) glib gtk;
6703     inherit (xlibs) libX11 libXext libXrender libXtst;
6704   };
6706   ed = import ../applications/editors/ed {
6707     inherit fetchurl stdenv;
6708   };
6710   elinks = import ../applications/networking/browsers/elinks {
6711     inherit stdenv fetchurl python perl ncurses x11 zlib openssl spidermonkey
6712       guile bzip2;
6713   };
6715   elvis = import ../applications/editors/elvis {
6716     inherit fetchurl stdenv ncurses;
6717   };
6719   emacs = emacs23;
6721   emacs22 = import ../applications/editors/emacs-22 {
6722     inherit fetchurl stdenv ncurses pkgconfig x11 Xaw3d;
6723     inherit (xlibs) libXaw libXpm;
6724     inherit (gtkLibs) gtk;
6725     xaw3dSupport = getPkgConfig "emacs" "xaw3dSupport" false;
6726     gtkGUI = getPkgConfig "emacs" "gtkSupport" true;
6727   };
6729   emacs23 = import ../applications/editors/emacs-23 {
6730     inherit fetchurl stdenv ncurses pkgconfig x11 Xaw3d
6731       libpng libjpeg libungif libtiff texinfo dbus;
6732     inherit (xlibs) libXaw libXpm libXft;
6733     inherit (gtkLibs) gtk;
6734     xawSupport = stdenv.isDarwin || getPkgConfig "emacs" "xawSupport" false;
6735     xaw3dSupport = getPkgConfig "emacs" "xaw3dSupport" false;
6736     gtkGUI = getPkgConfig "emacs" "gtkSupport" true;
6737     xftSupport = getPkgConfig "emacs" "xftSupport" true;
6738     dbusSupport = getPkgConfig "emacs" "dbusSupport" true;
6739   };
6741   emacsSnapshot = lowPrio (import ../applications/editors/emacs-snapshot {
6742     inherit fetchcvs stdenv ncurses pkgconfig x11 Xaw3d
6743       libpng libjpeg libungif libtiff texinfo dbus
6744       autoconf automake;
6745     inherit (xlibs) libXaw libXpm libXft;
6746     inherit (gtkLibs) gtk;
6747     xawSupport = getPkgConfig "emacs" "xawSupport" false;
6748     xaw3dSupport = getPkgConfig "emacs" "xaw3dSupport" false;
6749     gtkGUI = getPkgConfig "emacs" "gtkSupport" true;
6750     xftSupport = getPkgConfig "emacs" "xftSupport" true;
6751     dbusSupport = getPkgConfig "emacs" "dbusSupport" true;
6752   });
6754   emacsPackages = emacs: recurseIntoAttrs (rec {
6755     bbdb = import ../applications/editors/emacs-modes/bbdb {
6756       inherit fetchurl stdenv emacs texinfo ctags;
6757     };
6759     cedet = import ../applications/editors/emacs-modes/cedet {
6760       inherit fetchurl stdenv emacs;
6761     };
6763     cua = import ../applications/editors/emacs-modes/cua {
6764       inherit fetchurl stdenv;
6765     };
6767     ecb = import ../applications/editors/emacs-modes/ecb {
6768       inherit fetchurl stdenv emacs cedet jdee texinfo;
6769     };
6771     emacsSessionManagement = import ../applications/editors/emacs-modes/session-management-for-emacs {
6772       inherit fetchurl stdenv emacs;
6773     };
6775     emacsw3m = import ../applications/editors/emacs-modes/emacs-w3m {
6776       inherit fetchcvs stdenv emacs w3m imagemagick texinfo autoconf;
6777     };
6779     emms = import ../applications/editors/emacs-modes/emms {
6780       inherit fetchurl stdenv emacs texinfo mpg321 vorbisTools taglib
6781         alsaUtils;
6782     };
6784     jdee = import ../applications/editors/emacs-modes/jdee {
6785       # Requires Emacs 23, for `avl-tree'.
6786       inherit fetchsvn stdenv cedet ant emacs;
6787     };
6789     stratego = import ../applications/editors/emacs-modes/stratego {
6790       inherit fetchsvn stdenv;
6791     };
6793     haskellMode = import ../applications/editors/emacs-modes/haskell {
6794       inherit fetchurl stdenv emacs;
6795     };
6797     magit = import ../applications/editors/emacs-modes/magit {
6798       inherit fetchurl stdenv emacs texinfo;
6799     };
6801     maudeMode = import ../applications/editors/emacs-modes/maude {
6802       inherit fetchurl stdenv emacs;
6803     };
6805     nxml = import ../applications/editors/emacs-modes/nxml {
6806       inherit fetchurl stdenv;
6807     };
6809     prologMode = import ../applications/editors/emacs-modes/prolog {
6810       inherit fetchurl stdenv;
6811     };
6813     proofgeneral = import ../applications/editors/emacs-modes/proofgeneral {
6814        inherit stdenv fetchurl emacs perl;
6815     };
6817     quack = import ../applications/editors/emacs-modes/quack {
6818       inherit fetchurl stdenv emacs;
6819     };
6821     remember = import ../applications/editors/emacs-modes/remember {
6822       inherit fetchurl stdenv texinfo emacs bbdb;
6823     };
6825     scalaMode = import ../applications/editors/emacs-modes/scala-mode {
6826       inherit fetchsvn stdenv emacs;
6827     };
6828   });
6830   emacs22Packages = emacsPackages emacs22;
6831   emacs23Packages = emacsPackages emacs23;
6833   epdfview = import ../applications/misc/epdfview {
6834     inherit stdenv fetchurl pkgconfig poppler;
6835     inherit (gtkLibs) gtk;
6836   };
6838   evince = makeOverridable (import ../applications/misc/evince) {
6839     inherit fetchurl stdenv perl perlXMLParser gettext intltool
6840       pkgconfig poppler libspectre djvulibre libxslt
6841       dbus dbus_glib shared_mime_info which makeWrapper;
6842     inherit (gnome) gnomedocutils gnomeicontheme libgnome
6843       libgnomeui libglade glib gtk scrollkeeper gnome_keyring;
6844   };
6846   exrdisplay = import ../applications/graphics/exrdisplay {
6847     inherit fetchurl stdenv pkgconfig mesa which openexr_ctl;
6848     fltk = fltk20;
6849     openexr = openexr_1_6_1;
6850   };
6852   fbpanel = composedArgsAndFun (import ../applications/window-managers/fbpanel/4.12.nix) {
6853     inherit fetchurl stdenv builderDefs pkgconfig libpng libjpeg libtiff librsvg;
6854     inherit (gtkLibs) gtk;
6855     inherit (xlibs) libX11 libXmu libXpm;
6856   };
6858   fetchmail = import ../applications/misc/fetchmail {
6859     inherit stdenv fetchurl openssl;
6860   };
6862   grip = import ../applications/misc/grip {
6863     inherit fetchurl stdenv lib grip pkgconfig curl cdparanoia libid3tag;
6864     inherit (gtkLibs) gtk glib;
6865     inherit (gnome) libgnome libgnomeui vte;
6866   };
6868   gwenview = import ../applications/graphics/gwenview {
6869     inherit stdenv fetchurl exiv2 zlib libjpeg perl libpng expat qt3;
6870     inherit (kde3) kdelibs;
6871     inherit (xlibs) libXt libXext;
6872   };
6874   wavesurfer = import ../applications/misc/audio/wavesurfer {
6875     inherit fetchurl stdenv tcl tk snack makeWrapper;
6876   };
6878   wireshark = import ../applications/networking/sniffers/wireshark {
6879     inherit fetchurl stdenv perl pkgconfig libpcap flex bison;
6880     inherit (gtkLibs) gtk;
6881   };
6883   fbida = builderDefsPackage ../applications/graphics/fbida {
6884     inherit libjpeg libexif giflib libtiff libpng
6885       imagemagick ghostscript which curl pkgconfig
6886       freetype fontconfig;
6887   };
6889   fdupes = import ../tools/misc/fdupes {
6890     inherit fetchurl stdenv;
6891   };
6893   feh = import ../applications/graphics/feh {
6894     inherit fetchurl stdenv x11 imlib2 libjpeg libpng giblib;
6895   };
6897   firefox = firefox35;
6899   firefoxWrapper = firefox35Wrapper;
6901   firefox35Pkgs = import ../applications/networking/browsers/firefox/3.5.nix {
6902     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo
6903       python dbus dbus_glib freetype fontconfig bzip2 xlibs file alsaLib
6904       nspr nss;
6905     inherit (gtkLibs) gtk pango;
6906     inherit (gnome) libIDL;
6907   };
6909   firefox35 = firefox35Pkgs.firefox;
6910   xulrunner35 = firefox35Pkgs.xulrunner;
6911   firefox35Wrapper = wrapFirefox firefox35 "firefox" "";
6913   firefox36Pkgs = import ../applications/networking/browsers/firefox/3.6.nix {
6914     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo
6915       python dbus dbus_glib freetype fontconfig bzip2 xlibs file alsaLib
6916       nspr nss libnotify;
6917     inherit (gtkLibs) gtk pango;
6918     inherit (gnome) libIDL;
6919   };
6921   firefox36Wrapper = lowPrio (wrapFirefox firefox36Pkgs.firefox "firefox" "");
6922   
6923   flac = import ../applications/audio/flac {
6924     inherit fetchurl stdenv libogg;
6925   };
6927   flashplayer = flashplayer10;
6929   flashplayer9 = (
6930     import ../applications/networking/browsers/mozilla-plugins/flashplayer-9 {
6931       inherit fetchurl stdenv zlib alsaLib nss nspr fontconfig freetype expat;
6932       inherit (xlibs) libX11 libXext libXrender libXt;
6933       inherit (gtkLibs) gtk glib pango atk;
6934     });
6936   flashplayer10 = (
6937     import ../applications/networking/browsers/mozilla-plugins/flashplayer-10 {
6938       inherit fetchurl stdenv zlib alsaLib curl nss nspr fontconfig freetype expat;
6939       inherit (xlibs) libX11 libXext libXrender libXt ;
6940       inherit (gtkLibs) gtk glib pango atk;
6941       debug = getConfig ["flashplayer" "debug"] false;
6942     });
6944   flite = import ../applications/misc/flite {
6945     inherit fetchurl stdenv;
6946   };
6948   freemind = import ../applications/misc/freemind {
6949     inherit fetchurl stdenv ant coreutils gnugrep;
6950     jdk = jdk;
6951     jre = jdk;
6952   };
6954   freepv = import ../applications/graphics/freepv {
6955     inherit fetchurl mesa freeglut libjpeg zlib cmake libxml2 libpng;
6956     stdenv = overrideGCC stdenv gcc43_wrapper2;
6957     inherit (xlibs) libX11 libXxf86vm;
6958   };
6960   xfontsel = import ../applications/misc/xfontsel {
6961     inherit fetchurl stdenv pkgconfig;
6962     inherit (xlibs) libX11 libXaw;
6963   };
6964   xlsfonts = import ../applications/misc/xlsfonts {
6965     inherit fetchurl stdenv pkgconfig;
6966     inherit (xlibs) libX11;
6967   };
6969   fspot = import ../applications/graphics/f-spot {
6970     inherit fetchurl stdenv perl perlXMLParser pkgconfig mono
6971             libexif libjpeg sqlite lcms libgphoto2 monoDLLFixer;
6972     inherit (gnome) libgnome libgnomeui;
6973     gtksharp = gtksharp1;
6974   };
6976   gimp = import ../applications/graphics/gimp {
6977     inherit fetchurl stdenv pkgconfig freetype fontconfig
6978       libtiff libjpeg libpng libexif zlib perl perlXMLParser
6979       python pygtk gettext xlibs intltool babl gegl;
6980     inherit (gnome) gtk libart_lgpl;
6981   };
6983   gimpPlugins = import ../applications/graphics/gimp/plugins { inherit pkgs gimp; };
6985   gitAndTools = recurseIntoAttrs (import ../applications/version-management/git-and-tools {
6986     inherit pkgs;
6987   });
6988   git = gitAndTools.git;
6989   gitFull = gitAndTools.gitFull;
6991   gnucash = import ../applications/office/gnucash {
6992     inherit fetchurl stdenv pkgconfig libxml2 goffice enchant
6993       gettext intltool perl guile slibGuile swig isocodes bzip2 makeWrapper;
6994     inherit (gnome) gtk glib libglade libgnomeui libgtkhtml gtkhtml
6995       libgnomeprint;
6996     gconf = gnome.GConf;
6997   };
6999   qcad = import ../applications/misc/qcad {
7000     inherit fetchurl stdenv qt3 libpng;
7001     inherit (xlibs) libXext libX11;
7002   };
7004   qjackctl = import ../applications/audio/qjackctl {
7005     inherit fetchurl stdenv alsaLib jackaudio;
7006     qt4 = qt4;
7007   };
7009   gkrellm = import ../applications/misc/gkrellm {
7010     inherit fetchurl stdenv gettext pkgconfig;
7011     inherit (gtkLibs) glib gtk;
7012     inherit (xlibs) libX11 libICE libSM;
7013   };
7015   gnash = import ../applications/video/gnash {
7016     inherit fetchurl stdenv SDL SDL_mixer libogg libxml2 libjpeg mesa libpng
7017             boost freetype agg dbus curl pkgconfig x11 libtool lib libungif
7018             gettext makeWrapper ming dejagnu python;
7019     inherit (gtkLibs) glib gtk;
7020     inherit (gst_all) gstreamer gstPluginsBase gstFfmpeg;
7021   };
7023   gnome_mplayer = import ../applications/video/gnome-mplayer {
7024     inherit fetchurl stdenv pkgconfig dbus dbus_glib;
7025     inherit (gtkLibs) glib gtk;
7026     inherit (gnome) GConf;
7027   };
7029   gnunet = import ../applications/networking/p2p/gnunet {
7030     inherit fetchurl stdenv libextractor libmicrohttpd libgcrypt
7031       gmp curl libtool guile adns sqlite gettext zlib pkgconfig
7032       libxml2 ncurses findutils makeWrapper;
7033     inherit (gnome) gtk libglade;
7034     gtkSupport = getConfig [ "gnunet" "gtkSupport" ] true;
7035   };
7037   gocr = composedArgsAndFun (import ../applications/graphics/gocr/0.44.nix) {
7038     inherit builderDefs fetchurl stdenv;
7039   };
7041   gphoto2 = import ../applications/misc/gphoto2 {
7042     inherit fetchurl stdenv pkgconfig libgphoto2 libexif popt gettext
7043       libjpeg readline libtool;
7044   };
7046   gphoto2fs = builderDefsPackage ../applications/misc/gphoto2/gphotofs.nix {
7047     inherit libgphoto2 fuse pkgconfig glib;
7048   };
7050   gtkpod = import ../applications/audio/gtkpod {
7051     inherit stdenv fetchurl pkgconfig libgpod gettext perl perlXMLParser flex libid3tag libvorbis;
7052     inherit (gtkLibs) gtk glib;
7053     inherit (gnome) libglade;
7054   };
7056   qrdecode = builderDefsPackage (import ../tools/graphics/qrdecode) {
7057     inherit libpng libcv;
7058   };
7060   qrencode = builderDefsPackage (import ../tools/graphics/qrencode) {
7061     inherit libpng pkgconfig;
7062   };
7064   gecko_mediaplayer = import ../applications/networking/browsers/mozilla-plugins/gecko-mediaplayer {
7065     inherit fetchurl stdenv pkgconfig dbus dbus_glib x11 gnome_mplayer MPlayer glib;
7066     inherit (gnome) GConf;
7067     browser = firefox35;
7068   };
7070   geeqie = import ../applications/graphics/geeqie {
7071     inherit fetchurl stdenv pkgconfig libpng lcms exiv2
7072       intltool gettext;
7073     inherit (gtkLibs) gtk;
7074   };
7076   gqview = import ../applications/graphics/gqview {
7077     inherit fetchurl stdenv pkgconfig libpng;
7078     inherit (gtkLibs) gtk;
7079   };
7081   googleearth = import ../applications/misc/googleearth {
7082       inherit stdenv fetchurl glibc mesa freetype zlib glib;
7083       inherit (xlibs) libSM libICE libXi libXv libXrender libXrandr libXfixes
7084         libXcursor libXinerama libXext libX11;
7085       inherit patchelf05;
7086     };
7088   gpsbabel = import ../applications/misc/gpsbabel {
7089     inherit fetchurl stdenv zlib expat;
7090   };
7092   gpscorrelate = import ../applications/misc/gpscorrelate {
7093     inherit fetchurl stdenv pkgconfig exiv2 libxml2
7094       libxslt docbook_xsl docbook_xml_dtd_42;
7095     inherit (gtkLibs) gtk;
7096   };
7098   gpsd = import ../servers/gpsd {
7099     inherit fetchurl stdenv pkgconfig dbus dbus_glib
7100       ncurses makeWrapper libxslt xmlto;
7101     inherit (xlibs) libX11 libXt libXpm libXaw libXext;
7103     # We need a Python with NCurses bindings.
7104     python = pythonFull;
7105   };
7107   gv = import ../applications/misc/gv {
7108     inherit fetchurl stdenv Xaw3d ghostscriptX;
7109   };
7111   hello = makeOverridable (import ../applications/misc/hello/ex-2) {
7112     inherit fetchurl stdenv;
7113   };
7115   hugin = import ../applications/graphics/hugin {
7116     inherit fetchurl cmake panotools libtiff libpng boost pkgconfig
7117       exiv2 gettext ilmbase enblendenfuse autopanosiftc mesa freeglut
7118       glew;
7119     inherit wxGTK;
7120     inherit (xlibs) libXi libXmu;
7121     openexr = openexr_1_6_1;
7122     stdenv = overrideGCC stdenv gcc43_wrapper2;
7123   };
7125   i810switch = import ../applications/misc/i810 {
7126     inherit fetchurl stdenv pciutils;
7127   };
7129   icecat3 = lowPrio (import ../applications/networking/browsers/icecat-3 {
7130     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo
7131       python dbus dbus_glib freetype fontconfig bzip2 xlibs alsaLib;
7132     inherit (gnome) libIDL libgnomeui gnomevfs gtk pango;
7133     inherit (pythonPackages) ply;
7134   });
7136   icecatXulrunner3 = lowPrio (import ../applications/networking/browsers/icecat-3 {
7137     application = "xulrunner";
7138     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo
7139       python dbus dbus_glib freetype fontconfig bzip2 xlibs alsaLib;
7140     inherit (gnome) libIDL libgnomeui gnomevfs gtk pango;
7141     inherit (pythonPackages) ply;
7142   });
7144   icecat3Xul =
7145     (symlinkJoin "icecat-with-xulrunner-${icecat3.version}"
7146        [ icecat3 icecatXulrunner3 ])
7147     // { inherit (icecat3) gtk isFirefox3Like meta; };
7149   icecatWrapper = wrapFirefox icecat3Xul "icecat" "";
7151   icewm = import ../applications/window-managers/icewm {
7152     inherit fetchurl stdenv gettext libjpeg libtiff libungif libpng imlib xlibs;
7153   };
7155   ikiwiki = makeOverridable (import ../applications/misc/ikiwiki) {
7156     inherit fetchurl stdenv perl gettext makeWrapper lib;
7157     inherit (perlPackages) TextMarkdown URI HTMLParser HTMLScrubber
7158       HTMLTemplate TimeDate CGISession DBFile CGIFormBuilder;
7159     inherit git; # The RCS should be optional
7160     monotone = null;
7161     extraUtils = [];
7162   };
7164   imagemagick = import ../applications/graphics/ImageMagick {
7165     inherit stdenv fetchurl bzip2 freetype graphviz ghostscript
7166       libjpeg libpng libtiff libxml2 zlib libtool;
7167     inherit (xlibs) libX11;
7168   };
7170   imagemagickBig = import ../applications/graphics/ImageMagick {
7171     inherit stdenv fetchurl bzip2 freetype graphviz ghostscript
7172       libjpeg libpng libtiff libxml2 zlib tetex librsvg libtool;
7173     inherit (xlibs) libX11;
7174   };
7176   # Impressive, formerly known as "KeyJNote".
7177   impressive = import ../applications/office/impressive {
7178     inherit fetchurl stdenv xpdf pil pyopengl pygame makeWrapper lib python;
7180     # XXX These are the PyOpenGL dependencies, which we need here.
7181     inherit setuptools mesa freeglut;
7182   };
7184   inkscape = import ../applications/graphics/inkscape {
7185     inherit fetchurl stdenv perl perlXMLParser pkgconfig zlib popt
7186       libxml2 libxslt libpng boehmgc libsigcxx lcms boost gettext
7187       cairomm python pyxml makeWrapper intltool gsl;
7188     inherit (pythonPackages) lxml;
7189     inherit (gtkLibs) gtk glib glibmm gtkmm;
7190     inherit (xlibs) libXft;
7191   };
7193   ion3 = import ../applications/window-managers/ion-3 {
7194     inherit fetchurl stdenv x11 gettext groff;
7195     lua = lua5;
7196   };
7198   iptraf = import ../applications/networking/iptraf {
7199     inherit fetchurl stdenv ncurses;
7200   };
7202   irssi = import ../applications/networking/irc/irssi {
7203     inherit stdenv fetchurl pkgconfig ncurses openssl glib;
7204   };
7206   jackmeter = import ../applications/audio/jackmeter {
7207     inherit fetchurl stdenv lib jackaudio pkgconfig;
7208   };
7210   jedit = import ../applications/editors/jedit {
7211     inherit fetchurl stdenv ant;
7212   };
7214   jigdo = import ../applications/misc/jigdo {
7215     inherit fetchurl stdenv db45 libwpd bzip2;
7216     inherit (gtkLibs) gtk;
7217   };
7219   joe = import ../applications/editors/joe {
7220     inherit stdenv fetchurl;
7221   };
7223   jwm = import ../applications/window-managers/jwm {
7224     inherit fetchurl stdenv;
7225     inherit (xlibs) libX11 libXext libXinerama libXpm libXft;
7226   };
7228   k3b = import ../applications/misc/k3b {
7229     inherit stdenv fetchurl kdelibs x11 zlib libpng libjpeg perl qt3;
7230   };
7232   kbasket = import ../applications/misc/kbasket {
7233     inherit stdenv fetchurl kdelibs x11 zlib libpng libjpeg
7234       perl qt3 gpgme libgpgerror;
7235   };
7237   kermit = import ../tools/misc/kermit {
7238     inherit fetchurl stdenv ncurses;
7239   };
7241   kino = import ../applications/video/kino {
7242     inherit fetchurl stdenv pkgconfig libxml2 perl perlXMLParser
7243       libdv libraw1394 libavc1394 libiec61883 x11 gettext cairo; /* libavformat */
7244     inherit libsamplerate ffmpeg;
7245     inherit (gnome) libglade gtk glib;
7246     inherit (xlibs) libXv libX11;
7247     inherit (gtkLibs) pango;
7248     # #  optional
7249     #  inherit ffmpeg2theora sox, vorbis-tools lame mjpegtools dvdauthor 'Q'dvdauthor growisofs mencoder;
7250   };
7252   kile = import ../applications/editors/kile {
7253     inherit stdenv fetchurl perl arts kdelibs zlib libpng libjpeg freetype expat;
7254     inherit (xlibs) libX11 libXt libXext libXrender libXft;
7255     qt = qt3;
7256   };
7258   konversation = import ../applications/networking/irc/konversation {
7259     inherit fetchurl stdenv perl arts kdelibs zlib libpng libjpeg expat;
7260     inherit (xlibs) libX11 libXt libXext libXrender libXft;
7261     qt = qt3;
7262   };
7264   kphone = import ../applications/networking/kphone {
7265     inherit fetchurl lib autoconf automake libtool pkgconfig openssl libpng alsaLib;
7266     qt = qt3;
7267     inherit (xlibs) libX11 libXext libXt libICE libSM;
7268     stdenv = overrideGCC stdenv gcc42; # I'm to lazy to clean up header files
7269   };
7271   kuickshow = import ../applications/graphics/kuickshow {
7272     inherit fetchurl stdenv kdelibs arts libpng libjpeg libtiff libungif imlib expat perl;
7273     inherit (xlibs) libX11 libXext libSM;
7274     qt = qt3;
7275   };
7277   lame = import ../applications/audio/lame {
7278     inherit fetchurl stdenv;
7279   };
7281   ladspaH = import ../applications/audio/ladspa-plugins/ladspah.nix {
7282     inherit fetchurl stdenv builderDefs stringsWithDeps;
7283   };
7285   ladspaPlugins = import ../applications/audio/ladspa-plugins {
7286     inherit fetchurl stdenv builderDefs stringsWithDeps fftw ladspaH pkgconfig;
7287   };
7289   ldcpp = composedArgsAndFun (import ../applications/networking/p2p/ldcpp/1.0.3.nix) {
7290     inherit builderDefs scons pkgconfig bzip2 openssl;
7291     inherit (gtkLibs) gtk;
7292     inherit (gnome) libglade;
7293     inherit (xlibs) libX11;
7294   };
7296   links = import ../applications/networking/browsers/links {
7297     inherit fetchurl stdenv;
7298   };
7300   ledger = import ../applications/office/ledger {
7301     inherit stdenv fetchurl emacs gmp pcre;
7302   };
7304   links2 = (builderDefsPackage ../applications/networking/browsers/links2) {
7305     inherit fetchurl stdenv bzip2 zlib libjpeg libpng libtiff
7306       gpm openssl SDL SDL_image SDL_net pkgconfig;
7307     inherit (xlibs) libX11 libXau xproto libXt;
7308   };
7310   lynx = import ../applications/networking/browsers/lynx {
7311     inherit fetchurl stdenv ncurses openssl;
7312   };
7314   lyx = import ../applications/misc/lyx {
7315    inherit fetchurl stdenv texLive python;
7316    qt = qt4;
7317   };
7319   mercurial = import ../applications/version-management/mercurial {
7320     inherit fetchurl stdenv makeWrapper getConfig tk;
7321     guiSupport = getConfig ["mercurial" "guiSupport"] false; # for hgk (gitk gui for hg)
7322     python = # allow cloning sources from https servers.
7323       if getConfig ["mercurial" "httpsSupport"] true
7324       then pythonFull
7325       else pythonBase;
7326   };
7328   meshlab = import ../applications/graphics/meshlab {
7329     inherit fetchurl stdenv bzip2 lib3ds levmar muparser unzip;
7330     qt = qt4;
7331   };
7333   midori = builderDefsPackage (import ../applications/networking/browsers/midori) {
7334     inherit imagemagick intltool python pkgconfig webkit libxml2
7335       which gettext makeWrapper file libidn sqlite docutils libnotify;
7336     inherit (gtkLibs) gtk glib;
7337     inherit (gnome28) gtksourceview libsoup;
7338   };
7340   minicom = import ../tools/misc/minicom {
7341     inherit fetchurl stdenv ncurses;
7342   };
7344   mmex = import ../applications/office/mmex {
7345     inherit fetchsvn stdenv wxGTK;
7346   };
7348   monodevelop = import ../applications/editors/monodevelop {
7349     inherit fetchurl stdenv file mono gtksourceviewsharp
7350             gtkmozembedsharp monodoc perl perlXMLParser pkgconfig;
7351     inherit (gnome) gnomevfs libbonobo libglade libgnome GConf glib gtk;
7352     mozilla = firefox;
7353     gtksharp = gtksharp2;
7354   };
7356   monodoc = import ../applications/editors/monodoc {
7357     inherit fetchurl stdenv mono pkgconfig;
7358     gtksharp = gtksharp1;
7359   };
7361   monotone = import ../applications/version-management/monotone {
7362     inherit stdenv fetchurl boost zlib botan libidn pcre
7363       sqlite lib perl;
7364     lua = lua5;
7365   };
7367   monotoneViz = builderDefsPackage (import ../applications/version-management/monotone-viz/mtn-head.nix) {
7368     inherit ocaml lablgtk graphviz pkgconfig autoconf automake libtool;
7369     inherit (gnome) gtk libgnomecanvas glib;
7370   };
7372   mozilla = import ../applications/networking/browsers/mozilla {
7373     inherit fetchurl pkgconfig stdenv perl zip;
7374     inherit (gtkLibs) gtk;
7375     inherit (gnome) libIDL;
7376     inherit (xlibs) libXi;
7377   };
7379   mozplugger = builderDefsPackage (import ../applications/networking/browsers/mozilla-plugins/mozplugger) {
7380     inherit firefox;
7381     inherit (xlibs) libX11 xproto;
7382   };
7384   mpg321 = import ../applications/audio/mpg321 {
7385     inherit stdenv fetchurl libao libmad libid3tag zlib;
7386   };
7388   MPlayer = import ../applications/video/MPlayer {
7389     inherit fetchurl stdenv freetype x11 zlib libtheora libcaca freefont_ttf libdvdnav
7390       cdparanoia mesa pkgconfig unzip amrnb amrwb;
7391     inherit (xlibs) libX11 libXv libXinerama libXrandr;
7392     alsaSupport = true;
7393     alsa = alsaLib;
7394     theoraSupport = true;
7395     cacaSupport = true;
7396     xineramaSupport = true;
7397     randrSupport = true;
7398     cddaSupport = true;
7399     amrSupport = getConfig [ "MPlayer" "amr" ] false;
7400   };
7402   MPlayerPlugin = browser:
7403     import ../applications/networking/browsers/mozilla-plugins/mplayerplug-in {
7404       inherit browser;
7405       inherit fetchurl stdenv pkgconfig gettext;
7406       inherit (xlibs) libXpm;
7407       # !!! should depend on MPlayer
7408     };
7410   MPlayerTrunk = import ../applications/video/MPlayer/trunk.nix {
7411     inherit fetchurl sourceFromHead stdenv freetype x11 zlib libtheora libcaca
7412       freefont_ttf libdvdnav cdparanoia mesa pkgconfig jackaudio;
7413     inherit (xlibs) libX11 libXv libXinerama libXrandr;
7414     alsaSupport = true;
7415     alsa = alsaLib;
7416     theoraSupport = true;
7417     cacaSupport = true;
7418     xineramaSupport = true;
7419     randrSupport = true;
7420     cddaSupport = true;
7421   };
7423   mrxvt = import ../applications/misc/mrxvt {
7424     inherit lib fetchurl stdenv freetype pkgconfig which;
7425     inherit (xlibs) libXaw xproto libXt libX11 libSM libICE libXft
7426       libXi inputproto;
7427   };
7429   multisync = import ../applications/misc/multisync {
7430     inherit fetchurl stdenv autoconf automake libtool pkgconfig;
7431     inherit (gnome) gtk glib ORBit2 libbonobo libgnomeui GConf;
7432   };
7434   mutt = import ../applications/networking/mailreaders/mutt {
7435     inherit fetchurl stdenv ncurses which openssl gdbm perl;
7436   };
7438   msmtp = import ../applications/networking/msmtp {
7439     inherit fetchurl stdenv;
7440   };
7442   mythtv = import ../applications/video/mythtv {
7443     inherit fetchurl stdenv which x11 xlibs lame zlib mesa freetype perl alsaLib;
7444     qt3 = qt3mysql;
7445   };
7447   nano = import ../applications/editors/nano {
7448     inherit fetchurl stdenv ncurses gettext;
7449   };
7451   nedit = import ../applications/editors/nedit {
7452       inherit fetchurl stdenv x11;
7453       inherit (xlibs) libXpm;
7454       motif = lesstif;
7455     };
7457   netsurfBrowser = netsurf.browser;
7458   netsurf = recurseIntoAttrs (import ../applications/networking/browsers/netsurf { inherit pkgs; });
7460   nvi = import ../applications/editors/nvi {
7461     inherit fetchurl stdenv ncurses;
7462   };
7464   openoffice = import ../applications/office/openoffice {
7465     inherit fetchurl stdenv pam python tcsh libxslt perl zlib libjpeg
7466       expat pkgconfig freetype fontconfig libwpd libxml2 db4 sablotron
7467       curl libsndfile flex zip unzip libmspack getopt file neon cairo
7468       which icu jdk ant cups openssl bison boost gperf cppunit;
7469     inherit (xlibs) libXaw libXext libX11 libXtst libXi libXinerama;
7470     inherit (gtkLibs) gtk;
7471     inherit (perlPackages) ArchiveZip CompressZlib;
7472     inherit (gnome) GConf ORBit2;
7473   };
7475   opera = import ../applications/networking/browsers/opera {
7476     inherit fetchurl zlib glibc stdenv makeDesktopItem;
7477     inherit (xlibs) libX11 libSM libICE libXt libXext;
7478     qt = qt3;
7479   };
7481   pan = import ../applications/networking/newsreaders/pan {
7482     inherit fetchurl stdenv pkgconfig perl pcre gmime gettext;
7483     inherit (gtkLibs) gtk;
7484     spellChecking = false;
7485   };
7487   panotools = import ../applications/graphics/panotools {
7488     inherit stdenv fetchsvn libpng libjpeg libtiff automake libtool autoconf;
7489   };
7491   pavucontrol = import ../applications/audio/pavucontrol {
7492     inherit fetchurl stdenv pkgconfig pulseaudio libsigcxx
7493       libcanberra intltool gettext;
7494     inherit (gtkLibs) gtkmm;
7495     inherit (gnome) libglademm;
7496   };
7498   paraview = import ../applications/graphics/paraview {
7499     inherit fetchurl cmake qt4;
7500     stdenv = overrideGCC stdenv gcc43_wrapper2;
7501   };
7503   partitionManager = import ../tools/misc/partition-manager {
7504     inherit fetchurl stdenv lib cmake pkgconfig gettext parted libuuid perl;
7505     kde = kde43;
7506     qt = qt4;
7507   };
7509   pidgin = import ../applications/networking/instant-messengers/pidgin {
7510     inherit fetchurl stdenv pkgconfig perl perlXMLParser libxml2 nss nspr farsight2 python
7511       gtkspell aspell gettext ncurses avahi dbus dbus_glib lib intltool libidn;
7512     openssl = if (getConfig ["pidgin" "openssl"] true) then openssl else null;
7513     gnutls = if (getConfig ["pidgin" "gnutls"] false) then gnutls else null;
7514     GStreamer = gst_all.gstreamer;
7515     inherit (gtkLibs) gtk;
7516     inherit (gnome) startupnotification;
7517     inherit (xlibs) libXScrnSaver;
7518     inherit (gst_all) gstPluginsBase;
7519   };
7521   pidginlatex = composedArgsAndFun (import ../applications/networking/instant-messengers/pidgin-plugins/pidgin-latex) {
7522     inherit fetchurl stdenv pkgconfig ghostscript pidgin texLive;
7523     imagemagick = imagemagickBig;
7524     inherit (gtkLibs) glib gtk;
7525   };
7527   pidginlatexSF = builderDefsPackage
7528     (import ../applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix)
7529     {
7530       inherit pkgconfig pidgin texLive imagemagick which;
7531       inherit (gtkLibs) glib gtk;
7532     };
7534   pidginotr = import ../applications/networking/instant-messengers/pidgin-plugins/otr {
7535     inherit fetchurl stdenv libotr pidgin;
7536   };
7538   pinfo = import ../applications/misc/pinfo {
7539     inherit fetchurl stdenv ncurses readline;
7540   };
7542   pqiv = import ../applications/graphics/pqiv {
7543     inherit fetchurl stdenv getopt which pkgconfig;
7544     inherit (gtkLibs) gtk;
7545   };
7547   # perhaps there are better apps for this task? It's how I had configured my preivous system.
7548   # And I don't want to rewrite all rules
7549   procmail = import ../applications/misc/procmail {
7550     inherit fetchurl stdenv autoconf;
7551   };
7553   pstree = import ../applications/misc/pstree {
7554     inherit stdenv fetchurl;
7555   };
7557   pythonmagick = import ../applications/graphics/PythonMagick {
7558     inherit fetchurl stdenv pkgconfig imagemagick boost python;
7559   };
7561   qemu = import ../applications/virtualization/qemu/0.12.1.nix {
7562     inherit stdenv fetchurl SDL zlib which;
7563   };
7565   qemuSVN = import ../applications/virtualization/qemu/svn-6642.nix {
7566     inherit fetchsvn SDL zlib which stdenv;
7567   };
7569   qemuImage = composedArgsAndFun (import ../applications/virtualization/qemu/linux-img/0.2.nix) {
7570     inherit builderDefs fetchurl stdenv;
7571   };
7573   qtpfsgui = import ../applications/graphics/qtpfsgui {
7574     inherit fetchurl stdenv exiv2 libtiff fftw qt4 ilmbase;
7575     openexr = openexr_1_6_1;
7576   };
7578   ratpoison = import ../applications/window-managers/ratpoison {
7579     inherit fetchurl stdenv fontconfig readline;
7580     inherit (xlibs) libX11 inputproto libXt libXpm libXft
7581       libXtst xextproto libXi;
7582   };
7584   rawtherapee = import ../applications/graphics/rawtherapee {
7585     inherit fetchsvn pkgconfig cmake lcms libiptcdata;
7586     inherit (gtkLibs) gtk gtkmm;
7587     inherit (xlibs) libXau libXdmcp pixman libpthreadstubs;
7588     stdenv = overrideGCC stdenv gcc43_wrapper2;
7589   };
7591   rcs = import ../applications/version-management/rcs {
7592     inherit fetchurl stdenv;
7593   };
7595   rdesktop = import ../applications/networking/remote/rdesktop {
7596     inherit fetchurl stdenv openssl;
7597     inherit (xlibs) libX11;
7598   };
7600   RealPlayer =
7601     (import ../applications/video/RealPlayer {
7602       inherit fetchurl stdenv;
7603       inherit (gtkLibs) glib pango atk gtk;
7604       inherit (xlibs) libX11;
7605       libstdcpp5 = gcc33.gcc;
7606     });
7608   rsync = import ../applications/networking/sync/rsync {
7609     inherit fetchurl stdenv acl perl;
7610     enableACLs = !stdenv.isDarwin;
7611   };
7613   rxvt = import ../applications/misc/rxvt {
7614     inherit lib fetchurl stdenv;
7615     inherit (xlibs) libXt libX11;
7616   };
7618   # = urxvt
7619   rxvt_unicode = makeOverridable (import ../applications/misc/rxvt_unicode) {
7620     inherit lib fetchurl stdenv perl ncurses;
7621     inherit (xlibs) libXt libX11 libXft;
7622     perlSupport = false;
7623   };
7625   sbagen = import ../applications/misc/sbagen {
7626     inherit fetchurl stdenv;
7627   };
7629   scribus = import ../applications/office/scribus {
7630     inherit fetchurl stdenv lib cmake pkgconfig freetype lcms libtiff libxml2
7631       cairo python cups fontconfig zlib libjpeg libpng;
7632     inherit (gnome) libart_lgpl;
7633     inherit (xlibs) libXaw libXext libX11 libXtst libXi libXinerama;
7634     qt = qt3;
7635   };
7637   skype_linux = import ../applications/networking/skype {
7638     inherit fetchurl stdenv;
7639     inherit glibc alsaLib freetype fontconfig libsigcxx gcc;
7640     inherit (xlibs) libSM libICE libXi libXrender libXrandr libXfixes libXcursor
7641                     libXinerama libXext libX11 libXv libXScrnSaver;
7642   };
7644   slim = import ../applications/display-managers/slim {
7645     inherit fetchurl stdenv x11 libjpeg libpng freetype pam;
7646     inherit (xlibs) libXmu;
7647   };
7649   sndBase = builderDefsPackage (import ../applications/audio/snd) {
7650     inherit fetchurl stdenv stringsWithDeps lib fftw;
7651     inherit pkgconfig gmp gettext;
7652     inherit (xlibs) libXpm libX11;
7653     inherit (gtkLibs) gtk glib;
7654   };
7656   snd = sndBase.passthru.function {
7657     inherit guile mesa libtool jackaudio alsaLib;
7658   };
7660   sonicVisualizer = import ../applications/audio/sonic-visualizer {
7661     inherit fetchurl stdenv lib libsndfile libsamplerate bzip2 librdf
7662       rubberband jackaudio pulseaudio libmad
7663       libogg liblo alsaLib librdf_raptor librdf_rasqal redland fftw;
7664     inherit (vamp) vampSDK;
7665     qt = qt4;
7666   };
7668   sox = import ../applications/misc/audio/sox {
7669     inherit fetchurl stdenv lib composableDerivation;
7670     # optional features
7671     inherit alsaLib libao ffmpeg;
7672     inherit libsndfile libogg flac libmad lame libsamplerate;
7673     # Using the default nix ffmpeg I get this error when linking
7674     # .libs/libsox_la-ffmpeg.o: In function `audio_decode_frame':
7675     # /tmp/nix-7957-1/sox-14.0.0/src/ffmpeg.c:130: undefined reference to `avcodec_decode_audio2
7676     # That's why I'v added ffmpeg_svn
7677   };
7679   stumpwm = builderDefsPackage (import ../applications/window-managers/stumpwm) {
7680     inherit texinfo;
7681     clisp = clisp_2_44_1;
7682   };
7684   subversion = makeOverridable (import ../applications/version-management/subversion/default.nix) {
7685     inherit (pkgsOverriden) fetchurl stdenv apr aprutil expat swig zlib jdk python perl sqlite;
7686     neon = neon028;
7687     bdbSupport = getConfig ["subversion" "bdbSupport"] true;
7688     httpServer = getConfig ["subversion" "httpServer"] false;
7689     httpSupport = getConfig ["subversion" "httpSupport"] true;
7690     sslSupport = getConfig ["subversion" "sslSupport"] true;
7691     pythonBindings = getConfig ["subversion" "pythonBindings"] false;
7692     perlBindings = getConfig ["subversion" "perlBindings"] false;
7693     javahlBindings = supportsJDK && getConfig ["subversion" "javahlBindings"] false;
7694     compressionSupport = getConfig ["subversion" "compressionSupport"] true;
7695     httpd = pkgsOverriden.apacheHttpd;
7696   };
7698   svk = perlPackages.SVK;
7700   sylpheed = import ../applications/networking/mailreaders/sylpheed {
7701     inherit fetchurl stdenv pkgconfig openssl gpgme;
7702     inherit (gtkLibs) gtk;
7703     sslSupport = true;
7704     gpgSupport = true;
7705   };
7707   # linux only by now
7708   synergy = import ../applications/misc/synergy {
7709     inherit fetchurl sourceFromHead stdenv x11 automake autoconf;
7710     inherit (xlibs) xextproto libXtst inputproto libXi;
7711   };
7713   tahoelafs = import ../tools/networking/p2p/tahoe-lafs {
7714     inherit fetchurl lib unzip nettools buildPythonPackage;
7715     inherit (pythonPackages) twisted foolscap simplejson nevow zfec
7716       pycryptopp pysqlite;
7717   };
7719   tailor = builderDefsPackage (import ../applications/version-management/tailor) {
7720     inherit makeWrapper python;
7721   };
7723   tangogps = import ../applications/misc/tangogps {
7724     inherit fetchurl stdenv pkgconfig gettext curl libexif sqlite libxml2;
7725     inherit (gtkLibs) gtk;
7726     gconf = gnome.GConf;
7727   };
7729   /* does'nt work yet i686-linux only (32bit version)
7730   teamspeak_client = import ../applications/networking/instant-messengers/teamspeak/client.nix {
7731     inherit fetchurl stdenv;
7732     inherit glibc x11;
7733   };
7734   */
7736   taskJuggler = import ../applications/misc/taskjuggler {
7737     inherit stdenv fetchurl;
7738     inherit zlib libpng perl expat;
7739     qt = qt3;
7741     inherit (xlibs) libX11 libXext libSM libICE;
7743     # KDE support is not working yet.
7744     inherit kdelibs kdebase;
7745     withKde = pkgs.getConfig ["taskJuggler" "kde"] false;
7746   };
7748   thinkingRock = import ../applications/misc/thinking-rock {
7749     inherit fetchurl stdenv;
7750   };
7752   thunderbird = thunderbird2;
7754   thunderbird2 = import ../applications/networking/mailreaders/thunderbird/2.x.nix {
7755     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo;
7756     inherit (gtkLibs) gtk;
7757     inherit (gnome) libIDL;
7758     inherit (xlibs) libXi;
7759   };
7761   thunderbird3 = lowPrio (import ../applications/networking/mailreaders/thunderbird/3.x.nix {
7762     inherit fetchurl stdenv pkgconfig perl python dbus_glib zip bzip2 alsaLib nspr;
7763     inherit (gtkLibs) gtk;
7764     inherit (gnome) libIDL;
7765   });
7767   timidity = import ../tools/misc/timidity {
7768     inherit fetchurl stdenv lib alsaLib composableDerivation jackaudio ncurses;
7769   };
7771   tkcvs = import ../applications/version-management/tkcvs {
7772     inherit stdenv fetchurl tcl tk;
7773   };
7775   tla = import ../applications/version-management/arch {
7776     inherit fetchurl stdenv diffutils gnutar gnupatch which;
7777   };
7779   twinkle = import ../applications/networking/twinkle {
7780     inherit fetchurl stdenv lib pkgconfig commoncpp2 ccrtp openssl speex libjpeg perl
7781       libzrtpcpp libsndfile libxml2 file readline alsaLib;
7782     qt = qt3;
7783     boost = boostFull;
7784     inherit (xlibs) libX11 libXaw libICE libXext;
7785   };
7787   unison = import ../applications/networking/sync/unison {
7788     inherit fetchurl stdenv ocaml lablgtk makeWrapper;
7789     inherit (xorg) xset fontschumachermisc;
7790   };
7792   uucp = import ../tools/misc/uucp {
7793     inherit fetchurl stdenv;
7794   };
7796   uzbl = builderDefsPackage (import ../applications/networking/browsers/uzbl) {
7797     inherit pkgconfig webkit makeWrapper;
7798     inherit (gtkLibs) gtk glib;
7799     libsoup = gnome28.libsoup;
7800   };
7802   uzblExperimental = builderDefsPackage
7803         (import ../applications/networking/browsers/uzbl/experimental.nix) {
7804     inherit pkgconfig webkit makeWrapper;
7805     inherit (gtkLibs) gtk glib;
7806     libsoup = gnome28.libsoup;
7807   };
7809   valknut = import ../applications/networking/p2p/valknut {
7810     inherit fetchurl stdenv perl x11 libxml2 libjpeg libpng openssl dclib;
7811     qt = qt3;
7812   };
7814   viewMtn = builderDefsPackage (import ../applications/version-management/viewmtn/0.10.nix)
7815   {
7816     inherit monotone flup cheetahTemplate highlight ctags
7817       makeWrapper graphviz which python;
7818   };
7820   vim = import ../applications/editors/vim {
7821     inherit fetchurl stdenv ncurses lib;
7822   };
7824   vimHugeX = import ../applications/editors/vim {
7825     inherit fetchurl stdenv lib ncurses pkgconfig
7826       perl python tcl;
7827     inherit (xlibs) libX11 libXext libSM libXpm
7828       libXt libXaw libXau;
7829     inherit (gtkLibs) glib gtk;
7831     # Looks like python and perl can conflict
7832     flags = ["hugeFeatures" "gtkGUI" "x11Support"
7833       /*"perlSupport"*/ "pythonSupport" "tclSupport"];
7834   };
7836   vim_configurable = import ../applications/editors/vim/configurable.nix {
7837     inherit fetchurl stdenv ncurses pkgconfig composableDerivation lib;
7838     inherit (xlibs) libX11 libXext libSM libXpm
7839         libXt libXaw libXau libXmu;
7840     inherit (gtkLibs) glib gtk;
7841     features = "huge"; # one of  tiny, small, normal, big or huge
7842     # optional features by passing
7843     # python
7844     # TODO mzschemeinterp perlinterp
7845     inherit python perl tcl ruby /*x11*/;
7847     # optional features by flags
7848     flags = [ "X11" ]; # only flag "X11" by now
7849   };
7851   vlc = import ../applications/video/vlc {
7852     inherit fetchurl stdenv perl xlibs zlib a52dec libmad faad2
7853       ffmpeg libdvdnav pkgconfig hal fribidi qt4 freefont_ttf;
7854     dbus = dbus.libs;
7855     alsa = alsaLib;
7856   };
7858   vnstat = import ../applications/networking/vnstat {
7859     inherit fetchurl stdenv ncurses;
7860   };
7862   vorbisTools = import ../applications/audio/vorbis-tools {
7863     inherit fetchurl stdenv libogg libvorbis libao pkgconfig curl glibc
7864       speex flac;
7865   };
7867   vwm = import ../applications/window-managers/vwm {
7868     inherit fetchurl stdenv ncurses pkgconfig libviper libpseudo gpm glib libvterm;
7869   };
7871   w3m = import ../applications/networking/browsers/w3m {
7872     inherit fetchurl stdenv ncurses openssl boehmgc gettext zlib imlib2 x11;
7873     graphicsSupport = false;
7874   };
7876   # I'm keen on wmiimenu only  >wmii-3.5 no longer has it...
7877   wmiimenu = import ../applications/window-managers/wmii31 {
7878     libixp = libixp_for_wmii;
7879     inherit fetchurl /* fetchhg */ stdenv gawk;
7880     inherit (xlibs) libX11;
7881   };
7883   wmiiSnap = import ../applications/window-managers/wmii {
7884     libixp = libixp_for_wmii;
7885     inherit fetchurl /* fetchhg */ stdenv gawk;
7886     inherit (xlibs) libX11 xextproto libXt libXext;
7887     includeUnpack = getConfig ["stdenv" "includeUnpack"] false;
7888   };
7890   wordnet = import ../applications/misc/wordnet {
7891     inherit stdenv fetchurl tcl tk x11 makeWrapper;
7892   };
7894   wrapFirefox = browser: browserName: nameSuffix: import ../applications/networking/browsers/firefox/wrapper.nix {
7895     inherit stdenv nameSuffix makeWrapper makeDesktopItem browser browserName;
7896     plugins =
7897       let enableAdobeFlash = getConfig [ browserName "enableAdobeFlash" ] true;
7898       in
7899        ([]
7900         ++ lib.optional (!enableAdobeFlash) gnash
7901         ++ lib.optional enableAdobeFlash flashplayer
7902         # RealPlayer is disabled by default for legal reasons.
7903         ++ lib.optional (system != "i686-linux" && getConfig [browserName "enableRealPlayer"] false) RealPlayer
7904         ++ lib.optional (getConfig [browserName "enableMPlayer"] false) (MPlayerPlugin browser)
7905         ++ lib.optional (getConfig [browserName "enableGeckoMediaPlayer"] false) gecko_mediaplayer
7906         ++ lib.optional (supportsJDK && getConfig [browserName "jre"] false && jrePlugin ? mozillaPlugin) jrePlugin
7907        );
7908   };
7910   x11vnc = composedArgsAndFun (import ../tools/X11/x11vnc/0.9.3.nix) {
7911     inherit builderDefs openssl zlib libjpeg ;
7912     inherit (xlibs) libXfixes fixesproto libXdamage damageproto
7913       libX11 xproto libXtst libXinerama xineramaproto libXrandr randrproto
7914       libXext xextproto inputproto recordproto libXi renderproto
7915       libXrender;
7916   };
7918   x2vnc = composedArgsAndFun (import ../tools/X11/x2vnc/1.7.2.nix) {
7919     inherit builderDefs;
7920     inherit (xlibs) libX11 xproto xextproto libXext libXrandr randrproto;
7921   };
7923   xaos = builderDefsPackage (import ../applications/graphics/xaos) {
7924     inherit (xlibs) libXt libX11 libXext xextproto xproto;
7925     inherit gsl aalib zlib libpng intltool gettext perl;
7926   };
7928   xara = import ../applications/graphics/xara {
7929     inherit fetchurl stdenv autoconf automake libtool gettext cvs
7930       pkgconfig libxml2 zip libpng libjpeg shebangfix perl freetype;
7931     inherit (gtkLibs) gtk;
7932     wxGTK = wxGTK26;
7933   };
7935   xawtv = import ../applications/video/xawtv {
7936     inherit fetchurl stdenv ncurses libjpeg perl;
7937     inherit (xlibs) libX11 libXt libXft xproto libFS fontsproto libXaw libXpm libXext libSM libICE xextproto;
7938   };
7940   xchat = import ../applications/networking/irc/xchat {
7941     inherit fetchurl stdenv pkgconfig tcl;
7942     inherit (gtkLibs) gtk;
7943   };
7945   xchm = import ../applications/misc/xchm {
7946     inherit fetchurl stdenv chmlib wxGTK;
7947   };
7949   xcompmgr = import ../applications/window-managers/xcompmgr {
7950     inherit stdenv fetchurl pkgconfig;
7951     inherit (xlibs) libXcomposite libXfixes libXdamage libXrender;
7952   };
7954   /* Doesn't work yet
7956   xen = builderDefsPackage (import ../applications/virtualization/xen) {
7957     inherit python e2fsprogs gnutls pkgconfig libjpeg
7958       ncurses SDL libvncserver zlib;
7959     texLive = if (getConfig ["xen" "texLive"] false) then texLive else null;
7960     graphviz = if (getConfig ["xen" "graphviz"] false) then graphviz else null;
7961     ghostscript = if (getConfig ["xen" "ghostscript"] false) then ghostscript else null;
7962   }; */
7964   xfig = import ../applications/graphics/xfig {
7965     stdenv = overrideGCC stdenv gcc34;
7966     inherit fetchurl makeWrapper x11 Xaw3d libpng libjpeg;
7967     inherit (xlibs) imake libXpm libXmu libXi libXp;
7968   };
7970   xineUI = import ../applications/video/xine-ui {
7971     inherit fetchurl stdenv pkgconfig xlibs xineLib libpng readline ncurses curl;
7972   };
7974   xmms = import ../applications/audio/xmms {
7975     inherit fetchurl libogg libvorbis alsaLib;
7976     inherit (gnome) esound;
7977     inherit (gtkLibs1x) glib gtk;
7978     stdenv = overrideGCC stdenv gcc34; # due to problems with gcc 4.x
7979   };
7981   xneur = import ../applications/misc/xneur {
7982     inherit fetchurl stdenv pkgconfig pcre libxml2 aspell imlib2
7983       xosd libnotify cairo;
7984     GStreamer=gst_all.gstreamer;
7985     inherit (xlibs) libX11 libXpm libXt libXext libXi;
7986     inherit (gtkLibs) glib gtk pango atk;
7987   };
7989   xneur_0_8 = import ../applications/misc/xneur/0.8.nix {
7990     inherit fetchurl stdenv pkgconfig pcre libxml2 aspell imlib2 xosd glib;
7991     GStreamer = gst_all.gstreamer;
7992     inherit (xlibs) libX11 libXpm libXt libXext;
7993   };
7995   xournal = builderDefsPackage (import ../applications/graphics/xournal) {
7996     inherit ghostscript fontconfig freetype zlib
7997       poppler popplerData autoconf automake
7998       libtool pkgconfig;
7999     inherit (xlibs) xproto libX11;
8000     inherit (gtkLibs) gtk atk pango glib;
8001     inherit (gnome) libgnomeprint libgnomeprintui
8002       libgnomecanvas;
8003   };
8005   xpdf = import ../applications/misc/xpdf {
8006     inherit fetchurl stdenv x11 freetype t1lib;
8007     motif = lesstif;
8008     base14Fonts = "${ghostscript}/share/ghostscript/fonts";
8009   };
8011   xpra = import ../tools/X11/xpra {
8012     inherit stdenv fetchurl pkgconfig python pygtk xlibs makeWrapper;
8013     inherit (gtkLibs) gtk;
8014     pyrex = pyrex095;
8015   };
8017   xscreensaverBase = composedArgsAndFun (import ../applications/graphics/xscreensaver) {
8018     inherit stdenv fetchurl builderDefs lib pkgconfig bc perl intltool;
8019     inherit (xlibs) libX11 libXmu;
8020   };
8022   xscreensaver = xscreensaverBase.passthru.function {
8023     flags = ["GL" "gdkpixbuf" "DPMS" "gui" "jpeg"];
8024     inherit mesa libxml2 libjpeg;
8025     inherit (gtkLibs) gtk;
8026     inherit (gnome) libglade;
8027   };
8029   xterm = import ../applications/misc/xterm {
8030     inherit fetchurl stdenv ncurses freetype pkgconfig;
8031     inherit (xlibs) libXaw xproto libXt libX11 libSM libICE libXext libXft luit;
8032   };
8034   xtrace = import ../tools/X11/xtrace {
8035     inherit stdenv fetchurl;
8036     inherit (xlibs) libX11;
8037   };
8039   xlaunch = import ../tools/X11/xlaunch {
8040     inherit stdenv;
8041     inherit (xorg) xorgserver;
8042   };
8044   xmacro = import ../tools/X11/xmacro {
8045     inherit fetchurl stdenv;
8046     inherit (xlibs) libX11 libXi libXtst xextproto inputproto;
8047   };
8049   xmove = import ../applications/misc/xmove {
8050     inherit fetchurl stdenv;
8051     inherit (xlibs) libX11 libXi imake libXau;
8052     inherit (xorg) xauth;
8053   };
8055   xnee = builderDefsPackage (import ../tools/X11/xnee) {
8056     inherit (gtkLibs) gtk;
8057     inherit (xlibs) libX11 libXtst xextproto libXext
8058       inputproto libXi xproto recordproto;
8059     inherit pkgconfig;
8060   };
8062   xvidcap = import ../applications/video/xvidcap {
8063     inherit fetchurl stdenv perl perlXMLParser pkgconfig gettext lame;
8064     inherit (gtkLibs) gtk;
8065     inherit (gnome) scrollkeeper libglade;
8066     inherit (xlibs) libXmu libXext libXfixes libXdamage libX11;
8067   };
8069   yate = import ../applications/misc/yate {
8070     inherit sox speex openssl automake autoconf pkgconfig;
8071     inherit fetchurl stdenv lib composableDerivation;
8072     qt = qt4;
8073   };
8075   # doesn't compile yet - in case someone else want's to continue ..
8076   qgis = (import ../applications/misc/qgis/1.0.1-2.nix) {
8077     inherit composableDerivation fetchsvn stdenv flex lib
8078             ncurses fetchurl perl cmake gdal geos proj x11
8079             gsl libpng zlib bison
8080             sqlite glibc fontconfig freetype /* use libc from stdenv ? - to lazy now - Marc */;
8081     inherit (xlibs) libSM libXcursor libXinerama libXrandr libXrender;
8082     inherit (xorg) libICE;
8083     qt = qt4;
8085     # optional features
8086     # grass = "not yet supported" # cmake -D WITH_GRASS=TRUE  and GRASS_PREFX=..
8087   };
8089   zapping = import ../applications/video/zapping {
8090     inherit fetchurl stdenv pkgconfig perl python
8091             gettext zvbi libjpeg libpng x11
8092             rte perlXMLParser;
8093     inherit (gnome) scrollkeeper libgnomeui libglade esound;
8094     inherit (xlibs) libXv libXmu libXext;
8095     teletextSupport = true;
8096     jpegSupport = true;
8097     pngSupport = true;
8098     recordingSupport = true;
8099   };
8102   ### GAMES
8104   ballAndPaddle = import ../games/ball-and-paddle {
8105     inherit fetchurl stdenv SDL SDL_image SDL_mixer SDL_ttf guile gettext;
8106   };
8108   bsdgames = import ../games/bsdgames {
8109     inherit fetchurl stdenv ncurses openssl flex bison miscfiles;
8110   };
8112   castleCombat = import ../games/castle-combat {
8113     inherit fetchurl stdenv python pygame twisted lib numeric makeWrapper;
8114   };
8116   construoBase = composedArgsAndFun (import ../games/construo/0.2.2.nix) {
8117     inherit stdenv fetchurl builderDefs
8118       zlib;
8119     inherit (xlibs) libX11 xproto;
8120   };
8122   construo = construoBase.passthru.function {
8123     inherit mesa freeglut;
8124   };
8126   eduke32 = import ../games/eduke32 {
8127     inherit stdenv fetchurl SDL SDL_mixer unzip libvorbis mesa pkgconfig nasm makeDesktopItem;
8128     inherit (gtkLibs) gtk;
8129   };
8131   exult = import ../games/exult {
8132     inherit fetchurl SDL SDL_mixer zlib libpng unzip;
8133     stdenv = overrideGCC stdenv gcc42;
8134   };
8136   /*
8137   exultSnapshot = lowPrio (import ../games/exult/snapshot.nix {
8138     inherit fetchurl stdenv SDL SDL_mixer zlib libpng unzip
8139       autoconf automake libtool flex bison;
8140   });
8141   */
8143   fsg = import ../games/fsg {
8144     inherit stdenv fetchurl pkgconfig mesa;
8145     inherit (gtkLibs) glib gtk;
8146     inherit (xlibs) libX11 xproto;
8147     wxGTK = wxGTK28.override {unicode = false;};
8148   };
8150   fsgAltBuild = import ../games/fsg/alt-builder.nix {
8151     inherit stdenv fetchurl mesa;
8152     wxGTK = wxGTK28.override {unicode = false;};
8153     inherit (xlibs) libX11 xproto;
8154     inherit stringsWithDeps builderDefs;
8155   };
8157   gemrb = import ../games/gemrb {
8158     inherit fetchurl stdenv SDL openal freealut zlib libpng python;
8159   };
8161   gnuchess = builderDefsPackage (import ../games/gnuchess) {
8162     flex = flex2535;
8163   };
8165   gparted = import ../tools/misc/gparted {
8166     inherit fetchurl stdenv parted intltool gettext libuuid pkgconfig libxml2;
8167     inherit (gtkLibs) gtk glib gtkmm;
8168     inherit (gnome) gnomedocutils;
8169   };
8171   hexen = import ../games/hexen {
8172     inherit stdenv fetchurl SDL;
8173   };
8175   kobodeluxe = import ../games/kobodeluxe {
8176     inherit stdenv fetchurl SDL SDL_image;
8177   };
8179   lincity = builderDefsPackage (import ../games/lincity) {
8180     inherit (xlibs) libX11 libXext xextproto
8181       libICE libSM xproto;
8182     inherit libpng zlib;
8183   };
8185   micropolis = import ../games/micropolis {
8186     inherit lib fetchurl stdenv;
8187     inherit (xlibs) libX11 libXpm libXext xextproto;
8188     inherit byacc bash;
8189   };
8191   openttd = import ../games/openttd {
8192     inherit fetchurl stdenv SDL libpng;
8193     zlib = zlibStatic;
8194   };
8196   quake3demo = import ../games/quake3/wrapper {
8197     name = "quake3-demo-${quake3game.name}";
8198     description = "Demo of Quake 3 Arena, a classic first-person shooter";
8199     inherit fetchurl stdenv mesa makeWrapper;
8200     game = quake3game;
8201     paks = [quake3demodata];
8202   };
8204   quake3demodata = import ../games/quake3/demo {
8205     inherit fetchurl stdenv;
8206   };
8208   quake3game = import ../games/quake3/game {
8209     inherit fetchurl stdenv x11 SDL mesa openal;
8210   };
8212   rogue = import ../games/rogue {
8213     inherit fetchurl stdenv ncurses;
8214   };
8216   scummvm = import ../games/scummvm {
8217     inherit fetchurl stdenv SDL zlib mpeg2dec;
8218   };
8220   scorched3d = import ../games/scorched3d {
8221     inherit stdenv fetchurl mesa openal autoconf automake libtool freealut freetype fftw SDL SDL_net zlib libpng libjpeg;
8222     wxGTK = wxGTK26;
8223   };
8225   sgtpuzzles = builderDefsPackage (import ../games/sgt-puzzles) {
8226     inherit (gtkLibs) gtk glib;
8227     inherit pkgconfig fetchsvn perl;
8228     inherit (xlibs) libX11;
8229   };
8231   # You still can override by passing more arguments.
8232   spaceOrbit = composedArgsAndFun (import ../games/orbit/1.01.nix) {
8233     inherit fetchurl stdenv builderDefs mesa freeglut;
8234     inherit (gnome) esound;
8235     inherit (xlibs) libXt libX11 libXmu libXi libXext;
8236   };
8238   superTuxKart = import ../games/super-tux-kart {
8239     inherit fetchurl stdenv plib SDL openal freealut mesa
8240       libvorbis libogg gettext;
8241   };
8243   teeworlds = import ../games/teeworlds {
8244     inherit fetchurl stdenv python alsaLib mesa SDL;
8245     inherit (xlibs) libX11;
8246   };
8248   /*tpm = import ../games/thePenguinMachine {
8249     inherit stdenv fetchurl pil pygame SDL;
8250     python24 = python;
8251   };*/
8253   ultimatestunts = import ../games/ultimatestunts {
8254     inherit stdenv fetchurl SDL mesa SDL_image freealut;
8255   };
8257   ut2004demo = import ../games/ut2004demo {
8258     inherit fetchurl stdenv xlibs mesa;
8259   };
8261   xboard = builderDefsPackage (import ../games/xboard) {
8262     inherit (xlibs) libX11 xproto libXt libXaw libSM
8263       libICE libXmu libXext libXpm;
8264     inherit gnuchess texinfo;
8265   };
8267   xsokoban = builderDefsPackage (import ../games/xsokoban) {
8268     inherit (xlibs) libX11 xproto libXpm libXt;
8269   };
8271   zdoom = import ../games/zdoom {
8272     inherit cmake stdenv fetchsvn SDL nasm p7zip zlib flac fmod libjpeg;
8273   };
8275   zoom = import ../games/zoom {
8276     inherit fetchurl stdenv perl expat freetype;
8277     inherit (xlibs) xlibs;
8278   };
8280   keen4 = import ../games/keen4 {
8281     inherit fetchurl stdenv dosbox unzip;
8282   };
8285   ### DESKTOP ENVIRONMENTS
8288   enlightenment = import ../desktops/enlightenment {
8289     inherit stdenv fetchurl pkgconfig x11 xlibs dbus imlib2 freetype;
8290   };
8292   gnome28 = import ../desktops/gnome-2.28 pkgs;
8294   gnome = gnome28;
8296   kde3 = {
8298     kdelibs = import ../desktops/kde-3/kdelibs {
8299       inherit
8300         fetchurl stdenv xlibs zlib perl openssl pcre pkgconfig
8301         libjpeg libpng libtiff libxml2 libxslt libtool
8302         expat freetype bzip2 cups attr acl;
8303       qt = qt3;
8304     };
8306     kdebase = import ../desktops/kde-3/kdebase {
8307       inherit
8308         fetchurl stdenv pkgconfig x11 xlibs zlib libpng libjpeg perl
8309         kdelibs openssl bzip2 fontconfig pam hal dbus glib;
8310       qt = qt3;
8311     };
8313   };
8315   kde4 = kde43;
8317   kde43 = makeOverridable (import ../desktops/kde-4.3) (pkgs // {
8318     openexr = openexr_1_6_1;
8319     qt4 = qt45;
8320     popplerQt4 = popplerQt45;
8321   });
8323   kdelibs = kde3.kdelibs;
8324   kdebase = kde3.kdebase;
8326   ### SCIENCE
8328   xplanet = import ../applications/science/xplanet {
8329     inherit stdenv fetchurl lib pkgconfig freetype libpng libjpeg giflib libtiff;
8330     inherit (gtkLibs) pango;
8331   };
8333   ### SCIENCE/GEOMETRY
8335   drgeo = builderDefsPackage (import ../applications/science/geometry/drgeo) {
8336     inherit (gnome) libglade gtk;
8337     inherit libxml2 guile perl intltool libtool pkgconfig;
8338   };
8341   ### SCIENCE/BIOLOGY
8343   alliance = import ../applications/science/electronics/alliance {
8344     inherit fetchurl stdenv bison flex;
8345     inherit (xlibs) xproto libX11 libXt libXpm;
8346     motif = lesstif;
8347   };
8349   arb = import ../applications/science/biology/arb {
8350     inherit fetchurl readline libpng zlib x11 lesstif93 freeglut perl;
8351     inherit (xlibs) libXpm libXaw libX11 libXext libXt;
8352     inherit mesa glew libtiff lynx rxp sablotron jdk transfig gv gnuplot;
8353     lesstif = lesstif93;
8354     stdenv = overrideGCC stdenv gcc42;
8355   };
8357   biolib = import ../development/libraries/science/biology/biolib {
8358     inherit fetchurl stdenv readline perl cmake rLang zlib;
8359   };
8361   emboss = import ../applications/science/biology/emboss {
8362     inherit fetchurl stdenv readline perl libpng zlib;
8363     inherit (xorg) libX11 libXt;
8364   };
8366   mrbayes = import ../applications/science/biology/mrbayes {
8367     inherit fetchurl stdenv readline;
8368   };
8370   ncbiCTools = builderDefsPackage ../development/libraries/ncbi {
8371     inherit tcsh mesa lesstif;
8372     inherit (xlibs) libX11 libXaw xproto libXt libSM libICE
8373       libXmu libXext;
8374   };
8376   ncbi_tools = import ../applications/science/biology/ncbi-tools {
8377     inherit fetchurl stdenv cpio;
8378   };
8380   paml = import ../applications/science/biology/paml {
8381     inherit fetchurl stdenv;
8382   };
8384   /* slr = import ../applications/science/biology/slr {
8385     inherit fetchurl stdenv liblapack;
8386   }; */
8388   pal2nal = import ../applications/science/biology/pal2nal {
8389     inherit fetchurl stdenv perl paml;
8390   };
8393   ### SCIENCE/MATH
8395   atlas = import ../development/libraries/science/math/atlas {
8396     inherit fetchurl stdenv gfortran;
8397   };
8399   content = builderDefsPackage ../applications/science/math/content {
8400     inherit mesa lesstif;
8401     inherit (xlibs) libX11 libXaw xproto libXt libSM libICE
8402       libXmu libXext libXcursor;
8403   };
8405   /* liblapack = import ../development/libraries/science/math/liblapack {
8406     inherit fetchurl stdenv gfortran;
8407   }; */
8410   ### SCIENCE/LOGIC
8412   coq = import ../applications/science/logic/coq {
8413     inherit stdenv fetchurl ocaml lablgtk ncurses;
8414     camlp5 = camlp5_transitional;
8415   };
8417   isabelle = import ../applications/science/logic/isabelle {
8418     inherit (pkgs) stdenv fetchurl nettools perl polyml emacs emacsPackages;
8419   };
8421   ssreflect = import ../applications/science/logic/ssreflect {
8422     inherit stdenv fetchurl ocaml coq;
8423     camlp5 = camlp5_transitional;
8424   };
8426   ### SCIENCE / ELECTRONICS
8428   ngspice = import ../applications/science/electronics/ngspice {
8429     inherit fetchurl stdenv readline;
8430   };
8432   gtkwave = import ../applications/science/electronics/gtkwave {
8433     inherit fetchurl stdenv gperf pkgconfig bzip2;
8434     inherit (gtkLibs) gtk;
8435   };
8437   ### SCIENCE / MATH
8439   maxima = import ../applications/science/math/maxima {
8440     inherit fetchurl stdenv clisp;
8441   };
8443   wxmaxima = import ../applications/science/math/wxmaxima {
8444     inherit fetchurl stdenv maxima;
8445     inherit wxGTK;
8446   };
8448   scilab = (import ../applications/science/math/scilab) {
8449     inherit stdenv fetchurl lib gfortran;
8450     inherit (gtkLibs) gtk;
8451     inherit ncurses Xaw3d tcl tk ocaml x11;
8453     withXaw3d = false;
8454     withTk = true;
8455     withGtk = false;
8456     withOCaml = true;
8457     withX = true;
8458   };
8461   ### MISC
8463   atari800 = import ../misc/emulators/atari800 {
8464     inherit fetchurl stdenv unzip zlib SDL;
8465   };
8467   ataripp = import ../misc/emulators/atari++ {
8468     inherit fetchurl stdenv x11 SDL;
8469   };
8471   auctex = import ../misc/tex/auctex {
8472     inherit stdenv fetchurl emacs texLive;
8473   };
8475   busybox = import ../misc/busybox {
8476     inherit fetchurl stdenv;
8477   };
8479   cups = import ../misc/cups {
8480     inherit fetchurl stdenv pkgconfig zlib libjpeg libpng libtiff pam openssl dbus;
8481   };
8483   gutenprint = import ../misc/drivers/gutenprint {
8484     inherit fetchurl stdenv lib pkgconfig composableDerivation cups libtiff libpng
8485       openssl git gimp;
8486   };
8488   gutenprintBin = import ../misc/drivers/gutenprint/bin.nix {
8489     inherit fetchurl stdenv rpm cpio zlib;
8490   };
8492   cupsBjnp = import ../misc/cups/drivers/cups-bnjp {
8493     inherit fetchurl stdenv cups;
8494   };
8496   dblatex = import ../misc/tex/dblatex {
8497     inherit fetchurl stdenv python libxslt tetex;
8498   };
8500   dosbox = import ../misc/emulators/dosbox {
8501     inherit fetchurl stdenv SDL makeDesktopItem;
8502   };
8504   dpkg = import ../tools/package-management/dpkg {
8505     inherit fetchurl stdenv perl zlib bzip2;
8506   };
8508   electricsheep = import ../misc/screensavers/electricsheep {
8509     inherit fetchurl stdenv pkgconfig expat zlib libpng libjpeg xlibs;
8510   };
8512   foldingathome = import ../misc/foldingathome {
8513       inherit fetchurl stdenv;
8514     };
8516   freestyle = import ../misc/freestyle {
8517     inherit fetchurl freeglut qt4 libpng lib3ds libQGLViewer swig;
8518     inherit (xlibs) libXi;
8519     #stdenv = overrideGCC stdenv gcc41;
8520     inherit stdenv python;
8521   };
8523   gajim = builderDefsPackage (import ../applications/networking/instant-messengers/gajim) {
8524     inherit perl intltool pyGtkGlade gettext pkgconfig makeWrapper pygobject
8525       pyopenssl gtkspell libsexy pycrypto aspell pythonDBus pythonSexy
8526       docutils;
8527     dbus = dbus.libs;
8528     inherit (gnome) gtk libglade;
8529     inherit (xlibs) libXScrnSaver libXt xproto libXext xextproto libX11
8530       scrnsaverproto;
8531     python = pythonFull;
8532   };
8534   generator = import ../misc/emulators/generator {
8535     inherit fetchurl stdenv SDL nasm zlib bzip2 libjpeg;
8536     inherit (gtkLibs1x) gtk;
8537   };
8539   ghostscript = makeOverridable (import ../misc/ghostscript) {
8540     inherit fetchurl stdenv libjpeg libpng libtiff zlib x11 pkgconfig
8541       fontconfig cups openssl;
8542     x11Support = false;
8543     cupsSupport = getPkgConfig "ghostscript" "cups" true;
8544   };
8546   ghostscriptX = lowPrio (appendToName "with-X" (ghostscript.override {
8547     x11Support = true;
8548   }));
8550   gxemul = (import ../misc/gxemul) {
8551     inherit lib stdenv fetchurl composableDerivation;
8552     inherit (xlibs) libX11;
8553   };
8555   # using the new configuration style proposal which is unstable
8556   jackaudio = import ../misc/jackaudio {
8557     inherit composableDerivation
8558            ncurses lib stdenv fetchurl alsaLib pkgconfig;
8559     flags = [ "posix_shm" "timestamps" "alsa"];
8560   };
8562   keynav = import ../tools/X11/keynav {
8563     inherit stdenv fetchurl;
8564     inherit (xlibs) libX11 xextproto libXtst imake libXi libXext;
8565   };
8567   lazylist = import ../misc/tex/lazylist {
8568     inherit fetchurl stdenv tetex;
8569   };
8571   lilypond = import ../misc/lilypond {
8572     inherit fetchurl sourceFromHead stdenv lib automake autoconf
8573       ghostscript texinfo imagemagick texi2html guile python gettext
8574       perl bison pkgconfig texLive fontconfig freetype fontforge help2man;
8575     inherit (gtkLibs) pango;
8576     flex = flex2535;
8577   };
8579   linuxwacom = import ../misc/linuxwacom {
8580     inherit fetchurl stdenv ncurses pkgconfig;
8581     inherit (xorg) libX11 libXi xproto inputproto xorgserver;
8582   };
8584   martyr = import ../development/libraries/martyr {
8585     inherit stdenv fetchurl apacheAnt;
8586   };
8588   maven = import ../misc/maven/maven-1.0.nix {
8589     inherit stdenv fetchurl jdk;
8590   };
8592   maven2 = import ../misc/maven {
8593     inherit stdenv fetchurl jdk makeWrapper;
8594   };
8596   nix = makeOverridable (import ../tools/package-management/nix) {
8597     inherit fetchurl stdenv perl curl bzip2 openssl;
8598     aterm = aterm242fixes;
8599     db4 = db45;
8600     supportOldDBs = getPkgConfig "nix" "OldDBSupport" true;
8601     storeDir = getPkgConfig "nix" "storeDir" "/nix/store";
8602     stateDir = getPkgConfig "nix" "stateDir" "/nix/var";
8603   };
8605   # The bleeding edge.
8606   nixUnstable = makeOverridable (import ../tools/package-management/nix/unstable.nix) {
8607     inherit fetchurl stdenv perl curl bzip2 openssl;
8608     aterm = aterm242fixes;
8609     storeDir = getPkgConfig "nix" "storeDir" "/nix/store";
8610     stateDir = getPkgConfig "nix" "stateDir" "/nix/var";
8611   };
8613   nixCustomFun = src: preConfigure: enableScripts: configureFlags:
8614     import ../tools/package-management/nix/custom.nix {
8615       inherit fetchurl stdenv perl curl bzip2 openssl src preConfigure automake
8616         autoconf libtool configureFlags enableScripts lib bison libxml2;
8617       flex = flex2533;
8618       aterm = aterm242fixes;
8619       db4 = db45;
8620       inherit docbook5_xsl libxslt docbook5 docbook_xml_dtd_43 w3m;
8621     };
8623   disnix = import ../tools/package-management/disnix {
8624     inherit stdenv fetchsvn openssl autoconf automake libtool pkgconfig dbus_glib libxml2;
8625   };
8627   disnix_activation_scripts = import ../tools/package-management/disnix/activation-scripts {
8628     inherit stdenv fetchsvn autoconf automake;
8629   };
8631   DisnixService = import ../tools/package-management/disnix/DisnixService {
8632     inherit stdenv fetchsvn apacheAnt jdk axis2 shebangfix;
8633   };
8635   pgadmin = import ../applications/misc/pgadmin {
8636     inherit fetchurl stdenv postgresql libxml2 libxslt openssl;
8637     inherit wxGTK;
8638   };
8640   pgf = pgf2;
8642   # Keep the old PGF since some documents don't render properly with
8643   # the new one.
8644   pgf1 = import ../misc/tex/pgf/1.x.nix {
8645     inherit fetchurl stdenv;
8646   };
8648   pgf2 = import ../misc/tex/pgf/2.x.nix {
8649     inherit fetchurl stdenv;
8650   };
8652   polytable = import ../misc/tex/polytable {
8653     inherit fetchurl stdenv tetex lazylist;
8654   };
8656   psi = (import ../applications/networking/instant-messengers/psi) {
8657     inherit stdenv fetchurl zlib aspell sox qt4;
8658     inherit (xlibs) xproto libX11 libSM libICE;
8659     qca2 = kde4.qca2;
8660   };
8662   putty = import ../applications/networking/remote/putty {
8663     inherit stdenv fetchurl ncurses;
8664     inherit (gtkLibs1x) gtk;
8665   };
8667   rssglx = import ../misc/screensavers/rss-glx {
8668     inherit fetchurl stdenv x11 mesa pkgconfig imagemagick libtiff bzip2;
8669   };
8671   xlockmore = import ../misc/screensavers/xlockmore {
8672     inherit fetchurl stdenv x11 freetype;
8673     pam = if getPkgConfig "xlockmore" "pam" true then pam else null;
8674   };
8676   saneBackends = import ../misc/sane-backends {
8677     inherit fetchurl stdenv libusb;
8678     gt68xxFirmware = getConfig ["sane" "gt68xxFirmware"] null;
8679   };
8681   saneFrontends = import ../misc/sane-front {
8682     inherit fetchurl stdenv pkgconfig libusb saneBackends;
8683     inherit (gtkLibs) gtk;
8684     inherit (xlibs) libX11;
8685   };
8687   sourceAndTags = import ../misc/source-and-tags {
8688     inherit pkgs stdenv unzip lib ctags;
8689     hasktags = haskellPackages.myhasktags;
8690   };
8692   synaptics = import ../misc/synaptics {
8693     inherit fetchurl stdenv pkgconfig;
8694     inherit (xlibs) libX11 libXi libXext pixman xf86inputevdev;
8695     inherit (xorg) xorgserver;
8696   };
8698   tetex = import ../misc/tex/tetex {
8699     inherit fetchurl stdenv flex bison zlib libpng ncurses ed;
8700   };
8702   texFunctions = import ../misc/tex/nix {
8703     inherit stdenv perl tetex graphviz ghostscript makeFontsConf imagemagick runCommand lib;
8704     inherit (haskellPackages) lhs2tex;
8705   };
8707   texLive = builderDefsPackage (import ../misc/tex/texlive) {
8708     inherit builderDefs zlib bzip2 ncurses libpng ed
8709       gd t1lib freetype icu perl ruby expat curl
8710       libjpeg bison;
8711     inherit (xlibs) libXaw libX11 xproto libXt libXpm
8712       libXmu libXext xextproto libSM libICE;
8713     flex = flex2535;
8714     ghostscript = ghostscriptX;
8715   };
8717   /* Look in configurations/misc/raskin.nix for usage example (around revisions
8718   where TeXLive was added)
8720   (texLiveAggregationFun {
8721     paths = [texLive texLiveExtra texLiveCMSuper
8722       texLiveBeamer
8723     ];
8724   })
8726   You need to use texLiveAggregationFun to regenerate, say, ls-R (TeX-related file list)
8727   Just installing a few packages doesn't work.
8728   */
8729   texLiveAggregationFun =
8730     (builderDefsPackage (import ../misc/tex/texlive/aggregate.nix));
8732   texLiveContext = builderDefsPackage (import ../misc/tex/texlive/context.nix) {
8733     inherit texLive;
8734   };
8736   texLiveExtra = builderDefsPackage (import ../misc/tex/texlive/extra.nix) {
8737     inherit texLive;
8738   };
8740   texLiveCMSuper = builderDefsPackage (import ../misc/tex/texlive/cm-super.nix) {
8741     inherit texLive;
8742   };
8744   texLiveLatexXColor = builderDefsPackage (import ../misc/tex/texlive/xcolor.nix) {
8745     inherit texLive;
8746   };
8748   texLivePGF = builderDefsPackage (import ../misc/tex/texlive/pgf.nix) {
8749     inherit texLiveLatexXColor texLive;
8750   };
8752   texLiveBeamer = builderDefsPackage (import ../misc/tex/texlive/beamer.nix) {
8753     inherit texLiveLatexXColor texLivePGF texLive;
8754   };
8756   toolbuslib = import ../development/libraries/toolbuslib {
8757     inherit stdenv fetchurl aterm;
8758   };
8760   trac = import ../misc/trac {
8761     inherit stdenv fetchurl python clearsilver makeWrapper
8762       sqlite subversion;
8763     inherit (pythonPackages) pysqlite;
8764   };
8766    vice = import ../misc/emulators/vice {
8767      inherit stdenv fetchurl lib perl gettext libpng giflib libjpeg alsaLib readline mesa;
8768      inherit pkgconfig SDL makeDesktopItem autoconf automake;
8769      inherit (gtkLibs) gtk;
8770    };
8772   wine =
8773     if system == "x86_64-linux" then
8774       # Can't build this in 64-bit; use a 32-bit build instead.
8775       pkgsi686Linux.wine
8776       # some hackery to make nix-env show this package on x86_64...
8777       // {system = "x86_64-linux";}
8778     else
8779       import ../misc/emulators/wine {
8780         inherit fetchurl stdenv bison mesa ncurses
8781           libpng libjpeg alsaLib lcms xlibs freetype
8782           fontconfig fontforge libxml2 libxslt openssl;
8783         flex = flex2535;
8784       };
8786   xosd = import ../misc/xosd {
8787     inherit fetchurl stdenv;
8788     inherit (xlibs) libX11 libXext libXt xextproto xproto;
8789   };
8791   xsane = import ../misc/xsane {
8792     inherit fetchurl stdenv pkgconfig libusb
8793       saneBackends saneFrontends;
8794     inherit (gtkLibs) gtk;
8795     inherit (xlibs) libX11;
8796   };
8798   yafc = import ../applications/networking/yafc {
8799     inherit fetchurl stdenv readline openssh;
8800   };
8802   myEnvFun = import ../misc/my-env {
8803     inherit substituteAll pkgs;
8804     inherit (stdenv) mkDerivation;
8805   };
8807   misc = import ../misc/misc.nix { inherit pkgs stdenv; };
8809 }; in pkgs