Adding OpenSC, a pkcs11 interface to smartcards.
[nixpkgs-libre.git] / pkgs / top-level / all-packages.nix
blob7df3d5b30bc8d3dcb4eb415a331944f48e7355f0
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 ;
334   };
336   amule = import ../tools/networking/p2p/amule {
337     inherit fetchurl stdenv zlib perl cryptopp gettext libupnp makeWrapper;
338     inherit wxGTK;
339   };
341   aria = builderDefsPackage (import ../tools/networking/aria) {
342   };
344   at = import ../tools/system/at {
345     inherit fetchurl stdenv bison flex pam ssmtp;
346   };
348   autogen = import ../development/tools/misc/autogen {
349     inherit fetchurl stdenv guile which;
350   };
352   autojump = import ../tools/misc/autojump {
353     inherit fetchurl stdenv python;
354   };
356   avahi =
357     let qt4Support = getConfig [ "avahi" "qt4Support" ] false;
358     in
359       makeOverridable (import ../development/libraries/avahi) {
360         inherit stdenv fetchurl pkgconfig libdaemon dbus perl perlXMLParser
361           expat gettext intltool lib;
362         inherit (gtkLibs) glib gtk;
363         inherit qt4Support;
364         qt4 = if qt4Support then qt4 else null;
365       };
367   axel = import ../tools/networking/axel {
368     inherit fetchurl stdenv;
369   };
371   azureus = import ../tools/networking/p2p/azureus {
372     inherit fetchurl stdenv jdk swt;
373   };
375   bc = import ../tools/misc/bc {
376     inherit fetchurl stdenv flex readline;
377   };
379   bfr = import ../tools/misc/bfr {
380     inherit fetchurl stdenv perl;
381   };
383   bootchart = import ../tools/system/bootchart {
384     inherit fetchurl stdenv gnutar gzip coreutils utillinux gnugrep gnused psmisc nettools;
385   };
387   btrfsProgs = builderDefsPackage (import ../tools/filesystems/btrfsprogs) {
388     inherit libuuid zlib acl;
389   };
391   eggdrop = import ../tools/networking/eggdrop {
392     inherit fetchurl stdenv tcl;
393   };
395   mcrl = import ../tools/misc/mcrl {
396     inherit fetchurl stdenv coreutils;
397   };
399   mcrl2 = import ../tools/misc/mcrl2 {
400     inherit fetchurl stdenv mesa ;
401     inherit (xorg) libX11;
402     inherit wxGTK;
403   };
405   syslogng = import ../tools/misc/syslog-ng {
406     inherit fetchurl stdenv eventlog pkgconfig glib;
407   };
409   asciidoc = import ../tools/typesetting/asciidoc {
410     inherit fetchurl stdenv python;
411   };
413   bibtextools = import ../tools/typesetting/bibtex-tools {
414     inherit fetchurl stdenv aterm tetex hevea;
415     inherit (strategoPackages016) strategoxt sdf;
416   };
418   bittorrent = import ../tools/networking/p2p/bittorrent {
419     inherit fetchurl stdenv makeWrapper python pycrypto twisted;
420     wxPython = wxPython26;
421     gui = true;
422   };
424   bittornado = import ../tools/networking/p2p/bit-tornado {
425     inherit fetchurl stdenv python wxPython26;
426   };
428   bmrsa = builderDefsPackage (import ../tools/security/bmrsa/11.nix) {
429     inherit unzip;
430   };
432   bogofilter = import ../tools/misc/bogofilter {
433     inherit fetchurl stdenv flex;
434     bdb = db4;
435   };
437   bsdiff = import ../tools/compression/bsdiff {
438     inherit fetchurl stdenv;
439   };
441   bzip2 = useFromStdenv "bzip2"
442     (import ../tools/compression/bzip2 {
443       inherit fetchurl stdenv;
444     });
446   cabextract = import ../tools/archivers/cabextract {
447     inherit fetchurl stdenv;
448   };
450   ccid = import ../tools/security/ccid {
451     inherit fetchurl stdenv pcsclite libusb pkgconfig perl;
452   };
454   ccrypt = import ../tools/security/ccrypt {
455     inherit fetchurl stdenv;
456   };
458   cdecl = import ../development/tools/cdecl {
459     inherit fetchurl stdenv yacc flex readline ncurses;
460   };
462   cdrdao = import ../tools/cd-dvd/cdrdao {
463     inherit fetchurl stdenv lame libvorbis libmad pkgconfig libao;
464   };
466   cdrkit = import ../tools/cd-dvd/cdrkit {
467     inherit fetchurl stdenv cmake libcap zlib bzip2;
468   };
470   checkinstall = import ../tools/package-management/checkinstall {
471     inherit fetchurl stdenv gettext;
472   };
474   cheetahTemplate = builderDefsPackage (import ../tools/text/cheetah-template/2.0.1.nix) {
475     inherit makeWrapper python;
476   };
478   chkrootkit = import ../tools/security/chkrootkit {
479     inherit fetchurl stdenv;
480   };
482   cksfv = import ../tools/networking/cksfv {
483     inherit fetchurl stdenv;
484   };
486   convertlit = import ../tools/text/convertlit {
487     inherit fetchurl stdenv unzip libtommath;
488   };
490   unifdef = import ../development/tools/misc/unifdef {
491     inherit fetchurl stdenv;
492   };
494   cloogppl = import ../development/libraries/cloog-ppl {
495     inherit fetchurl stdenv ppl;
496   };
498   coreutils = useFromStdenv "coreutils"
499     (makeOverridable (if stdenv ? isDietLibC
500       then import ../tools/misc/coreutils-5
501       else import ../tools/misc/coreutils)
502     {
503       inherit fetchurl stdenv acl;
504       aclSupport = stdenv.isLinux;
505     });
507   cpio = import ../tools/archivers/cpio {
508     inherit fetchurl stdenv;
509   };
511   cromfs = import ../tools/archivers/cromfs {
512     inherit fetchurl stdenv pkgconfig fuse perl;
513   };
515   cron = import ../tools/system/cron { # see also fcron
516     inherit fetchurl stdenv;
517   };
519   curl = import ../tools/networking/curl {
520     fetchurl = fetchurlBoot;
521     inherit stdenv zlib openssl;
522     zlibSupport = ! ((stdenv ? isDietLibC) || (stdenv ? isStatic));
523     sslSupport = ! ((stdenv ? isDietLibC) || (stdenv ? isStatic));
524   };
526   curlftpfs = import ../tools/filesystems/curlftpfs {
527     inherit fetchurl stdenv fuse curl pkgconfig zlib glib;
528   };
530   dadadodo = builderDefsPackage (import ../tools/text/dadadodo) {
531   };
533   dar = import ../tools/archivers/dar {
534     inherit fetchurl stdenv zlib bzip2 openssl;
535   };
537   davfs2 = import ../tools/filesystems/davfs2 {
538     inherit fetchurl stdenv zlib;
539     neon = neon028;
540   };
542   dcraw = import ../tools/graphics/dcraw {
543     inherit fetchurl stdenv gettext libjpeg lcms;
544   };
546   debootstrap = import ../tools/misc/debootstrap {
547     inherit fetchurl stdenv lib dpkg gettext gawk wget perl;
548   };
550   ddclient = import ../tools/networking/ddclient {
551     inherit fetchurl buildPerlPackage perl;
552   };
554   ddrescue = import ../tools/system/ddrescue {
555     inherit fetchurl stdenv;
556   };
558   desktop_file_utils = import ../tools/misc/desktop-file-utils {
559     inherit stdenv fetchurl pkgconfig glib;
560   };
562   dev86 = import ../development/compilers/dev86 {
563     inherit fetchurl stdenv;
564   };
566   dnsmasq = import ../tools/networking/dnsmasq {
567     # TODO i18n can be installed as well, implement it?
568     inherit fetchurl stdenv;
569   };
571   dhcp = import ../tools/networking/dhcp {
572     inherit fetchurl stdenv nettools iputils iproute makeWrapper;
573   };
575   dhcpcd = import ../tools/networking/dhcpcd {
576     inherit fetchurl stdenv;
577   };
579   diffstat = import ../tools/text/diffstat {
580     inherit fetchurl stdenv;
581   };
583   diffutils = useFromStdenv "diffutils"
584     (import ../tools/text/diffutils {
585       inherit fetchurl stdenv coreutils;
586     });
588   docbook2x = import ../tools/typesetting/docbook2x {
589     inherit fetchurl stdenv texinfo perl
590             gnused groff libxml2 libxslt makeWrapper;
591     inherit (perlPackages) XMLSAX XMLParser XMLNamespaceSupport;
592     libiconv = if stdenv.isDarwin then libiconv else null;
593   };
595   dosfstools = composedArgsAndFun (import ../tools/filesystems/dosfstools) {
596     inherit builderDefs;
597   };
599   dvdplusrwtools = import ../tools/cd-dvd/dvd+rw-tools {
600     inherit fetchurl stdenv cdrkit m4;
601   };
603   e2fsprogs = import ../tools/filesystems/e2fsprogs {
604     inherit fetchurl stdenv pkgconfig libuuid;
605   };
607   enblendenfuse = import ../tools/graphics/enblend-enfuse {
608     inherit fetchurl stdenv libtiff libpng lcms libxmi boost;
609   };
611   enscript = import ../tools/text/enscript {
612     inherit fetchurl stdenv;
613   };
615   eprover = composedArgsAndFun (import ../tools/misc/eProver) {
616     inherit fetchurl stdenv which;
617     texLive = texLiveAggregationFun {
618       paths = [
619         texLive texLiveExtra
620       ];
621     };
622   };
624   ethtool = import ../tools/misc/ethtool {
625     inherit fetchurl stdenv;
626   };
628   exif = import ../tools/graphics/exif {
629     inherit fetchurl stdenv pkgconfig libexif popt;
630   };
632   exiftags = import ../tools/graphics/exiftags {
633     inherit stdenv fetchurl;
634   };
636   expect = import ../tools/misc/expect {
637     inherit fetchurl stdenv tcl tk autoconf;
638     inherit (xorg) xproto libX11;
639   };
641   fcron = import ../tools/system/fcron { # see also cron
642     inherit fetchurl stdenv perl;
643   };
645   fdisk = import ../tools/system/fdisk {
646     inherit fetchurl stdenv parted libuuid gettext;
647   };
649   figlet = import ../tools/misc/figlet {
650     inherit fetchurl stdenv;
651   };
653   file = import ../tools/misc/file {
654     inherit fetchurl stdenv;
655   };
657   filelight = import ../tools/system/filelight {
658     inherit fetchurl stdenv kdelibs x11 zlib perl libpng;
659     qt = qt3;
660   };
662   findutils = useFromStdenv "findutils"
663     (if stdenv.isDarwin then findutils4227 else
664       import ../tools/misc/findutils {
665         inherit fetchurl stdenv coreutils;
666       }
667     );
669   findutils4227 = import ../tools/misc/findutils/4.2.27.nix {
670     inherit fetchurl stdenv coreutils;
671   };
673   findutilsWrapper = lowPrio (appendToName "wrapper" (import ../tools/misc/findutils-wrapper {
674     inherit stdenv findutils;
675   }));
677   finger_bsd = import ../tools/networking/bsd-finger {
678     inherit fetchurl stdenv;
679   };
681   fontforge = import ../tools/misc/fontforge {
682     inherit fetchurl stdenv gettext freetype zlib
683       libungif libpng libjpeg libtiff libxml2 lib;
684   };
686   fontforgeX = import ../tools/misc/fontforge {
687     inherit fetchurl stdenv gettext freetype zlib
688       libungif libpng libjpeg libtiff libxml2 lib;
689     inherit (xlibs) libX11 xproto libXt;
690   };
692   gawk = useFromStdenv "gawk"
693     (import ../tools/text/gawk {
694       inherit fetchurl stdenv;
695     });
697   gdmap = composedArgsAndFun (import ../tools/system/gdmap/0.8.1.nix) {
698     inherit stdenv fetchurl builderDefs pkgconfig libxml2 intltool
699       gettext;
700     inherit (gtkLibs) gtk;
701   };
703   genext2fs = import ../tools/filesystems/genext2fs {
704     inherit fetchurl stdenv;
705   };
707   getopt = import ../tools/misc/getopt {
708     inherit fetchurl stdenv;
709   };
711   gftp = import ../tools/networking/gftp {
712     inherit lib fetchurl stdenv;
713     inherit readline ncurses gettext openssl pkgconfig;
714     inherit (gtkLibs) glib gtk;
715   };
717   gifsicle = import ../tools/graphics/gifscile {
718     inherit fetchurl stdenv;
719     inherit (xlibs) xproto libXt libX11;
720   };
722   glusterfs = builderDefsPackage ../tools/filesystems/glusterfs {
723     inherit fuse;
724     bison = bison24;
725     flex = flex2535;
726   };
728   glxinfo = import ../tools/graphics/glxinfo {
729     inherit fetchurl stdenv x11 mesa;
730   };
732   gnokii = builderDefsPackage (import ../tools/misc/gnokii) {
733     inherit intltool perl gettext libusb;
734   };
736   gnugrep = useFromStdenv "gnugrep"
737     (import ../tools/text/gnugrep {
738       inherit fetchurl stdenv pcre;
739     });
741   gnupatch = useFromStdenv "patch" (import ../tools/text/gnupatch {
742     inherit fetchurl stdenv;
743   });
745   gnupg = import ../tools/security/gnupg {
746     inherit fetchurl stdenv readline;
747     ideaSupport = getPkgConfig "gnupg" "idea" false; # enable for IDEA crypto support
748   };
750   gnupg2 = import ../tools/security/gnupg2 {
751     inherit fetchurl stdenv readline libgpgerror libgcrypt libassuan pth libksba zlib;
752     openldap = if getPkgConfig "gnupg" "ldap" true then openldap else null;
753     bzip2 = if getPkgConfig "gnupg" "bzip2" true then bzip2 else null;
754     libusb = if getPkgConfig "gnupg" "usb" true then libusb else null;
755     curl = if getPkgConfig "gnupg" "curl" true then curl else null;
756   };
758   gnuplot = import ../tools/graphics/gnuplot {
759     inherit fetchurl stdenv zlib gd texinfo readline emacs;
760     inherit (xlibs) libX11 libXt libXaw libXpm;
761     x11Support = getPkgConfig "gnuplot" "x11" false;
762     wxGTK = if getPkgConfig "gnuplot" "wxGtk" false then wxGTK else null;
763     inherit (gtkLibs) pango;
764     inherit cairo pkgconfig;
765   };
767   gnused = useFromStdenv "gnused"
768     (import ../tools/text/gnused {
769       inherit fetchurl stdenv;
770     });
772   gnused_4_2 = import ../tools/text/gnused/4.2.nix {
773     inherit fetchurl stdenv;
774   };
776   gnutar = useFromStdenv "gnutar"
777     (import ../tools/archivers/gnutar {
778       inherit fetchurl stdenv;
779     });
781   gnuvd = import ../tools/misc/gnuvd {
782     inherit fetchurl stdenv;
783   };
785   graphviz = import ../tools/graphics/graphviz {
786     inherit fetchurl stdenv pkgconfig libpng libjpeg expat x11 yacc
787       libtool fontconfig gd;
788     inherit (xlibs) libXaw;
789     inherit (gtkLibs) pango;
790   };
792   groff = import ../tools/text/groff {
793     inherit fetchurl stdenv perl;
794     ghostscript = null;
795   };
797   grub = import ../tools/misc/grub {
798     inherit fetchurl autoconf automake;
799     stdenv = stdenv_32bit;
800     buggyBiosCDSupport = (getConfig ["grub" "buggyBiosCDSupport"] true);
801   };
803   grub2 = import ../tools/misc/grub/1.9x.nix {
804     inherit stdenv fetchurl bison ncurses libusb freetype;
805   };
807   gssdp = import ../development/libraries/gssdp {
808     inherit fetchurl stdenv pkgconfig libxml2 glib;
809     inherit (gnome) libsoup;
810   };
812   gtkgnutella = import ../tools/networking/p2p/gtk-gnutella {
813     inherit fetchurl stdenv pkgconfig libxml2;
814     inherit (gtkLibs) glib gtk;
815   };
817   gupnp = import ../development/libraries/gupnp {
818     inherit fetchurl stdenv pkgconfig libxml2 gssdp e2fsprogs glib;
819     inherit (gnome) libsoup;
820   };
822   gupnptools = import ../tools/networking/gupnp-tools {
823     inherit fetchurl stdenv gssdp gupnp pkgconfig libxml2 e2fsprogs;
824     inherit (gtkLibs) gtk glib;
825     inherit (gnome) libsoup libglade gnomeicontheme;
826   };
828   gvpe = builderDefsPackage ../tools/networking/gvpe {
829     inherit openssl gmp nettools iproute;
830   };
832   gzip = useFromStdenv "gzip"
833     (import ../tools/compression/gzip {
834       inherit fetchurl stdenv;
835     });
837   pigz = import ../tools/compression/pigz {
838     inherit fetchurl stdenv zlib;
839   };
841   halibut = import ../tools/typesetting/halibut {
842     inherit fetchurl stdenv perl;
843   };
845   hddtemp = import ../tools/misc/hddtemp {
846     inherit fetchurl stdenv;
847   };
849   hevea = import ../tools/typesetting/hevea {
850     inherit fetchurl stdenv ocaml;
851   };
853   highlight = import ../tools/text/highlight {
854     inherit fetchurl stdenv getopt;
855   };
857   host = import ../tools/networking/host {
858     inherit fetchurl stdenv;
859   };
861   iasl = import ../development/compilers/iasl {
862     inherit fetchurl stdenv bison flex;
863   };
865   idutils = import ../tools/misc/idutils {
866     inherit fetchurl stdenv emacs;
867   };
869   iftop = import ../tools/networking/iftop {
870     inherit fetchurl stdenv ncurses libpcap;
871   };
873   imapsync = import ../tools/networking/imapsync {
874     inherit fetchurl stdenv perl openssl;
875     inherit (perlPackages) MailIMAPClient;
876   };
878   inetutils = import ../tools/networking/inetutils {
879     inherit fetchurl stdenv ncurses;
880   };
882   iodine = import ../tools/networking/iodine {
883     inherit stdenv fetchurl zlib nettools;
884   };
886   iperf = import ../tools/networking/iperf {
887     inherit fetchurl stdenv;
888   };
890   jdiskreport = import ../tools/misc/jdiskreport {
891     inherit fetchurl stdenv unzip jdk;
892   };
894   jfsrec = import ../tools/filesystems/jfsrec {
895     inherit fetchurl stdenv boost;
896   };
898   jfsutils = import ../tools/filesystems/jfsutils {
899     inherit fetchurl stdenv libuuid;
900   };
902   jhead = import ../tools/graphics/jhead {
903     inherit stdenv fetchurl;
904   };
906   jing = import ../tools/text/xml/jing {
907     inherit fetchurl stdenv unzip;
908   };
910   jing_tools = import ../tools/text/xml/jing/jing-script.nix {
911     inherit fetchurl stdenv unzip jre;
912   };
914   jnettop = import ../tools/networking/jnettop {
915     inherit fetchurl stdenv autoconf libpcap ncurses pkgconfig;
916     inherit (gnome) glib;
917   };
919   jwhois = import ../tools/networking/jwhois {
920     inherit fetchurl stdenv;
921   };
923   keychain = import ../tools/misc/keychain {
924     inherit fetchurl stdenv;
925   };
927   kismet = import ../applications/networking/sniffers/kismet {
928     inherit fetchurl stdenv libpcap ncurses expat;
929   };
931   ktorrent = import ../tools/networking/p2p/ktorrent {
932     inherit fetchurl stdenv pkgconfig kdelibs
933       xlibs zlib libpng libjpeg perl gmp;
934   };
936   less = import ../tools/misc/less {
937     inherit fetchurl stdenv ncurses;
938   };
940   lftp = import ../tools/networking/lftp {
941     inherit fetchurl stdenv readline;
942   };
944   libtorrent = import ../tools/networking/p2p/libtorrent {
945     inherit fetchurl stdenv pkgconfig openssl libsigcxx;
946   };
948   lout = import ../tools/typesetting/lout {
949     inherit fetchurl stdenv ghostscript;
950   };
952   lrzip = import ../tools/compression/lrzip {
953     inherit fetchurl stdenv zlib lzo bzip2 nasm;
954   };
956   lsh = import ../tools/networking/lsh {
957     inherit stdenv fetchurl gperf guile gmp zlib liboop gnum4 pam
958       readline nettools lsof procps;
959   };
961   lzma = import ../tools/compression/lzma {
962     inherit fetchurl stdenv;
963   };
965   xz = import ../tools/compression/xz {
966     inherit fetchurl stdenv lib;
967   };
969   lzop = import ../tools/compression/lzop {
970     inherit fetchurl stdenv lzo;
971   };
973   mailutils = import ../tools/networking/mailutils {
974     inherit fetchurl stdenv gettext gdbm libtool pam readline ncurses
975       gnutls mysql guile texinfo gnum4;
976   };
978   man = import ../tools/misc/man {
979     inherit fetchurl stdenv groff less;
980   };
982   man_db = import ../tools/misc/man-db {
983     inherit fetchurl stdenv db4 groff;
984   };
986   memtest86 = import ../tools/misc/memtest86 {
987     inherit fetchurl stdenv;
988   };
990   mc = import ../tools/misc/mc {
991     inherit fetchurl stdenv lib pkgconfig ncurses shebangfix perl zip unzip slang
992       gettext e2fsprogs gpm glib;
993     inherit (xlibs) libX11 libXt;
994   };
996   mcabber = import ../applications/networking/instant-messengers/mcabber {
997     inherit fetchurl stdenv openssl ncurses pkgconfig glib;
998   };
1000   mcron = import ../tools/system/mcron {
1001     inherit fetchurl stdenv guile which ed;
1002   };
1004   mdbtools = import ../tools/misc/mdbtools {
1005     inherit fetchurl stdenv readline pkgconfig bison glib;
1006     flex = flex2535;
1007   };
1009   mjpegtools = import ../tools/video/mjpegtools {
1010     inherit fetchurl stdenv libjpeg;
1011     inherit (xlibs) libX11;
1012   };
1014   mktemp = import ../tools/security/mktemp {
1015     inherit fetchurl stdenv;
1016   };
1018   mldonkey = import ../applications/networking/p2p/mldonkey {
1019     inherit fetchurl stdenv ocaml zlib ncurses;
1020   };
1022   monit = builderDefsPackage ../tools/system/monit {
1023     flex = flex2535;
1024     bison = bison24;
1025     inherit openssl;
1026   };
1028   mpage = import ../tools/text/mpage {
1029     inherit fetchurl stdenv;
1030   };
1032   msf = builderDefsPackage (import ../tools/security/metasploit/3.1.nix) {
1033     inherit ruby makeWrapper;
1034   };
1036   mssys = import ../tools/misc/mssys {
1037     inherit fetchurl stdenv gettext;
1038   };
1040   multitran = recurseIntoAttrs (let
1041       inherit fetchurl stdenv help2man;
1042     in rec {
1043       multitrandata = import ../tools/text/multitran/data {
1044         inherit fetchurl stdenv;
1045       };
1047       libbtree = import ../tools/text/multitran/libbtree {
1048         inherit fetchurl stdenv;
1049       };
1051       libmtsupport = import ../tools/text/multitran/libmtsupport {
1052         inherit fetchurl stdenv;
1053       };
1055       libfacet = import ../tools/text/multitran/libfacet {
1056         inherit fetchurl stdenv libmtsupport;
1057       };
1059       libmtquery = import ../tools/text/multitran/libmtquery {
1060         inherit fetchurl stdenv libmtsupport libfacet libbtree multitrandata;
1061       };
1063       mtutils = import ../tools/text/multitran/mtutils {
1064         inherit fetchurl stdenv libmtsupport libfacet libbtree libmtquery help2man;
1065       };
1066     });
1068   muscleframework = import ../tools/security/muscleframework {
1069     inherit fetchurl stdenv libmusclecard pkgconfig pcsclite;
1070   };
1072   muscletool = import ../tools/security/muscletool {
1073     inherit fetchurl stdenv pkgconfig libmusclecard pcsclite;
1074   };
1076   mysql2pgsql = import ../tools/misc/mysql2pgsql {
1077     inherit fetchurl stdenv perl shebangfix;
1078   };
1080   namazu = import ../tools/text/namazu {
1081     inherit fetchurl stdenv perl;
1082   };
1084   nbd = import ../tools/networking/nbd {
1085     inherit fetchurl stdenv pkgconfig glib;
1086   };
1088   nc6 = composedArgsAndFun (import ../tools/networking/nc6/1.0.nix) {
1089     inherit builderDefs;
1090   };
1092   ncat = import ../tools/networking/ncat {
1093     inherit fetchurl stdenv openssl;
1094   };
1096   ncftp = import ../tools/networking/ncftp {
1097     inherit fetchurl stdenv ncurses coreutils;
1098   };
1100   netcat = import ../tools/networking/netcat {
1101     inherit fetchurl stdenv;
1102   };
1104   netkittftp = import ../tools/networking/netkit/tftp {
1105     inherit fetchurl stdenv;
1106   };
1108   netpbm = import ../tools/graphics/netpbm {
1109     inherit stdenv fetchsvn libjpeg libpng zlib flex perl libxml2;
1110   };
1112   netselect = import ../tools/networking/netselect {
1113     inherit fetchurl stdenv;
1114   };
1116   nmap = import ../tools/security/nmap {
1117     inherit fetchurl stdenv libpcap pkgconfig openssl
1118       python pygtk makeWrapper pygobject pycairo;
1119     inherit (pythonPackages) pysqlite;
1120     inherit (xlibs) libX11;
1121     inherit (gtkLibs) gtk;
1122   };
1124   ntfs3g = import ../tools/filesystems/ntfs-3g {
1125     inherit fetchurl stdenv utillinux;
1126   };
1128   ntfsprogs = import ../tools/filesystems/ntfsprogs {
1129     inherit fetchurl stdenv libuuid;
1130   };
1132   ntp = import ../tools/networking/ntp {
1133     inherit fetchurl stdenv libcap;
1134   };
1136   nssmdns = import ../tools/networking/nss-mdns {
1137     inherit fetchurl stdenv avahi;
1138   };
1140   nylon = import ../tools/networking/nylon {
1141     inherit fetchurl stdenv libevent;
1142   };
1144   obexd = import ../tools/bluetooth/obexd {
1145     inherit fetchurl stdenv pkgconfig dbus openobex bluez glib;
1146   };
1148   obexfs = import ../tools/bluetooth/obexfs {
1149     inherit fetchurl stdenv pkgconfig fuse obexftp;
1150   };
1152   obexftp = import ../tools/bluetooth/obexftp {
1153     inherit fetchurl stdenv pkgconfig openobex bluez;
1154   };
1156   openjade = import ../tools/text/sgml/openjade {
1157     inherit fetchurl opensp perl;
1158     stdenv = overrideGCC stdenv gcc33;
1159   };
1161   openobex = import ../tools/bluetooth/openobex {
1162     inherit fetchurl stdenv pkgconfig bluez libusb;
1163   };
1165   opensc = import ../tools/security/opensc {
1166     inherit fetchurl stdenv libtool readline zlib openssl libiconv pcsclite
1167       libassuan pkgconfig;
1168     inherit (xlibs) libXt;
1169   };
1171   openssh = import ../tools/networking/openssh {
1172     inherit fetchurl stdenv zlib openssl pam perl;
1173     pamSupport = getPkgConfig "openssh" "pam" true;
1174     hpnSupport = getConfig [ "openssh" "hpn" ] false;
1175     etcDir = getConfig [ "openssh" "etcDir" ] "/etc/ssh";
1176   };
1178   opensp = import ../tools/text/sgml/opensp {
1179     inherit fetchurl;
1180     stdenv = overrideGCC stdenv gcc33;
1181   };
1183   openvpn = import ../tools/networking/openvpn {
1184     inherit fetchurl stdenv iproute lzo openssl nettools;
1185   };
1187   p7zip = import ../tools/archivers/p7zip {
1188     inherit fetchurl stdenv;
1189   };
1191   panomatic = import ../tools/graphics/panomatic {
1192     inherit fetchurl stdenv boost zlib;
1193   };
1195   par2cmdline = import ../tools/networking/par2cmdline {
1196     inherit fetchurl stdenv;
1197   };
1199   patchutils = import ../tools/text/patchutils {
1200     inherit fetchurl stdenv;
1201   };
1203   parted = import ../tools/misc/parted {
1204     inherit fetchurl stdenv devicemapper libuuid gettext readline
1205       utillinuxng;
1206   };
1208   patch = gnupatch;
1210   pbzip2 = import ../tools/compression/pbzip2 {
1211     inherit fetchurl stdenv bzip2;
1212   };
1214   pciutils = import ../tools/system/pciutils {
1215     inherit fetchurl stdenv zlib;
1216   };
1218   pcsclite = import ../tools/security/pcsclite {
1219     inherit fetchurl stdenv hal pkgconfig dbus;
1220   };
1222   pdf2djvu = import ../tools/typesetting/pdf2djvu {
1223     inherit fetchurl stdenv pkgconfig djvulibre poppler fontconfig libjpeg;
1224   };
1226   pdfjam = import ../tools/typesetting/pdfjam {
1227     inherit fetchurl stdenv;
1228   };
1230   pg_top = import ../tools/misc/pg_top {
1231     inherit fetchurl stdenv ncurses postgresql;
1232   };
1234   pdsh = import ../tools/networking/pdsh {
1235     inherit fetchurl stdenv perl;
1236     readline = if getPkgConfig "pdsh" "readline" true then readline else null;
1237     rsh = getPkgConfig "pdsh" "rsh" true;
1238     ssh = if getPkgConfig "pdsh" "ssh" true then openssh else null;
1239     pam = if getPkgConfig "pdsh" "pam" true then pam else null;
1240   };
1242   pfstools = import ../tools/graphics/pfstools {
1243     inherit fetchurl stdenv imagemagick libjpeg libtiff mesa freeglut bzip2 libpng expat;
1244     openexr = openexr_1_6_1;
1245     qt = qt3;
1246     inherit (xlibs) libX11;
1247   };
1249   pinentry = import ../tools/misc/pinentry {
1250     inherit fetchurl stdenv pkgconfig ncurses;
1251     inherit (gnome) glib gtk;
1252   };
1254   plan9port = import ../tools/system/plan9port {
1255     inherit fetchurl stdenv;
1256     inherit (xlibs) libX11 xproto libXt xextproto;
1257   };
1259   ploticus = import ../tools/graphics/ploticus {
1260     inherit fetchurl stdenv zlib libpng;
1261     inherit (xlibs) libX11;
1262   };
1264   plotutils = import ../tools/graphics/plotutils {
1265     inherit fetchurl stdenv libpng;
1266   };
1268   povray = import ../tools/graphics/povray {
1269     inherit fetchurl stdenv;
1270   };
1272   ppl = import ../development/libraries/ppl {
1273     inherit fetchurl stdenv gmpxx perl gnum4;
1274   };
1276   /* WARNING: this version is unsuitable for using with a setuid wrapper */
1277   ppp = builderDefsPackage (import ../tools/networking/ppp) {
1278   };
1280   proxychains = import ../tools/networking/proxychains {
1281     inherit fetchurl stdenv;
1282   };
1284   proxytunnel = import ../tools/misc/proxytunnel {
1285     inherit fetchurl stdenv openssl;
1286   };
1288   psmisc = import ../tools/misc/psmisc {
1289     inherit stdenv fetchurl ncurses;
1290   };
1292   pstoedit = import ../tools/graphics/pstoedit {
1293     inherit fetchurl stdenv lib pkgconfig ghostscript gd zlib plotutils;
1294   };
1296   pv = import ../tools/misc/pv {
1297     inherit fetchurl stdenv;
1298   };
1300   pwgen = import ../tools/security/pwgen {
1301     inherit stdenv fetchurl;
1302   };
1304   pydb = import ../tools/pydb {
1305     inherit fetchurl stdenv python emacs;
1306   };
1308   pystringtemplate = import ../development/python-modules/stringtemplate {
1309     inherit stdenv fetchurl python antlr;
1310   };
1312   pythonDBus = builderDefsPackage (import ../development/python-modules/dbus) {
1313     inherit python pkgconfig dbus_glib;
1314     dbus = dbus.libs;
1315   };
1317   pythonIRClib = builderDefsPackage (import ../development/python-modules/irclib) {
1318     inherit python;
1319   };
1321   pythonSexy = builderDefsPackage (import ../development/python-modules/libsexy) {
1322     inherit python libsexy pkgconfig libxml2 pygtk;
1323     inherit (gtkLibs) pango gtk glib;
1324   };
1326   openmpi = import ../development/libraries/openmpi {
1327     inherit fetchurl stdenv;
1328   };
1330   qhull = import ../development/libraries/qhull {
1331     inherit stdenv fetchurl;
1332   };
1334   reiser4progs = import ../tools/filesystems/reiser4progs {
1335     inherit fetchurl stdenv libaal;
1336   };
1338   reiserfsprogs = import ../tools/filesystems/reiserfsprogs {
1339     inherit fetchurl stdenv;
1340   };
1342   relfs = composedArgsAndFun (import ../tools/filesystems/relfs) {
1343     inherit fetchcvs stdenv ocaml postgresql fuse pcre
1344       builderDefs pkgconfig libuuid;
1345     inherit (gnome) gnomevfs GConf;
1346   };
1348   remind = import ../tools/misc/remind {
1349     inherit fetchurl stdenv;
1350   };
1352   replace = import ../tools/text/replace {
1353     inherit fetchurl stdenv;
1354   };
1356   /*
1357   rdiff_backup = import ../tools/backup/rdiff-backup {
1358     inherit fetchurl stdenv librsync gnused;
1359     python=python;
1360   };
1361   */
1363   rsnapshot = import ../tools/backup/rsnapshot {
1364     inherit fetchurl stdenv perl openssh rsync;
1366     # For the `logger' command, we can use either `utillinux' or
1367     # GNU Inetutils.  The latter is more portable.
1368     logger = inetutils;
1369   };
1371   rlwrap = composedArgsAndFun (import ../tools/misc/rlwrap/0.28.nix) {
1372     inherit builderDefs readline;
1373   };
1375   rpPPPoE = builderDefsPackage (import ../tools/networking/rp-pppoe) {
1376     inherit ppp;
1377   };
1379   rpm = import ../tools/package-management/rpm {
1380     inherit fetchurl stdenv cpio zlib bzip2 xz file elfutils nspr nss popt;
1381     db4 = db45;
1382   };
1384   rrdtool = import ../tools/misc/rrdtool {
1385     inherit stdenv fetchurl gettext perl pkgconfig libxml2 cairo;
1386     inherit (gtkLibs) pango;
1387   };
1389   rtorrent = import ../tools/networking/p2p/rtorrent {
1390     inherit fetchurl stdenv libtorrent ncurses pkgconfig libsigcxx curl zlib openssl;
1391   };
1393   rubber = import ../tools/typesetting/rubber {
1394     inherit fetchurl stdenv python texinfo;
1395   };
1397   rxp = import ../tools/text/xml/rxp {
1398     inherit fetchurl stdenv;
1399   };
1401   rzip = import ../tools/compression/rzip {
1402     inherit fetchurl stdenv bzip2;
1403   };
1405   s3backer = import ../tools/filesystems/s3backer {
1406     inherit fetchurl stdenv pkgconfig fuse curl expat;
1407   };
1409   sablotron = import ../tools/text/xml/sablotron {
1410     inherit fetchurl stdenv expat;
1411   };
1413   screen = import ../tools/misc/screen {
1414     inherit fetchurl stdenv ncurses;
1415   };
1417   scrot = import ../tools/graphics/scrot {
1418     inherit fetchurl stdenv giblib x11;
1419   };
1421   seccure = import ../tools/security/seccure/0.4.nix {
1422     inherit fetchurl stdenv libgcrypt;
1423   };
1425   setserial = builderDefsPackage (import ../tools/system/setserial) {
1426     inherit groff;
1427   };
1429   sharutils = import ../tools/archivers/sharutils/4.6.3.nix {
1430     inherit fetchurl stdenv;
1431   };
1433   shebangfix = import ../tools/misc/shebangfix {
1434     inherit stdenv perl;
1435   };
1437   slsnif = import ../tools/misc/slsnif {
1438     inherit fetchurl stdenv;
1439   };
1441   smartmontools = import ../tools/system/smartmontools {
1442     inherit fetchurl stdenv;
1443   };
1445   smbfsFuse = composedArgsAndFun (import ../tools/filesystems/smbfs-fuse) {
1446     inherit builderDefs samba fuse;
1447   };
1449   socat = import ../tools/networking/socat {
1450     inherit fetchurl stdenv openssl;
1451   };
1453   socat2pre = builderDefsPackage ../tools/networking/socat/2.0.0-b3.nix {
1454     inherit fetchurl stdenv openssl;
1455   };
1457   squashfsTools = import ../tools/filesystems/squashfs {
1458     inherit fetchurl stdenv zlib;
1459   };
1461   sshfsFuse = import ../tools/filesystems/sshfs-fuse {
1462     inherit fetchurl stdenv pkgconfig fuse glib;
1463   };
1465   sudo = import ../tools/security/sudo {
1466     inherit fetchurl stdenv coreutils pam groff;
1467   };
1469   suidChroot = builderDefsPackage (import ../tools/system/suid-chroot) {
1470   };
1472   superkaramba = import ../desktops/superkaramba {
1473     inherit stdenv fetchurl kdebase kdelibs zlib libjpeg
1474       perl qt3 python libpng freetype expat;
1475     inherit (xlibs) libX11 libXext libXt libXaw libXpm;
1476   };
1478   ssmtp = import ../tools/networking/ssmtp {
1479     inherit fetchurl stdenv openssl;
1480     tlsSupport = true;
1481   };
1483   ssss = composedArgsAndFun (import ../tools/security/ssss/0.5.nix) {
1484     inherit builderDefs gmp;
1485   };
1487   stun = import ../tools/networking/stun {
1488     inherit fetchurl stdenv lib;
1489   };
1491   stunnel = import ../tools/networking/stunnel {
1492     inherit fetchurl stdenv openssl;
1493   };
1495   su = import ../tools/misc/su {
1496     inherit fetchurl stdenv pam;
1497   };
1499   system_config_printer = import ../tools/misc/system-config-printer {
1500     inherit stdenv fetchurl perl perlXMLParser desktop_file_utils;
1501   };
1503   sitecopy = import ../tools/networking/sitecopy {
1504     inherit fetchurl stdenv neon openssl;
1505   };
1507   privoxy = import ../tools/networking/privoxy {
1508     inherit fetchurl stdenv autoconf automake ;
1509   };
1511   tcpdump = import ../tools/networking/tcpdump {
1512     inherit fetchurl stdenv libpcap;
1513   };
1515   tcng = import ../tools/networking/tcng {
1516     inherit fetchurl stdenv iproute bison flex db4 perl;
1517     kernel = kernel_2_6_28;
1518   };
1520   telnet = import ../tools/networking/telnet {
1521     inherit fetchurl stdenv ncurses;
1522   };
1524   ttf2pt1 = import ../tools/misc/ttf2pt1 {
1525     inherit fetchurl stdenv perl freetype;
1526   };
1528   ucl = import ../development/libraries/ucl {
1529     inherit fetchurl stdenv;
1530   };
1532   ufraw = import ../applications/graphics/ufraw {
1533     inherit fetchurl stdenv pkgconfig gettext bzip2 zlib
1534       libjpeg libtiff cfitsio exiv2 lcms gtkimageview;
1535     inherit (gnome) gtk;
1536   };
1538   upx = import ../tools/compression/upx {
1539     inherit fetchurl stdenv ucl zlib;
1540   };
1542   vbetool = builderDefsPackage ../tools/system/vbetool {
1543     inherit pciutils libx86 zlib;
1544   };
1546   viking = import ../applications/misc/viking {
1547     inherit fetchurl stdenv pkgconfig intltool gettext expat curl
1548       gpsd bc file;
1549     inherit (gtkLibs) gtk;
1550   };
1552   vncrec = builderDefsPackage ../tools/video/vncrec {
1553     inherit (xlibs) imake libX11 xproto gccmakedep libXt
1554       libXmu libXaw libXext xextproto libSM libICE libXpm
1555       libXp;
1556   };
1558   vpnc = import ../tools/networking/vpnc {
1559     inherit fetchurl stdenv libgcrypt perl gawk
1560       nettools makeWrapper;
1561   };
1563   vtun = import ../tools/networking/vtun {
1564     inherit fetchurl stdenv lzo openssl zlib yacc flex;
1565   };
1567   testdisk = import ../tools/misc/testdisk {
1568     inherit fetchurl stdenv ncurses libjpeg e2fsprogs zlib openssl;
1569   };
1571   htmlTidy = import ../tools/text/html-tidy {
1572     inherit fetchcvs stdenv autoconf automake libtool;
1573   };
1575   tightvnc = import ../tools/admin/tightvnc {
1576     inherit fetchurl stdenv x11 zlib libjpeg perl;
1577     inherit (xlibs) imake gccmakedep libXmu libXaw libXpm libXp xauth;
1578     fontDirectories = [ xorg.fontadobe75dpi xorg.fontmiscmisc xorg.fontcursormisc
1579       xorg.fontbhlucidatypewriter75dpi ];
1580   };
1582   time = import ../tools/misc/time {
1583     inherit fetchurl stdenv;
1584   };
1586   tm = import ../tools/system/tm {
1587     inherit fetchurl stdenv;
1588   };
1590   trang = import ../tools/text/xml/trang {
1591     inherit fetchurl stdenv unzip jre;
1592   };
1594   ts = import ../tools/system/ts {
1595     inherit fetchurl stdenv;
1596   };
1598   transfig = import ../tools/graphics/transfig {
1599     inherit fetchurl stdenv libpng libjpeg zlib;
1600     inherit (xlibs) imake;
1601   };
1603   truecrypt = import ../applications/misc/truecrypt {
1604     inherit fetchurl stdenv pkgconfig fuse devicemapper;
1605     inherit wxGTK;
1606     wxGUI = getConfig [ "truecrypt" "wxGUI" ] true;
1607   };
1609   ttmkfdir = import ../tools/misc/ttmkfdir {
1610     inherit stdenv fetchurl freetype fontconfig libunwind libtool bison;
1611     flex = flex2534;
1612   };
1614   units = import ../tools/misc/units {
1615     inherit fetchurl stdenv;
1616   };
1618   unrar = import ../tools/archivers/unrar {
1619     inherit fetchurl stdenv;
1620   };
1622   unshield = import ../tools/archivers/unshield {
1623     inherit fetchurl stdenv zlib;
1624   };
1626   unzip = unzip552;
1628   # TODO: remove in the next stdenv update.
1629   unzip552 = import ../tools/archivers/unzip/5.52.nix {
1630     inherit fetchurl stdenv;
1631   };
1633   unzip60 = import ../tools/archivers/unzip/6.0.nix {
1634     inherit fetchurl stdenv bzip2;
1635   };
1637   uptimed = import ../tools/system/uptimed {
1638     inherit fetchurl stdenv automake autoconf libtool;
1639   };
1641   wdfs = import ../tools/filesystems/wdfs {
1642     inherit stdenv fetchurl neon fuse pkgconfig glib;
1643   };
1645   webdruid = builderDefsPackage ../tools/admin/webdruid {
1646     inherit zlib libpng freetype gd which
1647       libxml2 geoip;
1648   };
1650   wget = import ../tools/networking/wget {
1651     inherit fetchurl stdenv gettext openssl;
1652   };
1654   which = import ../tools/system/which {
1655     inherit fetchurl stdenv readline;
1656   };
1658   wicd = import ../tools/networking/wicd {
1659     inherit stdenv fetchurl python pygobject pycairo pyGtkGlade pythonDBus 
1660             wpa_supplicant dhcp wirelesstools nettools iproute;
1661   };
1663   wv = import ../tools/misc/wv {
1664     inherit fetchurl stdenv libpng zlib imagemagick
1665       pkgconfig libgsf libxml2 bzip2 glib;
1666   };
1668   wv2 = import ../tools/misc/wv2 {
1669     inherit stdenv fetchurl pkgconfig libgsf libxml2 glib;
1670   };
1672   x11_ssh_askpass = import ../tools/networking/x11-ssh-askpass {
1673     inherit fetchurl stdenv x11;
1674     inherit (xorg) imake;
1675   };
1677   xclip = import ../tools/misc/xclip {
1678     inherit fetchurl stdenv x11;
1679     inherit (xlibs) libXmu;
1680   };
1682   xfsprogs = import ../tools/filesystems/xfsprogs {
1683     inherit fetchurl stdenv libtool gettext libuuid;
1684   };
1686   xmlroff = import ../tools/typesetting/xmlroff {
1687     inherit fetchurl stdenv pkgconfig libxml2 libxslt popt;
1688     inherit (gtkLibs) glib pango gtk;
1689     inherit (gnome) libgnomeprint;
1690     inherit pangoxsl;
1691   };
1693   xmlto = import ../tools/typesetting/xmlto {
1694     inherit fetchurl stdenv flex libxml2 libxslt
1695             docbook_xml_dtd_42 docbook_xsl w3m
1696             bash getopt mktemp findutils makeWrapper;
1697   };
1699   xmltv = import ../tools/misc/xmltv {
1700     inherit fetchurl perl perlPackages;
1701   };
1703   xmpppy = builderDefsPackage (import ../development/python-modules/xmpppy) {
1704     inherit python setuptools;
1705   };
1707   xpf = import ../tools/text/xml/xpf {
1708     inherit fetchurl stdenv python;
1709     libxml2 = libxml2Python;
1710   };
1712   xsel = import ../tools/misc/xsel {
1713     inherit fetchurl stdenv x11;
1714   };
1716   zdelta = import ../tools/compression/zdelta {
1717     inherit fetchurl stdenv;
1718   };
1720   zile = import ../applications/editors/zile {
1721     inherit fetchurl stdenv ncurses help2man;
1722   };
1724   zip = import ../tools/archivers/zip {
1725     inherit fetchurl stdenv;
1726   };
1729   ### SHELLS
1732   bash = lowPrio (useFromStdenv "bash" bashReal);
1734   bashReal = makeOverridable (import ../shells/bash) {
1735     inherit fetchurl stdenv bison;
1736   };
1738   bashInteractive = appendToName "interactive" (bashReal.override {
1739     inherit readline texinfo;
1740     interactive = true;
1741   });
1743   tcsh = import ../shells/tcsh {
1744     inherit fetchurl stdenv ncurses;
1745   };
1747   zsh = import ../shells/zsh {
1748     inherit fetchurl stdenv ncurses coreutils;
1749   };
1752   ### DEVELOPMENT / COMPILERS
1755   abc =
1756     abcPatchable [];
1758   abcPatchable = patches :
1759     import ../development/compilers/abc/default.nix {
1760       inherit stdenv fetchurl patches jre apacheAnt;
1761       javaCup = import ../development/libraries/java/cup {
1762         inherit stdenv fetchurl jdk;
1763       };
1764     };
1766   aspectj =
1767     import ../development/compilers/aspectj {
1768       inherit stdenv fetchurl jre;
1769     };
1771   bigloo = import ../development/compilers/bigloo {
1772     inherit fetchurl stdenv;
1773   };
1775   dylan = import ../development/compilers/gwydion-dylan {
1776     inherit fetchurl stdenv perl boehmgc yacc flex readline;
1777     dylan =
1778       import ../development/compilers/gwydion-dylan/binary.nix {
1779         inherit fetchurl stdenv;
1780       };
1781   };
1783   adobeFlexSDK33 = import ../development/compilers/adobe-flex-sdk {
1784     inherit fetchurl stdenv unzip jre;
1785   };
1787   fpc = import ../development/compilers/fpc {
1788     inherit fetchurl stdenv gawk system;
1789   };
1791   gcc = gcc43;
1793   gcc295 = wrapGCC (import ../development/compilers/gcc-2.95 {
1794     inherit fetchurl stdenv noSysDirs;
1795   });
1797   gcc33 = wrapGCC (import ../development/compilers/gcc-3.3 {
1798     inherit fetchurl stdenv noSysDirs;
1799   });
1801   gcc34 = wrapGCC (import ../development/compilers/gcc-3.4 {
1802     inherit fetchurl stdenv noSysDirs;
1803   });
1805   # XXX: GCC 4.2 (and possibly others) misdetects `makeinfo' when
1806   # using Texinfo >= 4.10, just because it uses a stupid regexp that
1807   # expects a single digit after the dot.  As a workaround, we feed
1808   # GCC with Texinfo 4.9.  Stupid bug, hackish workaround.
1810   gcc40 = wrapGCC (makeOverridable (import ../development/compilers/gcc-4.0) {
1811     inherit fetchurl stdenv noSysDirs;
1812     texinfo = texinfo49;
1813     profiledCompiler = true;
1814   });
1816   gcc41 = wrapGCC (makeOverridable (import ../development/compilers/gcc-4.1) {
1817     inherit fetchurl stdenv noSysDirs;
1818     texinfo = texinfo49;
1819     profiledCompiler = false;
1820   });
1822   gcc42 = wrapGCC (makeOverridable (import ../development/compilers/gcc-4.2) {
1823     inherit fetchurl stdenv noSysDirs;
1824     profiledCompiler = false;
1825   });
1827   gcc43 = useFromStdenv "gcc" gcc43_real;
1829   gcc43_wrapper2 = wrapGCC2 gcc43.gcc;
1831   gcc43_real = lowPrio (wrapGCC (makeOverridable (import ../development/compilers/gcc-4.3) {
1832     inherit fetchurl stdenv texinfo gmp mpfr noSysDirs;
1833     profiledCompiler = true;
1834   }));
1836   gcc43_multi = lowPrio (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi (gcc43_real.gcc.override {
1837     stdenv = overrideGCC stdenv (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi gcc);
1838     profiledCompiler = false;
1839     enableMultilib = true;
1840   }));
1842   gcc44 = lowPrio (wrapGCC (makeOverridable (import ../development/compilers/gcc-4.4) {
1843     inherit fetchurl stdenv texinfo gmp mpfr ppl cloogppl
1844       gettext which noSysDirs;
1845     profiledCompiler = true;
1846   }));
1848   gccApple =
1849     wrapGCC ( (if stdenv.system == "i686-darwin" then import ../development/compilers/gcc-apple else import ../development/compilers/gcc-apple64) {
1850       inherit fetchurl stdenv noSysDirs;
1851       profiledCompiler = true;
1852     }) ;
1854   gccupc40 = wrapGCCUPC (import ../development/compilers/gcc-upc-4.0 {
1855     inherit fetchurl stdenv bison autoconf gnum4 noSysDirs;
1856     texinfo = texinfo49;
1857   });
1859   gfortran = gfortran43;
1861   gfortran40 = wrapGCC (gcc40.gcc.override {
1862     name = "gfortran";
1863     langFortran = true;
1864     langCC = false;
1865     inherit gmp mpfr;
1866   });
1868   gfortran41 = wrapGCC (gcc41.gcc.override {
1869     name = "gfortran";
1870     langFortran = true;
1871     langCC = false;
1872     langC = false;
1873     inherit gmp mpfr;
1874   });
1876   gfortran42 = wrapGCC (gcc42.gcc.override {
1877     name = "gfortran";
1878     langFortran = true;
1879     langCC = false;
1880     langC = false;
1881     inherit gmp mpfr;
1882   });
1884   gfortran43 = wrapGCC (gcc43_real.gcc.override {
1885     name = "gfortran";
1886     langFortran = true;
1887     langCC = false;
1888     langC = false;
1889     profiledCompiler = false;
1890   });
1892   gfortran44 = wrapGCC (gcc44.gcc.override {
1893     name = "gfortran";
1894     langFortran = true;
1895     langCC = false;
1896     langC = false;
1897     profiledCompiler = false;
1898   });
1900   gcj = gcj44;
1902   gcj44 = wrapGCC (gcc44.gcc.override {
1903     name = "gcj";
1904     langJava = true;
1905     langFortran = false;
1906     langCC = true;
1907     langC = false;
1908     profiledCompiler = false;
1909     inherit zip unzip zlib boehmgc gettext pkgconfig;
1910     inherit (gtkLibs) gtk;
1911     inherit (gnome) libart_lgpl;
1912     inherit (xlibs) libX11 libXt libSM libICE libXtst libXi libXrender
1913       libXrandr xproto renderproto xextproto inputproto randrproto;
1914   });
1916   /*
1917   Broken; fails because of unability to find its own symbols during linking
1919   gcl = builderDefsPackage ../development/compilers/gcl {
1920     inherit mpfr m4 binutils fetchcvs emacs;
1921     inherit (xlibs) libX11 xproto inputproto libXi
1922       libXext xextproto libXt libXaw libXmu;
1923     stdenv = (overrideGCC stdenv gcc34) // {gcc = gcc33;};
1924   };
1925   */
1927   # GHC
1929   # GHC binaries are around for bootstrapping purposes
1931   #ghc = haskellPackages.ghc;
1933   /*
1934   ghc642Binary = lowPrio (import ../development/compilers/ghc/6.4.2-binary.nix {
1935     inherit fetchurl stdenv ncurses gmp;
1936     readline = if stdenv.system == "i686-linux" then readline4 else readline5;
1937     perl = perl58;
1938   });
1939   */
1941   ghc6101Binary = lowPrio (import ../development/compilers/ghc/6.10.1-binary.nix {
1942     inherit fetchurl stdenv perl ncurses gmp libedit;
1943   });
1945   ghc6102Binary = lowPrio (import ../development/compilers/ghc/6.10.2-binary.nix {
1946     inherit fetchurl stdenv perl ncurses gmp libedit;
1947   });
1949   # For several compiler versions, we export a large set of Haskell-related
1950   # packages.
1952   haskellPackages = haskellPackages_ghc6121;
1954   /*
1955   haskellPackages_ghc642 = import ./haskell-packages.nix {
1956     inherit pkgs;
1957     ghc = import ../development/compilers/ghc/6.4.2.nix {
1958       inherit fetchurl stdenv perl ncurses readline m4 gmp;
1959       ghc = ghc642Binary;
1960     };
1961   };
1963   haskellPackages_ghc661 = import ./haskell-packages.nix {
1964     inherit pkgs;
1965     ghc = import ../development/compilers/ghc/6.6.1.nix {
1966       inherit fetchurl stdenv readline perl58 gmp ncurses m4;
1967       ghc = ghc642Binary;
1968     };
1969   };
1971   haskellPackages_ghc682 = import ./haskell-packages.nix {
1972     inherit pkgs;
1973     ghc = import ../development/compilers/ghc/6.8.2.nix {
1974       inherit fetchurl stdenv perl gmp ncurses m4;
1975       readline = readline5;
1976       ghc = ghc642Binary;
1977     };
1978   };
1980   haskellPackages_ghc683 = recurseIntoAttrs (import ./haskell-packages.nix {
1981     inherit pkgs;
1982     ghc = import ../development/compilers/ghc/6.8.3.nix {
1983       inherit fetchurl stdenv readline perl gmp ncurses m4;
1984       ghc = ghc642Binary;
1985       haddock = import ../development/tools/documentation/haddock/boot.nix {
1986         inherit gmp;
1987         cabal = import ../development/libraries/haskell/cabal/cabal.nix {
1988           inherit stdenv fetchurl lib;
1989           ghc = ghc642Binary;
1990         };
1991       };
1992     };
1993   });
1994   */
1996   haskellPackages_ghc6101 = import ./haskell-packages.nix {
1997     inherit pkgs;
1998     ghc = import ../development/compilers/ghc/6.10.1.nix {
1999       inherit fetchurl stdenv perl ncurses gmp libedit;
2000       ghc = ghc6101Binary;
2001     };
2002   };
2004   haskellPackages_ghc6102 = import ./haskell-packages.nix {
2005     inherit pkgs;
2006     ghc = import ../development/compilers/ghc/6.10.2.nix {
2007       inherit fetchurl stdenv perl ncurses gmp libedit;
2008       ghc = ghc6101Binary;
2009     };
2010   };
2012   haskellPackages_ghc6103 = recurseIntoAttrs (import ./haskell-packages.nix {
2013     inherit pkgs;
2014     ghc = import ../development/compilers/ghc/6.10.3.nix {
2015       inherit fetchurl stdenv perl ncurses gmp libedit;
2016       ghc = ghc6101Binary;
2017     };
2018   });
2020   haskellPackages_ghc6104 = recurseIntoAttrs (import ./haskell-packages.nix {
2021     inherit pkgs;
2022     ghc = import ../development/compilers/ghc/6.10.4.nix {
2023       inherit fetchurl stdenv perl ncurses gmp libedit;
2024       ghc = ghc6101Binary;
2025     };
2026   });
2028   haskellPackages_ghc6121 = import ./haskell-packages.nix {
2029     inherit pkgs;
2030     ghc = import ../development/compilers/ghc/6.12.1.nix {
2031       inherit fetchurl stdenv perl ncurses gmp;
2032       ghc = ghc6101Binary;
2033     };
2034   };
2036   haskellPackages_ghcHEAD = import ./haskell-packages.nix {
2037     inherit pkgs;
2038     ghc = import ../development/compilers/ghc/6.11.nix {
2039       inherit fetchurl stdenv perl ncurses gmp libedit;
2040       inherit (haskellPackages) happy alex; # hope these aren't required for the final version
2041       ghc = ghc6101Binary;
2042     };
2043   };
2045   haxe = import ../development/compilers/haxe {
2046     inherit fetchurl sourceFromHead stdenv lib ocaml zlib makeWrapper;
2047   };
2049   falcon = builderDefsPackage (import ../development/interpreters/falcon) {
2050     inherit cmake;
2051   };
2053   go = import ../development/compilers/go {
2054     inherit stdenv fetchhg glibc bison ed which bash makeWrapper;
2055   };
2057   gprolog = import ../development/compilers/gprolog {
2058     inherit fetchurl stdenv;
2059   };
2061   gwt = import ../development/compilers/gwt {
2062     inherit stdenv fetchurl jdk;
2063     inherit (gtkLibs) glib gtk pango atk;
2064     inherit (xlibs) libX11 libXt;
2065     libstdcpp5 = gcc33.gcc;
2066   };
2068   ikarus = import ../development/compilers/ikarus {
2069     inherit stdenv fetchurl gmp;
2070   };
2072   #TODO add packages http://cvs.haskell.org/Hugs/downloads/2006-09/packages/ and test
2073   # commented out because it's using the new configuration style proposal which is unstable
2074   hugs = import ../development/compilers/hugs {
2075     inherit lib fetchurl stdenv composableDerivation;
2076   };
2078   openjdkDarwin = import ../development/compilers/openjdk-darwin {
2079     inherit fetchurl stdenv;
2080   };
2082   j2sdk14x = (
2083     assert system == "i686-linux";
2084     import ../development/compilers/jdk/default-1.4.nix {
2085       inherit fetchurl stdenv;
2086     });
2088   jdk5 = (
2089     assert system == "i686-linux" || system == "x86_64-linux";
2090     import ../development/compilers/jdk/default-5.nix {
2091       inherit fetchurl stdenv unzip;
2092     });
2094   jdk       = jdkdistro true  false;
2095   jre       = jdkdistro false false;
2097   jdkPlugin = jdkdistro true true;
2098   jrePlugin = jdkdistro false true;
2100   supportsJDK =
2101     system == "i686-linux" ||
2102     system == "x86_64-linux" ||
2103     system == "powerpc-linux";
2105   jdkdistro = installjdk: pluginSupport:
2106        (assert supportsJDK;
2107     (if pluginSupport then appendToName "plugin" else x: x) (import ../development/compilers/jdk {
2108       inherit fetchurl stdenv unzip installjdk xlibs pluginSupport makeWrapper;
2109     }));
2111   jikes = import ../development/compilers/jikes {
2112     inherit fetchurl stdenv;
2113   };
2115   lazarus = builderDefsPackage (import ../development/compilers/fpc/lazarus.nix) {
2116     inherit fpc makeWrapper;
2117     inherit (gtkLibs) gtk glib pango atk;
2118     inherit (xlibs) libXi inputproto libX11 xproto libXext xextproto;
2119   };
2121   llvm = import ../development/compilers/llvm {
2122     inherit fetchurl stdenv gcc flex perl libtool;
2123   };
2125   llvmGCC = builderDefsPackage (import ../development/compilers/llvm/llvm-gcc.nix) {
2126     flex=flex2535;
2127     inherit llvm perl libtool bison;
2128   };
2130   mono = import ../development/compilers/mono {
2131     inherit fetchurl stdenv bison pkgconfig gettext perl glib;
2132   };
2134   monoDLLFixer = import ../build-support/mono-dll-fixer {
2135     inherit stdenv perl;
2136   };
2138   mozart = import ../development/compilers/mozart {
2139     inherit fetchurl stdenv flex bison perl gmp zlib tcl tk gdbm m4 x11 emacs;
2140   };
2142   neko = import ../development/compilers/neko {
2143     inherit sourceFromHead fetchurl stdenv lib pkgconfig composableDerivation
2144       boehmgc apacheHttpd mysql zlib sqlite pcre apr makeWrapper;
2145     inherit (gtkLibs) gtk;
2146   };
2148   nasm = import ../development/compilers/nasm {
2149     inherit fetchurl stdenv;
2150   };
2152   ocaml = ocaml_3_11_1;
2154   ocaml_3_08_0 = import ../development/compilers/ocaml/3.08.0.nix {
2155     inherit fetchurl stdenv x11 ncurses;
2156   };
2158   ocaml_3_09_1 = import ../development/compilers/ocaml/3.09.1.nix {
2159     inherit fetchurl stdenv x11 ncurses;
2160   };
2162   ocaml_3_10_0 = import ../development/compilers/ocaml/3.10.0.nix {
2163     inherit fetchurl stdenv x11 ncurses;
2164   };
2166   ocaml_3_11_1 = import ../development/compilers/ocaml/3.11.1.nix {
2167     inherit fetchurl stdenv x11 ncurses;
2168   };
2170   opencxx = import ../development/compilers/opencxx {
2171     inherit fetchurl stdenv libtool;
2172     gcc = gcc33;
2173   };
2175   qcmm = import ../development/compilers/qcmm {
2176     lua   = lua4;
2177     ocaml = ocaml_3_08_0;
2178     inherit fetchurl stdenv mk noweb groff;
2179   };
2181   roadsend = import ../development/compilers/roadsend {
2182     inherit fetchurl stdenv flex bison bigloo lib curl composableDerivation;
2183     # optional features
2184     # all features pcre, fcgi xml mysql, sqlite3, (not implemented: odbc gtk gtk2)
2185     flags = ["pcre" "xml" "mysql"];
2186     inherit mysql libxml2 fcgi;
2187   };
2189   sbcl = builderDefsPackage (import ../development/compilers/sbcl) {
2190     inherit makeWrapper;
2191     clisp = clisp_2_44_1;
2192   };
2194   scala = import ../development/compilers/scala {
2195     inherit stdenv fetchurl;
2196   };
2198   stalin = import ../development/compilers/stalin {
2199     inherit stdenv fetchurl;
2200     inherit (xlibs) libX11;
2201   };
2203   strategoPackages = strategoPackages017;
2205   strategoPackages016 = import ../development/compilers/strategoxt/0.16.nix {
2206     inherit fetchurl pkgconfig aterm getopt;
2207     stdenv = overrideInStdenv stdenv [gnumake380];
2208   };
2210   strategoPackages017 = import ../development/compilers/strategoxt/0.17.nix {
2211     inherit fetchurl stdenv pkgconfig aterm getopt jdk ncurses;
2212     readline = readline5;
2213   };
2215   strategoPackages018 = import ../development/compilers/strategoxt/0.18.nix {
2216     inherit fetchurl stdenv pkgconfig aterm getopt jdk makeStaticBinaries ncurses;
2217     readline = readline5;
2218   };
2220   metaBuildEnv = import ../development/compilers/meta-environment/meta-build-env {
2221     inherit fetchurl stdenv;
2222   };
2224   swiProlog = import ../development/compilers/swi-prolog {
2225     inherit fetchurl stdenv gmp readline openssl libjpeg unixODBC zlib;
2226     inherit (xlibs) libXinerama libXft libXpm libSM libXt;
2227   };
2229   tinycc = import ../development/compilers/tinycc {
2230     inherit fetchurl stdenv perl texinfo;
2231   };
2233   visualcpp = (import ../development/compilers/visual-c++ {
2234     inherit fetchurl stdenv cabextract;
2235   });
2237   webdsl = import ../development/compilers/webdsl {
2238     inherit stdenv fetchurl pkgconfig strategoPackages;
2239   };
2241   win32hello = import ../development/compilers/visual-c++/test {
2242     inherit fetchurl stdenv visualcpp windowssdk;
2243   };
2245   wrapGCCWith = gccWrapper: glibc: baseGCC: gccWrapper {
2246     nativeTools = stdenv ? gcc && stdenv.gcc.nativeTools;
2247     nativeLibc = stdenv ? gcc && stdenv.gcc.nativeLibc;
2248     nativePrefix = if stdenv ? gcc then stdenv.gcc.nativePrefix else "";
2249     gcc = baseGCC;
2250     libc = glibc;
2251     inherit stdenv binutils;
2252   };
2254   wrapGCC = wrapGCCWith (import ../build-support/gcc-wrapper) glibc;
2255   wrapGCC2 = wrapGCCWith (import ../build-support/gcc-wrapper2) glibc;
2257   # FIXME: This is a specific hack for GCC-UPC.  Eventually, we may
2258   # want to merge `gcc-upc-wrapper' and `gcc-wrapper'.
2259   wrapGCCUPC = baseGCC: import ../build-support/gcc-upc-wrapper {
2260     nativeTools = stdenv ? gcc && stdenv.gcc.nativeTools;
2261     nativeLibc = stdenv ? gcc && stdenv.gcc.nativeLibc;
2262     gcc = baseGCC;
2263     libc = glibc;
2264     inherit stdenv binutils;
2265   };
2267   # prolog
2268   yap = import ../development/compilers/yap {
2269     inherit fetchurl stdenv;
2270   };
2273   ### DEVELOPMENT / INTERPRETERS
2275   acl2 = builderDefsPackage ../development/interpreters/acl2 {
2276     inherit sbcl;
2277   };
2279   clisp = import ../development/interpreters/clisp {
2280     inherit fetchurl stdenv libsigsegv gettext
2281       readline ncurses coreutils pcre zlib libffi libffcall;
2282     inherit (xlibs) libX11 libXau libXt xproto
2283       libXpm libXext xextproto;
2284   };
2286   # compatibility issues in 2.47 - at list 2.44.1 is known good
2287   # for sbcl bootstrap
2288   clisp_2_44_1 = import ../development/interpreters/clisp/2.44.1.nix {
2289     inherit fetchurl stdenv gettext
2290       readline ncurses coreutils pcre zlib libffi libffcall;
2291     inherit (xlibs) libX11 libXau libXt xproto
2292       libXpm libXext xextproto;
2293     libsigsegv = libsigsegv_25;
2294   };
2296   erlang = import ../development/interpreters/erlang {
2297     inherit fetchurl stdenv perl gnum4 ncurses openssl;
2298   };
2300   guile = import ../development/interpreters/guile {
2301     inherit fetchurl stdenv readline libtool gmp gawk makeWrapper;
2302   };
2304   guile_1_9 = import ../development/interpreters/guile/1.9.nix {
2305     inherit fetchurl stdenv readline libtool gmp gawk makeWrapper
2306       libunistring pkgconfig boehmgc;
2307   };
2309   guile_1_9_coverage = import ../development/interpreters/guile/1.9.nix {
2310     inherit fetchurl stdenv readline libtool gmp gawk makeWrapper
2311       libunistring pkgconfig boehmgc;
2312     inherit (releaseTools) coverageAnalysis;
2313   };
2315   io = builderDefsPackage (import ../development/interpreters/io) {
2316     inherit sqlite zlib gmp libffi cairo ncurses freetype mesa
2317       libpng libtiff libjpeg readline libsndfile libxml2
2318       freeglut e2fsprogs libsamplerate pcre libevent libedit;
2319   };
2321   kaffe =  import ../development/interpreters/kaffe {
2322     inherit fetchurl stdenv jikes alsaLib xlibs;
2323   };
2325   lua4 = import ../development/interpreters/lua-4 {
2326     inherit fetchurl stdenv;
2327   };
2329   lua5 = import ../development/interpreters/lua-5 {
2330     inherit fetchurl stdenv ncurses readline;
2331   };
2333   maude = import ../development/interpreters/maude {
2334     inherit fetchurl stdenv flex bison ncurses buddy tecla gmpxx libsigsegv makeWrapper;
2335   };
2337   octave = import ../development/interpreters/octave {
2338     inherit stdenv fetchurl gfortran readline ncurses perl flex qhull texinfo;
2339   };
2341   # mercurial (hg) bleeding edge version
2342   octaveHG = import ../development/interpreters/octave/hg.nix {
2343     inherit fetchurl sourceFromHead readline ncurses perl flex atlas getConfig glibc qhull gfortran;
2344     inherit automake autoconf bison gperf lib python gnuplot texinfo texLive; # for dev Version
2345     inherit stdenv;
2346     inherit (xlibs) libX11;
2347     #stdenv = overrideGCC stdenv gcc40;
2348   };
2350   perl58 = import ../development/interpreters/perl-5.8 {
2351       inherit fetchurl stdenv;
2352       impureLibcPath = if stdenv.isLinux then null else "/usr";
2353     };
2355   perl510 = import ../development/interpreters/perl-5.10 {
2356     inherit stdenv;
2357     fetchurl = fetchurlBoot;
2358     impureLibcPath = if stdenv.isLinux then null else "/usr";
2359   };
2361   perl = if system != "i686-cygwin" then perl510 else sysPerl;
2363   # FIXME: unixODBC needs patching on Darwin (see darwinports)
2364   phpOld = import ../development/interpreters/php {
2365     inherit stdenv fetchurl flex bison libxml2 apacheHttpd;
2366     unixODBC =
2367       if stdenv.isDarwin then null else unixODBC;
2368   };
2370   php = makeOverridable (import ../development/interpreters/php_configurable) {
2371     inherit
2372       stdenv fetchurl lib composableDerivation autoconf automake
2373       flex bison apacheHttpd mysql libxml2 # gettext
2374       zlib curl gd postgresql openssl pkgconfig sqlite getConfig;
2375   };
2377   phpXdebug = import ../development/interpreters/php-xdebug {
2378     inherit stdenv fetchurl php autoconf automake;
2379   };
2381   phpIniBuilder = makeOverridable (import ../development/interpreters/php/ini-bulider.nix) {
2382     inherit php runCommand;
2383   };
2385   pltScheme = builderDefsPackage (import ../development/interpreters/plt-scheme) {
2386     inherit cairo fontconfig freetype libjpeg libpng openssl
2387       perl mesa zlib which;
2388     inherit (xorg) libX11 libXaw libXft libXrender libICE xproto
2389       renderproto pixman libSM libxcb libXext xextproto libXmu
2390       libXt;
2391   };
2393   polyml = import ../development/compilers/polyml {
2394     inherit stdenv fetchurl;
2395   };
2397   python = if getConfig ["python" "full"] false then pythonFull else pythonBase;
2398   python25 = if getConfig ["python" "full"] false then python25Full else python25Base;
2399   python26 = if getConfig ["python" "full"] false then python26Full else python26Base;
2400   pythonBase = python25Base;
2401   pythonFull = python25Full;
2403   python24 = import ../development/interpreters/python/2.4 {
2404     inherit fetchurl stdenv zlib bzip2;
2405   };
2407   python25Base = composedArgsAndFun (import ../development/interpreters/python/2.5) {
2408     inherit fetchurl stdenv zlib bzip2 gdbm;
2409   };
2411   python25Full = python25Base.passthru.function {
2412     # FIXME: We lack ncurses support, needed, e.g., for `gpsd'.
2413     db4 = if getConfig ["python" "db4Support"] true then db4 else null;
2414     sqlite = if getConfig ["python" "sqliteSupport"] true then sqlite else null;
2415     readline = if getConfig ["python" "readlineSupport"] true then readline else null;
2416     openssl = if getConfig ["python" "opensslSupport"] true then openssl else null;
2417     tk = if getConfig ["python" "tkSupport"] true then tk else null;
2418     tcl = if getConfig ["python" "tkSupport"] true then tcl else null;
2419     libX11 = if getConfig ["python" "tkSupport"] true then xlibs.libX11 else null;
2420     xproto = if getConfig ["python" "tkSupport"] true then xlibs.xproto else null;
2421   };
2423   python26Base = composedArgsAndFun (import ../development/interpreters/python/2.6) {
2424     inherit fetchurl stdenv zlib bzip2 gdbm;
2425     arch = if stdenv.isDarwin then darwinArchUtility else null;
2426     sw_vers = if stdenv.isDarwin then darwinSwVersUtility else null;
2427   };
2429   python26Full = python26Base.passthru.function {
2430     # FIXME: We lack ncurses support, needed, e.g., for `gpsd'.
2431     db4 = if getConfig ["python" "db4Support"] true then db4 else null;
2432     sqlite = if getConfig ["python" "sqliteSupport"] true then sqlite else null;
2433     readline = if getConfig ["python" "readlineSupport"] true then readline else null;
2434     openssl = if getConfig ["python" "opensslSupport"] true then openssl else null;
2435     tk = if getConfig ["python" "tkSupport"] true then tk else null;
2436     tcl = if getConfig ["python" "tkSupport"] true then tcl else null;
2437     libX11 = if getConfig ["python" "tkSupport"] true then xlibs.libX11 else null;
2438     xproto = if getConfig ["python" "tkSupport"] true then xlibs.xproto else null;
2439   };
2441   # new python and lib proposal
2442   # - adding a python lib to buildinputs should be enough
2443   #   (handles .pth files by patching site.py
2444   #    while introducing NIX_PYTHON_SITES describing list of modules)
2445   # - adding pyCheck = "import foo" test scripts to ensure libraries can be imported
2446   # - providing pythonWrapper so that you can run python and import the selected libraries
2447   # feel free to comment on this (experimental)
2448   python25New = recurseIntoAttrs ((import ../development/interpreters/python-new/2.5) pkgs);
2449   pythonNew = python25New; # the default python
2451   pyrex = pyrex095;
2453   pyrex095 = import ../development/interpreters/pyrex/0.9.5.nix {
2454     inherit fetchurl stdenv stringsWithDeps lib builderDefs python;
2455   };
2457   pyrex096 = import ../development/interpreters/pyrex/0.9.6.nix {
2458     inherit fetchurl stdenv stringsWithDeps lib builderDefs python;
2459   };
2461   Qi = composedArgsAndFun (import ../development/compilers/qi/9.1.nix) {
2462     inherit clisp stdenv fetchurl builderDefs unzip;
2463   };
2465   ruby18 = import ../development/interpreters/ruby {
2466     inherit fetchurl stdenv readline ncurses zlib openssl gdbm;
2467   };
2468   #ruby19 = import ../development/interpreters/ruby/ruby-19.nix { inherit ruby18 fetchurl; };
2469   ruby = ruby18;
2471   rubyLibs = recurseIntoAttrs (import ../development/interpreters/ruby/libs.nix {
2472     inherit pkgs stdenv;
2473   });
2475   rake = import ../development/ruby-modules/rake {
2476     inherit fetchurl stdenv ruby ;
2477   };
2479   rubySqlite3 = import ../development/ruby-modules/sqlite3 {
2480     inherit fetchurl stdenv ruby sqlite;
2481   };
2483   rLang = import ../development/interpreters/r-lang {
2484     inherit fetchurl stdenv readline perl gfortran libpng zlib;
2485     inherit (xorg) libX11 libXt;
2486     withBioconductor = getConfig ["rLang" "withBioconductor"] false;
2487   };
2489   rubygemsFun = ruby: builderDefsPackage (import ../development/interpreters/ruby/gems.nix) {
2490     inherit ruby makeWrapper;
2491   };
2492   rubygems = rubygemsFun ruby;
2494   rq = import ../applications/networking/cluster/rq {
2495     inherit fetchurl stdenv sqlite ruby ;
2496   };
2498   scsh = import ../development/interpreters/scsh {
2499     inherit stdenv fetchurl;
2500   };
2502   spidermonkey = import ../development/interpreters/spidermonkey {
2503     inherit fetchurl stdenv readline;
2504   };
2506   sysPerl = import ../development/interpreters/sys-perl {
2507     inherit stdenv;
2508   };
2510   tcl = import ../development/interpreters/tcl {
2511     inherit fetchurl stdenv;
2512   };
2514   xulrunnerWrapper = {application, launcher}:
2515     import ../development/interpreters/xulrunner/wrapper {
2516       inherit stdenv application launcher;
2517       xulrunner = xulrunner35;
2518     };
2521   ### DEVELOPMENT / MISC
2523   avrgcclibc = import ../development/misc/avr-gcc-with-avr-libc {
2524     inherit fetchurl stdenv writeTextFile gnumake coreutils gnutar bzip2
2525       gnugrep gnused gawk;
2526     gcc = gcc40;
2527   };
2529   avr8burnomat = import ../development/misc/avr8-burn-omat {
2530     inherit fetchurl stdenv unzip;
2531   };
2533   /*
2534   toolbus = import ../development/interpreters/toolbus {
2535     inherit stdenv fetchurl atermjava toolbuslib aterm yacc flex;
2536   };
2537   */
2539   sourceFromHead = import ../build-support/source-from-head-fun.nix {
2540     inherit getConfig;
2541   };
2543   ecj = import ../development/eclipse/ecj {
2544     inherit fetchurl stdenv unzip ant gcj;
2545   };
2547   jdtsdk = import ../development/eclipse/jdt-sdk {
2548     inherit fetchurl stdenv unzip;
2549   };
2551   jruby116 = import ../development/interpreters/jruby {
2552     inherit fetchurl stdenv;
2553   };
2555   guileCairo = import ../development/guile-modules/guile-cairo {
2556     inherit fetchurl stdenv guile pkgconfig cairo guileLib;
2557   };
2559   guileGnome = import ../development/guile-modules/guile-gnome {
2560     inherit fetchurl stdenv guile guileLib gwrap pkgconfig guileCairo;
2561     gconf = gnome.GConf;
2562     inherit (gnome) glib gnomevfs gtk libglade libgnome libgnomecanvas
2563       libgnomeui pango;
2564   };
2566   guileLib = import ../development/guile-modules/guile-lib {
2567     inherit fetchurl stdenv guile texinfo;
2568   };
2570   windowssdk = (
2571     import ../development/misc/windows-sdk {
2572       inherit fetchurl stdenv cabextract;
2573     });
2576   ### DEVELOPMENT / TOOLS
2579   antlr = import ../development/tools/parsing/antlr/2.7.7.nix {
2580     inherit fetchurl stdenv jdk python;
2581   };
2583   antlr3 = import ../development/tools/parsing/antlr {
2584     inherit fetchurl stdenv jre;
2585   };
2587   antDarwin = apacheAnt.override rec { jdk = openjdkDarwin ; name = "ant-" + jdk.name ; } ;
2589   ant = apacheAnt;
2590   apacheAnt = makeOverridable (import ../development/tools/build-managers/apache-ant) {
2591     inherit fetchurl stdenv jdk;
2592     name = "ant-" + jdk.name;
2593   };
2595   apacheAnt14 = import ../development/tools/build-managers/apache-ant {
2596     inherit fetchurl stdenv;
2597     jdk = j2sdk14x;
2598     name = "ant-" + j2sdk14x.name;
2599   };
2601   apacheAntGcj = import ../development/tools/build-managers/apache-ant/from-source.nix {
2602     inherit fetchurl stdenv;
2603     inherit junit; # must be either pre-built or built with GCJ *alone*
2604     javac = gcj;
2605     jvm = gcj;
2606   };
2608   autobuild = import ../development/tools/misc/autobuild {
2609     inherit fetchurl stdenv makeWrapper perl openssh rsync;
2610   };
2612   autoconf = import ../development/tools/misc/autoconf {
2613     inherit fetchurl stdenv perl m4;
2614   };
2616   autoconf213 = import ../development/tools/misc/autoconf/2.13.nix {
2617     inherit fetchurl stdenv perl m4 lzma;
2618   };
2620   automake = automake110x;
2622   automake17x = import ../development/tools/misc/automake/automake-1.7.x.nix {
2623     inherit fetchurl stdenv perl autoconf makeWrapper;
2624   };
2626   automake19x = import ../development/tools/misc/automake/automake-1.9.x.nix {
2627     inherit fetchurl stdenv perl autoconf makeWrapper;
2628   };
2630   automake110x = import ../development/tools/misc/automake/automake-1.10.x.nix {
2631     inherit fetchurl stdenv perl autoconf makeWrapper;
2632   };
2634   automake111x = import ../development/tools/misc/automake/automake-1.11.x.nix {
2635     inherit fetchurl stdenv perl autoconf makeWrapper;
2636   };
2638   avrdude = import ../development/tools/misc/avrdude {
2639     inherit lib fetchurl stdenv flex yacc composableDerivation texLive;
2640   };
2642   binutils = useFromStdenv "binutils"
2643     (import ../development/tools/misc/binutils {
2644       inherit fetchurl stdenv noSysDirs;
2645     });
2647   bison = bison23;
2649   bison1875 = import ../development/tools/parsing/bison/bison-1.875.nix {
2650     inherit fetchurl stdenv m4;
2651   };
2653   bison23 = import ../development/tools/parsing/bison/bison-2.3.nix {
2654     inherit fetchurl stdenv m4;
2655   };
2657   bison24 = import ../development/tools/parsing/bison/bison-2.4.nix {
2658     inherit fetchurl stdenv m4;
2659   };
2661   buildbot = import ../development/tools/build-managers/buildbot {
2662     inherit fetchurl stdenv python twisted makeWrapper;
2663   };
2665   byacc = import ../development/tools/parsing/byacc {
2666     inherit fetchurl stdenv;
2667   };
2669   camlp5_strict = import ../development/tools/ocaml/camlp5 {
2670     inherit stdenv fetchurl ocaml;
2671   };
2673   camlp5_transitional = import ../development/tools/ocaml/camlp5 {
2674     inherit stdenv fetchurl ocaml;
2675     transitional = true;
2676   };
2678   ccache = import ../development/tools/misc/ccache {
2679     inherit fetchurl stdenv;
2680   };
2682   ctags = import ../development/tools/misc/ctags {
2683     inherit fetchurl sourceFromHead stdenv automake autoconf;
2684   };
2686   ctagsWrapped = import ../development/tools/misc/ctags/wrapped.nix {
2687     inherit pkgs ctags writeScriptBin;
2688   };
2690   cmake = import ../development/tools/build-managers/cmake {
2691     inherit fetchurl stdenv replace ncurses;
2692   };
2694   coccinelle = import ../development/tools/misc/coccinelle {
2695     inherit fetchurl stdenv perl python ocaml ncurses makeWrapper;
2696   };
2698   cproto = import ../development/tools/misc/cproto {
2699     inherit fetchurl stdenv flex bison;
2700   };
2702   cflow = import ../development/tools/misc/cflow {
2703     inherit fetchurl stdenv gettext emacs;
2704   };
2706   cscope = import ../development/tools/misc/cscope {
2707     inherit fetchurl stdenv ncurses pkgconfig emacs;
2708   };
2710   dejagnu = import ../development/tools/misc/dejagnu {
2711     inherit fetchurl stdenv expect makeWrapper;
2712   };
2714   ddd = import ../development/tools/misc/ddd {
2715     inherit fetchurl stdenv lesstif ncurses;
2716     inherit (xlibs) libX11 libXt;
2717   };
2719   distcc = import ../development/tools/misc/distcc {
2720     inherit fetchurl stdenv popt python;
2721     avahi = if getPkgConfig "distcc" "avahi" false then avahi else null;
2722     pkgconfig = if getPkgConfig "distcc" "gtk" false then pkgconfig else null;
2723     gtk = if getPkgConfig "distcc" "gtk" false then gtkLibs.gtk else null;
2724   };
2726   docutils = builderDefsPackage (import ../development/tools/documentation/docutils) {
2727     inherit python pil makeWrapper;
2728   };
2730   doxygen = import ../development/tools/documentation/doxygen {
2731     inherit fetchurl stdenv graphviz perl flex bison gnumake;
2732     inherit (xlibs) libX11 libXext;
2733     qt = if getPkgConfig "doxygen" "qt4" true then qt4 else null;
2734   };
2736   eggdbus = import ../development/tools/misc/eggdbus {
2737     inherit stdenv fetchurl pkgconfig dbus dbus_glib glib;
2738   };
2740   elfutils = import ../development/tools/misc/elfutils {
2741     inherit fetchurl stdenv m4;
2742   };
2744   epm = import ../development/tools/misc/epm {
2745     inherit fetchurl stdenv rpm;
2746   };
2748   emma = import ../development/tools/analysis/emma {
2749     inherit fetchurl stdenv unzip;
2750   };
2752   findbugs = import ../development/tools/analysis/findbugs {
2753     inherit fetchurl stdenv;
2754   };
2756   pmd = import ../development/tools/analysis/pmd {
2757     inherit fetchurl stdenv unzip;
2758   };
2760   jdepend = import ../development/tools/analysis/jdepend {
2761     inherit fetchurl stdenv unzip;
2762   };
2764   checkstyle = import ../development/tools/analysis/checkstyle {
2765     inherit fetchurl stdenv unzip;
2766   };
2768   flex = flex254a;
2770   flex2535 = import ../development/tools/parsing/flex/flex-2.5.35.nix {
2771     inherit fetchurl stdenv yacc m4;
2772   };
2774   flex2534 = import ../development/tools/parsing/flex/flex-2.5.34.nix {
2775     inherit fetchurl stdenv yacc m4;
2776   };
2778   flex2533 = import ../development/tools/parsing/flex/flex-2.5.33.nix {
2779     inherit fetchurl stdenv yacc m4;
2780   };
2782   # Note: 2.5.4a is much older than 2.5.35 but happens first when sorting
2783   # alphabetically, hence the low priority.
2784   flex254a = lowPrio (import ../development/tools/parsing/flex/flex-2.5.4a.nix {
2785     inherit fetchurl stdenv yacc;
2786   });
2788   m4 = gnum4;
2790   global = import ../development/tools/misc/global {
2791     inherit fetchurl stdenv;
2792   };
2794   gnum4 = import ../development/tools/misc/gnum4 {
2795     inherit fetchurl stdenv;
2796   };
2798   gnumake = useFromStdenv "gnumake"
2799     (import ../development/tools/build-managers/gnumake {
2800       inherit fetchurl stdenv;
2801     });
2803   gnumake380 = import ../development/tools/build-managers/gnumake-3.80 {
2804     inherit fetchurl stdenv;
2805   };
2807   gperf = import ../development/tools/misc/gperf {
2808     inherit fetchurl stdenv;
2809   };
2811   gtkdialog = import ../development/tools/misc/gtkdialog {
2812     inherit fetchurl stdenv pkgconfig;
2813     inherit (gtkLibs) gtk;
2814   };
2816   guileLint = import ../development/tools/guile/guile-lint {
2817     inherit fetchurl stdenv guile;
2818   };
2820   gwrap = import ../development/tools/guile/g-wrap {
2821     inherit fetchurl stdenv guile libffi pkgconfig guileLib glib;
2822   };
2824   help2man = import ../development/tools/misc/help2man {
2825     inherit fetchurl stdenv perl gettext;
2826     inherit (perlPackages) LocaleGettext;
2827   };
2829   iconnamingutils = import ../development/tools/misc/icon-naming-utils {
2830     inherit fetchurl stdenv perl;
2831     inherit (perlPackages) XMLSimple;
2832   };
2834   indent = import ../development/tools/misc/indent {
2835     inherit fetchurl stdenv;
2836   };
2838   jikespg = import ../development/tools/parsing/jikespg {
2839     inherit fetchurl stdenv;
2840   };
2842   kcachegrind = import ../development/tools/misc/kcachegrind {
2843     inherit fetchurl stdenv kdelibs zlib perl expat libpng libjpeg;
2844     inherit (xlibs) libX11 libXext libSM;
2845     qt = qt3;
2846   };
2848   lcov = import ../development/tools/analysis/lcov {
2849     inherit fetchurl stdenv perl;
2850   };
2852   libtool = libtool_2;
2854   libtool_1_5 = import ../development/tools/misc/libtool {
2855     inherit fetchurl stdenv perl m4;
2856   };
2858   libtool_2 = import ../development/tools/misc/libtool/libtool2.nix {
2859     inherit fetchurl stdenv lzma perl m4;
2860   };
2862   lsof = import ../development/tools/misc/lsof {
2863     inherit fetchurl stdenv;
2864   };
2866   ltrace = composedArgsAndFun (import ../development/tools/misc/ltrace/0.5-3deb.nix) {
2867     inherit fetchurl stdenv builderDefs stringsWithDeps lib elfutils;
2868   };
2870   mk = import ../development/tools/build-managers/mk {
2871     inherit fetchurl stdenv;
2872   };
2874   noweb = import ../development/tools/literate-programming/noweb {
2875     inherit fetchurl stdenv;
2876   };
2878   openafsClient = import ../servers/openafs-client {
2879     inherit stdenv fetchurl autoconf automake flex yacc;
2880     inherit kernel_2_6_28 glibc ncurses perl krb5;
2881   };
2883   openocd = import ../development/tools/misc/openocd {
2884     inherit fetchurl stdenv libftdi;
2885   };
2887   oprofile = import ../development/tools/profiling/oprofile {
2888     inherit fetchurl stdenv binutils popt;
2889     inherit makeWrapper gawk which gnugrep;
2890   };
2892   patchelf = useFromStdenv "patchelf"
2893     (import ../development/tools/misc/patchelf {
2894       inherit fetchurl stdenv;
2895     });
2897   patchelf05 = import ../development/tools/misc/patchelf/0.5.nix {
2898     inherit fetchurl stdenv;
2899   };
2901   pmccabe = import ../development/tools/misc/pmccabe {
2902     inherit fetchurl stdenv;
2903   };
2905   /**
2906    * pkgconfig is optionally taken from the stdenv to allow bootstrapping
2907    * of glib and pkgconfig itself on MinGW.
2908    */
2909   pkgconfig = useFromStdenv "pkgconfig"
2910     (import ../development/tools/misc/pkgconfig {
2911       inherit fetchurl stdenv;
2912     });
2914   radare = import ../development/tools/analysis/radare {
2915     inherit stdenv fetchurl pkgconfig libusb readline gtkdialog python
2916       ruby libewf perl;
2917     inherit (gtkLibs) gtk;
2918     inherit (gnome) vte;
2919     lua = lua5;
2920     useX11 = getConfig ["radare" "useX11"] false;
2921     pythonBindings = getConfig ["radare" "pythonBindings"] false;
2922     rubyBindings = getConfig ["radare" "rubyBindings"] false;
2923     luaBindings = getConfig ["radare" "luaBindings"] false;
2924   };
2926   ragel = import ../development/tools/parsing/ragel {
2927     inherit composableDerivation fetchurl transfig texLive;
2928   };
2930   remake = import ../development/tools/build-managers/remake {
2931       inherit fetchurl stdenv;
2932     };
2934   # couldn't find the source yet
2935   seleniumRCBin = import ../development/tools/selenium/remote-control {
2936     inherit fetchurl stdenv unzip;
2937     jre = jdk;
2938   };
2940   scons = import ../development/tools/build-managers/scons {
2941     inherit fetchurl stdenv python makeWrapper;
2942   };
2944   sloccount = import ../development/tools/misc/sloccount {
2945     inherit fetchurl stdenv perl;
2946   };
2948   sparse = import ../development/tools/analysis/sparse {
2949     inherit fetchurl stdenv pkgconfig;
2950   };
2952   spin = import ../development/tools/analysis/spin {
2953     inherit fetchurl stdenv flex yacc tk;
2954   };
2956   splint = import ../development/tools/analysis/splint {
2957     inherit fetchurl stdenv flex;
2958   };
2960   strace = import ../development/tools/misc/strace {
2961     inherit fetchurl stdenv;
2962   };
2964   swig = import ../development/tools/misc/swig {
2965     inherit fetchurl stdenv boost;
2966   };
2968   swigWithJava = swig;
2970   swftools = import ../tools/video/swftools {
2971     inherit fetchurl stdenv x264 zlib libjpeg freetype giflib;
2972   };
2974   texinfo49 = import ../development/tools/misc/texinfo/4.9.nix {
2975     inherit fetchurl stdenv ncurses;
2976   };
2978   texinfo = import ../development/tools/misc/texinfo {
2979     inherit fetchurl stdenv ncurses lzma;
2980   };
2982   texi2html = import ../development/tools/misc/texi2html {
2983     inherit fetchurl stdenv perl;
2984   };
2986   uisp = import ../development/tools/misc/uisp {
2987     inherit fetchurl stdenv;
2988   };
2990   gdb = import ../development/tools/misc/gdb {
2991     inherit fetchurl stdenv ncurses gmp mpfr expat texinfo;
2992     readline = readline5;
2993   };
2995   valgrind = import ../development/tools/analysis/valgrind {
2996     inherit fetchurl stdenv perl gdb;
2997   };
2999   xxdiff = builderDefsPackage (import ../development/tools/misc/xxdiff/3.2.nix) {
3000     flex = flex2535;
3001     qt = qt3;
3002     inherit pkgconfig makeWrapper bison python;
3003     inherit (xlibs) libXext libX11;
3004   };
3006   yacc = bison;
3008   yodl = import ../development/tools/misc/yodl {
3009     inherit stdenv fetchurl perl;
3010   };
3013   ### DEVELOPMENT / LIBRARIES
3016   a52dec = import ../development/libraries/a52dec {
3017     inherit fetchurl stdenv;
3018   };
3020   aalib = import ../development/libraries/aalib {
3021     inherit fetchurl stdenv ncurses;
3022   };
3024   acl = useFromStdenv "acl"
3025     (import ../development/libraries/acl {
3026       inherit stdenv fetchurl gettext attr libtool;
3027     });
3029   adns = import ../development/libraries/adns/1.4.nix {
3030     inherit stdenv fetchurl;
3031     static = getPkgConfig "adns" "static" (stdenv ? isStatic || stdenv ? isDietLibC);
3032   };
3034   agg = import ../development/libraries/agg {
3035     inherit fetchurl stdenv autoconf automake libtool pkgconfig
3036       freetype SDL;
3037     inherit (xlibs) libX11;
3038   };
3040   amrnb = import ../development/libraries/amrnb {
3041     inherit fetchurl stdenv unzip;
3042   };
3044   amrwb = import ../development/libraries/amrwb {
3045     inherit fetchurl stdenv unzip;
3046   };
3048   apr = makeOverridable (import ../development/libraries/apr) {
3049     inherit (pkgsOverriden) fetchurl stdenv;
3050   };
3052   aprutil = makeOverridable (import ../development/libraries/apr-util) {
3053     inherit (pkgsOverriden) fetchurl stdenv apr expat db4;
3054     bdbSupport = true;
3055   };
3057   arts = import ../development/libraries/arts {
3058     inherit fetchurl stdenv pkgconfig;
3059     inherit (xlibs) libX11 libXext;
3060     inherit kdelibs zlib libjpeg libpng perl;
3061     qt = qt3;
3062     inherit (gnome) glib;
3063   };
3065   aspell = import ../development/libraries/aspell {
3066     inherit fetchurl stdenv perl;
3067   };
3069   aspellDicts = recurseIntoAttrs (import ../development/libraries/aspell/dictionaries.nix {
3070     inherit fetchurl stdenv aspell which;
3071   });
3073   aterm = aterm25;
3075   aterm242fixes = lowPrio (import ../development/libraries/aterm/2.4.2-fixes.nix {
3076     inherit fetchurl stdenv;
3077   });
3079   aterm25 = makeOverridable (import ../development/libraries/aterm/2.5.nix) {
3080     inherit fetchurl stdenv;
3081   };
3083   aterm28 = lowPrio (import ../development/libraries/aterm/2.8.nix {
3084     inherit fetchurl stdenv;
3085   });
3087   attr = useFromStdenv "attr"
3088     (import ../development/libraries/attr {
3089       inherit stdenv fetchurl gettext libtool;
3090     });
3092   aubio = import ../development/libraries/aubio {
3093     inherit fetchurl stdenv pkgconfig fftw libsndfile libsamplerate python
3094       alsaLib jackaudio;
3095   };
3097   axis = import ../development/libraries/axis {
3098     inherit fetchurl stdenv;
3099   };
3101   babl = import ../development/libraries/babl {
3102     inherit fetchurl stdenv;
3103   };
3105   beecrypt = import ../development/libraries/beecrypt {
3106     inherit fetchurl stdenv m4;
3107   };
3109   boehmgc = import ../development/libraries/boehm-gc {
3110     inherit fetchurl stdenv;
3111   };
3113   boolstuff = import ../development/libraries/boolstuff {
3114     inherit fetchurl stdenv lib pkgconfig;
3115   };
3117   boost_1_36_0 = import ../development/libraries/boost/1.36.0.nix {
3118     inherit fetchurl stdenv icu expat zlib bzip2 python;
3119   };
3121   boost = makeOverridable (import ../development/libraries/boost/1.41.0.nix) {
3122     inherit fetchurl stdenv icu expat zlib bzip2 python;
3123   };
3125   # A Boost build with all library variants enabled.  Very large (about 250 MB).
3126   boostFull = appendToName "full" (boost.override {
3127     enableDebug = true;
3128     enableSingleThreaded = true;
3129     enableStatic = true;
3130   });
3132   botan = builderDefsPackage (import ../development/libraries/botan) {
3133     inherit perl;
3134   };
3136   buddy = import ../development/libraries/buddy {
3137     inherit fetchurl stdenv bison;
3138   };
3140   cairo = import ../development/libraries/cairo {
3141     inherit fetchurl stdenv pkgconfig x11 fontconfig freetype zlib libpng;
3142     inherit (xlibs) pixman libxcb xcbutil;
3143   };
3145   cairomm = import ../development/libraries/cairomm {
3146     inherit fetchurl stdenv pkgconfig cairo x11 fontconfig freetype libsigcxx;
3147   };
3149   ccrtp = import ../development/libraries/ccrtp {
3150     inherit fetchurl stdenv lib pkgconfig openssl libgcrypt commoncpp2;
3151   };
3153   chipmunk = builderDefsPackage (import ../development/libraries/chipmunk) {
3154     inherit cmake freeglut mesa;
3155     inherit (xlibs) libX11 xproto inputproto libXi libXmu;
3156   };
3158   chmlib = import ../development/libraries/chmlib {
3159     inherit fetchurl stdenv;
3160   };
3162   cil = import ../development/libraries/cil {
3163     inherit stdenv fetchurl ocaml perl;
3164   };
3166   cilaterm = import ../development/libraries/cil-aterm {
3167     stdenv = overrideInStdenv stdenv [gnumake380];
3168     inherit fetchurl perl ocaml;
3169   };
3171   clanlib = import ../development/libraries/clanlib {
3172     inherit fetchurl stdenv zlib libpng libjpeg libvorbis libogg mesa;
3173     inherit (xlibs) libX11 xf86vidmodeproto libXmu libXxf86vm;
3174   };
3176   classpath = import ../development/libraries/java/classpath {
3177     javac = gcj;
3178     jvm = gcj;
3179     inherit fetchurl stdenv pkgconfig antlr;
3180     inherit (gtkLibs) gtk;
3181     gconf = gnome.GConf;
3182   };
3184   clearsilver = import ../development/libraries/clearsilver {
3185     inherit fetchurl stdenv python;
3186   };
3188   clppcre = builderDefsPackage (import ../development/libraries/cl-ppcre) {
3189   };
3191   cluceneCore = (import ../development/libraries/clucene-core) {
3192     inherit fetchurl stdenv;
3193   };
3195   commoncpp2 = import ../development/libraries/commoncpp2 {
3196     inherit stdenv fetchurl lib;
3197   };
3199   consolekit = makeOverridable (import ../development/libraries/consolekit) {
3200     inherit stdenv fetchurl pkgconfig dbus_glib zlib pam policykit expat glib;
3201     inherit (xlibs) libX11;
3202   };
3204   coredumper = import ../development/libraries/coredumper {
3205     inherit fetchurl stdenv;
3206   };
3208   ctl = import ../development/libraries/ctl {
3209     inherit fetchurl stdenv ilmbase;
3210   };
3212   cppunit = import ../development/libraries/cppunit {
3213     inherit fetchurl stdenv;
3214   };
3216   cracklib = import ../development/libraries/cracklib {
3217     inherit fetchurl stdenv;
3218   };
3220   cryptopp = import ../development/libraries/crypto++ {
3221     inherit fetchurl stdenv unzip libtool;
3222   };
3224   cyrus_sasl = import ../development/libraries/cyrus-sasl {
3225     inherit fetchurl stdenv openssl db4 gettext;
3226   };
3228   db4 = db45;
3230   db44 = import ../development/libraries/db4/db4-4.4.nix {
3231     inherit fetchurl stdenv;
3232   };
3234   db45 = import ../development/libraries/db4/db4-4.5.nix {
3235     inherit fetchurl stdenv;
3236   };
3238   dbus = import ../development/libraries/dbus {
3239     inherit fetchurl stdenv pkgconfig expat;
3240     inherit (xlibs) libX11 libICE libSM;
3241     useX11 = true; # !!! `false' doesn't build
3242   };
3244   dbus_glib = makeOverridable (import ../development/libraries/dbus-glib) {
3245     inherit fetchurl stdenv pkgconfig gettext dbus expat glib;
3246   };
3248   dbus_java = import ../development/libraries/java/dbus-java {
3249     inherit stdenv fetchurl gettext jdk libmatthew_java;
3250   };
3252   dclib = import ../development/libraries/dclib {
3253     inherit fetchurl stdenv libxml2 openssl bzip2;
3254   };
3256   directfb = import ../development/libraries/directfb {
3257     inherit fetchurl stdenv perl zlib libjpeg freetype
3258       SDL libpng giflib;
3259     inherit (xlibs) libX11 libXext xproto xextproto renderproto
3260       libXrender;
3261   };
3263   enchant = makeOverridable (import ../development/libraries/enchant) {
3264     inherit fetchurl stdenv aspell pkgconfig;
3265     inherit (gnome) glib;
3266   };
3268   exiv2 = import ../development/libraries/exiv2 {
3269     inherit fetchurl stdenv zlib;
3270   };
3272   expat = import ../development/libraries/expat {
3273     inherit fetchurl stdenv;
3274   };
3276   extremetuxracer = builderDefsPackage (import ../games/extremetuxracer) {
3277     inherit mesa tcl freeglut SDL SDL_mixer pkgconfig
3278         libpng gettext intltool;
3279     inherit (xlibs) libX11 xproto libXi inputproto
3280         libXmu libXext xextproto libXt libSM libICE;
3281   };
3283   eventlog = import ../development/libraries/eventlog {
3284     inherit fetchurl stdenv;
3285   };
3287   facile = import ../development/libraries/facile {
3288     inherit fetchurl stdenv;
3289     # Actually, we don't need this version but we need native-code compilation
3290     ocaml = ocaml_3_10_0;
3291   };
3293   faac = import ../development/libraries/faac {
3294     inherit fetchurl stdenv autoconf automake libtool;
3295   };
3297   faad2 = import ../development/libraries/faad2 {
3298     inherit fetchurl stdenv;
3299   };
3301   farsight2 = import ../development/libraries/farsight2 {
3302     inherit fetchurl stdenv libnice pkgconfig python;
3303     inherit (gnome) glib;
3304     inherit (gst_all) gstreamer gstPluginsBase;
3305   };
3307   fcgi = import ../development/libraries/fcgi {
3308       inherit fetchurl stdenv;
3309   };
3311   ffmpeg = import ../development/libraries/ffmpeg {
3312     inherit fetchurl stdenv faad2;
3313   };
3315   fftw = import ../development/libraries/fftw {
3316     inherit fetchurl stdenv builderDefs stringsWithDeps;
3317     singlePrecision = false;
3318   };
3320   fftwSinglePrec = import ../development/libraries/fftw {
3321     inherit fetchurl stdenv builderDefs stringsWithDeps;
3322     singlePrecision = true;
3323   };
3325   fltk11 = (import ../development/libraries/fltk/fltk11.nix) {
3326     inherit composableDerivation x11 lib pkgconfig freeglut;
3327     inherit fetchurl stdenv mesa mesaHeaders libpng libjpeg zlib ;
3328     inherit (xlibs) inputproto libXi libXinerama libXft;
3329     flags = [ "useNixLibs" "threads" "shared" "gl" ];
3330   };
3332   fltk20 = (import ../development/libraries/fltk) {
3333     inherit composableDerivation x11 lib pkgconfig freeglut;
3334     inherit fetchurl stdenv mesa mesaHeaders libpng libjpeg zlib ;
3335     inherit (xlibs) inputproto libXi libXinerama libXft;
3336     flags = [ "useNixLibs" "threads" "shared" "gl" ];
3337   };
3339   fmod = import ../development/libraries/fmod {
3340     inherit stdenv fetchurl;
3341   };
3343   freeimage = import ../development/libraries/freeimage {
3344     inherit fetchurl stdenv unzip;
3345   };
3347   freetts = import ../development/libraries/freetts {
3348     inherit stdenv fetchurl apacheAnt unzip sharutils lib;
3349   };
3351   cfitsio = import ../development/libraries/cfitsio {
3352     inherit fetchurl stdenv;
3353   };
3355   fontconfig = import ../development/libraries/fontconfig {
3356     inherit fetchurl stdenv freetype expat;
3357   };
3359   makeFontsConf = let fontconfig_ = fontconfig; in {fontconfig ? fontconfig_, fontDirectories}:
3360     import ../development/libraries/fontconfig/make-fonts-conf.nix {
3361       inherit runCommand libxslt fontconfig fontDirectories;
3362     };
3364   freealut = import ../development/libraries/freealut {
3365     inherit fetchurl stdenv openal;
3366   };
3368   freeglut = import ../development/libraries/freeglut {
3369     inherit fetchurl stdenv x11 mesa;
3370   };
3372   freetype = import ../development/libraries/freetype {
3373     inherit fetchurl stdenv;
3374   };
3376   fribidi = import ../development/libraries/fribidi {
3377     inherit fetchurl stdenv;
3378   };
3380   fam = gamin;
3382   gamin = import ../development/libraries/gamin {
3383     inherit fetchurl stdenv python pkgconfig glib;
3384   };
3386   gav = import ../games/gav {
3387     inherit fetchurl SDL SDL_image SDL_mixer SDL_net;
3388     stdenv = overrideGCC stdenv gcc41;
3389   };
3391   gdbm = import ../development/libraries/gdbm {
3392     inherit fetchurl stdenv;
3393   };
3395   gdk_pixbuf = import ../development/libraries/gdk-pixbuf {
3396     inherit fetchurl stdenv libtiff libjpeg libpng;
3397     inherit (gtkLibs1x) gtk;
3398   };
3400   gegl = import ../development/libraries/gegl {
3401     inherit fetchurl stdenv libpng pkgconfig babl;
3402     openexr = openexr_1_6_1;
3403     #  avocodec avformat librsvg
3404     inherit cairo libjpeg librsvg;
3405     inherit (gtkLibs) pango glib gtk;
3406   };
3408   geoip = builderDefsPackage ../development/libraries/geoip {
3409     inherit zlib;
3410   };
3412   geos = import ../development/libraries/geos {
3413     inherit fetchurl fetchsvn stdenv autoconf
3414       automake libtool swig which lib composableDerivation python ruby;
3415     use_svn = stdenv.system == "x86_64-linux";
3416   };
3418   gettext = import ../development/libraries/gettext {
3419     inherit fetchurl stdenv libiconv;
3420   };
3422   gd = import ../development/libraries/gd {
3423     inherit fetchurl stdenv zlib libpng freetype libjpeg fontconfig;
3424   };
3426   gdal = stdenv.mkDerivation {
3427     name = "gdal-1.6.1-rc1";
3428     src = fetchurl {
3429       url = ftp://ftp.remotesensing.org/gdal/gdal-1.6.1-RC1.tar.gz;
3430       sha256 = "0f7da588yvb1d3l3gk5m0hrqlhg8m4gw93aip3dwkmnawz9r0qcw";
3431     };
3432   };
3434   giblib = import ../development/libraries/giblib {
3435     inherit fetchurl stdenv x11 imlib2;
3436   };
3438   glew = import ../development/libraries/glew {
3439     inherit fetchurl stdenv mesa x11 libtool;
3440     inherit (xlibs) libXmu libXi;
3441   };
3443   glefw = import ../development/libraries/glefw {
3444     inherit fetchurl stdenv lib mesa;
3445     inherit (xlibs) libX11 libXext xextproto;
3446   };
3448   glibc =
3449     let haveRedHatKernel       = system == "i686-linux" || system == "x86_64-linux";
3450         haveBrokenRedHatKernel = haveRedHatKernel && getConfig ["brokenRedHatKernel"] false;
3451     in
3452     useFromStdenv "glibc" (if haveBrokenRedHatKernel then glibc25 else glibc29);
3454   glibc25 = import ../development/libraries/glibc-2.5 {
3455     inherit fetchurl stdenv kernelHeaders;
3456     installLocales = getPkgConfig "glibc" "locales" false;
3457   };
3459   glibc27 = import ../development/libraries/glibc-2.7 {
3460     inherit fetchurl stdenv kernelHeaders;
3461     #installLocales = false;
3462   };
3464   glibc29 = import ../development/libraries/glibc-2.9 {
3465     inherit fetchurl stdenv kernelHeaders;
3466     installLocales = getPkgConfig "glibc" "locales" false;
3467   };
3469   glibcLocales = makeOverridable (import ../development/libraries/glibc-2.9/locales.nix) {
3470     inherit fetchurl stdenv;
3471   };
3473   glibcInfo = import ../development/libraries/glibc-2.9/info.nix {
3474     inherit fetchurl stdenv texinfo perl;
3475   };
3477   glibc_multi =
3478       runCommand "${glibc.name}-multi"
3479         { glibc64 = glibc;
3480           glibc32 = (import ./all-packages.nix {system = "i686-linux";}).glibc;
3481         }
3482         ''
3483           ensureDir $out
3484           ln -s $glibc64/* $out/
3486           rm $out/lib $out/lib64
3487           ensureDir $out/lib
3488           ln -s $glibc64/lib/* $out/lib
3489           ln -s $glibc32/lib $out/lib/32
3490           ln -s lib $out/lib64
3492           rm $out/include
3493           cp -rs $glibc32/include $out
3494           chmod -R u+w $out/include
3495           cp -rsf $glibc64/include $out
3496         '' # */
3497         ;
3499   gmime = import ../development/libraries/gmime {
3500     inherit fetchurl stdenv pkgconfig zlib glib;
3501   };
3503   gmm = import ../development/libraries/gmm {
3504     inherit fetchurl stdenv;
3505   };
3507   gmp = import ../development/libraries/gmp {
3508     inherit fetchurl stdenv m4;
3509     cxx = false;
3510   };
3512   gmpxx = import ../development/libraries/gmp {
3513     inherit fetchurl stdenv m4;
3514     cxx = true;
3515   };
3517   goffice = import ../development/libraries/goffice {
3518     inherit fetchurl stdenv pkgconfig libgsf libxml2 cairo
3519       intltool gettext bzip2;
3520     inherit (gnome) glib gtk libglade libgnomeui pango;
3521     gconf = gnome.GConf;
3522     libart = gnome.libart_lgpl;
3523   };
3525   goocanvas = import ../development/libraries/goocanvas {
3526     inherit fetchurl stdenv pkgconfig cairo;
3527     inherit (gnome) gtk glib;
3528   };
3530   #GMP ex-satellite, so better keep it near gmp
3531   mpfr = import ../development/libraries/mpfr {
3532     inherit fetchurl stdenv gmp;
3533   };
3535   gst_all = recurseIntoAttrs (import ../development/libraries/gstreamer {
3536     inherit lib stdenv fetchurl perl bison pkgconfig libxml2
3537       python alsaLib cdparanoia libogg libvorbis libtheora freetype liboil
3538       libjpeg zlib speex libpng libdv aalib cairo libcaca flac hal libiec61883
3539       dbus libavc1394 ladspaH taglib pulseaudio gdbm bzip2 which makeOverridable
3540       libcap libtasn1;
3541     flex = flex2535;
3542     inherit (xorg) libX11 libXv libXext;
3543     inherit (gtkLibs) glib pango gtk;
3544     inherit (gnome) gnomevfs /* <- only passed for the no longer used older versions
3545              it is deprecated and didn't build on amd64 due to samba dependency */ gtkdoc
3546              libsoup;
3547   });
3549   gnet = import ../development/libraries/gnet {
3550     inherit fetchurl stdenv pkgconfig glib;
3551   };
3553   gnutls = import ../development/libraries/gnutls {
3554     inherit fetchurl stdenv libgcrypt zlib lzo libtasn1 guile;
3555     guileBindings = getConfig ["gnutls" "guile"] true;
3556   };
3558   gpgme = import ../development/libraries/gpgme {
3559     inherit fetchurl stdenv libgpgerror pkgconfig pth gnupg gnupg2 glib;
3560   };
3562   gsl = import ../development/libraries/gsl {
3563     inherit fetchurl stdenv;
3564   };
3566   gtkimageview = import ../development/libraries/gtkimageview {
3567     inherit fetchurl stdenv pkgconfig;
3568     inherit (gnome) gtk;
3569   };
3571   gtkLibs = recurseIntoAttrs gtkLibs218;
3573   glib = gtkLibs.glib;
3575   gtkLibs1x = rec {
3577     glib = import ../development/libraries/glib/1.2.x.nix {
3578       inherit fetchurl stdenv;
3579     };
3581     gtk = import ../development/libraries/gtk+/1.2.x.nix {
3582       inherit fetchurl stdenv x11 glib;
3583     };
3585   };
3587   gtkLibs216 = rec {
3589     glib = import ../development/libraries/glib/2.20.x.nix {
3590       inherit fetchurl stdenv pkgconfig gettext perl;
3591     };
3593     glibmm = import ../development/libraries/glibmm/2.18.x.nix {
3594       inherit fetchurl stdenv pkgconfig glib libsigcxx;
3595     };
3597     atk = import ../development/libraries/atk/1.24.x.nix {
3598       inherit fetchurl stdenv pkgconfig perl glib;
3599     };
3601     pango = import ../development/libraries/pango/1.24.x.nix {
3602       inherit fetchurl stdenv pkgconfig gettext x11 glib cairo libpng;
3603     };
3605     pangomm = import ../development/libraries/pangomm/2.14.x.nix {
3606       inherit fetchurl stdenv pkgconfig pango glibmm cairomm libpng;
3607     };
3609     gtk = import ../development/libraries/gtk+/2.16.x.nix {
3610       inherit fetchurl stdenv pkgconfig perl jasper x11 glib atk pango
3611         libtiff libjpeg libpng cairo xlibs;
3612     };
3614     gtkmm = import ../development/libraries/gtkmm/2.14.x.nix {
3615       inherit fetchurl stdenv pkgconfig gtk atk glibmm cairomm pangomm;
3616     };
3618   };
3620   gtkLibs218 = rec {
3622     glib = import ../development/libraries/glib/2.22.x.nix {
3623       inherit fetchurl stdenv pkgconfig gettext perl;
3624     };
3626     glibmm = import ../development/libraries/glibmm/2.22.x.nix {
3627       inherit fetchurl stdenv pkgconfig glib libsigcxx;
3628     };
3630     atk = import ../development/libraries/atk/1.28.x.nix {
3631       inherit fetchurl stdenv pkgconfig perl glib;
3632     };
3634     pango = import ../development/libraries/pango/1.26.x.nix {
3635       inherit fetchurl stdenv pkgconfig gettext x11 glib cairo libpng;
3636     };
3638     pangomm = import ../development/libraries/pangomm/2.26.x.nix {
3639       inherit fetchurl stdenv pkgconfig pango glibmm cairomm libpng;
3640     };
3642     gtk = import ../development/libraries/gtk+/2.18.x.nix {
3643       inherit fetchurl stdenv pkgconfig perl jasper glib atk pango
3644         libtiff libjpeg libpng cairo xlibs cups;
3645     };
3647     gtkmm = import ../development/libraries/gtkmm/2.18.x.nix {
3648       inherit fetchurl stdenv pkgconfig gtk atk glibmm cairomm pangomm;
3649     };
3651   };
3653   gtkmozembedsharp = import ../development/libraries/gtkmozembed-sharp {
3654     inherit fetchurl stdenv mono pkgconfig monoDLLFixer;
3655     inherit (gnome) gtk;
3656     gtksharp = gtksharp2;
3657   };
3659   gtksharp1 = import ../development/libraries/gtk-sharp-1 {
3660     inherit fetchurl stdenv mono pkgconfig libxml2 monoDLLFixer;
3661     inherit (gnome) gtk glib pango libglade libgtkhtml gtkhtml
3662               libgnomecanvas libgnomeui libgnomeprint
3663               libgnomeprintui GConf;
3664   };
3666   gtksharp2 = import ../development/libraries/gtk-sharp-2 {
3667     inherit fetchurl stdenv mono pkgconfig libxml2 monoDLLFixer;
3668     inherit (gnome) gtk glib pango libglade libgtkhtml gtkhtml
3669               libgnomecanvas libgnomeui libgnomeprint
3670               libgnomeprintui GConf gnomepanel;
3671   };
3673   gtksourceviewsharp = import ../development/libraries/gtksourceview-sharp {
3674     inherit fetchurl stdenv mono pkgconfig monoDLLFixer;
3675     inherit (gnome) gtksourceview;
3676     gtksharp = gtksharp2;
3677   };
3679   gtkspell = import ../development/libraries/gtkspell {
3680     inherit fetchurl stdenv pkgconfig;
3681     inherit (gtkLibs) gtk;
3682     inherit aspell;
3683   };
3685   # TODO : Add MIT Kerberos and let admin choose.
3686   kerberos = heimdal;
3688   heimdal = import ../development/libraries/kerberos/heimdal.nix {
3689     inherit fetchurl stdenv readline db4 openssl openldap cyrus_sasl;
3690   };
3692   hsqldb = import ../development/libraries/java/hsqldb {
3693     inherit stdenv fetchurl unzip;
3694   };
3696   hwloc = import ../development/libraries/hwloc {
3697     inherit fetchurl stdenv pkgconfig cairo expat;
3698   };
3700   icu = import ../development/libraries/icu {
3701     inherit fetchurl stdenv;
3702   };
3704   id3lib = import ../development/libraries/id3lib {
3705     inherit fetchurl stdenv;
3706   };
3708   ilbc = import ../development/libraries/ilbc {
3709     inherit stdenv msilbc;
3710   };
3712   ilmbase = import ../development/libraries/ilmbase {
3713     inherit fetchurl stdenv;
3714   };
3716   imlib = import ../development/libraries/imlib {
3717     inherit fetchurl stdenv libjpeg libtiff libungif libpng;
3718     inherit (xlibs) libX11 libXext xextproto;
3719   };
3721   imlib2 = import ../development/libraries/imlib2 {
3722     inherit fetchurl stdenv x11 libjpeg libtiff libungif libpng bzip2;
3723   };
3725   indilib = import ../development/libraries/indilib {
3726     inherit fetchurl stdenv cfitsio libusb zlib;
3727   };
3729   iniparser = import ../development/libraries/iniparser {
3730     inherit fetchurl stdenv;
3731   };
3733   intltool = gnome.intltool;
3735   isocodes = import ../development/libraries/iso-codes {
3736     inherit stdenv fetchurl gettext python;
3737   };
3739   jamp = builderDefsPackage ../games/jamp {
3740     inherit mesa SDL SDL_image SDL_mixer;
3741   };
3743   jasper = import ../development/libraries/jasper {
3744     inherit fetchurl stdenv unzip xlibs libjpeg;
3745   };
3747   jetty_gwt = import ../development/libraries/java/jetty-gwt {
3748     inherit stdenv fetchurl;
3749   };
3751   jetty_util = import ../development/libraries/java/jetty-util {
3752     inherit stdenv fetchurl;
3753   };
3755   krb5 = import ../development/libraries/kerberos/krb5.nix {
3756     inherit stdenv fetchurl perl ncurses yacc;
3757   };
3759   lablgtk = import ../development/libraries/lablgtk {
3760     inherit fetchurl stdenv ocaml pkgconfig;
3761     inherit (gtkLibs) gtk;
3762     inherit (gnome) libgnomecanvas;
3763   };
3765   lcms = import ../development/libraries/lcms {
3766     inherit fetchurl stdenv;
3767   };
3769   lesstif = import ../development/libraries/lesstif {
3770     inherit fetchurl stdenv x11;
3771     inherit (xlibs) libXp libXau;
3772   };
3774   lesstif93 = import ../development/libraries/lesstif-0.93 {
3775     inherit fetchurl stdenv x11;
3776     inherit (xlibs) libXp libXau;
3777   };
3779   lib3ds = import ../development/libraries/lib3ds {
3780     inherit fetchurl stdenv unzip;
3781   };
3783   libaal = import ../development/libraries/libaal {
3784     inherit fetchurl stdenv;
3785   };
3787   libao = import ../development/libraries/libao {
3788     inherit stdenv fetchurl pkgconfig pulseaudio;
3789   };
3791   libarchive = import ../development/libraries/libarchive {
3792     inherit fetchurl stdenv zlib bzip2 e2fsprogs sharutils;
3793   };
3795   libassuan = import ../development/libraries/libassuan {
3796     inherit fetchurl stdenv pth;
3797   };
3799   libavc1394 = import ../development/libraries/libavc1394 {
3800     inherit fetchurl stdenv pkgconfig libraw1394;
3801   };
3803   libcaca = import ../development/libraries/libcaca {
3804     inherit fetchurl stdenv ncurses;
3805   };
3807   libcanberra = import ../development/libraries/libcanberra {
3808     inherit fetchurl stdenv pkgconfig libtool alsaLib pulseaudio libvorbis;
3809     inherit (gtkLibs) gtk gthread;
3810     gstreamer = gst_all.gstreamer;
3811   };
3813   libcdaudio = import ../development/libraries/libcdaudio {
3814     inherit fetchurl stdenv;
3815   };
3817   libcddb = import ../development/libraries/libcddb {
3818     inherit fetchurl stdenv;
3819   };
3821   libcdio = import ../development/libraries/libcdio {
3822     inherit fetchurl stdenv libcddb pkgconfig ncurses help2man;
3823   };
3825   libcm = import ../development/libraries/libcm {
3826     inherit fetchurl stdenv pkgconfig xlibs mesa glib;
3827   };
3829   libcv = builderDefsPackage (import ../development/libraries/libcv) {
3830     inherit libtiff libjpeg libpng pkgconfig;
3831     inherit (gtkLibs) gtk glib;
3832   };
3834   libdaemon = import ../development/libraries/libdaemon {
3835     inherit fetchurl stdenv;
3836   };
3838   libdbi = composedArgsAndFun (import ../development/libraries/libdbi/0.8.2.nix) {
3839     inherit stdenv fetchurl builderDefs;
3840   };
3842   libdbiDriversBase = composedArgsAndFun (import ../development/libraries/libdbi-drivers/0.8.2-1.nix) {
3843     inherit stdenv fetchurl builderDefs libdbi;
3844   };
3846   libdbiDrivers = libdbiDriversBase.passthru.function {
3847     inherit sqlite mysql;
3848   };
3850   libdv = import ../development/libraries/libdv {
3851     inherit fetchurl stdenv lib composableDerivation;
3852   };
3854   libdrm = import ../development/libraries/libdrm {
3855     inherit fetchurl stdenv pkgconfig;
3856     inherit (xorg) libpthreadstubs;
3857   };
3859   libdvdcss = import ../development/libraries/libdvdcss {
3860     inherit fetchurl stdenv;
3861   };
3863   libdvdnav = import ../development/libraries/libdvdnav {
3864     inherit fetchurl stdenv libdvdread;
3865   };
3867   libdvdread = import ../development/libraries/libdvdread {
3868     inherit fetchurl stdenv libdvdcss;
3869   };
3871   libedit = import ../development/libraries/libedit {
3872     inherit fetchurl stdenv ncurses;
3873   };
3875   liblo = import ../development/libraries/liblo {
3876     inherit fetchurl stdenv;
3877   };
3879   libev = builderDefsPackage ../development/libraries/libev {
3880   };
3882   libevent = import ../development/libraries/libevent {
3883     inherit fetchurl stdenv;
3884   };
3886   libewf = import ../development/libraries/libewf {
3887     inherit fetchurl stdenv zlib openssl libuuid;
3888   };
3890   libexif = import ../development/libraries/libexif {
3891     inherit fetchurl stdenv gettext;
3892   };
3894   libextractor = import ../development/libraries/libextractor {
3895     inherit fetchurl stdenv libtool gettext zlib bzip2 flac libvorbis
3896      exiv2 ffmpeg libgsf glib rpm pkgconfig;
3897     inherit (gnome) gtk;
3898     libmpeg2 = mpeg2dec;
3899   };
3901   libffcall = builderDefsPackage (import ../development/libraries/libffcall) {
3902     inherit fetchcvs;
3903   };
3905   libffi = import ../development/libraries/libffi {
3906     inherit fetchurl stdenv;
3907   };
3909   libftdi = import ../development/libraries/libftdi {
3910     inherit fetchurl stdenv libusb;
3911   };
3913   libgcrypt = import ../development/libraries/libgcrypt {
3914     inherit fetchurl stdenv libgpgerror;
3915   };
3917   libgpgerror = import ../development/libraries/libgpg-error {
3918     inherit fetchurl stdenv;
3919   };
3921   libgphoto2 = import ../development/libraries/libgphoto2 {
3922     inherit fetchurl stdenv pkgconfig libusb libtool libexif libjpeg gettext;
3923   };
3925   libgpod = import ../development/libraries/libgpod {
3926     inherit fetchurl stdenv gettext perl perlXMLParser pkgconfig libxml2 glib;
3927   };
3929   libharu = import ../development/libraries/libharu {
3930     inherit fetchurl stdenv lib zlib libpng;
3931   };
3933   libical = import ../development/libraries/libical {
3934     inherit stdenv fetchurl perl;
3935   };
3937   libnice = import ../development/libraries/libnice {
3938     inherit stdenv fetchurl pkgconfig;
3939     inherit (gnome) glib;
3940   };
3942   libQGLViewer = import ../development/libraries/libqglviewer {
3943     inherit fetchurl stdenv;
3944     inherit qt4;
3945   };
3947   libsamplerate = import ../development/libraries/libsamplerate {
3948     inherit fetchurl stdenv pkgconfig lib;
3949   };
3951   libspectre = import ../development/libraries/libspectre {
3952     inherit fetchurl stdenv;
3953     ghostscript = ghostscriptX;
3954   };
3956   libgsf = import ../development/libraries/libgsf {
3957     inherit fetchurl stdenv perl perlXMLParser pkgconfig libxml2
3958       intltool gettext bzip2 python;
3959     inherit (gnome) glib gnomevfs libbonobo;
3960   };
3962   libiconv = import ../development/libraries/libiconv {
3963     inherit fetchurl stdenv;
3964   };
3966   libid3tag = import ../development/libraries/libid3tag {
3967     inherit fetchurl stdenv zlib;
3968   };
3970   libidn = import ../development/libraries/libidn {
3971     inherit fetchurl stdenv;
3972   };
3974   libiec61883 = import ../development/libraries/libiec61883 {
3975     inherit fetchurl stdenv pkgconfig libraw1394;
3976   };
3978   libjingle = import ../development/libraries/libjingle/0.3.11.nix {
3979     inherit fetchurl stdenv mediastreamer;
3980   };
3982   libjpeg = makeOverridable (import ../development/libraries/libjpeg) {
3983     inherit fetchurl stdenv;
3984     libtool = libtool_1_5;
3985   };
3987   libjpeg62 = makeOverridable (import ../development/libraries/libjpeg/62.nix) {
3988     inherit fetchurl stdenv;
3989     libtool = libtool_1_5;
3990   };
3992   libjpegStatic = lowPrio (appendToName "static" (libjpeg.override {
3993     static = true;
3994   }));
3996   libksba = import ../development/libraries/libksba {
3997     inherit fetchurl stdenv libgpgerror;
3998   };
4000   libmad = import ../development/libraries/libmad {
4001     inherit fetchurl stdenv;
4002   };
4004   libmatthew_java = import ../development/libraries/java/libmatthew-java {
4005     inherit stdenv fetchurl jdk;
4006   };
4008   libmcs = import ../development/libraries/libmcs {
4009     inherit fetchurl stdenv pkgconfig libmowgli;
4010   };
4012   libmicrohttpd = import ../development/libraries/libmicrohttpd {
4013     inherit fetchurl stdenv curl;
4014   };
4016   libmowgli = import ../development/libraries/libmowgli {
4017     inherit fetchurl stdenv;
4018   };
4020   libmng = import ../development/libraries/libmng {
4021     inherit fetchurl stdenv lib zlib libpng libjpeg lcms automake autoconf libtool;
4022   };
4024   libmpcdec = import ../development/libraries/libmpcdec {
4025     inherit fetchurl stdenv;
4026   };
4028   libmsn = import ../development/libraries/libmsn {
4029     inherit stdenv fetchurl cmake openssl;
4030   };
4032   libmspack = import ../development/libraries/libmspack {
4033     inherit fetchurl stdenv;
4034   };
4036   libmusclecard = import ../development/libraries/libmusclecard {
4037     inherit fetchurl stdenv pkgconfig pcsclite;
4038   };
4040   libnova = import ../development/libraries/libnova {
4041     inherit fetchurl stdenv;
4042   };
4044   libogg = import ../development/libraries/libogg {
4045     inherit fetchurl stdenv;
4046   };
4048   liboil = makeOverridable (import ../development/libraries/liboil) {
4049     inherit fetchurl stdenv pkgconfig glib;
4050   };
4052   liboop = import ../development/libraries/liboop {
4053     inherit fetchurl stdenv;
4054   };
4056   libotr = import ../development/libraries/libotr {
4057     inherit fetchurl stdenv libgcrypt;
4058   };
4060   libpcap = import ../development/libraries/libpcap {
4061     inherit fetchurl stdenv flex bison;
4062   };
4064   libpng = import ../development/libraries/libpng {
4065     inherit fetchurl stdenv zlib;
4066   };
4068   libproxy = import ../development/libraries/libproxy {
4069     inherit stdenv fetchurl;
4070   };
4072   libpseudo = import ../development/libraries/libpseudo {
4073     inherit fetchurl stdenv pkgconfig ncurses glib;
4074   };
4076   libsigcxx = import ../development/libraries/libsigcxx {
4077     inherit fetchurl stdenv pkgconfig;
4078   };
4080   libsigsegv = import ../development/libraries/libsigsegv {
4081     inherit fetchurl stdenv;
4082   };
4084   # To bootstrap SBCL, I need CLisp 2.44.1; it needs libsigsegv 2.5
4085   libsigsegv_25 =  import ../development/libraries/libsigsegv/2.5.nix {
4086     inherit fetchurl stdenv;
4087   };
4089   libsndfile = import ../development/libraries/libsndfile {
4090     inherit fetchurl stdenv;
4091   };
4093   libtasn1 = import ../development/libraries/libtasn1 {
4094     inherit fetchurl stdenv;
4095   };
4097   libtheora = import ../development/libraries/libtheora {
4098     inherit fetchurl stdenv libogg libvorbis;
4099   };
4101   libtiff = import ../development/libraries/libtiff {
4102     inherit fetchurl stdenv zlib libjpeg;
4103   };
4105   libtommath = import ../development/libraries/libtommath {
4106     inherit fetchurl stdenv libtool;
4107   };
4109   libunistring = import ../development/libraries/libunistring {
4110     inherit fetchurl stdenv libiconv;
4111   };
4113   libupnp = import ../development/libraries/pupnp {
4114     inherit fetchurl stdenv;
4115   };
4117   giflib = import ../development/libraries/giflib {
4118     inherit fetchurl stdenv;
4119   };
4121   libungif = import ../development/libraries/giflib/libungif.nix {
4122     inherit fetchurl stdenv;
4123   };
4125   libusb = import ../development/libraries/libusb {
4126     inherit fetchurl stdenv;
4127   };
4129   libunwind = import ../development/libraries/libunwind {
4130     inherit fetchurl stdenv;
4131   };
4133   libvncserver = builderDefsPackage (import ../development/libraries/libvncserver) {
4134     inherit libtool libjpeg openssl zlib;
4135     inherit (xlibs) xproto libX11 damageproto libXdamage
4136       libXext xextproto fixesproto libXfixes xineramaproto
4137       libXinerama libXrandr randrproto libXtst;
4138   };
4140   libviper = import ../development/libraries/libviper {
4141     inherit fetchurl stdenv pkgconfig ncurses gpm glib;
4142   };
4144   libvterm = import ../development/libraries/libvterm {
4145     inherit fetchurl stdenv pkgconfig ncurses glib;
4146   };
4148   libvorbis = import ../development/libraries/libvorbis {
4149     inherit fetchurl stdenv libogg;
4150   };
4152   libwmf = import ../development/libraries/libwmf {
4153     inherit fetchurl stdenv pkgconfig imagemagick
4154       zlib libpng freetype libjpeg libxml2 glib;
4155   };
4157   libwpd = import ../development/libraries/libwpd {
4158     inherit fetchurl stdenv pkgconfig libgsf libxml2 bzip2;
4159     inherit (gnome) glib;
4160   };
4162   libx86 = builderDefsPackage ../development/libraries/libx86 {};
4164   libxcrypt = import ../development/libraries/libxcrypt {
4165     inherit fetchurl stdenv;
4166   };
4168   libxklavier = import ../development/libraries/libxklavier {
4169     inherit fetchurl stdenv xkeyboard_config pkgconfig libxml2 isocodes glib;
4170     inherit (xorg) libX11 libICE libXi libxkbfile;
4171   };
4173   libxmi = import ../development/libraries/libxmi {
4174     inherit fetchurl stdenv libtool;
4175   };
4177   libxml2 = makeOverridable (import ../development/libraries/libxml2) {
4178     inherit fetchurl stdenv zlib python;
4179     pythonSupport = false;
4180   };
4182   libxml2Python = libxml2.override {
4183     pythonSupport = true;
4184   };
4186   libxslt = makeOverridable (import ../development/libraries/libxslt) {
4187     inherit fetchurl stdenv libxml2;
4188   };
4190   libixp_for_wmii = lowPrio (import ../development/libraries/libixp_for_wmii {
4191     inherit fetchurl stdenv;
4192   });
4194   libzip = import ../development/libraries/libzip {
4195     inherit fetchurl stdenv zlib;
4196   };
4198   libzrtpcpp = import ../development/libraries/libzrtpcpp {
4199     inherit fetchurl stdenv lib commoncpp2 openssl pkgconfig ccrtp;
4200   };
4202   lightning = import ../development/libraries/lightning {
4203     inherit fetchurl stdenv;
4204   };
4206   liquidwar = builderDefsPackage ../games/liquidwar {
4207     inherit (xlibs) xproto libX11 libXrender;
4208     inherit gmp guile mesa libjpeg libpng 
4209       expat gettext perl
4210       SDL SDL_image SDL_mixer SDL_ttf
4211       curl sqlite
4212       libogg libvorbis
4213       ;
4214   };
4216   log4cxx = import ../development/libraries/log4cxx {
4217     inherit fetchurl stdenv automake autoconf libtool cppunit libxml2 boost;
4218     inherit apr aprutil db45 expat;
4219   };
4221   loudmouth = import ../development/libraries/loudmouth {
4222     inherit fetchurl stdenv libidn openssl pkgconfig zlib glib;
4223   };
4225   lzo = import ../development/libraries/lzo {
4226     inherit fetchurl stdenv;
4227   };
4229   # failed to build
4230   mediastreamer = composedArgsAndFun (import ../development/libraries/mediastreamer/2.2.0-cvs20080207.nix) {
4231     inherit fetchurl stdenv automake libtool autoconf alsaLib pkgconfig speex
4232       ortp ffmpeg;
4233   };
4235   mesaSupported =
4236     system == "i686-linux" ||
4237     system == "x86_64-linux" ||
4238     system == "x86_64-darwin" ||
4239     system == "i686-darwin";
4241   mesa = import ../development/libraries/mesa {
4242     inherit fetchurl stdenv pkgconfig expat x11 xlibs libdrm;
4243   };
4245   mesaHeaders = import ../development/libraries/mesa/headers.nix {
4246     inherit stdenv;
4247     mesaSrc = mesa.src;
4248   };
4250   ming = import ../development/libraries/ming {
4251     inherit fetchurl stdenv flex bison freetype zlib libpng perl;
4252   };
4254   mpeg2dec = import ../development/libraries/mpeg2dec {
4255     inherit fetchurl stdenv;
4256   };
4258   msilbc = import ../development/libraries/msilbc {
4259     inherit fetchurl stdenv ilbc mediastreamer pkgconfig;
4260   };
4262   mpich2 = import ../development/libraries/mpich2 {
4263     inherit fetchurl stdenv python;
4264   };
4266   muparser = import ../development/libraries/muparser {
4267     inherit fetchurl stdenv;
4268   };
4270   ncurses = composedArgsAndFun (import ../development/libraries/ncurses) {
4271     inherit fetchurl stdenv;
4272     unicode = (system != "i686-cygwin");
4273   };
4275   neon = neon026;
4277   neon026 = import ../development/libraries/neon/0.26.nix {
4278     inherit fetchurl stdenv libxml2 zlib openssl;
4279     compressionSupport = true;
4280     sslSupport = true;
4281   };
4283   neon028 = import ../development/libraries/neon/0.28.nix {
4284     inherit fetchurl stdenv libxml2 zlib openssl;
4285     compressionSupport = true;
4286     sslSupport = true;
4287   };
4289   nethack = builderDefsPackage (import ../games/nethack) {
4290     inherit ncurses flex bison;
4291   };
4293   nettle = import ../development/libraries/nettle {
4294     inherit fetchurl stdenv gmp gnum4;
4295   };
4297   nspr = import ../development/libraries/nspr {
4298     inherit fetchurl stdenv;
4299   };
4301   nss = import ../development/libraries/nss {
4302     inherit fetchurl stdenv nspr perl zlib;
4303   };
4305   ode = builderDefsPackage (import ../development/libraries/ode) {
4306   };
4308   openal = import ../development/libraries/openal {
4309     inherit fetchurl cmake alsaLib;
4310     stdenv = overrideGCC stdenv gcc43_wrapper2;
4311   };
4313   # added because I hope that it has been easier to compile on x86 (for blender)
4314   openalSoft = import ../development/libraries/openalSoft {
4315     inherit fetchurl stdenv alsaLib libtool cmake;
4316   };
4318   openbabel = import ../development/libraries/openbabel {
4319     inherit fetchurl stdenv zlib libxml2;
4320   };
4322   opencascade = import ../development/libraries/opencascade {
4323     inherit fetchurl stdenv mesa qt4 tcl tk;
4324   };
4326   # this ctl version is needed by openexr_viewers
4327   openexr_ctl = import ../development/libraries/openexr_ctl {
4328     inherit fetchurl stdenv ilmbase ctl;
4329     openexr = openexr_1_6_1;
4330   };
4332   openexr_1_6_1 = import ../development/libraries/openexr {
4333     inherit fetchurl stdenv ilmbase zlib pkgconfig lib;
4334     version = "1.6.1";
4335     # optional features:
4336     inherit ctl;
4337   };
4339   # This older version is needed by blender (it complains about missing half.h )
4340   openexr_1_4_0 = import ../development/libraries/openexr {
4341     inherit fetchurl stdenv ilmbase zlib pkgconfig lib;
4342     version = "1.4.0";
4343   };
4345   openldap = import ../development/libraries/openldap {
4346     inherit fetchurl stdenv openssl cyrus_sasl db4 groff;
4347   };
4349   openlierox = builderDefsPackage ../games/openlierox {
4350     inherit (xlibs) libX11 xproto;
4351     inherit gd SDL SDL_image SDL_mixer zlib libxml2
4352       pkgconfig;
4353   };
4355   openssl = import ../development/libraries/openssl {
4356     fetchurl = fetchurlBoot;
4357     inherit stdenv perl;
4358   };
4360   ortp = import ../development/libraries/ortp {
4361     inherit fetchurl stdenv;
4362   };
4364   pangoxsl = import ../development/libraries/pangoxsl {
4365     inherit fetchurl stdenv pkgconfig;
4366     inherit (gtkLibs) glib pango;
4367   };
4369   pcre = makeOverridable (import ../development/libraries/pcre) {
4370     inherit fetchurl stdenv;
4371     unicodeSupport = getConfig ["pcre" "unicode"] false;
4372     cplusplusSupport = !stdenv ? isDietLibC;
4373   };
4375   physfs = import ../development/libraries/physfs {
4376     inherit fetchurl stdenv cmake;
4377   };
4379   plib = import ../development/libraries/plib {
4380     inherit fetchurl stdenv mesa freeglut SDL;
4381     inherit (xlibs) libXi libSM libXmu libXext libX11;
4382   };
4384   podofo = import ../development/libraries/podofo {
4385     inherit fetchurl stdenv cmake zlib freetype libjpeg libtiff
4386       fontconfig openssl;
4387   };
4389   polkit = import ../development/libraries/polkit {
4390     inherit stdenv fetchurl pkgconfig eggdbus expat pam intltool gettext glib;
4391   };
4393   policykit = makeOverridable (import ../development/libraries/policykit) {
4394     inherit stdenv fetchurl pkgconfig dbus dbus_glib expat pam
4395       intltool gettext libxslt docbook_xsl glib;
4396   };
4398   poppler = makeOverridable (import ../development/libraries/poppler) {
4399     inherit fetchurl stdenv cairo freetype fontconfig zlib libjpeg pkgconfig;
4400     inherit (gtkLibs) glib gtk;
4401     qt4Support = false;
4402   };
4404   popplerQt44 = poppler.override {
4405     qt4Support = true;
4406     qt4 = qt44;
4407   };
4409   popplerQt45 = poppler.override {
4410     qt4Support = true;
4411     qt4 = qt45;
4412   };
4414   popt = import ../development/libraries/popt {
4415     inherit fetchurl stdenv;
4416   };
4418   proj = import ../development/libraries/proj.4 {
4419     inherit fetchurl stdenv;
4420   };
4422   pth = import ../development/libraries/pth {
4423     inherit fetchurl stdenv;
4424   };
4426   qt3 = makeOverridable (import ../development/libraries/qt-3) {
4427     inherit fetchurl stdenv x11 zlib libjpeg libpng which mysql mesa;
4428     inherit (xlibs) xextproto libXft libXrender libXrandr randrproto
4429       libXmu libXinerama libXcursor;
4430     openglSupport = mesaSupported;
4431     mysqlSupport = getConfig ["qt" "mysql"] false;
4432   };
4434   qt3mysql = qt3.override {
4435     mysqlSupport = true;
4436   };
4438   qt4 = qt44;
4440   qt44 = import ../development/libraries/qt-4.4 {
4441     inherit fetchurl stdenv fetchsvn zlib libjpeg libpng which mysql mesa openssl cups dbus
4442       fontconfig freetype pkgconfig libtiff;
4443     inherit (xlibs) xextproto libXft libXrender libXrandr randrproto
4444       libXmu libXinerama xineramaproto libXcursor libICE libSM libX11 libXext
4445       inputproto fixesproto libXfixes;
4446     inherit (gnome) glib;
4447   };
4449   qt45 = import ../development/libraries/qt-4.5 {
4450     inherit fetchurl stdenv lib zlib libjpeg libpng which mysql mesa openssl cups dbus
4451       fontconfig freetype pkgconfig libtiff;
4452     inherit (xlibs) xextproto libXft libXrender libXrandr randrproto
4453       libXmu libXinerama xineramaproto libXcursor libXext
4454       inputproto fixesproto libXfixes;
4455     inherit (gnome) glib;
4456   };
4458   qt46 = import ../development/libraries/qt-4.6 {
4459     inherit fetchurl stdenv lib zlib libjpeg libpng which mysql mesa openssl cups dbus
4460       fontconfig freetype pkgconfig libtiff;
4461     inherit (xlibs) xextproto libXft libXrender libXrandr randrproto
4462       libXmu libXinerama xineramaproto libXcursor libXext
4463       inputproto fixesproto libXfixes;
4464     inherit (gnome) glib;
4465   };
4466   qtscriptgenerator = import ../development/libraries/qtscriptgenerator {
4467     inherit stdenv fetchurl;
4468     qt4 = qt45;
4469   };
4471   readline = readline6;
4473   readline4 = import ../development/libraries/readline/readline4.nix {
4474     inherit fetchurl stdenv ncurses;
4475   };
4477   readline5 = import ../development/libraries/readline/readline5.nix {
4478     inherit fetchurl stdenv ncurses;
4479   };
4481   readline6 = import ../development/libraries/readline/readline6.nix {
4482     inherit fetchurl stdenv ncurses;
4483   };
4485   librdf_raptor = import ../development/libraries/librdf/raptor.nix {
4486     inherit fetchurl stdenv lib libxml2 curl;
4487   };
4488   librdf_rasqal = import ../development/libraries/librdf/rasqal.nix {
4489     inherit fetchurl stdenv lib pcre libxml2 gmp librdf_raptor;
4490   };
4491   librdf = import ../development/libraries/librdf {
4492     inherit fetchurl stdenv lib pkgconfig librdf_raptor ladspaH openssl zlib;
4493   };
4495   # Also known as librdf, includes raptor and rasqal
4496   redland = composedArgsAndFun (import ../development/libraries/redland/1.0.9.nix) {
4497     inherit fetchurl stdenv openssl libxml2 pkgconfig perl postgresql sqlite
4498       mysql libxslt curl pcre librdf_rasqal librdf_raptor;
4499     bdb = db4;
4500   };
4502   redland_1_0_8 = composedArgsAndFun (import ../development/libraries/redland/1.0.8.nix) {
4503     inherit fetchurl stdenv openssl libxml2 pkgconfig perl postgresql sqlite
4504       mysql libxslt curl pcre librdf_rasqal librdf_raptor;
4505     bdb = db4;
4506   };
4508   rhino = import ../development/libraries/java/rhino {
4509     inherit fetchurl stdenv unzip;
4510     ant = apacheAntGcj;
4511     javac = gcj;
4512     jvm = gcj;
4513   };
4515   rte = import ../development/libraries/rte {
4516     inherit fetchurl stdenv;
4517   };
4519   rubberband = import ../development/libraries/rubberband {
4520     inherit fetchurl stdenv lib pkgconfig libsamplerate libsndfile ladspaH;
4521     fftw = fftwSinglePrec;
4522     inherit (vamp) vampSDK;
4523   };
4525   schroedinger = import ../development/libraries/schroedinger {
4526     inherit fetchurl stdenv liboil pkgconfig;
4527   };
4529   SDL = makeOverridable (import ../development/libraries/SDL) {
4530     inherit fetchurl stdenv pkgconfig x11 mesa alsaLib pulseaudio;
4531     inherit (xlibs) libXrandr;
4532     openglSupport = mesaSupported;
4533     alsaSupport = true;
4534     pulseaudioSupport = false; # better go through ALSA
4535   };
4537   SDL_image = import ../development/libraries/SDL_image {
4538     inherit fetchurl stdenv SDL libjpeg libungif libtiff libpng;
4539     inherit (xlibs) libXpm;
4540   };
4542   SDL_mixer = import ../development/libraries/SDL_mixer {
4543     inherit fetchurl stdenv SDL libogg libvorbis;
4544   };
4546   SDL_net = import ../development/libraries/SDL_net {
4547     inherit fetchurl stdenv SDL;
4548   };
4550   SDL_ttf = import ../development/libraries/SDL_ttf {
4551     inherit fetchurl stdenv SDL freetype;
4552   };
4554   slang = import ../development/libraries/slang {
4555     inherit fetchurl stdenv ncurses pcre libpng zlib readline;
4556   };
4558   slibGuile = import ../development/libraries/slib {
4559     inherit fetchurl stdenv unzip texinfo;
4560     scheme = guile;
4561   };
4563   snack = import ../development/libraries/snack {
4564     inherit fetchurl stdenv tcl tk pkgconfig x11;
4565         # optional
4566     inherit alsaLib vorbisTools python;
4567   };
4569   speex = import ../development/libraries/speex {
4570     inherit fetchurl stdenv libogg;
4571   };
4573   sqlite = import ../development/libraries/sqlite {
4574     inherit fetchurl stdenv readline tcl;
4575   };
4577   stlport =  import ../development/libraries/stlport {
4578     inherit fetchurl stdenv;
4579   };
4581   t1lib = import ../development/libraries/t1lib {
4582     inherit fetchurl stdenv x11;
4583     inherit (xlibs) libXaw libXpm;
4584   };
4586   taglib = import ../development/libraries/taglib {
4587     inherit fetchurl stdenv zlib;
4588   };
4590   taglib_extras = import ../development/libraries/taglib-extras {
4591     inherit stdenv fetchurl cmake taglib;
4592   };
4594   tapioca_qt = import ../development/libraries/tapioca-qt {
4595     inherit stdenv fetchurl cmake qt4 telepathy_qt;
4596   };
4598   tecla = import ../development/libraries/tecla {
4599     inherit fetchurl stdenv;
4600   };
4602   telepathy_gabble = import ../development/libraries/telepathy-gabble {
4603     inherit fetchurl stdenv pkgconfig libxslt telepathy_glib loudmouth;
4604   };
4606   telepathy_glib = import ../development/libraries/telepathy-glib {
4607     inherit fetchurl stdenv dbus_glib pkgconfig libxslt python glib;
4608   };
4610   telepathy_qt = import ../development/libraries/telepathy-qt {
4611     inherit stdenv fetchurl cmake qt4;
4612   };
4614   tk = import ../development/libraries/tk/8.5.7.nix {
4615     inherit fetchurl stdenv tcl x11;
4616   };
4618   unixODBC = import ../development/libraries/unixODBC {
4619     inherit fetchurl stdenv;
4620   };
4622   unixODBCDrivers = recurseIntoAttrs (import ../development/libraries/unixODBCDrivers {
4623     inherit fetchurl stdenv unixODBC glibc libtool openssl zlib;
4624     inherit postgresql mysql sqlite;
4625   });
4627   vamp = import ../development/libraries/audio/vamp {
4628     inherit fetchurl stdenv lib pkgconfig libsndfile;
4629   };
4631   vtk = import ../development/libraries/vtk {
4632     inherit stdenv fetchurl cmake mesa;
4633     inherit (xlibs) libX11 xproto libXt;
4634   };
4636   vxl = import ../development/libraries/vxl {
4637    inherit fetchurl stdenv cmake unzip libtiff expat zlib libpng libjpeg;
4638   };
4640   webkit = builderDefsPackage (import ../development/libraries/webkit) {
4641     inherit (gnome28) gtkdoc libsoup;
4642     inherit (gtkLibs) gtk atk pango glib;
4643     inherit freetype fontconfig gettext gperf curl
4644       libjpeg libtiff libpng libxml2 libxslt sqlite
4645       icu cairo perl intltool automake libtool
4646       pkgconfig autoconf bison libproxy enchant;
4647     inherit (gst_all) gstreamer gstPluginsBase gstFfmpeg
4648       gstPluginsGood;
4649     flex = flex2535;
4650     inherit (xlibs) libXt;
4651   };
4653   wxGTK = wxGTK28;
4655   wxGTK26 = import ../development/libraries/wxGTK-2.6 {
4656     inherit fetchurl stdenv pkgconfig;
4657     inherit (gtkLibs216) gtk;
4658     inherit (xlibs) libXinerama libSM libXxf86vm xf86vidmodeproto;
4659   };
4661   wxGTK28 = makeOverridable (import ../development/libraries/wxGTK-2.8) {
4662     inherit fetchurl stdenv pkgconfig mesa;
4663     inherit (gtkLibs216) gtk;
4664     inherit (xlibs) libXinerama libSM libXxf86vm xf86vidmodeproto;
4665   };
4667   wtk = import ../development/libraries/wtk {
4668       inherit fetchurl stdenv unzip xlibs;
4669     };
4671   x264 = import ../development/libraries/x264 {
4672     inherit fetchurl stdenv;
4673   };
4675   xapian = makeOverridable (import ../development/libraries/xapian) {
4676     inherit fetchurl stdenv zlib;
4677   };
4679   xapianBindings = (import ../development/libraries/xapian/bindings/1.0.14.nix) {
4680     inherit fetchurl stdenv xapian composableDerivation pkgconfig;
4681     inherit ruby perl php tcl python; # TODO perl php Java, tcl, C#, python
4682   };
4684   Xaw3d = import ../development/libraries/Xaw3d {
4685     inherit fetchurl stdenv x11 bison;
4686     flex = flex2533;
4687     inherit (xlibs) imake gccmakedep libXmu libXpm libXp;
4688   };
4690   xineLib = import ../development/libraries/xine-lib {
4691     inherit fetchurl stdenv zlib libdvdcss alsaLib pkgconfig mesa aalib
4692       libvorbis libtheora speex xlibs perl ffmpeg;
4693   };
4695   xautolock = import ../misc/screensavers/xautolock {
4696     inherit fetchurl stdenv x11;
4697     inherit (xorg) imake;
4698     inherit (xlibs) libXScrnSaver scrnsaverproto;
4699   };
4701   xercesJava = import ../development/libraries/java/xerces {
4702     inherit fetchurl stdenv;
4703     ant   = apacheAntGcj;  # for bootstrap purposes
4704     javac = gcj;
4705     jvm   = gcj;
4706   };
4708   xlibsWrapper = import ../development/libraries/xlibs-wrapper {
4709     inherit stdenv;
4710     packages = [
4711       freetype fontconfig xlibs.xproto xlibs.libX11 xlibs.libXt
4712       xlibs.libXft xlibs.libXext xlibs.libSM xlibs.libICE
4713       xlibs.xextproto
4714     ];
4715   };
4717   zangband = builderDefsPackage (import ../games/zangband) {
4718     inherit ncurses flex bison autoconf automake m4 coreutils;
4719   };
4721   zlib = import ../development/libraries/zlib {
4722     fetchurl = fetchurlBoot;
4723     inherit stdenv;
4724   };
4726   zlibStatic = lowPrio (appendToName "static" (import ../development/libraries/zlib {
4727     inherit fetchurl stdenv;
4728     static = true;
4729   }));
4731   zvbi = import ../development/libraries/zvbi {
4732     inherit fetchurl stdenv libpng x11;
4733     pngSupport = true;
4734   };
4737   ### DEVELOPMENT / LIBRARIES / JAVA
4740   atermjava = import ../development/libraries/java/aterm {
4741     inherit fetchurl sharedobjects jjtraveler jdk;
4742     stdenv = overrideInStdenv stdenv [gnumake380];
4743   };
4745   commonsFileUpload = import ../development/libraries/java/jakarta-commons/file-upload {
4746     inherit stdenv fetchurl;
4747   };
4749   fastjar = import ../development/tools/java/fastjar {
4750     inherit fetchurl stdenv zlib;
4751   };
4753   httpunit = import ../development/libraries/java/httpunit {
4754     inherit stdenv fetchurl unzip;
4755   };
4757   gwtdragdrop = import ../development/libraries/java/gwt-dragdrop {
4758     inherit stdenv fetchurl;
4759   };
4761   gwtwidgets = import ../development/libraries/java/gwt-widgets {
4762     inherit stdenv fetchurl;
4763   };
4765   jakartabcel = import ../development/libraries/java/jakarta-bcel {
4766     regexp = jakartaregexp;
4767     inherit fetchurl stdenv;
4768   };
4770   jakartaregexp = import ../development/libraries/java/jakarta-regexp {
4771     inherit fetchurl stdenv;
4772   };
4774   javaCup = import ../development/libraries/java/cup {
4775     inherit stdenv fetchurl jdk;
4776   };
4778   javasvn = import ../development/libraries/java/javasvn {
4779     inherit stdenv fetchurl unzip;
4780   };
4782   jclasslib = import ../development/tools/java/jclasslib {
4783     inherit fetchurl stdenv xpf jre;
4784     ant = apacheAnt14;
4785   };
4787   jdom = import ../development/libraries/java/jdom {
4788     inherit stdenv fetchurl;
4789   };
4791   jflex = import ../development/libraries/java/jflex {
4792     inherit stdenv fetchurl;
4793   };
4795   jjtraveler = import ../development/libraries/java/jjtraveler {
4796     inherit fetchurl jdk;
4797     stdenv = overrideInStdenv stdenv [gnumake380];
4798   };
4800   junit = import ../development/libraries/java/junit {
4801     inherit stdenv fetchurl unzip;
4802   };
4804   lucene = import ../development/libraries/java/lucene {
4805     inherit stdenv fetchurl;
4806   };
4808   mockobjects = import ../development/libraries/java/mockobjects {
4809     inherit stdenv fetchurl;
4810   };
4812   saxon = import ../development/libraries/java/saxon {
4813     inherit fetchurl stdenv unzip;
4814   };
4816   saxonb = import ../development/libraries/java/saxon/default8.nix {
4817     inherit fetchurl stdenv unzip jre;
4818   };
4820   sharedobjects = import ../development/libraries/java/shared-objects {
4821     inherit fetchurl jdk;
4822     stdenv = overrideInStdenv stdenv [gnumake380];
4823   };
4825   smack = import ../development/libraries/java/smack {
4826     inherit stdenv fetchurl;
4827   };
4829   swt = import ../development/libraries/java/swt {
4830     inherit stdenv fetchurl unzip jdk pkgconfig;
4831     inherit (gtkLibs) gtk;
4832     inherit (xlibs) libXtst;
4833   };
4835   xalanj = xalanJava;
4836   xalanJava = import ../development/libraries/java/xalanj {
4837     inherit fetchurl stdenv;
4838     ant    = apacheAntGcj;  # for bootstrap purposes
4839     javac  = gcj;
4840     jvm    = gcj;
4841     xerces = xercesJava;
4842   };
4844   zziplib = import ../development/libraries/zziplib {
4845     inherit fetchurl stdenv perl python zip xmlto zlib;
4846   };
4849   ### DEVELOPMENT / PERL MODULES
4851   buildPerlPackage = import ../development/perl-modules/generic perl;
4853   perlPackages = recurseIntoAttrs (import ./perl-packages.nix {
4854     inherit pkgs;
4855   });
4857   perlXMLParser = perlPackages.XMLParser;
4860   ### DEVELOPMENT / PYTHON MODULES
4862   buildPythonPackage =
4863     import ../development/python-modules/generic {
4864       inherit python setuptools makeWrapper lib;
4865     };
4867   buildPython26Package =
4868     import ../development/python-modules/generic {
4869       inherit makeWrapper lib;
4870       python = python26;
4871       setuptools = setuptools_python26;
4872     };
4874   pythonPackages = recurseIntoAttrs (import ./python-packages.nix {
4875     inherit pkgs python buildPythonPackage;
4876   });
4878   python26Packages = recurseIntoAttrs (import ./python-packages.nix {
4879     inherit pkgs;
4880     python = python26;
4881     buildPythonPackage = buildPython26Package;
4882   });
4884   foursuite = import ../development/python-modules/4suite {
4885     inherit fetchurl stdenv python;
4886   };
4888   bsddb3 = import ../development/python-modules/bsddb3 {
4889     inherit fetchurl stdenv python db4;
4890   };
4892   flup = builderDefsPackage ../development/python-modules/flup {
4893     inherit fetchurl stdenv;
4894     python = python25;
4895     setuptools = setuptools.passthru.function {python = python25;};
4896   };
4898   numeric = import ../development/python-modules/numeric {
4899     inherit fetchurl stdenv python;
4900   };
4902   pil = import ../development/python-modules/pil {
4903     inherit fetchurl stdenv python zlib libjpeg freetype;
4904   };
4906   pil_python26 = import ../development/python-modules/pil {
4907     inherit fetchurl stdenv zlib libjpeg freetype;
4908     python = python26;
4909   };
4911   psyco = import ../development/python-modules/psyco {
4912       inherit fetchurl stdenv python;
4913     };
4915   pycairo = import ../development/python-modules/pycairo {
4916     inherit fetchurl stdenv python pkgconfig cairo x11;
4917   };
4919   pycrypto = import ../development/python-modules/pycrypto {
4920     inherit fetchurl stdenv python gmp;
4921   };
4923   pycups = import ../development/python-modules/pycups {
4924     inherit stdenv fetchurl python cups;
4925   };
4927   pygame = import ../development/python-modules/pygame {
4928     inherit fetchurl stdenv python pkgconfig SDL SDL_image
4929       SDL_mixer SDL_ttf numeric;
4930   };
4932   pygobject = import ../development/python-modules/pygobject {
4933     inherit fetchurl stdenv python pkgconfig glib;
4934   };
4936   pygtk = import ../development/python-modules/pygtk {
4937     inherit fetchurl stdenv python pkgconfig pygobject pycairo;
4938     inherit (gtkLibs) glib gtk;
4939   };
4941   pyGtkGlade = import ../development/python-modules/pygtk {
4942     inherit fetchurl stdenv python pkgconfig pygobject pycairo;
4943     inherit (gtkLibs) glib gtk;
4944     inherit (gnome) libglade;
4945   };
4947   pyopengl = import ../development/python-modules/pyopengl {
4948     inherit fetchurl stdenv setuptools mesa freeglut pil python;
4949   };
4951   pyopenssl = builderDefsPackage (import ../development/python-modules/pyopenssl) {
4952     inherit python openssl;
4953   };
4955   pythonSip = builderDefsPackage (import ../development/python-modules/python-sip/4.7.4.nix) {
4956     inherit python;
4957   };
4959   rhpl = import ../development/python-modules/rhpl {
4960     inherit stdenv fetchurl rpm cpio python wirelesstools gettext;
4961   };
4963   sip = import ../development/python-modules/python-sip {
4964     inherit stdenv fetchurl lib python;
4965   };
4967   sip_python26 = import ../development/python-modules/python-sip {
4968     inherit stdenv fetchurl lib;
4969     python = python26;
4970   };
4972   pyqt = builderDefsPackage (import ../development/python-modules/pyqt/4.3.3.nix) {
4973     inherit pkgconfig python pythonSip glib;
4974     inherit (xlibs) libX11 libXext;
4975     qt = qt4;
4976   };
4978   pyqt4 = import ../development/python-modules/pyqt {
4979     inherit stdenv fetchurl lib python sip;
4980     qt4 = qt45;
4981   };
4983   pyqt4_python26 = import ../development/python-modules/pyqt {
4984     inherit stdenv fetchurl lib;
4985     qt4 = qt45;
4986     python = python26;
4987     sip = sip_python26;
4988   };
4990   pyx = import ../development/python-modules/pyx {
4991     inherit fetchurl stdenv python makeWrapper;
4992   };
4994   pyxml = import ../development/python-modules/pyxml {
4995     inherit fetchurl stdenv python makeWrapper;
4996   };
4998   setuptools = builderDefsPackage (import ../development/python-modules/setuptools) {
4999     inherit python makeWrapper;
5000   };
5002   setuptools_python26 = builderDefsPackage (import ../development/python-modules/setuptools) {
5003     inherit makeWrapper;
5004     python = python26;
5005   };
5007   wxPython = wxPython26;
5009   wxPython26 = import ../development/python-modules/wxPython/2.6.nix {
5010     inherit fetchurl stdenv pkgconfig python;
5011     wxGTK = wxGTK26;
5012   };
5014   wxPython28 = import ../development/python-modules/wxPython/2.8.nix {
5015     inherit fetchurl stdenv pkgconfig python;
5016     inherit wxGTK;
5017   };
5019   twisted = pythonPackages.twisted;
5021   ZopeInterface = import ../development/python-modules/ZopeInterface {
5022     inherit fetchurl stdenv python;
5023   };
5025   zope = import ../development/python-modules/zope {
5026     inherit fetchurl stdenv;
5027     python = python24;
5028   };
5030   ### SERVERS
5033   apacheHttpd = makeOverridable (import ../servers/http/apache-httpd) {
5034     inherit (pkgsOverriden) fetchurl stdenv perl openssl zlib apr aprutil pcre;
5035     sslSupport = true;
5036   };
5038   sabnzbd = import ../servers/sabnzbd {
5039     inherit fetchurl stdenv python cheetahTemplate makeWrapper par2cmdline unzip unrar;
5040   };
5042   bind = builderDefsPackage (import ../servers/dns/bind/9.5.0.nix) {
5043     inherit openssl libtool;
5044   };
5046   dico = import ../servers/dico {
5047     inherit fetchurl stdenv libtool gettext zlib readline guile python;
5048   };
5050   dict = composedArgsAndFun (import ../servers/dict/1.9.15.nix) {
5051     inherit builderDefs which bison;
5052     flex=flex2534;
5053   };
5055   dictdDBs = recurseIntoAttrs (import ../servers/dict/dictd-db.nix {
5056     inherit builderDefs;
5057   });
5059   dictDBCollector = import ../servers/dict/dictd-db-collector.nix {
5060     inherit stdenv lib dict;
5061   };
5063   dovecot = import ../servers/mail/dovecot {
5064     inherit fetchurl stdenv openssl pam;
5065   };
5066   dovecot_1_1_1 = import ../servers/mail/dovecot/1.1.1.nix {
5067     inherit fetchurl stdenv openssl pam;
5068   };
5070   ejabberd = import ../servers/xmpp/ejabberd {
5071     inherit fetchurl stdenv expat erlang zlib openssl pam lib;
5072   };
5074   couchdb = import ../servers/http/couchdb {
5075     inherit fetchurl stdenv erlang spidermonkey icu getopt
5076       curl;
5077   };
5079   fingerd_bsd = import ../servers/fingerd/bsd-fingerd {
5080     inherit fetchurl stdenv;
5081   };
5083   ircdHybrid = import ../servers/irc/ircd-hybrid {
5084     inherit fetchurl stdenv openssl zlib;
5085   };
5087   jboss = import ../servers/http/jboss {
5088     inherit fetchurl stdenv unzip jdk lib;
5089   };
5091   jboss_mysql_jdbc = import ../servers/http/jboss/jdbc/mysql {
5092     inherit stdenv jboss mysql_jdbc;
5093   };
5095   jetty = import ../servers/http/jetty {
5096     inherit fetchurl stdenv unzip;
5097   };
5099   jetty61 = import ../servers/http/jetty/6.1 {
5100     inherit fetchurl stdenv unzip;
5101   };
5103   lighttpd = import ../servers/http/lighttpd {
5104     inherit fetchurl stdenv pcre libxml2 zlib attr bzip2;
5105   };
5107   mod_python = makeOverridable (import ../servers/http/apache-modules/mod_python) {
5108     inherit (pkgsOverriden) fetchurl stdenv apacheHttpd python;
5109   };
5111   myserver = import ../servers/http/myserver {
5112     inherit fetchurl stdenv libgcrypt libevent libidn gnutls libxml2
5113       zlib texinfo cppunit;
5114   };
5116   nginx = builderDefsPackage (import ../servers/http/nginx) {
5117     inherit openssl pcre zlib libxml2 libxslt;
5118   };
5120   postfix = import ../servers/mail/postfix {
5121     inherit fetchurl stdenv db4 openssl cyrus_sasl glibc;
5122   };
5124   pulseaudio = makeOverridable (import ../servers/pulseaudio) {
5125     inherit fetchurl stdenv pkgconfig gnum4 gdbm
5126       dbus hal avahi liboil libsamplerate libsndfile speex
5127       intltool gettext libtool libcap;
5128     inherit (xlibs) libX11 libICE libSM libXtst libXi;
5129     inherit (gtkLibs) gtk glib;
5130     inherit alsaLib;    # Needs ALSA >= 1.0.17.
5131     gconf = gnome.GConf;
5132   };
5134   tomcat_connectors = import ../servers/http/apache-modules/tomcat-connectors {
5135     inherit fetchurl stdenv apacheHttpd jdk;
5136   };
5138   portmap = makeOverridable (import ../servers/portmap) {
5139     inherit fetchurl stdenv lib tcpWrapper;
5140   };
5142   monetdb = import ../servers/sql/monetdb {
5143     inherit composableDerivation getConfig;
5144     inherit fetchurl stdenv pcre openssl readline libxml2 geos apacheAnt jdk5;
5145   };
5147   mysql4 = import ../servers/sql/mysql {
5148     inherit fetchurl stdenv ncurses zlib perl;
5149     ps = procps; /* !!! Linux only */
5150   };
5152   mysql5 = import ../servers/sql/mysql5 {
5153     inherit fetchurl stdenv ncurses zlib perl openssl;
5154     ps = procps; /* !!! Linux only */
5155   };
5157   mysql51 = import ../servers/sql/mysql51 {
5158     inherit fetchurl ncurses zlib perl openssl stdenv;
5159     ps = procps; /* !!! Linux only */
5160   };
5162   mysql = mysql5;
5164   mysql_jdbc = import ../servers/sql/mysql/jdbc {
5165     inherit fetchurl stdenv ant;
5166   };
5168   nagios = import ../servers/monitoring/nagios {
5169     inherit fetchurl stdenv perl gd libpng zlib;
5170     gdSupport = true;
5171   };
5173   nagiosPluginsOfficial = import ../servers/monitoring/nagios/plugins/official {
5174     inherit fetchurl stdenv openssh;
5175   };
5177   openfire = composedArgsAndFun (import ../servers/xmpp/openfire) {
5178     inherit builderDefs jre;
5179   };
5181   postgresql = postgresql83;
5183   postgresql83 = import ../servers/sql/postgresql/8.3.x.nix {
5184     inherit fetchurl stdenv readline ncurses zlib;
5185   };
5187   postgresql84 = import ../servers/sql/postgresql/8.4.x.nix {
5188     inherit fetchurl stdenv readline ncurses zlib;
5189   };
5191   postgresql_jdbc = import ../servers/sql/postgresql/jdbc {
5192     inherit fetchurl stdenv ant;
5193   };
5195   pyIRCt = builderDefsPackage (import ../servers/xmpp/pyIRCt) {
5196     inherit xmpppy pythonIRClib python makeWrapper;
5197   };
5199   pyMAILt = builderDefsPackage (import ../servers/xmpp/pyMAILt) {
5200     inherit xmpppy python makeWrapper fetchcvs;
5201   };
5203   samba = makeOverridable (import ../servers/samba) {
5204     inherit stdenv fetchurl readline openldap pam kerberos popt iniparser
5205   libunwind acl fam;
5206   };
5208   squids = recurseIntoAttrs( import ../servers/squid/squids.nix {
5209     inherit fetchurl stdenv perl lib composableDerivation;
5210   });
5211   squid = squids.squid3Beta; # has ipv6 support
5213   tomcat5 = import ../servers/http/tomcat {
5214     inherit fetchurl stdenv jdk;
5215   };
5217   tomcat6 = import ../servers/http/tomcat/6.0.nix {
5218     inherit fetchurl stdenv jdk;
5219   };
5221   tomcat_mysql_jdbc = import ../servers/http/tomcat/jdbc/mysql {
5222     inherit stdenv tomcat6 mysql_jdbc;
5223   };
5225   axis2 = import ../servers/http/tomcat/axis2 {
5226     inherit fetchurl stdenv jdk apacheAnt unzip;
5227   };
5229   vsftpd = import ../servers/ftp/vsftpd {
5230     inherit fetchurl openssl stdenv libcap pam;
5231   };
5233   xinetd = import ../servers/xinetd {
5234     inherit fetchurl stdenv;
5235   };
5237   xorg = recurseIntoAttrs (import ../servers/x11/xorg/default.nix {
5238     inherit fetchurl fetchsvn stdenv pkgconfig freetype fontconfig
5239       libxslt expat libdrm libpng zlib perl mesa mesaHeaders
5240       xkeyboard_config dbus hal libuuid openssl gperf m4
5241       automake autoconf libtool;
5243     # !!! pythonBase is use instead of python because this cause an infinite
5244     # !!! recursion when the flag python.full is set to true.  Packages
5245     # !!! contained in the loop are python, tk, xlibs-wrapper, libX11,
5246     # !!! libxcd (and xcb-proto).
5247     python =  pythonBase;
5248   });
5250   xorgReplacements = composedArgsAndFun (import ../servers/x11/xorg/replacements.nix) {
5251     inherit fetchurl stdenv automake autoconf libtool xorg composedArgsAndFun;
5252   };
5254   xorgVideoUnichrome = import ../servers/x11/xorg/unichrome/default.nix {
5255     inherit stdenv fetchgit pkgconfig libdrm mesa automake autoconf libtool;
5256     inherit (xorg) fontsproto libpciaccess randrproto renderproto videoproto
5257       libX11 xextproto xf86driproto xorgserver xproto libXvMC glproto
5258       libXext utilmacros;
5259   };
5261   zabbixAgent = import ../servers/monitoring/zabbix {
5262     inherit fetchurl stdenv;
5263     enableServer = false;
5264   };
5266   zabbixServer = import ../servers/monitoring/zabbix {
5267     inherit fetchurl stdenv postgresql curl;
5268     enableServer = true;
5269   };
5272   ### OS-SPECIFIC
5274   afuse = import ../os-specific/linux/afuse {
5275     inherit fetchurl stdenv lib pkgconfig fuse;
5276   };
5278   autofs5 = import ../os-specific/linux/autofs/autofs-v5.nix {
5279     inherit sourceFromHead fetchurl stdenv flex bison kernelHeaders;
5280   };
5282   _915resolution = import ../os-specific/linux/915resolution {
5283     inherit fetchurl stdenv;
5284   };
5286   nfsUtils = import ../os-specific/linux/nfs-utils {
5287     inherit fetchurl stdenv tcpWrapper libuuid;
5288   };
5290   acpi = import ../os-specific/linux/acpi {
5291     inherit fetchurl stdenv;
5292   };
5294   acpid = import ../os-specific/linux/acpid {
5295     inherit fetchurl stdenv;
5296   };
5298   acpitool = import ../os-specific/linux/acpitool {
5299     inherit fetchurl stdenv;
5300   };
5302   alsaLib = import ../os-specific/linux/alsa-lib {
5303     inherit stdenv fetchurl;
5304   };
5306   alsaPlugins = import ../os-specific/linux/alsa-plugins {
5307     inherit fetchurl stdenv lib pkgconfig alsaLib pulseaudio jackaudio;
5308   };
5309   alsaPluginWrapper = import ../os-specific/linux/alsa-plugins/wrapper.nix {
5310     inherit stdenv alsaPlugins writeScriptBin;
5311   };
5313   alsaUtils = import ../os-specific/linux/alsa-utils {
5314     inherit stdenv fetchurl alsaLib gettext ncurses;
5315   };
5317   bluez = import ../os-specific/linux/bluez {
5318     inherit fetchurl stdenv pkgconfig dbus libusb alsaLib glib;
5319   };
5321   bridge_utils = import ../os-specific/linux/bridge_utils {
5322     inherit fetchurl stdenv autoconf automake;
5323   };
5325   cpufrequtils = (
5326     import ../os-specific/linux/cpufrequtils {
5327     inherit fetchurl stdenv libtool gettext;
5328     glibc = stdenv.gcc.libc;
5329     kernelHeaders = stdenv.gcc.libc.kernelHeaders;
5330   });
5332   cryopid = import ../os-specific/linux/cryopid {
5333     inherit fetchurl stdenv zlibStatic;
5334   };
5336   cryptsetup = import ../os-specific/linux/cryptsetup {
5337     inherit stdenv fetchurl libuuid popt devicemapper udev;
5338   };
5340   cramfsswap = import ../os-specific/linux/cramfsswap {
5341     inherit fetchurl stdenv zlib;
5342   };
5344   darwinArchUtility = import ../os-specific/darwin/arch {
5345     inherit stdenv;
5346   };
5348   darwinSwVersUtility = import ../os-specific/darwin/sw_vers {
5349     inherit stdenv;
5350   };
5352   devicemapper = lvm2;
5354   dmidecode = import ../os-specific/linux/dmidecode {
5355     inherit fetchurl stdenv;
5356   };
5358   dietlibc = import ../os-specific/linux/dietlibc {
5359     inherit fetchurl glibc;
5360     # Dietlibc 0.30 doesn't compile on PPC with GCC 4.1, bus GCC 3.4 works.
5361     stdenv = if stdenv.system == "powerpc-linux" then overrideGCC stdenv gcc34 else stdenv;
5362   };
5364   directvnc = builderDefsPackage ../os-specific/linux/directvnc {
5365     inherit libjpeg pkgconfig zlib directfb;
5366     inherit (xlibs) xproto;
5367   };
5369   dmraid = builderDefsPackage ../os-specific/linux/dmraid {
5370     inherit devicemapper;
5371   };
5373   libuuid = if ! stdenv.isDarwin then utillinuxng else null;
5375   e3cfsprogs = import ../os-specific/linux/e3cfsprogs {
5376     inherit stdenv fetchurl gettext;
5377   };
5379   eject = import ../os-specific/linux/eject {
5380     inherit fetchurl stdenv gettext;
5381   };
5383   fbterm = builderDefsPackage (import ../os-specific/linux/fbterm) {
5384     inherit fontconfig gpm freetype pkgconfig ncurses;
5385   };
5387   fuse = import ../os-specific/linux/fuse {
5388     inherit fetchurl stdenv utillinux;
5389   };
5391   fxload = import ../os-specific/linux/fxload {
5392     inherit fetchurl stdenv;
5393   };
5395   gpm = import ../servers/gpm {
5396     inherit fetchurl stdenv ncurses bison;
5397     flex = flex2535;
5398   };
5400   hal = makeOverridable (import ../os-specific/linux/hal) {
5401     inherit fetchurl stdenv pkgconfig python pciutils usbutils expat
5402       libusb dbus dbus_glib libuuid perl perlXMLParser
5403       gettext zlib eject libsmbios udev gperf dmidecode utillinuxng
5404       consolekit policykit pmutils glib;
5405   };
5407   halevt = import ../os-specific/linux/hal/hal-evt.nix {
5408     inherit fetchurl stdenv lib libxml2 pkgconfig boolstuff hal dbus_glib;
5409   };
5411   hal_info = import ../os-specific/linux/hal/info.nix {
5412     inherit fetchurl stdenv pkgconfig;
5413   };
5415   hal_info_synaptics = import ../os-specific/linux/hal/synaptics.nix {
5416     inherit stdenv;
5417   };
5419   hdparm = import ../os-specific/linux/hdparm {
5420     inherit fetchurl stdenv;
5421   };
5423   hibernate = import ../os-specific/linux/hibernate {
5424     inherit fetchurl stdenv gawk;
5425   };
5427   htop = import ../os-specific/linux/htop {
5428     inherit fetchurl stdenv ncurses;
5429   };
5431   hwdata = import ../os-specific/linux/hwdata {
5432     inherit fetchurl stdenv;
5433   };
5435   ifplugd = import ../os-specific/linux/ifplugd {
5436     inherit fetchurl stdenv pkgconfig libdaemon;
5437   };
5439   iproute = import ../os-specific/linux/iproute {
5440     inherit fetchurl stdenv flex bison db4;
5441   };
5443   iputils = (
5444     import ../os-specific/linux/iputils {
5445     inherit fetchurl stdenv;
5446     glibc = stdenv.gcc.libc;
5447     kernelHeaders = stdenv.gcc.libc.kernelHeaders;
5448   });
5450   iptables = import ../os-specific/linux/iptables {
5451     inherit fetchurl stdenv;
5452   };
5454   ipw2200fw = import ../os-specific/linux/firmware/ipw2200 {
5455     inherit fetchurl stdenv;
5456   };
5458   iwlwifi1000ucode = import ../os-specific/linux/firmware/iwlwifi-1000-ucode {
5459     inherit fetchurl stdenv;
5460   };
5462   iwlwifi3945ucode = import ../os-specific/linux/firmware/iwlwifi-3945-ucode {
5463     inherit fetchurl stdenv;
5464   };
5466   iwlwifi4965ucodeV1 = import ../os-specific/linux/firmware/iwlwifi-4965-ucode {
5467     inherit fetchurl stdenv;
5468   };
5470   iwlwifi4965ucodeV2 = import ../os-specific/linux/firmware/iwlwifi-4965-ucode/version-2.nix {
5471     inherit fetchurl stdenv;
5472   };
5474   iwlwifi5000ucode = import ../os-specific/linux/firmware/iwlwifi-5000-ucode {
5475     inherit fetchurl stdenv;
5476   };
5478   kbd = import ../os-specific/linux/kbd {
5479     inherit fetchurl stdenv bison flex;
5480   };
5482   kernelHeaders = kernelHeaders_2_6_28;
5484   kernelHeaders_2_6_18 = import ../os-specific/linux/kernel-headers/2.6.18.5.nix {
5485     inherit fetchurl stdenv unifdef;
5486   };
5488   kernelHeaders_2_6_28 = import ../os-specific/linux/kernel-headers/2.6.28.nix {
5489     inherit fetchurl stdenv perl;
5490   };
5492   kernelHeadersArm = import ../os-specific/linux/kernel-headers-cross {
5493     inherit fetchurl stdenv;
5494     cross = "arm-linux";
5495   };
5497   kernelHeadersMips = import ../os-specific/linux/kernel-headers-cross {
5498     inherit fetchurl stdenv;
5499     cross = "mips-linux";
5500   };
5502   kernelHeadersSparc = import ../os-specific/linux/kernel-headers-cross {
5503     inherit fetchurl stdenv;
5504     cross = "sparc-linux";
5505   };
5507   kernelPatches = import ../os-specific/linux/kernel/patches.nix {
5508     inherit fetchurl;
5509   };
5511   kernel_2_6_25 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.25.nix) {
5512     inherit fetchurl stdenv perl mktemp module_init_tools;
5513     kernelPatches =
5514       [ kernelPatches.fbcondecor_2_6_25
5515         kernelPatches.sec_perm_2_6_24
5516       ];
5517   };
5519   kernel_2_6_27 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.27.nix) {
5520     inherit fetchurl stdenv perl mktemp module_init_tools;
5521     kernelPatches =
5522       [ kernelPatches.fbcondecor_2_6_27
5523         kernelPatches.sec_perm_2_6_24
5524       ];
5525   };
5527   kernel_2_6_28 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.28.nix) {
5528     inherit fetchurl stdenv perl mktemp module_init_tools;
5529     kernelPatches =
5530       [ kernelPatches.fbcondecor_2_6_28
5531         kernelPatches.sec_perm_2_6_24
5532         kernelPatches.ext4_softlockups_2_6_28
5533       ];
5534   };
5536   kernel_2_6_29 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.29.nix) {
5537     inherit fetchurl stdenv perl mktemp module_init_tools;
5538     kernelPatches =
5539       [ kernelPatches.fbcondecor_2_6_29
5540         kernelPatches.sec_perm_2_6_24
5541       ];
5542   };
5544   kernel_2_6_31 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.31.nix) {
5545     inherit fetchurl stdenv perl mktemp module_init_tools;
5546     kernelPatches = [];
5547   };
5549   kernel_2_6_31_zen5 = makeOverridable (import ../os-specific/linux/zen-kernel/2.6.31-zen5.nix) {
5550     inherit fetchurl stdenv perl mktemp module_init_tools
5551       lib builderDefs;
5552   };
5554   kernel_2_6_31_zen5_bfs = kernel_2_6_31_zen5.override {
5555     ckSched = true;
5556   };
5558   kernel_2_6_31_zen7 = makeOverridable (import ../os-specific/linux/zen-kernel/zen-stable.nix) {
5559     inherit fetchurl stdenv perl mktemp module_init_tools
5560       lib builderDefs;
5561   };
5563   kernel_2_6_31_zen7_bfs = kernel_2_6_31_zen7.override {
5564     ckSched = true;
5565   };
5567   kernel_2_6_31_zen = kernel_2_6_31_zen7;
5568   kernel_2_6_31_zen_bfs = kernel_2_6_31_zen7_bfs;
5570   kernel_2_6_32 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.32.nix) {
5571     inherit fetchurl stdenv perl mktemp module_init_tools;
5572     kernelPatches =
5573       [ kernelPatches.fbcondecor_2_6_31
5574         kernelPatches.sec_perm_2_6_24
5575       ];
5576   };
5578   /* Kernel modules are inherently tied to a specific kernel.  So
5579      rather than provide specific instances of those packages for a
5580      specific kernel, we have a function that builds those packages
5581      for a specific kernel.  This function can then be called for
5582      whatever kernel you're using. */
5584   kernelPackagesFor = kernel: rec {
5586     inherit kernel;
5588     aufs = import ../os-specific/linux/aufs {
5589       inherit fetchurl stdenv kernel;
5590     };
5592     # Currently it is broken
5593     # Build requires exporting some symbols from kernel
5594     # Go to package homepage to learn about the needed
5595     # patch. Feel free to take over the package.
5596     aufs2 = import ../os-specific/linux/aufs2 {
5597       inherit fetchgit stdenv kernel perl;
5598     };
5600     aufs2Utils = if lib.attrByPath ["features" "aufs"] false kernel then
5601       builderDefsPackage ../os-specific/linux/aufs2-utils {
5602         inherit kernel;
5603       }
5604     else null;
5606     exmap = import ../os-specific/linux/exmap {
5607       inherit fetchurl stdenv kernel boost pcre pkgconfig;
5608       inherit (gtkLibs) gtkmm;
5609     };
5611     iwlwifi = import ../os-specific/linux/iwlwifi {
5612       inherit fetchurl stdenv kernel;
5613     };
5615     iwlwifi4965ucode =
5616       (if (builtins.compareVersions kernel.version "2.6.27" == 0)
5617           || (builtins.compareVersions kernel.version "2.6.27" == 1)
5618        then iwlwifi4965ucodeV2
5619        else iwlwifi4965ucodeV1);
5621     atheros = composedArgsAndFun (import ../os-specific/linux/atheros/0.9.4.nix) {
5622       inherit fetchurl stdenv builderDefs kernel lib;
5623     };
5625     nvidia_x11 = import ../os-specific/linux/nvidia-x11 {
5626       inherit stdenv fetchurl kernel xlibs gtkLibs zlib perl;
5627     };
5629     nvidia_x11_legacy = import ../os-specific/linux/nvidia-x11/legacy.nix {
5630       inherit stdenv fetchurl kernel xlibs gtkLibs zlib;
5631     };
5633     wis_go7007 = import ../os-specific/linux/wis-go7007 {
5634       inherit fetchurl stdenv kernel ncurses fxload;
5635     };
5637     kqemu = builderDefsPackage ../os-specific/linux/kqemu/1.4.0pre1.nix {
5638       inherit kernel perl;
5639     };
5641     splashutils =
5642       # Splashutils 1.3 is broken, so disable splash on older kernels.
5643       if kernel.features ? fbSplash then /* splashutils_13 */ null else
5644       if kernel.features ? fbConDecor then splashutils_15 else
5645       null;
5647     ext3cowtools = import ../os-specific/linux/ext3cow-tools {
5648       inherit stdenv fetchurl;
5649       kernel_ext3cowpatched = kernel;
5650     };
5652     /* compiles but has to be integrated into the kernel somehow
5653       Let's have it uncommented and finish it..
5654     */
5655     ndiswrapper = import ../os-specific/linux/ndiswrapper {
5656       inherit fetchurl stdenv;
5657       inherit kernel perl;
5658     };
5660     ov511 = import ../os-specific/linux/ov511 {
5661       inherit fetchurl kernel;
5662       stdenv = overrideGCC stdenv gcc34;
5663     };
5665     # State Nix
5666     snix = import ../tools/package-management/snix {
5667       inherit fetchurl stdenv perl curl bzip2 openssl bison;
5668       inherit libtool automake autoconf docbook5 docbook5_xsl libxslt docbook_xml_dtd_43 w3m;
5670       aterm = aterm242fixes;
5671       db4 = db45;
5673       flex = flex2533;
5675       inherit ext3cowtools e3cfsprogs rsync;
5676       ext3cow_kernel = kernel;
5677     };
5679     sysprof = import ../development/tools/profiling/sysprof {
5680       inherit fetchurl stdenv binutils pkgconfig kernel;
5681       inherit (gnome) gtk glib pango libglade;
5682     };
5684     virtualbox = import ../applications/virtualization/virtualbox {
5685       stdenv = stdenv_32bit;
5686       inherit fetchurl lib iasl dev86 libxslt libxml2 SDL hal
5687           libcap libpng zlib kernel python which alsaLib curl glib;
5688       qt4 = qt45;
5689       inherit (xlibs) xproto libX11 libXext libXcursor;
5690       inherit (gnome) libIDL;
5691     };
5693     virtualboxGuestAdditions = import ../applications/virtualization/virtualbox/guest-additions {
5694       inherit stdenv fetchurl lib patchelf cdrkit kernel;
5695       inherit (xlibs) libX11 libXt libXext libXmu libXcomposite libXfixes;
5696     };
5697   };
5699   # Build the kernel modules for the some of the kernels.
5700   kernelPackages_2_6_25 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_25);
5701   kernelPackages_2_6_27 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_27);
5702   kernelPackages_2_6_28 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_28);
5703   kernelPackages_2_6_29 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_29);
5704   kernelPackages_2_6_31_zen5 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_31_zen5);
5705   kernelPackages_2_6_31_zen = recurseIntoAttrs (kernelPackagesFor kernel_2_6_31_zen);
5706   kernelPackages_2_6_31_zen_bfs = recurseIntoAttrs (kernelPackagesFor kernel_2_6_31_zen_bfs);
5707   kernelPackages_2_6_31 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_31);
5708   kernelPackages_2_6_32 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_32);
5710   # The current default kernel / kernel modules.
5711   kernel = kernel_2_6_32;
5712   kernelPackages = kernelPackagesFor kernel;
5714   customKernel = composedArgsAndFun (lib.sumTwoArgs (import ../os-specific/linux/kernel/generic.nix) {
5715     inherit fetchurl stdenv perl mktemp module_init_tools;
5716   });
5718   libselinux = import ../os-specific/linux/libselinux {
5719     inherit fetchurl stdenv libsepol;
5720   };
5722   libraw1394 = import ../development/libraries/libraw1394 {
5723     inherit fetchurl stdenv;
5724   };
5726   libsexy = import ../development/libraries/libsexy {
5727     inherit stdenv fetchurl pkgconfig libxml2;
5728     inherit (gtkLibs) glib gtk pango;
5729   };
5731   librsvg = gnome.librsvg;
5733   libsepol = import ../os-specific/linux/libsepol {
5734     inherit fetchurl stdenv;
5735   };
5737   libsmbios = import ../os-specific/linux/libsmbios {
5738     inherit fetchurl stdenv pkgconfig libxml2 perl;
5739   };
5741   lm_sensors = import ../os-specific/linux/lm_sensors {
5742     inherit fetchurl stdenv bison flex perl;
5743   };
5745   klibc = makeOverridable (import ../os-specific/linux/klibc) {
5746     inherit fetchurl stdenv perl bison mktemp;
5747     kernelHeaders = glibc.kernelHeaders;
5748   };
5750   # Old version; needed in vmtools for insmod.  Should use
5751   # module_init_tools instead.
5752   klibc_15 = makeOverridable (import ../os-specific/linux/klibc/1.5.nix) {
5753     inherit fetchurl stdenv perl bison mktemp;
5754     kernelHeaders = glibc.kernelHeaders;
5755   };
5757   klibcShrunk = makeOverridable (import ../os-specific/linux/klibc/shrunk.nix) {
5758     inherit stdenv klibc;
5759   };
5761   kvm = kvm76;
5763   kvm76 = import ../os-specific/linux/kvm/76.nix {
5764     inherit fetchurl stdenv zlib e2fsprogs SDL alsaLib pkgconfig rsync;
5765     inherit (glibc) kernelHeaders;
5766   };
5768   kvm86 = import ../os-specific/linux/kvm/86.nix {
5769     inherit fetchurl stdenv zlib SDL alsaLib pkgconfig pciutils;
5770     inherit (glibc) kernelHeaders;
5771   };
5773   kvm88 = import ../os-specific/linux/kvm/88.nix {
5774     inherit fetchurl stdenv zlib SDL alsaLib pkgconfig pciutils;
5775     inherit (glibc) kernelHeaders;
5776   };
5778   libcap = import ../os-specific/linux/libcap {
5779     inherit fetchurl stdenv attr;
5780   };
5782   libnscd = import ../os-specific/linux/libnscd {
5783     inherit fetchurl stdenv;
5784   };
5786   libnotify = import ../development/libraries/libnotify {
5787     inherit stdenv fetchurl pkgconfig dbus dbus_glib;
5788     inherit (gtkLibs) gtk glib;
5789   };
5791   libvolume_id = import ../os-specific/linux/libvolume_id {
5792     inherit fetchurl stdenv;
5793   };
5795   lvm2 = import ../os-specific/linux/lvm2 {
5796     inherit fetchurl stdenv;
5797   };
5799   mdadm = import ../os-specific/linux/mdadm {
5800     inherit fetchurl stdenv groff;
5801   };
5803   mingetty = import ../os-specific/linux/mingetty {
5804     inherit fetchurl stdenv;
5805   };
5807   module_init_tools = import ../os-specific/linux/module-init-tools {
5808     inherit fetchurl stdenv;
5809   };
5811   mount_cifs = import ../os-specific/linux/mount-cifs {
5812     inherit fetchurl stdenv;
5813   };
5815   aggregateModules = modules:
5816     import ../os-specific/linux/module-init-tools/aggregator.nix {
5817       inherit stdenv module_init_tools modules buildEnv;
5818     };
5820   modutils = import ../os-specific/linux/modutils {
5821     inherit fetchurl bison flex;
5822     stdenv = overrideGCC stdenv gcc34;
5823   };
5825   nettools = import ../os-specific/linux/net-tools {
5826     inherit fetchurl stdenv;
5827   };
5829   neverball = import ../games/neverball {
5830     inherit stdenv fetchurl SDL mesa libpng libjpeg SDL_ttf libvorbis
5831       gettext physfs;
5832   };
5834   numactl = import ../os-specific/linux/numactl {
5835     inherit fetchurl stdenv;
5836   };
5838   gw6c = builderDefsPackage (import ../os-specific/linux/gw6c) {
5839     inherit fetchurl stdenv nettools openssl procps iproute;
5840   };
5842   nss_ldap = import ../os-specific/linux/nss_ldap {
5843     inherit fetchurl stdenv openldap;
5844   };
5846   pam = import ../os-specific/linux/pam {
5847     inherit stdenv fetchurl cracklib flex;
5848   };
5850   # pam_bioapi ( see http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader )
5852   pam_console = import ../os-specific/linux/pam_console {
5853     inherit stdenv fetchurl pam autoconf automake pkgconfig bison glib;
5854     libtool = libtool_1_5;
5855     flex = if stdenv.system == "i686-linux" then flex else flex2533;
5856   };
5858   pam_devperm = import ../os-specific/linux/pam_devperm {
5859     inherit stdenv fetchurl pam;
5860   };
5862   pam_ldap = import ../os-specific/linux/pam_ldap {
5863     inherit stdenv fetchurl pam openldap;
5864   };
5866   pam_login = import ../os-specific/linux/pam_login {
5867     inherit stdenv fetchurl pam;
5868   };
5870   pam_unix2 = import ../os-specific/linux/pam_unix2 {
5871     inherit stdenv fetchurl pam libxcrypt;
5872   };
5874   pam_usb = import ../os-specific/linux/pam_usb {
5875     inherit stdenv fetchurl makeWrapper useSetUID dbus libxml2 pam hal pkgconfig pmount python pythonDBus;
5876   };
5878   pcmciaUtils = composedArgsAndFun (import ../os-specific/linux/pcmciautils) {
5879     inherit stdenv fetchurl udev yacc flex;
5880     inherit sysfsutils module_init_tools;
5882     firmware = getConfig ["pcmciaUtils" "firmware"] [];
5883     config = getConfig ["pcmciaUtils" "config"] null;
5884     inherit lib;
5885   };
5887   pmount = import ../os-specific/linux/pmount {
5888     inherit fetchurl stdenv cryptsetup dbus dbus_glib hal intltool ntfs3g utillinuxng;
5889   };
5891   pmutils = import ../os-specific/linux/pm-utils {
5892     inherit fetchurl stdenv;
5893   };
5895   powertop = import ../os-specific/linux/powertop {
5896     inherit fetchurl stdenv ncurses gettext;
5897   };
5899   procps = import ../os-specific/linux/procps {
5900     inherit fetchurl stdenv ncurses;
5901   };
5903   pwdutils = import ../os-specific/linux/pwdutils {
5904     inherit fetchurl stdenv pam openssl libnscd;
5905   };
5907   qemu_kvm = import ../os-specific/linux/qemu-kvm {
5908     inherit fetchurl stdenv zlib SDL alsaLib pkgconfig pciutils;
5909   };
5911   radeontools = import ../os-specific/linux/radeontools {
5912     inherit pciutils;
5913     inherit fetchurl stdenv;
5914   };
5916   rt73fw = import ../os-specific/linux/firmware/rt73 {
5917     inherit fetchurl stdenv unzip;
5918   };
5920   sdparm = import ../os-specific/linux/sdparm {
5921     inherit fetchurl stdenv;
5922   };
5924   shadowutils = import ../os-specific/linux/shadow {
5925     inherit fetchurl stdenv;
5926   };
5928   splashutils_13 = import ../os-specific/linux/splashutils/1.3.nix {
5929     inherit fetchurl stdenv klibc;
5930     zlib = zlibStatic;
5931     libjpeg = libjpegStatic;
5932   };
5934   splashutils_15 = import ../os-specific/linux/splashutils/1.5.nix {
5935     inherit fetchurl stdenv klibc;
5936     zlib = zlibStatic;
5937     libjpeg = libjpegStatic;
5938   };
5940   statifier = builderDefsPackage (import ../os-specific/linux/statifier) {
5941   };
5943   sysfsutils = import ../os-specific/linux/sysfsutils {
5944     inherit fetchurl stdenv;
5945   };
5947   # Provided with sysfsutils.
5948   libsysfs = sysfsutils;
5949   systool = sysfsutils;
5951   sysklogd = import ../os-specific/linux/sysklogd {
5952     inherit fetchurl stdenv;
5953   };
5955   syslinux = import ../os-specific/linux/syslinux {
5956     inherit fetchurl stdenv nasm perl;
5957   };
5959   sysstat = import ../os-specific/linux/sysstat {
5960     inherit fetchurl stdenv gettext;
5961   };
5963   sysvinit = import ../os-specific/linux/sysvinit {
5964     inherit fetchurl stdenv;
5965   };
5967   sysvtools = import ../os-specific/linux/sysvinit {
5968     inherit fetchurl stdenv;
5969     withoutInitTools = true;
5970   };
5972   # FIXME: `tcp-wrapper' is actually not OS-specific.
5973   tcpWrapper = import ../os-specific/linux/tcp-wrapper {
5974     inherit fetchurl stdenv;
5975   };
5977   trackballs = import ../games/trackballs {
5978     inherit stdenv fetchurl SDL mesa SDL_ttf gettext zlib SDL_mixer SDL_image guile;
5979     debug = false;
5980   };
5982   tunctl = import ../os-specific/linux/tunctl {
5983     inherit stdenv fetchurl;
5984   };
5986   /*tuxracer = builderDefsPackage (import ../games/tuxracer) {
5987     inherit mesa tcl freeglut;
5988     inherit (xlibs) libX11 xproto;
5989   };*/
5991   udev = makeOverridable (import ../os-specific/linux/udev) {
5992     inherit fetchurl stdenv gperf pkgconfig acl libusb usbutils pciutils glib;
5993   };
5995   uml = import ../os-specific/linux/kernel/linux-2.6.29.nix {
5996     inherit fetchurl stdenv perl mktemp module_init_tools;
5997     userModeLinux = true;
5998   };
6000   umlutilities = import ../os-specific/linux/uml-utilities {
6001     inherit fetchurl kernelHeaders stdenv readline lib;
6002     tunctl = true; mconsole = true;
6003   };
6005   upstart = import ../os-specific/linux/upstart {
6006     inherit fetchurl stdenv;
6007   };
6009   upstart06 = import ../os-specific/linux/upstart/0.6.nix {
6010     inherit fetchurl stdenv pkgconfig dbus expat;
6011   };
6013   upstartJobControl = import ../os-specific/linux/upstart/jobcontrol.nix {
6014     inherit stdenv;
6015   };
6017   usbutils = import ../os-specific/linux/usbutils {
6018     inherit fetchurl stdenv pkgconfig libusb;
6019   };
6021   utillinux = utillinuxng;
6023   utillinuxCurses = utillinuxngCurses;
6025   utillinuxng = makeOverridable (import ../os-specific/linux/util-linux-ng) {
6026     inherit fetchurl stdenv;
6027   };
6029   utillinuxngCurses = utillinuxng.override {
6030     inherit ncurses;
6031   };
6033   wesnoth = import ../games/wesnoth {
6034     inherit fetchurl stdenv SDL SDL_image SDL_mixer SDL_net SDL_ttf
6035       gettext zlib boost freetype libpng pkgconfig;
6036     inherit (gtkLibs) pango;
6037   };
6039   wirelesstools = import ../os-specific/linux/wireless-tools {
6040     inherit fetchurl stdenv;
6041   };
6043   wpa_supplicant = import ../os-specific/linux/wpa_supplicant {
6044     inherit fetchurl stdenv openssl;
6045   };
6047   wpa_supplicant_gui_qt4 = import ../os-specific/linux/wpa_supplicant/gui-qt4.nix {
6048     inherit fetchurl stdenv qt4 imagemagick inkscape;
6049   };
6051   xmoto = builderDefsPackage (import ../games/xmoto) {
6052     inherit chipmunk sqlite curl zlib bzip2 libjpeg libpng
6053       freeglut mesa SDL SDL_mixer SDL_image SDL_net SDL_ttf
6054       lua5 ode;
6055   };
6057   xorg_sys_opengl = import ../os-specific/linux/opengl/xorg-sys {
6058     inherit stdenv xlibs expat libdrm;
6059   };
6061   zd1211fw = import ../os-specific/linux/firmware/zd1211 {
6062     inherit stdenv fetchurl;
6063   };
6065   ### DATA
6067   arkpandora_ttf = builderDefsPackage (import ../data/fonts/arkpandora) {
6068   };
6070   bakoma_ttf = import ../data/fonts/bakoma-ttf {
6071     inherit fetchurl stdenv;
6072   };
6074   corefonts = import ../data/fonts/corefonts {
6075     inherit fetchurl stdenv cabextract;
6076   };
6078   wrapFonts = paths : ((import ../data/fonts/fontWrap) {
6079     inherit fetchurl stdenv builderDefs paths ttmkfdir;
6080     inherit (xorg) mkfontdir mkfontscale;
6081   });
6083   clearlyU = composedArgsAndFun (import ../data/fonts/clearlyU/1.9.nix) {
6084     inherit builderDefs;
6085     inherit (xorg) mkfontdir mkfontscale;
6086   };
6088   dejavu_fonts = import ../data/fonts/dejavu-fonts {
6089     inherit fetchurl stdenv fontforge perl fontconfig;
6090     inherit (perlPackages) FontTTF;
6091   };
6093   docbook5 = import ../data/sgml+xml/schemas/docbook-5.0 {
6094     inherit fetchurl stdenv unzip;
6095   };
6097   docbook_xml_dtd_412 = import ../data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix {
6098     inherit fetchurl stdenv unzip;
6099   };
6101   docbook_xml_dtd_42 = import ../data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix {
6102     inherit fetchurl stdenv unzip;
6103   };
6105   docbook_xml_dtd_43 = import ../data/sgml+xml/schemas/xml-dtd/docbook/4.3.nix {
6106     inherit fetchurl stdenv unzip;
6107   };
6109   docbook_xml_dtd_45 = import ../data/sgml+xml/schemas/xml-dtd/docbook/4.5.nix {
6110     inherit fetchurl stdenv unzip;
6111   };
6113   docbook_xml_ebnf_dtd = import ../data/sgml+xml/schemas/xml-dtd/docbook-ebnf {
6114     inherit fetchurl stdenv unzip;
6115   };
6117   docbook_xml_xslt = docbook_xsl;
6119   docbook_xsl = import ../data/sgml+xml/stylesheets/xslt/docbook-xsl {
6120     inherit fetchurl stdenv;
6121   };
6123   docbook5_xsl = docbook_xsl_ns;
6125   docbook_xsl_ns = import ../data/sgml+xml/stylesheets/xslt/docbook-xsl-ns {
6126     inherit fetchurl stdenv;
6127   };
6129   junicode = composedArgsAndFun (import ../data/fonts/junicode/0.6.15.nix) {
6130     inherit builderDefs fontforge unzip;
6131     inherit (xorg) mkfontdir mkfontscale;
6132   };
6134   freefont_ttf = import ../data/fonts/freefont-ttf {
6135     inherit fetchurl stdenv;
6136   };
6138   liberation_ttf = import ../data/fonts/redhat-liberation-fonts {
6139     inherit fetchurl stdenv;
6140   };
6142   libertine = builderDefsPackage (import ../data/fonts/libertine/2.7.nix) {
6143     inherit fontforge;
6144   };
6145   libertineBin = builderDefsPackage (import ../data/fonts/libertine/2.7.bin.nix) {
6146   };
6148   lmodern = import ../data/fonts/lmodern {
6149     inherit fetchurl stdenv;
6150   };
6152   manpages = import ../data/documentation/man-pages {
6153     inherit fetchurl stdenv;
6154   };
6156   miscfiles = import ../data/misc/miscfiles {
6157     inherit fetchurl stdenv;
6158   };
6160   mph_2b_damase = import ../data/fonts/mph-2b-damase {
6161     inherit fetchurl stdenv unzip;
6162   };
6164   pthreadmanpages = lowPrio (import ../data/documentation/pthread-man-pages {
6165     inherit fetchurl stdenv perl;
6166   });
6168   shared_mime_info = import ../data/misc/shared-mime-info {
6169     inherit fetchurl stdenv pkgconfig gettext
6170       intltool perl perlXMLParser libxml2 glib;
6171   };
6173   stdmanpages = import ../data/documentation/std-man-pages {
6174     inherit fetchurl stdenv;
6175   };
6177   iana_etc = import ../data/misc/iana-etc {
6178     inherit fetchurl stdenv;
6179   };
6181   popplerData = import ../data/misc/poppler-data {
6182     inherit fetchurl stdenv;
6183   };
6185   r3rs = import ../data/documentation/rnrs/r3rs.nix {
6186     inherit fetchurl stdenv texinfo;
6187   };
6189   r4rs = import ../data/documentation/rnrs/r4rs.nix {
6190     inherit fetchurl stdenv texinfo;
6191   };
6193   r5rs = import ../data/documentation/rnrs/r5rs.nix {
6194     inherit fetchurl stdenv texinfo;
6195   };
6197   themes = name: import (../data/misc/themes + ("/" + name + ".nix")) {
6198     inherit fetchurl;
6199   };
6201   ttf_bitstream_vera = import ../data/fonts/ttf-bitstream-vera {
6202     inherit fetchurl stdenv;
6203   };
6205   ucsFonts = import ../data/fonts/ucs-fonts {
6206     inherit fetchurl stdenv wrapFonts;
6207   };
6209   unifont = import ../data/fonts/unifont {
6210     inherit debPackage perl;
6211     inherit (xorg) mkfontdir mkfontscale bdftopcf fontutil;
6212   };
6214   vistafonts = import ../data/fonts/vista-fonts {
6215     inherit fetchurl stdenv cabextract;
6216   };
6218   wqy_zenhei = composedArgsAndFun (import ../data/fonts/wqy_zenhei/0.4.23-1.nix) {
6219     inherit builderDefs;
6220   };
6222   xhtml1 = import ../data/sgml+xml/schemas/xml-dtd/xhtml1 {
6223     inherit fetchurl stdenv libxml2;
6224   };
6226   xkeyboard_config = import ../data/misc/xkeyboard-config {
6227     inherit fetchurl stdenv perl perlXMLParser gettext intltool;
6228     inherit (xlibs) xkbcomp;
6229   };
6232   ### APPLICATIONS
6235   aangifte2005 = import ../applications/taxes/aangifte-2005 {
6236     inherit stdenv fetchurl;
6237     inherit (xlibs) libX11 libXext;
6238   };
6240   aangifte2006 = import ../applications/taxes/aangifte-2006 {
6241     inherit stdenv fetchurl;
6242     inherit (xlibs) libX11 libXext;
6243   };
6245   aangifte2007 = import ../applications/taxes/aangifte-2007 {
6246     inherit stdenv fetchurl;
6247     inherit (xlibs) libX11 libXext libSM;
6248   };
6250   aangifte2008 = import ../applications/taxes/aangifte-2008 {
6251     inherit stdenv fetchurl;
6252     inherit (xlibs) libX11 libXext libSM;
6253   };
6255   abcde = import ../applications/audio/abcde {
6256     inherit fetchurl stdenv libcdio cddiscid wget bash vorbisTools
6257             makeWrapper;
6258   };
6260   abiword = import ../applications/office/abiword {
6261     inherit fetchurl stdenv pkgconfig fribidi libpng popt libgsf enchant wv librsvg bzip2;
6262     inherit (gtkLibs) gtk;
6263     inherit (gnome) libglade libgnomecanvas;
6264   };
6266   adobeReader = import ../applications/misc/adobe-reader {
6267     inherit fetchurl stdenv zlib libxml2 cups;
6268     inherit (xlibs) libX11;
6269     inherit (gtkLibs) glib pango atk gtk;
6270   };
6272   amsn = import ../applications/networking/instant-messengers/amsn {
6273     inherit fetchurl stdenv which tcl tk x11;
6274     libstdcpp = gcc33.gcc;
6275   };
6277   ardour = import ../applications/audio/ardour {
6278     inherit fetchurl stdenv lib pkgconfig scons boost redland librdf_raptor
6279       librdf_rasqal jackaudio flac libsamplerate alsaLib libxml2 libxslt
6280       libsndfile libsigcxx libusb cairomm librdf liblo fftw fftwSinglePrec
6281       aubio libmad;
6282     inherit (gtkLibs) glib pango gtk glibmm gtkmm;
6283     inherit (gnome) libgnomecanvas;
6284   };
6286   audacious = import ../applications/audio/audacious/player.nix {
6287     inherit fetchurl stdenv pkgconfig libmowgli libmcs gettext xlibs dbus_glib;
6288     inherit (gnome) libglade;
6289     inherit (gtkLibs) glib gtk;
6290   };
6292   audacious_plugins = import ../applications/audio/audacious/plugins.nix {
6293     inherit fetchurl stdenv pkgconfig audacious dbus_glib gettext
6294       libmad xlibs alsaLib taglib libmpcdec libogg libvorbis
6295       libcdio libcddb libxml2;
6296   };
6298   audacity = import ../applications/audio/audacity {
6299     inherit fetchurl stdenv gettext pkgconfig zlib perl intltool libogg
6300       libvorbis libmad;
6301     inherit (gtkLibs) gtk glib;
6302     inherit wxGTK;
6303   };
6305   aumix = import ../applications/audio/aumix {
6306     inherit fetchurl stdenv ncurses pkgconfig gettext;
6307     inherit (gtkLibs) gtk;
6308     gtkGUI = false;
6309   };
6311   autopanosiftc = import ../applications/graphics/autopanosiftc {
6312     inherit fetchurl cmake libpng libtiff libjpeg panotools libxml2;
6313     stdenv = overrideGCC stdenv gcc43_wrapper2;
6314   };
6316   avidemux = import ../applications/video/avidemux {
6317     inherit fetchurl cmake pkgconfig libxml2 qt4 gettext SDL libxslt x264
6318       alsaLib lame faac faad2 libvorbis;
6319     stdenv = overrideGCC stdenv gcc43_wrapper2;
6320     inherit (gtkLibs) gtk;
6321     inherit (xlibs) libXv pixman libpthreadstubs libXau libXdmcp;
6322   };
6324   batik = import ../applications/graphics/batik {
6325     inherit fetchurl stdenv unzip;
6326   };
6328   bazaar = import ../applications/version-management/bazaar {
6329     inherit fetchurl stdenv makeWrapper;
6330     python = pythonFull;
6331   };
6333   bazaarTools = builderDefsPackage (import ../applications/version-management/bazaar/tools.nix) {
6334     inherit bazaar;
6335   };
6337   beast = import ../applications/audio/beast {
6338 # stdenv = overrideGCC stdenv gcc34;
6339     inherit stdenv fetchurl zlib guile pkgconfig intltool libogg libvorbis python libxml2 bash perl gettext;
6340     inherit (gtkLibs) gtk glib;
6341     inherit (gnome) libgnomecanvas libart_lgpl;
6342     inherit automake autoconf;
6343   };
6345   bitlbee = import ../applications/networking/instant-messengers/bitlbee {
6346     inherit fetchurl stdenv gnutls pkgconfig glib;
6347   };
6349   bitlbeeOtr = import ../applications/networking/instant-messengers/bitlbee-otr {
6350     inherit fetchbzr stdenv gnutls pkgconfig libotr libgcrypt
6351       libxslt xmlto docbook_xsl docbook_xml_dtd_42 perl glib;
6352   };
6354   # commented out because it's using the new configuration style proposal which is unstable
6355   #biew = import ../applications/misc/biew {
6356   #  inherit lib stdenv fetchurl ncurses;
6357   #};
6359   # only to be able to compile blender - I couldn't compile the default openal software
6360   # Perhaps this can be removed - don't know which one openal{,soft} is better
6361   freealut_soft = import ../development/libraries/freealut {
6362     inherit fetchurl stdenv;
6363     openal = openalSoft;
6364   };
6366   blender = import ../applications/misc/blender {
6367     inherit cmake mesa gettext freetype SDL libtiff fetchurl glibc scons x11 lib
6368       libjpeg libpng zlib /* smpeg sdl */ python;
6369     inherit (xlibs) inputproto libXi;
6370     freealut = freealut_soft;
6371     openal = openalSoft;
6372     openexr = openexr_1_4_0;
6373     # using gcc43 makes blender segfault when pressing p then esc.
6374     # is this related to the PHP bug? I'm to lazy to try recompilng it without optimizations
6375     stdenv = overrideGCC stdenv gcc42;
6376   };
6378   bmp = import ../applications/audio/bmp {
6379     inherit fetchurl stdenv pkgconfig libogg libvorbis alsaLib id3lib;
6380     inherit (gnome) esound libglade;
6381     inherit (gtkLibs) glib gtk;
6382   };
6384   bmp_plugin_musepack = import ../applications/audio/bmp-plugins/musepack {
6385     inherit fetchurl stdenv pkgconfig bmp libmpcdec taglib;
6386   };
6388   bmp_plugin_wma = import ../applications/audio/bmp-plugins/wma {
6389     inherit fetchurl stdenv pkgconfig bmp;
6390   };
6392   bvi = import ../applications/editors/bvi {
6393     inherit fetchurl stdenv ncurses;
6394   };
6396   calibre = import ../applications/misc/calibre {
6397     inherit stdenv fetchurl libpng imagemagick pkgconfig libjpeg fontconfig podofo
6398       qt4 makeWrapper unrar;
6399     python = python26Full;
6400     pyqt4 = pyqt4_python26;
6401     sip = sip_python26;
6402     pil = pil_python26;
6403     popplerQt4 = popplerQt45;
6404     inherit (python26Packages) mechanize lxml dateutil;
6405   };
6407   carrier = builderDefsPackage (import ../applications/networking/instant-messengers/carrier/2.5.0.nix) {
6408     inherit fetchurl stdenv pkgconfig perl perlXMLParser libxml2 openssl nss
6409       gtkspell aspell gettext ncurses avahi dbus dbus_glib python
6410       libtool automake autoconf;
6411     GStreamer = gst_all.gstreamer;
6412     inherit (gtkLibs) gtk glib;
6413     inherit (gnome) startupnotification GConf ;
6414     inherit (xlibs) libXScrnSaver scrnsaverproto libX11 xproto kbproto;
6415   };
6416   funpidgin = carrier;
6418   cddiscid = import ../applications/audio/cd-discid {
6419     inherit fetchurl stdenv;
6420   };
6422   cdparanoia = cdparanoiaIII;
6424   cdparanoiaIII = import ../applications/audio/cdparanoia {
6425     inherit fetchurl stdenv;
6426   };
6428   cdrtools = import ../applications/misc/cdrtools {
6429     inherit fetchurl stdenv;
6430   };
6432   chatzilla =
6433     xulrunnerWrapper {
6434       launcher = "chatzilla";
6435       application = import ../applications/networking/irc/chatzilla {
6436         inherit fetchurl stdenv unzip;
6437       };
6438     };
6440   chrome = import ../applications/networking/browsers/chromium {
6441     inherit stdenv fetchurl ffmpeg cairo nspr nss fontconfig freetype alsaLib makeWrapper unzip expat zlib bzip2 libpng;
6442     inherit (xlibs) libX11 libXext libXrender libXt ;
6443     inherit (gtkLibs) gtk glib pango atk;
6444     inherit (gnome) GConf;
6445     libjpeg = libjpeg62;
6446   };
6448   chromeWrapper = wrapFirefox chrome "chrome" "";
6451   cinelerra = import ../applications/video/cinelerra {
6452     inherit lib fetchurl sourceFromHead stdenv
6453       automake autoconf libtool
6454       a52dec alsaLib   lame libavc1394 libiec61883 libraw1394 libsndfile
6455       libvorbis libogg libjpeg libtiff freetype mjpegtools x264
6456       gettext faad2 faac libtheora libpng libdv perl nasm e2fsprogs
6457       pkgconfig;
6458       openexr = openexr_1_6_1;
6459     fftw = fftwSinglePrec;
6460     inherit (xorg) libXxf86vm libXv libXi libX11 xextproto;
6461     inherit (gnome) esound;
6462   };
6464   compizBase = (builderDefsPackage (import ../applications/window-managers/compiz/0.8.0.nix)) {
6465     inherit lib stringsWithDeps builderDefs;
6466     inherit fetchurl stdenv pkgconfig libpng mesa perl perlXMLParser libxslt gettext
6467       intltool binutils;
6468     inherit (xorg) libXcomposite libXfixes libXdamage libXrandr
6469       libXinerama libICE libSM libXrender xextproto compositeproto fixesproto
6470       damageproto randrproto xineramaproto renderproto kbproto xproto libX11
6471       libxcb;
6472     inherit (gnome) startupnotification libwnck GConf;
6473     inherit (gtkLibs) gtk;
6474     inherit (gnome) libgnome libgnomeui metacity
6475       glib pango libglade libgtkhtml gtkhtml
6476       libgnomecanvas libgnomeprint
6477       libgnomeprintui gnomepanel;
6478     gnomegtk = gnome.gtk;
6479     inherit librsvg fuse;
6480     inherit dbus dbus_glib;
6481   };
6483   compiz = compizBase.passthru.function (x : x // {
6484     extraConfigureFlags = getConfig ["compiz" "extraConfigureFlags"] [];
6485   });
6487   compizFusion = import ../applications/window-managers/compiz-fusion {
6488     version = getConfig ["compizFusion" "version"] "0.7.8";
6489     inherit compiz;
6490     inherit stringsWithDeps lib builderDefs;
6491     inherit fetchurl stdenv pkgconfig libpng mesa perl perlXMLParser libxslt libxml2;
6492     inherit (xorg) libXcomposite libXfixes libXdamage libXrandr
6493       libXinerama libICE libSM libXrender xextproto;
6494     inherit (gnome) startupnotification libwnck GConf;
6495     inherit (gtkLibs) gtk;
6496     inherit (gnome) libgnome libgnomeui metacity
6497       glib pango libglade libgtkhtml gtkhtml
6498       libgnomecanvas libgnomeprint
6499       libgnomeprintui gnomepanel gnomedesktop;
6500     gnomegtk = gnome.gtk;
6501     inherit librsvg fuse dbus dbus_glib git;
6502     inherit automake autoconf libtool intltool python pyrex gettext;
6503     inherit pygtk pycairo getopt libjpeg glxinfo;
6504     inherit (xorg) xvinfo xdpyinfo;
6505   };
6507   compizExtra = import ../applications/window-managers/compiz/extra.nix {
6508     inherit fetchurl stdenv pkgconfig compiz perl perlXMLParser dbus;
6509     inherit (gnome) GConf;
6510     inherit (gtkLibs) gtk;
6511   };
6513   cinepaint = import ../applications/graphics/cinepaint {
6514     inherit stdenv fetchcvs cmake pkgconfig freetype fontconfig lcms flex libtiff
6515       libjpeg libpng libexif zlib perl mesa perlXMLParser python pygtk gettext
6516       intltool babl gegl automake autoconf libtool;
6517     inherit (xlibs) makedepend libX11 xf86vidmodeproto xineramaproto libXmu
6518       libXext libXpm libXxf86vm;
6519     inherit (gtkLibs) gtk glib;
6520     openexr = openexr_1_6_1;
6521     fltk = fltk11;
6522   };
6524   codeville = builderDefsPackage (import ../applications/version-management/codeville/0.8.0.nix) {
6525     inherit makeWrapper;
6526     python = pythonFull;
6527   };
6529   comical = import ../applications/graphics/comical {
6530     inherit stdenv fetchurl utillinux zlib;
6531     wxGTK = wxGTK26;
6532   };
6534   cuneiform = builderDefsPackage (import ../tools/graphics/cuneiform) {
6535     inherit cmake patchelf;
6536     imagemagick=imagemagick;
6537   };
6539   cvs = import ../applications/version-management/cvs {
6540     inherit fetchurl stdenv nano;
6541   };
6543   cvsps = import ../applications/version-management/cvsps {
6544     inherit fetchurl stdenv cvs zlib;
6545   };
6547   cvs2svn = import ../applications/version-management/cvs2svn {
6548     inherit fetchurl stdenv python makeWrapper;
6549   };
6551   d4x = import ../applications/misc/d4x {
6552     inherit fetchurl stdenv pkgconfig openssl boost;
6553     inherit (gtkLibs) gtk glib;
6554   };
6556   darcs = haskellPackages_ghc6104.darcs;
6558   dia = import ../applications/graphics/dia {
6559     inherit stdenv fetchurl pkgconfig perl perlXMLParser
6560       libxml2 gettext python libxml2Python docbook5 docbook_xsl
6561       libxslt intltool;
6562     inherit (gtkLibs) gtk glib;
6563   };
6565   djvulibre = import ../applications/misc/djvulibre {
6566     inherit stdenv fetchurl libjpeg libtiff libungif zlib
6567       ghostscript libpng x11 mesa;
6568     qt = if (getConfig ["djvulibre" "qt3Frontend"] true) then qt3 else null;
6569     inherit (xlibs) libX11;
6570   };
6572   djview4 = import ../applications/graphics/djview {
6573     inherit fetchurl stdenv qt4 djvulibre;
6574   };
6576   dmenu = import ../applications/misc/dmenu {
6577     inherit lib fetchurl stdenv;
6578     inherit (xlibs) libX11 libXinerama;
6579   };
6581   dmtx = builderDefsPackage (import ../tools/graphics/dmtx) {
6582     inherit libpng libtiff libjpeg imagemagick librsvg
6583       pkgconfig bzip2 zlib libtool;
6584     inherit (xlibs) libX11;
6585   };
6587   dvdauthor = import ../applications/video/dvdauthor {
6588     inherit fetchurl stdenv freetype libpng fribidi libxml2 libdvdread imagemagick;
6589   };
6591   dwm = import ../applications/window-managers/dwm {
6592     inherit fetchurl stdenv;
6593     inherit (xlibs) libX11 libXinerama;
6594   };
6596   eaglemode = import ../applications/misc/eaglemode {
6597     inherit fetchurl stdenv perl xineLib libjpeg libpng libtiff;
6598     inherit (xlibs) libX11;
6599   };
6601   eclipse = import ../applications/editors/eclipse {
6602     inherit stdenv fetchurl patchelf makeDesktopItem makeWrapper freetype fontconfig jre zlib;
6603     # GTK 2.18 gives glitches such as mouse clicks on buttons not
6604     # working correctly.
6605     inherit (gtkLibs216) glib gtk;
6606     inherit (xlibs) libX11 libXext libXrender libXtst;
6607   };
6609   ed = import ../applications/editors/ed {
6610     inherit fetchurl stdenv;
6611   };
6613   elinks = import ../applications/networking/browsers/elinks {
6614     inherit stdenv fetchurl python perl ncurses x11 zlib openssl spidermonkey
6615       guile bzip2;
6616   };
6618   elvis = import ../applications/editors/elvis {
6619     inherit fetchurl stdenv ncurses;
6620   };
6622   emacs = emacs23;
6624   emacs22 = import ../applications/editors/emacs-22 {
6625     inherit fetchurl stdenv ncurses pkgconfig x11 Xaw3d;
6626     inherit (xlibs) libXaw libXpm;
6627     inherit (gtkLibs) gtk;
6628     xaw3dSupport = getPkgConfig "emacs" "xaw3dSupport" false;
6629     gtkGUI = getPkgConfig "emacs" "gtkSupport" true;
6630   };
6632   emacs23 = import ../applications/editors/emacs-23 {
6633     inherit fetchurl stdenv ncurses pkgconfig x11 Xaw3d
6634       libpng libjpeg libungif libtiff texinfo dbus;
6635     inherit (xlibs) libXaw libXpm libXft;
6636     inherit (gtkLibs) gtk;
6637     xawSupport = stdenv.isDarwin || getPkgConfig "emacs" "xawSupport" false;
6638     xaw3dSupport = getPkgConfig "emacs" "xaw3dSupport" false;
6639     gtkGUI = getPkgConfig "emacs" "gtkSupport" true;
6640     xftSupport = getPkgConfig "emacs" "xftSupport" true;
6641     dbusSupport = getPkgConfig "emacs" "dbusSupport" true;
6642   };
6644   emacsSnapshot = lowPrio (import ../applications/editors/emacs-snapshot {
6645     inherit fetchcvs stdenv ncurses pkgconfig x11 Xaw3d
6646       libpng libjpeg libungif libtiff texinfo dbus
6647       autoconf automake;
6648     inherit (xlibs) libXaw libXpm libXft;
6649     inherit (gtkLibs) gtk;
6650     xawSupport = getPkgConfig "emacs" "xawSupport" false;
6651     xaw3dSupport = getPkgConfig "emacs" "xaw3dSupport" false;
6652     gtkGUI = getPkgConfig "emacs" "gtkSupport" true;
6653     xftSupport = getPkgConfig "emacs" "xftSupport" true;
6654     dbusSupport = getPkgConfig "emacs" "dbusSupport" true;
6655   });
6657   emacsPackages = emacs: recurseIntoAttrs (rec {
6658     bbdb = import ../applications/editors/emacs-modes/bbdb {
6659       inherit fetchurl stdenv emacs texinfo ctags;
6660     };
6662     cedet = import ../applications/editors/emacs-modes/cedet {
6663       inherit fetchurl stdenv emacs;
6664     };
6666     cua = import ../applications/editors/emacs-modes/cua {
6667       inherit fetchurl stdenv;
6668     };
6670     ecb = import ../applications/editors/emacs-modes/ecb {
6671       inherit fetchurl stdenv emacs cedet jdee texinfo;
6672     };
6674     emacsSessionManagement = import ../applications/editors/emacs-modes/session-management-for-emacs {
6675       inherit fetchurl stdenv emacs;
6676     };
6678     emacsw3m = import ../applications/editors/emacs-modes/emacs-w3m {
6679       inherit fetchcvs stdenv emacs w3m imagemagick texinfo autoconf;
6680     };
6682     emms = import ../applications/editors/emacs-modes/emms {
6683       inherit fetchurl stdenv emacs texinfo mpg321 vorbisTools taglib
6684         alsaUtils;
6685     };
6687     jdee = import ../applications/editors/emacs-modes/jdee {
6688       # Requires Emacs 23, for `avl-tree'.
6689       inherit fetchsvn stdenv cedet ant emacs;
6690     };
6692     stratego = import ../applications/editors/emacs-modes/stratego {
6693       inherit fetchsvn stdenv;
6694     };
6696     haskellMode = import ../applications/editors/emacs-modes/haskell {
6697       inherit fetchurl stdenv emacs;
6698     };
6700     magit = import ../applications/editors/emacs-modes/magit {
6701       inherit fetchurl stdenv emacs texinfo;
6702     };
6704     maudeMode = import ../applications/editors/emacs-modes/maude {
6705       inherit fetchurl stdenv emacs;
6706     };
6708     nxml = import ../applications/editors/emacs-modes/nxml {
6709       inherit fetchurl stdenv;
6710     };
6712     prologMode = import ../applications/editors/emacs-modes/prolog {
6713       inherit fetchurl stdenv;
6714     };
6716     proofgeneral = import ../applications/editors/emacs-modes/proofgeneral {
6717        inherit stdenv fetchurl emacs perl;
6718     };
6720     quack = import ../applications/editors/emacs-modes/quack {
6721       inherit fetchurl stdenv emacs;
6722     };
6724     remember = import ../applications/editors/emacs-modes/remember {
6725       inherit fetchurl stdenv texinfo emacs bbdb;
6726     };
6728     scalaMode = import ../applications/editors/emacs-modes/scala-mode {
6729       inherit fetchsvn stdenv emacs;
6730     };
6731   });
6733   emacs22Packages = emacsPackages emacs22;
6734   emacs23Packages = emacsPackages emacs23;
6736   evince = makeOverridable (import ../applications/misc/evince) {
6737     inherit fetchurl stdenv perl perlXMLParser gettext intltool
6738       pkgconfig poppler libspectre djvulibre libxslt
6739       dbus dbus_glib shared_mime_info which makeWrapper;
6740     inherit (gnome) gnomedocutils gnomeicontheme libgnome
6741       libgnomeui libglade glib gtk scrollkeeper gnome_keyring;
6742   };
6744   exrdisplay = import ../applications/graphics/exrdisplay {
6745     inherit fetchurl stdenv pkgconfig mesa which openexr_ctl;
6746     fltk = fltk20;
6747     openexr = openexr_1_6_1;
6748   };
6750   fbpanel = composedArgsAndFun (import ../applications/window-managers/fbpanel/4.12.nix) {
6751     inherit fetchurl stdenv builderDefs pkgconfig libpng libjpeg libtiff librsvg;
6752     inherit (gtkLibs) gtk;
6753     inherit (xlibs) libX11 libXmu libXpm;
6754   };
6756   fetchmail = import ../applications/misc/fetchmail {
6757     inherit stdenv fetchurl openssl;
6758   };
6760   grip = import ../applications/misc/grip {
6761     inherit fetchurl stdenv lib grip pkgconfig curl cdparanoia libid3tag;
6762     inherit (gtkLibs) gtk glib;
6763     inherit (gnome) libgnome libgnomeui vte;
6764   };
6766   gwenview = import ../applications/graphics/gwenview {
6767     inherit stdenv fetchurl exiv2 zlib libjpeg perl libpng expat qt3;
6768     inherit (kde3) kdelibs;
6769     inherit (xlibs) libXt libXext;
6770   };
6772   wavesurfer = import ../applications/misc/audio/wavesurfer {
6773     inherit fetchurl stdenv tcl tk snack makeWrapper;
6774   };
6776   wireshark = import ../applications/networking/sniffers/wireshark {
6777     inherit fetchurl stdenv perl pkgconfig libpcap flex bison;
6778     inherit (gtkLibs) gtk;
6779   };
6781   fbida = builderDefsPackage ../applications/graphics/fbida {
6782     inherit libjpeg libexif giflib libtiff libpng
6783       imagemagick ghostscript which curl pkgconfig
6784       freetype fontconfig;
6785   };
6787   fdupes = import ../tools/misc/fdupes {
6788     inherit fetchurl stdenv;
6789   };
6791   feh = import ../applications/graphics/feh {
6792     inherit fetchurl stdenv x11 imlib2 libjpeg libpng giblib;
6793   };
6795   firefox = firefox35;
6797   firefoxWrapper = firefox35Wrapper;
6799   firefox2 = lowPrio (import ../applications/networking/browsers/firefox/2.0.nix {
6800     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo;
6801     inherit (gtkLibs) gtk;
6802     inherit (gnome) libIDL;
6803     inherit (xlibs) libXi;
6804   });
6806   firefox2Wrapper = wrapFirefox firefox2 "firefox" "";
6808   firefox3Pkgs = lowPrio (import ../applications/networking/browsers/firefox/3.0.nix {
6809     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo
6810       python dbus dbus_glib freetype fontconfig bzip2 xlibs file;
6811     inherit (gtkLibs) gtk pango;
6812     inherit (gnome) libIDL;
6813   });
6815   firefox3 = firefox3Pkgs.firefox;
6816   xulrunner3 = firefox3Pkgs.xulrunner;
6817   firefox3Wrapper = wrapFirefox firefox3 "firefox" "";
6819   firefox35Pkgs = lowPrio (import ../applications/networking/browsers/firefox/3.5.nix {
6820     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo
6821       python dbus dbus_glib freetype fontconfig bzip2 xlibs file alsaLib
6822       nspr nss;
6823     inherit (gtkLibs) gtk pango;
6824     inherit (gnome) libIDL;
6825   });
6827   firefox35 = firefox35Pkgs.firefox;
6828   xulrunner35 = firefox35Pkgs.xulrunner;
6829   firefox35Wrapper = wrapFirefox firefox35 "firefox" "";
6831   flac = import ../applications/audio/flac {
6832     inherit fetchurl stdenv libogg;
6833   };
6835   flashplayer = flashplayer10;
6837   flashplayer9 = (
6838     import ../applications/networking/browsers/mozilla-plugins/flashplayer-9 {
6839       inherit fetchurl stdenv zlib alsaLib nss nspr fontconfig freetype expat;
6840       inherit (xlibs) libX11 libXext libXrender libXt ;
6841       inherit (gtkLibs) gtk glib pango atk;
6842     });
6844   flashplayer10 = (
6845     import ../applications/networking/browsers/mozilla-plugins/flashplayer-10 {
6846       inherit fetchurl stdenv zlib alsaLib curl nss nspr fontconfig freetype expat;
6847       inherit (xlibs) libX11 libXext libXrender libXt ;
6848       inherit (gtkLibs) gtk glib pango atk;
6849       debug = getConfig ["flashplayer" "debug"] false;
6850     });
6852   flite = import ../applications/misc/flite {
6853     inherit fetchurl stdenv;
6854   };
6856   freemind = import ../applications/misc/freemind {
6857     inherit fetchurl stdenv ant coreutils gnugrep;
6858     jdk = jdk;
6859     jre = jdk;
6860   };
6862   freepv = import ../applications/graphics/freepv {
6863     inherit fetchurl mesa freeglut libjpeg zlib cmake libxml2 libpng;
6864     stdenv = overrideGCC stdenv gcc43_wrapper2;
6865     inherit (xlibs) libX11 libXxf86vm;
6866   };
6868   xfontsel = import ../applications/misc/xfontsel {
6869     inherit fetchurl stdenv pkgconfig;
6870     inherit (xlibs) libX11 libXaw;
6871   };
6872   xlsfonts = import ../applications/misc/xlsfonts {
6873     inherit fetchurl stdenv pkgconfig;
6874     inherit (xlibs) libX11;
6875   };
6877   fspot = import ../applications/graphics/f-spot {
6878     inherit fetchurl stdenv perl perlXMLParser pkgconfig mono
6879             libexif libjpeg sqlite lcms libgphoto2 monoDLLFixer;
6880     inherit (gnome) libgnome libgnomeui;
6881     gtksharp = gtksharp1;
6882   };
6884   gimp = import ../applications/graphics/gimp {
6885     inherit fetchurl stdenv pkgconfig freetype fontconfig
6886       libtiff libjpeg libpng libexif zlib perl perlXMLParser
6887       python pygtk gettext xlibs intltool babl gegl;
6888     inherit (gnome) gtk libart_lgpl;
6889   };
6891   gimpPlugins = import ../applications/graphics/gimp/plugins { inherit pkgs gimp; };
6893   gitAndTools = recurseIntoAttrs (import ../applications/version-management/git-and-tools {
6894     inherit pkgs;
6895   });
6896   git = gitAndTools.git;
6898   gnucash = import ../applications/office/gnucash {
6899     inherit fetchurl stdenv pkgconfig libxml2 goffice enchant
6900       gettext intltool perl guile slibGuile swig isocodes bzip2 makeWrapper;
6901     inherit (gnome) gtk glib libglade libgnomeui libgtkhtml gtkhtml
6902       libgnomeprint;
6903     gconf = gnome.GConf;
6904   };
6906   qcad = import ../applications/misc/qcad {
6907     inherit fetchurl stdenv qt3 libpng;
6908     inherit (xlibs) libXext libX11;
6909   };
6911   qjackctl = import ../applications/audio/qjackctl {
6912     inherit fetchurl stdenv alsaLib jackaudio;
6913     qt4 = qt4;
6914   };
6916   gkrellm = import ../applications/misc/gkrellm {
6917     inherit fetchurl stdenv gettext pkgconfig;
6918     inherit (gtkLibs) glib gtk;
6919     inherit (xlibs) libX11 libICE libSM;
6920   };
6922   gnash = import ../applications/video/gnash {
6923     inherit fetchurl stdenv SDL SDL_mixer libogg libxml2 libjpeg mesa libpng
6924             boost freetype agg dbus curl pkgconfig x11 libtool lib libungif
6925             gettext makeWrapper ming dejagnu python;
6926     inherit (gtkLibs) glib gtk;
6927     inherit (gst_all) gstreamer gstPluginsBase gstFfmpeg;
6928   };
6930   gnome_mplayer = import ../applications/video/gnome-mplayer {
6931     inherit fetchurl stdenv pkgconfig dbus dbus_glib;
6932     inherit (gtkLibs) glib gtk;
6933     inherit (gnome) GConf;
6934   };
6936   gnunet = import ../applications/networking/p2p/gnunet {
6937     inherit fetchurl stdenv libextractor libmicrohttpd libgcrypt
6938       gmp curl libtool guile adns sqlite gettext zlib pkgconfig
6939       libxml2 ncurses findutils makeWrapper;
6940     inherit (gnome) gtk libglade;
6941     gtkSupport = getConfig [ "gnunet" "gtkSupport" ] true;
6942   };
6944   gocr = composedArgsAndFun (import ../applications/graphics/gocr/0.44.nix) {
6945     inherit builderDefs fetchurl stdenv;
6946   };
6948   gphoto2 = import ../applications/misc/gphoto2 {
6949     inherit fetchurl stdenv pkgconfig libgphoto2 libexif popt gettext
6950       libjpeg readline libtool;
6951   };
6953   gphoto2fs = builderDefsPackage ../applications/misc/gphoto2/gphotofs.nix {
6954     inherit libgphoto2 fuse pkgconfig glib;
6955   };
6957   gtkpod = import ../applications/audio/gtkpod {
6958     inherit stdenv fetchurl pkgconfig libgpod gettext perl perlXMLParser flex libid3tag libvorbis;
6959     inherit (gtkLibs) gtk glib;
6960     inherit (gnome) libglade;
6961   };
6963   qrdecode = builderDefsPackage (import ../tools/graphics/qrdecode) {
6964     inherit libpng libcv;
6965   };
6967   qrencode = builderDefsPackage (import ../tools/graphics/qrencode) {
6968     inherit libpng pkgconfig;
6969   };
6971   gecko_mediaplayer = import ../applications/networking/browsers/mozilla-plugins/gecko-mediaplayer {
6972     inherit fetchurl stdenv pkgconfig dbus dbus_glib x11 gnome_mplayer MPlayer glib;
6973     inherit (gnome) GConf;
6974     browser = firefox35;
6975   };
6977   geeqie = import ../applications/graphics/geeqie {
6978     inherit fetchurl stdenv pkgconfig libpng lcms exiv2
6979       intltool gettext;
6980     inherit (gtkLibs) gtk;
6981   };
6983   gqview = import ../applications/graphics/gqview {
6984     inherit fetchurl stdenv pkgconfig libpng;
6985     inherit (gtkLibs) gtk;
6986   };
6988   googleearth = import ../applications/misc/googleearth {
6989       inherit stdenv fetchurl glibc mesa freetype zlib glib;
6990       inherit (xlibs) libSM libICE libXi libXv libXrender libXrandr libXfixes
6991         libXcursor libXinerama libXext libX11;
6992       inherit patchelf05;
6993     };
6995   gpsbabel = import ../applications/misc/gpsbabel {
6996     inherit fetchurl stdenv zlib expat;
6997   };
6999   gpscorrelate = import ../applications/misc/gpscorrelate {
7000     inherit fetchurl stdenv pkgconfig exiv2 libxml2
7001       libxslt docbook_xsl docbook_xml_dtd_42;
7002     inherit (gtkLibs) gtk;
7003   };
7005   gpsd = import ../servers/gpsd {
7006     inherit fetchurl stdenv pkgconfig dbus dbus_glib
7007       ncurses makeWrapper libxslt xmlto;
7008     inherit (xlibs) libX11 libXt libXpm libXaw libXext;
7010     # We need a Python with NCurses bindings.
7011     python = pythonFull;
7012   };
7014   gv = import ../applications/misc/gv {
7015     inherit fetchurl stdenv Xaw3d ghostscriptX;
7016   };
7018   hello = makeOverridable (import ../applications/misc/hello/ex-2) {
7019     inherit fetchurl stdenv;
7020   };
7022   hugin = import ../applications/graphics/hugin {
7023     inherit fetchurl cmake panotools libtiff libpng boost pkgconfig
7024       exiv2 gettext ilmbase enblendenfuse autopanosiftc mesa freeglut
7025       glew;
7026     inherit wxGTK;
7027     inherit (xlibs) libXi libXmu;
7028     openexr = openexr_1_6_1;
7029     stdenv = overrideGCC stdenv gcc43_wrapper2;
7030   };
7032   i810switch = import ../applications/misc/i810 {
7033     inherit fetchurl stdenv pciutils;
7034   };
7036   icecat3 = lowPrio (import ../applications/networking/browsers/icecat-3 {
7037     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo
7038       python dbus dbus_glib freetype fontconfig bzip2 xlibs alsaLib;
7039     inherit (gnome) libIDL libgnomeui gnomevfs gtk pango;
7040     inherit (pythonPackages) ply;
7041   });
7043   icecatXulrunner3 = lowPrio (import ../applications/networking/browsers/icecat-3 {
7044     application = "xulrunner";
7045     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo
7046       python dbus dbus_glib freetype fontconfig bzip2 xlibs alsaLib;
7047     inherit (gnome) libIDL libgnomeui gnomevfs gtk pango;
7048     inherit (pythonPackages) ply;
7049   });
7051   icecat3Xul =
7052     (symlinkJoin "icecat-with-xulrunner-${icecat3.version}"
7053        [ icecat3 icecatXulrunner3 ])
7054     // { inherit (icecat3) gtk isFirefox3Like meta; };
7056   icecatWrapper = wrapFirefox icecat3Xul "icecat" "";
7058   icewm = import ../applications/window-managers/icewm {
7059     inherit fetchurl stdenv gettext libjpeg libtiff libungif libpng imlib xlibs;
7060   };
7062   ikiwiki = makeOverridable (import ../applications/misc/ikiwiki) {
7063     inherit fetchurl stdenv perl gettext makeWrapper lib;
7064     inherit (perlPackages) TextMarkdown URI HTMLParser HTMLScrubber
7065       HTMLTemplate TimeDate CGISession DBFile CGIFormBuilder;
7066     inherit git; # The RCS should be optional
7067     monotone = null;
7068     extraUtils = [];
7069   };
7071   imagemagick = import ../applications/graphics/ImageMagick {
7072     inherit stdenv fetchurl bzip2 freetype graphviz ghostscript
7073       libjpeg libpng libtiff libxml2 zlib libtool;
7074     inherit (xlibs) libX11;
7075   };
7077   imagemagickBig = import ../applications/graphics/ImageMagick {
7078     inherit stdenv fetchurl bzip2 freetype graphviz ghostscript
7079       libjpeg libpng libtiff libxml2 zlib tetex librsvg libtool;
7080     inherit (xlibs) libX11;
7081   };
7083   # Impressive, formerly known as "KeyJNote".
7084   impressive = import ../applications/office/impressive {
7085     inherit fetchurl stdenv xpdf pil pyopengl pygame makeWrapper lib python;
7087     # XXX These are the PyOpenGL dependencies, which we need here.
7088     inherit setuptools mesa freeglut;
7089   };
7091   inkscape = import ../applications/graphics/inkscape {
7092     inherit fetchurl stdenv perl perlXMLParser pkgconfig zlib popt
7093       libxml2 libxslt libpng boehmgc libsigcxx lcms boost gettext
7094       cairomm python pyxml makeWrapper intltool gsl;
7095     inherit (pythonPackages) lxml;
7096     inherit (gtkLibs) gtk glib glibmm gtkmm;
7097     inherit (xlibs) libXft;
7098   };
7100   ion3 = import ../applications/window-managers/ion-3 {
7101     inherit fetchurl stdenv x11 gettext groff;
7102     lua = lua5;
7103   };
7105   iptraf = import ../applications/networking/iptraf {
7106     inherit fetchurl stdenv ncurses;
7107   };
7109   irssi = import ../applications/networking/irc/irssi {
7110     inherit stdenv fetchurl pkgconfig ncurses openssl glib;
7111   };
7113   jackmeter = import ../applications/audio/jackmeter {
7114     inherit fetchurl stdenv lib jackaudio pkgconfig;
7115   };
7117   jedit = import ../applications/editors/jedit {
7118     inherit fetchurl stdenv ant;
7119   };
7121   jigdo = import ../applications/misc/jigdo {
7122     inherit fetchurl stdenv db45 libwpd bzip2;
7123     inherit (gtkLibs) gtk;
7124   };
7126   joe = import ../applications/editors/joe {
7127     inherit stdenv fetchurl;
7128   };
7130   jwm = import ../applications/window-managers/jwm {
7131     inherit fetchurl stdenv;
7132     inherit (xlibs) libX11 libXext libXinerama libXpm libXft;
7133   };
7135   k3b = import ../applications/misc/k3b {
7136     inherit stdenv fetchurl kdelibs x11 zlib libpng libjpeg perl qt3;
7137   };
7139   kbasket = import ../applications/misc/kbasket {
7140     inherit stdenv fetchurl kdelibs x11 zlib libpng libjpeg
7141       perl qt3 gpgme libgpgerror;
7142   };
7144   kermit = import ../tools/misc/kermit {
7145     inherit fetchurl stdenv ncurses;
7146   };
7148   kino = import ../applications/video/kino {
7149     inherit fetchurl stdenv pkgconfig libxml2 perl perlXMLParser
7150       libdv libraw1394 libavc1394 libiec61883 x11 gettext cairo; /* libavformat */
7151     inherit libsamplerate ffmpeg;
7152     inherit (gnome) libglade gtk glib;
7153     inherit (xlibs) libXv libX11;
7154     inherit (gtkLibs) pango;
7155     # #  optional
7156     #  inherit ffmpeg2theora sox, vorbis-tools lame mjpegtools dvdauthor 'Q'dvdauthor growisofs mencoder;
7157   };
7159   kile = import ../applications/editors/kile {
7160     inherit stdenv fetchurl perl arts kdelibs zlib libpng libjpeg freetype expat;
7161     inherit (xlibs) libX11 libXt libXext libXrender libXft;
7162     qt = qt3;
7163   };
7165   konversation = import ../applications/networking/irc/konversation {
7166     inherit fetchurl stdenv perl arts kdelibs zlib libpng libjpeg expat;
7167     inherit (xlibs) libX11 libXt libXext libXrender libXft;
7168     qt = qt3;
7169   };
7171   kphone = import ../applications/networking/kphone {
7172     inherit fetchurl lib autoconf automake libtool pkgconfig openssl libpng alsaLib;
7173     qt = qt3;
7174     inherit (xlibs) libX11 libXext libXt libICE libSM;
7175     stdenv = overrideGCC stdenv gcc42; # I'm to lazy to clean up header files
7176   };
7178   kuickshow = import ../applications/graphics/kuickshow {
7179     inherit fetchurl stdenv kdelibs arts libpng libjpeg libtiff libungif imlib expat perl;
7180     inherit (xlibs) libX11 libXext libSM;
7181     qt = qt3;
7182   };
7184   lame = import ../applications/audio/lame {
7185     inherit fetchurl stdenv;
7186   };
7188   ladspaH = import ../applications/audio/ladspa-plugins/ladspah.nix {
7189     inherit fetchurl stdenv builderDefs stringsWithDeps;
7190   };
7192   ladspaPlugins = import ../applications/audio/ladspa-plugins {
7193     inherit fetchurl stdenv builderDefs stringsWithDeps fftw ladspaH pkgconfig;
7194   };
7196   ldcpp = composedArgsAndFun (import ../applications/networking/p2p/ldcpp/1.0.3.nix) {
7197     inherit builderDefs scons pkgconfig bzip2 openssl;
7198     inherit (gtkLibs) gtk;
7199     inherit (gnome) libglade;
7200     inherit (xlibs) libX11;
7201   };
7203   links = import ../applications/networking/browsers/links {
7204     inherit fetchurl stdenv;
7205   };
7207   ledger = import ../applications/office/ledger {
7208     inherit stdenv fetchurl emacs gmp pcre;
7209   };
7211   links2 = (builderDefsPackage ../applications/networking/browsers/links2) {
7212     inherit fetchurl stdenv bzip2 zlib libjpeg libpng libtiff
7213       gpm openssl SDL SDL_image SDL_net pkgconfig;
7214     inherit (xlibs) libX11 libXau xproto libXt;
7215   };
7217   lynx = import ../applications/networking/browsers/lynx {
7218     inherit fetchurl stdenv ncurses openssl;
7219   };
7221   lyx = import ../applications/misc/lyx {
7222    inherit fetchurl stdenv texLive python;
7223    qt = qt4;
7224   };
7226   mercurial = import ../applications/version-management/mercurial {
7227     inherit fetchurl stdenv makeWrapper getConfig tk;
7228     guiSupport = getConfig ["mercurial" "guiSupport"] false; # for hgk (gitk gui for hg)
7229     python = # allow cloning sources from https servers.
7230       if getConfig ["mercurial" "httpsSupport"] true
7231       then pythonFull
7232       else pythonBase;
7233   };
7235   meshlab = import ../applications/graphics/meshlab {
7236     inherit fetchurl stdenv bzip2;
7237     qt = qt4;
7238   };
7240   midori = builderDefsPackage (import ../applications/networking/browsers/midori) {
7241     inherit imagemagick intltool python pkgconfig webkit libxml2
7242       which gettext makeWrapper file libidn sqlite docutils libnotify;
7243     inherit (gtkLibs) gtk glib;
7244     inherit (gnome28) gtksourceview libsoup;
7245   };
7247   minicom = import ../tools/misc/minicom {
7248     inherit fetchurl stdenv ncurses;
7249   };
7251   monodevelop = import ../applications/editors/monodevelop {
7252     inherit fetchurl stdenv file mono gtksourceviewsharp
7253             gtkmozembedsharp monodoc perl perlXMLParser pkgconfig;
7254     inherit (gnome) gnomevfs libbonobo libglade libgnome GConf glib gtk;
7255     mozilla = firefox;
7256     gtksharp = gtksharp2;
7257   };
7259   monodoc = import ../applications/editors/monodoc {
7260     inherit fetchurl stdenv mono pkgconfig;
7261     gtksharp = gtksharp1;
7262   };
7264   monotone = import ../applications/version-management/monotone {
7265     inherit stdenv fetchurl boost zlib botan libidn pcre
7266       sqlite lib perl;
7267     lua = lua5;
7268   };
7270   monotoneViz = builderDefsPackage (import ../applications/version-management/monotone-viz/mtn-head.nix) {
7271     inherit ocaml lablgtk graphviz pkgconfig autoconf automake libtool;
7272     inherit (gnome) gtk libgnomecanvas glib;
7273   };
7275   mozilla = import ../applications/networking/browsers/mozilla {
7276     inherit fetchurl pkgconfig stdenv perl zip;
7277     inherit (gtkLibs) gtk;
7278     inherit (gnome) libIDL;
7279     inherit (xlibs) libXi;
7280   };
7282   mozplugger = builderDefsPackage (import ../applications/networking/browsers/mozilla-plugins/mozplugger) {
7283     inherit firefox;
7284     inherit (xlibs) libX11 xproto;
7285   };
7287   mpg321 = import ../applications/audio/mpg321 {
7288     inherit stdenv fetchurl libao libmad libid3tag zlib;
7289   };
7291   MPlayer = import ../applications/video/MPlayer {
7292     inherit fetchurl stdenv freetype x11 zlib libtheora libcaca freefont_ttf libdvdnav
7293       cdparanoia mesa pkgconfig unzip amrnb amrwb;
7294     inherit (xlibs) libX11 libXv libXinerama libXrandr;
7295     alsaSupport = true;
7296     alsa = alsaLib;
7297     theoraSupport = true;
7298     cacaSupport = true;
7299     xineramaSupport = true;
7300     randrSupport = true;
7301     cddaSupport = true;
7302     amrSupport = getConfig [ "MPlayer" "amr" ] false;
7303   };
7305   MPlayerPlugin = browser:
7306     import ../applications/networking/browsers/mozilla-plugins/mplayerplug-in {
7307       inherit browser;
7308       inherit fetchurl stdenv pkgconfig gettext;
7309       inherit (xlibs) libXpm;
7310       # !!! should depend on MPlayer
7311     };
7313   MPlayerTrunk = import ../applications/video/MPlayer/trunk.nix {
7314     inherit fetchurl sourceFromHead stdenv freetype x11 zlib libtheora libcaca
7315       freefont_ttf libdvdnav cdparanoia mesa pkgconfig jackaudio;
7316     inherit (xlibs) libX11 libXv libXinerama libXrandr;
7317     alsaSupport = true;
7318     alsa = alsaLib;
7319     theoraSupport = true;
7320     cacaSupport = true;
7321     xineramaSupport = true;
7322     randrSupport = true;
7323     cddaSupport = true;
7324   };
7326   mrxvt = import ../applications/misc/mrxvt {
7327     inherit lib fetchurl stdenv freetype pkgconfig which;
7328     inherit (xlibs) libXaw xproto libXt libX11 libSM libICE libXft
7329       libXi inputproto;
7330   };
7332   multisync = import ../applications/misc/multisync {
7333     inherit fetchurl stdenv autoconf automake libtool pkgconfig;
7334     inherit (gnome) gtk glib ORBit2 libbonobo libgnomeui GConf;
7335   };
7337   mutt = import ../applications/networking/mailreaders/mutt {
7338     inherit fetchurl stdenv ncurses which openssl gdbm perl;
7339   };
7341   msmtp = import ../applications/networking/msmtp {
7342     inherit fetchurl stdenv;
7343   };
7345   mythtv = import ../applications/video/mythtv {
7346     inherit fetchurl stdenv which x11 xlibs lame zlib mesa freetype perl alsaLib;
7347     qt3 = qt3mysql;
7348   };
7350   nano = import ../applications/editors/nano {
7351     inherit fetchurl stdenv ncurses gettext;
7352   };
7354   nedit = import ../applications/editors/nedit {
7355       inherit fetchurl stdenv x11;
7356       inherit (xlibs) libXpm;
7357       motif = lesstif;
7358     };
7360   netsurfBrowser = netsurf.browser;
7361   netsurf = recurseIntoAttrs (import ../applications/networking/browsers/netsurf { inherit pkgs; });
7363   nvi = import ../applications/editors/nvi {
7364     inherit fetchurl stdenv ncurses;
7365   };
7367   openoffice = import ../applications/office/openoffice {
7368     inherit fetchurl stdenv pam python tcsh libxslt perl zlib libjpeg
7369       expat pkgconfig freetype fontconfig libwpd libxml2 db4 sablotron
7370       curl libsndfile flex zip unzip libmspack getopt file neon cairo
7371       which icu jdk ant cups openssl bison boost gperf cppunit;
7372     inherit (xlibs) libXaw libXext libX11 libXtst libXi libXinerama;
7373     inherit (gtkLibs) gtk;
7374     inherit (perlPackages) ArchiveZip CompressZlib;
7375     inherit (gnome) GConf ORBit2;
7376   };
7378   opera = import ../applications/networking/browsers/opera {
7379     inherit fetchurl zlib glibc stdenv makeDesktopItem;
7380     inherit (xlibs) libX11 libSM libICE libXt libXext;
7381     qt = qt3;
7382   };
7384   pan = import ../applications/networking/newsreaders/pan {
7385     inherit fetchurl stdenv pkgconfig perl pcre gmime gettext;
7386     inherit (gtkLibs) gtk;
7387     spellChecking = false;
7388   };
7390   panotools = import ../applications/graphics/panotools {
7391     inherit stdenv fetchsvn libpng libjpeg libtiff automake libtool autoconf;
7392   };
7394   pavucontrol = import ../applications/audio/pavucontrol {
7395     inherit fetchurl stdenv pkgconfig pulseaudio libsigcxx
7396       libcanberra intltool gettext;
7397     inherit (gtkLibs) gtkmm;
7398     inherit (gnome) libglademm;
7399   };
7401   paraview = import ../applications/graphics/paraview {
7402     inherit fetchurl cmake qt4;
7403     stdenv = overrideGCC stdenv gcc43_wrapper2;
7404   };
7406   partitionManager = import ../tools/misc/partition-manager {
7407     inherit fetchurl stdenv lib cmake pkgconfig gettext parted libuuid perl;
7408     kde = kde43;
7409     qt = qt4;
7410   };
7412   pidgin = import ../applications/networking/instant-messengers/pidgin {
7413     inherit fetchurl stdenv pkgconfig perl perlXMLParser libxml2 nss nspr farsight2
7414       gtkspell aspell gettext ncurses avahi dbus dbus_glib lib intltool libidn;
7415     openssl = if (getConfig ["pidgin" "openssl"] true) then openssl else null;
7416     gnutls = if (getConfig ["pidgin" "gnutls"] false) then gnutls else null;
7417     GStreamer = gst_all.gstreamer;
7418     inherit (gtkLibs) gtk;
7419     inherit (gnome) startupnotification;
7420     inherit (xlibs) libXScrnSaver;
7421     inherit (gst_all) gstPluginsBase;
7422   };
7424   pidginlatex = composedArgsAndFun (import ../applications/networking/instant-messengers/pidgin-plugins/pidgin-latex) {
7425     inherit fetchurl stdenv pkgconfig ghostscript pidgin texLive;
7426     imagemagick = imagemagickBig;
7427     inherit (gtkLibs) glib gtk;
7428   };
7430   pidginlatexSF = builderDefsPackage
7431     (import ../applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix)
7432     {
7433       inherit pkgconfig pidgin texLive imagemagick which;
7434       inherit (gtkLibs) glib gtk;
7435     };
7437   pidginotr = import ../applications/networking/instant-messengers/pidgin-plugins/otr {
7438     inherit fetchurl stdenv libotr pidgin;
7439   };
7441   pinfo = import ../applications/misc/pinfo {
7442     inherit fetchurl stdenv ncurses readline;
7443   };
7445   pqiv = import ../applications/graphics/pqiv {
7446     inherit fetchurl stdenv getopt which pkgconfig;
7447     inherit (gtkLibs) gtk;
7448   };
7450   # perhaps there are better apps for this task? It's how I had configured my preivous system.
7451   # And I don't want to rewrite all rules
7452   procmail = import ../applications/misc/procmail {
7453     inherit fetchurl stdenv autoconf;
7454   };
7456   pstree = import ../applications/misc/pstree {
7457     inherit stdenv fetchurl;
7458   };
7460   pythonmagick = import ../applications/graphics/PythonMagick {
7461     inherit fetchurl stdenv pkgconfig imagemagick boost python;
7462   };
7464   qemu = import ../applications/virtualization/qemu/0.12.1.nix {
7465     inherit stdenv fetchurl SDL zlib which;
7466   };
7468   qemuSVN = import ../applications/virtualization/qemu/svn-6642.nix {
7469     inherit fetchsvn SDL zlib which stdenv;
7470   };
7472   qemuImage = composedArgsAndFun (import ../applications/virtualization/qemu/linux-img/0.2.nix) {
7473     inherit builderDefs fetchurl stdenv;
7474   };
7476   qtpfsgui = import ../applications/graphics/qtpfsgui {
7477     inherit fetchurl stdenv exiv2 libtiff fftw qt4 ilmbase;
7478     openexr = openexr_1_6_1;
7479   };
7481   ratpoison = import ../applications/window-managers/ratpoison {
7482     inherit fetchurl stdenv fontconfig readline;
7483     inherit (xlibs) libX11 inputproto libXt libXpm libXft
7484       libXtst xextproto libXi;
7485   };
7487   rcs = import ../applications/version-management/rcs {
7488     inherit fetchurl stdenv;
7489   };
7491   rdesktop = import ../applications/networking/remote/rdesktop {
7492     inherit fetchurl stdenv openssl;
7493     inherit (xlibs) libX11;
7494   };
7496   RealPlayer =
7497     (import ../applications/video/RealPlayer {
7498       inherit fetchurl stdenv;
7499       inherit (gtkLibs) glib pango atk gtk;
7500       inherit (xlibs) libX11;
7501       libstdcpp5 = gcc33.gcc;
7502     });
7504   rsync = import ../applications/networking/sync/rsync {
7505     inherit fetchurl stdenv acl perl;
7506     enableACLs = !stdenv.isDarwin;
7507   };
7509   rxvt = import ../applications/misc/rxvt {
7510     inherit lib fetchurl stdenv;
7511     inherit (xlibs) libXt libX11;
7512   };
7514   # = urxvt
7515   rxvt_unicode = makeOverridable (import ../applications/misc/rxvt_unicode) {
7516     inherit lib fetchurl stdenv perl ncurses;
7517     inherit (xlibs) libXt libX11 libXft;
7518     perlSupport = false;
7519   };
7521   sbagen = import ../applications/misc/sbagen {
7522     inherit fetchurl stdenv;
7523   };
7525   scribus = import ../applications/office/scribus {
7526     inherit fetchurl stdenv lib cmake pkgconfig freetype lcms libtiff libxml2
7527       cairo python cups fontconfig zlib libjpeg libpng;
7528     inherit (gnome) libart_lgpl;
7529     inherit (xlibs) libXaw libXext libX11 libXtst libXi libXinerama;
7530     qt = qt3;
7531   };
7533   skype_linux = import ../applications/networking/skype {
7534     inherit fetchurl stdenv;
7535     inherit glibc alsaLib freetype fontconfig libsigcxx gcc;
7536     inherit (xlibs) libSM libICE libXi libXrender libXrandr libXfixes libXcursor
7537                     libXinerama libXext libX11 libXv libXScrnSaver;
7538   };
7540   slim = import ../applications/display-managers/slim {
7541     inherit fetchurl stdenv x11 libjpeg libpng freetype pam;
7542     inherit (xlibs) libXmu;
7543   };
7545   sndBase = builderDefsPackage (import ../applications/audio/snd) {
7546     inherit fetchurl stdenv stringsWithDeps lib fftw;
7547     inherit pkgconfig gmp gettext;
7548     inherit (xlibs) libXpm libX11;
7549     inherit (gtkLibs) gtk glib;
7550   };
7552   snd = sndBase.passthru.function {
7553     inherit guile mesa libtool jackaudio alsaLib;
7554   };
7556   sonicVisualizer = import ../applications/audio/sonic-visualizer {
7557     inherit fetchurl stdenv lib libsndfile libsamplerate bzip2 librdf
7558       rubberband jackaudio pulseaudio libmad
7559       libogg liblo alsaLib librdf_raptor librdf_rasqal redland fftw;
7560     inherit (vamp) vampSDK;
7561     qt = qt4;
7562   };
7564   sox = import ../applications/misc/audio/sox {
7565     inherit fetchurl stdenv lib composableDerivation;
7566     # optional features
7567     inherit alsaLib libao ffmpeg;
7568     inherit libsndfile libogg flac libmad lame libsamplerate;
7569     # Using the default nix ffmpeg I get this error when linking
7570     # .libs/libsox_la-ffmpeg.o: In function `audio_decode_frame':
7571     # /tmp/nix-7957-1/sox-14.0.0/src/ffmpeg.c:130: undefined reference to `avcodec_decode_audio2
7572     # That's why I'v added ffmpeg_svn
7573   };
7575   stumpwm = builderDefsPackage (import ../applications/window-managers/stumpwm) {
7576     inherit texinfo;
7577     clisp = clisp_2_44_1;
7578   };
7580   subversion = makeOverridable (import ../applications/version-management/subversion/default.nix) {
7581     inherit (pkgsOverriden) fetchurl stdenv apr aprutil expat swig zlib jdk python perl sqlite;
7582     neon = neon028;
7583     bdbSupport = getConfig ["subversion" "bdbSupport"] true;
7584     httpServer = getConfig ["subversion" "httpServer"] false;
7585     httpSupport = getConfig ["subversion" "httpSupport"] true;
7586     sslSupport = getConfig ["subversion" "sslSupport"] true;
7587     pythonBindings = getConfig ["subversion" "pythonBindings"] false;
7588     perlBindings = getConfig ["subversion" "perlBindings"] false;
7589     javahlBindings = supportsJDK && getConfig ["subversion" "javahlBindings"] false;
7590     compressionSupport = getConfig ["subversion" "compressionSupport"] true;
7591     httpd = pkgsOverriden.apacheHttpd;
7592   };
7594   svk = perlPackages.SVK;
7596   sylpheed = import ../applications/networking/mailreaders/sylpheed {
7597     inherit fetchurl stdenv pkgconfig openssl gpgme;
7598     inherit (gtkLibs) gtk;
7599     sslSupport = true;
7600     gpgSupport = true;
7601   };
7603   # linux only by now
7604   synergy = import ../applications/misc/synergy {
7605     inherit fetchurl sourceFromHead stdenv x11 automake autoconf;
7606     inherit (xlibs) xextproto libXtst inputproto libXi;
7607   };
7609   tahoelafs = import ../tools/networking/p2p/tahoe-lafs {
7610     inherit fetchurl lib unzip nettools buildPythonPackage;
7611     inherit (pythonPackages) twisted foolscap simplejson nevow zfec
7612       pycryptopp pysqlite;
7613   };
7615   tailor = builderDefsPackage (import ../applications/version-management/tailor) {
7616     inherit makeWrapper python;
7617   };
7619   tangogps = import ../applications/misc/tangogps {
7620     inherit fetchurl stdenv pkgconfig gettext curl libexif sqlite libxml2;
7621     inherit (gtkLibs) gtk;
7622     gconf = gnome.GConf;
7623   };
7625   /* does'nt work yet i686-linux only (32bit version)
7626   teamspeak_client = import ../applications/networking/instant-messengers/teamspeak/client.nix {
7627     inherit fetchurl stdenv;
7628     inherit glibc x11;
7629   };
7630   */
7632   taskJuggler = import ../applications/misc/taskjuggler {
7633     inherit stdenv fetchurl;
7634     inherit zlib libpng perl expat;
7635     qt = qt3;
7637     inherit (xlibs) libX11 libXext libSM libICE;
7639     # KDE support is not working yet.
7640     inherit kdelibs kdebase;
7641     withKde = pkgs.getConfig ["taskJuggler" "kde"] false;
7642   };
7644   thinkingRock = import ../applications/misc/thinking-rock {
7645     inherit fetchurl stdenv;
7646   };
7648   thunderbird = thunderbird2;
7650   thunderbird2 = import ../applications/networking/mailreaders/thunderbird/2.x.nix {
7651     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo;
7652     inherit (gtkLibs) gtk;
7653     inherit (gnome) libIDL;
7654     inherit (xlibs) libXi;
7655   };
7657   thunderbird3 = lowPrio (import ../applications/networking/mailreaders/thunderbird/3.x.nix {
7658     inherit fetchurl stdenv pkgconfig perl python dbus_glib zip bzip2 alsaLib nspr;
7659     inherit (gtkLibs) gtk;
7660     inherit (gnome) libIDL;
7661   });
7663   timidity = import ../tools/misc/timidity {
7664     inherit fetchurl stdenv lib alsaLib composableDerivation jackaudio ncurses;
7665   };
7667   tkcvs = import ../applications/version-management/tkcvs {
7668     inherit stdenv fetchurl tcl tk;
7669   };
7671   tla = import ../applications/version-management/arch {
7672     inherit fetchurl stdenv diffutils gnutar gnupatch which;
7673   };
7675   twinkle = import ../applications/networking/twinkle {
7676     inherit fetchurl stdenv lib pkgconfig commoncpp2 ccrtp openssl speex libjpeg perl
7677       libzrtpcpp libsndfile libxml2 file readline alsaLib;
7678     qt = qt3;
7679     boost = boostFull;
7680     inherit (xlibs) libX11 libXaw libICE libXext;
7681   };
7683   unison = import ../applications/networking/sync/unison {
7684     inherit fetchurl stdenv ocaml lablgtk makeWrapper;
7685     inherit (xorg) xset fontschumachermisc;
7686   };
7688   uucp = import ../tools/misc/uucp {
7689     inherit fetchurl stdenv;
7690   };
7692   uzbl = builderDefsPackage (import ../applications/networking/browsers/uzbl) {
7693     inherit pkgconfig webkit makeWrapper;
7694     inherit (gtkLibs) gtk glib;
7695     libsoup = gnome28.libsoup;
7696   };
7698   uzblExperimental = builderDefsPackage
7699         (import ../applications/networking/browsers/uzbl/experimental.nix) {
7700     inherit pkgconfig webkit makeWrapper;
7701     inherit (gtkLibs) gtk glib;
7702     libsoup = gnome28.libsoup;
7703   };
7705   valknut = import ../applications/networking/p2p/valknut {
7706     inherit fetchurl stdenv perl x11 libxml2 libjpeg libpng openssl dclib;
7707     qt = qt3;
7708   };
7710   viewMtn = builderDefsPackage (import ../applications/version-management/viewmtn/0.10.nix)
7711   {
7712     inherit monotone flup cheetahTemplate highlight ctags
7713       makeWrapper graphviz which python;
7714   };
7716   vim = import ../applications/editors/vim {
7717     inherit fetchurl stdenv ncurses lib;
7718   };
7720   vimHugeX = import ../applications/editors/vim {
7721     inherit fetchurl stdenv lib ncurses pkgconfig
7722       perl python tcl;
7723     inherit (xlibs) libX11 libXext libSM libXpm
7724       libXt libXaw libXau;
7725     inherit (gtkLibs) glib gtk;
7727     # Looks like python and perl can conflict
7728     flags = ["hugeFeatures" "gtkGUI" "x11Support"
7729       /*"perlSupport"*/ "pythonSupport" "tclSupport"];
7730   };
7732   vim_configurable = import ../applications/editors/vim/configurable.nix {
7733     inherit fetchurl stdenv ncurses pkgconfig composableDerivation lib;
7734     inherit (xlibs) libX11 libXext libSM libXpm
7735         libXt libXaw libXau libXmu;
7736     inherit (gtkLibs) glib gtk;
7737     features = "huge"; # one of  tiny, small, normal, big or huge
7738     # optional features by passing
7739     # python
7740     # TODO mzschemeinterp perlinterp
7741     inherit python perl tcl ruby /*x11*/;
7743     # optional features by flags
7744     flags = [ "X11" ]; # only flag "X11" by now
7745   };
7747   vlc = import ../applications/video/vlc {
7748     inherit fetchurl stdenv perl xlibs zlib a52dec libmad faad2
7749       ffmpeg libdvdnav pkgconfig hal fribidi qt4 freefont_ttf;
7750     dbus = dbus.libs;
7751     alsa = alsaLib;
7752   };
7754   vnstat = import ../applications/networking/vnstat {
7755     inherit fetchurl stdenv ncurses;
7756   };
7758   vorbisTools = import ../applications/audio/vorbis-tools {
7759     inherit fetchurl stdenv libogg libvorbis libao pkgconfig curl glibc
7760       speex flac;
7761   };
7763   vwm = import ../applications/window-managers/vwm {
7764     inherit fetchurl stdenv ncurses pkgconfig libviper libpseudo gpm glib libvterm;
7765   };
7767   w3m = import ../applications/networking/browsers/w3m {
7768     inherit fetchurl stdenv ncurses openssl boehmgc gettext zlib imlib2 x11;
7769     graphicsSupport = false;
7770   };
7772   # I'm keen on wmiimenu only  >wmii-3.5 no longer has it...
7773   wmiimenu = import ../applications/window-managers/wmii31 {
7774     libixp = libixp_for_wmii;
7775     inherit fetchurl /* fetchhg */ stdenv gawk;
7776     inherit (xlibs) libX11;
7777   };
7779   wmiiSnap = import ../applications/window-managers/wmii {
7780     libixp = libixp_for_wmii;
7781     inherit fetchurl /* fetchhg */ stdenv gawk;
7782     inherit (xlibs) libX11 xextproto libXt libXext;
7783     includeUnpack = getConfig ["stdenv" "includeUnpack"] false;
7784   };
7786   wordnet = import ../applications/misc/wordnet {
7787     inherit stdenv fetchurl tcl tk x11 makeWrapper;
7788   };
7790   wrapFirefox = browser: browserName: nameSuffix: import ../applications/networking/browsers/firefox/wrapper.nix {
7791     inherit stdenv nameSuffix makeWrapper makeDesktopItem browser browserName;
7792     plugins =
7793       let enableAdobeFlash = getConfig [ browserName "enableAdobeFlash" ] true;
7794       in
7795        ([]
7796         ++ lib.optional (!enableAdobeFlash) gnash
7797         ++ lib.optional enableAdobeFlash flashplayer
7798         # RealPlayer is disabled by default for legal reasons.
7799         ++ lib.optional (system != "i686-linux" && getConfig [browserName "enableRealPlayer"] false) RealPlayer
7800         ++ lib.optional (getConfig [browserName "enableMPlayer"] false) (MPlayerPlugin browser)
7801         ++ lib.optional (getConfig [browserName "enableGeckoMediaPlayer"] false) gecko_mediaplayer
7802         ++ lib.optional (supportsJDK && getConfig [browserName "jre"] false && jrePlugin ? mozillaPlugin) jrePlugin
7803        );
7804   };
7806   x11vnc = composedArgsAndFun (import ../tools/X11/x11vnc/0.9.3.nix) {
7807     inherit builderDefs openssl zlib libjpeg ;
7808     inherit (xlibs) libXfixes fixesproto libXdamage damageproto
7809       libX11 xproto libXtst libXinerama xineramaproto libXrandr randrproto
7810       libXext xextproto inputproto recordproto libXi renderproto
7811       libXrender;
7812   };
7814   x2vnc = composedArgsAndFun (import ../tools/X11/x2vnc/1.7.2.nix) {
7815     inherit builderDefs;
7816     inherit (xlibs) libX11 xproto xextproto libXext libXrandr randrproto;
7817   };
7819   xaos = builderDefsPackage (import ../applications/graphics/xaos) {
7820     inherit (xlibs) libXt libX11 libXext xextproto xproto;
7821     inherit gsl aalib zlib libpng intltool gettext perl;
7822   };
7824   xara = import ../applications/graphics/xara {
7825     inherit fetchurl stdenv autoconf automake libtool gettext cvs
7826       pkgconfig libxml2 zip libpng libjpeg shebangfix perl freetype;
7827     inherit (gtkLibs) gtk;
7828     wxGTK = wxGTK26;
7829   };
7831   xawtv = import ../applications/video/xawtv {
7832     inherit fetchurl stdenv ncurses libjpeg perl;
7833     inherit (xlibs) libX11 libXt libXft xproto libFS fontsproto libXaw libXpm libXext libSM libICE xextproto;
7834   };
7836   xchat = import ../applications/networking/irc/xchat {
7837     inherit fetchurl stdenv pkgconfig tcl;
7838     inherit (gtkLibs) gtk;
7839   };
7841   xchm = import ../applications/misc/xchm {
7842     inherit fetchurl stdenv chmlib wxGTK;
7843   };
7845   xcompmgr = import ../applications/window-managers/xcompmgr {
7846     inherit stdenv fetchurl pkgconfig;
7847     inherit (xlibs) libXcomposite libXfixes libXdamage libXrender;
7848   };
7850   /* Doesn't work yet
7852   xen = builderDefsPackage (import ../applications/virtualization/xen) {
7853     inherit python e2fsprogs gnutls pkgconfig libjpeg
7854       ncurses SDL libvncserver zlib;
7855     texLive = if (getConfig ["xen" "texLive"] false) then texLive else null;
7856     graphviz = if (getConfig ["xen" "graphviz"] false) then graphviz else null;
7857     ghostscript = if (getConfig ["xen" "ghostscript"] false) then ghostscript else null;
7858   }; */
7860   xfig = import ../applications/graphics/xfig {
7861     stdenv = overrideGCC stdenv gcc34;
7862     inherit fetchurl makeWrapper x11 Xaw3d libpng libjpeg;
7863     inherit (xlibs) imake libXpm libXmu libXi libXp;
7864   };
7866   xineUI = import ../applications/video/xine-ui {
7867     inherit fetchurl stdenv pkgconfig xlibs xineLib libpng readline ncurses curl;
7868   };
7870   xmms = import ../applications/audio/xmms {
7871     inherit fetchurl libogg libvorbis alsaLib;
7872     inherit (gnome) esound;
7873     inherit (gtkLibs1x) glib gtk;
7874     stdenv = overrideGCC stdenv gcc34; # due to problems with gcc 4.x
7875   };
7877   xneur = import ../applications/misc/xneur {
7878     inherit fetchurl stdenv pkgconfig pcre libxml2 aspell imlib2
7879       xosd libnotify cairo;
7880     GStreamer=gst_all.gstreamer;
7881     inherit (xlibs) libX11 libXpm libXt libXext libXi;
7882     inherit (gtkLibs) glib gtk pango atk;
7883   };
7885   xneur_0_8 = import ../applications/misc/xneur/0.8.nix {
7886     inherit fetchurl stdenv pkgconfig pcre libxml2 aspell imlib2 xosd glib;
7887     GStreamer = gst_all.gstreamer;
7888     inherit (xlibs) libX11 libXpm libXt libXext;
7889   };
7891   xournal = builderDefsPackage (import ../applications/graphics/xournal) {
7892     inherit ghostscript fontconfig freetype zlib
7893       poppler popplerData autoconf automake
7894       libtool pkgconfig;
7895     inherit (xlibs) xproto libX11;
7896     inherit (gtkLibs) gtk atk pango glib;
7897     inherit (gnome) libgnomeprint libgnomeprintui
7898       libgnomecanvas;
7899   };
7901   xpdf = import ../applications/misc/xpdf {
7902     inherit fetchurl stdenv x11 freetype t1lib;
7903     motif = lesstif;
7904     base14Fonts = "${ghostscript}/share/ghostscript/fonts";
7905   };
7907   xpra = import ../tools/X11/xpra {
7908     inherit stdenv fetchurl pkgconfig python pygtk xlibs makeWrapper;
7909     inherit (gtkLibs) gtk;
7910     pyrex = pyrex095;
7911   };
7913   xscreensaverBase = composedArgsAndFun (import ../applications/graphics/xscreensaver) {
7914     inherit stdenv fetchurl builderDefs lib pkgconfig bc perl intltool;
7915     inherit (xlibs) libX11 libXmu;
7916   };
7918   xscreensaver = xscreensaverBase.passthru.function {
7919     flags = ["GL" "gdkpixbuf" "DPMS" "gui" "jpeg"];
7920     inherit mesa libxml2 libjpeg;
7921     inherit (gtkLibs) gtk;
7922     inherit (gnome) libglade;
7923   };
7925   xterm = import ../applications/misc/xterm {
7926     inherit fetchurl stdenv ncurses freetype pkgconfig;
7927     inherit (xlibs) libXaw xproto libXt libX11 libSM libICE libXext libXft luit;
7928   };
7930   xtrace = import ../tools/X11/xtrace {
7931     inherit stdenv fetchurl;
7932     inherit (xlibs) libX11;
7933   };
7935   xlaunch = import ../tools/X11/xlaunch {
7936     inherit stdenv;
7937     inherit (xorg) xorgserver;
7938   };
7940   xmacro = import ../tools/X11/xmacro {
7941     inherit fetchurl stdenv;
7942     inherit (xlibs) libX11 libXi libXtst xextproto inputproto;
7943   };
7945   xmove = import ../applications/misc/xmove {
7946     inherit fetchurl stdenv;
7947     inherit (xlibs) libX11 libXi imake libXau;
7948     inherit (xorg) xauth;
7949   };
7951   xnee = builderDefsPackage (import ../tools/X11/xnee) {
7952     inherit (gtkLibs) gtk;
7953     inherit (xlibs) libX11 libXtst xextproto libXext
7954       inputproto libXi xproto recordproto;
7955     inherit pkgconfig;
7956   };
7958   xvidcap = import ../applications/video/xvidcap {
7959     inherit fetchurl stdenv perl perlXMLParser pkgconfig gettext lame;
7960     inherit (gtkLibs) gtk;
7961     inherit (gnome) scrollkeeper libglade;
7962     inherit (xlibs) libXmu libXext libXfixes libXdamage libX11;
7963   };
7965   yate = import ../applications/misc/yate {
7966     inherit sox speex openssl automake autoconf pkgconfig;
7967     inherit fetchurl stdenv lib composableDerivation;
7968     qt = qt4;
7969   };
7971   # doesn't compile yet - in case someone else want's to continue ..
7972   qgis = (import ../applications/misc/qgis/1.0.1-2.nix) {
7973     inherit composableDerivation fetchsvn stdenv flex lib
7974             ncurses fetchurl perl cmake gdal geos proj x11
7975             gsl libpng zlib bison
7976             sqlite glibc fontconfig freetype /* use libc from stdenv ? - to lazy now - Marc */;
7977     inherit (xlibs) libSM libXcursor libXinerama libXrandr libXrender;
7978     inherit (xorg) libICE;
7979     qt = qt4;
7981     # optional features
7982     # grass = "not yet supported" # cmake -D WITH_GRASS=TRUE  and GRASS_PREFX=..
7983   };
7985   zapping = import ../applications/video/zapping {
7986     inherit fetchurl stdenv pkgconfig perl python
7987             gettext zvbi libjpeg libpng x11
7988             rte perlXMLParser;
7989     inherit (gnome) scrollkeeper libgnomeui libglade esound;
7990     inherit (xlibs) libXv libXmu libXext;
7991     teletextSupport = true;
7992     jpegSupport = true;
7993     pngSupport = true;
7994     recordingSupport = true;
7995   };
7998   ### GAMES
8000   ballAndPaddle = import ../games/ball-and-paddle {
8001     inherit fetchurl stdenv SDL SDL_image SDL_mixer SDL_ttf guile gettext;
8002   };
8004   bsdgames = import ../games/bsdgames {
8005     inherit fetchurl stdenv ncurses openssl flex bison miscfiles;
8006   };
8008   castleCombat = import ../games/castle-combat {
8009     inherit fetchurl stdenv python pygame twisted lib numeric makeWrapper;
8010   };
8012   construoBase = composedArgsAndFun (import ../games/construo/0.2.2.nix) {
8013     inherit stdenv fetchurl builderDefs
8014       zlib;
8015     inherit (xlibs) libX11 xproto;
8016   };
8018   construo = construoBase.passthru.function {
8019     inherit mesa freeglut;
8020   };
8022   eduke32 = import ../games/eduke32 {
8023     inherit stdenv fetchurl SDL SDL_mixer unzip libvorbis mesa pkgconfig nasm makeDesktopItem;
8024     inherit (gtkLibs) gtk;
8025   };
8027   exult = import ../games/exult {
8028     inherit fetchurl SDL SDL_mixer zlib libpng unzip;
8029     stdenv = overrideGCC stdenv gcc42;
8030   };
8032   /*
8033   exultSnapshot = lowPrio (import ../games/exult/snapshot.nix {
8034     inherit fetchurl stdenv SDL SDL_mixer zlib libpng unzip
8035       autoconf automake libtool flex bison;
8036   });
8037   */
8039   fsg = import ../games/fsg {
8040     inherit stdenv fetchurl pkgconfig mesa;
8041     inherit (gtkLibs) glib gtk;
8042     inherit (xlibs) libX11 xproto;
8043     wxGTK = wxGTK28.override {unicode = false;};
8044   };
8046   fsgAltBuild = import ../games/fsg/alt-builder.nix {
8047     inherit stdenv fetchurl mesa;
8048     wxGTK = wxGTK28.override {unicode = false;};
8049     inherit (xlibs) libX11 xproto;
8050     inherit stringsWithDeps builderDefs;
8051   };
8053   gemrb = import ../games/gemrb {
8054     inherit fetchurl stdenv SDL openal freealut zlib libpng python;
8055   };
8057   gnuchess = builderDefsPackage (import ../games/gnuchess) {
8058     flex = flex2535;
8059   };
8061   gparted = import ../tools/misc/gparted {
8062     inherit fetchurl stdenv parted intltool gettext libuuid pkgconfig libxml2;
8063     inherit (gtkLibs) gtk glib gtkmm;
8064     inherit (gnome) gnomedocutils;
8065   };
8067   hexen = import ../games/hexen {
8068     inherit stdenv fetchurl SDL;
8069   };
8071   kobodeluxe = import ../games/kobodeluxe {
8072     inherit stdenv fetchurl SDL SDL_image;
8073   };
8075   lincity = builderDefsPackage (import ../games/lincity) {
8076     inherit (xlibs) libX11 libXext xextproto
8077       libICE libSM xproto;
8078     inherit libpng zlib;
8079   };
8081   micropolis = import ../games/micropolis {
8082     inherit lib fetchurl stdenv;
8083     inherit (xlibs) libX11 libXpm libXext xextproto;
8084     inherit byacc bash;
8085   };
8087   openttd = import ../games/openttd {
8088     inherit fetchurl stdenv SDL libpng;
8089     zlib = zlibStatic;
8090   };
8092   quake3demo = import ../games/quake3/wrapper {
8093     name = "quake3-demo-${quake3game.name}";
8094     description = "Demo of Quake 3 Arena, a classic first-person shooter";
8095     inherit fetchurl stdenv mesa makeWrapper;
8096     game = quake3game;
8097     paks = [quake3demodata];
8098   };
8100   quake3demodata = import ../games/quake3/demo {
8101     inherit fetchurl stdenv;
8102   };
8104   quake3game = import ../games/quake3/game {
8105     inherit fetchurl stdenv x11 SDL mesa openal;
8106   };
8108   rogue = import ../games/rogue {
8109     inherit fetchurl stdenv ncurses;
8110   };
8112   scummvm = import ../games/scummvm {
8113     inherit fetchurl stdenv SDL zlib mpeg2dec;
8114   };
8116   scorched3d = import ../games/scorched3d {
8117     inherit stdenv fetchurl mesa openal autoconf automake libtool freealut freetype fftw SDL SDL_net zlib libpng libjpeg;
8118     wxGTK = wxGTK26;
8119   };
8121   sgtpuzzles = builderDefsPackage (import ../games/sgt-puzzles) {
8122     inherit (gtkLibs) gtk glib;
8123     inherit pkgconfig;
8124     inherit (xlibs) libX11;
8125   };
8127   # You still can override by passing more arguments.
8128   spaceOrbit = composedArgsAndFun (import ../games/orbit/1.01.nix) {
8129     inherit fetchurl stdenv builderDefs mesa freeglut;
8130     inherit (gnome) esound;
8131     inherit (xlibs) libXt libX11 libXmu libXi libXext;
8132   };
8134   superTuxKart = import ../games/super-tux-kart {
8135     inherit fetchurl stdenv plib SDL openal freealut mesa
8136       libvorbis libogg gettext;
8137   };
8139   teeworlds = import ../games/teeworlds {
8140     inherit fetchurl stdenv python alsaLib mesa SDL;
8141     inherit (xlibs) libX11;
8142   };
8144   /*tpm = import ../games/thePenguinMachine {
8145     inherit stdenv fetchurl pil pygame SDL;
8146     python24 = python;
8147   };*/
8149   ultimatestunts = import ../games/ultimatestunts {
8150     inherit stdenv fetchurl SDL mesa SDL_image freealut;
8151   };
8153   ut2004demo = import ../games/ut2004demo {
8154     inherit fetchurl stdenv xlibs mesa;
8155   };
8157   xboard = builderDefsPackage (import ../games/xboard) {
8158     inherit (xlibs) libX11 xproto libXt libXaw libSM
8159       libICE libXmu libXext libXpm;
8160     inherit gnuchess texinfo;
8161   };
8163   xsokoban = builderDefsPackage (import ../games/xsokoban) {
8164     inherit (xlibs) libX11 xproto libXpm libXt;
8165   };
8167   zdoom = import ../games/zdoom {
8168     inherit cmake stdenv fetchsvn SDL nasm p7zip zlib flac fmod libjpeg;
8169   };
8171   zoom = import ../games/zoom {
8172     inherit fetchurl stdenv perl expat freetype;
8173     inherit (xlibs) xlibs;
8174   };
8176   keen4 = import ../games/keen4 {
8177     inherit fetchurl stdenv dosbox unzip;
8178   };
8181   ### DESKTOP ENVIRONMENTS
8184   enlightenment = import ../desktops/enlightenment {
8185     inherit stdenv fetchurl pkgconfig x11 xlibs dbus imlib2 freetype;
8186   };
8188   gnome28 = import ../desktops/gnome-2.28 pkgs;
8190   gnome = gnome28;
8192   kde3 = {
8194     kdelibs = import ../desktops/kde-3/kdelibs {
8195       inherit
8196         fetchurl stdenv xlibs zlib perl openssl pcre pkgconfig
8197         libjpeg libpng libtiff libxml2 libxslt libtool
8198         expat freetype bzip2 cups attr acl;
8199       qt = qt3;
8200     };
8202     kdebase = import ../desktops/kde-3/kdebase {
8203       inherit
8204         fetchurl stdenv pkgconfig x11 xlibs zlib libpng libjpeg perl
8205         kdelibs openssl bzip2 fontconfig pam hal dbus glib;
8206       qt = qt3;
8207     };
8209   };
8211   kde4 = kde43;
8213   kde43 = import ../desktops/kde-4.3 (pkgs // {
8214     openexr = openexr_1_6_1;
8215     qt4 = qt45;
8216     popplerQt4 = popplerQt45;
8217   });
8219   kdelibs = kde3.kdelibs;
8220   kdebase = kde3.kdebase;
8222   ### SCIENCE
8224   xplanet = import ../applications/science/xplanet {
8225     inherit stdenv fetchurl lib pkgconfig freetype libpng libjpeg giflib libtiff;
8226     inherit (gtkLibs) pango;
8227   };
8229   ### SCIENCE/GEOMETRY
8231   drgeo = builderDefsPackage (import ../applications/science/geometry/drgeo) {
8232     inherit (gnome) libglade gtk;
8233     inherit libxml2 guile perl intltool libtool pkgconfig;
8234   };
8237   ### SCIENCE/BIOLOGY
8239   alliance = import ../applications/science/electronics/alliance {
8240     inherit fetchurl stdenv bison flex;
8241     inherit (xlibs) xproto libX11 libXt libXpm;
8242     motif = lesstif;
8243   };
8245   arb = import ../applications/science/biology/arb {
8246     inherit fetchurl readline libpng zlib x11 lesstif93 freeglut perl;
8247     inherit (xlibs) libXpm libXaw libX11 libXext libXt;
8248     inherit mesa glew libtiff lynx rxp sablotron jdk transfig gv gnuplot;
8249     lesstif = lesstif93;
8250     stdenv = overrideGCC stdenv gcc42;
8251   };
8253   biolib = import ../development/libraries/science/biology/biolib {
8254     inherit fetchurl stdenv readline perl cmake rLang zlib;
8255   };
8257   emboss = import ../applications/science/biology/emboss {
8258     inherit fetchurl stdenv readline perl libpng zlib;
8259     inherit (xorg) libX11 libXt;
8260   };
8262   mrbayes = import ../applications/science/biology/mrbayes {
8263     inherit fetchurl stdenv readline;
8264   };
8266   ncbiCTools = builderDefsPackage ../development/libraries/ncbi {
8267     inherit tcsh mesa lesstif;
8268     inherit (xlibs) libX11 libXaw xproto libXt libSM libICE 
8269       libXmu libXext;
8270   };
8272   ncbi_tools = import ../applications/science/biology/ncbi-tools {
8273     inherit fetchurl stdenv cpio;
8274   };
8276   paml = import ../applications/science/biology/paml {
8277     inherit fetchurl stdenv;
8278   };
8280   /* slr = import ../applications/science/biology/slr {
8281     inherit fetchurl stdenv liblapack;
8282   }; */
8284   pal2nal = import ../applications/science/biology/pal2nal {
8285     inherit fetchurl stdenv perl paml;
8286   };
8289   ### SCIENCE/MATH
8291   atlas = import ../development/libraries/science/math/atlas {
8292     inherit fetchurl stdenv gfortran;
8293   };
8295   content = builderDefsPackage ../applications/science/math/content {
8296     inherit mesa lesstif;
8297     inherit (xlibs) libX11 libXaw xproto libXt libSM libICE 
8298       libXmu libXext libXcursor;
8299   };
8301   /* liblapack = import ../development/libraries/science/math/liblapack {
8302     inherit fetchurl stdenv gfortran;
8303   }; */
8306   ### SCIENCE/LOGIC
8308   coq = import ../applications/science/logic/coq {
8309     inherit stdenv fetchurl ocaml lablgtk ncurses;
8310     camlp5 = camlp5_transitional;
8311   };
8313   isabelle = import ../applications/science/logic/isabelle {
8314     inherit (pkgs) stdenv fetchurl nettools perl polyml emacs emacsPackages;
8315   };
8317   ssreflect = import ../applications/science/logic/ssreflect {
8318     inherit stdenv fetchurl ocaml coq;
8319     camlp5 = camlp5_transitional;
8320   };
8322   ### SCIENCE / ELECTRONICS
8324   ngspice = import ../applications/science/electronics/ngspice {
8325     inherit fetchurl stdenv readline;
8326   };
8328   gtkwave = import ../applications/science/electronics/gtkwave {
8329     inherit fetchurl stdenv gperf pkgconfig bzip2;
8330     inherit (gtkLibs) gtk;
8331   };
8333   ### SCIENCE / MATH
8335   maxima = import ../applications/science/math/maxima {
8336     inherit fetchurl stdenv clisp;
8337   };
8339   wxmaxima = import ../applications/science/math/wxmaxima {
8340     inherit fetchurl stdenv maxima;
8341     inherit wxGTK;
8342   };
8344   scilab = (import ../applications/science/math/scilab) {
8345     inherit stdenv fetchurl lib gfortran;
8346     inherit (gtkLibs) gtk;
8347     inherit ncurses Xaw3d tcl tk ocaml x11;
8349     withXaw3d = false;
8350     withTk = true;
8351     withGtk = false;
8352     withOCaml = true;
8353     withX = true;
8354   };
8357   ### MISC
8359   atari800 = import ../misc/emulators/atari800 {
8360     inherit fetchurl stdenv unzip zlib SDL;
8361   };
8363   ataripp = import ../misc/emulators/atari++ {
8364     inherit fetchurl stdenv x11 SDL;
8365   };
8367   auctex = import ../misc/tex/auctex {
8368     inherit stdenv fetchurl emacs texLive;
8369   };
8371   busybox = import ../misc/busybox {
8372     inherit fetchurl stdenv;
8373   };
8375   cups = import ../misc/cups {
8376     inherit fetchurl stdenv pkgconfig zlib libjpeg libpng libtiff pam openssl dbus;
8377   };
8379   gutenprint = import ../misc/drivers/gutenprint {
8380     inherit fetchurl stdenv lib pkgconfig composableDerivation cups libtiff libpng
8381       openssl git gimp;
8382   };
8384   gutenprintBin = import ../misc/drivers/gutenprint/bin.nix {
8385     inherit fetchurl stdenv rpm cpio zlib;
8386   };
8388   cupsBjnp = import ../misc/cups/drivers/cups-bnjp {
8389     inherit fetchurl stdenv cups;
8390   };
8392   dblatex = import ../misc/tex/dblatex {
8393     inherit fetchurl stdenv python libxslt tetex;
8394   };
8396   dosbox = import ../misc/emulators/dosbox {
8397     inherit fetchurl stdenv SDL makeDesktopItem;
8398   };
8400   dpkg = import ../tools/package-management/dpkg {
8401     inherit fetchurl stdenv perl zlib bzip2;
8402   };
8404   electricsheep = import ../misc/screensavers/electricsheep {
8405     inherit fetchurl stdenv pkgconfig expat zlib libpng libjpeg xlibs;
8406   };
8408   foldingathome = import ../misc/foldingathome {
8409       inherit fetchurl stdenv;
8410     };
8412   freestyle = import ../misc/freestyle {
8413     inherit fetchurl freeglut qt4 libpng lib3ds libQGLViewer swig;
8414     inherit (xlibs) libXi;
8415     #stdenv = overrideGCC stdenv gcc41;
8416     inherit stdenv python;
8417   };
8419   gajim = builderDefsPackage (import ../applications/networking/instant-messengers/gajim) {
8420     inherit perl intltool pyGtkGlade gettext pkgconfig makeWrapper pygobject
8421       pyopenssl gtkspell libsexy pycrypto aspell pythonDBus pythonSexy
8422       docutils;
8423     dbus = dbus.libs;
8424     inherit (gnome) gtk libglade;
8425     inherit (xlibs) libXScrnSaver libXt xproto libXext xextproto libX11
8426       scrnsaverproto;
8427     python = pythonFull;
8428   };
8430   generator = import ../misc/emulators/generator {
8431     inherit fetchurl stdenv SDL nasm zlib bzip2 libjpeg;
8432     inherit (gtkLibs1x) gtk;
8433   };
8435   ghostscript = makeOverridable (import ../misc/ghostscript) {
8436     inherit fetchurl stdenv libjpeg libpng libtiff zlib x11 pkgconfig
8437       fontconfig cups openssl;
8438     x11Support = false;
8439     cupsSupport = getPkgConfig "ghostscript" "cups" true;
8440   };
8442   ghostscriptX = lowPrio (appendToName "with-X" (ghostscript.override {
8443     x11Support = true;
8444   }));
8446   gxemul = (import ../misc/gxemul) {
8447     inherit lib stdenv fetchurl composableDerivation;
8448     inherit (xlibs) libX11;
8449   };
8451   # using the new configuration style proposal which is unstable
8452   jackaudio = import ../misc/jackaudio {
8453     inherit composableDerivation
8454            ncurses lib stdenv fetchurl alsaLib pkgconfig;
8455     flags = [ "posix_shm" "timestamps" "alsa"];
8456   };
8458   keynav = import ../tools/X11/keynav {
8459     inherit stdenv fetchurl;
8460     inherit (xlibs) libX11 xextproto libXtst imake libXi libXext;
8461   };
8463   lazylist = import ../misc/tex/lazylist {
8464     inherit fetchurl stdenv tetex;
8465   };
8467   lilypond = import ../misc/lilypond {
8468     inherit fetchurl sourceFromHead stdenv lib automake autoconf
8469       ghostscript texinfo imagemagick texi2html guile python gettext
8470       perl bison pkgconfig texLive fontconfig freetype fontforge help2man;
8471     inherit (gtkLibs) pango;
8472     flex = flex2535;
8473   };
8475   linuxwacom = import ../misc/linuxwacom {
8476     inherit fetchurl stdenv ncurses pkgconfig;
8477     inherit (xorg) libX11 libXi xproto inputproto xorgserver;
8478   };
8480   martyr = import ../development/libraries/martyr {
8481     inherit stdenv fetchurl apacheAnt;
8482   };
8484   maven = import ../misc/maven/maven-1.0.nix {
8485     inherit stdenv fetchurl jdk;
8486   };
8488   maven2 = import ../misc/maven {
8489     inherit stdenv fetchurl jdk makeWrapper;
8490   };
8492   nix = makeOverridable (import ../tools/package-management/nix) {
8493     inherit fetchurl stdenv perl curl bzip2 openssl;
8494     aterm = aterm242fixes;
8495     db4 = db45;
8496     supportOldDBs = getPkgConfig "nix" "OldDBSupport" true;
8497     storeDir = getPkgConfig "nix" "storeDir" "/nix/store";
8498     stateDir = getPkgConfig "nix" "stateDir" "/nix/var";
8499   };
8501   # The bleeding edge.
8502   nixUnstable = makeOverridable (import ../tools/package-management/nix/unstable.nix) {
8503     inherit fetchurl stdenv perl curl bzip2 openssl;
8504     aterm = aterm242fixes;
8505     storeDir = getPkgConfig "nix" "storeDir" "/nix/store";
8506     stateDir = getPkgConfig "nix" "stateDir" "/nix/var";
8507   };
8509   nixCustomFun = src: preConfigure: enableScripts: configureFlags:
8510     import ../tools/package-management/nix/custom.nix {
8511       inherit fetchurl stdenv perl curl bzip2 openssl src preConfigure automake
8512         autoconf libtool configureFlags enableScripts lib bison libxml2;
8513       flex = flex2533;
8514       aterm = aterm242fixes;
8515       db4 = db45;
8516       inherit docbook5_xsl libxslt docbook5 docbook_xml_dtd_43 w3m;
8517     };
8519   disnix = import ../tools/package-management/disnix {
8520     inherit stdenv fetchsvn openssl autoconf automake libtool pkgconfig dbus_glib libxml2;
8521   };
8523   disnix_activation_scripts = import ../tools/package-management/disnix/activation-scripts {
8524     inherit stdenv fetchsvn autoconf automake;
8525   };
8527   DisnixService = import ../tools/package-management/disnix/DisnixService {
8528     inherit stdenv fetchsvn apacheAnt jdk axis2 shebangfix;
8529   };
8531   pgadmin = import ../applications/misc/pgadmin {
8532     inherit fetchurl stdenv postgresql libxml2 libxslt openssl;
8533     inherit wxGTK;
8534   };
8536   pgf = pgf2;
8538   # Keep the old PGF since some documents don't render properly with
8539   # the new one.
8540   pgf1 = import ../misc/tex/pgf/1.x.nix {
8541     inherit fetchurl stdenv;
8542   };
8544   pgf2 = import ../misc/tex/pgf/2.x.nix {
8545     inherit fetchurl stdenv;
8546   };
8548   polytable = import ../misc/tex/polytable {
8549     inherit fetchurl stdenv tetex lazylist;
8550   };
8552   psi = (import ../applications/networking/instant-messengers/psi) {
8553     inherit stdenv fetchurl zlib aspell sox qt4;
8554     inherit (xlibs) xproto libX11 libSM libICE;
8555     qca2 = kde4.qca2;
8556   };
8558   putty = import ../applications/networking/remote/putty {
8559     inherit stdenv fetchurl ncurses;
8560     inherit (gtkLibs1x) gtk;
8561   };
8563   rssglx = import ../misc/screensavers/rss-glx {
8564     inherit fetchurl stdenv x11 mesa pkgconfig imagemagick libtiff bzip2;
8565   };
8567   xlockmore = import ../misc/screensavers/xlockmore {
8568     inherit fetchurl stdenv x11 freetype;
8569     pam = if getPkgConfig "xlockmore" "pam" true then pam else null;
8570   };
8572   saneBackends = import ../misc/sane-backends {
8573     inherit fetchurl stdenv libusb;
8574     gt68xxFirmware = getConfig ["sane" "gt68xxFirmware"] null;
8575   };
8577   saneFrontends = import ../misc/sane-front {
8578     inherit fetchurl stdenv pkgconfig libusb saneBackends;
8579     inherit (gtkLibs) gtk;
8580     inherit (xlibs) libX11;
8581   };
8583   sourceAndTags = import ../misc/source-and-tags {
8584     inherit pkgs stdenv unzip lib ctags;
8585     hasktags = haskellPackages.myhasktags;
8586   };
8588   synaptics = import ../misc/synaptics {
8589     inherit fetchurl stdenv pkgconfig;
8590     inherit (xlibs) libX11 libXi libXext pixman xf86inputevdev;
8591     inherit (xorg) xorgserver;
8592   };
8594   tetex = import ../misc/tex/tetex {
8595     inherit fetchurl stdenv flex bison zlib libpng ncurses ed;
8596   };
8598   texFunctions = import ../misc/tex/nix {
8599     inherit stdenv perl tetex graphviz ghostscript makeFontsConf imagemagick runCommand lib;
8600     inherit (haskellPackages) lhs2tex;
8601   };
8603   texLive = builderDefsPackage (import ../misc/tex/texlive) {
8604     inherit builderDefs zlib bzip2 ncurses libpng ed
8605       gd t1lib freetype icu perl ruby expat curl
8606       libjpeg bison;
8607     inherit (xlibs) libXaw libX11 xproto libXt libXpm
8608       libXmu libXext xextproto libSM libICE;
8609     flex = flex2535;
8610     ghostscript = ghostscriptX;
8611   };
8613   /* Look in configurations/misc/raskin.nix for usage example (around revisions
8614   where TeXLive was added)
8616   (texLiveAggregationFun {
8617     paths = [texLive texLiveExtra texLiveCMSuper
8618       texLiveBeamer
8619     ];
8620   })
8622   You need to use texLiveAggregationFun to regenerate, say, ls-R (TeX-related file list)
8623   Just installing a few packages doesn't work.
8624   */
8625   texLiveAggregationFun =
8626     (builderDefsPackage (import ../misc/tex/texlive/aggregate.nix));
8628   texLiveContext = builderDefsPackage (import ../misc/tex/texlive/context.nix) {
8629     inherit texLive;
8630   };
8632   texLiveExtra = builderDefsPackage (import ../misc/tex/texlive/extra.nix) {
8633     inherit texLive;
8634   };
8636   texLiveCMSuper = builderDefsPackage (import ../misc/tex/texlive/cm-super.nix) {
8637     inherit texLive;
8638   };
8640   texLiveLatexXColor = builderDefsPackage (import ../misc/tex/texlive/xcolor.nix) {
8641     inherit texLive;
8642   };
8644   texLivePGF = builderDefsPackage (import ../misc/tex/texlive/pgf.nix) {
8645     inherit texLiveLatexXColor texLive;
8646   };
8648   texLiveBeamer = builderDefsPackage (import ../misc/tex/texlive/beamer.nix) {
8649     inherit texLiveLatexXColor texLivePGF texLive;
8650   };
8652   toolbuslib = import ../development/libraries/toolbuslib {
8653     inherit stdenv fetchurl aterm;
8654   };
8656   trac = import ../misc/trac {
8657     inherit stdenv fetchurl python clearsilver makeWrapper
8658       sqlite subversion;
8659     inherit (pythonPackages) pysqlite;
8660   };
8662    vice = import ../misc/emulators/vice {
8663      inherit stdenv fetchurl lib perl gettext libpng giflib libjpeg alsaLib readline mesa;
8664      inherit pkgconfig SDL makeDesktopItem autoconf automake;
8665      inherit (gtkLibs) gtk;
8666    };
8668   wine =
8669     if system == "x86_64-linux" then
8670       # Can't build this in 64-bit; use a 32-bit build instead.
8671       pkgsi686Linux.wine
8672       # some hackery to make nix-env show this package on x86_64...
8673       // {system = "x86_64-linux";}
8674     else
8675       import ../misc/emulators/wine {
8676         inherit fetchurl stdenv flex bison mesa ncurses
8677           libpng libjpeg alsaLib lcms xlibs freetype
8678           fontconfig fontforge libxml2 libxslt openssl;
8679       };
8681   xosd = import ../misc/xosd {
8682     inherit fetchurl stdenv;
8683     inherit (xlibs) libX11 libXext libXt xextproto xproto;
8684   };
8686   xsane = import ../misc/xsane {
8687     inherit fetchurl stdenv pkgconfig libusb
8688       saneBackends saneFrontends;
8689     inherit (gtkLibs) gtk;
8690     inherit (xlibs) libX11;
8691   };
8693   yafc = import ../applications/networking/yafc {
8694     inherit fetchurl stdenv readline openssh;
8695   };
8697   myEnvFun = import ../misc/my-env {
8698     inherit substituteAll pkgs;
8699     inherit (stdenv) mkDerivation;
8700   };
8702   misc = import ../misc/misc.nix { inherit pkgs stdenv; };
8704 }; in pkgs