Fixing the evaluation of inotify-tools by hydra (release.nix)
[nixpkgs-libre.git] / pkgs / top-level / all-packages.nix
blob937bb1196013927edc0ff3cbadddb1814d6ff2e6
1 /* This file composes the Nix Packages collection.  That is, it
2    imports the functions that build the various packages, and calls
3    them with appropriate arguments.  The result is a set of all the
4    packages in the Nix Packages collection for some particular
5    platform.
7    You want to get to know where to add a new package ?
8    Have a look at nixpkgs/maintainers/docs/classification.txt */
11 { # The system (e.g., `i686-linux') for which to build the packages.
12   system ? builtins.currentSystem
14   # Usually, the system type uniquely determines the stdenv and thus
15   # how to build the packages.  But on some platforms we have
16   # different stdenvs, leading to different ways to build the
17   # packages.  For instance, on Windows we support both Cygwin and
18   # Mingw builds.  In both cases, `system' is `i686-cygwin'.  The
19   # attribute `stdenvType' is used to select the specific kind of
20   # stdenv to use, e.g., `i686-mingw'.
21 , stdenvType ? system
23 , # The standard environment to use.  Only used for bootstrapping.  If
24   # null, the default standard environment is used.
25   bootStdenv ? null
27   # More flags for the bootstrapping of stdenv.
28 , noSysDirs ? true
29 , gccWithCC ? true
30 , gccWithProfiling ? true
32 , # Allow a configuration attribute set to be passed in as an
33   # argument.  Otherwise, it's read from $NIXPKGS_CONFIG or
34   # ~/.nixpkgs/config.nix.
35   config ? null
39 let config_ = config; in # rename the function argument
41 let
43   lib = import ../lib; # see also libTests below
45   # The contents of the configuration file found at $NIXPKGS_CONFIG or
46   # $HOME/.nixpkgs/config.nix.
47   # for NIXOS (nixos-rebuild): use nixpkgs.config option
48   config =
49     let
50       toPath = builtins.toPath;
51       getEnv = x: if builtins ? getEnv then builtins.getEnv x else "";
52       pathExists = name:
53         builtins ? pathExists && builtins.pathExists (toPath name);
55       configFile = getEnv "NIXPKGS_CONFIG";
56       homeDir = getEnv "HOME";
57       configFile2 = homeDir + "/.nixpkgs/config.nix";
59       configExpr =
60         if config_ != null then config_
61         else if configFile != "" && pathExists configFile then import (toPath configFile)
62         else if homeDir != "" && pathExists configFile2 then import (toPath configFile2)
63         else {};
65     in
66       # allow both:
67       # { /* the config */ } and
68       # { pkgsOrig, pkgs, ... } : { /* the config */ }
69       if builtins.isFunction configExpr
70         then configExpr { inherit pkgs pkgsOrig; }
71         else configExpr;
73   # Return an attribute from the Nixpkgs configuration file, or
74   # a default value if the attribute doesn't exist.
75   getConfig = attrPath: default: lib.attrByPath attrPath default config;
78   # Helper functions that are exported through `pkgs'.
79   helperFunctions =
80     stdenvAdapters //
81     (import ../build-support/trivial-builders.nix { inherit (pkgs) stdenv; inherit (pkgs.xorg) lndir; });
83   stdenvAdapters =
84     import ../stdenv/adapters.nix { inherit (pkgs) dietlibc fetchurl runCommand; };
87   # Allow packages to be overriden globally via the `packageOverrides'
88   # configuration option, which must be a function that takes `pkgs'
89   # as an argument and returns a set of new or overriden packages.
90   # `__overrides' is a magic attribute that causes the attributes in
91   # its value to be added to the surrounding `rec'.  The
92   # `packageOverrides' function is called with the *original*
93   # (un-overriden) set of packages, allowing packageOverrides
94   # attributes to refer to the original attributes (e.g. "foo =
95   # ... pkgs.foo ...").
96   __overrides = (getConfig ["packageOverrides"] (pkgs: {})) pkgsOrig;
98   pkgsOrig = pkgsFun {}; # the un-overriden packages, passed to packageOverrides
99   pkgsOverriden = pkgsFun __overrides; # the overriden, final packages
100   pkgs = pkgsOverriden // helperFunctions;
103   # The package compositions.  Yes, this isn't properly indented.
104   pkgsFun = __overrides: with helperFunctions; rec {
106   # override system. This is useful to build i686 packages on x86_64-linux
107   forceSystem = system: (import ./all-packages.nix) {
108     inherit system;
109     inherit bootStdenv noSysDirs gccWithCC gccWithProfiling config;
110   };
112   # used by wine, firefox with debugging version of Flash, ..
113   pkgsi686Linux = forceSystem "i686-linux";
115   inherit __overrides;
118   # For convenience, allow callers to get the path to Nixpkgs.
119   path = ../..;
122   ### Symbolic names.
125   x11 = xlibsWrapper;
127   # `xlibs' is the set of X library components.  This used to be the
128   # old modular X libraries project (called `xlibs') but now it's just
129   # the set of packages in the modular X.org tree (which also includes
130   # non-library components like the server, drivers, fonts, etc.).
131   xlibs = xorg // {xlibs = xlibsWrapper;};
134   ### Helper functions.
137   inherit lib config getConfig stdenvAdapters;
139   inherit (lib) lowPrio appendToName makeOverridable;
141   # Applying this to an attribute set will cause nix-env to look
142   # inside the set for derivations.
143   recurseIntoAttrs = attrs: attrs // {recurseForDerivations = true;};
145   useFromStdenv = it : alternative : if (builtins.hasAttr it stdenv) then
146     (builtins.getAttr it stdenv) else alternative;
148   # Return the first available value in the order: pkg.val, val, or default.
149   getPkgConfig = pkg : val : default : (getConfig [ pkg val ] (getConfig [ val ] default));
151   # Check absence of non-used options
152   checker = x: flag: opts: config:
153     (if flag then let result=(
154       (import ../build-support/checker)
155       opts config); in
156       (if (result=="") then x else
157       abort ("Unknown option specified: " + result))
158     else x);
160   builderDefs = composedArgsAndFun (import ../build-support/builder-defs/builder-defs.nix) {
161     inherit stringsWithDeps lib stdenv writeScript
162       fetchurl fetchmtn fetchgit;
163   };
165   composedArgsAndFun = lib.composedArgsAndFun;
167   builderDefsPackage = builderDefs.builderDefsPackage builderDefs;
169   stringsWithDeps = lib.stringsWithDeps;
172   ### STANDARD ENVIRONMENT
175   allStdenvs = import ../stdenv {
176     inherit system stdenvType;
177     allPackages = args: import ./all-packages.nix ({ inherit config; } // args);
178   };
180   defaultStdenv = allStdenvs.stdenv;
182   stdenv =
183     if bootStdenv != null then bootStdenv else
184       let changer = getConfig ["replaceStdenv"] null;
185       in if changer != null then
186         changer {
187           stdenv = defaultStdenv;
188           overrideSetup = overrideSetup;
189         }
190       else defaultStdenv;
192   # A stdenv capable of building 32-bit binaries.  On x86_64-linux,
193   # it uses GCC compiled with multilib support; on i686-linux, it's
194   # just the plain stdenv.
195   stdenv_32bit =
196     if system == "x86_64-linux" then
197       overrideGCC stdenv gcc43_multi
198     else
199       stdenv;
202   ### BUILD SUPPORT
204   attrSetToDir = arg : import ../build-support/upstream-updater/attrset-to-dir.nix {
205     inherit writeTextFile stdenv lib;
206     theAttrSet = arg;
207   };
209   buildEnv = import ../build-support/buildenv {
210     inherit stdenv perl;
211   };
213   debPackage = {
214     debBuild = lib.sumTwoArgs(import ../build-support/deb-package) {
215       inherit builderDefs;
216     };
217     inherit fetchurl stdenv;
218   };
220   fetchbzr = import ../build-support/fetchbzr {
221     inherit stdenv bazaar;
222   };
224   fetchcvs = import ../build-support/fetchcvs {
225     inherit stdenv cvs;
226   };
228   fetchdarcs = import ../build-support/fetchdarcs {
229     inherit stdenv darcs nix;
230   };
232   fetchgit = import ../build-support/fetchgit {
233     inherit stdenv git;
234   };
236   fetchmtn = import ../build-support/fetchmtn {
237     inherit monotone stdenv;
238     cacheDB = getConfig ["fetchmtn" "cacheDB"] "";
239     defaultDBMirrors = getConfig ["fetchmtn" "defaultDBMirrors"] [];
240   };
242   fetchsvn = import ../build-support/fetchsvn {
243     inherit stdenv subversion openssh;
244     sshSupport = true;
245   };
247   fetchsvnssh = import ../build-support/fetchsvnssh {
248     inherit stdenv subversion openssh expect;
249     sshSupport = true;
250   };
252   fetchhg = import ../build-support/fetchhg {
253     inherit stdenv mercurial nix;
254   };
256   # `fetchurl' downloads a file from the network.  The `useFromStdenv'
257   # is there to allow stdenv to determine fetchurl.  Used during the
258   # stdenv-linux bootstrap phases to prevent lots of different curls
259   # from being built.
260   fetchurl = useFromStdenv "fetchurl"
261     (import ../build-support/fetchurl {
262       inherit curl stdenv;
263     });
265   # fetchurlBoot is used for curl and its dependencies in order to
266   # prevent a cyclic dependency (curl depends on curl.tar.bz2,
267   # curl.tar.bz2 depends on fetchurl, fetchurl depends on curl).  It
268   # uses the curl from the previous bootstrap phase (e.g. a statically
269   # linked curl in the case of stdenv-linux).
270   fetchurlBoot = stdenv.fetchurlBoot;
272   resolveMirrorURLs = {url}: fetchurl {
273     showURLs = true;
274     inherit url;
275   };
277   makeDesktopItem = import ../build-support/make-desktopitem {
278     inherit stdenv;
279   };
281   makeInitrd = {contents}: import ../build-support/kernel/make-initrd.nix {
282     inherit stdenv perl cpio contents;
283   };
285   makeWrapper = makeSetupHook ../build-support/make-wrapper/make-wrapper.sh;
287   makeModulesClosure = {kernel, rootModules, allowMissing ? false}:
288     import ../build-support/kernel/modules-closure.nix {
289       inherit stdenv module_init_tools kernel nukeReferences
290         rootModules allowMissing;
291     };
293   pathsFromGraph = ../build-support/kernel/paths-from-graph.pl;
295   srcOnly = args: (import ../build-support/src-only) ({inherit stdenv; } // args);
297   substituteAll = import ../build-support/substitute/substitute-all.nix {
298     inherit stdenv;
299   };
301   nukeReferences = import ../build-support/nuke-references/default.nix {
302     inherit stdenv;
303   };
305   vmTools = import ../build-support/vm/default.nix {
306     inherit pkgs;
307   };
309   releaseTools = import ../build-support/release/default.nix {
310     inherit pkgs;
311   };
313   composableDerivation = (import ../lib/composable-derivation.nix) {
314     inherit pkgs lib;
315   };
318   ### TOOLS
320   acct = import ../tools/system/acct {
321     inherit fetchurl stdenv;
322   };
324   aefs = import ../tools/filesystems/aefs {
325     inherit fetchurl stdenv fuse;
326   };
328   aircrackng = import ../tools/networking/aircrack-ng {
329     inherit fetchurl stdenv libpcap openssl zlib wirelesstools;
330   };
332   ec2apitools = import ../tools/virtualization/amazon-ec2-api-tools {
333     inherit stdenv fetchurl unzip makeWrapper jre;
334   };
336   ec2amitools = import ../tools/virtualization/amazon-ec2-ami-tools {
337     inherit stdenv fetchurl unzip makeWrapper ruby openssl;
338   };
340   amule = import ../tools/networking/p2p/amule {
341     inherit fetchurl stdenv zlib perl cryptopp gettext libupnp makeWrapper;
342     inherit wxGTK;
343   };
345   aria = builderDefsPackage (import ../tools/networking/aria) {
346   };
348   at = import ../tools/system/at {
349     inherit fetchurl stdenv bison flex pam ssmtp;
350   };
352   autogen = import ../development/tools/misc/autogen {
353     inherit fetchurl stdenv guile which;
354   };
356   autojump = import ../tools/misc/autojump {
357     inherit fetchurl stdenv python;
358   };
360   avahi =
361     let qt4Support = getConfig [ "avahi" "qt4Support" ] false;
362     in
363       makeOverridable (import ../development/libraries/avahi) {
364         inherit stdenv fetchurl pkgconfig libdaemon dbus perl perlXMLParser
365           expat gettext intltool lib;
366         inherit (gtkLibs) glib gtk;
367         inherit qt4Support;
368         qt4 = if qt4Support then qt4 else null;
369       };
371   axel = import ../tools/networking/axel {
372     inherit fetchurl stdenv;
373   };
375   azureus = import ../tools/networking/p2p/azureus {
376     inherit fetchurl stdenv jdk swt;
377   };
379   bc = import ../tools/misc/bc {
380     inherit fetchurl stdenv flex readline;
381   };
383   bfr = import ../tools/misc/bfr {
384     inherit fetchurl stdenv perl;
385   };
387   bootchart = import ../tools/system/bootchart {
388     inherit fetchurl stdenv gnutar gzip coreutils utillinux gnugrep gnused psmisc nettools;
389   };
391   btrfsProgs = builderDefsPackage (import ../tools/filesystems/btrfsprogs) {
392     inherit libuuid zlib acl;
393   };
395   eggdrop = import ../tools/networking/eggdrop {
396     inherit fetchurl stdenv tcl;
397   };
399   mcrl = import ../tools/misc/mcrl {
400     inherit fetchurl stdenv coreutils;
401   };
403   mcrl2 = import ../tools/misc/mcrl2 {
404     inherit fetchurl stdenv mesa ;
405     inherit (xorg) libX11;
406     inherit wxGTK;
407   };
409   syslogng = import ../tools/misc/syslog-ng {
410     inherit fetchurl stdenv eventlog pkgconfig glib;
411   };
413   asciidoc = import ../tools/typesetting/asciidoc {
414     inherit fetchurl stdenv python;
415   };
417   bibtextools = import ../tools/typesetting/bibtex-tools {
418     inherit fetchurl stdenv aterm tetex hevea;
419     inherit (strategoPackages016) strategoxt sdf;
420   };
422   bittorrent = import ../tools/networking/p2p/bittorrent {
423     inherit fetchurl stdenv makeWrapper python pycrypto twisted;
424     wxPython = wxPython26;
425     gui = true;
426   };
428   bittornado = import ../tools/networking/p2p/bit-tornado {
429     inherit fetchurl stdenv python wxPython26;
430   };
432   bmrsa = builderDefsPackage (import ../tools/security/bmrsa/11.nix) {
433     inherit unzip;
434   };
436   bogofilter = import ../tools/misc/bogofilter {
437     inherit fetchurl stdenv flex;
438     bdb = db4;
439   };
441   bsdiff = import ../tools/compression/bsdiff {
442     inherit fetchurl stdenv;
443   };
445   ncompress = import ../tools/compression/ncompress {
446     inherit fetchurl stdenv;
447   };
449   bzip2 = useFromStdenv "bzip2"
450     (import ../tools/compression/bzip2 {
451       inherit fetchurl stdenv;
452     });
454   cabextract = import ../tools/archivers/cabextract {
455     inherit fetchurl stdenv;
456   };
458   ccid = import ../tools/security/ccid {
459     inherit fetchurl stdenv pcsclite libusb pkgconfig perl;
460   };
462   ccrypt = import ../tools/security/ccrypt {
463     inherit fetchurl stdenv;
464   };
466   cdecl = import ../development/tools/cdecl {
467     inherit fetchurl stdenv yacc flex readline ncurses;
468   };
470   cdrdao = import ../tools/cd-dvd/cdrdao {
471     inherit fetchurl stdenv lame libvorbis libmad pkgconfig libao;
472   };
474   cdrkit = import ../tools/cd-dvd/cdrkit {
475     inherit fetchurl stdenv cmake libcap zlib bzip2;
476   };
478   checkinstall = import ../tools/package-management/checkinstall {
479     inherit fetchurl stdenv gettext;
480   };
482   cheetahTemplate = builderDefsPackage (import ../tools/text/cheetah-template/2.0.1.nix) {
483     inherit makeWrapper python;
484   };
486   chkrootkit = import ../tools/security/chkrootkit {
487     inherit fetchurl stdenv;
488   };
490   cksfv = import ../tools/networking/cksfv {
491     inherit fetchurl stdenv;
492   };
494   convertlit = import ../tools/text/convertlit {
495     inherit fetchurl stdenv unzip libtommath;
496   };
498   unifdef = import ../development/tools/misc/unifdef {
499     inherit fetchurl stdenv;
500   };
502   cloogppl = import ../development/libraries/cloog-ppl {
503     inherit fetchurl stdenv ppl;
504   };
506   coreutils = useFromStdenv "coreutils"
507     (makeOverridable (if stdenv ? isDietLibC
508       then import ../tools/misc/coreutils-5
509       else import ../tools/misc/coreutils)
510     {
511       inherit fetchurl stdenv acl;
512       aclSupport = stdenv.isLinux;
513     });
515   cpio = import ../tools/archivers/cpio {
516     inherit fetchurl stdenv;
517   };
519   cromfs = import ../tools/archivers/cromfs {
520     inherit fetchurl stdenv pkgconfig fuse perl;
521   };
523   cron = import ../tools/system/cron { # see also fcron
524     inherit fetchurl stdenv;
525   };
527   curl = import ../tools/networking/curl {
528     fetchurl = fetchurlBoot;
529     inherit stdenv zlib openssl;
530     zlibSupport = ! ((stdenv ? isDietLibC) || (stdenv ? isStatic));
531     sslSupport = ! ((stdenv ? isDietLibC) || (stdenv ? isStatic));
532   };
534   curlftpfs = import ../tools/filesystems/curlftpfs {
535     inherit fetchurl stdenv fuse curl pkgconfig zlib glib;
536   };
538   dadadodo = builderDefsPackage (import ../tools/text/dadadodo) {
539   };
541   dar = import ../tools/archivers/dar {
542     inherit fetchurl stdenv zlib bzip2 openssl;
543   };
545   davfs2 = import ../tools/filesystems/davfs2 {
546     inherit fetchurl stdenv zlib;
547     neon = neon028;
548   };
550   dcraw = import ../tools/graphics/dcraw {
551     inherit fetchurl stdenv gettext libjpeg lcms;
552   };
554   debootstrap = import ../tools/misc/debootstrap {
555     inherit fetchurl stdenv lib dpkg gettext gawk wget perl;
556   };
558   ddclient = import ../tools/networking/ddclient {
559     inherit fetchurl buildPerlPackage perl;
560   };
562   ddrescue = import ../tools/system/ddrescue {
563     inherit fetchurl stdenv;
564   };
566   desktop_file_utils = import ../tools/misc/desktop-file-utils {
567     inherit stdenv fetchurl pkgconfig glib;
568   };
570   dev86 = import ../development/compilers/dev86 {
571     inherit fetchurl stdenv;
572   };
574   dnsmasq = import ../tools/networking/dnsmasq {
575     # TODO i18n can be installed as well, implement it?
576     inherit fetchurl stdenv;
577   };
579   dhcp = import ../tools/networking/dhcp {
580     inherit fetchurl stdenv nettools iputils iproute makeWrapper;
581   };
583   dhcpcd = import ../tools/networking/dhcpcd {
584     inherit fetchurl stdenv;
585   };
587   diffstat = import ../tools/text/diffstat {
588     inherit fetchurl stdenv;
589   };
591   diffutils = useFromStdenv "diffutils"
592     (import ../tools/text/diffutils {
593       inherit fetchurl stdenv coreutils;
594     });
596   docbook2x = import ../tools/typesetting/docbook2x {
597     inherit fetchurl stdenv texinfo perl
598             gnused groff libxml2 libxslt makeWrapper;
599     inherit (perlPackages) XMLSAX XMLParser XMLNamespaceSupport;
600     libiconv = if stdenv.isDarwin then libiconv else null;
601   };
603   dosfstools = composedArgsAndFun (import ../tools/filesystems/dosfstools) {
604     inherit builderDefs;
605   };
607   dvdplusrwtools = import ../tools/cd-dvd/dvd+rw-tools {
608     inherit fetchurl stdenv cdrkit m4;
609   };
611   e2fsprogs = import ../tools/filesystems/e2fsprogs {
612     inherit fetchurl stdenv pkgconfig libuuid;
613   };
615   enblendenfuse = import ../tools/graphics/enblend-enfuse {
616     inherit fetchurl stdenv libtiff libpng lcms libxmi boost;
617   };
619   enscript = import ../tools/text/enscript {
620     inherit fetchurl stdenv;
621   };
623   eprover = composedArgsAndFun (import ../tools/misc/eProver) {
624     inherit fetchurl stdenv which;
625     texLive = texLiveAggregationFun {
626       paths = [
627         texLive texLiveExtra
628       ];
629     };
630   };
632   ethtool = import ../tools/misc/ethtool {
633     inherit fetchurl stdenv;
634   };
636   exif = import ../tools/graphics/exif {
637     inherit fetchurl stdenv pkgconfig libexif popt;
638   };
640   exiftags = import ../tools/graphics/exiftags {
641     inherit stdenv fetchurl;
642   };
644   expect = import ../tools/misc/expect {
645     inherit fetchurl stdenv tcl tk autoconf;
646     inherit (xorg) xproto libX11;
647   };
649   fcron = import ../tools/system/fcron { # see also cron
650     inherit fetchurl stdenv perl;
651   };
653   fdisk = import ../tools/system/fdisk {
654     inherit fetchurl stdenv parted libuuid gettext;
655   };
657   figlet = import ../tools/misc/figlet {
658     inherit fetchurl stdenv;
659   };
661   file = import ../tools/misc/file {
662     inherit fetchurl stdenv;
663   };
665   filelight = import ../tools/system/filelight {
666     inherit fetchurl stdenv kdelibs x11 zlib perl libpng;
667     qt = qt3;
668   };
670   findutils = useFromStdenv "findutils"
671     (if stdenv.isDarwin then findutils4227 else
672       import ../tools/misc/findutils {
673         inherit fetchurl stdenv coreutils;
674       }
675     );
677   findutils4227 = import ../tools/misc/findutils/4.2.27.nix {
678     inherit fetchurl stdenv coreutils;
679   };
681   findutilsWrapper = lowPrio (appendToName "wrapper" (import ../tools/misc/findutils-wrapper {
682     inherit stdenv findutils;
683   }));
685   finger_bsd = import ../tools/networking/bsd-finger {
686     inherit fetchurl stdenv;
687   };
689   fontforge = import ../tools/misc/fontforge {
690     inherit fetchurl stdenv gettext freetype zlib
691       libungif libpng libjpeg libtiff libxml2 lib;
692   };
694   fontforgeX = import ../tools/misc/fontforge {
695     inherit fetchurl stdenv gettext freetype zlib
696       libungif libpng libjpeg libtiff libxml2 lib;
697     inherit (xlibs) libX11 xproto libXt;
698   };
700   dos2unix = import ../tools/text/dos2unix {
701       inherit fetchurl stdenv;
702   };
704   unix2dos = import ../tools/text/unix2dos {
705       inherit fetchurl stdenv;
706   };
708   gawk = useFromStdenv "gawk"
709     (import ../tools/text/gawk {
710       inherit fetchurl stdenv;
711     });
713   gdmap = composedArgsAndFun (import ../tools/system/gdmap/0.8.1.nix) {
714     inherit stdenv fetchurl builderDefs pkgconfig libxml2 intltool
715       gettext;
716     inherit (gtkLibs) gtk;
717   };
719   genext2fs = import ../tools/filesystems/genext2fs {
720     inherit fetchurl stdenv;
721   };
723   getopt = import ../tools/misc/getopt {
724     inherit fetchurl stdenv;
725   };
727   gftp = import ../tools/networking/gftp {
728     inherit lib fetchurl stdenv;
729     inherit readline ncurses gettext openssl pkgconfig;
730     inherit (gtkLibs) glib gtk;
731   };
733   gifsicle = import ../tools/graphics/gifscile {
734     inherit fetchurl stdenv;
735     inherit (xlibs) xproto libXt libX11;
736   };
738   glusterfs = builderDefsPackage ../tools/filesystems/glusterfs {
739     inherit fuse;
740     bison = bison24;
741     flex = flex2535;
742   };
744   glxinfo = import ../tools/graphics/glxinfo {
745     inherit fetchurl stdenv x11 mesa;
746   };
748   gnokii = builderDefsPackage (import ../tools/misc/gnokii) {
749     inherit intltool perl gettext libusb;
750   };
752   gnugrep = useFromStdenv "gnugrep"
753     (import ../tools/text/gnugrep {
754       inherit fetchurl stdenv pcre;
755     });
757   gnupatch = useFromStdenv "patch" (import ../tools/text/gnupatch {
758     inherit fetchurl stdenv;
759   });
761   gnupg = import ../tools/security/gnupg {
762     inherit fetchurl stdenv readline;
763     ideaSupport = getPkgConfig "gnupg" "idea" false; # enable for IDEA crypto support
764   };
766   gnupg2 = import ../tools/security/gnupg2 {
767     inherit fetchurl stdenv readline libgpgerror libgcrypt libassuan pth libksba zlib;
768     openldap = if getPkgConfig "gnupg" "ldap" true then openldap else null;
769     bzip2 = if getPkgConfig "gnupg" "bzip2" true then bzip2 else null;
770     libusb = if getPkgConfig "gnupg" "usb" true then libusb else null;
771     curl = if getPkgConfig "gnupg" "curl" true then curl else null;
772   };
774   gnuplot = import ../tools/graphics/gnuplot {
775     inherit fetchurl stdenv zlib gd texinfo readline emacs;
776     inherit (xlibs) libX11 libXt libXaw libXpm;
777     x11Support = getPkgConfig "gnuplot" "x11" false;
778     wxGTK = if getPkgConfig "gnuplot" "wxGtk" false then wxGTK else null;
779     inherit (gtkLibs) pango;
780     inherit cairo pkgconfig;
781   };
783   gnused = useFromStdenv "gnused"
784     (import ../tools/text/gnused {
785       inherit fetchurl stdenv;
786     });
788   gnused_4_2 = import ../tools/text/gnused/4.2.nix {
789     inherit fetchurl stdenv;
790   };
792   gnutar = useFromStdenv "gnutar"
793     (import ../tools/archivers/gnutar {
794       inherit fetchurl stdenv;
795     });
797   gnuvd = import ../tools/misc/gnuvd {
798     inherit fetchurl stdenv;
799   };
801   graphviz = import ../tools/graphics/graphviz {
802     inherit fetchurl stdenv pkgconfig libpng libjpeg expat x11 yacc
803       libtool fontconfig gd;
804     inherit (xlibs) libXaw;
805     inherit (gtkLibs) pango;
806   };
808   groff = import ../tools/text/groff {
809     inherit fetchurl stdenv perl;
810     ghostscript = null;
811   };
813   grub = import ../tools/misc/grub {
814     inherit fetchurl autoconf automake;
815     stdenv = stdenv_32bit;
816     buggyBiosCDSupport = (getConfig ["grub" "buggyBiosCDSupport"] true);
817   };
819   grub2 = import ../tools/misc/grub/1.9x.nix {
820     inherit stdenv fetchurl bison ncurses libusb freetype;
821   };
823   gssdp = import ../development/libraries/gssdp {
824     inherit fetchurl stdenv pkgconfig libxml2 glib;
825     inherit (gnome) libsoup;
826   };
828   gtkgnutella = import ../tools/networking/p2p/gtk-gnutella {
829     inherit fetchurl stdenv pkgconfig libxml2;
830     inherit (gtkLibs) glib gtk;
831   };
833   gupnp = import ../development/libraries/gupnp {
834     inherit fetchurl stdenv pkgconfig libxml2 gssdp e2fsprogs glib;
835     inherit (gnome) libsoup;
836   };
838   gupnptools = import ../tools/networking/gupnp-tools {
839     inherit fetchurl stdenv gssdp gupnp pkgconfig libxml2 e2fsprogs;
840     inherit (gtkLibs) gtk glib;
841     inherit (gnome) libsoup libglade gnomeicontheme;
842   };
844   gvpe = builderDefsPackage ../tools/networking/gvpe {
845     inherit openssl gmp nettools iproute;
846   };
848   gzip = useFromStdenv "gzip"
849     (import ../tools/compression/gzip {
850       inherit fetchurl stdenv;
851     });
853   pigz = import ../tools/compression/pigz {
854     inherit fetchurl stdenv zlib;
855   };
857   halibut = import ../tools/typesetting/halibut {
858     inherit fetchurl stdenv perl;
859   };
861   hddtemp = import ../tools/misc/hddtemp {
862     inherit fetchurl stdenv;
863   };
865   hevea = import ../tools/typesetting/hevea {
866     inherit fetchurl stdenv ocaml;
867   };
869   highlight = import ../tools/text/highlight {
870     inherit fetchurl stdenv getopt;
871   };
873   host = import ../tools/networking/host {
874     inherit fetchurl stdenv;
875   };
877   iasl = import ../development/compilers/iasl {
878     inherit fetchurl stdenv bison flex;
879   };
881   idutils = import ../tools/misc/idutils {
882     inherit fetchurl stdenv emacs;
883   };
885   iftop = import ../tools/networking/iftop {
886     inherit fetchurl stdenv ncurses libpcap;
887   };
889   imapsync = import ../tools/networking/imapsync {
890     inherit fetchurl stdenv perl openssl;
891     inherit (perlPackages) MailIMAPClient;
892   };
894   inetutils = import ../tools/networking/inetutils {
895     inherit fetchurl stdenv ncurses;
896   };
898   iodine = import ../tools/networking/iodine {
899     inherit stdenv fetchurl zlib nettools;
900   };
902   iperf = import ../tools/networking/iperf {
903     inherit fetchurl stdenv;
904   };
906   jdiskreport = import ../tools/misc/jdiskreport {
907     inherit fetchurl stdenv unzip jdk;
908   };
910   jfsrec = import ../tools/filesystems/jfsrec {
911     inherit fetchurl stdenv boost;
912   };
914   jfsutils = import ../tools/filesystems/jfsutils {
915     inherit fetchurl stdenv libuuid;
916   };
918   jhead = import ../tools/graphics/jhead {
919     inherit stdenv fetchurl;
920   };
922   jing = import ../tools/text/xml/jing {
923     inherit fetchurl stdenv unzip;
924   };
926   jing_tools = import ../tools/text/xml/jing/jing-script.nix {
927     inherit fetchurl stdenv unzip jre;
928   };
930   jnettop = import ../tools/networking/jnettop {
931     inherit fetchurl stdenv autoconf libpcap ncurses pkgconfig;
932     inherit (gnome) glib;
933   };
935   jwhois = import ../tools/networking/jwhois {
936     inherit fetchurl stdenv;
937   };
939   keychain = import ../tools/misc/keychain {
940     inherit fetchurl stdenv;
941   };
943   kismet = import ../applications/networking/sniffers/kismet {
944     inherit fetchurl stdenv libpcap ncurses expat;
945   };
947   ktorrent = import ../tools/networking/p2p/ktorrent {
948     inherit fetchurl stdenv pkgconfig kdelibs
949       xlibs zlib libpng libjpeg perl gmp;
950   };
952   less = import ../tools/misc/less {
953     inherit fetchurl stdenv ncurses;
954   };
956   lftp = import ../tools/networking/lftp {
957     inherit fetchurl stdenv readline;
958   };
960   libtorrent = import ../tools/networking/p2p/libtorrent {
961     inherit fetchurl stdenv pkgconfig openssl libsigcxx;
962   };
964   lout = import ../tools/typesetting/lout {
965     inherit fetchurl stdenv ghostscript;
966   };
968   lrzip = import ../tools/compression/lrzip {
969     inherit fetchurl stdenv zlib lzo bzip2 nasm;
970   };
972   lsh = import ../tools/networking/lsh {
973     inherit stdenv fetchurl gperf guile gmp zlib liboop gnum4 pam
974       readline nettools lsof procps;
975   };
977   lzma = import ../tools/compression/lzma {
978     inherit fetchurl stdenv;
979   };
981   xz = import ../tools/compression/xz {
982     inherit fetchurl stdenv lib;
983   };
985   lzop = import ../tools/compression/lzop {
986     inherit fetchurl stdenv lzo;
987   };
989   mailutils = import ../tools/networking/mailutils {
990     inherit fetchurl stdenv gettext gdbm libtool pam readline ncurses
991       gnutls mysql guile texinfo gnum4;
992   };
994   man = import ../tools/misc/man {
995     inherit fetchurl stdenv groff less;
996   };
998   man_db = import ../tools/misc/man-db {
999     inherit fetchurl stdenv db4 groff;
1000   };
1002   memtest86 = import ../tools/misc/memtest86 {
1003     inherit fetchurl stdenv;
1004   };
1006   mc = import ../tools/misc/mc {
1007     inherit fetchurl stdenv lib pkgconfig ncurses shebangfix perl zip unzip slang
1008       gettext e2fsprogs gpm glib;
1009     inherit (xlibs) libX11 libXt;
1010   };
1012   mcabber = import ../applications/networking/instant-messengers/mcabber {
1013     inherit fetchurl stdenv openssl ncurses pkgconfig glib;
1014   };
1016   mcron = import ../tools/system/mcron {
1017     inherit fetchurl stdenv guile which ed;
1018   };
1020   mdbtools = import ../tools/misc/mdbtools {
1021     inherit fetchurl stdenv readline pkgconfig bison glib;
1022     flex = flex2535;
1023   };
1025   mjpegtools = import ../tools/video/mjpegtools {
1026     inherit fetchurl stdenv libjpeg;
1027     inherit (xlibs) libX11;
1028   };
1030   mktemp = import ../tools/security/mktemp {
1031     inherit fetchurl stdenv;
1032   };
1034   mldonkey = import ../applications/networking/p2p/mldonkey {
1035     inherit fetchurl stdenv ocaml zlib ncurses;
1036   };
1038   monit = builderDefsPackage ../tools/system/monit {
1039     flex = flex2535;
1040     bison = bison24;
1041     inherit openssl;
1042   };
1044   mpage = import ../tools/text/mpage {
1045     inherit fetchurl stdenv;
1046   };
1048   msf = builderDefsPackage (import ../tools/security/metasploit/3.1.nix) {
1049     inherit ruby makeWrapper;
1050   };
1052   mssys = import ../tools/misc/mssys {
1053     inherit fetchurl stdenv gettext;
1054   };
1056   multitran = recurseIntoAttrs (let
1057       inherit fetchurl stdenv help2man;
1058     in rec {
1059       multitrandata = import ../tools/text/multitran/data {
1060         inherit fetchurl stdenv;
1061       };
1063       libbtree = import ../tools/text/multitran/libbtree {
1064         inherit fetchurl stdenv;
1065       };
1067       libmtsupport = import ../tools/text/multitran/libmtsupport {
1068         inherit fetchurl stdenv;
1069       };
1071       libfacet = import ../tools/text/multitran/libfacet {
1072         inherit fetchurl stdenv libmtsupport;
1073       };
1075       libmtquery = import ../tools/text/multitran/libmtquery {
1076         inherit fetchurl stdenv libmtsupport libfacet libbtree multitrandata;
1077       };
1079       mtutils = import ../tools/text/multitran/mtutils {
1080         inherit fetchurl stdenv libmtsupport libfacet libbtree libmtquery help2man;
1081       };
1082     });
1084   muscleframework = import ../tools/security/muscleframework {
1085     inherit fetchurl stdenv libmusclecard pkgconfig pcsclite;
1086   };
1088   muscletool = import ../tools/security/muscletool {
1089     inherit fetchurl stdenv pkgconfig libmusclecard pcsclite;
1090   };
1092   mysql2pgsql = import ../tools/misc/mysql2pgsql {
1093     inherit fetchurl stdenv perl shebangfix;
1094   };
1096   namazu = import ../tools/text/namazu {
1097     inherit fetchurl stdenv perl;
1098   };
1100   nbd = import ../tools/networking/nbd {
1101     inherit fetchurl stdenv pkgconfig glib;
1102   };
1104   nc6 = composedArgsAndFun (import ../tools/networking/nc6/1.0.nix) {
1105     inherit builderDefs;
1106   };
1108   ncat = import ../tools/networking/ncat {
1109     inherit fetchurl stdenv openssl;
1110   };
1112   ncftp = import ../tools/networking/ncftp {
1113     inherit fetchurl stdenv ncurses coreutils;
1114   };
1116   netcat = import ../tools/networking/netcat {
1117     inherit fetchurl stdenv;
1118   };
1120   netkittftp = import ../tools/networking/netkit/tftp {
1121     inherit fetchurl stdenv;
1122   };
1124   netpbm = import ../tools/graphics/netpbm {
1125     inherit stdenv fetchsvn libjpeg libpng zlib flex perl libxml2 makeWrapper;
1126   };
1128   netselect = import ../tools/networking/netselect {
1129     inherit fetchurl stdenv;
1130   };
1132   nmap = import ../tools/security/nmap {
1133     inherit fetchurl stdenv libpcap pkgconfig openssl
1134       python pygtk makeWrapper pygobject pycairo;
1135     inherit (pythonPackages) pysqlite;
1136     inherit (xlibs) libX11;
1137     inherit (gtkLibs) gtk;
1138   };
1140   ntfs3g = import ../tools/filesystems/ntfs-3g {
1141     inherit fetchurl stdenv utillinux;
1142   };
1144   ntfsprogs = import ../tools/filesystems/ntfsprogs {
1145     inherit fetchurl stdenv libuuid;
1146   };
1148   ntp = import ../tools/networking/ntp {
1149     inherit fetchurl stdenv libcap;
1150   };
1152   nssmdns = import ../tools/networking/nss-mdns {
1153     inherit fetchurl stdenv avahi;
1154   };
1156   nylon = import ../tools/networking/nylon {
1157     inherit fetchurl stdenv libevent;
1158   };
1160   obexd = import ../tools/bluetooth/obexd {
1161     inherit fetchurl stdenv pkgconfig dbus openobex bluez glib;
1162   };
1164   obexfs = import ../tools/bluetooth/obexfs {
1165     inherit fetchurl stdenv pkgconfig fuse obexftp;
1166   };
1168   obexftp = import ../tools/bluetooth/obexftp {
1169     inherit fetchurl stdenv pkgconfig openobex bluez;
1170   };
1172   openjade = import ../tools/text/sgml/openjade {
1173     inherit fetchurl opensp perl;
1174     stdenv = overrideGCC stdenv gcc33;
1175   };
1177   openobex = import ../tools/bluetooth/openobex {
1178     inherit fetchurl stdenv pkgconfig bluez libusb;
1179   };
1181   opensc_0_11_7 = import ../tools/security/opensc/0.11.7.nix {
1182     inherit fetchurl stdenv libtool readline zlib openssl libiconv pcsclite
1183       libassuan pkgconfig pinentry;
1184     inherit (xlibs) libXt;
1185   };
1187   opensc = opensc_0_11_7;
1189   opensc_dnie_wrapper = import ../tools/security/opensc-dnie-wrapper {
1190     inherit stdenv makeWrapper ed libopensc_dnie;
1191   };
1193   openssh = import ../tools/networking/openssh {
1194     inherit fetchurl stdenv zlib openssl pam perl;
1195     pamSupport = getPkgConfig "openssh" "pam" true;
1196     hpnSupport = getConfig [ "openssh" "hpn" ] false;
1197     etcDir = getConfig [ "openssh" "etcDir" ] "/etc/ssh";
1198   };
1200   opensp = import ../tools/text/sgml/opensp {
1201     inherit fetchurl;
1202     stdenv = overrideGCC stdenv gcc33;
1203   };
1205   openvpn = import ../tools/networking/openvpn {
1206     inherit fetchurl stdenv iproute lzo openssl nettools;
1207   };
1209   p7zip = import ../tools/archivers/p7zip {
1210     inherit fetchurl stdenv;
1211   };
1213   panomatic = import ../tools/graphics/panomatic {
1214     inherit fetchurl stdenv boost zlib;
1215   };
1217   par2cmdline = import ../tools/networking/par2cmdline {
1218     inherit fetchurl stdenv;
1219   };
1221   patchutils = import ../tools/text/patchutils {
1222     inherit fetchurl stdenv;
1223   };
1225   parted = import ../tools/misc/parted {
1226     inherit fetchurl stdenv devicemapper libuuid gettext readline
1227       utillinuxng;
1228   };
1230   patch = gnupatch;
1232   pbzip2 = import ../tools/compression/pbzip2 {
1233     inherit fetchurl stdenv bzip2;
1234   };
1236   pciutils = import ../tools/system/pciutils {
1237     inherit fetchurl stdenv zlib;
1238   };
1240   pcsclite = import ../tools/security/pcsclite {
1241     inherit fetchurl stdenv hal pkgconfig dbus;
1242   };
1244   pdf2djvu = import ../tools/typesetting/pdf2djvu {
1245     inherit fetchurl stdenv pkgconfig djvulibre poppler fontconfig libjpeg;
1246   };
1248   pdfjam = import ../tools/typesetting/pdfjam {
1249     inherit fetchurl stdenv;
1250   };
1252   pg_top = import ../tools/misc/pg_top {
1253     inherit fetchurl stdenv ncurses postgresql;
1254   };
1256   pdsh = import ../tools/networking/pdsh {
1257     inherit fetchurl stdenv perl;
1258     readline = if getPkgConfig "pdsh" "readline" true then readline else null;
1259     rsh = getPkgConfig "pdsh" "rsh" true;
1260     ssh = if getPkgConfig "pdsh" "ssh" true then openssh else null;
1261     pam = if getPkgConfig "pdsh" "pam" true then pam else null;
1262   };
1264   pfstools = import ../tools/graphics/pfstools {
1265     inherit fetchurl stdenv imagemagick libjpeg libtiff mesa freeglut bzip2 libpng expat;
1266     openexr = openexr_1_6_1;
1267     qt = qt3;
1268     inherit (xlibs) libX11;
1269   };
1271   pinentry = import ../tools/misc/pinentry {
1272     inherit fetchurl stdenv pkgconfig ncurses;
1273     inherit (gnome) glib gtk;
1274   };
1276   plan9port = import ../tools/system/plan9port {
1277     inherit fetchurl stdenv;
1278     inherit (xlibs) libX11 xproto libXt xextproto;
1279   };
1281   ploticus = import ../tools/graphics/ploticus {
1282     inherit fetchurl stdenv zlib libpng;
1283     inherit (xlibs) libX11;
1284   };
1286   plotutils = import ../tools/graphics/plotutils {
1287     inherit fetchurl stdenv libpng;
1288   };
1290   povray = import ../tools/graphics/povray {
1291     inherit fetchurl stdenv;
1292   };
1294   ppl = import ../development/libraries/ppl {
1295     inherit fetchurl stdenv gmpxx perl gnum4;
1296   };
1298   /* WARNING: this version is unsuitable for using with a setuid wrapper */
1299   ppp = builderDefsPackage (import ../tools/networking/ppp) {
1300   };
1302   proxychains = import ../tools/networking/proxychains {
1303     inherit fetchurl stdenv;
1304   };
1306   proxytunnel = import ../tools/misc/proxytunnel {
1307     inherit fetchurl stdenv openssl;
1308   };
1310   psmisc = import ../tools/misc/psmisc {
1311     inherit stdenv fetchurl ncurses;
1312   };
1314   pstoedit = import ../tools/graphics/pstoedit {
1315     inherit fetchurl stdenv lib pkgconfig ghostscript gd zlib plotutils;
1316   };
1318   pv = import ../tools/misc/pv {
1319     inherit fetchurl stdenv;
1320   };
1322   pwgen = import ../tools/security/pwgen {
1323     inherit stdenv fetchurl;
1324   };
1326   pydb = import ../tools/pydb {
1327     inherit fetchurl stdenv python emacs;
1328   };
1330   pystringtemplate = import ../development/python-modules/stringtemplate {
1331     inherit stdenv fetchurl python antlr;
1332   };
1334   pythonDBus = builderDefsPackage (import ../development/python-modules/dbus) {
1335     inherit python pkgconfig dbus_glib;
1336     dbus = dbus.libs;
1337   };
1339   pythonIRClib = builderDefsPackage (import ../development/python-modules/irclib) {
1340     inherit python;
1341   };
1343   pythonSexy = builderDefsPackage (import ../development/python-modules/libsexy) {
1344     inherit python libsexy pkgconfig libxml2 pygtk;
1345     inherit (gtkLibs) pango gtk glib;
1346   };
1348   openmpi = import ../development/libraries/openmpi {
1349     inherit fetchurl stdenv;
1350   };
1352   qhull = import ../development/libraries/qhull {
1353     inherit stdenv fetchurl;
1354   };
1356   reiser4progs = import ../tools/filesystems/reiser4progs {
1357     inherit fetchurl stdenv libaal;
1358   };
1360   reiserfsprogs = import ../tools/filesystems/reiserfsprogs {
1361     inherit fetchurl stdenv;
1362   };
1364   relfs = composedArgsAndFun (import ../tools/filesystems/relfs) {
1365     inherit fetchcvs stdenv ocaml postgresql fuse pcre
1366       builderDefs pkgconfig libuuid;
1367     inherit (gnome) gnomevfs GConf;
1368   };
1370   remind = import ../tools/misc/remind {
1371     inherit fetchurl stdenv;
1372   };
1374   replace = import ../tools/text/replace {
1375     inherit fetchurl stdenv;
1376   };
1378   /*
1379   rdiff_backup = import ../tools/backup/rdiff-backup {
1380     inherit fetchurl stdenv librsync gnused;
1381     python=python;
1382   };
1383   */
1385   rsnapshot = import ../tools/backup/rsnapshot {
1386     inherit fetchurl stdenv perl openssh rsync;
1388     # For the `logger' command, we can use either `utillinux' or
1389     # GNU Inetutils.  The latter is more portable.
1390     logger = inetutils;
1391   };
1393   rlwrap = composedArgsAndFun (import ../tools/misc/rlwrap/0.28.nix) {
1394     inherit builderDefs readline;
1395   };
1397   rpPPPoE = builderDefsPackage (import ../tools/networking/rp-pppoe) {
1398     inherit ppp;
1399   };
1401   rpm = import ../tools/package-management/rpm {
1402     inherit fetchurl stdenv cpio zlib bzip2 xz file elfutils nspr nss popt;
1403     db4 = db45;
1404   };
1406   rrdtool = import ../tools/misc/rrdtool {
1407     inherit stdenv fetchurl gettext perl pkgconfig libxml2 cairo;
1408     inherit (gtkLibs) pango;
1409   };
1411   rtorrent = import ../tools/networking/p2p/rtorrent {
1412     inherit fetchurl stdenv libtorrent ncurses pkgconfig libsigcxx curl zlib openssl;
1413   };
1415   rubber = import ../tools/typesetting/rubber {
1416     inherit fetchurl stdenv python texinfo;
1417   };
1419   rxp = import ../tools/text/xml/rxp {
1420     inherit fetchurl stdenv;
1421   };
1423   rzip = import ../tools/compression/rzip {
1424     inherit fetchurl stdenv bzip2;
1425   };
1427   s3backer = import ../tools/filesystems/s3backer {
1428     inherit fetchurl stdenv pkgconfig fuse curl expat;
1429   };
1431   sablotron = import ../tools/text/xml/sablotron {
1432     inherit fetchurl stdenv expat;
1433   };
1435   screen = import ../tools/misc/screen {
1436     inherit fetchurl stdenv ncurses;
1437   };
1439   scrot = import ../tools/graphics/scrot {
1440     inherit fetchurl stdenv giblib x11;
1441   };
1443   seccure = import ../tools/security/seccure/0.4.nix {
1444     inherit fetchurl stdenv libgcrypt;
1445   };
1447   setserial = builderDefsPackage (import ../tools/system/setserial) {
1448     inherit groff;
1449   };
1451   sharutils = import ../tools/archivers/sharutils/4.6.3.nix {
1452     inherit fetchurl stdenv;
1453   };
1455   shebangfix = import ../tools/misc/shebangfix {
1456     inherit stdenv perl;
1457   };
1459   slsnif = import ../tools/misc/slsnif {
1460     inherit fetchurl stdenv;
1461   };
1463   smartmontools = import ../tools/system/smartmontools {
1464     inherit fetchurl stdenv;
1465   };
1467   smbfsFuse = composedArgsAndFun (import ../tools/filesystems/smbfs-fuse) {
1468     inherit builderDefs samba fuse;
1469   };
1471   socat = import ../tools/networking/socat {
1472     inherit fetchurl stdenv openssl;
1473   };
1475   socat2pre = builderDefsPackage ../tools/networking/socat/2.0.0-b3.nix {
1476     inherit fetchurl stdenv openssl;
1477   };
1479   squashfsTools = import ../tools/filesystems/squashfs {
1480     inherit fetchurl stdenv zlib;
1481   };
1483   sshfsFuse = import ../tools/filesystems/sshfs-fuse {
1484     inherit fetchurl stdenv pkgconfig fuse glib;
1485   };
1487   sudo = import ../tools/security/sudo {
1488     inherit fetchurl stdenv coreutils pam groff;
1489   };
1491   suidChroot = builderDefsPackage (import ../tools/system/suid-chroot) {
1492   };
1494   superkaramba = import ../desktops/superkaramba {
1495     inherit stdenv fetchurl kdebase kdelibs zlib libjpeg
1496       perl qt3 python libpng freetype expat;
1497     inherit (xlibs) libX11 libXext libXt libXaw libXpm;
1498   };
1500   ssmtp = import ../tools/networking/ssmtp {
1501     inherit fetchurl stdenv openssl;
1502     tlsSupport = true;
1503   };
1505   ssss = composedArgsAndFun (import ../tools/security/ssss/0.5.nix) {
1506     inherit builderDefs gmp;
1507   };
1509   stun = import ../tools/networking/stun {
1510     inherit fetchurl stdenv lib;
1511   };
1513   stunnel = import ../tools/networking/stunnel {
1514     inherit fetchurl stdenv openssl;
1515   };
1517   su = import ../tools/misc/su {
1518     inherit fetchurl stdenv pam;
1519   };
1521   system_config_printer = import ../tools/misc/system-config-printer {
1522     inherit stdenv fetchurl perl perlXMLParser desktop_file_utils;
1523   };
1525   sitecopy = import ../tools/networking/sitecopy {
1526     inherit fetchurl stdenv neon openssl;
1527   };
1529   privoxy = import ../tools/networking/privoxy {
1530     inherit fetchurl stdenv autoconf automake ;
1531   };
1533   tcpdump = import ../tools/networking/tcpdump {
1534     inherit fetchurl stdenv libpcap;
1535   };
1537   tcng = import ../tools/networking/tcng {
1538     inherit fetchurl stdenv iproute bison flex db4 perl;
1539     kernel = kernel_2_6_28;
1540   };
1542   telnet = import ../tools/networking/telnet {
1543     inherit fetchurl stdenv ncurses;
1544   };
1546   ttf2pt1 = import ../tools/misc/ttf2pt1 {
1547     inherit fetchurl stdenv perl freetype;
1548   };
1550   ucl = import ../development/libraries/ucl {
1551     inherit fetchurl stdenv;
1552   };
1554   ufraw = import ../applications/graphics/ufraw {
1555     inherit fetchurl stdenv pkgconfig gettext bzip2 zlib
1556       libjpeg libtiff cfitsio exiv2 lcms gtkimageview;
1557     inherit (gnome) gtk;
1558   };
1560   upx = import ../tools/compression/upx {
1561     inherit fetchurl stdenv ucl zlib;
1562   };
1564   vbetool = builderDefsPackage ../tools/system/vbetool {
1565     inherit pciutils libx86 zlib;
1566   };
1568   viking = import ../applications/misc/viking {
1569     inherit fetchurl stdenv pkgconfig intltool gettext expat curl
1570       gpsd bc file;
1571     inherit (gtkLibs) gtk;
1572   };
1574   vncrec = builderDefsPackage ../tools/video/vncrec {
1575     inherit (xlibs) imake libX11 xproto gccmakedep libXt
1576       libXmu libXaw libXext xextproto libSM libICE libXpm
1577       libXp;
1578   };
1580   vpnc = import ../tools/networking/vpnc {
1581     inherit fetchurl stdenv libgcrypt perl gawk
1582       nettools makeWrapper;
1583   };
1585   vtun = import ../tools/networking/vtun {
1586     inherit fetchurl stdenv lzo openssl zlib yacc flex;
1587   };
1589   testdisk = import ../tools/misc/testdisk {
1590     inherit fetchurl stdenv ncurses libjpeg e2fsprogs zlib openssl;
1591   };
1593   htmlTidy = import ../tools/text/html-tidy {
1594     inherit fetchcvs stdenv autoconf automake libtool;
1595   };
1597   tightvnc = import ../tools/admin/tightvnc {
1598     inherit fetchurl stdenv x11 zlib libjpeg perl;
1599     inherit (xlibs) imake gccmakedep libXmu libXaw libXpm libXp xauth;
1600     fontDirectories = [ xorg.fontadobe75dpi xorg.fontmiscmisc xorg.fontcursormisc
1601       xorg.fontbhlucidatypewriter75dpi ];
1602   };
1604   time = import ../tools/misc/time {
1605     inherit fetchurl stdenv;
1606   };
1608   tm = import ../tools/system/tm {
1609     inherit fetchurl stdenv;
1610   };
1612   trang = import ../tools/text/xml/trang {
1613     inherit fetchurl stdenv unzip jre;
1614   };
1616   ts = import ../tools/system/ts {
1617     inherit fetchurl stdenv;
1618   };
1620   transfig = import ../tools/graphics/transfig {
1621     inherit fetchurl stdenv libpng libjpeg zlib;
1622     inherit (xlibs) imake;
1623   };
1625   truecrypt = import ../applications/misc/truecrypt {
1626     inherit fetchurl stdenv pkgconfig fuse devicemapper;
1627     inherit wxGTK;
1628     wxGUI = getConfig [ "truecrypt" "wxGUI" ] true;
1629   };
1631   ttmkfdir = import ../tools/misc/ttmkfdir {
1632     inherit stdenv fetchurl freetype fontconfig libunwind libtool bison;
1633     flex = flex2534;
1634   };
1636   units = import ../tools/misc/units {
1637     inherit fetchurl stdenv;
1638   };
1640   unrar = import ../tools/archivers/unrar {
1641     inherit fetchurl stdenv;
1642   };
1644   unshield = import ../tools/archivers/unshield {
1645     inherit fetchurl stdenv zlib;
1646   };
1648   unzip = unzip552;
1650   # TODO: remove in the next stdenv update.
1651   unzip552 = import ../tools/archivers/unzip/5.52.nix {
1652     inherit fetchurl stdenv;
1653   };
1655   unzip60 = import ../tools/archivers/unzip/6.0.nix {
1656     inherit fetchurl stdenv bzip2;
1657   };
1659   uptimed = import ../tools/system/uptimed {
1660     inherit fetchurl stdenv automake autoconf libtool;
1661   };
1663   wdfs = import ../tools/filesystems/wdfs {
1664     inherit stdenv fetchurl neon fuse pkgconfig glib;
1665   };
1667   webdruid = builderDefsPackage ../tools/admin/webdruid {
1668     inherit zlib libpng freetype gd which
1669       libxml2 geoip;
1670   };
1672   wget = import ../tools/networking/wget {
1673     inherit fetchurl stdenv gettext openssl;
1674   };
1676   which = import ../tools/system/which {
1677     inherit fetchurl stdenv readline;
1678   };
1680   wicd = import ../tools/networking/wicd {
1681     inherit stdenv fetchurl python pygobject pycairo pyGtkGlade pythonDBus 
1682             wpa_supplicant dhcp wirelesstools nettools iproute;
1683   };
1685   wv = import ../tools/misc/wv {
1686     inherit fetchurl stdenv libpng zlib imagemagick
1687       pkgconfig libgsf libxml2 bzip2 glib;
1688   };
1690   wv2 = import ../tools/misc/wv2 {
1691     inherit stdenv fetchurl pkgconfig libgsf libxml2 glib;
1692   };
1694   x11_ssh_askpass = import ../tools/networking/x11-ssh-askpass {
1695     inherit fetchurl stdenv x11;
1696     inherit (xorg) imake;
1697   };
1699   xclip = import ../tools/misc/xclip {
1700     inherit fetchurl stdenv x11;
1701     inherit (xlibs) libXmu;
1702   };
1704   xfsprogs = import ../tools/filesystems/xfsprogs {
1705     inherit fetchurl stdenv libtool gettext libuuid;
1706   };
1708   xmlroff = import ../tools/typesetting/xmlroff {
1709     inherit fetchurl stdenv pkgconfig libxml2 libxslt popt;
1710     inherit (gtkLibs) glib pango gtk;
1711     inherit (gnome) libgnomeprint;
1712     inherit pangoxsl;
1713   };
1715   xmlto = import ../tools/typesetting/xmlto {
1716     inherit fetchurl stdenv flex libxml2 libxslt
1717             docbook_xml_dtd_42 docbook_xsl w3m
1718             bash getopt mktemp findutils makeWrapper;
1719   };
1721   xmltv = import ../tools/misc/xmltv {
1722     inherit fetchurl perl perlPackages;
1723   };
1725   xmpppy = builderDefsPackage (import ../development/python-modules/xmpppy) {
1726     inherit python setuptools;
1727   };
1729   xpf = import ../tools/text/xml/xpf {
1730     inherit fetchurl stdenv python;
1731     libxml2 = libxml2Python;
1732   };
1734   xsel = import ../tools/misc/xsel {
1735     inherit fetchurl stdenv x11;
1736   };
1738   zdelta = import ../tools/compression/zdelta {
1739     inherit fetchurl stdenv;
1740   };
1742   zile = import ../applications/editors/zile {
1743     inherit fetchurl stdenv ncurses help2man;
1744   };
1746   zip = import ../tools/archivers/zip {
1747     inherit fetchurl stdenv;
1748   };
1751   ### SHELLS
1754   bash = lowPrio (useFromStdenv "bash" bashReal);
1756   bashReal = makeOverridable (import ../shells/bash) {
1757     inherit fetchurl stdenv bison;
1758   };
1760   bashInteractive = appendToName "interactive" (bashReal.override {
1761     inherit readline texinfo;
1762     interactive = true;
1763   });
1765   tcsh = import ../shells/tcsh {
1766     inherit fetchurl stdenv ncurses;
1767   };
1769   zsh = import ../shells/zsh {
1770     inherit fetchurl stdenv ncurses coreutils;
1771   };
1774   ### DEVELOPMENT / COMPILERS
1777   abc =
1778     abcPatchable [];
1780   abcPatchable = patches :
1781     import ../development/compilers/abc/default.nix {
1782       inherit stdenv fetchurl patches jre apacheAnt;
1783       javaCup = import ../development/libraries/java/cup {
1784         inherit stdenv fetchurl jdk;
1785       };
1786     };
1788   aspectj =
1789     import ../development/compilers/aspectj {
1790       inherit stdenv fetchurl jre;
1791     };
1793   bigloo = import ../development/compilers/bigloo {
1794     inherit fetchurl stdenv;
1795   };
1797   dylan = import ../development/compilers/gwydion-dylan {
1798     inherit fetchurl stdenv perl boehmgc yacc flex readline;
1799     dylan =
1800       import ../development/compilers/gwydion-dylan/binary.nix {
1801         inherit fetchurl stdenv;
1802       };
1803   };
1805   adobeFlexSDK33 = import ../development/compilers/adobe-flex-sdk {
1806     inherit fetchurl stdenv unzip jre;
1807   };
1809   fpc = import ../development/compilers/fpc {
1810     inherit fetchurl stdenv gawk system;
1811   };
1813   gcc = gcc43;
1815   gcc295 = wrapGCC (import ../development/compilers/gcc-2.95 {
1816     inherit fetchurl stdenv noSysDirs;
1817   });
1819   gcc33 = wrapGCC (import ../development/compilers/gcc-3.3 {
1820     inherit fetchurl stdenv noSysDirs;
1821   });
1823   gcc34 = wrapGCC (import ../development/compilers/gcc-3.4 {
1824     inherit fetchurl stdenv noSysDirs;
1825   });
1827   # XXX: GCC 4.2 (and possibly others) misdetects `makeinfo' when
1828   # using Texinfo >= 4.10, just because it uses a stupid regexp that
1829   # expects a single digit after the dot.  As a workaround, we feed
1830   # GCC with Texinfo 4.9.  Stupid bug, hackish workaround.
1832   gcc40 = wrapGCC (makeOverridable (import ../development/compilers/gcc-4.0) {
1833     inherit fetchurl stdenv noSysDirs;
1834     texinfo = texinfo49;
1835     profiledCompiler = true;
1836   });
1838   gcc41 = wrapGCC (makeOverridable (import ../development/compilers/gcc-4.1) {
1839     inherit fetchurl stdenv noSysDirs;
1840     texinfo = texinfo49;
1841     profiledCompiler = false;
1842   });
1844   gcc42 = wrapGCC (makeOverridable (import ../development/compilers/gcc-4.2) {
1845     inherit fetchurl stdenv noSysDirs;
1846     profiledCompiler = false;
1847   });
1849   gcc43 = useFromStdenv "gcc" gcc43_real;
1851   gcc43_wrapper2 = wrapGCC2 gcc43.gcc;
1853   gcc43_real = lowPrio (wrapGCC (makeOverridable (import ../development/compilers/gcc-4.3) {
1854     inherit fetchurl stdenv texinfo gmp mpfr noSysDirs;
1855     profiledCompiler = true;
1856   }));
1858   gcc43_multi = lowPrio (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi (gcc43_real.gcc.override {
1859     stdenv = overrideGCC stdenv (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi gcc);
1860     profiledCompiler = false;
1861     enableMultilib = true;
1862   }));
1864   gcc44 = lowPrio (wrapGCC (makeOverridable (import ../development/compilers/gcc-4.4) {
1865     inherit fetchurl stdenv texinfo gmp mpfr ppl cloogppl
1866       gettext which noSysDirs;
1867     profiledCompiler = true;
1868   }));
1870   gccApple =
1871     wrapGCC ( (if stdenv.system == "i686-darwin" then import ../development/compilers/gcc-apple else import ../development/compilers/gcc-apple64) {
1872       inherit fetchurl stdenv noSysDirs;
1873       profiledCompiler = true;
1874     }) ;
1876   gccupc40 = wrapGCCUPC (import ../development/compilers/gcc-upc-4.0 {
1877     inherit fetchurl stdenv bison autoconf gnum4 noSysDirs;
1878     texinfo = texinfo49;
1879   });
1881   gfortran = gfortran43;
1883   gfortran40 = wrapGCC (gcc40.gcc.override {
1884     name = "gfortran";
1885     langFortran = true;
1886     langCC = false;
1887     inherit gmp mpfr;
1888   });
1890   gfortran41 = wrapGCC (gcc41.gcc.override {
1891     name = "gfortran";
1892     langFortran = true;
1893     langCC = false;
1894     langC = false;
1895     inherit gmp mpfr;
1896   });
1898   gfortran42 = wrapGCC (gcc42.gcc.override {
1899     name = "gfortran";
1900     langFortran = true;
1901     langCC = false;
1902     langC = false;
1903     inherit gmp mpfr;
1904   });
1906   gfortran43 = wrapGCC (gcc43_real.gcc.override {
1907     name = "gfortran";
1908     langFortran = true;
1909     langCC = false;
1910     langC = false;
1911     profiledCompiler = false;
1912   });
1914   gfortran44 = wrapGCC (gcc44.gcc.override {
1915     name = "gfortran";
1916     langFortran = true;
1917     langCC = false;
1918     langC = false;
1919     profiledCompiler = false;
1920   });
1922   gcj = gcj44;
1924   gcj44 = wrapGCC (gcc44.gcc.override {
1925     name = "gcj";
1926     langJava = true;
1927     langFortran = false;
1928     langCC = true;
1929     langC = false;
1930     profiledCompiler = false;
1931     inherit zip unzip zlib boehmgc gettext pkgconfig;
1932     inherit (gtkLibs) gtk;
1933     inherit (gnome) libart_lgpl;
1934     inherit (xlibs) libX11 libXt libSM libICE libXtst libXi libXrender
1935       libXrandr xproto renderproto xextproto inputproto randrproto;
1936   });
1938   /*
1939   Broken; fails because of unability to find its own symbols during linking
1941   gcl = builderDefsPackage ../development/compilers/gcl {
1942     inherit mpfr m4 binutils fetchcvs emacs;
1943     inherit (xlibs) libX11 xproto inputproto libXi
1944       libXext xextproto libXt libXaw libXmu;
1945     stdenv = (overrideGCC stdenv gcc34) // {gcc = gcc33;};
1946   };
1947   */
1949   # GHC
1951   # GHC binaries are around for bootstrapping purposes
1953   #ghc = haskellPackages.ghc;
1955   /*
1956   ghc642Binary = lowPrio (import ../development/compilers/ghc/6.4.2-binary.nix {
1957     inherit fetchurl stdenv ncurses gmp;
1958     readline = if stdenv.system == "i686-linux" then readline4 else readline5;
1959     perl = perl58;
1960   });
1961   */
1963   ghc6101Binary = lowPrio (import ../development/compilers/ghc/6.10.1-binary.nix {
1964     inherit fetchurl stdenv perl ncurses gmp libedit;
1965   });
1967   ghc6102Binary = lowPrio (import ../development/compilers/ghc/6.10.2-binary.nix {
1968     inherit fetchurl stdenv perl ncurses gmp libedit;
1969   });
1971   # For several compiler versions, we export a large set of Haskell-related
1972   # packages.
1974   haskellPackages = haskellPackages_ghc6104;
1976   /*
1977   haskellPackages_ghc642 = import ./haskell-packages.nix {
1978     inherit pkgs;
1979     ghc = import ../development/compilers/ghc/6.4.2.nix {
1980       inherit fetchurl stdenv perl ncurses readline m4 gmp;
1981       ghc = ghc642Binary;
1982     };
1983   };
1985   haskellPackages_ghc661 = import ./haskell-packages.nix {
1986     inherit pkgs;
1987     ghc = import ../development/compilers/ghc/6.6.1.nix {
1988       inherit fetchurl stdenv readline perl58 gmp ncurses m4;
1989       ghc = ghc642Binary;
1990     };
1991   };
1993   haskellPackages_ghc682 = import ./haskell-packages.nix {
1994     inherit pkgs;
1995     ghc = import ../development/compilers/ghc/6.8.2.nix {
1996       inherit fetchurl stdenv perl gmp ncurses m4;
1997       readline = readline5;
1998       ghc = ghc642Binary;
1999     };
2000   };
2002   haskellPackages_ghc683 = recurseIntoAttrs (import ./haskell-packages.nix {
2003     inherit pkgs;
2004     ghc = import ../development/compilers/ghc/6.8.3.nix {
2005       inherit fetchurl stdenv readline perl gmp ncurses m4;
2006       ghc = ghc642Binary;
2007       haddock = import ../development/tools/documentation/haddock/boot.nix {
2008         inherit gmp;
2009         cabal = import ../development/libraries/haskell/cabal/cabal.nix {
2010           inherit stdenv fetchurl lib;
2011           ghc = ghc642Binary;
2012         };
2013       };
2014     };
2015   });
2016   */
2018   haskellPackages_ghc6101 = import ./haskell-packages.nix {
2019     inherit pkgs;
2020     ghc = import ../development/compilers/ghc/6.10.1.nix {
2021       inherit fetchurl stdenv perl ncurses gmp libedit;
2022       ghc = ghc6101Binary;
2023     };
2024   };
2026   haskellPackages_ghc6102 = import ./haskell-packages.nix {
2027     inherit pkgs;
2028     ghc = import ../development/compilers/ghc/6.10.2.nix {
2029       inherit fetchurl stdenv perl ncurses gmp libedit;
2030       ghc = ghc6101Binary;
2031     };
2032   };
2034   haskellPackages_ghc6103 = recurseIntoAttrs (import ./haskell-packages.nix {
2035     inherit pkgs;
2036     ghc = import ../development/compilers/ghc/6.10.3.nix {
2037       inherit fetchurl stdenv perl ncurses gmp libedit;
2038       ghc = ghc6101Binary;
2039     };
2040   });
2042   haskellPackages_ghc6104 = recurseIntoAttrs (import ./haskell-packages.nix {
2043     inherit pkgs;
2044     ghc = import ../development/compilers/ghc/6.10.4.nix {
2045       inherit fetchurl stdenv perl ncurses gmp libedit;
2046       ghc = ghc6101Binary;
2047     };
2048   });
2050   # make this ghc default when it's supported by the Haskell Platform
2051   haskellPackages_ghc6121 = lowPrio (import ./haskell-packages.nix {
2052     inherit pkgs;
2053     ghc = import ../development/compilers/ghc/6.12.1.nix {
2054       inherit fetchurl stdenv perl ncurses gmp;
2055       ghc = ghc6101Binary;
2056     };
2057   });
2059   haskellPackages_ghcHEAD = import ./haskell-packages.nix {
2060     inherit pkgs;
2061     ghc = import ../development/compilers/ghc/6.11.nix {
2062       inherit fetchurl stdenv perl ncurses gmp libedit;
2063       inherit (haskellPackages) happy alex; # hope these aren't required for the final version
2064       ghc = ghc6101Binary;
2065     };
2066   };
2068   haxe = import ../development/compilers/haxe {
2069     inherit fetchurl sourceFromHead stdenv lib ocaml zlib makeWrapper;
2070   };
2072   falcon = builderDefsPackage (import ../development/interpreters/falcon) {
2073     inherit cmake;
2074   };
2076   go = import ../development/compilers/go {
2077     inherit stdenv fetchhg glibc bison ed which bash makeWrapper;
2078   };
2080   gprolog = import ../development/compilers/gprolog {
2081     inherit fetchurl stdenv;
2082   };
2084   gwt = import ../development/compilers/gwt {
2085     inherit stdenv fetchurl jdk;
2086     inherit (gtkLibs) glib gtk pango atk;
2087     inherit (xlibs) libX11 libXt;
2088     libstdcpp5 = gcc33.gcc;
2089   };
2091   ikarus = import ../development/compilers/ikarus {
2092     inherit stdenv fetchurl gmp;
2093   };
2095   #TODO add packages http://cvs.haskell.org/Hugs/downloads/2006-09/packages/ and test
2096   # commented out because it's using the new configuration style proposal which is unstable
2097   hugs = import ../development/compilers/hugs {
2098     inherit lib fetchurl stdenv composableDerivation;
2099   };
2101   openjdkDarwin = import ../development/compilers/openjdk-darwin {
2102     inherit fetchurl stdenv;
2103   };
2105   j2sdk14x = (
2106     assert system == "i686-linux";
2107     import ../development/compilers/jdk/default-1.4.nix {
2108       inherit fetchurl stdenv;
2109     });
2111   jdk5 = (
2112     assert system == "i686-linux" || system == "x86_64-linux";
2113     import ../development/compilers/jdk/default-5.nix {
2114       inherit fetchurl stdenv unzip;
2115     });
2117   jdk       = jdkdistro true  false;
2118   jre       = jdkdistro false false;
2120   jdkPlugin = jdkdistro true true;
2121   jrePlugin = jdkdistro false true;
2123   supportsJDK =
2124     system == "i686-linux" ||
2125     system == "x86_64-linux" ||
2126     system == "powerpc-linux";
2128   jdkdistro = installjdk: pluginSupport:
2129        (assert supportsJDK;
2130     (if pluginSupport then appendToName "plugin" else x: x) (import ../development/compilers/jdk {
2131       inherit fetchurl stdenv unzip installjdk xlibs pluginSupport makeWrapper;
2132     }));
2134   jikes = import ../development/compilers/jikes {
2135     inherit fetchurl stdenv;
2136   };
2138   lazarus = builderDefsPackage (import ../development/compilers/fpc/lazarus.nix) {
2139     inherit fpc makeWrapper;
2140     inherit (gtkLibs) gtk glib pango atk;
2141     inherit (xlibs) libXi inputproto libX11 xproto libXext xextproto;
2142   };
2144   llvm = import ../development/compilers/llvm {
2145     inherit fetchurl stdenv gcc flex perl libtool;
2146   };
2148   llvmGCC = builderDefsPackage (import ../development/compilers/llvm/llvm-gcc.nix) {
2149     flex=flex2535;
2150     inherit llvm perl libtool bison;
2151   };
2153   mono = import ../development/compilers/mono {
2154     inherit fetchurl stdenv bison pkgconfig gettext perl glib;
2155   };
2157   monoDLLFixer = import ../build-support/mono-dll-fixer {
2158     inherit stdenv perl;
2159   };
2161   mozart = import ../development/compilers/mozart {
2162     inherit fetchurl stdenv flex bison perl gmp zlib tcl tk gdbm m4 x11 emacs;
2163   };
2165   neko = import ../development/compilers/neko {
2166     inherit sourceFromHead fetchurl stdenv lib pkgconfig composableDerivation
2167       boehmgc apacheHttpd mysql zlib sqlite pcre apr makeWrapper;
2168     inherit (gtkLibs) gtk;
2169   };
2171   nasm = import ../development/compilers/nasm {
2172     inherit fetchurl stdenv;
2173   };
2175   ocaml = ocaml_3_11_1;
2177   ocaml_3_08_0 = import ../development/compilers/ocaml/3.08.0.nix {
2178     inherit fetchurl stdenv x11 ncurses;
2179   };
2181   ocaml_3_09_1 = import ../development/compilers/ocaml/3.09.1.nix {
2182     inherit fetchurl stdenv x11 ncurses;
2183   };
2185   ocaml_3_10_0 = import ../development/compilers/ocaml/3.10.0.nix {
2186     inherit fetchurl stdenv x11 ncurses;
2187   };
2189   ocaml_3_11_1 = import ../development/compilers/ocaml/3.11.1.nix {
2190     inherit fetchurl stdenv x11 ncurses;
2191   };
2193   opencxx = import ../development/compilers/opencxx {
2194     inherit fetchurl stdenv libtool;
2195     gcc = gcc33;
2196   };
2198   qcmm = import ../development/compilers/qcmm {
2199     lua   = lua4;
2200     ocaml = ocaml_3_08_0;
2201     inherit fetchurl stdenv mk noweb groff;
2202   };
2204   roadsend = import ../development/compilers/roadsend {
2205     inherit fetchurl stdenv flex bison bigloo lib curl composableDerivation;
2206     # optional features
2207     # all features pcre, fcgi xml mysql, sqlite3, (not implemented: odbc gtk gtk2)
2208     flags = ["pcre" "xml" "mysql"];
2209     inherit mysql libxml2 fcgi;
2210   };
2212   sbcl = builderDefsPackage (import ../development/compilers/sbcl) {
2213     inherit makeWrapper;
2214     clisp = clisp_2_44_1;
2215   };
2217   scala = import ../development/compilers/scala {
2218     inherit stdenv fetchurl;
2219   };
2221   stalin = import ../development/compilers/stalin {
2222     inherit stdenv fetchurl;
2223     inherit (xlibs) libX11;
2224   };
2226   strategoPackages = strategoPackages017;
2228   strategoPackages016 = import ../development/compilers/strategoxt/0.16.nix {
2229     inherit fetchurl pkgconfig aterm getopt;
2230     stdenv = overrideInStdenv stdenv [gnumake380];
2231   };
2233   strategoPackages017 = import ../development/compilers/strategoxt/0.17.nix {
2234     inherit fetchurl stdenv pkgconfig aterm getopt jdk ncurses;
2235     readline = readline5;
2236   };
2238   strategoPackages018 = import ../development/compilers/strategoxt/0.18.nix {
2239     inherit fetchurl stdenv pkgconfig aterm getopt jdk makeStaticBinaries ncurses;
2240     readline = readline5;
2241   };
2243   metaBuildEnv = import ../development/compilers/meta-environment/meta-build-env {
2244     inherit fetchurl stdenv;
2245   };
2247   swiProlog = import ../development/compilers/swi-prolog {
2248     inherit fetchurl stdenv gmp readline openssl libjpeg unixODBC zlib;
2249     inherit (xlibs) libXinerama libXft libXpm libSM libXt;
2250   };
2252   tinycc = import ../development/compilers/tinycc {
2253     inherit fetchurl stdenv perl texinfo;
2254   };
2256   visualcpp = (import ../development/compilers/visual-c++ {
2257     inherit fetchurl stdenv cabextract;
2258   });
2260   webdsl = import ../development/compilers/webdsl {
2261     inherit stdenv fetchurl pkgconfig strategoPackages;
2262   };
2264   win32hello = import ../development/compilers/visual-c++/test {
2265     inherit fetchurl stdenv visualcpp windowssdk;
2266   };
2268   wrapGCCWith = gccWrapper: glibc: baseGCC: gccWrapper {
2269     nativeTools = stdenv ? gcc && stdenv.gcc.nativeTools;
2270     nativeLibc = stdenv ? gcc && stdenv.gcc.nativeLibc;
2271     nativePrefix = if stdenv ? gcc then stdenv.gcc.nativePrefix else "";
2272     gcc = baseGCC;
2273     libc = glibc;
2274     inherit stdenv binutils;
2275   };
2277   wrapGCC = wrapGCCWith (import ../build-support/gcc-wrapper) glibc;
2278   wrapGCC2 = wrapGCCWith (import ../build-support/gcc-wrapper2) glibc;
2280   # FIXME: This is a specific hack for GCC-UPC.  Eventually, we may
2281   # want to merge `gcc-upc-wrapper' and `gcc-wrapper'.
2282   wrapGCCUPC = baseGCC: import ../build-support/gcc-upc-wrapper {
2283     nativeTools = stdenv ? gcc && stdenv.gcc.nativeTools;
2284     nativeLibc = stdenv ? gcc && stdenv.gcc.nativeLibc;
2285     gcc = baseGCC;
2286     libc = glibc;
2287     inherit stdenv binutils;
2288   };
2290   # prolog
2291   yap = import ../development/compilers/yap {
2292     inherit fetchurl stdenv;
2293   };
2296   ### DEVELOPMENT / INTERPRETERS
2298   acl2 = builderDefsPackage ../development/interpreters/acl2 {
2299     inherit sbcl;
2300   };
2302   clisp = import ../development/interpreters/clisp {
2303     inherit fetchurl stdenv libsigsegv gettext
2304       readline ncurses coreutils pcre zlib libffi libffcall;
2305     inherit (xlibs) libX11 libXau libXt xproto
2306       libXpm libXext xextproto;
2307   };
2309   # compatibility issues in 2.47 - at list 2.44.1 is known good
2310   # for sbcl bootstrap
2311   clisp_2_44_1 = import ../development/interpreters/clisp/2.44.1.nix {
2312     inherit fetchurl stdenv gettext
2313       readline ncurses coreutils pcre zlib libffi libffcall;
2314     inherit (xlibs) libX11 libXau libXt xproto
2315       libXpm libXext xextproto;
2316     libsigsegv = libsigsegv_25;
2317   };
2319   erlang = import ../development/interpreters/erlang {
2320     inherit fetchurl stdenv perl gnum4 ncurses openssl;
2321   };
2323   guile = import ../development/interpreters/guile {
2324     inherit fetchurl stdenv readline libtool gmp gawk makeWrapper;
2325   };
2327   guile_1_9 = import ../development/interpreters/guile/1.9.nix {
2328     inherit fetchurl stdenv readline libtool gmp gawk makeWrapper
2329       libunistring pkgconfig boehmgc;
2330   };
2332   guile_1_9_coverage = import ../development/interpreters/guile/1.9.nix {
2333     inherit fetchurl stdenv readline libtool gmp gawk makeWrapper
2334       libunistring pkgconfig boehmgc;
2335     inherit (releaseTools) coverageAnalysis;
2336   };
2338   io = builderDefsPackage (import ../development/interpreters/io) {
2339     inherit sqlite zlib gmp libffi cairo ncurses freetype mesa
2340       libpng libtiff libjpeg readline libsndfile libxml2
2341       freeglut e2fsprogs libsamplerate pcre libevent libedit;
2342   };
2344   kaffe =  import ../development/interpreters/kaffe {
2345     inherit fetchurl stdenv jikes alsaLib xlibs;
2346   };
2348   lua4 = import ../development/interpreters/lua-4 {
2349     inherit fetchurl stdenv;
2350   };
2352   lua5 = import ../development/interpreters/lua-5 {
2353     inherit fetchurl stdenv ncurses readline;
2354   };
2356   maude = import ../development/interpreters/maude {
2357     inherit fetchurl stdenv flex bison ncurses buddy tecla gmpxx libsigsegv makeWrapper;
2358   };
2360   octave = import ../development/interpreters/octave {
2361     inherit stdenv fetchurl gfortran readline ncurses perl flex qhull texinfo;
2362   };
2364   # mercurial (hg) bleeding edge version
2365   octaveHG = import ../development/interpreters/octave/hg.nix {
2366     inherit fetchurl sourceFromHead readline ncurses perl flex atlas getConfig glibc qhull gfortran;
2367     inherit automake autoconf bison gperf lib python gnuplot texinfo texLive; # for dev Version
2368     inherit stdenv;
2369     inherit (xlibs) libX11;
2370     #stdenv = overrideGCC stdenv gcc40;
2371   };
2373   perl58 = import ../development/interpreters/perl-5.8 {
2374       inherit fetchurl stdenv;
2375       impureLibcPath = if stdenv.isLinux then null else "/usr";
2376     };
2378   perl510 = import ../development/interpreters/perl-5.10 {
2379     inherit stdenv;
2380     fetchurl = fetchurlBoot;
2381     impureLibcPath = if stdenv.isLinux then null else "/usr";
2382   };
2384   perl = if system != "i686-cygwin" then perl510 else sysPerl;
2386   # FIXME: unixODBC needs patching on Darwin (see darwinports)
2387   phpOld = import ../development/interpreters/php {
2388     inherit stdenv fetchurl flex bison libxml2 apacheHttpd;
2389     unixODBC =
2390       if stdenv.isDarwin then null else unixODBC;
2391   };
2393   php = makeOverridable (import ../development/interpreters/php_configurable) {
2394     inherit
2395       stdenv fetchurl lib composableDerivation autoconf automake
2396       flex bison apacheHttpd mysql libxml2 # gettext
2397       zlib curl gd postgresql openssl pkgconfig sqlite getConfig;
2398   };
2400   phpXdebug = import ../development/interpreters/php-xdebug {
2401     inherit stdenv fetchurl php autoconf automake;
2402   };
2404   phpIniBuilder = makeOverridable (import ../development/interpreters/php/ini-bulider.nix) {
2405     inherit php runCommand;
2406   };
2408   pltScheme = builderDefsPackage (import ../development/interpreters/plt-scheme) {
2409     inherit cairo fontconfig freetype libjpeg libpng openssl
2410       perl mesa zlib which;
2411     inherit (xorg) libX11 libXaw libXft libXrender libICE xproto
2412       renderproto pixman libSM libxcb libXext xextproto libXmu
2413       libXt;
2414   };
2416   polyml = import ../development/compilers/polyml {
2417     inherit stdenv fetchurl;
2418   };
2420   python = if getConfig ["python" "full"] false then pythonFull else pythonBase;
2421   python25 = if getConfig ["python" "full"] false then python25Full else python25Base;
2422   python26 = if getConfig ["python" "full"] false then python26Full else python26Base;
2423   pythonBase = python25Base;
2424   pythonFull = python25Full;
2426   python24 = import ../development/interpreters/python/2.4 {
2427     inherit fetchurl stdenv zlib bzip2;
2428   };
2430   python25Base = composedArgsAndFun (import ../development/interpreters/python/2.5) {
2431     inherit fetchurl stdenv zlib bzip2 gdbm;
2432   };
2434   python25Full = python25Base.passthru.function {
2435     # FIXME: We lack ncurses support, needed, e.g., for `gpsd'.
2436     db4 = if getConfig ["python" "db4Support"] true then db4 else null;
2437     sqlite = if getConfig ["python" "sqliteSupport"] true then sqlite else null;
2438     readline = if getConfig ["python" "readlineSupport"] true then readline else null;
2439     openssl = if getConfig ["python" "opensslSupport"] true then openssl else null;
2440     tk = if getConfig ["python" "tkSupport"] true then tk else null;
2441     tcl = if getConfig ["python" "tkSupport"] true then tcl else null;
2442     libX11 = if getConfig ["python" "tkSupport"] true then xlibs.libX11 else null;
2443     xproto = if getConfig ["python" "tkSupport"] true then xlibs.xproto else null;
2444   };
2446   python26Base = composedArgsAndFun (import ../development/interpreters/python/2.6) {
2447     inherit fetchurl stdenv zlib bzip2 gdbm;
2448     arch = if stdenv.isDarwin then darwinArchUtility else null;
2449     sw_vers = if stdenv.isDarwin then darwinSwVersUtility else null;
2450   };
2452   python26Full = python26Base.passthru.function {
2453     # FIXME: We lack ncurses support, needed, e.g., for `gpsd'.
2454     db4 = if getConfig ["python" "db4Support"] true then db4 else null;
2455     sqlite = if getConfig ["python" "sqliteSupport"] true then sqlite else null;
2456     readline = if getConfig ["python" "readlineSupport"] true then readline else null;
2457     openssl = if getConfig ["python" "opensslSupport"] true then openssl else null;
2458     tk = if getConfig ["python" "tkSupport"] true then tk else null;
2459     tcl = if getConfig ["python" "tkSupport"] true then tcl else null;
2460     libX11 = if getConfig ["python" "tkSupport"] true then xlibs.libX11 else null;
2461     xproto = if getConfig ["python" "tkSupport"] true then xlibs.xproto else null;
2462   };
2464   # new python and lib proposal
2465   # - adding a python lib to buildinputs should be enough
2466   #   (handles .pth files by patching site.py
2467   #    while introducing NIX_PYTHON_SITES describing list of modules)
2468   # - adding pyCheck = "import foo" test scripts to ensure libraries can be imported
2469   # - providing pythonWrapper so that you can run python and import the selected libraries
2470   # feel free to comment on this (experimental)
2471   python25New = recurseIntoAttrs ((import ../development/interpreters/python-new/2.5) pkgs);
2472   pythonNew = python25New; # the default python
2474   pyrex = pyrex095;
2476   pyrex095 = import ../development/interpreters/pyrex/0.9.5.nix {
2477     inherit fetchurl stdenv stringsWithDeps lib builderDefs python;
2478   };
2480   pyrex096 = import ../development/interpreters/pyrex/0.9.6.nix {
2481     inherit fetchurl stdenv stringsWithDeps lib builderDefs python;
2482   };
2484   Qi = composedArgsAndFun (import ../development/compilers/qi/9.1.nix) {
2485     inherit clisp stdenv fetchurl builderDefs unzip;
2486   };
2488   ruby18 = import ../development/interpreters/ruby {
2489     inherit fetchurl stdenv readline ncurses zlib openssl gdbm;
2490   };
2491   #ruby19 = import ../development/interpreters/ruby/ruby-19.nix { inherit ruby18 fetchurl; };
2492   ruby = ruby18;
2494   rubyLibs = recurseIntoAttrs (import ../development/interpreters/ruby/libs.nix {
2495     inherit pkgs stdenv;
2496   });
2498   rake = import ../development/ruby-modules/rake {
2499     inherit fetchurl stdenv ruby ;
2500   };
2502   rubySqlite3 = import ../development/ruby-modules/sqlite3 {
2503     inherit fetchurl stdenv ruby sqlite;
2504   };
2506   rLang = import ../development/interpreters/r-lang {
2507     inherit fetchurl stdenv readline perl gfortran libpng zlib;
2508     inherit (xorg) libX11 libXt;
2509     withBioconductor = getConfig ["rLang" "withBioconductor"] false;
2510   };
2512   rubygemsFun = ruby: builderDefsPackage (import ../development/interpreters/ruby/gems.nix) {
2513     inherit ruby makeWrapper;
2514   };
2515   rubygems = rubygemsFun ruby;
2517   rq = import ../applications/networking/cluster/rq {
2518     inherit fetchurl stdenv sqlite ruby ;
2519   };
2521   scsh = import ../development/interpreters/scsh {
2522     inherit stdenv fetchurl;
2523   };
2525   spidermonkey = import ../development/interpreters/spidermonkey {
2526     inherit fetchurl stdenv readline;
2527   };
2529   sysPerl = import ../development/interpreters/sys-perl {
2530     inherit stdenv;
2531   };
2533   tcl = import ../development/interpreters/tcl {
2534     inherit fetchurl stdenv;
2535   };
2537   xulrunnerWrapper = {application, launcher}:
2538     import ../development/interpreters/xulrunner/wrapper {
2539       inherit stdenv application launcher;
2540       xulrunner = xulrunner35;
2541     };
2544   ### DEVELOPMENT / MISC
2546   avrgcclibc = import ../development/misc/avr-gcc-with-avr-libc {
2547     inherit fetchurl stdenv writeTextFile gnumake coreutils gnutar bzip2
2548       gnugrep gnused gawk;
2549     gcc = gcc40;
2550   };
2552   avr8burnomat = import ../development/misc/avr8-burn-omat {
2553     inherit fetchurl stdenv unzip;
2554   };
2556   /*
2557   toolbus = import ../development/interpreters/toolbus {
2558     inherit stdenv fetchurl atermjava toolbuslib aterm yacc flex;
2559   };
2560   */
2562   sourceFromHead = import ../build-support/source-from-head-fun.nix {
2563     inherit getConfig;
2564   };
2566   ecj = import ../development/eclipse/ecj {
2567     inherit fetchurl stdenv unzip ant gcj;
2568   };
2570   jdtsdk = import ../development/eclipse/jdt-sdk {
2571     inherit fetchurl stdenv unzip;
2572   };
2574   jruby116 = import ../development/interpreters/jruby {
2575     inherit fetchurl stdenv;
2576   };
2578   guileCairo = import ../development/guile-modules/guile-cairo {
2579     inherit fetchurl stdenv guile pkgconfig cairo guileLib;
2580   };
2582   guileGnome = import ../development/guile-modules/guile-gnome {
2583     inherit fetchurl stdenv guile guileLib gwrap pkgconfig guileCairo;
2584     gconf = gnome.GConf;
2585     inherit (gnome) glib gnomevfs gtk libglade libgnome libgnomecanvas
2586       libgnomeui pango;
2587   };
2589   guileLib = import ../development/guile-modules/guile-lib {
2590     inherit fetchurl stdenv guile texinfo;
2591   };
2593   windowssdk = (
2594     import ../development/misc/windows-sdk {
2595       inherit fetchurl stdenv cabextract;
2596     });
2599   ### DEVELOPMENT / TOOLS
2602   antlr = import ../development/tools/parsing/antlr/2.7.7.nix {
2603     inherit fetchurl stdenv jdk python;
2604   };
2606   antlr3 = import ../development/tools/parsing/antlr {
2607     inherit fetchurl stdenv jre;
2608   };
2610   antDarwin = apacheAnt.override rec { jdk = openjdkDarwin ; name = "ant-" + jdk.name ; } ;
2612   ant = apacheAnt;
2613   apacheAnt = makeOverridable (import ../development/tools/build-managers/apache-ant) {
2614     inherit fetchurl stdenv jdk;
2615     name = "ant-" + jdk.name;
2616   };
2618   apacheAnt14 = import ../development/tools/build-managers/apache-ant {
2619     inherit fetchurl stdenv;
2620     jdk = j2sdk14x;
2621     name = "ant-" + j2sdk14x.name;
2622   };
2624   apacheAntGcj = import ../development/tools/build-managers/apache-ant/from-source.nix {
2625     inherit fetchurl stdenv;
2626     inherit junit; # must be either pre-built or built with GCJ *alone*
2627     javac = gcj;
2628     jvm = gcj;
2629   };
2631   autobuild = import ../development/tools/misc/autobuild {
2632     inherit fetchurl stdenv makeWrapper perl openssh rsync;
2633   };
2635   autoconf = import ../development/tools/misc/autoconf {
2636     inherit fetchurl stdenv perl m4;
2637   };
2639   autoconf213 = import ../development/tools/misc/autoconf/2.13.nix {
2640     inherit fetchurl stdenv perl m4 lzma;
2641   };
2643   automake = automake110x;
2645   automake17x = import ../development/tools/misc/automake/automake-1.7.x.nix {
2646     inherit fetchurl stdenv perl autoconf makeWrapper;
2647   };
2649   automake19x = import ../development/tools/misc/automake/automake-1.9.x.nix {
2650     inherit fetchurl stdenv perl autoconf makeWrapper;
2651   };
2653   automake110x = import ../development/tools/misc/automake/automake-1.10.x.nix {
2654     inherit fetchurl stdenv perl autoconf makeWrapper;
2655   };
2657   automake111x = import ../development/tools/misc/automake/automake-1.11.x.nix {
2658     inherit fetchurl stdenv perl autoconf makeWrapper;
2659   };
2661   avrdude = import ../development/tools/misc/avrdude {
2662     inherit lib fetchurl stdenv flex yacc composableDerivation texLive;
2663   };
2665   binutils = useFromStdenv "binutils"
2666     (import ../development/tools/misc/binutils {
2667       inherit fetchurl stdenv noSysDirs;
2668     });
2670   bison = bison23;
2672   bison1875 = import ../development/tools/parsing/bison/bison-1.875.nix {
2673     inherit fetchurl stdenv m4;
2674   };
2676   bison23 = import ../development/tools/parsing/bison/bison-2.3.nix {
2677     inherit fetchurl stdenv m4;
2678   };
2680   bison24 = import ../development/tools/parsing/bison/bison-2.4.nix {
2681     inherit fetchurl stdenv m4;
2682   };
2684   buildbot = import ../development/tools/build-managers/buildbot {
2685     inherit fetchurl stdenv buildPythonPackage texinfo;
2686     inherit (pythonPackages) twisted;
2687   };
2689   byacc = import ../development/tools/parsing/byacc {
2690     inherit fetchurl stdenv;
2691   };
2693   camlp5_strict = import ../development/tools/ocaml/camlp5 {
2694     inherit stdenv fetchurl ocaml;
2695   };
2697   camlp5_transitional = import ../development/tools/ocaml/camlp5 {
2698     inherit stdenv fetchurl ocaml;
2699     transitional = true;
2700   };
2702   ccache = import ../development/tools/misc/ccache {
2703     inherit fetchurl stdenv;
2704   };
2706   ctags = import ../development/tools/misc/ctags {
2707     inherit fetchurl sourceFromHead stdenv automake autoconf;
2708   };
2710   ctagsWrapped = import ../development/tools/misc/ctags/wrapped.nix {
2711     inherit pkgs ctags writeScriptBin;
2712   };
2714   cmake = import ../development/tools/build-managers/cmake {
2715     inherit fetchurl stdenv replace ncurses;
2716   };
2718   coccinelle = import ../development/tools/misc/coccinelle {
2719     inherit fetchurl stdenv perl python ocaml ncurses makeWrapper;
2720   };
2722   cproto = import ../development/tools/misc/cproto {
2723     inherit fetchurl stdenv flex bison;
2724   };
2726   cflow = import ../development/tools/misc/cflow {
2727     inherit fetchurl stdenv gettext emacs;
2728   };
2730   cscope = import ../development/tools/misc/cscope {
2731     inherit fetchurl stdenv ncurses pkgconfig emacs;
2732   };
2734   dejagnu = import ../development/tools/misc/dejagnu {
2735     inherit fetchurl stdenv expect makeWrapper;
2736   };
2738   ddd = import ../development/tools/misc/ddd {
2739     inherit fetchurl stdenv lesstif ncurses;
2740     inherit (xlibs) libX11 libXt;
2741   };
2743   distcc = import ../development/tools/misc/distcc {
2744     inherit fetchurl stdenv popt python;
2745     avahi = if getPkgConfig "distcc" "avahi" false then avahi else null;
2746     pkgconfig = if getPkgConfig "distcc" "gtk" false then pkgconfig else null;
2747     gtk = if getPkgConfig "distcc" "gtk" false then gtkLibs.gtk else null;
2748   };
2750   docutils = builderDefsPackage (import ../development/tools/documentation/docutils) {
2751     inherit python pil makeWrapper;
2752   };
2754   doxygen = import ../development/tools/documentation/doxygen {
2755     inherit fetchurl stdenv graphviz perl flex bison gnumake;
2756     inherit (xlibs) libX11 libXext;
2757     qt = if getPkgConfig "doxygen" "qt4" true then qt4 else null;
2758   };
2760   eggdbus = import ../development/tools/misc/eggdbus {
2761     inherit stdenv fetchurl pkgconfig dbus dbus_glib glib;
2762   };
2764   elfutils = import ../development/tools/misc/elfutils {
2765     inherit fetchurl stdenv m4;
2766   };
2768   epm = import ../development/tools/misc/epm {
2769     inherit fetchurl stdenv rpm;
2770   };
2772   emma = import ../development/tools/analysis/emma {
2773     inherit fetchurl stdenv unzip;
2774   };
2776   findbugs = import ../development/tools/analysis/findbugs {
2777     inherit fetchurl stdenv;
2778   };
2780   pmd = import ../development/tools/analysis/pmd {
2781     inherit fetchurl stdenv unzip;
2782   };
2784   jdepend = import ../development/tools/analysis/jdepend {
2785     inherit fetchurl stdenv unzip;
2786   };
2788   checkstyle = import ../development/tools/analysis/checkstyle {
2789     inherit fetchurl stdenv unzip;
2790   };
2792   flex = flex254a;
2794   flex2535 = import ../development/tools/parsing/flex/flex-2.5.35.nix {
2795     inherit fetchurl stdenv yacc m4;
2796   };
2798   flex2534 = import ../development/tools/parsing/flex/flex-2.5.34.nix {
2799     inherit fetchurl stdenv yacc m4;
2800   };
2802   flex2533 = import ../development/tools/parsing/flex/flex-2.5.33.nix {
2803     inherit fetchurl stdenv yacc m4;
2804   };
2806   # Note: 2.5.4a is much older than 2.5.35 but happens first when sorting
2807   # alphabetically, hence the low priority.
2808   flex254a = lowPrio (import ../development/tools/parsing/flex/flex-2.5.4a.nix {
2809     inherit fetchurl stdenv yacc;
2810   });
2812   m4 = gnum4;
2814   global = import ../development/tools/misc/global {
2815     inherit fetchurl stdenv;
2816   };
2818   gnum4 = import ../development/tools/misc/gnum4 {
2819     inherit fetchurl stdenv;
2820   };
2822   gnumake = useFromStdenv "gnumake"
2823     (import ../development/tools/build-managers/gnumake {
2824       inherit fetchurl stdenv;
2825     });
2827   gnumake380 = import ../development/tools/build-managers/gnumake-3.80 {
2828     inherit fetchurl stdenv;
2829   };
2831   gperf = import ../development/tools/misc/gperf {
2832     inherit fetchurl stdenv;
2833   };
2835   gtkdialog = import ../development/tools/misc/gtkdialog {
2836     inherit fetchurl stdenv pkgconfig;
2837     inherit (gtkLibs) gtk;
2838   };
2840   guileLint = import ../development/tools/guile/guile-lint {
2841     inherit fetchurl stdenv guile;
2842   };
2844   gwrap = import ../development/tools/guile/g-wrap {
2845     inherit fetchurl stdenv guile libffi pkgconfig guileLib glib;
2846   };
2848   help2man = import ../development/tools/misc/help2man {
2849     inherit fetchurl stdenv perl gettext;
2850     inherit (perlPackages) LocaleGettext;
2851   };
2853   iconnamingutils = import ../development/tools/misc/icon-naming-utils {
2854     inherit fetchurl stdenv perl;
2855     inherit (perlPackages) XMLSimple;
2856   };
2858   indent = import ../development/tools/misc/indent {
2859     inherit fetchurl stdenv;
2860   };
2862   inotifyTools = import ../development/tools/misc/inotify-tools {
2863     inherit fetchurl stdenv lib;
2864   };
2866   jikespg = import ../development/tools/parsing/jikespg {
2867     inherit fetchurl stdenv;
2868   };
2870   kcachegrind = import ../development/tools/misc/kcachegrind {
2871     inherit fetchurl stdenv kdelibs zlib perl expat libpng libjpeg;
2872     inherit (xlibs) libX11 libXext libSM;
2873     qt = qt3;
2874   };
2876   lcov = import ../development/tools/analysis/lcov {
2877     inherit fetchurl stdenv perl;
2878   };
2880   libtool = libtool_2;
2882   libtool_1_5 = import ../development/tools/misc/libtool {
2883     inherit fetchurl stdenv perl m4;
2884   };
2886   libtool_2 = import ../development/tools/misc/libtool/libtool2.nix {
2887     inherit fetchurl stdenv lzma perl m4;
2888   };
2890   lsof = import ../development/tools/misc/lsof {
2891     inherit fetchurl stdenv;
2892   };
2894   ltrace = composedArgsAndFun (import ../development/tools/misc/ltrace/0.5-3deb.nix) {
2895     inherit fetchurl stdenv builderDefs stringsWithDeps lib elfutils;
2896   };
2898   mk = import ../development/tools/build-managers/mk {
2899     inherit fetchurl stdenv;
2900   };
2902   noweb = import ../development/tools/literate-programming/noweb {
2903     inherit fetchurl stdenv;
2904   };
2906   openafsClient = import ../servers/openafs-client {
2907     inherit stdenv fetchurl autoconf automake flex yacc;
2908     inherit kernel_2_6_28 glibc ncurses perl krb5;
2909   };
2911   openocd = import ../development/tools/misc/openocd {
2912     inherit fetchurl stdenv libftdi;
2913   };
2915   oprofile = import ../development/tools/profiling/oprofile {
2916     inherit fetchurl stdenv binutils popt;
2917     inherit makeWrapper gawk which gnugrep;
2918   };
2920   patchelf = useFromStdenv "patchelf"
2921     (import ../development/tools/misc/patchelf {
2922       inherit fetchurl stdenv;
2923     });
2925   patchelf05 = import ../development/tools/misc/patchelf/0.5.nix {
2926     inherit fetchurl stdenv;
2927   };
2929   pmccabe = import ../development/tools/misc/pmccabe {
2930     inherit fetchurl stdenv;
2931   };
2933   /**
2934    * pkgconfig is optionally taken from the stdenv to allow bootstrapping
2935    * of glib and pkgconfig itself on MinGW.
2936    */
2937   pkgconfig = useFromStdenv "pkgconfig"
2938     (import ../development/tools/misc/pkgconfig {
2939       inherit fetchurl stdenv;
2940     });
2942   radare = import ../development/tools/analysis/radare {
2943     inherit stdenv fetchurl pkgconfig libusb readline gtkdialog python
2944       ruby libewf perl;
2945     inherit (gtkLibs) gtk;
2946     inherit (gnome) vte;
2947     lua = lua5;
2948     useX11 = getConfig ["radare" "useX11"] false;
2949     pythonBindings = getConfig ["radare" "pythonBindings"] false;
2950     rubyBindings = getConfig ["radare" "rubyBindings"] false;
2951     luaBindings = getConfig ["radare" "luaBindings"] false;
2952   };
2954   ragel = import ../development/tools/parsing/ragel {
2955     inherit composableDerivation fetchurl transfig texLive;
2956   };
2958   remake = import ../development/tools/build-managers/remake {
2959       inherit fetchurl stdenv;
2960     };
2962   # couldn't find the source yet
2963   seleniumRCBin = import ../development/tools/selenium/remote-control {
2964     inherit fetchurl stdenv unzip;
2965     jre = jdk;
2966   };
2968   scons = import ../development/tools/build-managers/scons {
2969     inherit fetchurl stdenv python makeWrapper;
2970   };
2972   sloccount = import ../development/tools/misc/sloccount {
2973     inherit fetchurl stdenv perl;
2974   };
2976   sparse = import ../development/tools/analysis/sparse {
2977     inherit fetchurl stdenv pkgconfig;
2978   };
2980   spin = import ../development/tools/analysis/spin {
2981     inherit fetchurl stdenv flex yacc tk;
2982   };
2984   splint = import ../development/tools/analysis/splint {
2985     inherit fetchurl stdenv flex;
2986   };
2988   strace = import ../development/tools/misc/strace {
2989     inherit fetchurl stdenv;
2990   };
2992   swig = import ../development/tools/misc/swig {
2993     inherit fetchurl stdenv boost;
2994   };
2996   swigWithJava = swig;
2998   swftools = import ../tools/video/swftools {
2999     inherit fetchurl stdenv x264 zlib libjpeg freetype giflib;
3000   };
3002   texinfo49 = import ../development/tools/misc/texinfo/4.9.nix {
3003     inherit fetchurl stdenv ncurses;
3004   };
3006   texinfo = import ../development/tools/misc/texinfo {
3007     inherit fetchurl stdenv ncurses lzma;
3008   };
3010   texi2html = import ../development/tools/misc/texi2html {
3011     inherit fetchurl stdenv perl;
3012   };
3014   uisp = import ../development/tools/misc/uisp {
3015     inherit fetchurl stdenv;
3016   };
3018   gdb = import ../development/tools/misc/gdb {
3019     inherit fetchurl stdenv ncurses gmp mpfr expat texinfo;
3020     readline = readline5;
3021   };
3023   valgrind = import ../development/tools/analysis/valgrind {
3024     inherit fetchurl stdenv perl gdb;
3025   };
3027   xxdiff = builderDefsPackage (import ../development/tools/misc/xxdiff/3.2.nix) {
3028     flex = flex2535;
3029     qt = qt3;
3030     inherit pkgconfig makeWrapper bison python;
3031     inherit (xlibs) libXext libX11;
3032   };
3034   yacc = bison;
3036   yodl = import ../development/tools/misc/yodl {
3037     inherit stdenv fetchurl perl;
3038   };
3041   ### DEVELOPMENT / LIBRARIES
3044   a52dec = import ../development/libraries/a52dec {
3045     inherit fetchurl stdenv;
3046   };
3048   aalib = import ../development/libraries/aalib {
3049     inherit fetchurl stdenv ncurses;
3050   };
3052   acl = useFromStdenv "acl"
3053     (import ../development/libraries/acl {
3054       inherit stdenv fetchurl gettext attr libtool;
3055     });
3057   adns = import ../development/libraries/adns/1.4.nix {
3058     inherit stdenv fetchurl;
3059     static = getPkgConfig "adns" "static" (stdenv ? isStatic || stdenv ? isDietLibC);
3060   };
3062   agg = import ../development/libraries/agg {
3063     inherit fetchurl stdenv autoconf automake libtool pkgconfig
3064       freetype SDL;
3065     inherit (xlibs) libX11;
3066   };
3068   amrnb = import ../development/libraries/amrnb {
3069     inherit fetchurl stdenv unzip;
3070   };
3072   amrwb = import ../development/libraries/amrwb {
3073     inherit fetchurl stdenv unzip;
3074   };
3076   apr = makeOverridable (import ../development/libraries/apr) {
3077     inherit (pkgsOverriden) fetchurl stdenv;
3078   };
3080   aprutil = makeOverridable (import ../development/libraries/apr-util) {
3081     inherit (pkgsOverriden) fetchurl stdenv apr expat db4;
3082     bdbSupport = true;
3083   };
3085   arts = import ../development/libraries/arts {
3086     inherit fetchurl stdenv pkgconfig;
3087     inherit (xlibs) libX11 libXext;
3088     inherit kdelibs zlib libjpeg libpng perl;
3089     qt = qt3;
3090     inherit (gnome) glib;
3091   };
3093   aspell = import ../development/libraries/aspell {
3094     inherit fetchurl stdenv perl;
3095   };
3097   aspellDicts = recurseIntoAttrs (import ../development/libraries/aspell/dictionaries.nix {
3098     inherit fetchurl stdenv aspell which;
3099   });
3101   aterm = aterm25;
3103   aterm242fixes = lowPrio (import ../development/libraries/aterm/2.4.2-fixes.nix {
3104     inherit fetchurl stdenv;
3105   });
3107   aterm25 = makeOverridable (import ../development/libraries/aterm/2.5.nix) {
3108     inherit fetchurl stdenv;
3109   };
3111   aterm28 = lowPrio (import ../development/libraries/aterm/2.8.nix {
3112     inherit fetchurl stdenv;
3113   });
3115   attr = useFromStdenv "attr"
3116     (import ../development/libraries/attr {
3117       inherit stdenv fetchurl gettext libtool;
3118     });
3120   aubio = import ../development/libraries/aubio {
3121     inherit fetchurl stdenv pkgconfig fftw libsndfile libsamplerate python
3122       alsaLib jackaudio;
3123   };
3125   axis = import ../development/libraries/axis {
3126     inherit fetchurl stdenv;
3127   };
3129   babl = import ../development/libraries/babl {
3130     inherit fetchurl stdenv;
3131   };
3133   beecrypt = import ../development/libraries/beecrypt {
3134     inherit fetchurl stdenv m4;
3135   };
3137   boehmgc = import ../development/libraries/boehm-gc {
3138     inherit fetchurl stdenv;
3139   };
3141   boolstuff = import ../development/libraries/boolstuff {
3142     inherit fetchurl stdenv lib pkgconfig;
3143   };
3145   boost_1_36_0 = import ../development/libraries/boost/1.36.0.nix {
3146     inherit fetchurl stdenv icu expat zlib bzip2 python;
3147   };
3149   boost = makeOverridable (import ../development/libraries/boost/1.41.0.nix) {
3150     inherit fetchurl stdenv icu expat zlib bzip2 python;
3151   };
3153   # A Boost build with all library variants enabled.  Very large (about 250 MB).
3154   boostFull = appendToName "full" (boost.override {
3155     enableDebug = true;
3156     enableSingleThreaded = true;
3157     enableStatic = true;
3158   });
3160   botan = builderDefsPackage (import ../development/libraries/botan) {
3161     inherit perl;
3162   };
3164   buddy = import ../development/libraries/buddy {
3165     inherit fetchurl stdenv bison;
3166   };
3168   cairo = import ../development/libraries/cairo {
3169     inherit fetchurl stdenv pkgconfig x11 fontconfig freetype zlib libpng;
3170     inherit (xlibs) pixman libxcb xcbutil;
3171   };
3173   cairomm = import ../development/libraries/cairomm {
3174     inherit fetchurl stdenv pkgconfig cairo x11 fontconfig freetype libsigcxx;
3175   };
3177   scmccid = import ../development/libraries/scmccid {
3178     inherit fetchurl stdenv libusb patchelf;
3179   };
3181   ccrtp = import ../development/libraries/ccrtp {
3182     inherit fetchurl stdenv lib pkgconfig openssl libgcrypt commoncpp2;
3183   };
3185   chipmunk = builderDefsPackage (import ../development/libraries/chipmunk) {
3186     inherit cmake freeglut mesa;
3187     inherit (xlibs) libX11 xproto inputproto libXi libXmu;
3188   };
3190   chmlib = import ../development/libraries/chmlib {
3191     inherit fetchurl stdenv;
3192   };
3194   cil = import ../development/libraries/cil {
3195     inherit stdenv fetchurl ocaml perl;
3196   };
3198   cilaterm = import ../development/libraries/cil-aterm {
3199     stdenv = overrideInStdenv stdenv [gnumake380];
3200     inherit fetchurl perl ocaml;
3201   };
3203   clanlib = import ../development/libraries/clanlib {
3204     inherit fetchurl stdenv zlib libpng libjpeg libvorbis libogg mesa;
3205     inherit (xlibs) libX11 xf86vidmodeproto libXmu libXxf86vm;
3206   };
3208   classpath = import ../development/libraries/java/classpath {
3209     javac = gcj;
3210     jvm = gcj;
3211     inherit fetchurl stdenv pkgconfig antlr;
3212     inherit (gtkLibs) gtk;
3213     gconf = gnome.GConf;
3214   };
3216   clearsilver = import ../development/libraries/clearsilver {
3217     inherit fetchurl stdenv python;
3218   };
3220   clppcre = builderDefsPackage (import ../development/libraries/cl-ppcre) {
3221   };
3223   cluceneCore = (import ../development/libraries/clucene-core) {
3224     inherit fetchurl stdenv;
3225   };
3227   commoncpp2 = import ../development/libraries/commoncpp2 {
3228     inherit stdenv fetchurl lib;
3229   };
3231   consolekit = makeOverridable (import ../development/libraries/consolekit) {
3232     inherit stdenv fetchurl pkgconfig dbus_glib zlib pam policykit expat glib;
3233     inherit (xlibs) libX11;
3234   };
3236   coredumper = import ../development/libraries/coredumper {
3237     inherit fetchurl stdenv;
3238   };
3240   ctl = import ../development/libraries/ctl {
3241     inherit fetchurl stdenv ilmbase;
3242   };
3244   cppunit = import ../development/libraries/cppunit {
3245     inherit fetchurl stdenv;
3246   };
3248   cracklib = import ../development/libraries/cracklib {
3249     inherit fetchurl stdenv;
3250   };
3252   cryptopp = import ../development/libraries/crypto++ {
3253     inherit fetchurl stdenv unzip libtool;
3254   };
3256   cyrus_sasl = import ../development/libraries/cyrus-sasl {
3257     inherit fetchurl stdenv openssl db4 gettext;
3258   };
3260   db4 = db45;
3262   db44 = import ../development/libraries/db4/db4-4.4.nix {
3263     inherit fetchurl stdenv;
3264   };
3266   db45 = import ../development/libraries/db4/db4-4.5.nix {
3267     inherit fetchurl stdenv;
3268   };
3270   dbus = import ../development/libraries/dbus {
3271     inherit fetchurl stdenv pkgconfig expat;
3272     inherit (xlibs) libX11 libICE libSM;
3273     useX11 = true; # !!! `false' doesn't build
3274   };
3276   dbus_glib = makeOverridable (import ../development/libraries/dbus-glib) {
3277     inherit fetchurl stdenv pkgconfig gettext dbus expat glib;
3278   };
3280   dbus_java = import ../development/libraries/java/dbus-java {
3281     inherit stdenv fetchurl gettext jdk libmatthew_java;
3282   };
3284   dclib = import ../development/libraries/dclib {
3285     inherit fetchurl stdenv libxml2 openssl bzip2;
3286   };
3288   directfb = import ../development/libraries/directfb {
3289     inherit fetchurl stdenv perl zlib libjpeg freetype
3290       SDL libpng giflib;
3291     inherit (xlibs) libX11 libXext xproto xextproto renderproto
3292       libXrender;
3293   };
3295   enchant = makeOverridable (import ../development/libraries/enchant) {
3296     inherit fetchurl stdenv aspell pkgconfig;
3297     inherit (gnome) glib;
3298   };
3300   enginepkcs11 = import ../development/libraries/enginepkcs11 {
3301     inherit fetchurl stdenv libp11 pkgconfig openssl;
3302   };
3304   exiv2 = import ../development/libraries/exiv2 {
3305     inherit fetchurl stdenv zlib;
3306   };
3308   expat = import ../development/libraries/expat {
3309     inherit fetchurl stdenv;
3310   };
3312   extremetuxracer = builderDefsPackage (import ../games/extremetuxracer) {
3313     inherit mesa tcl freeglut SDL SDL_mixer pkgconfig
3314         libpng gettext intltool;
3315     inherit (xlibs) libX11 xproto libXi inputproto
3316         libXmu libXext xextproto libXt libSM libICE;
3317   };
3319   eventlog = import ../development/libraries/eventlog {
3320     inherit fetchurl stdenv;
3321   };
3323   facile = import ../development/libraries/facile {
3324     inherit fetchurl stdenv;
3325     # Actually, we don't need this version but we need native-code compilation
3326     ocaml = ocaml_3_10_0;
3327   };
3329   faac = import ../development/libraries/faac {
3330     inherit fetchurl stdenv autoconf automake libtool;
3331   };
3333   faad2 = import ../development/libraries/faad2 {
3334     inherit fetchurl stdenv;
3335   };
3337   farsight2 = import ../development/libraries/farsight2 {
3338     inherit fetchurl stdenv libnice pkgconfig python;
3339     inherit (gnome) glib;
3340     inherit (gst_all) gstreamer gstPluginsBase;
3341   };
3343   fcgi = import ../development/libraries/fcgi {
3344       inherit fetchurl stdenv;
3345   };
3347   ffmpeg = import ../development/libraries/ffmpeg {
3348     inherit fetchurl stdenv faad2;
3349   };
3351   fftw = import ../development/libraries/fftw {
3352     inherit fetchurl stdenv builderDefs stringsWithDeps;
3353     singlePrecision = false;
3354   };
3356   fftwSinglePrec = import ../development/libraries/fftw {
3357     inherit fetchurl stdenv builderDefs stringsWithDeps;
3358     singlePrecision = true;
3359   };
3361   fltk11 = (import ../development/libraries/fltk/fltk11.nix) {
3362     inherit composableDerivation x11 lib pkgconfig freeglut;
3363     inherit fetchurl stdenv mesa libpng libjpeg zlib ;
3364     inherit (xlibs) inputproto libXi libXinerama libXft;
3365     flags = [ "useNixLibs" "threads" "shared" "gl" ];
3366   };
3368   fltk20 = (import ../development/libraries/fltk) {
3369     inherit composableDerivation x11 lib pkgconfig freeglut;
3370     inherit fetchurl stdenv mesa libpng libjpeg zlib ;
3371     inherit (xlibs) inputproto libXi libXinerama libXft;
3372     flags = [ "useNixLibs" "threads" "shared" "gl" ];
3373   };
3375   fmod = import ../development/libraries/fmod {
3376     inherit stdenv fetchurl;
3377   };
3379   freeimage = import ../development/libraries/freeimage {
3380     inherit fetchurl stdenv unzip;
3381   };
3383   freetts = import ../development/libraries/freetts {
3384     inherit stdenv fetchurl apacheAnt unzip sharutils lib;
3385   };
3387   cfitsio = import ../development/libraries/cfitsio {
3388     inherit fetchurl stdenv;
3389   };
3391   fontconfig = import ../development/libraries/fontconfig {
3392     inherit fetchurl stdenv freetype expat;
3393   };
3395   makeFontsConf = let fontconfig_ = fontconfig; in {fontconfig ? fontconfig_, fontDirectories}:
3396     import ../development/libraries/fontconfig/make-fonts-conf.nix {
3397       inherit runCommand libxslt fontconfig fontDirectories;
3398     };
3400   freealut = import ../development/libraries/freealut {
3401     inherit fetchurl stdenv openal;
3402   };
3404   freeglut = import ../development/libraries/freeglut {
3405     inherit fetchurl stdenv x11 mesa;
3406   };
3408   freetype = import ../development/libraries/freetype {
3409     inherit fetchurl stdenv;
3410   };
3412   fribidi = import ../development/libraries/fribidi {
3413     inherit fetchurl stdenv;
3414   };
3416   fam = gamin;
3418   gamin = import ../development/libraries/gamin {
3419     inherit fetchurl stdenv python pkgconfig glib;
3420   };
3422   gav = import ../games/gav {
3423     inherit fetchurl SDL SDL_image SDL_mixer SDL_net;
3424     stdenv = overrideGCC stdenv gcc41;
3425   };
3427   gdbm = import ../development/libraries/gdbm {
3428     inherit fetchurl stdenv;
3429   };
3431   gdk_pixbuf = import ../development/libraries/gdk-pixbuf {
3432     inherit fetchurl stdenv libtiff libjpeg libpng;
3433     inherit (gtkLibs1x) gtk;
3434   };
3436   gegl = import ../development/libraries/gegl {
3437     inherit fetchurl stdenv libpng pkgconfig babl;
3438     openexr = openexr_1_6_1;
3439     #  avocodec avformat librsvg
3440     inherit cairo libjpeg librsvg;
3441     inherit (gtkLibs) pango glib gtk;
3442   };
3444   geoip = builderDefsPackage ../development/libraries/geoip {
3445     inherit zlib;
3446   };
3448   geos = import ../development/libraries/geos {
3449     inherit fetchurl fetchsvn stdenv autoconf
3450       automake libtool swig which lib composableDerivation python ruby;
3451     use_svn = stdenv.system == "x86_64-linux";
3452   };
3454   gettext = import ../development/libraries/gettext {
3455     inherit fetchurl stdenv libiconv;
3456   };
3458   gd = import ../development/libraries/gd {
3459     inherit fetchurl stdenv zlib libpng freetype libjpeg fontconfig;
3460   };
3462   gdal = stdenv.mkDerivation {
3463     name = "gdal-1.6.1-rc1";
3464     src = fetchurl {
3465       url = ftp://ftp.remotesensing.org/gdal/gdal-1.6.1-RC1.tar.gz;
3466       sha256 = "0f7da588yvb1d3l3gk5m0hrqlhg8m4gw93aip3dwkmnawz9r0qcw";
3467     };
3468   };
3470   giblib = import ../development/libraries/giblib {
3471     inherit fetchurl stdenv x11 imlib2;
3472   };
3474   glew = import ../development/libraries/glew {
3475     inherit fetchurl stdenv mesa x11 libtool;
3476     inherit (xlibs) libXmu libXi;
3477   };
3479   glefw = import ../development/libraries/glefw {
3480     inherit fetchurl stdenv lib mesa;
3481     inherit (xlibs) libX11 libXext xextproto;
3482   };
3484   glibc =
3485     let haveRedHatKernel       = system == "i686-linux" || system == "x86_64-linux";
3486         haveBrokenRedHatKernel = haveRedHatKernel && getConfig ["brokenRedHatKernel"] false;
3487     in
3488     useFromStdenv "glibc" (if haveBrokenRedHatKernel then glibc25 else glibc29);
3490   glibc25 = import ../development/libraries/glibc-2.5 {
3491     inherit fetchurl stdenv kernelHeaders;
3492     installLocales = getPkgConfig "glibc" "locales" false;
3493   };
3495   glibc27 = import ../development/libraries/glibc-2.7 {
3496     inherit fetchurl stdenv kernelHeaders;
3497     #installLocales = false;
3498   };
3500   glibc29 = import ../development/libraries/glibc-2.9 {
3501     inherit fetchurl stdenv kernelHeaders;
3502     installLocales = getPkgConfig "glibc" "locales" false;
3503   };
3505   glibcLocales = makeOverridable (import ../development/libraries/glibc-2.9/locales.nix) {
3506     inherit fetchurl stdenv;
3507   };
3509   glibcInfo = import ../development/libraries/glibc-2.9/info.nix {
3510     inherit fetchurl stdenv texinfo perl;
3511   };
3513   glibc_multi =
3514       runCommand "${glibc.name}-multi"
3515         { glibc64 = glibc;
3516           glibc32 = (import ./all-packages.nix {system = "i686-linux";}).glibc;
3517         }
3518         ''
3519           ensureDir $out
3520           ln -s $glibc64/* $out/
3522           rm $out/lib $out/lib64
3523           ensureDir $out/lib
3524           ln -s $glibc64/lib/* $out/lib
3525           ln -s $glibc32/lib $out/lib/32
3526           ln -s lib $out/lib64
3528           rm $out/include
3529           cp -rs $glibc32/include $out
3530           chmod -R u+w $out/include
3531           cp -rsf $glibc64/include $out
3532         '' # */
3533         ;
3535   gmime = import ../development/libraries/gmime {
3536     inherit fetchurl stdenv pkgconfig zlib glib;
3537   };
3539   gmm = import ../development/libraries/gmm {
3540     inherit fetchurl stdenv;
3541   };
3543   gmp = import ../development/libraries/gmp {
3544     inherit fetchurl stdenv m4;
3545     cxx = false;
3546   };
3548   gmpxx = import ../development/libraries/gmp {
3549     inherit fetchurl stdenv m4;
3550     cxx = true;
3551   };
3553   goffice = import ../development/libraries/goffice {
3554     inherit fetchurl stdenv pkgconfig libgsf libxml2 cairo
3555       intltool gettext bzip2;
3556     inherit (gnome) glib gtk libglade libgnomeui pango;
3557     gconf = gnome.GConf;
3558     libart = gnome.libart_lgpl;
3559   };
3561   goocanvas = import ../development/libraries/goocanvas {
3562     inherit fetchurl stdenv pkgconfig cairo;
3563     inherit (gnome) gtk glib;
3564   };
3566   #GMP ex-satellite, so better keep it near gmp
3567   mpfr = import ../development/libraries/mpfr {
3568     inherit fetchurl stdenv gmp;
3569   };
3571   gst_all = recurseIntoAttrs (import ../development/libraries/gstreamer {
3572     inherit lib stdenv fetchurl perl bison pkgconfig libxml2
3573       python alsaLib cdparanoia libogg libvorbis libtheora freetype liboil
3574       libjpeg zlib speex libpng libdv aalib cairo libcaca flac hal libiec61883
3575       dbus libavc1394 ladspaH taglib pulseaudio gdbm bzip2 which makeOverridable
3576       libcap libtasn1;
3577     flex = flex2535;
3578     inherit (xorg) libX11 libXv libXext;
3579     inherit (gtkLibs) glib pango gtk;
3580     inherit (gnome) gnomevfs /* <- only passed for the no longer used older versions
3581              it is deprecated and didn't build on amd64 due to samba dependency */ gtkdoc
3582              libsoup;
3583   });
3585   gnet = import ../development/libraries/gnet {
3586     inherit fetchurl stdenv pkgconfig glib;
3587   };
3589   gnutls = import ../development/libraries/gnutls {
3590     inherit fetchurl stdenv libgcrypt zlib lzo libtasn1 guile;
3591     guileBindings = getConfig ["gnutls" "guile"] true;
3592   };
3594   gpgme = import ../development/libraries/gpgme {
3595     inherit fetchurl stdenv libgpgerror pkgconfig pth gnupg gnupg2 glib;
3596   };
3598   gsl = import ../development/libraries/gsl {
3599     inherit fetchurl stdenv;
3600   };
3602   gtkimageview = import ../development/libraries/gtkimageview {
3603     inherit fetchurl stdenv pkgconfig;
3604     inherit (gnome) gtk;
3605   };
3607   gtkLibs = recurseIntoAttrs gtkLibs218;
3609   glib = gtkLibs.glib;
3611   gtkLibs1x = rec {
3613     glib = import ../development/libraries/glib/1.2.x.nix {
3614       inherit fetchurl stdenv;
3615     };
3617     gtk = import ../development/libraries/gtk+/1.2.x.nix {
3618       inherit fetchurl stdenv x11 glib;
3619     };
3621   };
3623   gtkLibs216 = rec {
3625     glib = import ../development/libraries/glib/2.20.x.nix {
3626       inherit fetchurl stdenv pkgconfig gettext perl;
3627     };
3629     glibmm = import ../development/libraries/glibmm/2.18.x.nix {
3630       inherit fetchurl stdenv pkgconfig glib libsigcxx;
3631     };
3633     atk = import ../development/libraries/atk/1.24.x.nix {
3634       inherit fetchurl stdenv pkgconfig perl glib;
3635     };
3637     pango = import ../development/libraries/pango/1.24.x.nix {
3638       inherit fetchurl stdenv pkgconfig gettext x11 glib cairo libpng;
3639     };
3641     pangomm = import ../development/libraries/pangomm/2.14.x.nix {
3642       inherit fetchurl stdenv pkgconfig pango glibmm cairomm libpng;
3643     };
3645     gtk = import ../development/libraries/gtk+/2.16.x.nix {
3646       inherit fetchurl stdenv pkgconfig perl jasper x11 glib atk pango
3647         libtiff libjpeg libpng cairo xlibs;
3648     };
3650     gtkmm = import ../development/libraries/gtkmm/2.14.x.nix {
3651       inherit fetchurl stdenv pkgconfig gtk atk glibmm cairomm pangomm;
3652     };
3654   };
3656   gtkLibs218 = rec {
3658     glib = import ../development/libraries/glib/2.22.x.nix {
3659       inherit fetchurl stdenv pkgconfig gettext perl;
3660     };
3662     glibmm = import ../development/libraries/glibmm/2.22.x.nix {
3663       inherit fetchurl stdenv pkgconfig glib libsigcxx;
3664     };
3666     atk = import ../development/libraries/atk/1.28.x.nix {
3667       inherit fetchurl stdenv pkgconfig perl glib;
3668     };
3670     pango = import ../development/libraries/pango/1.26.x.nix {
3671       inherit fetchurl stdenv pkgconfig gettext x11 glib cairo libpng;
3672     };
3674     pangomm = import ../development/libraries/pangomm/2.26.x.nix {
3675       inherit fetchurl stdenv pkgconfig pango glibmm cairomm libpng;
3676     };
3678     gtk = import ../development/libraries/gtk+/2.18.x.nix {
3679       inherit fetchurl stdenv pkgconfig perl jasper glib atk pango
3680         libtiff libjpeg libpng cairo xlibs cups;
3681     };
3683     gtkmm = import ../development/libraries/gtkmm/2.18.x.nix {
3684       inherit fetchurl stdenv pkgconfig gtk atk glibmm cairomm pangomm;
3685     };
3687   };
3689   gtkmozembedsharp = import ../development/libraries/gtkmozembed-sharp {
3690     inherit fetchurl stdenv mono pkgconfig monoDLLFixer;
3691     inherit (gnome) gtk;
3692     gtksharp = gtksharp2;
3693   };
3695   gtksharp1 = import ../development/libraries/gtk-sharp-1 {
3696     inherit fetchurl stdenv mono pkgconfig libxml2 monoDLLFixer;
3697     inherit (gnome) gtk glib pango libglade libgtkhtml gtkhtml
3698               libgnomecanvas libgnomeui libgnomeprint
3699               libgnomeprintui GConf;
3700   };
3702   gtksharp2 = import ../development/libraries/gtk-sharp-2 {
3703     inherit fetchurl stdenv mono pkgconfig libxml2 monoDLLFixer;
3704     inherit (gnome) gtk glib pango libglade libgtkhtml gtkhtml
3705               libgnomecanvas libgnomeui libgnomeprint
3706               libgnomeprintui GConf gnomepanel;
3707   };
3709   gtksourceviewsharp = import ../development/libraries/gtksourceview-sharp {
3710     inherit fetchurl stdenv mono pkgconfig monoDLLFixer;
3711     inherit (gnome) gtksourceview;
3712     gtksharp = gtksharp2;
3713   };
3715   gtkspell = import ../development/libraries/gtkspell {
3716     inherit fetchurl stdenv pkgconfig;
3717     inherit (gtkLibs) gtk;
3718     inherit aspell;
3719   };
3721   # TODO : Add MIT Kerberos and let admin choose.
3722   kerberos = heimdal;
3724   heimdal = import ../development/libraries/kerberos/heimdal.nix {
3725     inherit fetchurl stdenv readline db4 openssl openldap cyrus_sasl;
3726   };
3728   hsqldb = import ../development/libraries/java/hsqldb {
3729     inherit stdenv fetchurl unzip;
3730   };
3732   hwloc = import ../development/libraries/hwloc {
3733     inherit fetchurl stdenv pkgconfig cairo expat;
3734   };
3736   icu = import ../development/libraries/icu {
3737     inherit fetchurl stdenv;
3738   };
3740   id3lib = import ../development/libraries/id3lib {
3741     inherit fetchurl stdenv;
3742   };
3744   ilbc = import ../development/libraries/ilbc {
3745     inherit stdenv msilbc;
3746   };
3748   ilmbase = import ../development/libraries/ilmbase {
3749     inherit fetchurl stdenv;
3750   };
3752   imlib = import ../development/libraries/imlib {
3753     inherit fetchurl stdenv libjpeg libtiff libungif libpng;
3754     inherit (xlibs) libX11 libXext xextproto;
3755   };
3757   imlib2 = import ../development/libraries/imlib2 {
3758     inherit fetchurl stdenv x11 libjpeg libtiff libungif libpng bzip2;
3759   };
3761   indilib = import ../development/libraries/indilib {
3762     inherit fetchurl stdenv cfitsio libusb zlib;
3763   };
3765   iniparser = import ../development/libraries/iniparser {
3766     inherit fetchurl stdenv;
3767   };
3769   intltool = gnome.intltool;
3771   isocodes = import ../development/libraries/iso-codes {
3772     inherit stdenv fetchurl gettext python;
3773   };
3775   jamp = builderDefsPackage ../games/jamp {
3776     inherit mesa SDL SDL_image SDL_mixer;
3777   };
3779   jasper = import ../development/libraries/jasper {
3780     inherit fetchurl stdenv unzip xlibs libjpeg;
3781   };
3783   jetty_gwt = import ../development/libraries/java/jetty-gwt {
3784     inherit stdenv fetchurl;
3785   };
3787   jetty_util = import ../development/libraries/java/jetty-util {
3788     inherit stdenv fetchurl;
3789   };
3791   krb5 = import ../development/libraries/kerberos/krb5.nix {
3792     inherit stdenv fetchurl perl ncurses yacc;
3793   };
3795   lablgtk = import ../development/libraries/lablgtk {
3796     inherit fetchurl stdenv ocaml pkgconfig;
3797     inherit (gtkLibs) gtk;
3798     inherit (gnome) libgnomecanvas;
3799   };
3801   lcms = import ../development/libraries/lcms {
3802     inherit fetchurl stdenv;
3803   };
3805   lesstif = import ../development/libraries/lesstif {
3806     inherit fetchurl stdenv x11;
3807     inherit (xlibs) libXp libXau;
3808   };
3810   lesstif93 = import ../development/libraries/lesstif-0.93 {
3811     inherit fetchurl stdenv x11;
3812     inherit (xlibs) libXp libXau;
3813   };
3815   lib3ds = import ../development/libraries/lib3ds {
3816     inherit fetchurl stdenv unzip;
3817   };
3819   libaal = import ../development/libraries/libaal {
3820     inherit fetchurl stdenv;
3821   };
3823   libao = import ../development/libraries/libao {
3824     inherit stdenv fetchurl pkgconfig pulseaudio;
3825   };
3827   libarchive = import ../development/libraries/libarchive {
3828     inherit fetchurl stdenv zlib bzip2 e2fsprogs sharutils;
3829   };
3831   libassuan = import ../development/libraries/libassuan {
3832     inherit fetchurl stdenv pth;
3833   };
3835   libavc1394 = import ../development/libraries/libavc1394 {
3836     inherit fetchurl stdenv pkgconfig libraw1394;
3837   };
3839   libcaca = import ../development/libraries/libcaca {
3840     inherit fetchurl stdenv ncurses;
3841   };
3843   libcanberra = import ../development/libraries/libcanberra {
3844     inherit fetchurl stdenv pkgconfig libtool alsaLib pulseaudio libvorbis;
3845     inherit (gtkLibs) gtk gthread;
3846     gstreamer = gst_all.gstreamer;
3847   };
3849   libcdaudio = import ../development/libraries/libcdaudio {
3850     inherit fetchurl stdenv;
3851   };
3853   libcddb = import ../development/libraries/libcddb {
3854     inherit fetchurl stdenv;
3855   };
3857   libcdio = import ../development/libraries/libcdio {
3858     inherit fetchurl stdenv libcddb pkgconfig ncurses help2man;
3859   };
3861   libcm = import ../development/libraries/libcm {
3862     inherit fetchurl stdenv pkgconfig xlibs mesa glib;
3863   };
3865   libcv = builderDefsPackage (import ../development/libraries/libcv) {
3866     inherit libtiff libjpeg libpng pkgconfig;
3867     inherit (gtkLibs) gtk glib;
3868   };
3870   libdaemon = import ../development/libraries/libdaemon {
3871     inherit fetchurl stdenv;
3872   };
3874   libdbi = composedArgsAndFun (import ../development/libraries/libdbi/0.8.2.nix) {
3875     inherit stdenv fetchurl builderDefs;
3876   };
3878   libdbiDriversBase = composedArgsAndFun (import ../development/libraries/libdbi-drivers/0.8.2-1.nix) {
3879     inherit stdenv fetchurl builderDefs libdbi;
3880   };
3882   libdbiDrivers = libdbiDriversBase.passthru.function {
3883     inherit sqlite mysql;
3884   };
3886   libdv = import ../development/libraries/libdv {
3887     inherit fetchurl stdenv lib composableDerivation;
3888   };
3890   libdrm = import ../development/libraries/libdrm {
3891     inherit fetchurl stdenv pkgconfig;
3892     inherit (xorg) libpthreadstubs;
3893   };
3895   libdvdcss = import ../development/libraries/libdvdcss {
3896     inherit fetchurl stdenv;
3897   };
3899   libdvdnav = import ../development/libraries/libdvdnav {
3900     inherit fetchurl stdenv libdvdread;
3901   };
3903   libdvdread = import ../development/libraries/libdvdread {
3904     inherit fetchurl stdenv libdvdcss;
3905   };
3907   libedit = import ../development/libraries/libedit {
3908     inherit fetchurl stdenv ncurses;
3909   };
3911   liblo = import ../development/libraries/liblo {
3912     inherit fetchurl stdenv;
3913   };
3915   libev = builderDefsPackage ../development/libraries/libev {
3916   };
3918   libevent = import ../development/libraries/libevent {
3919     inherit fetchurl stdenv;
3920   };
3922   libewf = import ../development/libraries/libewf {
3923     inherit fetchurl stdenv zlib openssl libuuid;
3924   };
3926   libexif = import ../development/libraries/libexif {
3927     inherit fetchurl stdenv gettext;
3928   };
3930   libextractor = import ../development/libraries/libextractor {
3931     inherit fetchurl stdenv libtool gettext zlib bzip2 flac libvorbis
3932      exiv2 ffmpeg libgsf glib rpm pkgconfig;
3933     inherit (gnome) gtk;
3934     libmpeg2 = mpeg2dec;
3935   };
3937   libffcall = builderDefsPackage (import ../development/libraries/libffcall) {
3938     inherit fetchcvs;
3939   };
3941   libffi = import ../development/libraries/libffi {
3942     inherit fetchurl stdenv;
3943   };
3945   libftdi = import ../development/libraries/libftdi {
3946     inherit fetchurl stdenv libusb;
3947   };
3949   libgcrypt = import ../development/libraries/libgcrypt {
3950     inherit fetchurl stdenv libgpgerror;
3951   };
3953   libgpgerror = import ../development/libraries/libgpg-error {
3954     inherit fetchurl stdenv;
3955   };
3957   libgphoto2 = import ../development/libraries/libgphoto2 {
3958     inherit fetchurl stdenv pkgconfig libusb libtool libexif libjpeg gettext;
3959   };
3961   libgpod = import ../development/libraries/libgpod {
3962     inherit fetchurl stdenv gettext perl perlXMLParser pkgconfig libxml2 glib;
3963   };
3965   libharu = import ../development/libraries/libharu {
3966     inherit fetchurl stdenv lib zlib libpng;
3967   };
3969   libical = import ../development/libraries/libical {
3970     inherit stdenv fetchurl perl;
3971   };
3973   libnice = import ../development/libraries/libnice {
3974     inherit stdenv fetchurl pkgconfig;
3975     inherit (gnome) glib;
3976   };
3978   libQGLViewer = import ../development/libraries/libqglviewer {
3979     inherit fetchurl stdenv;
3980     inherit qt4;
3981   };
3983   libsamplerate = import ../development/libraries/libsamplerate {
3984     inherit fetchurl stdenv pkgconfig lib;
3985   };
3987   libspectre = import ../development/libraries/libspectre {
3988     inherit fetchurl stdenv;
3989     ghostscript = ghostscriptX;
3990   };
3992   libgsf = import ../development/libraries/libgsf {
3993     inherit fetchurl stdenv perl perlXMLParser pkgconfig libxml2
3994       intltool gettext bzip2 python;
3995     inherit (gnome) glib gnomevfs libbonobo;
3996   };
3998   libiconv = import ../development/libraries/libiconv {
3999     inherit fetchurl stdenv;
4000   };
4002   libid3tag = import ../development/libraries/libid3tag {
4003     inherit fetchurl stdenv zlib;
4004   };
4006   libidn = import ../development/libraries/libidn {
4007     inherit fetchurl stdenv;
4008   };
4010   libiec61883 = import ../development/libraries/libiec61883 {
4011     inherit fetchurl stdenv pkgconfig libraw1394;
4012   };
4014   libjingle = import ../development/libraries/libjingle/0.3.11.nix {
4015     inherit fetchurl stdenv mediastreamer;
4016   };
4018   libjpeg = makeOverridable (import ../development/libraries/libjpeg) {
4019     inherit fetchurl stdenv;
4020     libtool = libtool_1_5;
4021   };
4023   libjpeg62 = makeOverridable (import ../development/libraries/libjpeg/62.nix) {
4024     inherit fetchurl stdenv;
4025     libtool = libtool_1_5;
4026   };
4028   libjpegStatic = lowPrio (appendToName "static" (libjpeg.override {
4029     static = true;
4030   }));
4032   libksba = import ../development/libraries/libksba {
4033     inherit fetchurl stdenv libgpgerror;
4034   };
4036   libmad = import ../development/libraries/libmad {
4037     inherit fetchurl stdenv;
4038   };
4040   libmatthew_java = import ../development/libraries/java/libmatthew-java {
4041     inherit stdenv fetchurl jdk;
4042   };
4044   libmcs = import ../development/libraries/libmcs {
4045     inherit fetchurl stdenv pkgconfig libmowgli;
4046   };
4048   libmicrohttpd = import ../development/libraries/libmicrohttpd {
4049     inherit fetchurl stdenv curl;
4050   };
4052   libmowgli = import ../development/libraries/libmowgli {
4053     inherit fetchurl stdenv;
4054   };
4056   libmng = import ../development/libraries/libmng {
4057     inherit fetchurl stdenv lib zlib libpng libjpeg lcms automake autoconf libtool;
4058   };
4060   libmpcdec = import ../development/libraries/libmpcdec {
4061     inherit fetchurl stdenv;
4062   };
4064   libmsn = import ../development/libraries/libmsn {
4065     inherit stdenv fetchurl cmake openssl;
4066   };
4068   libmspack = import ../development/libraries/libmspack {
4069     inherit fetchurl stdenv;
4070   };
4072   libmusclecard = import ../development/libraries/libmusclecard {
4073     inherit fetchurl stdenv pkgconfig pcsclite;
4074   };
4076   libnova = import ../development/libraries/libnova {
4077     inherit fetchurl stdenv;
4078   };
4080   libogg = import ../development/libraries/libogg {
4081     inherit fetchurl stdenv;
4082   };
4084   liboil = makeOverridable (import ../development/libraries/liboil) {
4085     inherit fetchurl stdenv pkgconfig glib;
4086   };
4088   liboop = import ../development/libraries/liboop {
4089     inherit fetchurl stdenv;
4090   };
4092   libotr = import ../development/libraries/libotr {
4093     inherit fetchurl stdenv libgcrypt;
4094   };
4096   libp11 = import ../development/libraries/libp11 {
4097     inherit fetchurl stdenv libtool openssl pkgconfig;
4098   };
4100   libpcap = import ../development/libraries/libpcap {
4101     inherit fetchurl stdenv flex bison;
4102   };
4104   libpng = import ../development/libraries/libpng {
4105     inherit fetchurl stdenv zlib;
4106   };
4108   libproxy = import ../development/libraries/libproxy {
4109     inherit stdenv fetchurl;
4110   };
4112   libpseudo = import ../development/libraries/libpseudo {
4113     inherit fetchurl stdenv pkgconfig ncurses glib;
4114   };
4116   libsigcxx = import ../development/libraries/libsigcxx {
4117     inherit fetchurl stdenv pkgconfig;
4118   };
4120   libsigsegv = import ../development/libraries/libsigsegv {
4121     inherit fetchurl stdenv;
4122   };
4124   # To bootstrap SBCL, I need CLisp 2.44.1; it needs libsigsegv 2.5
4125   libsigsegv_25 =  import ../development/libraries/libsigsegv/2.5.nix {
4126     inherit fetchurl stdenv;
4127   };
4129   libsndfile = import ../development/libraries/libsndfile {
4130     inherit fetchurl stdenv;
4131   };
4133   libtasn1 = import ../development/libraries/libtasn1 {
4134     inherit fetchurl stdenv;
4135   };
4137   libtheora = import ../development/libraries/libtheora {
4138     inherit fetchurl stdenv libogg libvorbis;
4139   };
4141   libtiff = import ../development/libraries/libtiff {
4142     inherit fetchurl stdenv zlib libjpeg;
4143   };
4145   libtommath = import ../development/libraries/libtommath {
4146     inherit fetchurl stdenv libtool;
4147   };
4149   libunistring = import ../development/libraries/libunistring {
4150     inherit fetchurl stdenv libiconv;
4151   };
4153   libupnp = import ../development/libraries/pupnp {
4154     inherit fetchurl stdenv;
4155   };
4157   giflib = import ../development/libraries/giflib {
4158     inherit fetchurl stdenv;
4159   };
4161   libungif = import ../development/libraries/giflib/libungif.nix {
4162     inherit fetchurl stdenv;
4163   };
4165   libusb = import ../development/libraries/libusb {
4166     inherit fetchurl stdenv;
4167   };
4169   libunwind = import ../development/libraries/libunwind {
4170     inherit fetchurl stdenv;
4171   };
4173   libvncserver = builderDefsPackage (import ../development/libraries/libvncserver) {
4174     inherit libtool libjpeg openssl zlib;
4175     inherit (xlibs) xproto libX11 damageproto libXdamage
4176       libXext xextproto fixesproto libXfixes xineramaproto
4177       libXinerama libXrandr randrproto libXtst;
4178   };
4180   libviper = import ../development/libraries/libviper {
4181     inherit fetchurl stdenv pkgconfig ncurses gpm glib;
4182   };
4184   libvterm = import ../development/libraries/libvterm {
4185     inherit fetchurl stdenv pkgconfig ncurses glib;
4186   };
4188   libvorbis = import ../development/libraries/libvorbis {
4189     inherit fetchurl stdenv libogg;
4190   };
4192   libwmf = import ../development/libraries/libwmf {
4193     inherit fetchurl stdenv pkgconfig imagemagick
4194       zlib libpng freetype libjpeg libxml2 glib;
4195   };
4197   libwpd = import ../development/libraries/libwpd {
4198     inherit fetchurl stdenv pkgconfig libgsf libxml2 bzip2;
4199     inherit (gnome) glib;
4200   };
4202   libx86 = builderDefsPackage ../development/libraries/libx86 {};
4204   libxcrypt = import ../development/libraries/libxcrypt {
4205     inherit fetchurl stdenv;
4206   };
4208   libxklavier = import ../development/libraries/libxklavier {
4209     inherit fetchurl stdenv xkeyboard_config pkgconfig libxml2 isocodes glib;
4210     inherit (xorg) libX11 libICE libXi libxkbfile;
4211   };
4213   libxmi = import ../development/libraries/libxmi {
4214     inherit fetchurl stdenv libtool;
4215   };
4217   libxml2 = makeOverridable (import ../development/libraries/libxml2) {
4218     inherit fetchurl stdenv zlib python;
4219     pythonSupport = false;
4220   };
4222   libxml2Python = libxml2.override {
4223     pythonSupport = true;
4224   };
4226   libxslt = makeOverridable (import ../development/libraries/libxslt) {
4227     inherit fetchurl stdenv libxml2;
4228   };
4230   libixp_for_wmii = lowPrio (import ../development/libraries/libixp_for_wmii {
4231     inherit fetchurl stdenv;
4232   });
4234   libyaml = import ../development/libraries/libyaml {
4235     inherit fetchurl stdenv;
4236   };
4238   libzip = import ../development/libraries/libzip {
4239     inherit fetchurl stdenv zlib;
4240   };
4242   libzrtpcpp = import ../development/libraries/libzrtpcpp {
4243     inherit fetchurl stdenv lib commoncpp2 openssl pkgconfig ccrtp;
4244   };
4246   lightning = import ../development/libraries/lightning {
4247     inherit fetchurl stdenv;
4248   };
4250   liquidwar = builderDefsPackage ../games/liquidwar {
4251     inherit (xlibs) xproto libX11 libXrender;
4252     inherit gmp guile mesa libjpeg libpng 
4253       expat gettext perl
4254       SDL SDL_image SDL_mixer SDL_ttf
4255       curl sqlite
4256       libogg libvorbis
4257       ;
4258   };
4260   log4cxx = import ../development/libraries/log4cxx {
4261     inherit fetchurl stdenv automake autoconf libtool cppunit libxml2 boost;
4262     inherit apr aprutil db45 expat;
4263   };
4265   loudmouth = import ../development/libraries/loudmouth {
4266     inherit fetchurl stdenv libidn openssl pkgconfig zlib glib;
4267   };
4269   lzo = import ../development/libraries/lzo {
4270     inherit fetchurl stdenv;
4271   };
4273   # failed to build
4274   mediastreamer = composedArgsAndFun (import ../development/libraries/mediastreamer/2.2.0-cvs20080207.nix) {
4275     inherit fetchurl stdenv automake libtool autoconf alsaLib pkgconfig speex
4276       ortp ffmpeg;
4277   };
4279   mesaSupported =
4280     system == "i686-linux" ||
4281     system == "x86_64-linux" ||
4282     system == "x86_64-darwin" ||
4283     system == "i686-darwin";
4285   mesa = import ../development/libraries/mesa {
4286     inherit fetchurl stdenv pkgconfig expat x11 xlibs libdrm;
4287   };
4289   ming = import ../development/libraries/ming {
4290     inherit fetchurl stdenv flex bison freetype zlib libpng perl;
4291   };
4293   mpeg2dec = import ../development/libraries/mpeg2dec {
4294     inherit fetchurl stdenv;
4295   };
4297   msilbc = import ../development/libraries/msilbc {
4298     inherit fetchurl stdenv ilbc mediastreamer pkgconfig;
4299   };
4301   mpich2 = import ../development/libraries/mpich2 {
4302     inherit fetchurl stdenv python;
4303   };
4305   muparser = import ../development/libraries/muparser {
4306     inherit fetchurl stdenv;
4307   };
4309   ncurses = composedArgsAndFun (import ../development/libraries/ncurses) {
4310     inherit fetchurl stdenv;
4311     unicode = (system != "i686-cygwin");
4312   };
4314   neon = neon026;
4316   neon026 = import ../development/libraries/neon/0.26.nix {
4317     inherit fetchurl stdenv libxml2 zlib openssl;
4318     compressionSupport = true;
4319     sslSupport = true;
4320   };
4322   neon028 = import ../development/libraries/neon/0.28.nix {
4323     inherit fetchurl stdenv libxml2 zlib openssl;
4324     compressionSupport = true;
4325     sslSupport = true;
4326   };
4328   nethack = builderDefsPackage (import ../games/nethack) {
4329     inherit ncurses flex bison;
4330   };
4332   nettle = import ../development/libraries/nettle {
4333     inherit fetchurl stdenv gmp gnum4;
4334   };
4336   nspr = import ../development/libraries/nspr {
4337     inherit fetchurl stdenv;
4338   };
4340   nss = import ../development/libraries/nss {
4341     inherit fetchurl stdenv nspr perl zlib;
4342   };
4344   ode = builderDefsPackage (import ../development/libraries/ode) {
4345   };
4347   openal = import ../development/libraries/openal {
4348     inherit fetchurl cmake alsaLib;
4349     stdenv = overrideGCC stdenv gcc43_wrapper2;
4350   };
4352   # added because I hope that it has been easier to compile on x86 (for blender)
4353   openalSoft = import ../development/libraries/openalSoft {
4354     inherit fetchurl stdenv alsaLib libtool cmake;
4355   };
4357   openbabel = import ../development/libraries/openbabel {
4358     inherit fetchurl stdenv zlib libxml2;
4359   };
4361   opencascade = import ../development/libraries/opencascade {
4362     inherit fetchurl stdenv mesa qt4 tcl tk;
4363   };
4365   openct = import ../development/libraries/openct {
4366     inherit fetchurl stdenv libtool pcsclite libusb pkgconfig;
4367   };
4369   # this ctl version is needed by openexr_viewers
4370   openexr_ctl = import ../development/libraries/openexr_ctl {
4371     inherit fetchurl stdenv ilmbase ctl;
4372     openexr = openexr_1_6_1;
4373   };
4375   openexr_1_6_1 = import ../development/libraries/openexr {
4376     inherit fetchurl stdenv ilmbase zlib pkgconfig lib;
4377     version = "1.6.1";
4378     # optional features:
4379     inherit ctl;
4380   };
4382   # This older version is needed by blender (it complains about missing half.h )
4383   openexr_1_4_0 = import ../development/libraries/openexr {
4384     inherit fetchurl stdenv ilmbase zlib pkgconfig lib;
4385     version = "1.4.0";
4386   };
4388   openldap = import ../development/libraries/openldap {
4389     inherit fetchurl stdenv openssl cyrus_sasl db4 groff;
4390   };
4392   openlierox = builderDefsPackage ../games/openlierox {
4393     inherit (xlibs) libX11 xproto;
4394     inherit gd SDL SDL_image SDL_mixer zlib libxml2
4395       pkgconfig;
4396   };
4398   libopensc_dnie = import ../development/libraries/libopensc-dnie {
4399     inherit fetchurl stdenv patchelf writeScript openssl openct
4400       libtool pcsclite zlib;
4401     inherit (gtkLibs) glib;
4402     opensc = opensc_0_11_7;
4403   };
4405   openssl = import ../development/libraries/openssl {
4406     fetchurl = fetchurlBoot;
4407     inherit stdenv perl;
4408   };
4410   ortp = import ../development/libraries/ortp {
4411     inherit fetchurl stdenv;
4412   };
4414   pangoxsl = import ../development/libraries/pangoxsl {
4415     inherit fetchurl stdenv pkgconfig;
4416     inherit (gtkLibs) glib pango;
4417   };
4419   pcre = makeOverridable (import ../development/libraries/pcre) {
4420     inherit fetchurl stdenv;
4421     unicodeSupport = getConfig ["pcre" "unicode"] false;
4422     cplusplusSupport = !stdenv ? isDietLibC;
4423   };
4425   physfs = import ../development/libraries/physfs {
4426     inherit fetchurl stdenv cmake;
4427   };
4429   plib = import ../development/libraries/plib {
4430     inherit fetchurl stdenv mesa freeglut SDL;
4431     inherit (xlibs) libXi libSM libXmu libXext libX11;
4432   };
4434   podofo = import ../development/libraries/podofo {
4435     inherit fetchurl stdenv cmake zlib freetype libjpeg libtiff
4436       fontconfig openssl;
4437   };
4439   polkit = import ../development/libraries/polkit {
4440     inherit stdenv fetchurl pkgconfig eggdbus expat pam intltool gettext glib;
4441   };
4443   policykit = makeOverridable (import ../development/libraries/policykit) {
4444     inherit stdenv fetchurl pkgconfig dbus dbus_glib expat pam
4445       intltool gettext libxslt docbook_xsl glib;
4446   };
4448   poppler = makeOverridable (import ../development/libraries/poppler) {
4449     inherit fetchurl stdenv cairo freetype fontconfig zlib libjpeg pkgconfig;
4450     inherit (gtkLibs) glib gtk;
4451     qt4Support = false;
4452   };
4454   popplerQt44 = poppler.override {
4455     qt4Support = true;
4456     qt4 = qt44;
4457   };
4459   popplerQt45 = poppler.override {
4460     qt4Support = true;
4461     qt4 = qt45;
4462   };
4464   popt = import ../development/libraries/popt {
4465     inherit fetchurl stdenv;
4466   };
4468   proj = import ../development/libraries/proj.4 {
4469     inherit fetchurl stdenv;
4470   };
4472   pth = import ../development/libraries/pth {
4473     inherit fetchurl stdenv;
4474   };
4476   qt3 = makeOverridable (import ../development/libraries/qt-3) {
4477     inherit fetchurl stdenv x11 zlib libjpeg libpng which mysql mesa;
4478     inherit (xlibs) xextproto libXft libXrender libXrandr randrproto
4479       libXmu libXinerama libXcursor;
4480     openglSupport = mesaSupported;
4481     mysqlSupport = getConfig ["qt" "mysql"] false;
4482   };
4484   qt3mysql = qt3.override {
4485     mysqlSupport = true;
4486   };
4488   qt4 = qt44;
4490   qt44 = import ../development/libraries/qt-4.4 {
4491     inherit fetchurl stdenv fetchsvn zlib libjpeg libpng which mysql mesa openssl cups dbus
4492       fontconfig freetype pkgconfig libtiff;
4493     inherit (xlibs) xextproto libXft libXrender libXrandr randrproto
4494       libXmu libXinerama xineramaproto libXcursor libICE libSM libX11 libXext
4495       inputproto fixesproto libXfixes;
4496     inherit (gnome) glib;
4497   };
4499   qt45 = import ../development/libraries/qt-4.5 {
4500     inherit fetchurl stdenv lib zlib libjpeg libpng which mysql mesa openssl cups dbus
4501       fontconfig freetype pkgconfig libtiff;
4502     inherit (xlibs) xextproto libXft libXrender libXrandr randrproto
4503       libXmu libXinerama xineramaproto libXcursor libXext
4504       inputproto fixesproto libXfixes;
4505     inherit (gnome) glib;
4506   };
4508   qt46 = import ../development/libraries/qt-4.6 {
4509     inherit fetchurl stdenv lib zlib libjpeg libpng which mysql mesa openssl cups dbus
4510       fontconfig freetype pkgconfig libtiff;
4511     inherit (xlibs) xextproto libXft libXrender libXrandr randrproto
4512       libXmu libXinerama xineramaproto libXcursor libXext
4513       inputproto fixesproto libXfixes;
4514     inherit (gnome) glib;
4515   };
4517   qtscriptgenerator = makeOverridable (import ../development/libraries/qtscriptgenerator) {
4518     inherit stdenv fetchurl;
4519     qt4 = qt45;
4520   };
4522   readline = readline6;
4524   readline4 = import ../development/libraries/readline/readline4.nix {
4525     inherit fetchurl stdenv ncurses;
4526   };
4528   readline5 = import ../development/libraries/readline/readline5.nix {
4529     inherit fetchurl stdenv ncurses;
4530   };
4532   readline6 = import ../development/libraries/readline/readline6.nix {
4533     inherit fetchurl stdenv ncurses;
4534   };
4536   librdf_raptor = import ../development/libraries/librdf/raptor.nix {
4537     inherit fetchurl stdenv lib libxml2 curl;
4538   };
4539   librdf_rasqal = import ../development/libraries/librdf/rasqal.nix {
4540     inherit fetchurl stdenv lib pcre libxml2 gmp librdf_raptor;
4541   };
4542   librdf = import ../development/libraries/librdf {
4543     inherit fetchurl stdenv lib pkgconfig librdf_raptor ladspaH openssl zlib;
4544   };
4546   # Also known as librdf, includes raptor and rasqal
4547   redland = composedArgsAndFun (import ../development/libraries/redland/1.0.9.nix) {
4548     inherit fetchurl stdenv openssl libxml2 pkgconfig perl postgresql sqlite
4549       mysql libxslt curl pcre librdf_rasqal librdf_raptor;
4550     bdb = db4;
4551   };
4553   redland_1_0_8 = composedArgsAndFun (import ../development/libraries/redland/1.0.8.nix) {
4554     inherit fetchurl stdenv openssl libxml2 pkgconfig perl postgresql sqlite
4555       mysql libxslt curl pcre librdf_rasqal librdf_raptor;
4556     bdb = db4;
4557   };
4559   rhino = import ../development/libraries/java/rhino {
4560     inherit fetchurl stdenv unzip;
4561     ant = apacheAntGcj;
4562     javac = gcj;
4563     jvm = gcj;
4564   };
4566   rte = import ../development/libraries/rte {
4567     inherit fetchurl stdenv;
4568   };
4570   rubberband = import ../development/libraries/rubberband {
4571     inherit fetchurl stdenv lib pkgconfig libsamplerate libsndfile ladspaH;
4572     fftw = fftwSinglePrec;
4573     inherit (vamp) vampSDK;
4574   };
4576   schroedinger = import ../development/libraries/schroedinger {
4577     inherit fetchurl stdenv liboil pkgconfig;
4578   };
4580   SDL = makeOverridable (import ../development/libraries/SDL) {
4581     inherit fetchurl stdenv pkgconfig x11 mesa alsaLib pulseaudio;
4582     inherit (xlibs) libXrandr;
4583     openglSupport = mesaSupported;
4584     alsaSupport = true;
4585     pulseaudioSupport = false; # better go through ALSA
4586   };
4588   SDL_image = import ../development/libraries/SDL_image {
4589     inherit fetchurl stdenv SDL libjpeg libungif libtiff libpng;
4590     inherit (xlibs) libXpm;
4591   };
4593   SDL_mixer = import ../development/libraries/SDL_mixer {
4594     inherit fetchurl stdenv SDL libogg libvorbis;
4595   };
4597   SDL_net = import ../development/libraries/SDL_net {
4598     inherit fetchurl stdenv SDL;
4599   };
4601   SDL_ttf = import ../development/libraries/SDL_ttf {
4602     inherit fetchurl stdenv SDL freetype;
4603   };
4605   slang = import ../development/libraries/slang {
4606     inherit fetchurl stdenv ncurses pcre libpng zlib readline;
4607   };
4609   slibGuile = import ../development/libraries/slib {
4610     inherit fetchurl stdenv unzip texinfo;
4611     scheme = guile;
4612   };
4614   snack = import ../development/libraries/snack {
4615     inherit fetchurl stdenv tcl tk pkgconfig x11;
4616         # optional
4617     inherit alsaLib vorbisTools python;
4618   };
4620   speex = import ../development/libraries/speex {
4621     inherit fetchurl stdenv libogg;
4622   };
4624   sqlite = import ../development/libraries/sqlite {
4625     inherit fetchurl stdenv readline tcl;
4626   };
4628   stlport =  import ../development/libraries/stlport {
4629     inherit fetchurl stdenv;
4630   };
4632   t1lib = import ../development/libraries/t1lib {
4633     inherit fetchurl stdenv x11;
4634     inherit (xlibs) libXaw libXpm;
4635   };
4637   taglib = import ../development/libraries/taglib {
4638     inherit fetchurl stdenv zlib;
4639   };
4641   taglib_extras = import ../development/libraries/taglib-extras {
4642     inherit stdenv fetchurl cmake taglib;
4643   };
4645   tapioca_qt = import ../development/libraries/tapioca-qt {
4646     inherit stdenv fetchurl cmake qt4 telepathy_qt;
4647   };
4649   tecla = import ../development/libraries/tecla {
4650     inherit fetchurl stdenv;
4651   };
4653   telepathy_gabble = import ../development/libraries/telepathy-gabble {
4654     inherit fetchurl stdenv pkgconfig libxslt telepathy_glib loudmouth;
4655   };
4657   telepathy_glib = import ../development/libraries/telepathy-glib {
4658     inherit fetchurl stdenv dbus_glib pkgconfig libxslt python glib;
4659   };
4661   telepathy_qt = import ../development/libraries/telepathy-qt {
4662     inherit stdenv fetchurl cmake qt4;
4663   };
4665   tk = import ../development/libraries/tk/8.5.7.nix {
4666     inherit fetchurl stdenv tcl x11;
4667   };
4669   unixODBC = import ../development/libraries/unixODBC {
4670     inherit fetchurl stdenv;
4671   };
4673   unixODBCDrivers = recurseIntoAttrs (import ../development/libraries/unixODBCDrivers {
4674     inherit fetchurl stdenv unixODBC glibc libtool openssl zlib;
4675     inherit postgresql mysql sqlite;
4676   });
4678   vamp = import ../development/libraries/audio/vamp {
4679     inherit fetchurl stdenv lib pkgconfig libsndfile;
4680   };
4682   vtk = import ../development/libraries/vtk {
4683     inherit stdenv fetchurl cmake mesa;
4684     inherit (xlibs) libX11 xproto libXt;
4685   };
4687   vxl = import ../development/libraries/vxl {
4688    inherit fetchurl stdenv cmake unzip libtiff expat zlib libpng libjpeg;
4689   };
4691   webkit = builderDefsPackage (import ../development/libraries/webkit) {
4692     inherit (gnome28) gtkdoc libsoup;
4693     inherit (gtkLibs) gtk atk pango glib;
4694     inherit freetype fontconfig gettext gperf curl
4695       libjpeg libtiff libpng libxml2 libxslt sqlite
4696       icu cairo perl intltool automake libtool
4697       pkgconfig autoconf bison libproxy enchant;
4698     inherit (gst_all) gstreamer gstPluginsBase gstFfmpeg
4699       gstPluginsGood;
4700     flex = flex2535;
4701     inherit (xlibs) libXt;
4702   };
4704   wxGTK = wxGTK28;
4706   wxGTK26 = import ../development/libraries/wxGTK-2.6 {
4707     inherit fetchurl stdenv pkgconfig;
4708     inherit (gtkLibs216) gtk;
4709     inherit (xlibs) libXinerama libSM libXxf86vm xf86vidmodeproto;
4710   };
4712   wxGTK28 = makeOverridable (import ../development/libraries/wxGTK-2.8) {
4713     inherit fetchurl stdenv pkgconfig mesa;
4714     inherit (gtkLibs216) gtk;
4715     inherit (xlibs) libXinerama libSM libXxf86vm xf86vidmodeproto;
4716   };
4718   wtk = import ../development/libraries/wtk {
4719       inherit fetchurl stdenv unzip xlibs;
4720     };
4722   x264 = import ../development/libraries/x264 {
4723     inherit fetchurl stdenv;
4724   };
4726   xapian = makeOverridable (import ../development/libraries/xapian) {
4727     inherit fetchurl stdenv zlib;
4728   };
4730   xapianBindings = (import ../development/libraries/xapian/bindings/1.0.14.nix) {
4731     inherit fetchurl stdenv xapian composableDerivation pkgconfig;
4732     inherit ruby perl php tcl python; # TODO perl php Java, tcl, C#, python
4733   };
4735   Xaw3d = import ../development/libraries/Xaw3d {
4736     inherit fetchurl stdenv x11 bison;
4737     flex = flex2533;
4738     inherit (xlibs) imake gccmakedep libXmu libXpm libXp;
4739   };
4741   xineLib = import ../development/libraries/xine-lib {
4742     inherit fetchurl stdenv zlib libdvdcss alsaLib pkgconfig mesa aalib
4743       libvorbis libtheora speex xlibs perl ffmpeg;
4744   };
4746   xautolock = import ../misc/screensavers/xautolock {
4747     inherit fetchurl stdenv x11;
4748     inherit (xorg) imake;
4749     inherit (xlibs) libXScrnSaver scrnsaverproto;
4750   };
4752   xercesJava = import ../development/libraries/java/xerces {
4753     inherit fetchurl stdenv;
4754     ant   = apacheAntGcj;  # for bootstrap purposes
4755     javac = gcj;
4756     jvm   = gcj;
4757   };
4759   xlibsWrapper = import ../development/libraries/xlibs-wrapper {
4760     inherit stdenv;
4761     packages = [
4762       freetype fontconfig xlibs.xproto xlibs.libX11 xlibs.libXt
4763       xlibs.libXft xlibs.libXext xlibs.libSM xlibs.libICE
4764       xlibs.xextproto
4765     ];
4766   };
4768   zangband = builderDefsPackage (import ../games/zangband) {
4769     inherit ncurses flex bison autoconf automake m4 coreutils;
4770   };
4772   zlib = import ../development/libraries/zlib {
4773     fetchurl = fetchurlBoot;
4774     inherit stdenv;
4775   };
4777   zlibStatic = lowPrio (appendToName "static" (import ../development/libraries/zlib {
4778     inherit fetchurl stdenv;
4779     static = true;
4780   }));
4782   zvbi = import ../development/libraries/zvbi {
4783     inherit fetchurl stdenv libpng x11;
4784     pngSupport = true;
4785   };
4788   ### DEVELOPMENT / LIBRARIES / JAVA
4791   atermjava = import ../development/libraries/java/aterm {
4792     inherit fetchurl sharedobjects jjtraveler jdk;
4793     stdenv = overrideInStdenv stdenv [gnumake380];
4794   };
4796   commonsFileUpload = import ../development/libraries/java/jakarta-commons/file-upload {
4797     inherit stdenv fetchurl;
4798   };
4800   fastjar = import ../development/tools/java/fastjar {
4801     inherit fetchurl stdenv zlib;
4802   };
4804   httpunit = import ../development/libraries/java/httpunit {
4805     inherit stdenv fetchurl unzip;
4806   };
4808   gwtdragdrop = import ../development/libraries/java/gwt-dragdrop {
4809     inherit stdenv fetchurl;
4810   };
4812   gwtwidgets = import ../development/libraries/java/gwt-widgets {
4813     inherit stdenv fetchurl;
4814   };
4816   jakartabcel = import ../development/libraries/java/jakarta-bcel {
4817     regexp = jakartaregexp;
4818     inherit fetchurl stdenv;
4819   };
4821   jakartaregexp = import ../development/libraries/java/jakarta-regexp {
4822     inherit fetchurl stdenv;
4823   };
4825   javaCup = import ../development/libraries/java/cup {
4826     inherit stdenv fetchurl jdk;
4827   };
4829   javasvn = import ../development/libraries/java/javasvn {
4830     inherit stdenv fetchurl unzip;
4831   };
4833   jclasslib = import ../development/tools/java/jclasslib {
4834     inherit fetchurl stdenv xpf jre;
4835     ant = apacheAnt14;
4836   };
4838   jdom = import ../development/libraries/java/jdom {
4839     inherit stdenv fetchurl;
4840   };
4842   jflex = import ../development/libraries/java/jflex {
4843     inherit stdenv fetchurl;
4844   };
4846   jjtraveler = import ../development/libraries/java/jjtraveler {
4847     inherit fetchurl jdk;
4848     stdenv = overrideInStdenv stdenv [gnumake380];
4849   };
4851   junit = import ../development/libraries/java/junit {
4852     inherit stdenv fetchurl unzip;
4853   };
4855   lucene = import ../development/libraries/java/lucene {
4856     inherit stdenv fetchurl;
4857   };
4859   mockobjects = import ../development/libraries/java/mockobjects {
4860     inherit stdenv fetchurl;
4861   };
4863   saxon = import ../development/libraries/java/saxon {
4864     inherit fetchurl stdenv unzip;
4865   };
4867   saxonb = import ../development/libraries/java/saxon/default8.nix {
4868     inherit fetchurl stdenv unzip jre;
4869   };
4871   sharedobjects = import ../development/libraries/java/shared-objects {
4872     inherit fetchurl jdk;
4873     stdenv = overrideInStdenv stdenv [gnumake380];
4874   };
4876   smack = import ../development/libraries/java/smack {
4877     inherit stdenv fetchurl;
4878   };
4880   swt = import ../development/libraries/java/swt {
4881     inherit stdenv fetchurl unzip jdk pkgconfig;
4882     inherit (gtkLibs) gtk;
4883     inherit (xlibs) libXtst;
4884   };
4886   xalanj = xalanJava;
4887   xalanJava = import ../development/libraries/java/xalanj {
4888     inherit fetchurl stdenv;
4889     ant    = apacheAntGcj;  # for bootstrap purposes
4890     javac  = gcj;
4891     jvm    = gcj;
4892     xerces = xercesJava;
4893   };
4895   zziplib = import ../development/libraries/zziplib {
4896     inherit fetchurl stdenv perl python zip xmlto zlib;
4897   };
4900   ### DEVELOPMENT / PERL MODULES
4902   buildPerlPackage = import ../development/perl-modules/generic perl;
4904   perlPackages = recurseIntoAttrs (import ./perl-packages.nix {
4905     inherit pkgs;
4906   });
4908   perlXMLParser = perlPackages.XMLParser;
4911   ### DEVELOPMENT / PYTHON MODULES
4913   buildPythonPackage =
4914     import ../development/python-modules/generic {
4915       inherit python setuptools makeWrapper lib;
4916     };
4918   buildPython26Package =
4919     import ../development/python-modules/generic {
4920       inherit makeWrapper lib;
4921       python = python26;
4922       setuptools = setuptools_python26;
4923     };
4925   pythonPackages = recurseIntoAttrs (import ./python-packages.nix {
4926     inherit pkgs python buildPythonPackage;
4927   });
4929   python26Packages = recurseIntoAttrs (import ./python-packages.nix {
4930     inherit pkgs;
4931     python = python26;
4932     buildPythonPackage = buildPython26Package;
4933   });
4935   foursuite = import ../development/python-modules/4suite {
4936     inherit fetchurl stdenv python;
4937   };
4939   bsddb3 = import ../development/python-modules/bsddb3 {
4940     inherit fetchurl stdenv python db4;
4941   };
4943   flup = builderDefsPackage ../development/python-modules/flup {
4944     inherit fetchurl stdenv;
4945     python = python25;
4946     setuptools = setuptools.passthru.function {python = python25;};
4947   };
4949   numeric = import ../development/python-modules/numeric {
4950     inherit fetchurl stdenv python;
4951   };
4953   pil = import ../development/python-modules/pil {
4954     inherit fetchurl stdenv python zlib libjpeg freetype;
4955   };
4957   pil_python26 = import ../development/python-modules/pil {
4958     inherit fetchurl stdenv zlib libjpeg freetype;
4959     python = python26;
4960   };
4962   psyco = import ../development/python-modules/psyco {
4963       inherit fetchurl stdenv python;
4964     };
4966   pycairo = import ../development/python-modules/pycairo {
4967     inherit fetchurl stdenv python pkgconfig cairo x11;
4968   };
4970   pycrypto = import ../development/python-modules/pycrypto {
4971     inherit fetchurl stdenv python gmp;
4972   };
4974   pycups = import ../development/python-modules/pycups {
4975     inherit stdenv fetchurl python cups;
4976   };
4978   pygame = import ../development/python-modules/pygame {
4979     inherit fetchurl stdenv python pkgconfig SDL SDL_image
4980       SDL_mixer SDL_ttf numeric;
4981   };
4983   pygobject = import ../development/python-modules/pygobject {
4984     inherit fetchurl stdenv python pkgconfig glib;
4985   };
4987   pygtk = import ../development/python-modules/pygtk {
4988     inherit fetchurl stdenv python pkgconfig pygobject pycairo;
4989     inherit (gtkLibs) glib gtk;
4990   };
4992   pyGtkGlade = import ../development/python-modules/pygtk {
4993     inherit fetchurl stdenv python pkgconfig pygobject pycairo;
4994     inherit (gtkLibs) glib gtk;
4995     inherit (gnome) libglade;
4996   };
4998   pyopengl = import ../development/python-modules/pyopengl {
4999     inherit fetchurl stdenv setuptools mesa freeglut pil python;
5000   };
5002   pyopenssl = builderDefsPackage (import ../development/python-modules/pyopenssl) {
5003     inherit python openssl;
5004   };
5006   pythonSip = builderDefsPackage (import ../development/python-modules/python-sip/4.7.4.nix) {
5007     inherit python;
5008   };
5010   rhpl = import ../development/python-modules/rhpl {
5011     inherit stdenv fetchurl rpm cpio python wirelesstools gettext;
5012   };
5014   sip = import ../development/python-modules/python-sip {
5015     inherit stdenv fetchurl lib python;
5016   };
5018   sip_python26 = import ../development/python-modules/python-sip {
5019     inherit stdenv fetchurl lib;
5020     python = python26;
5021   };
5023   pyqt = builderDefsPackage (import ../development/python-modules/pyqt/4.3.3.nix) {
5024     inherit pkgconfig python pythonSip glib;
5025     inherit (xlibs) libX11 libXext;
5026     qt = qt4;
5027   };
5029   pyqt4 = import ../development/python-modules/pyqt {
5030     inherit stdenv fetchurl lib python sip;
5031     qt4 = qt45;
5032   };
5034   pyqt4_python26 = import ../development/python-modules/pyqt {
5035     inherit stdenv fetchurl lib;
5036     qt4 = qt45;
5037     python = python26;
5038     sip = sip_python26;
5039   };
5041   pyx = import ../development/python-modules/pyx {
5042     inherit fetchurl stdenv python makeWrapper;
5043   };
5045   pyxml = import ../development/python-modules/pyxml {
5046     inherit fetchurl stdenv python makeWrapper;
5047   };
5049   setuptools = builderDefsPackage (import ../development/python-modules/setuptools) {
5050     inherit python makeWrapper;
5051   };
5053   setuptools_python26 = builderDefsPackage (import ../development/python-modules/setuptools) {
5054     inherit makeWrapper;
5055     python = python26;
5056   };
5058   wxPython = wxPython26;
5060   wxPython26 = import ../development/python-modules/wxPython/2.6.nix {
5061     inherit fetchurl stdenv pkgconfig python;
5062     wxGTK = wxGTK26;
5063   };
5065   wxPython28 = import ../development/python-modules/wxPython/2.8.nix {
5066     inherit fetchurl stdenv pkgconfig python;
5067     inherit wxGTK;
5068   };
5070   twisted = pythonPackages.twisted;
5072   ZopeInterface = import ../development/python-modules/ZopeInterface {
5073     inherit fetchurl stdenv python;
5074   };
5076   zope = import ../development/python-modules/zope {
5077     inherit fetchurl stdenv;
5078     python = python24;
5079   };
5081   ### SERVERS
5084   apacheHttpd = makeOverridable (import ../servers/http/apache-httpd) {
5085     inherit (pkgsOverriden) fetchurl stdenv perl openssl zlib apr aprutil pcre;
5086     sslSupport = true;
5087   };
5089   sabnzbd = import ../servers/sabnzbd {
5090     inherit fetchurl stdenv python cheetahTemplate makeWrapper par2cmdline unzip unrar;
5091   };
5093   bind = builderDefsPackage (import ../servers/dns/bind/9.5.0.nix) {
5094     inherit openssl libtool;
5095   };
5097   dico = import ../servers/dico {
5098     inherit fetchurl stdenv libtool gettext zlib readline guile python;
5099   };
5101   dict = composedArgsAndFun (import ../servers/dict/1.9.15.nix) {
5102     inherit builderDefs which bison;
5103     flex=flex2534;
5104   };
5106   dictdDBs = recurseIntoAttrs (import ../servers/dict/dictd-db.nix {
5107     inherit builderDefs;
5108   });
5110   dictDBCollector = import ../servers/dict/dictd-db-collector.nix {
5111     inherit stdenv lib dict;
5112   };
5114   dovecot = import ../servers/mail/dovecot {
5115     inherit fetchurl stdenv openssl pam;
5116   };
5117   dovecot_1_1_1 = import ../servers/mail/dovecot/1.1.1.nix {
5118     inherit fetchurl stdenv openssl pam;
5119   };
5121   ejabberd = import ../servers/xmpp/ejabberd {
5122     inherit fetchurl stdenv expat erlang zlib openssl pam lib;
5123   };
5125   couchdb = import ../servers/http/couchdb {
5126     inherit fetchurl stdenv erlang spidermonkey icu getopt
5127       curl;
5128   };
5130   fingerd_bsd = import ../servers/fingerd/bsd-fingerd {
5131     inherit fetchurl stdenv;
5132   };
5134   ircdHybrid = import ../servers/irc/ircd-hybrid {
5135     inherit fetchurl stdenv openssl zlib;
5136   };
5138   jboss = import ../servers/http/jboss {
5139     inherit fetchurl stdenv unzip jdk lib;
5140   };
5142   jboss_mysql_jdbc = import ../servers/http/jboss/jdbc/mysql {
5143     inherit stdenv jboss mysql_jdbc;
5144   };
5146   jetty = import ../servers/http/jetty {
5147     inherit fetchurl stdenv unzip;
5148   };
5150   jetty61 = import ../servers/http/jetty/6.1 {
5151     inherit fetchurl stdenv unzip;
5152   };
5154   lighttpd = import ../servers/http/lighttpd {
5155     inherit fetchurl stdenv pcre libxml2 zlib attr bzip2;
5156   };
5158   mod_python = makeOverridable (import ../servers/http/apache-modules/mod_python) {
5159     inherit (pkgsOverriden) fetchurl stdenv apacheHttpd python;
5160   };
5162   myserver = import ../servers/http/myserver {
5163     inherit fetchurl stdenv libgcrypt libevent libidn gnutls libxml2
5164       zlib texinfo cppunit;
5165   };
5167   nginx = builderDefsPackage (import ../servers/http/nginx) {
5168     inherit openssl pcre zlib libxml2 libxslt;
5169   };
5171   postfix = import ../servers/mail/postfix {
5172     inherit fetchurl stdenv db4 openssl cyrus_sasl glibc;
5173   };
5175   pulseaudio = makeOverridable (import ../servers/pulseaudio) {
5176     inherit fetchurl stdenv pkgconfig gnum4 gdbm
5177       dbus hal avahi liboil libsamplerate libsndfile speex
5178       intltool gettext libtool libcap;
5179     inherit (xlibs) libX11 libICE libSM libXtst libXi;
5180     inherit (gtkLibs) gtk glib;
5181     inherit alsaLib;    # Needs ALSA >= 1.0.17.
5182     gconf = gnome.GConf;
5183   };
5185   tomcat_connectors = import ../servers/http/apache-modules/tomcat-connectors {
5186     inherit fetchurl stdenv apacheHttpd jdk;
5187   };
5189   portmap = makeOverridable (import ../servers/portmap) {
5190     inherit fetchurl stdenv lib tcpWrapper;
5191   };
5193   monetdb = import ../servers/sql/monetdb {
5194     inherit composableDerivation getConfig;
5195     inherit fetchurl stdenv pcre openssl readline libxml2 geos apacheAnt jdk5;
5196   };
5198   mysql4 = import ../servers/sql/mysql {
5199     inherit fetchurl stdenv ncurses zlib perl;
5200     ps = procps; /* !!! Linux only */
5201   };
5203   mysql5 = import ../servers/sql/mysql5 {
5204     inherit fetchurl stdenv ncurses zlib perl openssl;
5205     ps = procps; /* !!! Linux only */
5206   };
5208   mysql51 = import ../servers/sql/mysql51 {
5209     inherit fetchurl ncurses zlib perl openssl stdenv;
5210     ps = procps; /* !!! Linux only */
5211   };
5213   mysql = mysql5;
5215   mysql_jdbc = import ../servers/sql/mysql/jdbc {
5216     inherit fetchurl stdenv ant;
5217   };
5219   nagios = import ../servers/monitoring/nagios {
5220     inherit fetchurl stdenv perl gd libpng zlib;
5221     gdSupport = true;
5222   };
5224   nagiosPluginsOfficial = import ../servers/monitoring/nagios/plugins/official {
5225     inherit fetchurl stdenv openssh;
5226   };
5228   openfire = composedArgsAndFun (import ../servers/xmpp/openfire) {
5229     inherit builderDefs jre;
5230   };
5232   postgresql = postgresql83;
5234   postgresql83 = import ../servers/sql/postgresql/8.3.x.nix {
5235     inherit fetchurl stdenv readline ncurses zlib;
5236   };
5238   postgresql84 = import ../servers/sql/postgresql/8.4.x.nix {
5239     inherit fetchurl stdenv readline ncurses zlib;
5240   };
5242   postgresql_jdbc = import ../servers/sql/postgresql/jdbc {
5243     inherit fetchurl stdenv ant;
5244   };
5246   pyIRCt = builderDefsPackage (import ../servers/xmpp/pyIRCt) {
5247     inherit xmpppy pythonIRClib python makeWrapper;
5248   };
5250   pyMAILt = builderDefsPackage (import ../servers/xmpp/pyMAILt) {
5251     inherit xmpppy python makeWrapper fetchcvs;
5252   };
5254   samba = makeOverridable (import ../servers/samba) {
5255     inherit stdenv fetchurl readline openldap pam kerberos popt iniparser
5256   libunwind acl fam;
5257   };
5259   squids = recurseIntoAttrs( import ../servers/squid/squids.nix {
5260     inherit fetchurl stdenv perl lib composableDerivation;
5261   });
5262   squid = squids.squid3Beta; # has ipv6 support
5264   tomcat5 = import ../servers/http/tomcat {
5265     inherit fetchurl stdenv jdk;
5266   };
5268   tomcat6 = import ../servers/http/tomcat/6.0.nix {
5269     inherit fetchurl stdenv jdk;
5270   };
5272   tomcat_mysql_jdbc = import ../servers/http/tomcat/jdbc/mysql {
5273     inherit stdenv tomcat6 mysql_jdbc;
5274   };
5276   axis2 = import ../servers/http/tomcat/axis2 {
5277     inherit fetchurl stdenv jdk apacheAnt unzip;
5278   };
5280   vsftpd = import ../servers/ftp/vsftpd {
5281     inherit fetchurl openssl stdenv libcap pam;
5282   };
5284   xinetd = import ../servers/xinetd {
5285     inherit fetchurl stdenv;
5286   };
5288   xorg = recurseIntoAttrs (import ../servers/x11/xorg/default.nix {
5289     inherit fetchurl fetchsvn stdenv pkgconfig freetype fontconfig
5290       libxslt expat libdrm libpng zlib perl mesa
5291       xkeyboard_config dbus hal libuuid openssl gperf m4
5292       automake autoconf libtool;
5294     # !!! pythonBase is use instead of python because this cause an infinite
5295     # !!! recursion when the flag python.full is set to true.  Packages
5296     # !!! contained in the loop are python, tk, xlibs-wrapper, libX11,
5297     # !!! libxcd (and xcb-proto).
5298     python =  pythonBase;
5299   });
5301   xorgReplacements = composedArgsAndFun (import ../servers/x11/xorg/replacements.nix) {
5302     inherit fetchurl stdenv automake autoconf libtool xorg composedArgsAndFun;
5303   };
5305   xorgVideoUnichrome = import ../servers/x11/xorg/unichrome/default.nix {
5306     inherit stdenv fetchgit pkgconfig libdrm mesa automake autoconf libtool;
5307     inherit (xorg) fontsproto libpciaccess randrproto renderproto videoproto
5308       libX11 xextproto xf86driproto xorgserver xproto libXvMC glproto
5309       libXext utilmacros;
5310   };
5312   zabbixAgent = import ../servers/monitoring/zabbix {
5313     inherit fetchurl stdenv;
5314     enableServer = false;
5315   };
5317   zabbixServer = import ../servers/monitoring/zabbix {
5318     inherit fetchurl stdenv postgresql curl;
5319     enableServer = true;
5320   };
5323   ### OS-SPECIFIC
5325   afuse = import ../os-specific/linux/afuse {
5326     inherit fetchurl stdenv lib pkgconfig fuse;
5327   };
5329   autofs5 = import ../os-specific/linux/autofs/autofs-v5.nix {
5330     inherit sourceFromHead fetchurl stdenv flex bison kernelHeaders;
5331   };
5333   _915resolution = import ../os-specific/linux/915resolution {
5334     inherit fetchurl stdenv;
5335   };
5337   nfsUtils = import ../os-specific/linux/nfs-utils {
5338     inherit fetchurl stdenv tcpWrapper libuuid;
5339   };
5341   acpi = import ../os-specific/linux/acpi {
5342     inherit fetchurl stdenv;
5343   };
5345   acpid = import ../os-specific/linux/acpid {
5346     inherit fetchurl stdenv;
5347   };
5349   acpitool = import ../os-specific/linux/acpitool {
5350     inherit fetchurl stdenv;
5351   };
5353   alsaLib = import ../os-specific/linux/alsa-lib {
5354     inherit stdenv fetchurl;
5355   };
5357   alsaPlugins = import ../os-specific/linux/alsa-plugins {
5358     inherit fetchurl stdenv lib pkgconfig alsaLib pulseaudio jackaudio;
5359   };
5360   alsaPluginWrapper = import ../os-specific/linux/alsa-plugins/wrapper.nix {
5361     inherit stdenv alsaPlugins writeScriptBin;
5362   };
5364   alsaUtils = import ../os-specific/linux/alsa-utils {
5365     inherit stdenv fetchurl alsaLib gettext ncurses;
5366   };
5368   bluez = import ../os-specific/linux/bluez {
5369     inherit fetchurl stdenv pkgconfig dbus libusb alsaLib glib;
5370   };
5372   bridge_utils = import ../os-specific/linux/bridge_utils {
5373     inherit fetchurl stdenv autoconf automake;
5374   };
5376   cpufrequtils = (
5377     import ../os-specific/linux/cpufrequtils {
5378     inherit fetchurl stdenv libtool gettext;
5379     glibc = stdenv.gcc.libc;
5380     kernelHeaders = stdenv.gcc.libc.kernelHeaders;
5381   });
5383   cryopid = import ../os-specific/linux/cryopid {
5384     inherit fetchurl stdenv zlibStatic;
5385   };
5387   cryptsetup = import ../os-specific/linux/cryptsetup {
5388     inherit stdenv fetchurl libuuid popt devicemapper udev;
5389   };
5391   cramfsswap = import ../os-specific/linux/cramfsswap {
5392     inherit fetchurl stdenv zlib;
5393   };
5395   darwinArchUtility = import ../os-specific/darwin/arch {
5396     inherit stdenv;
5397   };
5399   darwinSwVersUtility = import ../os-specific/darwin/sw_vers {
5400     inherit stdenv;
5401   };
5403   devicemapper = lvm2;
5405   dmidecode = import ../os-specific/linux/dmidecode {
5406     inherit fetchurl stdenv;
5407   };
5409   dietlibc = import ../os-specific/linux/dietlibc {
5410     inherit fetchurl glibc;
5411     # Dietlibc 0.30 doesn't compile on PPC with GCC 4.1, bus GCC 3.4 works.
5412     stdenv = if stdenv.system == "powerpc-linux" then overrideGCC stdenv gcc34 else stdenv;
5413   };
5415   directvnc = builderDefsPackage ../os-specific/linux/directvnc {
5416     inherit libjpeg pkgconfig zlib directfb;
5417     inherit (xlibs) xproto;
5418   };
5420   dmraid = builderDefsPackage ../os-specific/linux/dmraid {
5421     inherit devicemapper;
5422   };
5424   libuuid = if ! stdenv.isDarwin then utillinuxng else null;
5426   e3cfsprogs = import ../os-specific/linux/e3cfsprogs {
5427     inherit stdenv fetchurl gettext;
5428   };
5430   eject = import ../os-specific/linux/eject {
5431     inherit fetchurl stdenv gettext;
5432   };
5434   fbterm = builderDefsPackage (import ../os-specific/linux/fbterm) {
5435     inherit fontconfig gpm freetype pkgconfig ncurses;
5436   };
5438   fuse = import ../os-specific/linux/fuse {
5439     inherit fetchurl stdenv utillinux;
5440   };
5442   fxload = import ../os-specific/linux/fxload {
5443     inherit fetchurl stdenv;
5444   };
5446   gpm = import ../servers/gpm {
5447     inherit fetchurl stdenv ncurses bison;
5448     flex = flex2535;
5449   };
5451   hal = makeOverridable (import ../os-specific/linux/hal) {
5452     inherit fetchurl stdenv pkgconfig python pciutils usbutils expat
5453       libusb dbus dbus_glib libuuid perl perlXMLParser
5454       gettext zlib eject libsmbios udev gperf dmidecode utillinuxng
5455       consolekit policykit pmutils glib;
5456   };
5458   halevt = import ../os-specific/linux/hal/hal-evt.nix {
5459     inherit fetchurl stdenv lib libxml2 pkgconfig boolstuff hal dbus_glib;
5460   };
5462   hal_info = import ../os-specific/linux/hal/info.nix {
5463     inherit fetchurl stdenv pkgconfig;
5464   };
5466   hal_info_synaptics = import ../os-specific/linux/hal/synaptics.nix {
5467     inherit stdenv;
5468   };
5470   hdparm = import ../os-specific/linux/hdparm {
5471     inherit fetchurl stdenv;
5472   };
5474   hibernate = import ../os-specific/linux/hibernate {
5475     inherit fetchurl stdenv gawk;
5476   };
5478   htop = import ../os-specific/linux/htop {
5479     inherit fetchurl stdenv ncurses;
5480   };
5482   hwdata = import ../os-specific/linux/hwdata {
5483     inherit fetchurl stdenv;
5484   };
5486   ifplugd = import ../os-specific/linux/ifplugd {
5487     inherit fetchurl stdenv pkgconfig libdaemon;
5488   };
5490   iproute = import ../os-specific/linux/iproute {
5491     inherit fetchurl stdenv flex bison db4;
5492   };
5494   iputils = (
5495     import ../os-specific/linux/iputils {
5496     inherit fetchurl stdenv;
5497     glibc = stdenv.gcc.libc;
5498     kernelHeaders = stdenv.gcc.libc.kernelHeaders;
5499   });
5501   iptables = import ../os-specific/linux/iptables {
5502     inherit fetchurl stdenv;
5503   };
5505   ipw2200fw = import ../os-specific/linux/firmware/ipw2200 {
5506     inherit fetchurl stdenv;
5507   };
5509   iwlwifi1000ucode = import ../os-specific/linux/firmware/iwlwifi-1000-ucode {
5510     inherit fetchurl stdenv;
5511   };
5513   iwlwifi3945ucode = import ../os-specific/linux/firmware/iwlwifi-3945-ucode {
5514     inherit fetchurl stdenv;
5515   };
5517   iwlwifi4965ucodeV1 = import ../os-specific/linux/firmware/iwlwifi-4965-ucode {
5518     inherit fetchurl stdenv;
5519   };
5521   iwlwifi4965ucodeV2 = import ../os-specific/linux/firmware/iwlwifi-4965-ucode/version-2.nix {
5522     inherit fetchurl stdenv;
5523   };
5525   iwlwifi5000ucode = import ../os-specific/linux/firmware/iwlwifi-5000-ucode {
5526     inherit fetchurl stdenv;
5527   };
5529   kbd = import ../os-specific/linux/kbd {
5530     inherit fetchurl stdenv bison flex;
5531   };
5533   kernelHeaders = kernelHeaders_2_6_28;
5535   kernelHeaders_2_6_18 = import ../os-specific/linux/kernel-headers/2.6.18.5.nix {
5536     inherit fetchurl stdenv unifdef;
5537   };
5539   kernelHeaders_2_6_28 = import ../os-specific/linux/kernel-headers/2.6.28.nix {
5540     inherit fetchurl stdenv perl;
5541   };
5543   kernelHeadersArm = import ../os-specific/linux/kernel-headers-cross {
5544     inherit fetchurl stdenv;
5545     cross = "arm-linux";
5546   };
5548   kernelHeadersMips = import ../os-specific/linux/kernel-headers-cross {
5549     inherit fetchurl stdenv;
5550     cross = "mips-linux";
5551   };
5553   kernelHeadersSparc = import ../os-specific/linux/kernel-headers-cross {
5554     inherit fetchurl stdenv;
5555     cross = "sparc-linux";
5556   };
5558   kernelPatches = import ../os-specific/linux/kernel/patches.nix {
5559     inherit fetchurl;
5560   };
5562   kernel_2_6_25 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.25.nix) {
5563     inherit fetchurl stdenv perl mktemp module_init_tools;
5564     kernelPatches =
5565       [ kernelPatches.fbcondecor_2_6_25
5566         kernelPatches.sec_perm_2_6_24
5567       ];
5568   };
5570   kernel_2_6_27 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.27.nix) {
5571     inherit fetchurl stdenv perl mktemp module_init_tools;
5572     kernelPatches =
5573       [ kernelPatches.fbcondecor_2_6_27
5574         kernelPatches.sec_perm_2_6_24
5575       ];
5576   };
5578   kernel_2_6_28 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.28.nix) {
5579     inherit fetchurl stdenv perl mktemp module_init_tools;
5580     kernelPatches =
5581       [ kernelPatches.fbcondecor_2_6_28
5582         kernelPatches.sec_perm_2_6_24
5583         kernelPatches.ext4_softlockups_2_6_28
5584       ];
5585   };
5587   kernel_2_6_29 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.29.nix) {
5588     inherit fetchurl stdenv perl mktemp module_init_tools;
5589     kernelPatches =
5590       [ kernelPatches.fbcondecor_2_6_29
5591         kernelPatches.sec_perm_2_6_24
5592       ];
5593   };
5595   kernel_2_6_31 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.31.nix) {
5596     inherit fetchurl stdenv perl mktemp module_init_tools;
5597     kernelPatches = [];
5598   };
5600   kernel_2_6_32 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.32.nix) {
5601     inherit fetchurl stdenv perl mktemp module_init_tools;
5602     kernelPatches =
5603       [ kernelPatches.fbcondecor_2_6_31
5604         kernelPatches.sec_perm_2_6_24
5605       ];
5606   };
5608   kernel_2_6_32_zen4 = makeOverridable (import ../os-specific/linux/zen-kernel/2.6.32-zen4.nix) {
5609     inherit fetchurl stdenv perl mktemp module_init_tools runCommand xz;
5610   };
5612   kernel_2_6_32_zen4_oldi686 = kernel_2_6_32_zen4.override {
5613     features = {
5614       oldI686 = true;
5615     };
5616   };
5618   kernel_2_6_32_zen4_bfs = kernel_2_6_32_zen4.override {
5619     features = {
5620       ckSched = true;
5621     };
5622   };
5624   /* Kernel modules are inherently tied to a specific kernel.  So
5625      rather than provide specific instances of those packages for a
5626      specific kernel, we have a function that builds those packages
5627      for a specific kernel.  This function can then be called for
5628      whatever kernel you're using. */
5630   kernelPackagesFor = kernel: rec {
5632     inherit kernel;
5634     aufs = import ../os-specific/linux/aufs {
5635       inherit fetchurl stdenv kernel;
5636     };
5638     # Currently it is broken
5639     # Build requires exporting some symbols from kernel
5640     # Go to package homepage to learn about the needed
5641     # patch. Feel free to take over the package.
5642     aufs2 = import ../os-specific/linux/aufs2 {
5643       inherit fetchgit stdenv kernel perl;
5644     };
5646     aufs2Utils = if lib.attrByPath ["features" "aufs"] false kernel then
5647       builderDefsPackage ../os-specific/linux/aufs2-utils {
5648         inherit kernel;
5649       }
5650     else null;
5652     exmap = import ../os-specific/linux/exmap {
5653       inherit fetchurl stdenv kernel boost pcre pkgconfig;
5654       inherit (gtkLibs) gtkmm;
5655     };
5657     iwlwifi = import ../os-specific/linux/iwlwifi {
5658       inherit fetchurl stdenv kernel;
5659     };
5661     iwlwifi4965ucode =
5662       (if (builtins.compareVersions kernel.version "2.6.27" == 0)
5663           || (builtins.compareVersions kernel.version "2.6.27" == 1)
5664        then iwlwifi4965ucodeV2
5665        else iwlwifi4965ucodeV1);
5667     atheros = composedArgsAndFun (import ../os-specific/linux/atheros/0.9.4.nix) {
5668       inherit fetchurl stdenv builderDefs kernel lib;
5669     };
5671     nvidia_x11 = import ../os-specific/linux/nvidia-x11 {
5672       inherit stdenv fetchurl kernel xlibs gtkLibs zlib perl;
5673     };
5675     nvidia_x11_legacy = import ../os-specific/linux/nvidia-x11/legacy.nix {
5676       inherit stdenv fetchurl kernel xlibs gtkLibs zlib;
5677     };
5679     wis_go7007 = import ../os-specific/linux/wis-go7007 {
5680       inherit fetchurl stdenv kernel ncurses fxload;
5681     };
5683     kqemu = builderDefsPackage ../os-specific/linux/kqemu/1.4.0pre1.nix {
5684       inherit kernel perl;
5685     };
5687     splashutils =
5688       # Splashutils 1.3 is broken, so disable splash on older kernels.
5689       if kernel.features ? fbSplash then /* splashutils_13 */ null else
5690       if kernel.features ? fbConDecor then splashutils_15 else
5691       null;
5693     ext3cowtools = import ../os-specific/linux/ext3cow-tools {
5694       inherit stdenv fetchurl;
5695       kernel_ext3cowpatched = kernel;
5696     };
5698     /* compiles but has to be integrated into the kernel somehow
5699       Let's have it uncommented and finish it..
5700     */
5701     ndiswrapper = import ../os-specific/linux/ndiswrapper {
5702       inherit fetchurl stdenv;
5703       inherit kernel perl;
5704     };
5706     ov511 = import ../os-specific/linux/ov511 {
5707       inherit fetchurl kernel;
5708       stdenv = overrideGCC stdenv gcc34;
5709     };
5711     # State Nix
5712     snix = import ../tools/package-management/snix {
5713       inherit fetchurl stdenv perl curl bzip2 openssl bison;
5714       inherit libtool automake autoconf docbook5 docbook5_xsl libxslt docbook_xml_dtd_43 w3m;
5716       aterm = aterm242fixes;
5717       db4 = db45;
5719       flex = flex2533;
5721       inherit ext3cowtools e3cfsprogs rsync;
5722       ext3cow_kernel = kernel;
5723     };
5725     sysprof = import ../development/tools/profiling/sysprof {
5726       inherit fetchurl stdenv binutils pkgconfig kernel;
5727       inherit (gnome) gtk glib pango libglade;
5728     };
5730     virtualbox = import ../applications/virtualization/virtualbox {
5731       stdenv = stdenv_32bit;
5732       inherit fetchurl lib iasl dev86 libxslt libxml2 SDL hal
5733           libcap libpng zlib kernel python which alsaLib curl glib;
5734       qt4 = qt45;
5735       inherit (xlibs) xproto libX11 libXext libXcursor;
5736       inherit (gnome) libIDL;
5737     };
5739     virtualboxGuestAdditions = import ../applications/virtualization/virtualbox/guest-additions {
5740       inherit stdenv fetchurl lib patchelf cdrkit kernel;
5741       inherit (xlibs) libX11 libXt libXext libXmu libXcomposite libXfixes;
5742     };
5743   };
5745   # Build the kernel modules for the some of the kernels.
5746   kernelPackages_2_6_25 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_25);
5747   kernelPackages_2_6_27 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_27);
5748   kernelPackages_2_6_28 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_28);
5749   kernelPackages_2_6_29 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_29);
5750   kernelPackages_2_6_31 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_31);
5751   kernelPackages_2_6_32 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_32);
5753   # The current default kernel / kernel modules.
5754   kernel = kernel_2_6_32;
5755   kernelPackages = kernelPackagesFor kernel;
5757   customKernel = composedArgsAndFun (lib.sumTwoArgs (import ../os-specific/linux/kernel/generic.nix) {
5758     inherit fetchurl stdenv perl mktemp module_init_tools;
5759   });
5761   libselinux = import ../os-specific/linux/libselinux {
5762     inherit fetchurl stdenv libsepol;
5763   };
5765   libraw1394 = import ../development/libraries/libraw1394 {
5766     inherit fetchurl stdenv;
5767   };
5769   libsexy = import ../development/libraries/libsexy {
5770     inherit stdenv fetchurl pkgconfig libxml2;
5771     inherit (gtkLibs) glib gtk pango;
5772   };
5774   librsvg = gnome.librsvg;
5776   libsepol = import ../os-specific/linux/libsepol {
5777     inherit fetchurl stdenv;
5778   };
5780   libsmbios = import ../os-specific/linux/libsmbios {
5781     inherit fetchurl stdenv pkgconfig libxml2 perl;
5782   };
5784   lm_sensors = import ../os-specific/linux/lm_sensors {
5785     inherit fetchurl stdenv bison flex perl;
5786   };
5788   klibc = makeOverridable (import ../os-specific/linux/klibc) {
5789     inherit fetchurl stdenv perl bison mktemp;
5790     kernelHeaders = glibc.kernelHeaders;
5791   };
5793   # Old version; needed in vmtools for insmod.  Should use
5794   # module_init_tools instead.
5795   klibc_15 = makeOverridable (import ../os-specific/linux/klibc/1.5.nix) {
5796     inherit fetchurl stdenv perl bison mktemp;
5797     kernelHeaders = glibc.kernelHeaders;
5798   };
5800   klibcShrunk = makeOverridable (import ../os-specific/linux/klibc/shrunk.nix) {
5801     inherit stdenv klibc;
5802   };
5804   kvm = kvm76;
5806   kvm76 = import ../os-specific/linux/kvm/76.nix {
5807     inherit fetchurl stdenv zlib e2fsprogs SDL alsaLib pkgconfig rsync;
5808     inherit (glibc) kernelHeaders;
5809   };
5811   kvm86 = import ../os-specific/linux/kvm/86.nix {
5812     inherit fetchurl stdenv zlib SDL alsaLib pkgconfig pciutils;
5813     inherit (glibc) kernelHeaders;
5814   };
5816   kvm88 = import ../os-specific/linux/kvm/88.nix {
5817     inherit fetchurl stdenv zlib SDL alsaLib pkgconfig pciutils;
5818     inherit (glibc) kernelHeaders;
5819   };
5821   libcap = import ../os-specific/linux/libcap {
5822     inherit fetchurl stdenv attr;
5823   };
5825   libnscd = import ../os-specific/linux/libnscd {
5826     inherit fetchurl stdenv;
5827   };
5829   libnotify = import ../development/libraries/libnotify {
5830     inherit stdenv fetchurl pkgconfig dbus dbus_glib;
5831     inherit (gtkLibs) gtk glib;
5832   };
5834   libvolume_id = import ../os-specific/linux/libvolume_id {
5835     inherit fetchurl stdenv;
5836   };
5838   lvm2 = import ../os-specific/linux/lvm2 {
5839     inherit fetchurl stdenv;
5840   };
5842   mdadm = import ../os-specific/linux/mdadm {
5843     inherit fetchurl stdenv groff;
5844   };
5846   mingetty = import ../os-specific/linux/mingetty {
5847     inherit fetchurl stdenv;
5848   };
5850   module_init_tools = import ../os-specific/linux/module-init-tools {
5851     inherit fetchurl stdenv;
5852   };
5854   mount_cifs = import ../os-specific/linux/mount-cifs {
5855     inherit fetchurl stdenv;
5856   };
5858   aggregateModules = modules:
5859     import ../os-specific/linux/module-init-tools/aggregator.nix {
5860       inherit stdenv module_init_tools modules buildEnv;
5861     };
5863   modutils = import ../os-specific/linux/modutils {
5864     inherit fetchurl bison flex;
5865     stdenv = overrideGCC stdenv gcc34;
5866   };
5868   nettools = import ../os-specific/linux/net-tools {
5869     inherit fetchurl stdenv;
5870   };
5872   neverball = import ../games/neverball {
5873     inherit stdenv fetchurl SDL mesa libpng libjpeg SDL_ttf libvorbis
5874       gettext physfs;
5875   };
5877   numactl = import ../os-specific/linux/numactl {
5878     inherit fetchurl stdenv;
5879   };
5881   gw6c = builderDefsPackage (import ../os-specific/linux/gw6c) {
5882     inherit fetchurl stdenv nettools openssl procps iproute;
5883   };
5885   nss_ldap = import ../os-specific/linux/nss_ldap {
5886     inherit fetchurl stdenv openldap;
5887   };
5889   pam = import ../os-specific/linux/pam {
5890     inherit stdenv fetchurl cracklib flex;
5891   };
5893   # pam_bioapi ( see http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader )
5895   pam_console = import ../os-specific/linux/pam_console {
5896     inherit stdenv fetchurl pam autoconf automake pkgconfig bison glib;
5897     libtool = libtool_1_5;
5898     flex = if stdenv.system == "i686-linux" then flex else flex2533;
5899   };
5901   pam_devperm = import ../os-specific/linux/pam_devperm {
5902     inherit stdenv fetchurl pam;
5903   };
5905   pam_ldap = import ../os-specific/linux/pam_ldap {
5906     inherit stdenv fetchurl pam openldap;
5907   };
5909   pam_login = import ../os-specific/linux/pam_login {
5910     inherit stdenv fetchurl pam;
5911   };
5913   pam_unix2 = import ../os-specific/linux/pam_unix2 {
5914     inherit stdenv fetchurl pam libxcrypt;
5915   };
5917   pam_usb = import ../os-specific/linux/pam_usb {
5918     inherit stdenv fetchurl makeWrapper useSetUID dbus libxml2 pam hal pkgconfig pmount python pythonDBus;
5919   };
5921   pcmciaUtils = composedArgsAndFun (import ../os-specific/linux/pcmciautils) {
5922     inherit stdenv fetchurl udev yacc flex;
5923     inherit sysfsutils module_init_tools;
5925     firmware = getConfig ["pcmciaUtils" "firmware"] [];
5926     config = getConfig ["pcmciaUtils" "config"] null;
5927     inherit lib;
5928   };
5930   pmount = import ../os-specific/linux/pmount {
5931     inherit fetchurl stdenv cryptsetup dbus dbus_glib hal intltool ntfs3g utillinuxng;
5932   };
5934   pmutils = import ../os-specific/linux/pm-utils {
5935     inherit fetchurl stdenv;
5936   };
5938   powertop = import ../os-specific/linux/powertop {
5939     inherit fetchurl stdenv ncurses gettext;
5940   };
5942   procps = import ../os-specific/linux/procps {
5943     inherit fetchurl stdenv ncurses;
5944   };
5946   pwdutils = import ../os-specific/linux/pwdutils {
5947     inherit fetchurl stdenv pam openssl libnscd;
5948   };
5950   qemu_kvm = import ../os-specific/linux/qemu-kvm {
5951     inherit fetchurl stdenv zlib SDL alsaLib pkgconfig pciutils;
5952   };
5954   radeontools = import ../os-specific/linux/radeontools {
5955     inherit pciutils;
5956     inherit fetchurl stdenv;
5957   };
5959   rt73fw = import ../os-specific/linux/firmware/rt73 {
5960     inherit fetchurl stdenv unzip;
5961   };
5963   sdparm = import ../os-specific/linux/sdparm {
5964     inherit fetchurl stdenv;
5965   };
5967   shadowutils = import ../os-specific/linux/shadow {
5968     inherit fetchurl stdenv;
5969   };
5971   splashutils_13 = import ../os-specific/linux/splashutils/1.3.nix {
5972     inherit fetchurl stdenv klibc;
5973     zlib = zlibStatic;
5974     libjpeg = libjpegStatic;
5975   };
5977   splashutils_15 = import ../os-specific/linux/splashutils/1.5.nix {
5978     inherit fetchurl stdenv klibc;
5979     zlib = zlibStatic;
5980     libjpeg = libjpegStatic;
5981   };
5983   statifier = builderDefsPackage (import ../os-specific/linux/statifier) {
5984   };
5986   sysfsutils = import ../os-specific/linux/sysfsutils {
5987     inherit fetchurl stdenv;
5988   };
5990   # Provided with sysfsutils.
5991   libsysfs = sysfsutils;
5992   systool = sysfsutils;
5994   sysklogd = import ../os-specific/linux/sysklogd {
5995     inherit fetchurl stdenv;
5996   };
5998   syslinux = import ../os-specific/linux/syslinux {
5999     inherit fetchurl stdenv nasm perl;
6000   };
6002   sysstat = import ../os-specific/linux/sysstat {
6003     inherit fetchurl stdenv gettext;
6004   };
6006   sysvinit = import ../os-specific/linux/sysvinit {
6007     inherit fetchurl stdenv;
6008   };
6010   sysvtools = import ../os-specific/linux/sysvinit {
6011     inherit fetchurl stdenv;
6012     withoutInitTools = true;
6013   };
6015   # FIXME: `tcp-wrapper' is actually not OS-specific.
6016   tcpWrapper = import ../os-specific/linux/tcp-wrapper {
6017     inherit fetchurl stdenv;
6018   };
6020   trackballs = import ../games/trackballs {
6021     inherit stdenv fetchurl SDL mesa SDL_ttf gettext zlib SDL_mixer SDL_image guile;
6022     debug = false;
6023   };
6025   tunctl = import ../os-specific/linux/tunctl {
6026     inherit stdenv fetchurl;
6027   };
6029   /*tuxracer = builderDefsPackage (import ../games/tuxracer) {
6030     inherit mesa tcl freeglut;
6031     inherit (xlibs) libX11 xproto;
6032   };*/
6034   udev = makeOverridable (import ../os-specific/linux/udev) {
6035     inherit fetchurl stdenv gperf pkgconfig acl libusb usbutils pciutils glib;
6036   };
6038   uml = import ../os-specific/linux/kernel/linux-2.6.29.nix {
6039     inherit fetchurl stdenv perl mktemp module_init_tools;
6040     userModeLinux = true;
6041   };
6043   umlutilities = import ../os-specific/linux/uml-utilities {
6044     inherit fetchurl kernelHeaders stdenv readline lib;
6045     tunctl = true; mconsole = true;
6046   };
6048   upstart = import ../os-specific/linux/upstart {
6049     inherit fetchurl stdenv;
6050   };
6052   upstart06 = import ../os-specific/linux/upstart/0.6.nix {
6053     inherit fetchurl stdenv pkgconfig dbus expat;
6054   };
6056   upstartJobControl = import ../os-specific/linux/upstart/jobcontrol.nix {
6057     inherit stdenv;
6058   };
6060   usbutils = import ../os-specific/linux/usbutils {
6061     inherit fetchurl stdenv pkgconfig libusb;
6062   };
6064   utillinux = utillinuxng;
6066   utillinuxCurses = utillinuxngCurses;
6068   utillinuxng = makeOverridable (import ../os-specific/linux/util-linux-ng) {
6069     inherit fetchurl stdenv;
6070   };
6072   utillinuxngCurses = utillinuxng.override {
6073     inherit ncurses;
6074   };
6076   wesnoth = import ../games/wesnoth {
6077     inherit fetchurl stdenv SDL SDL_image SDL_mixer SDL_net SDL_ttf
6078       gettext zlib boost freetype libpng pkgconfig;
6079     inherit (gtkLibs) pango;
6080   };
6082   wirelesstools = import ../os-specific/linux/wireless-tools {
6083     inherit fetchurl stdenv;
6084   };
6086   wpa_supplicant = import ../os-specific/linux/wpa_supplicant {
6087     inherit fetchurl stdenv openssl;
6088   };
6090   wpa_supplicant_gui_qt4 = import ../os-specific/linux/wpa_supplicant/gui-qt4.nix {
6091     inherit fetchurl stdenv qt4 imagemagick inkscape;
6092   };
6094   xmoto = builderDefsPackage (import ../games/xmoto) {
6095     inherit chipmunk sqlite curl zlib bzip2 libjpeg libpng
6096       freeglut mesa SDL SDL_mixer SDL_image SDL_net SDL_ttf
6097       lua5 ode;
6098   };
6100   xorg_sys_opengl = import ../os-specific/linux/opengl/xorg-sys {
6101     inherit stdenv xlibs expat libdrm;
6102   };
6104   zd1211fw = import ../os-specific/linux/firmware/zd1211 {
6105     inherit stdenv fetchurl;
6106   };
6108   ### DATA
6110   arkpandora_ttf = builderDefsPackage (import ../data/fonts/arkpandora) {
6111   };
6113   bakoma_ttf = import ../data/fonts/bakoma-ttf {
6114     inherit fetchurl stdenv;
6115   };
6117   corefonts = import ../data/fonts/corefonts {
6118     inherit fetchurl stdenv cabextract;
6119   };
6121   wrapFonts = paths : ((import ../data/fonts/fontWrap) {
6122     inherit fetchurl stdenv builderDefs paths ttmkfdir;
6123     inherit (xorg) mkfontdir mkfontscale;
6124   });
6126   clearlyU = composedArgsAndFun (import ../data/fonts/clearlyU/1.9.nix) {
6127     inherit builderDefs;
6128     inherit (xorg) mkfontdir mkfontscale;
6129   };
6131   dejavu_fonts = import ../data/fonts/dejavu-fonts {
6132     inherit fetchurl stdenv fontforge perl fontconfig;
6133     inherit (perlPackages) FontTTF;
6134   };
6136   docbook5 = import ../data/sgml+xml/schemas/docbook-5.0 {
6137     inherit fetchurl stdenv unzip;
6138   };
6140   docbook_xml_dtd_412 = import ../data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix {
6141     inherit fetchurl stdenv unzip;
6142   };
6144   docbook_xml_dtd_42 = import ../data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix {
6145     inherit fetchurl stdenv unzip;
6146   };
6148   docbook_xml_dtd_43 = import ../data/sgml+xml/schemas/xml-dtd/docbook/4.3.nix {
6149     inherit fetchurl stdenv unzip;
6150   };
6152   docbook_xml_dtd_45 = import ../data/sgml+xml/schemas/xml-dtd/docbook/4.5.nix {
6153     inherit fetchurl stdenv unzip;
6154   };
6156   docbook_xml_ebnf_dtd = import ../data/sgml+xml/schemas/xml-dtd/docbook-ebnf {
6157     inherit fetchurl stdenv unzip;
6158   };
6160   docbook_xml_xslt = docbook_xsl;
6162   docbook_xsl = import ../data/sgml+xml/stylesheets/xslt/docbook-xsl {
6163     inherit fetchurl stdenv;
6164   };
6166   docbook5_xsl = docbook_xsl_ns;
6168   docbook_xsl_ns = import ../data/sgml+xml/stylesheets/xslt/docbook-xsl-ns {
6169     inherit fetchurl stdenv;
6170   };
6172   junicode = composedArgsAndFun (import ../data/fonts/junicode/0.6.15.nix) {
6173     inherit builderDefs fontforge unzip;
6174     inherit (xorg) mkfontdir mkfontscale;
6175   };
6177   freefont_ttf = import ../data/fonts/freefont-ttf {
6178     inherit fetchurl stdenv;
6179   };
6181   liberation_ttf = import ../data/fonts/redhat-liberation-fonts {
6182     inherit fetchurl stdenv;
6183   };
6185   libertine = builderDefsPackage (import ../data/fonts/libertine/2.7.nix) {
6186     inherit fontforge;
6187   };
6188   libertineBin = builderDefsPackage (import ../data/fonts/libertine/2.7.bin.nix) {
6189   };
6191   lmodern = import ../data/fonts/lmodern {
6192     inherit fetchurl stdenv;
6193   };
6195   manpages = import ../data/documentation/man-pages {
6196     inherit fetchurl stdenv;
6197   };
6199   miscfiles = import ../data/misc/miscfiles {
6200     inherit fetchurl stdenv;
6201   };
6203   mph_2b_damase = import ../data/fonts/mph-2b-damase {
6204     inherit fetchurl stdenv unzip;
6205   };
6207   pthreadmanpages = lowPrio (import ../data/documentation/pthread-man-pages {
6208     inherit fetchurl stdenv perl;
6209   });
6211   shared_mime_info = import ../data/misc/shared-mime-info {
6212     inherit fetchurl stdenv pkgconfig gettext
6213       intltool perl perlXMLParser libxml2 glib;
6214   };
6216   stdmanpages = import ../data/documentation/std-man-pages {
6217     inherit fetchurl stdenv;
6218   };
6220   iana_etc = import ../data/misc/iana-etc {
6221     inherit fetchurl stdenv;
6222   };
6224   popplerData = import ../data/misc/poppler-data {
6225     inherit fetchurl stdenv;
6226   };
6228   r3rs = import ../data/documentation/rnrs/r3rs.nix {
6229     inherit fetchurl stdenv texinfo;
6230   };
6232   r4rs = import ../data/documentation/rnrs/r4rs.nix {
6233     inherit fetchurl stdenv texinfo;
6234   };
6236   r5rs = import ../data/documentation/rnrs/r5rs.nix {
6237     inherit fetchurl stdenv texinfo;
6238   };
6240   themes = name: import (../data/misc/themes + ("/" + name + ".nix")) {
6241     inherit fetchurl;
6242   };
6244   ttf_bitstream_vera = import ../data/fonts/ttf-bitstream-vera {
6245     inherit fetchurl stdenv;
6246   };
6248   ucsFonts = import ../data/fonts/ucs-fonts {
6249     inherit fetchurl stdenv wrapFonts;
6250   };
6252   unifont = import ../data/fonts/unifont {
6253     inherit debPackage perl;
6254     inherit (xorg) mkfontdir mkfontscale bdftopcf fontutil;
6255   };
6257   vistafonts = import ../data/fonts/vista-fonts {
6258     inherit fetchurl stdenv cabextract;
6259   };
6261   wqy_zenhei = composedArgsAndFun (import ../data/fonts/wqy_zenhei/0.4.23-1.nix) {
6262     inherit builderDefs;
6263   };
6265   xhtml1 = import ../data/sgml+xml/schemas/xml-dtd/xhtml1 {
6266     inherit fetchurl stdenv libxml2;
6267   };
6269   xkeyboard_config = import ../data/misc/xkeyboard-config {
6270     inherit fetchurl stdenv perl perlXMLParser gettext intltool;
6271     inherit (xlibs) xkbcomp;
6272   };
6275   ### APPLICATIONS
6278   aangifte2005 = import ../applications/taxes/aangifte-2005 {
6279     inherit stdenv fetchurl;
6280     inherit (xlibs) libX11 libXext;
6281   };
6283   aangifte2006 = import ../applications/taxes/aangifte-2006 {
6284     inherit stdenv fetchurl;
6285     inherit (xlibs) libX11 libXext;
6286   };
6288   aangifte2007 = import ../applications/taxes/aangifte-2007 {
6289     inherit stdenv fetchurl;
6290     inherit (xlibs) libX11 libXext libSM;
6291   };
6293   aangifte2008 = import ../applications/taxes/aangifte-2008 {
6294     inherit stdenv fetchurl;
6295     inherit (xlibs) libX11 libXext libSM;
6296   };
6298   abcde = import ../applications/audio/abcde {
6299     inherit fetchurl stdenv libcdio cddiscid wget bash vorbisTools
6300             makeWrapper;
6301   };
6303   abiword = import ../applications/office/abiword {
6304     inherit fetchurl stdenv pkgconfig fribidi libpng popt libgsf enchant wv librsvg bzip2;
6305     inherit (gtkLibs) gtk;
6306     inherit (gnome) libglade libgnomecanvas;
6307   };
6309   adobeReader = import ../applications/misc/adobe-reader {
6310     inherit fetchurl stdenv zlib libxml2 cups;
6311     inherit (xlibs) libX11;
6312     inherit (gtkLibs) glib pango atk gtk;
6313   };
6315   amsn = import ../applications/networking/instant-messengers/amsn {
6316     inherit fetchurl stdenv which tcl tk x11;
6317     libstdcpp = gcc33.gcc;
6318   };
6320   ardour = import ../applications/audio/ardour {
6321     inherit fetchurl stdenv lib pkgconfig scons boost redland librdf_raptor
6322       librdf_rasqal jackaudio flac libsamplerate alsaLib libxml2 libxslt
6323       libsndfile libsigcxx libusb cairomm librdf liblo fftw fftwSinglePrec
6324       aubio libmad;
6325     inherit (gtkLibs) glib pango gtk glibmm gtkmm;
6326     inherit (gnome) libgnomecanvas;
6327   };
6329   audacious = import ../applications/audio/audacious/player.nix {
6330     inherit fetchurl stdenv pkgconfig libmowgli libmcs gettext xlibs dbus_glib;
6331     inherit (gnome) libglade;
6332     inherit (gtkLibs) glib gtk;
6333   };
6335   audacious_plugins = import ../applications/audio/audacious/plugins.nix {
6336     inherit fetchurl stdenv pkgconfig audacious dbus_glib gettext
6337       libmad xlibs alsaLib taglib libmpcdec libogg libvorbis
6338       libcdio libcddb libxml2;
6339   };
6341   audacity = import ../applications/audio/audacity {
6342     inherit fetchurl stdenv gettext pkgconfig zlib perl intltool libogg
6343       libvorbis libmad;
6344     inherit (gtkLibs) gtk glib;
6345     inherit wxGTK;
6346   };
6348   aumix = import ../applications/audio/aumix {
6349     inherit fetchurl stdenv ncurses pkgconfig gettext;
6350     inherit (gtkLibs) gtk;
6351     gtkGUI = false;
6352   };
6354   autopanosiftc = import ../applications/graphics/autopanosiftc {
6355     inherit fetchurl cmake libpng libtiff libjpeg panotools libxml2;
6356     stdenv = overrideGCC stdenv gcc43_wrapper2;
6357   };
6359   avidemux = import ../applications/video/avidemux {
6360     inherit fetchurl cmake pkgconfig libxml2 qt4 gettext SDL libxslt x264
6361       alsaLib lame faac faad2 libvorbis;
6362     stdenv = overrideGCC stdenv gcc43_wrapper2;
6363     inherit (gtkLibs) gtk;
6364     inherit (xlibs) libXv pixman libpthreadstubs libXau libXdmcp;
6365   };
6367   batik = import ../applications/graphics/batik {
6368     inherit fetchurl stdenv unzip;
6369   };
6371   bazaar = import ../applications/version-management/bazaar {
6372     inherit fetchurl stdenv makeWrapper;
6373     python = pythonFull;
6374   };
6376   bazaarTools = builderDefsPackage (import ../applications/version-management/bazaar/tools.nix) {
6377     inherit bazaar;
6378   };
6380   beast = import ../applications/audio/beast {
6381 # stdenv = overrideGCC stdenv gcc34;
6382     inherit stdenv fetchurl zlib guile pkgconfig intltool libogg libvorbis python libxml2 bash perl gettext;
6383     inherit (gtkLibs) gtk glib;
6384     inherit (gnome) libgnomecanvas libart_lgpl;
6385     inherit automake autoconf;
6386   };
6388   bitlbee = import ../applications/networking/instant-messengers/bitlbee {
6389     inherit fetchurl stdenv gnutls pkgconfig glib;
6390   };
6392   bitlbeeOtr = import ../applications/networking/instant-messengers/bitlbee-otr {
6393     inherit fetchbzr stdenv gnutls pkgconfig libotr libgcrypt
6394       libxslt xmlto docbook_xsl docbook_xml_dtd_42 perl glib;
6395   };
6397   # commented out because it's using the new configuration style proposal which is unstable
6398   #biew = import ../applications/misc/biew {
6399   #  inherit lib stdenv fetchurl ncurses;
6400   #};
6402   # only to be able to compile blender - I couldn't compile the default openal software
6403   # Perhaps this can be removed - don't know which one openal{,soft} is better
6404   freealut_soft = import ../development/libraries/freealut {
6405     inherit fetchurl stdenv;
6406     openal = openalSoft;
6407   };
6409   blender = import ../applications/misc/blender {
6410     inherit cmake mesa gettext freetype SDL libtiff fetchurl glibc scons x11 lib
6411       libjpeg libpng zlib /* smpeg sdl */ python;
6412     inherit (xlibs) inputproto libXi;
6413     freealut = freealut_soft;
6414     openal = openalSoft;
6415     openexr = openexr_1_4_0;
6416     # using gcc43 makes blender segfault when pressing p then esc.
6417     # is this related to the PHP bug? I'm to lazy to try recompilng it without optimizations
6418     stdenv = overrideGCC stdenv gcc42;
6419   };
6421   bmp = import ../applications/audio/bmp {
6422     inherit fetchurl stdenv pkgconfig libogg libvorbis alsaLib id3lib;
6423     inherit (gnome) esound libglade;
6424     inherit (gtkLibs) glib gtk;
6425   };
6427   bmp_plugin_musepack = import ../applications/audio/bmp-plugins/musepack {
6428     inherit fetchurl stdenv pkgconfig bmp libmpcdec taglib;
6429   };
6431   bmp_plugin_wma = import ../applications/audio/bmp-plugins/wma {
6432     inherit fetchurl stdenv pkgconfig bmp;
6433   };
6435   bvi = import ../applications/editors/bvi {
6436     inherit fetchurl stdenv ncurses;
6437   };
6439   calibre = import ../applications/misc/calibre {
6440     inherit stdenv fetchurl libpng imagemagick pkgconfig libjpeg fontconfig podofo
6441       qt4 makeWrapper unrar;
6442     python = python26Full;
6443     pyqt4 = pyqt4_python26;
6444     sip = sip_python26;
6445     pil = pil_python26;
6446     popplerQt4 = popplerQt45;
6447     inherit (python26Packages) mechanize lxml dateutil;
6448   };
6450   carrier = builderDefsPackage (import ../applications/networking/instant-messengers/carrier/2.5.0.nix) {
6451     inherit fetchurl stdenv pkgconfig perl perlXMLParser libxml2 openssl nss
6452       gtkspell aspell gettext ncurses avahi dbus dbus_glib python
6453       libtool automake autoconf;
6454     GStreamer = gst_all.gstreamer;
6455     inherit (gtkLibs) gtk glib;
6456     inherit (gnome) startupnotification GConf ;
6457     inherit (xlibs) libXScrnSaver scrnsaverproto libX11 xproto kbproto;
6458   };
6459   funpidgin = carrier;
6461   cddiscid = import ../applications/audio/cd-discid {
6462     inherit fetchurl stdenv;
6463   };
6465   cdparanoia = cdparanoiaIII;
6467   cdparanoiaIII = import ../applications/audio/cdparanoia {
6468     inherit fetchurl stdenv;
6469   };
6471   cdrtools = import ../applications/misc/cdrtools {
6472     inherit fetchurl stdenv;
6473   };
6475   chatzilla =
6476     xulrunnerWrapper {
6477       launcher = "chatzilla";
6478       application = import ../applications/networking/irc/chatzilla {
6479         inherit fetchurl stdenv unzip;
6480       };
6481     };
6483   chrome = import ../applications/networking/browsers/chromium {
6484     inherit stdenv fetchurl ffmpeg cairo nspr nss fontconfig freetype alsaLib makeWrapper unzip expat zlib bzip2 libpng;
6485     inherit (xlibs) libX11 libXext libXrender libXt ;
6486     inherit (gtkLibs) gtk glib pango atk;
6487     inherit (gnome) GConf;
6488     libjpeg = libjpeg62;
6489   };
6491   chromeWrapper = wrapFirefox chrome "chrome" "";
6494   cinelerra = import ../applications/video/cinelerra {
6495     inherit lib fetchurl sourceFromHead stdenv
6496       automake autoconf libtool
6497       a52dec alsaLib   lame libavc1394 libiec61883 libraw1394 libsndfile
6498       libvorbis libogg libjpeg libtiff freetype mjpegtools x264
6499       gettext faad2 faac libtheora libpng libdv perl nasm e2fsprogs
6500       pkgconfig;
6501       openexr = openexr_1_6_1;
6502     fftw = fftwSinglePrec;
6503     inherit (xorg) libXxf86vm libXv libXi libX11 xextproto;
6504     inherit (gnome) esound;
6505   };
6507   compizBase = (builderDefsPackage (import ../applications/window-managers/compiz/0.8.0.nix)) {
6508     inherit lib stringsWithDeps builderDefs;
6509     inherit fetchurl stdenv pkgconfig libpng mesa perl perlXMLParser libxslt gettext
6510       intltool binutils;
6511     inherit (xorg) libXcomposite libXfixes libXdamage libXrandr
6512       libXinerama libICE libSM libXrender xextproto compositeproto fixesproto
6513       damageproto randrproto xineramaproto renderproto kbproto xproto libX11
6514       libxcb;
6515     inherit (gnome) startupnotification libwnck GConf;
6516     inherit (gtkLibs) gtk;
6517     inherit (gnome) libgnome libgnomeui metacity
6518       glib pango libglade libgtkhtml gtkhtml
6519       libgnomecanvas libgnomeprint
6520       libgnomeprintui gnomepanel;
6521     gnomegtk = gnome.gtk;
6522     inherit librsvg fuse;
6523     inherit dbus dbus_glib;
6524   };
6526   compiz = compizBase.passthru.function (x : x // {
6527     extraConfigureFlags = getConfig ["compiz" "extraConfigureFlags"] [];
6528   });
6530   compizFusion = import ../applications/window-managers/compiz-fusion {
6531     version = getConfig ["compizFusion" "version"] "0.7.8";
6532     inherit compiz;
6533     inherit stringsWithDeps lib builderDefs;
6534     inherit fetchurl stdenv pkgconfig libpng mesa perl perlXMLParser libxslt libxml2;
6535     inherit (xorg) libXcomposite libXfixes libXdamage libXrandr
6536       libXinerama libICE libSM libXrender xextproto;
6537     inherit (gnome) startupnotification libwnck GConf;
6538     inherit (gtkLibs) gtk;
6539     inherit (gnome) libgnome libgnomeui metacity
6540       glib pango libglade libgtkhtml gtkhtml
6541       libgnomecanvas libgnomeprint
6542       libgnomeprintui gnomepanel gnomedesktop;
6543     gnomegtk = gnome.gtk;
6544     inherit librsvg fuse dbus dbus_glib git;
6545     inherit automake autoconf libtool intltool python pyrex gettext;
6546     inherit pygtk pycairo getopt libjpeg glxinfo;
6547     inherit (xorg) xvinfo xdpyinfo;
6548   };
6550   compizExtra = import ../applications/window-managers/compiz/extra.nix {
6551     inherit fetchurl stdenv pkgconfig compiz perl perlXMLParser dbus;
6552     inherit (gnome) GConf;
6553     inherit (gtkLibs) gtk;
6554   };
6556   cinepaint = import ../applications/graphics/cinepaint {
6557     inherit stdenv fetchcvs cmake pkgconfig freetype fontconfig lcms flex libtiff
6558       libjpeg libpng libexif zlib perl mesa perlXMLParser python pygtk gettext
6559       intltool babl gegl automake autoconf libtool;
6560     inherit (xlibs) makedepend libX11 xf86vidmodeproto xineramaproto libXmu
6561       libXext libXpm libXxf86vm;
6562     inherit (gtkLibs) gtk glib;
6563     openexr = openexr_1_6_1;
6564     fltk = fltk11;
6565   };
6567   codeville = builderDefsPackage (import ../applications/version-management/codeville/0.8.0.nix) {
6568     inherit makeWrapper;
6569     python = pythonFull;
6570   };
6572   comical = import ../applications/graphics/comical {
6573     inherit stdenv fetchurl utillinux zlib;
6574     wxGTK = wxGTK26;
6575   };
6577   cuneiform = builderDefsPackage (import ../tools/graphics/cuneiform) {
6578     inherit cmake patchelf;
6579     imagemagick=imagemagick;
6580   };
6582   cvs = import ../applications/version-management/cvs {
6583     inherit fetchurl stdenv nano;
6584   };
6586   cvsps = import ../applications/version-management/cvsps {
6587     inherit fetchurl stdenv cvs zlib;
6588   };
6590   cvs2svn = import ../applications/version-management/cvs2svn {
6591     inherit fetchurl stdenv python makeWrapper;
6592   };
6594   d4x = import ../applications/misc/d4x {
6595     inherit fetchurl stdenv pkgconfig openssl boost;
6596     inherit (gtkLibs) gtk glib;
6597   };
6599   darcs = haskellPackages_ghc6104.darcs;
6601   dia = import ../applications/graphics/dia {
6602     inherit stdenv fetchurl pkgconfig perl perlXMLParser
6603       libxml2 gettext python libxml2Python docbook5 docbook_xsl
6604       libxslt intltool;
6605     inherit (gtkLibs) gtk glib;
6606   };
6608   djvulibre = import ../applications/misc/djvulibre {
6609     inherit stdenv fetchurl libjpeg libtiff libungif zlib
6610       ghostscript libpng x11 mesa;
6611     qt = if (getConfig ["djvulibre" "qt3Frontend"] true) then qt3 else null;
6612     inherit (xlibs) libX11;
6613   };
6615   djview4 = import ../applications/graphics/djview {
6616     inherit fetchurl stdenv qt4 djvulibre;
6617   };
6619   dmenu = import ../applications/misc/dmenu {
6620     inherit lib fetchurl stdenv;
6621     inherit (xlibs) libX11 libXinerama;
6622   };
6624   dmtx = builderDefsPackage (import ../tools/graphics/dmtx) {
6625     inherit libpng libtiff libjpeg imagemagick librsvg
6626       pkgconfig bzip2 zlib libtool;
6627     inherit (xlibs) libX11;
6628   };
6630   dvdauthor = import ../applications/video/dvdauthor {
6631     inherit fetchurl stdenv freetype libpng fribidi libxml2 libdvdread imagemagick;
6632   };
6634   dwm = import ../applications/window-managers/dwm {
6635     inherit fetchurl stdenv;
6636     inherit (xlibs) libX11 libXinerama;
6637   };
6639   eaglemode = import ../applications/misc/eaglemode {
6640     inherit fetchurl stdenv perl xineLib libjpeg libpng libtiff;
6641     inherit (xlibs) libX11;
6642   };
6644   eclipse = import ../applications/editors/eclipse {
6645     inherit stdenv fetchurl patchelf makeDesktopItem makeWrapper freetype fontconfig jre zlib;
6646     # GTK 2.18 gives glitches such as mouse clicks on buttons not
6647     # working correctly.
6648     inherit (gtkLibs216) glib gtk;
6649     inherit (xlibs) libX11 libXext libXrender libXtst;
6650   };
6652   ed = import ../applications/editors/ed {
6653     inherit fetchurl stdenv;
6654   };
6656   elinks = import ../applications/networking/browsers/elinks {
6657     inherit stdenv fetchurl python perl ncurses x11 zlib openssl spidermonkey
6658       guile bzip2;
6659   };
6661   elvis = import ../applications/editors/elvis {
6662     inherit fetchurl stdenv ncurses;
6663   };
6665   emacs = emacs23;
6667   emacs22 = import ../applications/editors/emacs-22 {
6668     inherit fetchurl stdenv ncurses pkgconfig x11 Xaw3d;
6669     inherit (xlibs) libXaw libXpm;
6670     inherit (gtkLibs) gtk;
6671     xaw3dSupport = getPkgConfig "emacs" "xaw3dSupport" false;
6672     gtkGUI = getPkgConfig "emacs" "gtkSupport" true;
6673   };
6675   emacs23 = import ../applications/editors/emacs-23 {
6676     inherit fetchurl stdenv ncurses pkgconfig x11 Xaw3d
6677       libpng libjpeg libungif libtiff texinfo dbus;
6678     inherit (xlibs) libXaw libXpm libXft;
6679     inherit (gtkLibs) gtk;
6680     xawSupport = stdenv.isDarwin || getPkgConfig "emacs" "xawSupport" false;
6681     xaw3dSupport = getPkgConfig "emacs" "xaw3dSupport" false;
6682     gtkGUI = getPkgConfig "emacs" "gtkSupport" true;
6683     xftSupport = getPkgConfig "emacs" "xftSupport" true;
6684     dbusSupport = getPkgConfig "emacs" "dbusSupport" true;
6685   };
6687   emacsSnapshot = lowPrio (import ../applications/editors/emacs-snapshot {
6688     inherit fetchcvs stdenv ncurses pkgconfig x11 Xaw3d
6689       libpng libjpeg libungif libtiff texinfo dbus
6690       autoconf automake;
6691     inherit (xlibs) libXaw libXpm libXft;
6692     inherit (gtkLibs) gtk;
6693     xawSupport = getPkgConfig "emacs" "xawSupport" false;
6694     xaw3dSupport = getPkgConfig "emacs" "xaw3dSupport" false;
6695     gtkGUI = getPkgConfig "emacs" "gtkSupport" true;
6696     xftSupport = getPkgConfig "emacs" "xftSupport" true;
6697     dbusSupport = getPkgConfig "emacs" "dbusSupport" true;
6698   });
6700   emacsPackages = emacs: recurseIntoAttrs (rec {
6701     bbdb = import ../applications/editors/emacs-modes/bbdb {
6702       inherit fetchurl stdenv emacs texinfo ctags;
6703     };
6705     cedet = import ../applications/editors/emacs-modes/cedet {
6706       inherit fetchurl stdenv emacs;
6707     };
6709     cua = import ../applications/editors/emacs-modes/cua {
6710       inherit fetchurl stdenv;
6711     };
6713     ecb = import ../applications/editors/emacs-modes/ecb {
6714       inherit fetchurl stdenv emacs cedet jdee texinfo;
6715     };
6717     emacsSessionManagement = import ../applications/editors/emacs-modes/session-management-for-emacs {
6718       inherit fetchurl stdenv emacs;
6719     };
6721     emacsw3m = import ../applications/editors/emacs-modes/emacs-w3m {
6722       inherit fetchcvs stdenv emacs w3m imagemagick texinfo autoconf;
6723     };
6725     emms = import ../applications/editors/emacs-modes/emms {
6726       inherit fetchurl stdenv emacs texinfo mpg321 vorbisTools taglib
6727         alsaUtils;
6728     };
6730     jdee = import ../applications/editors/emacs-modes/jdee {
6731       # Requires Emacs 23, for `avl-tree'.
6732       inherit fetchsvn stdenv cedet ant emacs;
6733     };
6735     stratego = import ../applications/editors/emacs-modes/stratego {
6736       inherit fetchsvn stdenv;
6737     };
6739     haskellMode = import ../applications/editors/emacs-modes/haskell {
6740       inherit fetchurl stdenv emacs;
6741     };
6743     magit = import ../applications/editors/emacs-modes/magit {
6744       inherit fetchurl stdenv emacs texinfo;
6745     };
6747     maudeMode = import ../applications/editors/emacs-modes/maude {
6748       inherit fetchurl stdenv emacs;
6749     };
6751     nxml = import ../applications/editors/emacs-modes/nxml {
6752       inherit fetchurl stdenv;
6753     };
6755     prologMode = import ../applications/editors/emacs-modes/prolog {
6756       inherit fetchurl stdenv;
6757     };
6759     proofgeneral = import ../applications/editors/emacs-modes/proofgeneral {
6760        inherit stdenv fetchurl emacs perl;
6761     };
6763     quack = import ../applications/editors/emacs-modes/quack {
6764       inherit fetchurl stdenv emacs;
6765     };
6767     remember = import ../applications/editors/emacs-modes/remember {
6768       inherit fetchurl stdenv texinfo emacs bbdb;
6769     };
6771     scalaMode = import ../applications/editors/emacs-modes/scala-mode {
6772       inherit fetchsvn stdenv emacs;
6773     };
6774   });
6776   emacs22Packages = emacsPackages emacs22;
6777   emacs23Packages = emacsPackages emacs23;
6779   evince = makeOverridable (import ../applications/misc/evince) {
6780     inherit fetchurl stdenv perl perlXMLParser gettext intltool
6781       pkgconfig poppler libspectre djvulibre libxslt
6782       dbus dbus_glib shared_mime_info which makeWrapper;
6783     inherit (gnome) gnomedocutils gnomeicontheme libgnome
6784       libgnomeui libglade glib gtk scrollkeeper gnome_keyring;
6785   };
6787   exrdisplay = import ../applications/graphics/exrdisplay {
6788     inherit fetchurl stdenv pkgconfig mesa which openexr_ctl;
6789     fltk = fltk20;
6790     openexr = openexr_1_6_1;
6791   };
6793   fbpanel = composedArgsAndFun (import ../applications/window-managers/fbpanel/4.12.nix) {
6794     inherit fetchurl stdenv builderDefs pkgconfig libpng libjpeg libtiff librsvg;
6795     inherit (gtkLibs) gtk;
6796     inherit (xlibs) libX11 libXmu libXpm;
6797   };
6799   fetchmail = import ../applications/misc/fetchmail {
6800     inherit stdenv fetchurl openssl;
6801   };
6803   grip = import ../applications/misc/grip {
6804     inherit fetchurl stdenv lib grip pkgconfig curl cdparanoia libid3tag;
6805     inherit (gtkLibs) gtk glib;
6806     inherit (gnome) libgnome libgnomeui vte;
6807   };
6809   gwenview = import ../applications/graphics/gwenview {
6810     inherit stdenv fetchurl exiv2 zlib libjpeg perl libpng expat qt3;
6811     inherit (kde3) kdelibs;
6812     inherit (xlibs) libXt libXext;
6813   };
6815   wavesurfer = import ../applications/misc/audio/wavesurfer {
6816     inherit fetchurl stdenv tcl tk snack makeWrapper;
6817   };
6819   wireshark = import ../applications/networking/sniffers/wireshark {
6820     inherit fetchurl stdenv perl pkgconfig libpcap flex bison;
6821     inherit (gtkLibs) gtk;
6822   };
6824   fbida = builderDefsPackage ../applications/graphics/fbida {
6825     inherit libjpeg libexif giflib libtiff libpng
6826       imagemagick ghostscript which curl pkgconfig
6827       freetype fontconfig;
6828   };
6830   fdupes = import ../tools/misc/fdupes {
6831     inherit fetchurl stdenv;
6832   };
6834   feh = import ../applications/graphics/feh {
6835     inherit fetchurl stdenv x11 imlib2 libjpeg libpng giblib;
6836   };
6838   firefox = firefox35;
6840   firefoxWrapper = firefox35Wrapper;
6842   firefox2 = lowPrio (import ../applications/networking/browsers/firefox/2.0.nix {
6843     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo;
6844     inherit (gtkLibs) gtk;
6845     inherit (gnome) libIDL;
6846     inherit (xlibs) libXi;
6847   });
6849   firefox2Wrapper = wrapFirefox firefox2 "firefox" "";
6851   firefox3Pkgs = lowPrio (import ../applications/networking/browsers/firefox/3.0.nix {
6852     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo
6853       python dbus dbus_glib freetype fontconfig bzip2 xlibs file;
6854     inherit (gtkLibs) gtk pango;
6855     inherit (gnome) libIDL;
6856   });
6858   firefox3 = firefox3Pkgs.firefox;
6859   xulrunner3 = firefox3Pkgs.xulrunner;
6860   firefox3Wrapper = wrapFirefox firefox3 "firefox" "";
6862   firefox35Pkgs = lowPrio (import ../applications/networking/browsers/firefox/3.5.nix {
6863     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo
6864       python dbus dbus_glib freetype fontconfig bzip2 xlibs file alsaLib
6865       nspr nss;
6866     inherit (gtkLibs) gtk pango;
6867     inherit (gnome) libIDL;
6868   });
6870   firefox35 = firefox35Pkgs.firefox;
6871   xulrunner35 = firefox35Pkgs.xulrunner;
6872   firefox35Wrapper = wrapFirefox firefox35 "firefox" "";
6874   flac = import ../applications/audio/flac {
6875     inherit fetchurl stdenv libogg;
6876   };
6878   flashplayer = flashplayer10;
6880   flashplayer9 = (
6881     import ../applications/networking/browsers/mozilla-plugins/flashplayer-9 {
6882       inherit fetchurl stdenv zlib alsaLib nss nspr fontconfig freetype expat;
6883       inherit (xlibs) libX11 libXext libXrender libXt ;
6884       inherit (gtkLibs) gtk glib pango atk;
6885     });
6887   flashplayer10 = (
6888     import ../applications/networking/browsers/mozilla-plugins/flashplayer-10 {
6889       inherit fetchurl stdenv zlib alsaLib curl nss nspr fontconfig freetype expat;
6890       inherit (xlibs) libX11 libXext libXrender libXt ;
6891       inherit (gtkLibs) gtk glib pango atk;
6892       debug = getConfig ["flashplayer" "debug"] false;
6893     });
6895   flite = import ../applications/misc/flite {
6896     inherit fetchurl stdenv;
6897   };
6899   freemind = import ../applications/misc/freemind {
6900     inherit fetchurl stdenv ant coreutils gnugrep;
6901     jdk = jdk;
6902     jre = jdk;
6903   };
6905   freepv = import ../applications/graphics/freepv {
6906     inherit fetchurl mesa freeglut libjpeg zlib cmake libxml2 libpng;
6907     stdenv = overrideGCC stdenv gcc43_wrapper2;
6908     inherit (xlibs) libX11 libXxf86vm;
6909   };
6911   xfontsel = import ../applications/misc/xfontsel {
6912     inherit fetchurl stdenv pkgconfig;
6913     inherit (xlibs) libX11 libXaw;
6914   };
6915   xlsfonts = import ../applications/misc/xlsfonts {
6916     inherit fetchurl stdenv pkgconfig;
6917     inherit (xlibs) libX11;
6918   };
6920   fspot = import ../applications/graphics/f-spot {
6921     inherit fetchurl stdenv perl perlXMLParser pkgconfig mono
6922             libexif libjpeg sqlite lcms libgphoto2 monoDLLFixer;
6923     inherit (gnome) libgnome libgnomeui;
6924     gtksharp = gtksharp1;
6925   };
6927   gimp = import ../applications/graphics/gimp {
6928     inherit fetchurl stdenv pkgconfig freetype fontconfig
6929       libtiff libjpeg libpng libexif zlib perl perlXMLParser
6930       python pygtk gettext xlibs intltool babl gegl;
6931     inherit (gnome) gtk libart_lgpl;
6932   };
6934   gimpPlugins = import ../applications/graphics/gimp/plugins { inherit pkgs gimp; };
6936   gitAndTools = recurseIntoAttrs (import ../applications/version-management/git-and-tools {
6937     inherit pkgs;
6938   });
6939   git = gitAndTools.git;
6941   gnucash = import ../applications/office/gnucash {
6942     inherit fetchurl stdenv pkgconfig libxml2 goffice enchant
6943       gettext intltool perl guile slibGuile swig isocodes bzip2 makeWrapper;
6944     inherit (gnome) gtk glib libglade libgnomeui libgtkhtml gtkhtml
6945       libgnomeprint;
6946     gconf = gnome.GConf;
6947   };
6949   qcad = import ../applications/misc/qcad {
6950     inherit fetchurl stdenv qt3 libpng;
6951     inherit (xlibs) libXext libX11;
6952   };
6954   qjackctl = import ../applications/audio/qjackctl {
6955     inherit fetchurl stdenv alsaLib jackaudio;
6956     qt4 = qt4;
6957   };
6959   gkrellm = import ../applications/misc/gkrellm {
6960     inherit fetchurl stdenv gettext pkgconfig;
6961     inherit (gtkLibs) glib gtk;
6962     inherit (xlibs) libX11 libICE libSM;
6963   };
6965   gnash = import ../applications/video/gnash {
6966     inherit fetchurl stdenv SDL SDL_mixer libogg libxml2 libjpeg mesa libpng
6967             boost freetype agg dbus curl pkgconfig x11 libtool lib libungif
6968             gettext makeWrapper ming dejagnu python;
6969     inherit (gtkLibs) glib gtk;
6970     inherit (gst_all) gstreamer gstPluginsBase gstFfmpeg;
6971   };
6973   gnome_mplayer = import ../applications/video/gnome-mplayer {
6974     inherit fetchurl stdenv pkgconfig dbus dbus_glib;
6975     inherit (gtkLibs) glib gtk;
6976     inherit (gnome) GConf;
6977   };
6979   gnunet = import ../applications/networking/p2p/gnunet {
6980     inherit fetchurl stdenv libextractor libmicrohttpd libgcrypt
6981       gmp curl libtool guile adns sqlite gettext zlib pkgconfig
6982       libxml2 ncurses findutils makeWrapper;
6983     inherit (gnome) gtk libglade;
6984     gtkSupport = getConfig [ "gnunet" "gtkSupport" ] true;
6985   };
6987   gocr = composedArgsAndFun (import ../applications/graphics/gocr/0.44.nix) {
6988     inherit builderDefs fetchurl stdenv;
6989   };
6991   gphoto2 = import ../applications/misc/gphoto2 {
6992     inherit fetchurl stdenv pkgconfig libgphoto2 libexif popt gettext
6993       libjpeg readline libtool;
6994   };
6996   gphoto2fs = builderDefsPackage ../applications/misc/gphoto2/gphotofs.nix {
6997     inherit libgphoto2 fuse pkgconfig glib;
6998   };
7000   gtkpod = import ../applications/audio/gtkpod {
7001     inherit stdenv fetchurl pkgconfig libgpod gettext perl perlXMLParser flex libid3tag libvorbis;
7002     inherit (gtkLibs) gtk glib;
7003     inherit (gnome) libglade;
7004   };
7006   qrdecode = builderDefsPackage (import ../tools/graphics/qrdecode) {
7007     inherit libpng libcv;
7008   };
7010   qrencode = builderDefsPackage (import ../tools/graphics/qrencode) {
7011     inherit libpng pkgconfig;
7012   };
7014   gecko_mediaplayer = import ../applications/networking/browsers/mozilla-plugins/gecko-mediaplayer {
7015     inherit fetchurl stdenv pkgconfig dbus dbus_glib x11 gnome_mplayer MPlayer glib;
7016     inherit (gnome) GConf;
7017     browser = firefox35;
7018   };
7020   geeqie = import ../applications/graphics/geeqie {
7021     inherit fetchurl stdenv pkgconfig libpng lcms exiv2
7022       intltool gettext;
7023     inherit (gtkLibs) gtk;
7024   };
7026   gqview = import ../applications/graphics/gqview {
7027     inherit fetchurl stdenv pkgconfig libpng;
7028     inherit (gtkLibs) gtk;
7029   };
7031   googleearth = import ../applications/misc/googleearth {
7032       inherit stdenv fetchurl glibc mesa freetype zlib glib;
7033       inherit (xlibs) libSM libICE libXi libXv libXrender libXrandr libXfixes
7034         libXcursor libXinerama libXext libX11;
7035       inherit patchelf05;
7036     };
7038   gpsbabel = import ../applications/misc/gpsbabel {
7039     inherit fetchurl stdenv zlib expat;
7040   };
7042   gpscorrelate = import ../applications/misc/gpscorrelate {
7043     inherit fetchurl stdenv pkgconfig exiv2 libxml2
7044       libxslt docbook_xsl docbook_xml_dtd_42;
7045     inherit (gtkLibs) gtk;
7046   };
7048   gpsd = import ../servers/gpsd {
7049     inherit fetchurl stdenv pkgconfig dbus dbus_glib
7050       ncurses makeWrapper libxslt xmlto;
7051     inherit (xlibs) libX11 libXt libXpm libXaw libXext;
7053     # We need a Python with NCurses bindings.
7054     python = pythonFull;
7055   };
7057   gv = import ../applications/misc/gv {
7058     inherit fetchurl stdenv Xaw3d ghostscriptX;
7059   };
7061   hello = makeOverridable (import ../applications/misc/hello/ex-2) {
7062     inherit fetchurl stdenv;
7063   };
7065   hugin = import ../applications/graphics/hugin {
7066     inherit fetchurl cmake panotools libtiff libpng boost pkgconfig
7067       exiv2 gettext ilmbase enblendenfuse autopanosiftc mesa freeglut
7068       glew;
7069     inherit wxGTK;
7070     inherit (xlibs) libXi libXmu;
7071     openexr = openexr_1_6_1;
7072     stdenv = overrideGCC stdenv gcc43_wrapper2;
7073   };
7075   i810switch = import ../applications/misc/i810 {
7076     inherit fetchurl stdenv pciutils;
7077   };
7079   icecat3 = lowPrio (import ../applications/networking/browsers/icecat-3 {
7080     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo
7081       python dbus dbus_glib freetype fontconfig bzip2 xlibs alsaLib;
7082     inherit (gnome) libIDL libgnomeui gnomevfs gtk pango;
7083     inherit (pythonPackages) ply;
7084   });
7086   icecatXulrunner3 = lowPrio (import ../applications/networking/browsers/icecat-3 {
7087     application = "xulrunner";
7088     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo
7089       python dbus dbus_glib freetype fontconfig bzip2 xlibs alsaLib;
7090     inherit (gnome) libIDL libgnomeui gnomevfs gtk pango;
7091     inherit (pythonPackages) ply;
7092   });
7094   icecat3Xul =
7095     (symlinkJoin "icecat-with-xulrunner-${icecat3.version}"
7096        [ icecat3 icecatXulrunner3 ])
7097     // { inherit (icecat3) gtk isFirefox3Like meta; };
7099   icecatWrapper = wrapFirefox icecat3Xul "icecat" "";
7101   icewm = import ../applications/window-managers/icewm {
7102     inherit fetchurl stdenv gettext libjpeg libtiff libungif libpng imlib xlibs;
7103   };
7105   ikiwiki = makeOverridable (import ../applications/misc/ikiwiki) {
7106     inherit fetchurl stdenv perl gettext makeWrapper lib;
7107     inherit (perlPackages) TextMarkdown URI HTMLParser HTMLScrubber
7108       HTMLTemplate TimeDate CGISession DBFile CGIFormBuilder;
7109     inherit git; # The RCS should be optional
7110     monotone = null;
7111     extraUtils = [];
7112   };
7114   imagemagick = import ../applications/graphics/ImageMagick {
7115     inherit stdenv fetchurl bzip2 freetype graphviz ghostscript
7116       libjpeg libpng libtiff libxml2 zlib libtool;
7117     inherit (xlibs) libX11;
7118   };
7120   imagemagickBig = import ../applications/graphics/ImageMagick {
7121     inherit stdenv fetchurl bzip2 freetype graphviz ghostscript
7122       libjpeg libpng libtiff libxml2 zlib tetex librsvg libtool;
7123     inherit (xlibs) libX11;
7124   };
7126   # Impressive, formerly known as "KeyJNote".
7127   impressive = import ../applications/office/impressive {
7128     inherit fetchurl stdenv xpdf pil pyopengl pygame makeWrapper lib python;
7130     # XXX These are the PyOpenGL dependencies, which we need here.
7131     inherit setuptools mesa freeglut;
7132   };
7134   inkscape = import ../applications/graphics/inkscape {
7135     inherit fetchurl stdenv perl perlXMLParser pkgconfig zlib popt
7136       libxml2 libxslt libpng boehmgc libsigcxx lcms boost gettext
7137       cairomm python pyxml makeWrapper intltool gsl;
7138     inherit (pythonPackages) lxml;
7139     inherit (gtkLibs) gtk glib glibmm gtkmm;
7140     inherit (xlibs) libXft;
7141   };
7143   ion3 = import ../applications/window-managers/ion-3 {
7144     inherit fetchurl stdenv x11 gettext groff;
7145     lua = lua5;
7146   };
7148   iptraf = import ../applications/networking/iptraf {
7149     inherit fetchurl stdenv ncurses;
7150   };
7152   irssi = import ../applications/networking/irc/irssi {
7153     inherit stdenv fetchurl pkgconfig ncurses openssl glib;
7154   };
7156   jackmeter = import ../applications/audio/jackmeter {
7157     inherit fetchurl stdenv lib jackaudio pkgconfig;
7158   };
7160   jedit = import ../applications/editors/jedit {
7161     inherit fetchurl stdenv ant;
7162   };
7164   jigdo = import ../applications/misc/jigdo {
7165     inherit fetchurl stdenv db45 libwpd bzip2;
7166     inherit (gtkLibs) gtk;
7167   };
7169   joe = import ../applications/editors/joe {
7170     inherit stdenv fetchurl;
7171   };
7173   jwm = import ../applications/window-managers/jwm {
7174     inherit fetchurl stdenv;
7175     inherit (xlibs) libX11 libXext libXinerama libXpm libXft;
7176   };
7178   k3b = import ../applications/misc/k3b {
7179     inherit stdenv fetchurl kdelibs x11 zlib libpng libjpeg perl qt3;
7180   };
7182   kbasket = import ../applications/misc/kbasket {
7183     inherit stdenv fetchurl kdelibs x11 zlib libpng libjpeg
7184       perl qt3 gpgme libgpgerror;
7185   };
7187   kermit = import ../tools/misc/kermit {
7188     inherit fetchurl stdenv ncurses;
7189   };
7191   kino = import ../applications/video/kino {
7192     inherit fetchurl stdenv pkgconfig libxml2 perl perlXMLParser
7193       libdv libraw1394 libavc1394 libiec61883 x11 gettext cairo; /* libavformat */
7194     inherit libsamplerate ffmpeg;
7195     inherit (gnome) libglade gtk glib;
7196     inherit (xlibs) libXv libX11;
7197     inherit (gtkLibs) pango;
7198     # #  optional
7199     #  inherit ffmpeg2theora sox, vorbis-tools lame mjpegtools dvdauthor 'Q'dvdauthor growisofs mencoder;
7200   };
7202   kile = import ../applications/editors/kile {
7203     inherit stdenv fetchurl perl arts kdelibs zlib libpng libjpeg freetype expat;
7204     inherit (xlibs) libX11 libXt libXext libXrender libXft;
7205     qt = qt3;
7206   };
7208   konversation = import ../applications/networking/irc/konversation {
7209     inherit fetchurl stdenv perl arts kdelibs zlib libpng libjpeg expat;
7210     inherit (xlibs) libX11 libXt libXext libXrender libXft;
7211     qt = qt3;
7212   };
7214   kphone = import ../applications/networking/kphone {
7215     inherit fetchurl lib autoconf automake libtool pkgconfig openssl libpng alsaLib;
7216     qt = qt3;
7217     inherit (xlibs) libX11 libXext libXt libICE libSM;
7218     stdenv = overrideGCC stdenv gcc42; # I'm to lazy to clean up header files
7219   };
7221   kuickshow = import ../applications/graphics/kuickshow {
7222     inherit fetchurl stdenv kdelibs arts libpng libjpeg libtiff libungif imlib expat perl;
7223     inherit (xlibs) libX11 libXext libSM;
7224     qt = qt3;
7225   };
7227   lame = import ../applications/audio/lame {
7228     inherit fetchurl stdenv;
7229   };
7231   ladspaH = import ../applications/audio/ladspa-plugins/ladspah.nix {
7232     inherit fetchurl stdenv builderDefs stringsWithDeps;
7233   };
7235   ladspaPlugins = import ../applications/audio/ladspa-plugins {
7236     inherit fetchurl stdenv builderDefs stringsWithDeps fftw ladspaH pkgconfig;
7237   };
7239   ldcpp = composedArgsAndFun (import ../applications/networking/p2p/ldcpp/1.0.3.nix) {
7240     inherit builderDefs scons pkgconfig bzip2 openssl;
7241     inherit (gtkLibs) gtk;
7242     inherit (gnome) libglade;
7243     inherit (xlibs) libX11;
7244   };
7246   links = import ../applications/networking/browsers/links {
7247     inherit fetchurl stdenv;
7248   };
7250   ledger = import ../applications/office/ledger {
7251     inherit stdenv fetchurl emacs gmp pcre;
7252   };
7254   links2 = (builderDefsPackage ../applications/networking/browsers/links2) {
7255     inherit fetchurl stdenv bzip2 zlib libjpeg libpng libtiff
7256       gpm openssl SDL SDL_image SDL_net pkgconfig;
7257     inherit (xlibs) libX11 libXau xproto libXt;
7258   };
7260   lynx = import ../applications/networking/browsers/lynx {
7261     inherit fetchurl stdenv ncurses openssl;
7262   };
7264   lyx = import ../applications/misc/lyx {
7265    inherit fetchurl stdenv texLive python;
7266    qt = qt4;
7267   };
7269   mercurial = import ../applications/version-management/mercurial {
7270     inherit fetchurl stdenv makeWrapper getConfig tk;
7271     guiSupport = getConfig ["mercurial" "guiSupport"] false; # for hgk (gitk gui for hg)
7272     python = # allow cloning sources from https servers.
7273       if getConfig ["mercurial" "httpsSupport"] true
7274       then pythonFull
7275       else pythonBase;
7276   };
7278   meshlab = import ../applications/graphics/meshlab {
7279     inherit fetchurl stdenv bzip2;
7280     qt = qt4;
7281   };
7283   midori = builderDefsPackage (import ../applications/networking/browsers/midori) {
7284     inherit imagemagick intltool python pkgconfig webkit libxml2
7285       which gettext makeWrapper file libidn sqlite docutils libnotify;
7286     inherit (gtkLibs) gtk glib;
7287     inherit (gnome28) gtksourceview libsoup;
7288   };
7290   minicom = import ../tools/misc/minicom {
7291     inherit fetchurl stdenv ncurses;
7292   };
7294   monodevelop = import ../applications/editors/monodevelop {
7295     inherit fetchurl stdenv file mono gtksourceviewsharp
7296             gtkmozembedsharp monodoc perl perlXMLParser pkgconfig;
7297     inherit (gnome) gnomevfs libbonobo libglade libgnome GConf glib gtk;
7298     mozilla = firefox;
7299     gtksharp = gtksharp2;
7300   };
7302   monodoc = import ../applications/editors/monodoc {
7303     inherit fetchurl stdenv mono pkgconfig;
7304     gtksharp = gtksharp1;
7305   };
7307   monotone = import ../applications/version-management/monotone {
7308     inherit stdenv fetchurl boost zlib botan libidn pcre
7309       sqlite lib perl;
7310     lua = lua5;
7311   };
7313   monotoneViz = builderDefsPackage (import ../applications/version-management/monotone-viz/mtn-head.nix) {
7314     inherit ocaml lablgtk graphviz pkgconfig autoconf automake libtool;
7315     inherit (gnome) gtk libgnomecanvas glib;
7316   };
7318   mozilla = import ../applications/networking/browsers/mozilla {
7319     inherit fetchurl pkgconfig stdenv perl zip;
7320     inherit (gtkLibs) gtk;
7321     inherit (gnome) libIDL;
7322     inherit (xlibs) libXi;
7323   };
7325   mozplugger = builderDefsPackage (import ../applications/networking/browsers/mozilla-plugins/mozplugger) {
7326     inherit firefox;
7327     inherit (xlibs) libX11 xproto;
7328   };
7330   mpg321 = import ../applications/audio/mpg321 {
7331     inherit stdenv fetchurl libao libmad libid3tag zlib;
7332   };
7334   MPlayer = import ../applications/video/MPlayer {
7335     inherit fetchurl stdenv freetype x11 zlib libtheora libcaca freefont_ttf libdvdnav
7336       cdparanoia mesa pkgconfig unzip amrnb amrwb;
7337     inherit (xlibs) libX11 libXv libXinerama libXrandr;
7338     alsaSupport = true;
7339     alsa = alsaLib;
7340     theoraSupport = true;
7341     cacaSupport = true;
7342     xineramaSupport = true;
7343     randrSupport = true;
7344     cddaSupport = true;
7345     amrSupport = getConfig [ "MPlayer" "amr" ] false;
7346   };
7348   MPlayerPlugin = browser:
7349     import ../applications/networking/browsers/mozilla-plugins/mplayerplug-in {
7350       inherit browser;
7351       inherit fetchurl stdenv pkgconfig gettext;
7352       inherit (xlibs) libXpm;
7353       # !!! should depend on MPlayer
7354     };
7356   MPlayerTrunk = import ../applications/video/MPlayer/trunk.nix {
7357     inherit fetchurl sourceFromHead stdenv freetype x11 zlib libtheora libcaca
7358       freefont_ttf libdvdnav cdparanoia mesa pkgconfig jackaudio;
7359     inherit (xlibs) libX11 libXv libXinerama libXrandr;
7360     alsaSupport = true;
7361     alsa = alsaLib;
7362     theoraSupport = true;
7363     cacaSupport = true;
7364     xineramaSupport = true;
7365     randrSupport = true;
7366     cddaSupport = true;
7367   };
7369   mrxvt = import ../applications/misc/mrxvt {
7370     inherit lib fetchurl stdenv freetype pkgconfig which;
7371     inherit (xlibs) libXaw xproto libXt libX11 libSM libICE libXft
7372       libXi inputproto;
7373   };
7375   multisync = import ../applications/misc/multisync {
7376     inherit fetchurl stdenv autoconf automake libtool pkgconfig;
7377     inherit (gnome) gtk glib ORBit2 libbonobo libgnomeui GConf;
7378   };
7380   mutt = import ../applications/networking/mailreaders/mutt {
7381     inherit fetchurl stdenv ncurses which openssl gdbm perl;
7382   };
7384   msmtp = import ../applications/networking/msmtp {
7385     inherit fetchurl stdenv;
7386   };
7388   mythtv = import ../applications/video/mythtv {
7389     inherit fetchurl stdenv which x11 xlibs lame zlib mesa freetype perl alsaLib;
7390     qt3 = qt3mysql;
7391   };
7393   nano = import ../applications/editors/nano {
7394     inherit fetchurl stdenv ncurses gettext;
7395   };
7397   nedit = import ../applications/editors/nedit {
7398       inherit fetchurl stdenv x11;
7399       inherit (xlibs) libXpm;
7400       motif = lesstif;
7401     };
7403   netsurfBrowser = netsurf.browser;
7404   netsurf = recurseIntoAttrs (import ../applications/networking/browsers/netsurf { inherit pkgs; });
7406   nvi = import ../applications/editors/nvi {
7407     inherit fetchurl stdenv ncurses;
7408   };
7410   openoffice = import ../applications/office/openoffice {
7411     inherit fetchurl stdenv pam python tcsh libxslt perl zlib libjpeg
7412       expat pkgconfig freetype fontconfig libwpd libxml2 db4 sablotron
7413       curl libsndfile flex zip unzip libmspack getopt file neon cairo
7414       which icu jdk ant cups openssl bison boost gperf cppunit;
7415     inherit (xlibs) libXaw libXext libX11 libXtst libXi libXinerama;
7416     inherit (gtkLibs) gtk;
7417     inherit (perlPackages) ArchiveZip CompressZlib;
7418     inherit (gnome) GConf ORBit2;
7419   };
7421   opera = import ../applications/networking/browsers/opera {
7422     inherit fetchurl zlib glibc stdenv makeDesktopItem;
7423     inherit (xlibs) libX11 libSM libICE libXt libXext;
7424     qt = qt3;
7425   };
7427   pan = import ../applications/networking/newsreaders/pan {
7428     inherit fetchurl stdenv pkgconfig perl pcre gmime gettext;
7429     inherit (gtkLibs) gtk;
7430     spellChecking = false;
7431   };
7433   panotools = import ../applications/graphics/panotools {
7434     inherit stdenv fetchsvn libpng libjpeg libtiff automake libtool autoconf;
7435   };
7437   pavucontrol = import ../applications/audio/pavucontrol {
7438     inherit fetchurl stdenv pkgconfig pulseaudio libsigcxx
7439       libcanberra intltool gettext;
7440     inherit (gtkLibs) gtkmm;
7441     inherit (gnome) libglademm;
7442   };
7444   paraview = import ../applications/graphics/paraview {
7445     inherit fetchurl cmake qt4;
7446     stdenv = overrideGCC stdenv gcc43_wrapper2;
7447   };
7449   partitionManager = import ../tools/misc/partition-manager {
7450     inherit fetchurl stdenv lib cmake pkgconfig gettext parted libuuid perl;
7451     kde = kde43;
7452     qt = qt4;
7453   };
7455   pidgin = import ../applications/networking/instant-messengers/pidgin {
7456     inherit fetchurl stdenv pkgconfig perl perlXMLParser libxml2 nss nspr farsight2 python
7457       gtkspell aspell gettext ncurses avahi dbus dbus_glib lib intltool libidn;
7458     openssl = if (getConfig ["pidgin" "openssl"] true) then openssl else null;
7459     gnutls = if (getConfig ["pidgin" "gnutls"] false) then gnutls else null;
7460     GStreamer = gst_all.gstreamer;
7461     inherit (gtkLibs) gtk;
7462     inherit (gnome) startupnotification;
7463     inherit (xlibs) libXScrnSaver;
7464     inherit (gst_all) gstPluginsBase;
7465   };
7467   pidginlatex = composedArgsAndFun (import ../applications/networking/instant-messengers/pidgin-plugins/pidgin-latex) {
7468     inherit fetchurl stdenv pkgconfig ghostscript pidgin texLive;
7469     imagemagick = imagemagickBig;
7470     inherit (gtkLibs) glib gtk;
7471   };
7473   pidginlatexSF = builderDefsPackage
7474     (import ../applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix)
7475     {
7476       inherit pkgconfig pidgin texLive imagemagick which;
7477       inherit (gtkLibs) glib gtk;
7478     };
7480   pidginotr = import ../applications/networking/instant-messengers/pidgin-plugins/otr {
7481     inherit fetchurl stdenv libotr pidgin;
7482   };
7484   pinfo = import ../applications/misc/pinfo {
7485     inherit fetchurl stdenv ncurses readline;
7486   };
7488   pqiv = import ../applications/graphics/pqiv {
7489     inherit fetchurl stdenv getopt which pkgconfig;
7490     inherit (gtkLibs) gtk;
7491   };
7493   # perhaps there are better apps for this task? It's how I had configured my preivous system.
7494   # And I don't want to rewrite all rules
7495   procmail = import ../applications/misc/procmail {
7496     inherit fetchurl stdenv autoconf;
7497   };
7499   pstree = import ../applications/misc/pstree {
7500     inherit stdenv fetchurl;
7501   };
7503   pythonmagick = import ../applications/graphics/PythonMagick {
7504     inherit fetchurl stdenv pkgconfig imagemagick boost python;
7505   };
7507   qemu = import ../applications/virtualization/qemu/0.12.1.nix {
7508     inherit stdenv fetchurl SDL zlib which;
7509   };
7511   qemuSVN = import ../applications/virtualization/qemu/svn-6642.nix {
7512     inherit fetchsvn SDL zlib which stdenv;
7513   };
7515   qemuImage = composedArgsAndFun (import ../applications/virtualization/qemu/linux-img/0.2.nix) {
7516     inherit builderDefs fetchurl stdenv;
7517   };
7519   qtpfsgui = import ../applications/graphics/qtpfsgui {
7520     inherit fetchurl stdenv exiv2 libtiff fftw qt4 ilmbase;
7521     openexr = openexr_1_6_1;
7522   };
7524   ratpoison = import ../applications/window-managers/ratpoison {
7525     inherit fetchurl stdenv fontconfig readline;
7526     inherit (xlibs) libX11 inputproto libXt libXpm libXft
7527       libXtst xextproto libXi;
7528   };
7530   rcs = import ../applications/version-management/rcs {
7531     inherit fetchurl stdenv;
7532   };
7534   rdesktop = import ../applications/networking/remote/rdesktop {
7535     inherit fetchurl stdenv openssl;
7536     inherit (xlibs) libX11;
7537   };
7539   RealPlayer =
7540     (import ../applications/video/RealPlayer {
7541       inherit fetchurl stdenv;
7542       inherit (gtkLibs) glib pango atk gtk;
7543       inherit (xlibs) libX11;
7544       libstdcpp5 = gcc33.gcc;
7545     });
7547   rsync = import ../applications/networking/sync/rsync {
7548     inherit fetchurl stdenv acl perl;
7549     enableACLs = !stdenv.isDarwin;
7550   };
7552   rxvt = import ../applications/misc/rxvt {
7553     inherit lib fetchurl stdenv;
7554     inherit (xlibs) libXt libX11;
7555   };
7557   # = urxvt
7558   rxvt_unicode = makeOverridable (import ../applications/misc/rxvt_unicode) {
7559     inherit lib fetchurl stdenv perl ncurses;
7560     inherit (xlibs) libXt libX11 libXft;
7561     perlSupport = false;
7562   };
7564   sbagen = import ../applications/misc/sbagen {
7565     inherit fetchurl stdenv;
7566   };
7568   scribus = import ../applications/office/scribus {
7569     inherit fetchurl stdenv lib cmake pkgconfig freetype lcms libtiff libxml2
7570       cairo python cups fontconfig zlib libjpeg libpng;
7571     inherit (gnome) libart_lgpl;
7572     inherit (xlibs) libXaw libXext libX11 libXtst libXi libXinerama;
7573     qt = qt3;
7574   };
7576   skype_linux = import ../applications/networking/skype {
7577     inherit fetchurl stdenv;
7578     inherit glibc alsaLib freetype fontconfig libsigcxx gcc;
7579     inherit (xlibs) libSM libICE libXi libXrender libXrandr libXfixes libXcursor
7580                     libXinerama libXext libX11 libXv libXScrnSaver;
7581   };
7583   slim = import ../applications/display-managers/slim {
7584     inherit fetchurl stdenv x11 libjpeg libpng freetype pam;
7585     inherit (xlibs) libXmu;
7586   };
7588   sndBase = builderDefsPackage (import ../applications/audio/snd) {
7589     inherit fetchurl stdenv stringsWithDeps lib fftw;
7590     inherit pkgconfig gmp gettext;
7591     inherit (xlibs) libXpm libX11;
7592     inherit (gtkLibs) gtk glib;
7593   };
7595   snd = sndBase.passthru.function {
7596     inherit guile mesa libtool jackaudio alsaLib;
7597   };
7599   sonicVisualizer = import ../applications/audio/sonic-visualizer {
7600     inherit fetchurl stdenv lib libsndfile libsamplerate bzip2 librdf
7601       rubberband jackaudio pulseaudio libmad
7602       libogg liblo alsaLib librdf_raptor librdf_rasqal redland fftw;
7603     inherit (vamp) vampSDK;
7604     qt = qt4;
7605   };
7607   sox = import ../applications/misc/audio/sox {
7608     inherit fetchurl stdenv lib composableDerivation;
7609     # optional features
7610     inherit alsaLib libao ffmpeg;
7611     inherit libsndfile libogg flac libmad lame libsamplerate;
7612     # Using the default nix ffmpeg I get this error when linking
7613     # .libs/libsox_la-ffmpeg.o: In function `audio_decode_frame':
7614     # /tmp/nix-7957-1/sox-14.0.0/src/ffmpeg.c:130: undefined reference to `avcodec_decode_audio2
7615     # That's why I'v added ffmpeg_svn
7616   };
7618   stumpwm = builderDefsPackage (import ../applications/window-managers/stumpwm) {
7619     inherit texinfo;
7620     clisp = clisp_2_44_1;
7621   };
7623   subversion = makeOverridable (import ../applications/version-management/subversion/default.nix) {
7624     inherit (pkgsOverriden) fetchurl stdenv apr aprutil expat swig zlib jdk python perl sqlite;
7625     neon = neon028;
7626     bdbSupport = getConfig ["subversion" "bdbSupport"] true;
7627     httpServer = getConfig ["subversion" "httpServer"] false;
7628     httpSupport = getConfig ["subversion" "httpSupport"] true;
7629     sslSupport = getConfig ["subversion" "sslSupport"] true;
7630     pythonBindings = getConfig ["subversion" "pythonBindings"] false;
7631     perlBindings = getConfig ["subversion" "perlBindings"] false;
7632     javahlBindings = supportsJDK && getConfig ["subversion" "javahlBindings"] false;
7633     compressionSupport = getConfig ["subversion" "compressionSupport"] true;
7634     httpd = pkgsOverriden.apacheHttpd;
7635   };
7637   svk = perlPackages.SVK;
7639   sylpheed = import ../applications/networking/mailreaders/sylpheed {
7640     inherit fetchurl stdenv pkgconfig openssl gpgme;
7641     inherit (gtkLibs) gtk;
7642     sslSupport = true;
7643     gpgSupport = true;
7644   };
7646   # linux only by now
7647   synergy = import ../applications/misc/synergy {
7648     inherit fetchurl sourceFromHead stdenv x11 automake autoconf;
7649     inherit (xlibs) xextproto libXtst inputproto libXi;
7650   };
7652   tahoelafs = import ../tools/networking/p2p/tahoe-lafs {
7653     inherit fetchurl lib unzip nettools buildPythonPackage;
7654     inherit (pythonPackages) twisted foolscap simplejson nevow zfec
7655       pycryptopp pysqlite;
7656   };
7658   tailor = builderDefsPackage (import ../applications/version-management/tailor) {
7659     inherit makeWrapper python;
7660   };
7662   tangogps = import ../applications/misc/tangogps {
7663     inherit fetchurl stdenv pkgconfig gettext curl libexif sqlite libxml2;
7664     inherit (gtkLibs) gtk;
7665     gconf = gnome.GConf;
7666   };
7668   /* does'nt work yet i686-linux only (32bit version)
7669   teamspeak_client = import ../applications/networking/instant-messengers/teamspeak/client.nix {
7670     inherit fetchurl stdenv;
7671     inherit glibc x11;
7672   };
7673   */
7675   taskJuggler = import ../applications/misc/taskjuggler {
7676     inherit stdenv fetchurl;
7677     inherit zlib libpng perl expat;
7678     qt = qt3;
7680     inherit (xlibs) libX11 libXext libSM libICE;
7682     # KDE support is not working yet.
7683     inherit kdelibs kdebase;
7684     withKde = pkgs.getConfig ["taskJuggler" "kde"] false;
7685   };
7687   thinkingRock = import ../applications/misc/thinking-rock {
7688     inherit fetchurl stdenv;
7689   };
7691   thunderbird = thunderbird2;
7693   thunderbird2 = import ../applications/networking/mailreaders/thunderbird/2.x.nix {
7694     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo;
7695     inherit (gtkLibs) gtk;
7696     inherit (gnome) libIDL;
7697     inherit (xlibs) libXi;
7698   };
7700   thunderbird3 = lowPrio (import ../applications/networking/mailreaders/thunderbird/3.x.nix {
7701     inherit fetchurl stdenv pkgconfig perl python dbus_glib zip bzip2 alsaLib nspr;
7702     inherit (gtkLibs) gtk;
7703     inherit (gnome) libIDL;
7704   });
7706   timidity = import ../tools/misc/timidity {
7707     inherit fetchurl stdenv lib alsaLib composableDerivation jackaudio ncurses;
7708   };
7710   tkcvs = import ../applications/version-management/tkcvs {
7711     inherit stdenv fetchurl tcl tk;
7712   };
7714   tla = import ../applications/version-management/arch {
7715     inherit fetchurl stdenv diffutils gnutar gnupatch which;
7716   };
7718   twinkle = import ../applications/networking/twinkle {
7719     inherit fetchurl stdenv lib pkgconfig commoncpp2 ccrtp openssl speex libjpeg perl
7720       libzrtpcpp libsndfile libxml2 file readline alsaLib;
7721     qt = qt3;
7722     boost = boostFull;
7723     inherit (xlibs) libX11 libXaw libICE libXext;
7724   };
7726   unison = import ../applications/networking/sync/unison {
7727     inherit fetchurl stdenv ocaml lablgtk makeWrapper;
7728     inherit (xorg) xset fontschumachermisc;
7729   };
7731   uucp = import ../tools/misc/uucp {
7732     inherit fetchurl stdenv;
7733   };
7735   uzbl = builderDefsPackage (import ../applications/networking/browsers/uzbl) {
7736     inherit pkgconfig webkit makeWrapper;
7737     inherit (gtkLibs) gtk glib;
7738     libsoup = gnome28.libsoup;
7739   };
7741   uzblExperimental = builderDefsPackage
7742         (import ../applications/networking/browsers/uzbl/experimental.nix) {
7743     inherit pkgconfig webkit makeWrapper;
7744     inherit (gtkLibs) gtk glib;
7745     libsoup = gnome28.libsoup;
7746   };
7748   valknut = import ../applications/networking/p2p/valknut {
7749     inherit fetchurl stdenv perl x11 libxml2 libjpeg libpng openssl dclib;
7750     qt = qt3;
7751   };
7753   viewMtn = builderDefsPackage (import ../applications/version-management/viewmtn/0.10.nix)
7754   {
7755     inherit monotone flup cheetahTemplate highlight ctags
7756       makeWrapper graphviz which python;
7757   };
7759   vim = import ../applications/editors/vim {
7760     inherit fetchurl stdenv ncurses lib;
7761   };
7763   vimHugeX = import ../applications/editors/vim {
7764     inherit fetchurl stdenv lib ncurses pkgconfig
7765       perl python tcl;
7766     inherit (xlibs) libX11 libXext libSM libXpm
7767       libXt libXaw libXau;
7768     inherit (gtkLibs) glib gtk;
7770     # Looks like python and perl can conflict
7771     flags = ["hugeFeatures" "gtkGUI" "x11Support"
7772       /*"perlSupport"*/ "pythonSupport" "tclSupport"];
7773   };
7775   vim_configurable = import ../applications/editors/vim/configurable.nix {
7776     inherit fetchurl stdenv ncurses pkgconfig composableDerivation lib;
7777     inherit (xlibs) libX11 libXext libSM libXpm
7778         libXt libXaw libXau libXmu;
7779     inherit (gtkLibs) glib gtk;
7780     features = "huge"; # one of  tiny, small, normal, big or huge
7781     # optional features by passing
7782     # python
7783     # TODO mzschemeinterp perlinterp
7784     inherit python perl tcl ruby /*x11*/;
7786     # optional features by flags
7787     flags = [ "X11" ]; # only flag "X11" by now
7788   };
7790   vlc = import ../applications/video/vlc {
7791     inherit fetchurl stdenv perl xlibs zlib a52dec libmad faad2
7792       ffmpeg libdvdnav pkgconfig hal fribidi qt4 freefont_ttf;
7793     dbus = dbus.libs;
7794     alsa = alsaLib;
7795   };
7797   vnstat = import ../applications/networking/vnstat {
7798     inherit fetchurl stdenv ncurses;
7799   };
7801   vorbisTools = import ../applications/audio/vorbis-tools {
7802     inherit fetchurl stdenv libogg libvorbis libao pkgconfig curl glibc
7803       speex flac;
7804   };
7806   vwm = import ../applications/window-managers/vwm {
7807     inherit fetchurl stdenv ncurses pkgconfig libviper libpseudo gpm glib libvterm;
7808   };
7810   w3m = import ../applications/networking/browsers/w3m {
7811     inherit fetchurl stdenv ncurses openssl boehmgc gettext zlib imlib2 x11;
7812     graphicsSupport = false;
7813   };
7815   # I'm keen on wmiimenu only  >wmii-3.5 no longer has it...
7816   wmiimenu = import ../applications/window-managers/wmii31 {
7817     libixp = libixp_for_wmii;
7818     inherit fetchurl /* fetchhg */ stdenv gawk;
7819     inherit (xlibs) libX11;
7820   };
7822   wmiiSnap = import ../applications/window-managers/wmii {
7823     libixp = libixp_for_wmii;
7824     inherit fetchurl /* fetchhg */ stdenv gawk;
7825     inherit (xlibs) libX11 xextproto libXt libXext;
7826     includeUnpack = getConfig ["stdenv" "includeUnpack"] false;
7827   };
7829   wordnet = import ../applications/misc/wordnet {
7830     inherit stdenv fetchurl tcl tk x11 makeWrapper;
7831   };
7833   wrapFirefox = browser: browserName: nameSuffix: import ../applications/networking/browsers/firefox/wrapper.nix {
7834     inherit stdenv nameSuffix makeWrapper makeDesktopItem browser browserName;
7835     plugins =
7836       let enableAdobeFlash = getConfig [ browserName "enableAdobeFlash" ] true;
7837       in
7838        ([]
7839         ++ lib.optional (!enableAdobeFlash) gnash
7840         ++ lib.optional enableAdobeFlash flashplayer
7841         # RealPlayer is disabled by default for legal reasons.
7842         ++ lib.optional (system != "i686-linux" && getConfig [browserName "enableRealPlayer"] false) RealPlayer
7843         ++ lib.optional (getConfig [browserName "enableMPlayer"] false) (MPlayerPlugin browser)
7844         ++ lib.optional (getConfig [browserName "enableGeckoMediaPlayer"] false) gecko_mediaplayer
7845         ++ lib.optional (supportsJDK && getConfig [browserName "jre"] false && jrePlugin ? mozillaPlugin) jrePlugin
7846        );
7847   };
7849   x11vnc = composedArgsAndFun (import ../tools/X11/x11vnc/0.9.3.nix) {
7850     inherit builderDefs openssl zlib libjpeg ;
7851     inherit (xlibs) libXfixes fixesproto libXdamage damageproto
7852       libX11 xproto libXtst libXinerama xineramaproto libXrandr randrproto
7853       libXext xextproto inputproto recordproto libXi renderproto
7854       libXrender;
7855   };
7857   x2vnc = composedArgsAndFun (import ../tools/X11/x2vnc/1.7.2.nix) {
7858     inherit builderDefs;
7859     inherit (xlibs) libX11 xproto xextproto libXext libXrandr randrproto;
7860   };
7862   xaos = builderDefsPackage (import ../applications/graphics/xaos) {
7863     inherit (xlibs) libXt libX11 libXext xextproto xproto;
7864     inherit gsl aalib zlib libpng intltool gettext perl;
7865   };
7867   xara = import ../applications/graphics/xara {
7868     inherit fetchurl stdenv autoconf automake libtool gettext cvs
7869       pkgconfig libxml2 zip libpng libjpeg shebangfix perl freetype;
7870     inherit (gtkLibs) gtk;
7871     wxGTK = wxGTK26;
7872   };
7874   xawtv = import ../applications/video/xawtv {
7875     inherit fetchurl stdenv ncurses libjpeg perl;
7876     inherit (xlibs) libX11 libXt libXft xproto libFS fontsproto libXaw libXpm libXext libSM libICE xextproto;
7877   };
7879   xchat = import ../applications/networking/irc/xchat {
7880     inherit fetchurl stdenv pkgconfig tcl;
7881     inherit (gtkLibs) gtk;
7882   };
7884   xchm = import ../applications/misc/xchm {
7885     inherit fetchurl stdenv chmlib wxGTK;
7886   };
7888   xcompmgr = import ../applications/window-managers/xcompmgr {
7889     inherit stdenv fetchurl pkgconfig;
7890     inherit (xlibs) libXcomposite libXfixes libXdamage libXrender;
7891   };
7893   /* Doesn't work yet
7895   xen = builderDefsPackage (import ../applications/virtualization/xen) {
7896     inherit python e2fsprogs gnutls pkgconfig libjpeg
7897       ncurses SDL libvncserver zlib;
7898     texLive = if (getConfig ["xen" "texLive"] false) then texLive else null;
7899     graphviz = if (getConfig ["xen" "graphviz"] false) then graphviz else null;
7900     ghostscript = if (getConfig ["xen" "ghostscript"] false) then ghostscript else null;
7901   }; */
7903   xfig = import ../applications/graphics/xfig {
7904     stdenv = overrideGCC stdenv gcc34;
7905     inherit fetchurl makeWrapper x11 Xaw3d libpng libjpeg;
7906     inherit (xlibs) imake libXpm libXmu libXi libXp;
7907   };
7909   xineUI = import ../applications/video/xine-ui {
7910     inherit fetchurl stdenv pkgconfig xlibs xineLib libpng readline ncurses curl;
7911   };
7913   xmms = import ../applications/audio/xmms {
7914     inherit fetchurl libogg libvorbis alsaLib;
7915     inherit (gnome) esound;
7916     inherit (gtkLibs1x) glib gtk;
7917     stdenv = overrideGCC stdenv gcc34; # due to problems with gcc 4.x
7918   };
7920   xneur = import ../applications/misc/xneur {
7921     inherit fetchurl stdenv pkgconfig pcre libxml2 aspell imlib2
7922       xosd libnotify cairo;
7923     GStreamer=gst_all.gstreamer;
7924     inherit (xlibs) libX11 libXpm libXt libXext libXi;
7925     inherit (gtkLibs) glib gtk pango atk;
7926   };
7928   xneur_0_8 = import ../applications/misc/xneur/0.8.nix {
7929     inherit fetchurl stdenv pkgconfig pcre libxml2 aspell imlib2 xosd glib;
7930     GStreamer = gst_all.gstreamer;
7931     inherit (xlibs) libX11 libXpm libXt libXext;
7932   };
7934   xournal = builderDefsPackage (import ../applications/graphics/xournal) {
7935     inherit ghostscript fontconfig freetype zlib
7936       poppler popplerData autoconf automake
7937       libtool pkgconfig;
7938     inherit (xlibs) xproto libX11;
7939     inherit (gtkLibs) gtk atk pango glib;
7940     inherit (gnome) libgnomeprint libgnomeprintui
7941       libgnomecanvas;
7942   };
7944   xpdf = import ../applications/misc/xpdf {
7945     inherit fetchurl stdenv x11 freetype t1lib;
7946     motif = lesstif;
7947     base14Fonts = "${ghostscript}/share/ghostscript/fonts";
7948   };
7950   xpra = import ../tools/X11/xpra {
7951     inherit stdenv fetchurl pkgconfig python pygtk xlibs makeWrapper;
7952     inherit (gtkLibs) gtk;
7953     pyrex = pyrex095;
7954   };
7956   xscreensaverBase = composedArgsAndFun (import ../applications/graphics/xscreensaver) {
7957     inherit stdenv fetchurl builderDefs lib pkgconfig bc perl intltool;
7958     inherit (xlibs) libX11 libXmu;
7959   };
7961   xscreensaver = xscreensaverBase.passthru.function {
7962     flags = ["GL" "gdkpixbuf" "DPMS" "gui" "jpeg"];
7963     inherit mesa libxml2 libjpeg;
7964     inherit (gtkLibs) gtk;
7965     inherit (gnome) libglade;
7966   };
7968   xterm = import ../applications/misc/xterm {
7969     inherit fetchurl stdenv ncurses freetype pkgconfig;
7970     inherit (xlibs) libXaw xproto libXt libX11 libSM libICE libXext libXft luit;
7971   };
7973   xtrace = import ../tools/X11/xtrace {
7974     inherit stdenv fetchurl;
7975     inherit (xlibs) libX11;
7976   };
7978   xlaunch = import ../tools/X11/xlaunch {
7979     inherit stdenv;
7980     inherit (xorg) xorgserver;
7981   };
7983   xmacro = import ../tools/X11/xmacro {
7984     inherit fetchurl stdenv;
7985     inherit (xlibs) libX11 libXi libXtst xextproto inputproto;
7986   };
7988   xmove = import ../applications/misc/xmove {
7989     inherit fetchurl stdenv;
7990     inherit (xlibs) libX11 libXi imake libXau;
7991     inherit (xorg) xauth;
7992   };
7994   xnee = builderDefsPackage (import ../tools/X11/xnee) {
7995     inherit (gtkLibs) gtk;
7996     inherit (xlibs) libX11 libXtst xextproto libXext
7997       inputproto libXi xproto recordproto;
7998     inherit pkgconfig;
7999   };
8001   xvidcap = import ../applications/video/xvidcap {
8002     inherit fetchurl stdenv perl perlXMLParser pkgconfig gettext lame;
8003     inherit (gtkLibs) gtk;
8004     inherit (gnome) scrollkeeper libglade;
8005     inherit (xlibs) libXmu libXext libXfixes libXdamage libX11;
8006   };
8008   yate = import ../applications/misc/yate {
8009     inherit sox speex openssl automake autoconf pkgconfig;
8010     inherit fetchurl stdenv lib composableDerivation;
8011     qt = qt4;
8012   };
8014   # doesn't compile yet - in case someone else want's to continue ..
8015   qgis = (import ../applications/misc/qgis/1.0.1-2.nix) {
8016     inherit composableDerivation fetchsvn stdenv flex lib
8017             ncurses fetchurl perl cmake gdal geos proj x11
8018             gsl libpng zlib bison
8019             sqlite glibc fontconfig freetype /* use libc from stdenv ? - to lazy now - Marc */;
8020     inherit (xlibs) libSM libXcursor libXinerama libXrandr libXrender;
8021     inherit (xorg) libICE;
8022     qt = qt4;
8024     # optional features
8025     # grass = "not yet supported" # cmake -D WITH_GRASS=TRUE  and GRASS_PREFX=..
8026   };
8028   zapping = import ../applications/video/zapping {
8029     inherit fetchurl stdenv pkgconfig perl python
8030             gettext zvbi libjpeg libpng x11
8031             rte perlXMLParser;
8032     inherit (gnome) scrollkeeper libgnomeui libglade esound;
8033     inherit (xlibs) libXv libXmu libXext;
8034     teletextSupport = true;
8035     jpegSupport = true;
8036     pngSupport = true;
8037     recordingSupport = true;
8038   };
8041   ### GAMES
8043   ballAndPaddle = import ../games/ball-and-paddle {
8044     inherit fetchurl stdenv SDL SDL_image SDL_mixer SDL_ttf guile gettext;
8045   };
8047   bsdgames = import ../games/bsdgames {
8048     inherit fetchurl stdenv ncurses openssl flex bison miscfiles;
8049   };
8051   castleCombat = import ../games/castle-combat {
8052     inherit fetchurl stdenv python pygame twisted lib numeric makeWrapper;
8053   };
8055   construoBase = composedArgsAndFun (import ../games/construo/0.2.2.nix) {
8056     inherit stdenv fetchurl builderDefs
8057       zlib;
8058     inherit (xlibs) libX11 xproto;
8059   };
8061   construo = construoBase.passthru.function {
8062     inherit mesa freeglut;
8063   };
8065   eduke32 = import ../games/eduke32 {
8066     inherit stdenv fetchurl SDL SDL_mixer unzip libvorbis mesa pkgconfig nasm makeDesktopItem;
8067     inherit (gtkLibs) gtk;
8068   };
8070   exult = import ../games/exult {
8071     inherit fetchurl SDL SDL_mixer zlib libpng unzip;
8072     stdenv = overrideGCC stdenv gcc42;
8073   };
8075   /*
8076   exultSnapshot = lowPrio (import ../games/exult/snapshot.nix {
8077     inherit fetchurl stdenv SDL SDL_mixer zlib libpng unzip
8078       autoconf automake libtool flex bison;
8079   });
8080   */
8082   fsg = import ../games/fsg {
8083     inherit stdenv fetchurl pkgconfig mesa;
8084     inherit (gtkLibs) glib gtk;
8085     inherit (xlibs) libX11 xproto;
8086     wxGTK = wxGTK28.override {unicode = false;};
8087   };
8089   fsgAltBuild = import ../games/fsg/alt-builder.nix {
8090     inherit stdenv fetchurl mesa;
8091     wxGTK = wxGTK28.override {unicode = false;};
8092     inherit (xlibs) libX11 xproto;
8093     inherit stringsWithDeps builderDefs;
8094   };
8096   gemrb = import ../games/gemrb {
8097     inherit fetchurl stdenv SDL openal freealut zlib libpng python;
8098   };
8100   gnuchess = builderDefsPackage (import ../games/gnuchess) {
8101     flex = flex2535;
8102   };
8104   gparted = import ../tools/misc/gparted {
8105     inherit fetchurl stdenv parted intltool gettext libuuid pkgconfig libxml2;
8106     inherit (gtkLibs) gtk glib gtkmm;
8107     inherit (gnome) gnomedocutils;
8108   };
8110   hexen = import ../games/hexen {
8111     inherit stdenv fetchurl SDL;
8112   };
8114   kobodeluxe = import ../games/kobodeluxe {
8115     inherit stdenv fetchurl SDL SDL_image;
8116   };
8118   lincity = builderDefsPackage (import ../games/lincity) {
8119     inherit (xlibs) libX11 libXext xextproto
8120       libICE libSM xproto;
8121     inherit libpng zlib;
8122   };
8124   micropolis = import ../games/micropolis {
8125     inherit lib fetchurl stdenv;
8126     inherit (xlibs) libX11 libXpm libXext xextproto;
8127     inherit byacc bash;
8128   };
8130   openttd = import ../games/openttd {
8131     inherit fetchurl stdenv SDL libpng;
8132     zlib = zlibStatic;
8133   };
8135   quake3demo = import ../games/quake3/wrapper {
8136     name = "quake3-demo-${quake3game.name}";
8137     description = "Demo of Quake 3 Arena, a classic first-person shooter";
8138     inherit fetchurl stdenv mesa makeWrapper;
8139     game = quake3game;
8140     paks = [quake3demodata];
8141   };
8143   quake3demodata = import ../games/quake3/demo {
8144     inherit fetchurl stdenv;
8145   };
8147   quake3game = import ../games/quake3/game {
8148     inherit fetchurl stdenv x11 SDL mesa openal;
8149   };
8151   rogue = import ../games/rogue {
8152     inherit fetchurl stdenv ncurses;
8153   };
8155   scummvm = import ../games/scummvm {
8156     inherit fetchurl stdenv SDL zlib mpeg2dec;
8157   };
8159   scorched3d = import ../games/scorched3d {
8160     inherit stdenv fetchurl mesa openal autoconf automake libtool freealut freetype fftw SDL SDL_net zlib libpng libjpeg;
8161     wxGTK = wxGTK26;
8162   };
8164   sgtpuzzles = builderDefsPackage (import ../games/sgt-puzzles) {
8165     inherit (gtkLibs) gtk glib;
8166     inherit pkgconfig fetchsvn perl;
8167     inherit (xlibs) libX11;
8168   };
8170   # You still can override by passing more arguments.
8171   spaceOrbit = composedArgsAndFun (import ../games/orbit/1.01.nix) {
8172     inherit fetchurl stdenv builderDefs mesa freeglut;
8173     inherit (gnome) esound;
8174     inherit (xlibs) libXt libX11 libXmu libXi libXext;
8175   };
8177   superTuxKart = import ../games/super-tux-kart {
8178     inherit fetchurl stdenv plib SDL openal freealut mesa
8179       libvorbis libogg gettext;
8180   };
8182   teeworlds = import ../games/teeworlds {
8183     inherit fetchurl stdenv python alsaLib mesa SDL;
8184     inherit (xlibs) libX11;
8185   };
8187   /*tpm = import ../games/thePenguinMachine {
8188     inherit stdenv fetchurl pil pygame SDL;
8189     python24 = python;
8190   };*/
8192   ultimatestunts = import ../games/ultimatestunts {
8193     inherit stdenv fetchurl SDL mesa SDL_image freealut;
8194   };
8196   ut2004demo = import ../games/ut2004demo {
8197     inherit fetchurl stdenv xlibs mesa;
8198   };
8200   xboard = builderDefsPackage (import ../games/xboard) {
8201     inherit (xlibs) libX11 xproto libXt libXaw libSM
8202       libICE libXmu libXext libXpm;
8203     inherit gnuchess texinfo;
8204   };
8206   xsokoban = builderDefsPackage (import ../games/xsokoban) {
8207     inherit (xlibs) libX11 xproto libXpm libXt;
8208   };
8210   zdoom = import ../games/zdoom {
8211     inherit cmake stdenv fetchsvn SDL nasm p7zip zlib flac fmod libjpeg;
8212   };
8214   zoom = import ../games/zoom {
8215     inherit fetchurl stdenv perl expat freetype;
8216     inherit (xlibs) xlibs;
8217   };
8219   keen4 = import ../games/keen4 {
8220     inherit fetchurl stdenv dosbox unzip;
8221   };
8224   ### DESKTOP ENVIRONMENTS
8227   enlightenment = import ../desktops/enlightenment {
8228     inherit stdenv fetchurl pkgconfig x11 xlibs dbus imlib2 freetype;
8229   };
8231   gnome28 = import ../desktops/gnome-2.28 pkgs;
8233   gnome = gnome28;
8235   kde3 = {
8237     kdelibs = import ../desktops/kde-3/kdelibs {
8238       inherit
8239         fetchurl stdenv xlibs zlib perl openssl pcre pkgconfig
8240         libjpeg libpng libtiff libxml2 libxslt libtool
8241         expat freetype bzip2 cups attr acl;
8242       qt = qt3;
8243     };
8245     kdebase = import ../desktops/kde-3/kdebase {
8246       inherit
8247         fetchurl stdenv pkgconfig x11 xlibs zlib libpng libjpeg perl
8248         kdelibs openssl bzip2 fontconfig pam hal dbus glib;
8249       qt = qt3;
8250     };
8252   };
8254   kde4 = kde43;
8256   kde43 = makeOverridable (import ../desktops/kde-4.3) (pkgs // {
8257     openexr = openexr_1_6_1;
8258     qt4 = qt45;
8259     popplerQt4 = popplerQt45;
8260   });
8262   kdelibs = kde3.kdelibs;
8263   kdebase = kde3.kdebase;
8265   ### SCIENCE
8267   xplanet = import ../applications/science/xplanet {
8268     inherit stdenv fetchurl lib pkgconfig freetype libpng libjpeg giflib libtiff;
8269     inherit (gtkLibs) pango;
8270   };
8272   ### SCIENCE/GEOMETRY
8274   drgeo = builderDefsPackage (import ../applications/science/geometry/drgeo) {
8275     inherit (gnome) libglade gtk;
8276     inherit libxml2 guile perl intltool libtool pkgconfig;
8277   };
8280   ### SCIENCE/BIOLOGY
8282   alliance = import ../applications/science/electronics/alliance {
8283     inherit fetchurl stdenv bison flex;
8284     inherit (xlibs) xproto libX11 libXt libXpm;
8285     motif = lesstif;
8286   };
8288   arb = import ../applications/science/biology/arb {
8289     inherit fetchurl readline libpng zlib x11 lesstif93 freeglut perl;
8290     inherit (xlibs) libXpm libXaw libX11 libXext libXt;
8291     inherit mesa glew libtiff lynx rxp sablotron jdk transfig gv gnuplot;
8292     lesstif = lesstif93;
8293     stdenv = overrideGCC stdenv gcc42;
8294   };
8296   biolib = import ../development/libraries/science/biology/biolib {
8297     inherit fetchurl stdenv readline perl cmake rLang zlib;
8298   };
8300   emboss = import ../applications/science/biology/emboss {
8301     inherit fetchurl stdenv readline perl libpng zlib;
8302     inherit (xorg) libX11 libXt;
8303   };
8305   mrbayes = import ../applications/science/biology/mrbayes {
8306     inherit fetchurl stdenv readline;
8307   };
8309   ncbiCTools = builderDefsPackage ../development/libraries/ncbi {
8310     inherit tcsh mesa lesstif;
8311     inherit (xlibs) libX11 libXaw xproto libXt libSM libICE 
8312       libXmu libXext;
8313   };
8315   ncbi_tools = import ../applications/science/biology/ncbi-tools {
8316     inherit fetchurl stdenv cpio;
8317   };
8319   paml = import ../applications/science/biology/paml {
8320     inherit fetchurl stdenv;
8321   };
8323   /* slr = import ../applications/science/biology/slr {
8324     inherit fetchurl stdenv liblapack;
8325   }; */
8327   pal2nal = import ../applications/science/biology/pal2nal {
8328     inherit fetchurl stdenv perl paml;
8329   };
8332   ### SCIENCE/MATH
8334   atlas = import ../development/libraries/science/math/atlas {
8335     inherit fetchurl stdenv gfortran;
8336   };
8338   content = builderDefsPackage ../applications/science/math/content {
8339     inherit mesa lesstif;
8340     inherit (xlibs) libX11 libXaw xproto libXt libSM libICE 
8341       libXmu libXext libXcursor;
8342   };
8344   /* liblapack = import ../development/libraries/science/math/liblapack {
8345     inherit fetchurl stdenv gfortran;
8346   }; */
8349   ### SCIENCE/LOGIC
8351   coq = import ../applications/science/logic/coq {
8352     inherit stdenv fetchurl ocaml lablgtk ncurses;
8353     camlp5 = camlp5_transitional;
8354   };
8356   isabelle = import ../applications/science/logic/isabelle {
8357     inherit (pkgs) stdenv fetchurl nettools perl polyml emacs emacsPackages;
8358   };
8360   ssreflect = import ../applications/science/logic/ssreflect {
8361     inherit stdenv fetchurl ocaml coq;
8362     camlp5 = camlp5_transitional;
8363   };
8365   ### SCIENCE / ELECTRONICS
8367   ngspice = import ../applications/science/electronics/ngspice {
8368     inherit fetchurl stdenv readline;
8369   };
8371   gtkwave = import ../applications/science/electronics/gtkwave {
8372     inherit fetchurl stdenv gperf pkgconfig bzip2;
8373     inherit (gtkLibs) gtk;
8374   };
8376   ### SCIENCE / MATH
8378   maxima = import ../applications/science/math/maxima {
8379     inherit fetchurl stdenv clisp;
8380   };
8382   wxmaxima = import ../applications/science/math/wxmaxima {
8383     inherit fetchurl stdenv maxima;
8384     inherit wxGTK;
8385   };
8387   scilab = (import ../applications/science/math/scilab) {
8388     inherit stdenv fetchurl lib gfortran;
8389     inherit (gtkLibs) gtk;
8390     inherit ncurses Xaw3d tcl tk ocaml x11;
8392     withXaw3d = false;
8393     withTk = true;
8394     withGtk = false;
8395     withOCaml = true;
8396     withX = true;
8397   };
8400   ### MISC
8402   atari800 = import ../misc/emulators/atari800 {
8403     inherit fetchurl stdenv unzip zlib SDL;
8404   };
8406   ataripp = import ../misc/emulators/atari++ {
8407     inherit fetchurl stdenv x11 SDL;
8408   };
8410   auctex = import ../misc/tex/auctex {
8411     inherit stdenv fetchurl emacs texLive;
8412   };
8414   busybox = import ../misc/busybox {
8415     inherit fetchurl stdenv;
8416   };
8418   cups = import ../misc/cups {
8419     inherit fetchurl stdenv pkgconfig zlib libjpeg libpng libtiff pam openssl dbus;
8420   };
8422   gutenprint = import ../misc/drivers/gutenprint {
8423     inherit fetchurl stdenv lib pkgconfig composableDerivation cups libtiff libpng
8424       openssl git gimp;
8425   };
8427   gutenprintBin = import ../misc/drivers/gutenprint/bin.nix {
8428     inherit fetchurl stdenv rpm cpio zlib;
8429   };
8431   cupsBjnp = import ../misc/cups/drivers/cups-bnjp {
8432     inherit fetchurl stdenv cups;
8433   };
8435   dblatex = import ../misc/tex/dblatex {
8436     inherit fetchurl stdenv python libxslt tetex;
8437   };
8439   dosbox = import ../misc/emulators/dosbox {
8440     inherit fetchurl stdenv SDL makeDesktopItem;
8441   };
8443   dpkg = import ../tools/package-management/dpkg {
8444     inherit fetchurl stdenv perl zlib bzip2;
8445   };
8447   electricsheep = import ../misc/screensavers/electricsheep {
8448     inherit fetchurl stdenv pkgconfig expat zlib libpng libjpeg xlibs;
8449   };
8451   foldingathome = import ../misc/foldingathome {
8452       inherit fetchurl stdenv;
8453     };
8455   freestyle = import ../misc/freestyle {
8456     inherit fetchurl freeglut qt4 libpng lib3ds libQGLViewer swig;
8457     inherit (xlibs) libXi;
8458     #stdenv = overrideGCC stdenv gcc41;
8459     inherit stdenv python;
8460   };
8462   gajim = builderDefsPackage (import ../applications/networking/instant-messengers/gajim) {
8463     inherit perl intltool pyGtkGlade gettext pkgconfig makeWrapper pygobject
8464       pyopenssl gtkspell libsexy pycrypto aspell pythonDBus pythonSexy
8465       docutils;
8466     dbus = dbus.libs;
8467     inherit (gnome) gtk libglade;
8468     inherit (xlibs) libXScrnSaver libXt xproto libXext xextproto libX11
8469       scrnsaverproto;
8470     python = pythonFull;
8471   };
8473   generator = import ../misc/emulators/generator {
8474     inherit fetchurl stdenv SDL nasm zlib bzip2 libjpeg;
8475     inherit (gtkLibs1x) gtk;
8476   };
8478   ghostscript = makeOverridable (import ../misc/ghostscript) {
8479     inherit fetchurl stdenv libjpeg libpng libtiff zlib x11 pkgconfig
8480       fontconfig cups openssl;
8481     x11Support = false;
8482     cupsSupport = getPkgConfig "ghostscript" "cups" true;
8483   };
8485   ghostscriptX = lowPrio (appendToName "with-X" (ghostscript.override {
8486     x11Support = true;
8487   }));
8489   gxemul = (import ../misc/gxemul) {
8490     inherit lib stdenv fetchurl composableDerivation;
8491     inherit (xlibs) libX11;
8492   };
8494   # using the new configuration style proposal which is unstable
8495   jackaudio = import ../misc/jackaudio {
8496     inherit composableDerivation
8497            ncurses lib stdenv fetchurl alsaLib pkgconfig;
8498     flags = [ "posix_shm" "timestamps" "alsa"];
8499   };
8501   keynav = import ../tools/X11/keynav {
8502     inherit stdenv fetchurl;
8503     inherit (xlibs) libX11 xextproto libXtst imake libXi libXext;
8504   };
8506   lazylist = import ../misc/tex/lazylist {
8507     inherit fetchurl stdenv tetex;
8508   };
8510   lilypond = import ../misc/lilypond {
8511     inherit fetchurl sourceFromHead stdenv lib automake autoconf
8512       ghostscript texinfo imagemagick texi2html guile python gettext
8513       perl bison pkgconfig texLive fontconfig freetype fontforge help2man;
8514     inherit (gtkLibs) pango;
8515     flex = flex2535;
8516   };
8518   linuxwacom = import ../misc/linuxwacom {
8519     inherit fetchurl stdenv ncurses pkgconfig;
8520     inherit (xorg) libX11 libXi xproto inputproto xorgserver;
8521   };
8523   martyr = import ../development/libraries/martyr {
8524     inherit stdenv fetchurl apacheAnt;
8525   };
8527   maven = import ../misc/maven/maven-1.0.nix {
8528     inherit stdenv fetchurl jdk;
8529   };
8531   maven2 = import ../misc/maven {
8532     inherit stdenv fetchurl jdk makeWrapper;
8533   };
8535   nix = makeOverridable (import ../tools/package-management/nix) {
8536     inherit fetchurl stdenv perl curl bzip2 openssl;
8537     aterm = aterm242fixes;
8538     db4 = db45;
8539     supportOldDBs = getPkgConfig "nix" "OldDBSupport" true;
8540     storeDir = getPkgConfig "nix" "storeDir" "/nix/store";
8541     stateDir = getPkgConfig "nix" "stateDir" "/nix/var";
8542   };
8544   # The bleeding edge.
8545   nixUnstable = makeOverridable (import ../tools/package-management/nix/unstable.nix) {
8546     inherit fetchurl stdenv perl curl bzip2 openssl;
8547     aterm = aterm242fixes;
8548     storeDir = getPkgConfig "nix" "storeDir" "/nix/store";
8549     stateDir = getPkgConfig "nix" "stateDir" "/nix/var";
8550   };
8552   nixCustomFun = src: preConfigure: enableScripts: configureFlags:
8553     import ../tools/package-management/nix/custom.nix {
8554       inherit fetchurl stdenv perl curl bzip2 openssl src preConfigure automake
8555         autoconf libtool configureFlags enableScripts lib bison libxml2;
8556       flex = flex2533;
8557       aterm = aterm242fixes;
8558       db4 = db45;
8559       inherit docbook5_xsl libxslt docbook5 docbook_xml_dtd_43 w3m;
8560     };
8562   disnix = import ../tools/package-management/disnix {
8563     inherit stdenv fetchsvn openssl autoconf automake libtool pkgconfig dbus_glib libxml2;
8564   };
8566   disnix_activation_scripts = import ../tools/package-management/disnix/activation-scripts {
8567     inherit stdenv fetchsvn autoconf automake;
8568   };
8570   DisnixService = import ../tools/package-management/disnix/DisnixService {
8571     inherit stdenv fetchsvn apacheAnt jdk axis2 shebangfix;
8572   };
8574   pgadmin = import ../applications/misc/pgadmin {
8575     inherit fetchurl stdenv postgresql libxml2 libxslt openssl;
8576     inherit wxGTK;
8577   };
8579   pgf = pgf2;
8581   # Keep the old PGF since some documents don't render properly with
8582   # the new one.
8583   pgf1 = import ../misc/tex/pgf/1.x.nix {
8584     inherit fetchurl stdenv;
8585   };
8587   pgf2 = import ../misc/tex/pgf/2.x.nix {
8588     inherit fetchurl stdenv;
8589   };
8591   polytable = import ../misc/tex/polytable {
8592     inherit fetchurl stdenv tetex lazylist;
8593   };
8595   psi = (import ../applications/networking/instant-messengers/psi) {
8596     inherit stdenv fetchurl zlib aspell sox qt4;
8597     inherit (xlibs) xproto libX11 libSM libICE;
8598     qca2 = kde4.qca2;
8599   };
8601   putty = import ../applications/networking/remote/putty {
8602     inherit stdenv fetchurl ncurses;
8603     inherit (gtkLibs1x) gtk;
8604   };
8606   rssglx = import ../misc/screensavers/rss-glx {
8607     inherit fetchurl stdenv x11 mesa pkgconfig imagemagick libtiff bzip2;
8608   };
8610   xlockmore = import ../misc/screensavers/xlockmore {
8611     inherit fetchurl stdenv x11 freetype;
8612     pam = if getPkgConfig "xlockmore" "pam" true then pam else null;
8613   };
8615   saneBackends = import ../misc/sane-backends {
8616     inherit fetchurl stdenv libusb;
8617     gt68xxFirmware = getConfig ["sane" "gt68xxFirmware"] null;
8618   };
8620   saneFrontends = import ../misc/sane-front {
8621     inherit fetchurl stdenv pkgconfig libusb saneBackends;
8622     inherit (gtkLibs) gtk;
8623     inherit (xlibs) libX11;
8624   };
8626   sourceAndTags = import ../misc/source-and-tags {
8627     inherit pkgs stdenv unzip lib ctags;
8628     hasktags = haskellPackages.myhasktags;
8629   };
8631   synaptics = import ../misc/synaptics {
8632     inherit fetchurl stdenv pkgconfig;
8633     inherit (xlibs) libX11 libXi libXext pixman xf86inputevdev;
8634     inherit (xorg) xorgserver;
8635   };
8637   tetex = import ../misc/tex/tetex {
8638     inherit fetchurl stdenv flex bison zlib libpng ncurses ed;
8639   };
8641   texFunctions = import ../misc/tex/nix {
8642     inherit stdenv perl tetex graphviz ghostscript makeFontsConf imagemagick runCommand lib;
8643     inherit (haskellPackages) lhs2tex;
8644   };
8646   texLive = builderDefsPackage (import ../misc/tex/texlive) {
8647     inherit builderDefs zlib bzip2 ncurses libpng ed
8648       gd t1lib freetype icu perl ruby expat curl
8649       libjpeg bison;
8650     inherit (xlibs) libXaw libX11 xproto libXt libXpm
8651       libXmu libXext xextproto libSM libICE;
8652     flex = flex2535;
8653     ghostscript = ghostscriptX;
8654   };
8656   /* Look in configurations/misc/raskin.nix for usage example (around revisions
8657   where TeXLive was added)
8659   (texLiveAggregationFun {
8660     paths = [texLive texLiveExtra texLiveCMSuper
8661       texLiveBeamer
8662     ];
8663   })
8665   You need to use texLiveAggregationFun to regenerate, say, ls-R (TeX-related file list)
8666   Just installing a few packages doesn't work.
8667   */
8668   texLiveAggregationFun =
8669     (builderDefsPackage (import ../misc/tex/texlive/aggregate.nix));
8671   texLiveContext = builderDefsPackage (import ../misc/tex/texlive/context.nix) {
8672     inherit texLive;
8673   };
8675   texLiveExtra = builderDefsPackage (import ../misc/tex/texlive/extra.nix) {
8676     inherit texLive;
8677   };
8679   texLiveCMSuper = builderDefsPackage (import ../misc/tex/texlive/cm-super.nix) {
8680     inherit texLive;
8681   };
8683   texLiveLatexXColor = builderDefsPackage (import ../misc/tex/texlive/xcolor.nix) {
8684     inherit texLive;
8685   };
8687   texLivePGF = builderDefsPackage (import ../misc/tex/texlive/pgf.nix) {
8688     inherit texLiveLatexXColor texLive;
8689   };
8691   texLiveBeamer = builderDefsPackage (import ../misc/tex/texlive/beamer.nix) {
8692     inherit texLiveLatexXColor texLivePGF texLive;
8693   };
8695   toolbuslib = import ../development/libraries/toolbuslib {
8696     inherit stdenv fetchurl aterm;
8697   };
8699   trac = import ../misc/trac {
8700     inherit stdenv fetchurl python clearsilver makeWrapper
8701       sqlite subversion;
8702     inherit (pythonPackages) pysqlite;
8703   };
8705    vice = import ../misc/emulators/vice {
8706      inherit stdenv fetchurl lib perl gettext libpng giflib libjpeg alsaLib readline mesa;
8707      inherit pkgconfig SDL makeDesktopItem autoconf automake;
8708      inherit (gtkLibs) gtk;
8709    };
8711   wine =
8712     if system == "x86_64-linux" then
8713       # Can't build this in 64-bit; use a 32-bit build instead.
8714       pkgsi686Linux.wine
8715       # some hackery to make nix-env show this package on x86_64...
8716       // {system = "x86_64-linux";}
8717     else
8718       import ../misc/emulators/wine {
8719         inherit fetchurl stdenv bison mesa ncurses
8720           libpng libjpeg alsaLib lcms xlibs freetype
8721           fontconfig fontforge libxml2 libxslt openssl;
8722         flex = flex2535;
8723       };
8725   xosd = import ../misc/xosd {
8726     inherit fetchurl stdenv;
8727     inherit (xlibs) libX11 libXext libXt xextproto xproto;
8728   };
8730   xsane = import ../misc/xsane {
8731     inherit fetchurl stdenv pkgconfig libusb
8732       saneBackends saneFrontends;
8733     inherit (gtkLibs) gtk;
8734     inherit (xlibs) libX11;
8735   };
8737   yafc = import ../applications/networking/yafc {
8738     inherit fetchurl stdenv readline openssh;
8739   };
8741   myEnvFun = import ../misc/my-env {
8742     inherit substituteAll pkgs;
8743     inherit (stdenv) mkDerivation;
8744   };
8746   misc = import ../misc/misc.nix { inherit pkgs stdenv; };
8748 }; in pkgs