Making the cross-stdenv not to be used unless cross-compiling. This way,
[nixpkgs-libre.git] / pkgs / top-level / all-packages.nix
blob3bef2ccb7cc611d2fbb2d7790f64b0825913d401
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
37 , crossSystem ? null
41 let config_ = config; in # rename the function argument
43 let
45   lib = import ../lib; # see also libTests below
47   # The contents of the configuration file found at $NIXPKGS_CONFIG or
48   # $HOME/.nixpkgs/config.nix.
49   # for NIXOS (nixos-rebuild): use nixpkgs.config option
50   config =
51     let
52       toPath = builtins.toPath;
53       getEnv = x: if builtins ? getEnv then builtins.getEnv x else "";
54       pathExists = name:
55         builtins ? pathExists && builtins.pathExists (toPath name);
57       configFile = getEnv "NIXPKGS_CONFIG";
58       homeDir = getEnv "HOME";
59       configFile2 = homeDir + "/.nixpkgs/config.nix";
61       configExpr =
62         if config_ != null then config_
63         else if configFile != "" && pathExists configFile then import (toPath configFile)
64         else if homeDir != "" && pathExists configFile2 then import (toPath configFile2)
65         else {};
67     in
68       # allow both:
69       # { /* the config */ } and
70       # { pkgsOrig, pkgs, ... } : { /* the config */ }
71       if builtins.isFunction configExpr
72         then configExpr { inherit pkgs pkgsOrig; }
73         else configExpr;
75   # Return an attribute from the Nixpkgs configuration file, or
76   # a default value if the attribute doesn't exist.
77   getConfig = attrPath: default: lib.attrByPath attrPath default config;
80   # Helper functions that are exported through `pkgs'.
81   helperFunctions =
82     stdenvAdapters //
83     (import ../build-support/trivial-builders.nix { inherit (pkgs) stdenv; inherit (pkgs.xorg) lndir; });
85   stdenvAdapters =
86     import ../stdenv/adapters.nix { inherit (pkgs) dietlibc fetchurl runCommand; };
89   # Allow packages to be overriden globally via the `packageOverrides'
90   # configuration option, which must be a function that takes `pkgs'
91   # as an argument and returns a set of new or overriden packages.
92   # `__overrides' is a magic attribute that causes the attributes in
93   # its value to be added to the surrounding `rec'.  The
94   # `packageOverrides' function is called with the *original*
95   # (un-overriden) set of packages, allowing packageOverrides
96   # attributes to refer to the original attributes (e.g. "foo =
97   # ... pkgs.foo ...").
98   __overrides = (getConfig ["packageOverrides"] (pkgs: {})) pkgsOrig;
100   pkgsOrig = pkgsFun {}; # the un-overriden packages, passed to packageOverrides
101   pkgsOverriden = pkgsFun __overrides; # the overriden, final packages
102   pkgs = pkgsOverriden // helperFunctions;
105   # The package compositions.  Yes, this isn't properly indented.
106   pkgsFun = __overrides: with helperFunctions; rec {
108   # override system. This is useful to build i686 packages on x86_64-linux
109   forceSystem = system: (import ./all-packages.nix) {
110     inherit system;
111     inherit bootStdenv noSysDirs gccWithCC gccWithProfiling config;
112   };
114   # used by wine, firefox with debugging version of Flash, ..
115   pkgsi686Linux = forceSystem "i686-linux";
117   inherit __overrides;
120   # For convenience, allow callers to get the path to Nixpkgs.
121   path = ../..;
124   ### Symbolic names.
127   x11 = xlibsWrapper;
129   # `xlibs' is the set of X library components.  This used to be the
130   # old modular X libraries project (called `xlibs') but now it's just
131   # the set of packages in the modular X.org tree (which also includes
132   # non-library components like the server, drivers, fonts, etc.).
133   xlibs = xorg // {xlibs = xlibsWrapper;};
136   ### Helper functions.
139   inherit lib config getConfig stdenvAdapters;
141   inherit (lib) lowPrio appendToName makeOverridable;
143   # Applying this to an attribute set will cause nix-env to look
144   # inside the set for derivations.
145   recurseIntoAttrs = attrs: attrs // {recurseForDerivations = true;};
147   useFromStdenv = it : alternative : if ((bootStdenv != null ||
148     crossSystem == null) && builtins.hasAttr it stdenv) then
149     (builtins.getAttr it stdenv) else alternative;
151   # Return the first available value in the order: pkg.val, val, or default.
152   getPkgConfig = pkg : val : default : (getConfig [ pkg val ] (getConfig [ val ] default));
154   # Check absence of non-used options
155   checker = x: flag: opts: config:
156     (if flag then let result=(
157       (import ../build-support/checker)
158       opts config); in
159       (if (result=="") then x else
160       abort ("Unknown option specified: " + result))
161     else x);
163   builderDefs = composedArgsAndFun (import ../build-support/builder-defs/builder-defs.nix) {
164     inherit stringsWithDeps lib stdenv writeScript
165       fetchurl fetchmtn fetchgit;
166   };
168   composedArgsAndFun = lib.composedArgsAndFun;
170   builderDefsPackage = builderDefs.builderDefsPackage builderDefs;
172   stringsWithDeps = lib.stringsWithDeps;
175   ### STANDARD ENVIRONMENT
178   allStdenvs = import ../stdenv {
179     inherit system stdenvType;
180     allPackages = args: import ./all-packages.nix ({ inherit config; } // args);
181   };
183   defaultStdenv = allStdenvs.stdenv;
185   stdenvCross = makeStdenvCross defaultStdenv crossSystem (binutilsCross crossSystem)
186     (gccCrossStageFinal crossSystem);
188   stdenv =
189     if bootStdenv != null then bootStdenv else
190       let changer = getConfig ["replaceStdenv"] null;
191       in if changer != null then
192         changer {
193           stdenv = stdenvCross;
194           overrideSetup = overrideSetup;
195         }
196       else if crossSystem != null then
197         stdenvCross
198       else
199         defaultStdenv;
201   forceBuildDrv = drv : drv // { hostDrv = drv.buildDrv; };
203   # A stdenv capable of building 32-bit binaries.  On x86_64-linux,
204   # it uses GCC compiled with multilib support; on i686-linux, it's
205   # just the plain stdenv.
206   stdenv_32bit =
207     if system == "x86_64-linux" then
208       overrideGCC stdenv gcc43_multi
209     else
210       stdenv;
212   ### BUILD SUPPORT
214   attrSetToDir = arg : import ../build-support/upstream-updater/attrset-to-dir.nix {
215     inherit writeTextFile stdenv lib;
216     theAttrSet = arg;
217   };
219   buildEnv = import ../build-support/buildenv {
220     inherit stdenv perl;
221   };
223   debPackage = {
224     debBuild = lib.sumTwoArgs(import ../build-support/deb-package) {
225       inherit builderDefs;
226     };
227     inherit fetchurl stdenv;
228   };
230   fetchbzr = import ../build-support/fetchbzr {
231     inherit stdenv bazaar;
232   };
234   fetchcvs = import ../build-support/fetchcvs {
235     inherit stdenv cvs;
236   };
238   fetchdarcs = import ../build-support/fetchdarcs {
239     inherit stdenv darcs nix;
240   };
242   fetchgit = import ../build-support/fetchgit {
243     inherit stdenv git;
244   };
246   fetchmtn = import ../build-support/fetchmtn {
247     inherit monotone stdenv;
248     cacheDB = getConfig ["fetchmtn" "cacheDB"] "";
249     defaultDBMirrors = getConfig ["fetchmtn" "defaultDBMirrors"] [];
250   };
252   fetchsvn = import ../build-support/fetchsvn {
253     inherit stdenv subversion openssh;
254     sshSupport = true;
255   };
257   fetchsvnssh = import ../build-support/fetchsvnssh {
258     inherit stdenv subversion openssh expect;
259     sshSupport = true;
260   };
262   fetchhg = import ../build-support/fetchhg {
263     inherit stdenv mercurial nix;
264   };
266   # `fetchurl' downloads a file from the network.  The `useFromStdenv'
267   # is there to allow stdenv to determine fetchurl.  Used during the
268   # stdenv-linux bootstrap phases to prevent lots of different curls
269   # from being built.
270   fetchurl = useFromStdenv "fetchurl"
271     (import ../build-support/fetchurl {
272       curl = curl;
273       stdenv = stdenv;
274     });
276   # fetchurlBoot is used for curl and its dependencies in order to
277   # prevent a cyclic dependency (curl depends on curl.tar.bz2,
278   # curl.tar.bz2 depends on fetchurl, fetchurl depends on curl).  It
279   # uses the curl from the previous bootstrap phase (e.g. a statically
280   # linked curl in the case of stdenv-linux).
281   fetchurlBoot = stdenv.fetchurlBoot;
283   resolveMirrorURLs = {url}: fetchurl {
284     showURLs = true;
285     inherit url;
286   };
288   makeDesktopItem = import ../build-support/make-desktopitem {
289     inherit stdenv;
290   };
292   makeInitrd = {contents}: import ../build-support/kernel/make-initrd.nix {
293     inherit stdenv perl cpio contents platform;
294   };
296   makeWrapper = makeSetupHook ../build-support/make-wrapper/make-wrapper.sh;
298   makeModulesClosure = {kernel, rootModules, allowMissing ? false}:
299     import ../build-support/kernel/modules-closure.nix {
300       inherit stdenv module_init_tools kernel nukeReferences
301         rootModules allowMissing;
302     };
304   pathsFromGraph = ../build-support/kernel/paths-from-graph.pl;
306   srcOnly = args: (import ../build-support/src-only) ({inherit stdenv; } // args);
308   substituteAll = import ../build-support/substitute/substitute-all.nix {
309     inherit stdenv;
310   };
312   nukeReferences = import ../build-support/nuke-references/default.nix {
313     inherit stdenv;
314   };
316   vmTools = import ../build-support/vm/default.nix {
317     inherit pkgs;
318   };
320   releaseTools = import ../build-support/release/default.nix {
321     inherit pkgs;
322   };
324   composableDerivation = (import ../lib/composable-derivation.nix) {
325     inherit pkgs lib;
326   };
328   platforms = import ./platforms.nix {
329     inherit system pkgs;
330   };
332   platform = platforms.pc;
334   ### TOOLS
336   acct = import ../tools/system/acct {
337     inherit fetchurl stdenv;
338   };
340   aefs = import ../tools/filesystems/aefs {
341     inherit fetchurl stdenv fuse;
342   };
344   aircrackng = import ../tools/networking/aircrack-ng {
345     inherit fetchurl stdenv libpcap openssl zlib wirelesstools;
346   };
348   ec2apitools = import ../tools/virtualization/amazon-ec2-api-tools {
349     inherit stdenv fetchurl unzip makeWrapper jre;
350   };
352   ec2amitools = import ../tools/virtualization/amazon-ec2-ami-tools {
353     inherit stdenv fetchurl unzip makeWrapper ruby openssl;
354   };
356   amule = import ../tools/networking/p2p/amule {
357     inherit fetchurl stdenv zlib perl cryptopp gettext libupnp makeWrapper;
358     inherit wxGTK;
359   };
361   aria = builderDefsPackage (import ../tools/networking/aria) {
362   };
364   at = import ../tools/system/at {
365     inherit fetchurl stdenv bison flex pam ssmtp;
366   };
368   autogen = import ../development/tools/misc/autogen {
369     inherit fetchurl stdenv guile which;
370   };
372   autojump = import ../tools/misc/autojump {
373     inherit fetchurl stdenv python;
374   };
376   avahi =
377     let qt4Support = getConfig [ "avahi" "qt4Support" ] false;
378     in
379       makeOverridable (import ../development/libraries/avahi) {
380         inherit stdenv fetchurl pkgconfig libdaemon dbus perl perlXMLParser
381           expat gettext intltool lib;
382         inherit (gtkLibs) glib gtk;
383         inherit qt4Support;
384         qt4 = if qt4Support then qt4 else null;
385       };
387   axel = import ../tools/networking/axel {
388     inherit fetchurl stdenv;
389   };
391   azureus = import ../tools/networking/p2p/azureus {
392     inherit fetchurl stdenv jdk swt;
393   };
395   bc = import ../tools/misc/bc {
396     inherit fetchurl stdenv flex readline;
397   };
399   bfr = import ../tools/misc/bfr {
400     inherit fetchurl stdenv perl;
401   };
403   bootchart = import ../tools/system/bootchart {
404     inherit fetchurl stdenv gnutar gzip coreutils utillinux gnugrep gnused psmisc nettools;
405   };
407   btrfsProgs = builderDefsPackage (import ../tools/filesystems/btrfsprogs) {
408     inherit libuuid zlib acl;
409   };
411   eggdrop = import ../tools/networking/eggdrop {
412     inherit fetchurl stdenv tcl;
413   };
415   mcrl = import ../tools/misc/mcrl {
416     inherit fetchurl stdenv coreutils;
417   };
419   mcrl2 = import ../tools/misc/mcrl2 {
420     inherit fetchurl stdenv mesa ;
421     inherit (xorg) libX11;
422     inherit wxGTK;
423   };
425   syslogng = import ../tools/misc/syslog-ng {
426     inherit fetchurl stdenv eventlog pkgconfig glib;
427   };
429   asciidoc = import ../tools/typesetting/asciidoc {
430     inherit fetchurl stdenv python;
431   };
433   bibtextools = import ../tools/typesetting/bibtex-tools {
434     inherit fetchurl stdenv aterm tetex hevea;
435     inherit (strategoPackages016) strategoxt sdf;
436   };
438   bittorrent = import ../tools/networking/p2p/bittorrent {
439     inherit fetchurl stdenv makeWrapper python pycrypto twisted;
440     wxPython = wxPython26;
441     gui = true;
442   };
444   bittornado = import ../tools/networking/p2p/bit-tornado {
445     inherit fetchurl stdenv python wxPython26;
446   };
448   bmrsa = builderDefsPackage (import ../tools/security/bmrsa/11.nix) {
449     inherit unzip;
450   };
452   bogofilter = import ../tools/misc/bogofilter {
453     inherit fetchurl stdenv flex;
454     bdb = db4;
455   };
457   bsdiff = import ../tools/compression/bsdiff {
458     inherit fetchurl stdenv;
459   };
461   bzip2 = useFromStdenv "bzip2"
462     (import ../tools/compression/bzip2 {
463       inherit fetchurl stdenv;
464     });
466   cabextract = import ../tools/archivers/cabextract {
467     inherit fetchurl stdenv;
468   };
470   ccid = import ../tools/security/ccid {
471     inherit fetchurl stdenv pcsclite libusb pkgconfig perl;
472   };
474   ccrypt = import ../tools/security/ccrypt {
475     inherit fetchurl stdenv;
476   };
478   cdecl = import ../development/tools/cdecl {
479     inherit fetchurl stdenv yacc flex readline ncurses;
480   };
482   cdrdao = import ../tools/cd-dvd/cdrdao {
483     inherit fetchurl stdenv lame libvorbis libmad pkgconfig libao;
484   };
486   cdrkit = import ../tools/cd-dvd/cdrkit {
487     inherit fetchurl stdenv cmake libcap zlib bzip2;
488   };
490   checkinstall = import ../tools/package-management/checkinstall {
491     inherit fetchurl stdenv gettext;
492   };
494   cheetahTemplate = builderDefsPackage (import ../tools/text/cheetah-template/2.0.1.nix) {
495     inherit makeWrapper python;
496   };
498   chkrootkit = import ../tools/security/chkrootkit {
499     inherit fetchurl stdenv;
500   };
502   cksfv = import ../tools/networking/cksfv {
503     inherit fetchurl stdenv;
504   };
506   convertlit = import ../tools/text/convertlit {
507     inherit fetchurl stdenv unzip libtommath;
508   };
510   unifdef = import ../development/tools/misc/unifdef {
511     inherit fetchurl stdenv;
512   };
514   cloogppl = import ../development/libraries/cloog-ppl {
515     inherit fetchurl stdenv ppl;
516   };
518   coreutils_real = makeOverridable (if stdenv ? isDietLibC
519       then import ../tools/misc/coreutils-5
520       else import ../tools/misc/coreutils)
521     {
522       inherit fetchurl stdenv acl perl gmp;
523       aclSupport = stdenv.isLinux;
524     };
526   coreutils = useFromStdenv "coreutils" coreutils_real;
528   cpio = import ../tools/archivers/cpio {
529     inherit fetchurl stdenv;
530   };
532   cromfs = import ../tools/archivers/cromfs {
533     inherit fetchurl stdenv pkgconfig fuse perl;
534   };
536   cron = import ../tools/system/cron { # see also fcron
537     inherit fetchurl stdenv;
538   };
540   curl = makeOverridable (import ../tools/networking/curl) {
541     fetchurl = fetchurlBoot;
542     inherit stdenv zlib openssl;
543     zlibSupport = ! ((stdenv ? isDietLibC) || (stdenv ? isStatic));
544     sslSupport = ! ((stdenv ? isDietLibC) || (stdenv ? isStatic));
545   };
547   curlftpfs = import ../tools/filesystems/curlftpfs {
548     inherit fetchurl stdenv fuse curl pkgconfig zlib glib;
549   };
551   dadadodo = builderDefsPackage (import ../tools/text/dadadodo) {
552   };
554   dar = import ../tools/archivers/dar {
555     inherit fetchurl stdenv zlib bzip2 openssl;
556   };
558   davfs2 = import ../tools/filesystems/davfs2 {
559     inherit fetchurl stdenv zlib;
560     neon = neon028;
561   };
563   dcraw = import ../tools/graphics/dcraw {
564     inherit fetchurl stdenv gettext libjpeg lcms;
565   };
567   debootstrap = import ../tools/misc/debootstrap {
568     inherit fetchurl stdenv lib dpkg gettext gawk wget perl;
569   };
571   ddclient = import ../tools/networking/ddclient {
572     inherit fetchurl buildPerlPackage perl;
573   };
575   ddrescue = import ../tools/system/ddrescue {
576     inherit fetchurl stdenv;
577   };
579   desktop_file_utils = import ../tools/misc/desktop-file-utils {
580     inherit stdenv fetchurl pkgconfig glib;
581   };
583   dev86 = import ../development/compilers/dev86 {
584     inherit fetchurl stdenv;
585   };
587   dnsmasq = import ../tools/networking/dnsmasq {
588     # TODO i18n can be installed as well, implement it?
589     inherit fetchurl stdenv;
590   };
592   dhcp = import ../tools/networking/dhcp {
593     inherit fetchurl stdenv nettools iputils iproute makeWrapper;
594   };
596   dhcpcd = import ../tools/networking/dhcpcd {
597     inherit fetchurl stdenv;
598   };
600   diffstat = import ../tools/text/diffstat {
601     inherit fetchurl stdenv;
602   };
604   diffutils = useFromStdenv "diffutils"
605     (import ../tools/text/diffutils {
606       inherit fetchurl stdenv coreutils;
607     });
609   docbook2x = import ../tools/typesetting/docbook2x {
610     inherit fetchurl stdenv texinfo perl
611             gnused groff libxml2 libxslt makeWrapper;
612     inherit (perlPackages) XMLSAX XMLParser XMLNamespaceSupport;
613     libiconv = if stdenv.isDarwin then libiconv else null;
614   };
616   dosfstools = composedArgsAndFun (import ../tools/filesystems/dosfstools) {
617     inherit builderDefs;
618   };
620   duplicity = import ../tools/backup/duplicity {
621     inherit fetchurl stdenv librsync makeWrapper python;
622   };
624   dvdplusrwtools = import ../tools/cd-dvd/dvd+rw-tools {
625     inherit fetchurl stdenv cdrkit m4;
626   };
628   e2fsprogs = import ../tools/filesystems/e2fsprogs {
629     inherit fetchurl stdenv pkgconfig libuuid;
630   };
632   ecryptfs = import ../tools/security/ecryptfs {
633     inherit fetchurl stdenv fuse python perl keyutils pam nss nspr;
634   };
636   enblendenfuse = import ../tools/graphics/enblend-enfuse {
637     inherit fetchurl stdenv libtiff libpng lcms libxmi boost;
638   };
640   enscript = import ../tools/text/enscript {
641     inherit fetchurl stdenv gettext;
642   };
644   eprover = composedArgsAndFun (import ../tools/misc/eProver) {
645     inherit fetchurl stdenv which;
646     texLive = texLiveAggregationFun {
647       paths = [
648         texLive texLiveExtra
649       ];
650     };
651   };
653   ethtool = import ../tools/misc/ethtool {
654     inherit fetchurl stdenv;
655   };
657   exif = import ../tools/graphics/exif {
658     inherit fetchurl stdenv pkgconfig libexif popt;
659   };
661   exiftags = import ../tools/graphics/exiftags {
662     inherit stdenv fetchurl;
663   };
665   expect = import ../tools/misc/expect {
666     inherit fetchurl stdenv tcl tk autoconf;
667     inherit (xorg) xproto libX11;
668   };
670   fcron = import ../tools/system/fcron { # see also cron
671     inherit fetchurl stdenv perl;
672   };
674   fdisk = import ../tools/system/fdisk {
675     inherit fetchurl stdenv parted libuuid gettext;
676   };
678   figlet = import ../tools/misc/figlet {
679     inherit fetchurl stdenv;
680   };
682   file = import ../tools/misc/file {
683     inherit fetchurl stdenv;
684   };
686   filelight = import ../tools/system/filelight {
687     inherit fetchurl stdenv kdelibs x11 zlib perl libpng;
688     qt = qt3;
689   };
691   findutils = useFromStdenv "findutils"
692     (if stdenv.isDarwin then findutils4227 else
693       import ../tools/misc/findutils {
694         inherit fetchurl stdenv coreutils;
695       }
696     );
698   findutils4227 = import ../tools/misc/findutils/4.2.27.nix {
699     inherit fetchurl stdenv coreutils;
700   };
702   findutilsWrapper = lowPrio (appendToName "wrapper" (import ../tools/misc/findutils-wrapper {
703     inherit stdenv findutils;
704   }));
706   finger_bsd = import ../tools/networking/bsd-finger {
707     inherit fetchurl stdenv;
708   };
710   fontforge = import ../tools/misc/fontforge {
711     inherit fetchurl stdenv gettext freetype zlib
712       libungif libpng libjpeg libtiff libxml2 lib;
713   };
715   fontforgeX = import ../tools/misc/fontforge {
716     inherit fetchurl stdenv gettext freetype zlib
717       libungif libpng libjpeg libtiff libxml2 lib;
718     inherit (xlibs) libX11 xproto libXt;
719   };
721   dos2unix = import ../tools/text/dos2unix {
722       inherit fetchurl stdenv;
723   };
725   unix2dos = import ../tools/text/unix2dos {
726       inherit fetchurl stdenv;
727   };
729   gawk = useFromStdenv "gawk"
730     (import ../tools/text/gawk {
731       inherit fetchurl stdenv;
732     });
734   gdmap = composedArgsAndFun (import ../tools/system/gdmap/0.8.1.nix) {
735     inherit stdenv fetchurl builderDefs pkgconfig libxml2 intltool
736       gettext;
737     inherit (gtkLibs) gtk;
738   };
740   genext2fs = import ../tools/filesystems/genext2fs {
741     inherit fetchurl stdenv;
742   };
744   gengetopt = import ../development/tools/misc/gengetopt {
745     inherit fetchurl stdenv;
746   };
748   getopt = import ../tools/misc/getopt {
749     inherit fetchurl stdenv;
750   };
752   gftp = import ../tools/networking/gftp {
753     inherit lib fetchurl stdenv;
754     inherit readline ncurses gettext openssl pkgconfig;
755     inherit (gtkLibs) glib gtk;
756   };
758   gifsicle = import ../tools/graphics/gifscile {
759     inherit fetchurl stdenv;
760     inherit (xlibs) xproto libXt libX11;
761   };
763   glusterfs = builderDefsPackage ../tools/filesystems/glusterfs {
764     inherit fuse;
765     bison = bison24;
766     flex = flex2535;
767   };
769   glxinfo = import ../tools/graphics/glxinfo {
770     inherit fetchurl stdenv x11 mesa;
771   };
773   gnokii = builderDefsPackage (import ../tools/misc/gnokii) {
774     inherit intltool perl gettext libusb;
775   };
777   gnugrep = useFromStdenv "gnugrep"
778     (import ../tools/text/gnugrep {
779       inherit fetchurl stdenv pcre;
780     });
782   gnupatch = useFromStdenv "patch" (import ../tools/text/gnupatch {
783     inherit fetchurl stdenv ed;
784   });
786   gnupg = import ../tools/security/gnupg {
787     inherit fetchurl stdenv readline;
788     ideaSupport = getPkgConfig "gnupg" "idea" false; # enable for IDEA crypto support
789   };
791   gnupg2 = import ../tools/security/gnupg2 {
792     inherit fetchurl stdenv readline libgpgerror libgcrypt libassuan pth libksba zlib;
793     openldap = if getPkgConfig "gnupg" "ldap" true then openldap else null;
794     bzip2 = if getPkgConfig "gnupg" "bzip2" true then bzip2 else null;
795     libusb = if getPkgConfig "gnupg" "usb" true then libusb else null;
796     curl = if getPkgConfig "gnupg" "curl" true then curl else null;
797   };
799   gnuplot = import ../tools/graphics/gnuplot {
800     inherit fetchurl stdenv zlib gd texinfo readline emacs;
801     inherit (xlibs) libX11 libXt libXaw libXpm;
802     x11Support = getPkgConfig "gnuplot" "x11" false;
803     wxGTK = if getPkgConfig "gnuplot" "wxGtk" false then wxGTK else null;
804     inherit (gtkLibs) pango;
805     inherit cairo pkgconfig;
806   };
808   gnused = useFromStdenv "gnused"
809     (import ../tools/text/gnused {
810       inherit fetchurl stdenv;
811     });
813   gnused_4_2 = import ../tools/text/gnused/4.2.nix {
814     inherit fetchurl stdenv;
815   };
817   gnutar = useFromStdenv "gnutar"
818     (import ../tools/archivers/gnutar {
819       inherit fetchurl stdenv;
820     });
822   gnuvd = import ../tools/misc/gnuvd {
823     inherit fetchurl stdenv;
824   };
826   graphviz = import ../tools/graphics/graphviz {
827     inherit fetchurl stdenv pkgconfig libpng libjpeg expat x11 yacc
828       libtool fontconfig gd;
829     inherit (xlibs) libXaw;
830     inherit (gtkLibs) pango;
831   };
833   groff = import ../tools/text/groff {
834     inherit fetchurl stdenv perl;
835     ghostscript = null;
836   };
838   grub = import ../tools/misc/grub {
839     inherit fetchurl autoconf automake;
840     stdenv = stdenv_32bit;
841     buggyBiosCDSupport = (getConfig ["grub" "buggyBiosCDSupport"] true);
842   };
844   grub2 = import ../tools/misc/grub/1.9x.nix {
845     inherit stdenv fetchurl bison ncurses libusb freetype;
846   };
848   gssdp = import ../development/libraries/gssdp {
849     inherit fetchurl stdenv pkgconfig libxml2 glib;
850     inherit (gnome) libsoup;
851   };
853   gtkgnutella = import ../tools/networking/p2p/gtk-gnutella {
854     inherit fetchurl stdenv pkgconfig libxml2;
855     inherit (gtkLibs) glib gtk;
856   };
858   gupnp = import ../development/libraries/gupnp {
859     inherit fetchurl stdenv pkgconfig libxml2 gssdp e2fsprogs glib;
860     inherit (gnome) libsoup;
861   };
863   gupnptools = import ../tools/networking/gupnp-tools {
864     inherit fetchurl stdenv gssdp gupnp pkgconfig libxml2 e2fsprogs;
865     inherit (gtkLibs) gtk glib;
866     inherit (gnome) libsoup libglade gnomeicontheme;
867   };
869   gvpe = builderDefsPackage ../tools/networking/gvpe {
870     inherit openssl gmp nettools iproute;
871   };
873   gzip = useFromStdenv "gzip"
874     (import ../tools/compression/gzip {
875       inherit fetchurl stdenv;
876     });
878   pigz = import ../tools/compression/pigz {
879     inherit fetchurl stdenv zlib;
880   };
882   halibut = import ../tools/typesetting/halibut {
883     inherit fetchurl stdenv perl;
884   };
886   hddtemp = import ../tools/misc/hddtemp {
887     inherit fetchurl stdenv;
888   };
890   hevea = import ../tools/typesetting/hevea {
891     inherit fetchurl stdenv ocaml;
892   };
894   highlight = import ../tools/text/highlight {
895     inherit fetchurl stdenv getopt;
896   };
898   host = import ../tools/networking/host {
899     inherit fetchurl stdenv;
900   };
902   iasl = import ../development/compilers/iasl {
903     inherit fetchurl stdenv bison flex;
904   };
906   idutils = import ../tools/misc/idutils {
907     inherit fetchurl stdenv emacs;
908   };
910   iftop = import ../tools/networking/iftop {
911     inherit fetchurl stdenv ncurses libpcap;
912   };
914   imapsync = import ../tools/networking/imapsync {
915     inherit fetchurl stdenv perl openssl;
916     inherit (perlPackages) MailIMAPClient;
917   };
919   inetutils = import ../tools/networking/inetutils {
920     inherit fetchurl stdenv ncurses;
921   };
923   iodine = import ../tools/networking/iodine {
924     inherit stdenv fetchurl zlib nettools;
925   };
927   iperf = import ../tools/networking/iperf {
928     inherit fetchurl stdenv;
929   };
931   ipmitool = import ../tools/system/ipmitool {
932     inherit fetchurl stdenv openssl;
933     static = !stdenv.isDarwin && getPkgConfig "ipmitool" "static" false;
934   };
936   jdiskreport = import ../tools/misc/jdiskreport {
937     inherit fetchurl stdenv unzip jdk;
938   };
940   jfsrec = import ../tools/filesystems/jfsrec {
941     inherit fetchurl stdenv boost;
942   };
944   jfsutils = import ../tools/filesystems/jfsutils {
945     inherit fetchurl stdenv libuuid;
946   };
948   jhead = import ../tools/graphics/jhead {
949     inherit stdenv fetchurl;
950   };
952   jing = import ../tools/text/xml/jing {
953     inherit fetchurl stdenv unzip;
954   };
956   jing_tools = import ../tools/text/xml/jing/jing-script.nix {
957     inherit fetchurl stdenv unzip jre;
958   };
960   jnettop = import ../tools/networking/jnettop {
961     inherit fetchurl stdenv autoconf libpcap ncurses pkgconfig;
962     inherit (gnome) glib;
963   };
965   jwhois = import ../tools/networking/jwhois {
966     inherit fetchurl stdenv;
967   };
969   keychain = import ../tools/misc/keychain {
970     inherit fetchurl stdenv;
971   };
973   kismet = import ../applications/networking/sniffers/kismet {
974     inherit fetchurl stdenv libpcap ncurses expat;
975   };
977   ktorrent = import ../tools/networking/p2p/ktorrent {
978     inherit fetchurl stdenv pkgconfig boost
979       xlibs zlib libpng libjpeg perl gmp cmake gettext;
980     kde = kde43;
981   };
983   less = import ../tools/misc/less {
984     inherit fetchurl stdenv ncurses;
985   };
987   lftp = import ../tools/networking/lftp {
988     inherit fetchurl stdenv readline;
989   };
991   libtorrent = import ../tools/networking/p2p/libtorrent {
992     inherit fetchurl stdenv pkgconfig openssl libsigcxx;
993   };
995   lout = import ../tools/typesetting/lout {
996     inherit fetchurl stdenv ghostscript;
997   };
999   lrzip = import ../tools/compression/lrzip {
1000     inherit fetchurl stdenv zlib lzo bzip2 nasm;
1001   };
1003   lsh = import ../tools/networking/lsh {
1004     inherit stdenv fetchurl gperf guile gmp zlib liboop gnum4 pam
1005       readline nettools lsof procps;
1006   };
1008   lzma = xz;
1010   xz = import ../tools/compression/xz {
1011     inherit fetchurl stdenv lib;
1012   };
1014   lzop = import ../tools/compression/lzop {
1015     inherit fetchurl stdenv lzo;
1016   };
1018   mailutils = import ../tools/networking/mailutils {
1019     inherit fetchurl stdenv gettext gdbm libtool pam readline ncurses
1020       gnutls mysql guile texinfo gnum4;
1021   };
1023   man = import ../tools/misc/man {
1024     inherit fetchurl stdenv groff less;
1025   };
1027   man_db = import ../tools/misc/man-db {
1028     inherit fetchurl stdenv db4 groff;
1029   };
1031   memtest86 = import ../tools/misc/memtest86 {
1032     inherit fetchurl stdenv;
1033   };
1035   mc = import ../tools/misc/mc {
1036     inherit fetchurl stdenv lib pkgconfig ncurses shebangfix perl zip unzip slang
1037       gettext e2fsprogs gpm glib;
1038     inherit (xlibs) libX11 libXt;
1039   };
1041   mcabber = import ../applications/networking/instant-messengers/mcabber {
1042     inherit fetchurl stdenv openssl ncurses pkgconfig glib;
1043   };
1045   mcron = import ../tools/system/mcron {
1046     inherit fetchurl stdenv guile which ed;
1047   };
1049   mdbtools = import ../tools/misc/mdbtools {
1050     inherit fetchurl stdenv readline pkgconfig bison glib;
1051     flex = flex2535;
1052   };
1054   mjpegtools = import ../tools/video/mjpegtools {
1055     inherit fetchurl stdenv libjpeg;
1056     inherit (xlibs) libX11;
1057   };
1059   mkisofs = import ../tools/cd-dvd/mkisofs {
1060     inherit fetchurl stdenv gettext;
1061   };
1063   mktemp = import ../tools/security/mktemp {
1064     inherit fetchurl stdenv;
1065   };
1067   mldonkey = import ../applications/networking/p2p/mldonkey {
1068     inherit fetchurl stdenv ocaml zlib bzip2 ncurses file gd libpng;
1069   };
1071   monit = builderDefsPackage ../tools/system/monit {
1072     flex = flex2535;
1073     bison = bison24;
1074     inherit openssl;
1075   };
1077   mpage = import ../tools/text/mpage {
1078     inherit fetchurl stdenv;
1079   };
1081   msf = builderDefsPackage (import ../tools/security/metasploit/3.1.nix) {
1082     inherit ruby makeWrapper;
1083   };
1085   mssys = import ../tools/misc/mssys {
1086     inherit fetchurl stdenv gettext;
1087   };
1089   multitran = recurseIntoAttrs (let
1090       inherit fetchurl stdenv help2man;
1091     in rec {
1092       multitrandata = import ../tools/text/multitran/data {
1093         inherit fetchurl stdenv;
1094       };
1096       libbtree = import ../tools/text/multitran/libbtree {
1097         inherit fetchurl stdenv;
1098       };
1100       libmtsupport = import ../tools/text/multitran/libmtsupport {
1101         inherit fetchurl stdenv;
1102       };
1104       libfacet = import ../tools/text/multitran/libfacet {
1105         inherit fetchurl stdenv libmtsupport;
1106       };
1108       libmtquery = import ../tools/text/multitran/libmtquery {
1109         inherit fetchurl stdenv libmtsupport libfacet libbtree multitrandata;
1110       };
1112       mtutils = import ../tools/text/multitran/mtutils {
1113         inherit fetchurl stdenv libmtsupport libfacet libbtree libmtquery help2man;
1114       };
1115     });
1117   muscleframework = import ../tools/security/muscleframework {
1118     inherit fetchurl stdenv libmusclecard pkgconfig pcsclite;
1119   };
1121   muscletool = import ../tools/security/muscletool {
1122     inherit fetchurl stdenv pkgconfig libmusclecard pcsclite;
1123   };
1125   mysql2pgsql = import ../tools/misc/mysql2pgsql {
1126     inherit fetchurl stdenv perl shebangfix;
1127   };
1129   namazu = import ../tools/text/namazu {
1130     inherit fetchurl stdenv perl;
1131   };
1133   nbd = import ../tools/networking/nbd {
1134     inherit fetchurl stdenv pkgconfig glib;
1135   };
1137   nc6 = composedArgsAndFun (import ../tools/networking/nc6/1.0.nix) {
1138     inherit builderDefs;
1139   };
1141   ncat = import ../tools/networking/ncat {
1142     inherit fetchurl stdenv openssl;
1143   };
1145   ncftp = import ../tools/networking/ncftp {
1146     inherit fetchurl stdenv ncurses coreutils;
1147   };
1149   ncompress = import ../tools/compression/ncompress {
1150     inherit fetchurl stdenv;
1151   };
1153   netcat = import ../tools/networking/netcat {
1154     inherit fetchurl stdenv;
1155   };
1157   netkittftp = import ../tools/networking/netkit/tftp {
1158     inherit fetchurl stdenv;
1159   };
1161   netpbm = import ../tools/graphics/netpbm {
1162     inherit stdenv fetchsvn libjpeg libpng zlib flex perl libxml2 makeWrapper;
1163   };
1165   netselect = import ../tools/networking/netselect {
1166     inherit fetchurl stdenv;
1167   };
1169   nmap = import ../tools/security/nmap {
1170     inherit fetchurl stdenv libpcap pkgconfig openssl
1171       python pygtk makeWrapper pygobject pycairo;
1172     inherit (pythonPackages) pysqlite;
1173     inherit (xlibs) libX11;
1174     inherit (gtkLibs) gtk;
1175   };
1177   ntfs3g = import ../tools/filesystems/ntfs-3g {
1178     inherit fetchurl stdenv utillinux;
1179   };
1181   ntfsprogs = import ../tools/filesystems/ntfsprogs {
1182     inherit fetchurl stdenv libuuid;
1183   };
1185   ntp = import ../tools/networking/ntp {
1186     inherit fetchurl stdenv libcap;
1187   };
1189   nssmdns = import ../tools/networking/nss-mdns {
1190     inherit fetchurl stdenv avahi;
1191   };
1193   nylon = import ../tools/networking/nylon {
1194     inherit fetchurl stdenv libevent;
1195   };
1197   obexd = import ../tools/bluetooth/obexd {
1198     inherit fetchurl stdenv pkgconfig dbus openobex bluez glib;
1199   };
1201   obexfs = import ../tools/bluetooth/obexfs {
1202     inherit fetchurl stdenv pkgconfig fuse obexftp;
1203   };
1205   obexftp = import ../tools/bluetooth/obexftp {
1206     inherit fetchurl stdenv pkgconfig openobex bluez;
1207   };
1209   openjade = import ../tools/text/sgml/openjade {
1210     inherit fetchurl opensp perl;
1211     stdenv = overrideGCC stdenv gcc33;
1212   };
1214   openobex = import ../tools/bluetooth/openobex {
1215     inherit fetchurl stdenv pkgconfig bluez libusb;
1216   };
1218   opensc_0_11_7 = import ../tools/security/opensc/0.11.7.nix {
1219     inherit fetchurl stdenv libtool readline zlib openssl libiconv pcsclite
1220       libassuan pkgconfig pinentry;
1221     inherit (xlibs) libXt;
1222   };
1224   opensc = opensc_0_11_7;
1226   opensc_dnie_wrapper = import ../tools/security/opensc-dnie-wrapper {
1227     inherit stdenv makeWrapper ed libopensc_dnie;
1228   };
1230   openssh = import ../tools/networking/openssh {
1231     inherit fetchurl stdenv zlib openssl pam perl;
1232     pamSupport = getPkgConfig "openssh" "pam" true;
1233     hpnSupport = getPkgConfig "openssh" "hpn" false;
1234     etcDir = getPkgConfig "openssh" "etcDir" "/etc/ssh";
1235   };
1237   opensp = import ../tools/text/sgml/opensp {
1238     inherit fetchurl xmlto docbook_xml_dtd_412 libxslt docbook_xsl;
1239     inherit stdenv;
1240   };
1242   openvpn = import ../tools/networking/openvpn {
1243     inherit fetchurl stdenv iproute lzo openssl nettools;
1244   };
1246   p7zip = import ../tools/archivers/p7zip {
1247     inherit fetchurl stdenv;
1248   };
1250   panomatic = import ../tools/graphics/panomatic {
1251     inherit fetchurl stdenv boost zlib;
1252   };
1254   par2cmdline = import ../tools/networking/par2cmdline {
1255     inherit fetchurl stdenv;
1256   };
1258   patchutils = import ../tools/text/patchutils {
1259     inherit fetchurl stdenv;
1260   };
1262   parted = import ../tools/misc/parted {
1263     inherit fetchurl stdenv devicemapper libuuid gettext readline
1264       utillinuxng;
1265   };
1267   patch = gnupatch;
1269   pbzip2 = import ../tools/compression/pbzip2 {
1270     inherit fetchurl stdenv bzip2;
1271   };
1273   pciutils = import ../tools/system/pciutils {
1274     inherit fetchurl stdenv zlib;
1275   };
1277   pcsclite = import ../tools/security/pcsclite {
1278     inherit fetchurl stdenv hal pkgconfig dbus;
1279   };
1281   pdf2djvu = import ../tools/typesetting/pdf2djvu {
1282     inherit fetchurl stdenv pkgconfig djvulibre poppler fontconfig libjpeg;
1283   };
1285   pdfjam = import ../tools/typesetting/pdfjam {
1286     inherit fetchurl stdenv;
1287   };
1289   pg_top = import ../tools/misc/pg_top {
1290     inherit fetchurl stdenv ncurses postgresql;
1291   };
1293   pdsh = import ../tools/networking/pdsh {
1294     inherit fetchurl stdenv perl;
1295     readline = if getPkgConfig "pdsh" "readline" true then readline else null;
1296     rsh = getPkgConfig "pdsh" "rsh" true;
1297     ssh = if getPkgConfig "pdsh" "ssh" true then openssh else null;
1298     pam = if getPkgConfig "pdsh" "pam" true then pam else null;
1299   };
1301   pfstools = import ../tools/graphics/pfstools {
1302     inherit fetchurl stdenv imagemagick libjpeg libtiff mesa freeglut bzip2 libpng expat;
1303     openexr = openexr_1_6_1;
1304     qt = qt3;
1305     inherit (xlibs) libX11;
1306   };
1308   pinentry = import ../tools/misc/pinentry {
1309     inherit fetchurl stdenv pkgconfig ncurses;
1310     inherit (gnome) glib gtk;
1311   };
1313   plan9port = import ../tools/system/plan9port {
1314     inherit fetchurl stdenv;
1315     inherit (xlibs) libX11 xproto libXt xextproto;
1316   };
1318   ploticus = import ../tools/graphics/ploticus {
1319     inherit fetchurl stdenv zlib libpng;
1320     inherit (xlibs) libX11;
1321   };
1323   plotutils = import ../tools/graphics/plotutils {
1324     inherit fetchurl stdenv libpng;
1325   };
1327   povray = import ../tools/graphics/povray {
1328     inherit fetchurl stdenv;
1329   };
1331   ppl = import ../development/libraries/ppl {
1332     inherit fetchurl stdenv gmpxx perl gnum4;
1333   };
1335   /* WARNING: this version is unsuitable for using with a setuid wrapper */
1336   ppp = builderDefsPackage (import ../tools/networking/ppp) {
1337   };
1339   proxychains = import ../tools/networking/proxychains {
1340     inherit fetchurl stdenv;
1341   };
1343   proxytunnel = import ../tools/misc/proxytunnel {
1344     inherit fetchurl stdenv openssl;
1345   };
1347   psmisc = import ../tools/misc/psmisc {
1348     inherit stdenv fetchurl ncurses;
1349   };
1351   pstoedit = import ../tools/graphics/pstoedit {
1352     inherit fetchurl stdenv lib pkgconfig ghostscript gd zlib plotutils;
1353   };
1355   pv = import ../tools/misc/pv {
1356     inherit fetchurl stdenv;
1357   };
1359   pwgen = import ../tools/security/pwgen {
1360     inherit stdenv fetchurl;
1361   };
1363   pydb = import ../tools/pydb {
1364     inherit fetchurl stdenv python emacs;
1365   };
1367   pystringtemplate = import ../development/python-modules/stringtemplate {
1368     inherit stdenv fetchurl python antlr;
1369   };
1371   pythonDBus = builderDefsPackage (import ../development/python-modules/dbus) {
1372     inherit python pkgconfig dbus_glib;
1373     dbus = dbus.libs;
1374   };
1376   pythonIRClib = builderDefsPackage (import ../development/python-modules/irclib) {
1377     inherit python;
1378   };
1380   pythonSexy = builderDefsPackage (import ../development/python-modules/libsexy) {
1381     inherit python libsexy pkgconfig libxml2 pygtk;
1382     inherit (gtkLibs) pango gtk glib;
1383   };
1385   openmpi = import ../development/libraries/openmpi {
1386     inherit fetchurl stdenv;
1387   };
1389   qhull = import ../development/libraries/qhull {
1390     inherit stdenv fetchurl;
1391   };
1393   reiser4progs = import ../tools/filesystems/reiser4progs {
1394     inherit fetchurl stdenv libaal;
1395   };
1397   reiserfsprogs = import ../tools/filesystems/reiserfsprogs {
1398     inherit fetchurl stdenv;
1399   };
1401   relfs = composedArgsAndFun (import ../tools/filesystems/relfs) {
1402     inherit fetchcvs stdenv ocaml postgresql fuse pcre
1403       builderDefs pkgconfig libuuid;
1404     inherit (gnome) gnomevfs GConf;
1405   };
1407   remind = import ../tools/misc/remind {
1408     inherit fetchurl stdenv;
1409   };
1411   replace = import ../tools/text/replace {
1412     inherit fetchurl stdenv;
1413   };
1415   /*
1416   rdiff_backup = import ../tools/backup/rdiff-backup {
1417     inherit fetchurl stdenv librsync gnused;
1418     python=python;
1419   };
1420   */
1422   rsnapshot = import ../tools/backup/rsnapshot {
1423     inherit fetchurl stdenv perl openssh rsync;
1425     # For the `logger' command, we can use either `utillinux' or
1426     # GNU Inetutils.  The latter is more portable.
1427     logger = inetutils;
1428   };
1430   rlwrap = composedArgsAndFun (import ../tools/misc/rlwrap/0.28.nix) {
1431     inherit builderDefs readline;
1432   };
1434   rpPPPoE = builderDefsPackage (import ../tools/networking/rp-pppoe) {
1435     inherit ppp;
1436   };
1438   rpm = import ../tools/package-management/rpm {
1439     inherit fetchurl stdenv cpio zlib bzip2 xz file elfutils nspr nss popt;
1440     db4 = db45;
1441   };
1443   rrdtool = import ../tools/misc/rrdtool {
1444     inherit stdenv fetchurl gettext perl pkgconfig libxml2 cairo;
1445     inherit (gtkLibs) pango;
1446   };
1448   rtorrent = import ../tools/networking/p2p/rtorrent {
1449     inherit fetchurl stdenv libtorrent ncurses pkgconfig libsigcxx curl zlib openssl;
1450   };
1452   rubber = import ../tools/typesetting/rubber {
1453     inherit fetchurl stdenv python texinfo;
1454   };
1456   rxp = import ../tools/text/xml/rxp {
1457     inherit fetchurl stdenv;
1458   };
1460   rzip = import ../tools/compression/rzip {
1461     inherit fetchurl stdenv bzip2;
1462   };
1464   s3backer = import ../tools/filesystems/s3backer {
1465     inherit fetchurl stdenv pkgconfig fuse curl expat;
1466   };
1468   sablotron = import ../tools/text/xml/sablotron {
1469     inherit fetchurl stdenv expat;
1470   };
1472   screen = import ../tools/misc/screen {
1473     inherit fetchurl stdenv ncurses;
1474   };
1476   scrot = import ../tools/graphics/scrot {
1477     inherit fetchurl stdenv giblib x11;
1478   };
1480   seccure = import ../tools/security/seccure/0.4.nix {
1481     inherit fetchurl stdenv libgcrypt;
1482   };
1484   setserial = builderDefsPackage (import ../tools/system/setserial) {
1485     inherit groff;
1486   };
1488   sharutils = import ../tools/archivers/sharutils/4.6.3.nix {
1489     inherit fetchurl stdenv;
1490   };
1492   shebangfix = import ../tools/misc/shebangfix {
1493     inherit stdenv perl;
1494   };
1496   slsnif = import ../tools/misc/slsnif {
1497     inherit fetchurl stdenv;
1498   };
1500   smartmontools = import ../tools/system/smartmontools {
1501     inherit fetchurl stdenv;
1502   };
1504   smbfsFuse = composedArgsAndFun (import ../tools/filesystems/smbfs-fuse) {
1505     inherit builderDefs samba fuse;
1506   };
1508   socat = import ../tools/networking/socat {
1509     inherit fetchurl stdenv openssl;
1510   };
1512   socat2pre = builderDefsPackage ../tools/networking/socat/2.0.0-b3.nix {
1513     inherit fetchurl stdenv openssl;
1514   };
1516   squashfsTools = import ../tools/filesystems/squashfs {
1517     inherit fetchurl stdenv zlib;
1518   };
1520   sshfsFuse = import ../tools/filesystems/sshfs-fuse {
1521     inherit fetchurl stdenv pkgconfig fuse glib;
1522   };
1524   sudo = import ../tools/security/sudo {
1525     inherit fetchurl stdenv coreutils pam groff;
1526   };
1528   suidChroot = builderDefsPackage (import ../tools/system/suid-chroot) {
1529   };
1531   superkaramba = import ../desktops/superkaramba {
1532     inherit stdenv fetchurl kdebase kdelibs zlib libjpeg
1533       perl qt3 python libpng freetype expat;
1534     inherit (xlibs) libX11 libXext libXt libXaw libXpm;
1535   };
1537   ssmtp = import ../tools/networking/ssmtp {
1538     inherit fetchurl stdenv openssl;
1539     tlsSupport = true;
1540   };
1542   ssss = composedArgsAndFun (import ../tools/security/ssss/0.5.nix) {
1543     inherit builderDefs gmp;
1544   };
1546   stun = import ../tools/networking/stun {
1547     inherit fetchurl stdenv lib;
1548   };
1550   stunnel = import ../tools/networking/stunnel {
1551     inherit fetchurl stdenv openssl;
1552   };
1554   su = import ../tools/misc/su {
1555     inherit fetchurl stdenv pam;
1556   };
1558   swec = import ../tools/networking/swec {
1559     inherit fetchurl stdenv makeWrapper perl;
1560     inherit (perlPackages) LWP URI HTMLParser HTTPServerSimple Parent;
1561   };
1563   system_config_printer = import ../tools/misc/system-config-printer {
1564     inherit stdenv fetchurl perl perlXMLParser desktop_file_utils;
1565   };
1567   sitecopy = import ../tools/networking/sitecopy {
1568     inherit fetchurl stdenv neon openssl;
1569   };
1571   privoxy = import ../tools/networking/privoxy {
1572     inherit fetchurl stdenv autoconf automake ;
1573   };
1575   tcpdump = import ../tools/networking/tcpdump {
1576     inherit fetchurl stdenv libpcap;
1577   };
1579   tcng = import ../tools/networking/tcng {
1580     inherit fetchurl stdenv iproute bison flex db4 perl;
1581     kernel = linux_2_6_28;
1582   };
1584   telnet = import ../tools/networking/telnet {
1585     inherit fetchurl stdenv ncurses;
1586   };
1588   ttf2pt1 = import ../tools/misc/ttf2pt1 {
1589     inherit fetchurl stdenv perl freetype;
1590   };
1592   ucl = import ../development/libraries/ucl {
1593     inherit fetchurl stdenv;
1594   };
1596   ufraw = import ../applications/graphics/ufraw {
1597     inherit fetchurl stdenv pkgconfig gettext bzip2 zlib
1598       libjpeg libtiff cfitsio exiv2 lcms gtkimageview;
1599     inherit (gnome) gtk;
1600   };
1602   upx = import ../tools/compression/upx {
1603     inherit fetchurl stdenv ucl zlib;
1604   };
1606   vbetool = builderDefsPackage ../tools/system/vbetool {
1607     inherit pciutils libx86 zlib;
1608   };
1610   viking = import ../applications/misc/viking {
1611     inherit fetchurl stdenv pkgconfig intltool gettext expat curl
1612       gpsd bc file;
1613     inherit (gtkLibs) gtk;
1614   };
1616   vncrec = builderDefsPackage ../tools/video/vncrec {
1617     inherit (xlibs) imake libX11 xproto gccmakedep libXt
1618       libXmu libXaw libXext xextproto libSM libICE libXpm
1619       libXp;
1620   };
1622   vpnc = import ../tools/networking/vpnc {
1623     inherit fetchurl stdenv libgcrypt perl gawk
1624       nettools makeWrapper;
1625   };
1627   vtun = import ../tools/networking/vtun {
1628     inherit fetchurl stdenv lzo openssl zlib yacc flex;
1629   };
1631   testdisk = import ../tools/misc/testdisk {
1632     inherit fetchurl stdenv ncurses libjpeg e2fsprogs zlib openssl;
1633   };
1635   htmlTidy = import ../tools/text/html-tidy {
1636     inherit fetchcvs stdenv autoconf automake libtool;
1637   };
1639   tightvnc = import ../tools/admin/tightvnc {
1640     inherit fetchurl stdenv x11 zlib libjpeg perl;
1641     inherit (xlibs) imake gccmakedep libXmu libXaw libXpm libXp xauth;
1642     fontDirectories = [ xorg.fontadobe75dpi xorg.fontmiscmisc xorg.fontcursormisc
1643       xorg.fontbhlucidatypewriter75dpi ];
1644   };
1646   time = import ../tools/misc/time {
1647     inherit fetchurl stdenv;
1648   };
1650   tm = import ../tools/system/tm {
1651     inherit fetchurl stdenv;
1652   };
1654   trang = import ../tools/text/xml/trang {
1655     inherit fetchurl stdenv unzip jre;
1656   };
1658   ts = import ../tools/system/ts {
1659     inherit fetchurl stdenv;
1660   };
1662   transfig = import ../tools/graphics/transfig {
1663     inherit fetchurl stdenv libpng libjpeg zlib;
1664     inherit (xlibs) imake;
1665   };
1667   truecrypt = import ../applications/misc/truecrypt {
1668     inherit fetchurl stdenv pkgconfig fuse devicemapper;
1669     inherit wxGTK;
1670     wxGUI = getConfig [ "truecrypt" "wxGUI" ] true;
1671   };
1673   ttmkfdir = import ../tools/misc/ttmkfdir {
1674     inherit stdenv fetchurl freetype fontconfig libunwind libtool bison;
1675     flex = flex2534;
1676   };
1678   units = import ../tools/misc/units {
1679     inherit fetchurl stdenv;
1680   };
1682   unrar = import ../tools/archivers/unrar {
1683     inherit fetchurl stdenv;
1684   };
1686   unshield = import ../tools/archivers/unshield {
1687     inherit fetchurl stdenv zlib;
1688   };
1690   unzip = unzip552;
1692   # TODO: remove in the next stdenv update.
1693   unzip552 = import ../tools/archivers/unzip/5.52.nix {
1694     inherit fetchurl stdenv;
1695   };
1697   unzip60 = import ../tools/archivers/unzip/6.0.nix {
1698     inherit fetchurl stdenv bzip2;
1699   };
1701   uptimed = import ../tools/system/uptimed {
1702     inherit fetchurl stdenv automake autoconf libtool;
1703   };
1705   w3cCSSValidator = import ../tools/misc/w3c-css-validator {
1706     inherit fetchurl stdenv apacheAnt jre sourceFromHead lib;
1707     tomcat = tomcat6;
1708   };
1710   wdfs = import ../tools/filesystems/wdfs {
1711     inherit stdenv fetchurl neon fuse pkgconfig glib;
1712   };
1714   webdruid = builderDefsPackage ../tools/admin/webdruid {
1715     inherit zlib libpng freetype gd which
1716       libxml2 geoip;
1717   };
1719   wget = import ../tools/networking/wget {
1720     inherit fetchurl stdenv gettext gnutls perl;
1721   };
1723   which = import ../tools/system/which {
1724     inherit fetchurl stdenv readline;
1725   };
1727   wicd = import ../tools/networking/wicd {
1728     inherit stdenv fetchurl python pygobject pycairo pyGtkGlade pythonDBus
1729             wpa_supplicant dhcp wirelesstools nettools iproute;
1730   };
1732   wv = import ../tools/misc/wv {
1733     inherit fetchurl stdenv libpng zlib imagemagick
1734       pkgconfig libgsf libxml2 bzip2 glib;
1735   };
1737   wv2 = import ../tools/misc/wv2 {
1738     inherit stdenv fetchurl pkgconfig libgsf libxml2 glib;
1739   };
1741   x11_ssh_askpass = import ../tools/networking/x11-ssh-askpass {
1742     inherit fetchurl stdenv x11;
1743     inherit (xorg) imake;
1744   };
1746   xclip = import ../tools/misc/xclip {
1747     inherit fetchurl stdenv x11;
1748     inherit (xlibs) libXmu;
1749   };
1751   xfsprogs = import ../tools/filesystems/xfsprogs {
1752     inherit fetchurl stdenv libtool gettext libuuid;
1753   };
1755   xmlroff = import ../tools/typesetting/xmlroff {
1756     inherit fetchurl stdenv pkgconfig libxml2 libxslt popt;
1757     inherit (gtkLibs) glib pango gtk;
1758     inherit (gnome) libgnomeprint;
1759     inherit pangoxsl;
1760   };
1762   xmlto = import ../tools/typesetting/xmlto {
1763     inherit fetchurl stdenv flex libxml2 libxslt
1764             docbook_xml_dtd_42 docbook_xsl w3m
1765             bash getopt mktemp findutils makeWrapper;
1766   };
1768   xmltv = import ../tools/misc/xmltv {
1769     inherit fetchurl perl perlPackages;
1770   };
1772   xmpppy = builderDefsPackage (import ../development/python-modules/xmpppy) {
1773     inherit python setuptools;
1774   };
1776   xpf = import ../tools/text/xml/xpf {
1777     inherit fetchurl stdenv python;
1778     libxml2 = libxml2Python;
1779   };
1781   xsel = import ../tools/misc/xsel {
1782     inherit fetchurl stdenv x11;
1783   };
1785   zdelta = import ../tools/compression/zdelta {
1786     inherit fetchurl stdenv;
1787   };
1789   zile = import ../applications/editors/zile {
1790     inherit fetchurl stdenv ncurses help2man;
1791   };
1793   zip = import ../tools/archivers/zip {
1794     inherit fetchurl stdenv;
1795   };
1798   ### SHELLS
1801   bash = lowPrio (useFromStdenv "bash" bashReal);
1803   bashReal = makeOverridable (import ../shells/bash) {
1804     inherit fetchurl stdenv bison;
1805   };
1807   bashInteractive = appendToName "interactive" (bashReal.override {
1808     inherit readline texinfo;
1809     interactive = true;
1810   });
1812   tcsh = import ../shells/tcsh {
1813     inherit fetchurl stdenv ncurses;
1814   };
1816   zsh = import ../shells/zsh {
1817     inherit fetchurl stdenv ncurses coreutils;
1818   };
1821   ### DEVELOPMENT / COMPILERS
1824   abc =
1825     abcPatchable [];
1827   abcPatchable = patches :
1828     import ../development/compilers/abc/default.nix {
1829       inherit stdenv fetchurl patches jre apacheAnt;
1830       javaCup = import ../development/libraries/java/cup {
1831         inherit stdenv fetchurl jdk;
1832       };
1833     };
1835   aspectj =
1836     import ../development/compilers/aspectj {
1837       inherit stdenv fetchurl jre;
1838     };
1840   bigloo = import ../development/compilers/bigloo {
1841     inherit fetchurl stdenv;
1842   };
1844   dylan = import ../development/compilers/gwydion-dylan {
1845     inherit fetchurl stdenv perl boehmgc yacc flex readline;
1846     dylan =
1847       import ../development/compilers/gwydion-dylan/binary.nix {
1848         inherit fetchurl stdenv;
1849       };
1850   };
1852   ecl = builderDefsPackage ../development/compilers/ecl {
1853     inherit gmp mpfr;
1854   };
1856   adobeFlexSDK33 = import ../development/compilers/adobe-flex-sdk {
1857     inherit fetchurl stdenv unzip jre;
1858   };
1860   fpc = import ../development/compilers/fpc {
1861     inherit fetchurl stdenv gawk system;
1862   };
1864   gcc = gcc44;
1866   gcc295 = wrapGCC (import ../development/compilers/gcc-2.95 {
1867     inherit fetchurl stdenv noSysDirs;
1868   });
1870   gcc33 = wrapGCC (import ../development/compilers/gcc-3.3 {
1871     inherit fetchurl stdenv noSysDirs;
1872   });
1874   gcc34 = wrapGCC (import ../development/compilers/gcc-3.4 {
1875     inherit fetchurl stdenv noSysDirs;
1876   });
1878   # XXX: GCC 4.2 (and possibly others) misdetects `makeinfo' when
1879   # using Texinfo >= 4.10, just because it uses a stupid regexp that
1880   # expects a single digit after the dot.  As a workaround, we feed
1881   # GCC with Texinfo 4.9.  Stupid bug, hackish workaround.
1883   gcc40 = wrapGCC (makeOverridable (import ../development/compilers/gcc-4.0) {
1884     inherit fetchurl stdenv noSysDirs;
1885     texinfo = texinfo49;
1886     profiledCompiler = true;
1887   });
1889   gcc41 = wrapGCC (makeOverridable (import ../development/compilers/gcc-4.1) {
1890     inherit fetchurl stdenv noSysDirs;
1891     texinfo = texinfo49;
1892     profiledCompiler = false;
1893   });
1895   gcc42 = wrapGCC (makeOverridable (import ../development/compilers/gcc-4.2) {
1896     inherit fetchurl stdenv noSysDirs;
1897     profiledCompiler = false;
1898   });
1900   gcc44 = useFromStdenv "gcc" gcc44_real;
1902   gcc43 = lowPrio (wrapGCC (makeOverridable (import ../development/compilers/gcc-4.3) {
1903     inherit stdenv fetchurl texinfo gmp mpfr noSysDirs;
1904     profiledCompiler = true;
1905   }));
1907   gcc43_realCross = cross : makeOverridable (import ../development/compilers/gcc-4.3) {
1908     inherit stdenv fetchurl texinfo gmp mpfr noSysDirs cross;
1909     binutilsCross = binutilsCross cross;
1910     libcCross = libcCross cross;
1911     profiledCompiler = false;
1912     enableMultilib = true;
1913     crossStageStatic = false;
1914   };
1916   gcc44_realCross = cross : makeOverridable (import ../development/compilers/gcc-4.4) {
1917     inherit stdenv fetchurl texinfo gmp mpfr ppl cloogppl noSysDirs cross
1918         gettext which;
1919     binutilsCross = binutilsCross cross;
1920     libcCross = libcCross cross;
1921     profiledCompiler = false;
1922     enableMultilib = true;
1923     crossStageStatic = false;
1924   };
1926   gccCrossStageStatic = cross: wrapGCCCross {
1927     gcc = forceBuildDrv ((gcc44_realCross cross).override {
1928         crossStageStatic = true;
1929         langCC = false;
1930         libcCross = null;
1931     });
1932     libc = null;
1933     binutils = binutilsCross cross;
1934     inherit cross;
1935   };
1937   gccCrossStageFinal = cross: wrapGCCCross {
1938     gcc = forceBuildDrv (gcc44_realCross cross);
1939     libc = libcCross cross;
1940     binutils = binutilsCross cross;
1941     inherit cross;
1942   };
1944   gcc43_multi = lowPrio (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi (gcc43.gcc.override {
1945     stdenv = overrideGCC stdenv (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi gcc);
1946     profiledCompiler = false;
1947     enableMultilib = true;
1948   }));
1950   gcc44_real = lowPrio (wrapGCC (makeOverridable (import ../development/compilers/gcc-4.4) {
1951     inherit fetchurl stdenv texinfo gmp mpfr /* ppl cloogppl */
1952       gettext which noSysDirs;
1953     profiledCompiler = true;
1954   }));
1956   gccApple =
1957     wrapGCC ( (if stdenv.system == "i686-darwin" then import ../development/compilers/gcc-apple else import ../development/compilers/gcc-apple64) {
1958       inherit fetchurl stdenv noSysDirs;
1959       profiledCompiler = true;
1960     }) ;
1962   gccupc40 = wrapGCCUPC (import ../development/compilers/gcc-upc-4.0 {
1963     inherit fetchurl stdenv bison autoconf gnum4 noSysDirs;
1964     texinfo = texinfo49;
1965   });
1967   gfortran = gfortran43;
1969   gfortran40 = wrapGCC (gcc40.gcc.override {
1970     langFortran = true;
1971     langCC = false;
1972     inherit gmp mpfr;
1973   });
1975   gfortran41 = wrapGCC (gcc41.gcc.override {
1976     name = "gfortran";
1977     langFortran = true;
1978     langCC = false;
1979     langC = false;
1980     inherit gmp mpfr;
1981   });
1983   gfortran42 = wrapGCC (gcc42.gcc.override {
1984     name = "gfortran";
1985     langFortran = true;
1986     langCC = false;
1987     langC = false;
1988     inherit gmp mpfr;
1989   });
1991   gfortran43 = wrapGCC (gcc43.gcc.override {
1992     name = "gfortran";
1993     langFortran = true;
1994     langCC = false;
1995     langC = false;
1996     profiledCompiler = false;
1997   });
1999   gfortran44 = wrapGCC (gcc44.gcc.override {
2000     name = "gfortran";
2001     langFortran = true;
2002     langCC = false;
2003     langC = false;
2004     profiledCompiler = false;
2005   });
2007   gcj = gcj44;
2009   gcj44 = wrapGCC (gcc44.gcc.override {
2010     name = "gcj";
2011     langJava = true;
2012     langFortran = false;
2013     langCC = true;
2014     langC = false;
2015     profiledCompiler = false;
2016     inherit zip unzip zlib boehmgc gettext pkgconfig;
2017     inherit (gtkLibs) gtk;
2018     inherit (gnome) libart_lgpl;
2019     inherit (xlibs) libX11 libXt libSM libICE libXtst libXi libXrender
2020       libXrandr xproto renderproto xextproto inputproto randrproto;
2021   });
2023   gnat = gnat44;
2025   gnat44 = wrapGCC (gcc44_real.gcc.override {
2026     name = "gnat";
2027     langCC = false;
2028     langC = true;
2029     langAda = true;
2030     profiledCompiler = false;
2031     inherit gnatboot;
2032     # We can't use the ppl stuff, because we would have
2033     # libstdc++ problems.
2034     cloogppl = null;
2035     ppl = null;
2036   });
2038   gnatboot = wrapGCC (import ../development/compilers/gnatboot {
2039     inherit fetchurl stdenv;
2040   });
2042   ghdl = wrapGCC (import ../development/compilers/gcc-4.3 {
2043     inherit stdenv fetchurl texinfo gmp mpfr noSysDirs gnat;
2044     name = "ghdl";
2045     langVhdl = true;
2046     langCC = false;
2047     langC = false;
2048     profiledCompiler = false;
2049     enableMultilib = false;
2050   });
2052   # Not officially supported version for ghdl
2053   ghdl_gcc44 = lowPrio (wrapGCC (import ../development/compilers/gcc-4.4 {
2054     inherit stdenv fetchurl texinfo gmp mpfr noSysDirs gnat gettext which
2055       ppl cloogppl;
2056     name = "ghdl";
2057     langVhdl = true;
2058     langCC = false;
2059     langC = false;
2060     profiledCompiler = false;
2061     enableMultilib = false;
2062   }));
2064   /*
2065   Broken; fails because of unability to find its own symbols during linking
2067   gcl = builderDefsPackage ../development/compilers/gcl {
2068     inherit mpfr m4 binutils fetchcvs emacs;
2069     inherit (xlibs) libX11 xproto inputproto libXi
2070       libXext xextproto libXt libXaw libXmu;
2071     stdenv = (overrideGCC stdenv gcc34) // {gcc = gcc33;};
2072   };
2073   */
2075   # GHC
2077   # GHC binaries are around for bootstrapping purposes
2079   #ghc = haskellPackages.ghc;
2081   /*
2082   ghc642Binary = lowPrio (import ../development/compilers/ghc/6.4.2-binary.nix {
2083     inherit fetchurl stdenv ncurses gmp;
2084     readline = if stdenv.system == "i686-linux" then readline4 else readline5;
2085     perl = perl58;
2086   });
2087   */
2089   ghc6101Binary = lowPrio (import ../development/compilers/ghc/6.10.1-binary.nix {
2090     inherit fetchurl stdenv perl ncurses gmp libedit;
2091   });
2093   ghc6102Binary = lowPrio (import ../development/compilers/ghc/6.10.2-binary.nix {
2094     inherit fetchurl stdenv perl ncurses gmp libedit;
2095   });
2097   # For several compiler versions, we export a large set of Haskell-related
2098   # packages.
2100   haskellPackages = haskellPackages_ghc6104;
2102   /*
2103   haskellPackages_ghc642 = import ./haskell-packages.nix {
2104     inherit pkgs;
2105     ghc = import ../development/compilers/ghc/6.4.2.nix {
2106       inherit fetchurl stdenv perl ncurses readline m4 gmp;
2107       ghc = ghc642Binary;
2108     };
2109   };
2111   haskellPackages_ghc661 = import ./haskell-packages.nix {
2112     inherit pkgs;
2113     ghc = import ../development/compilers/ghc/6.6.1.nix {
2114       inherit fetchurl stdenv readline perl58 gmp ncurses m4;
2115       ghc = ghc642Binary;
2116     };
2117   };
2119   haskellPackages_ghc682 = import ./haskell-packages.nix {
2120     inherit pkgs;
2121     ghc = import ../development/compilers/ghc/6.8.2.nix {
2122       inherit fetchurl stdenv perl gmp ncurses m4;
2123       readline = readline5;
2124       ghc = ghc642Binary;
2125     };
2126   };
2128   haskellPackages_ghc683 = recurseIntoAttrs (import ./haskell-packages.nix {
2129     inherit pkgs;
2130     ghc = import ../development/compilers/ghc/6.8.3.nix {
2131       inherit fetchurl stdenv readline perl gmp ncurses m4;
2132       ghc = ghc642Binary;
2133       haddock = import ../development/tools/documentation/haddock/boot.nix {
2134         inherit gmp;
2135         cabal = import ../development/libraries/haskell/cabal/cabal.nix {
2136           inherit stdenv fetchurl lib;
2137           ghc = ghc642Binary;
2138         };
2139       };
2140     };
2141   });
2142   */
2144   haskellPackages_ghc6101 = import ./haskell-packages.nix {
2145     inherit pkgs;
2146     ghc = import ../development/compilers/ghc/6.10.1.nix {
2147       inherit fetchurl stdenv perl ncurses gmp libedit;
2148       ghc = ghc6101Binary;
2149     };
2150   };
2152   haskellPackages_ghc6102 = import ./haskell-packages.nix {
2153     inherit pkgs;
2154     ghc = import ../development/compilers/ghc/6.10.2.nix {
2155       inherit fetchurl stdenv perl ncurses gmp libedit;
2156       ghc = ghc6101Binary;
2157     };
2158   };
2160   haskellPackages_ghc6103 = recurseIntoAttrs (import ./haskell-packages.nix {
2161     inherit pkgs;
2162     ghc = import ../development/compilers/ghc/6.10.3.nix {
2163       inherit fetchurl stdenv perl ncurses gmp libedit;
2164       ghc = ghc6101Binary;
2165     };
2166   });
2168   haskellPackages_ghc6104 = recurseIntoAttrs (import ./haskell-packages.nix {
2169     inherit pkgs;
2170     ghc = import ../development/compilers/ghc/6.10.4.nix {
2171       inherit fetchurl stdenv perl ncurses gmp libedit;
2172       ghc = ghc6101Binary;
2173     };
2174   });
2176   # make this ghc default when it's supported by the Haskell Platform
2177   haskellPackages_ghc6121 = lowPrio (import ./haskell-packages.nix {
2178     inherit pkgs;
2179     ghc = import ../development/compilers/ghc/6.12.1.nix {
2180       inherit fetchurl stdenv perl ncurses gmp;
2181       ghc = ghc6101Binary;
2182     };
2183   });
2185   haskellPackages_ghcHEAD = import ./haskell-packages.nix {
2186     inherit pkgs;
2187     ghc = import ../development/compilers/ghc/6.11.nix {
2188       inherit fetchurl stdenv perl ncurses gmp libedit;
2189       inherit (haskellPackages) happy alex; # hope these aren't required for the final version
2190       ghc = ghc6101Binary;
2191     };
2192   };
2194   haxe = import ../development/compilers/haxe {
2195     inherit fetchurl sourceFromHead stdenv lib ocaml zlib makeWrapper;
2196   };
2198   falcon = builderDefsPackage (import ../development/interpreters/falcon) {
2199     inherit cmake;
2200   };
2202   go = import ../development/compilers/go {
2203     inherit stdenv fetchhg glibc bison ed which bash makeWrapper;
2204   };
2206   gprolog = import ../development/compilers/gprolog {
2207     inherit fetchurl stdenv;
2208   };
2210   gwt = import ../development/compilers/gwt {
2211     inherit stdenv fetchurl jdk;
2212     inherit (gtkLibs) glib gtk pango atk;
2213     inherit (xlibs) libX11 libXt;
2214     libstdcpp5 = gcc33.gcc;
2215   };
2217   ikarus = import ../development/compilers/ikarus {
2218     inherit stdenv fetchurl gmp;
2219   };
2221   #TODO add packages http://cvs.haskell.org/Hugs/downloads/2006-09/packages/ and test
2222   # commented out because it's using the new configuration style proposal which is unstable
2223   hugs = import ../development/compilers/hugs {
2224     inherit lib fetchurl stdenv composableDerivation;
2225   };
2227   openjdkDarwin = import ../development/compilers/openjdk-darwin {
2228     inherit fetchurl stdenv;
2229   };
2231   j2sdk14x = (
2232     assert system == "i686-linux";
2233     import ../development/compilers/jdk/default-1.4.nix {
2234       inherit fetchurl stdenv;
2235     });
2237   jdk5 = (
2238     assert system == "i686-linux" || system == "x86_64-linux";
2239     import ../development/compilers/jdk/default-5.nix {
2240       inherit fetchurl stdenv unzip;
2241     });
2243   jdk       = jdkdistro true  false;
2244   jre       = jdkdistro false false;
2246   jdkPlugin = jdkdistro true true;
2247   jrePlugin = jdkdistro false true;
2249   supportsJDK =
2250     system == "i686-linux" ||
2251     system == "x86_64-linux" ||
2252     system == "powerpc-linux";
2254   jdkdistro = installjdk: pluginSupport:
2255        (assert supportsJDK;
2256     (if pluginSupport then appendToName "plugin" else x: x) (import ../development/compilers/jdk {
2257       inherit fetchurl stdenv unzip installjdk xlibs pluginSupport makeWrapper;
2258     }));
2260   jikes = import ../development/compilers/jikes {
2261     inherit fetchurl stdenv;
2262   };
2264   lazarus = builderDefsPackage (import ../development/compilers/fpc/lazarus.nix) {
2265     inherit fpc makeWrapper;
2266     inherit (gtkLibs) gtk glib pango atk;
2267     inherit (xlibs) libXi inputproto libX11 xproto libXext xextproto;
2268   };
2270   llvm = import ../development/compilers/llvm {
2271     inherit fetchurl stdenv gcc flex perl libtool;
2272   };
2274   llvmGCC = builderDefsPackage (import ../development/compilers/llvm/llvm-gcc.nix) {
2275     flex=flex2535;
2276     inherit llvm perl libtool bison;
2277   };
2279   mono = import ../development/compilers/mono {
2280     inherit fetchurl stdenv bison pkgconfig gettext perl glib;
2281   };
2283   monoDLLFixer = import ../build-support/mono-dll-fixer {
2284     inherit stdenv perl;
2285   };
2287   mozart = import ../development/compilers/mozart {
2288     inherit fetchurl stdenv flex bison perl gmp zlib tcl tk gdbm m4 x11 emacs;
2289   };
2291   neko = import ../development/compilers/neko {
2292     inherit sourceFromHead fetchurl stdenv lib pkgconfig composableDerivation
2293       boehmgc apacheHttpd mysql zlib sqlite pcre apr makeWrapper;
2294     inherit (gtkLibs) gtk;
2295   };
2297   nasm = import ../development/compilers/nasm {
2298     inherit fetchurl stdenv;
2299   };
2301   ocaml = ocaml_3_11_1;
2303   ocaml_3_08_0 = import ../development/compilers/ocaml/3.08.0.nix {
2304     inherit fetchurl stdenv fetchcvs x11 ncurses;
2305   };
2307   ocaml_3_09_1 = import ../development/compilers/ocaml/3.09.1.nix {
2308     inherit fetchurl stdenv x11 ncurses;
2309   };
2311   ocaml_3_10_0 = import ../development/compilers/ocaml/3.10.0.nix {
2312     inherit fetchurl stdenv x11 ncurses;
2313   };
2315   ocaml_3_11_1 = import ../development/compilers/ocaml/3.11.1.nix {
2316     inherit fetchurl stdenv x11 ncurses;
2317   };
2319   opencxx = import ../development/compilers/opencxx {
2320     inherit fetchurl stdenv libtool;
2321     gcc = gcc33;
2322   };
2324   qcmm = import ../development/compilers/qcmm {
2325     lua   = lua4;
2326     ocaml = ocaml_3_08_0;
2327     inherit fetchurl stdenv mk noweb groff;
2328   };
2330   roadsend = import ../development/compilers/roadsend {
2331     inherit fetchurl stdenv flex bison bigloo lib curl composableDerivation;
2332     # optional features
2333     # all features pcre, fcgi xml mysql, sqlite3, (not implemented: odbc gtk gtk2)
2334     flags = ["pcre" "xml" "mysql"];
2335     inherit mysql libxml2 fcgi;
2336   };
2338   sbcl = builderDefsPackage (import ../development/compilers/sbcl) {
2339     inherit makeWrapper;
2340     clisp = clisp_2_44_1;
2341   };
2343   scala = import ../development/compilers/scala {
2344     inherit stdenv fetchurl;
2345   };
2347   stalin = import ../development/compilers/stalin {
2348     inherit stdenv fetchurl;
2349     inherit (xlibs) libX11;
2350   };
2352   strategoPackages = strategoPackages017;
2354   strategoPackages016 = import ../development/compilers/strategoxt/0.16.nix {
2355     inherit fetchurl pkgconfig aterm getopt;
2356     stdenv = overrideInStdenv stdenv [gnumake380];
2357   };
2359   strategoPackages017 = import ../development/compilers/strategoxt/0.17.nix {
2360     inherit fetchurl stdenv pkgconfig aterm getopt jdk ncurses;
2361     readline = readline5;
2362   };
2364   strategoPackages018 = import ../development/compilers/strategoxt/0.18.nix {
2365     inherit fetchurl stdenv pkgconfig aterm getopt jdk makeStaticBinaries ncurses;
2366     readline = readline5;
2367   };
2369   metaBuildEnv = import ../development/compilers/meta-environment/meta-build-env {
2370     inherit fetchurl stdenv;
2371   };
2373   swiProlog = import ../development/compilers/swi-prolog {
2374     inherit fetchurl stdenv gmp readline openssl libjpeg unixODBC zlib;
2375     inherit (xlibs) libXinerama libXft libXpm libSM libXt;
2376   };
2378   tinycc = import ../development/compilers/tinycc {
2379     inherit fetchurl stdenv perl texinfo;
2380   };
2382   visualcpp = (import ../development/compilers/visual-c++ {
2383     inherit fetchurl stdenv cabextract;
2384   });
2386   webdsl = import ../development/compilers/webdsl {
2387     inherit stdenv fetchurl pkgconfig strategoPackages;
2388   };
2390   win32hello = import ../development/compilers/visual-c++/test {
2391     inherit fetchurl stdenv visualcpp windowssdk;
2392   };
2394   wrapGCCWith = gccWrapper: glibc: baseGCC: gccWrapper {
2395     nativeTools = stdenv ? gcc && stdenv.gcc.nativeTools;
2396     nativeLibc = stdenv ? gcc && stdenv.gcc.nativeLibc;
2397     nativePrefix = if stdenv ? gcc then stdenv.gcc.nativePrefix else "";
2398     gcc = baseGCC;
2399     libc = glibc;
2400     inherit stdenv binutils coreutils zlib;
2401   };
2403   wrapGCC = wrapGCCWith (import ../build-support/gcc-wrapper) glibc;
2405   wrapGCCCross =
2406     {gcc, libc, binutils, cross, shell ? "", name ? "gcc-cross-wrapper"}:
2408     forceBuildDrv (import ../build-support/gcc-cross-wrapper {
2409       nativeTools = false;
2410       nativeLibc = false;
2411       noLibc = (libc == null);
2412       inherit stdenv gcc binutils libc shell name cross;
2413     });
2415   # FIXME: This is a specific hack for GCC-UPC.  Eventually, we may
2416   # want to merge `gcc-upc-wrapper' and `gcc-wrapper'.
2417   wrapGCCUPC = baseGCC: import ../build-support/gcc-upc-wrapper {
2418     nativeTools = stdenv ? gcc && stdenv.gcc.nativeTools;
2419     nativeLibc = stdenv ? gcc && stdenv.gcc.nativeLibc;
2420     gcc = baseGCC;
2421     libc = glibc;
2422     inherit stdenv binutils;
2423   };
2425   # prolog
2426   yap = import ../development/compilers/yap {
2427     inherit fetchurl stdenv;
2428   };
2431   ### DEVELOPMENT / INTERPRETERS
2433   acl2 = builderDefsPackage ../development/interpreters/acl2 {
2434     inherit sbcl;
2435   };
2437   clisp = import ../development/interpreters/clisp {
2438     inherit fetchurl stdenv libsigsegv gettext
2439       readline ncurses coreutils pcre zlib libffi libffcall;
2440     inherit (xlibs) libX11 libXau libXt xproto
2441       libXpm libXext xextproto;
2442   };
2444   # compatibility issues in 2.47 - at list 2.44.1 is known good
2445   # for sbcl bootstrap
2446   clisp_2_44_1 = import ../development/interpreters/clisp/2.44.1.nix {
2447     inherit fetchurl stdenv gettext
2448       readline ncurses coreutils pcre zlib libffi libffcall;
2449     inherit (xlibs) libX11 libXau libXt xproto
2450       libXpm libXext xextproto;
2451     libsigsegv = libsigsegv_25;
2452   };
2454   erlang = import ../development/interpreters/erlang {
2455     inherit fetchurl stdenv perl gnum4 ncurses openssl;
2456   };
2458   guile = import ../development/interpreters/guile {
2459     inherit fetchurl stdenv readline libtool gmp gawk makeWrapper;
2460   };
2462   guile_1_9 = import ../development/interpreters/guile/1.9.nix {
2463     inherit fetchurl stdenv readline libtool gmp gawk makeWrapper
2464       libunistring pkgconfig boehmgc;
2465   };
2467   guile_1_9_coverage = import ../development/interpreters/guile/1.9.nix {
2468     inherit fetchurl stdenv readline libtool gmp gawk makeWrapper
2469       libunistring pkgconfig boehmgc;
2470     inherit (releaseTools) coverageAnalysis;
2471   };
2473   io = builderDefsPackage (import ../development/interpreters/io) {
2474     inherit sqlite zlib gmp libffi cairo ncurses freetype mesa
2475       libpng libtiff libjpeg readline libsndfile libxml2
2476       freeglut e2fsprogs libsamplerate pcre libevent libedit;
2477   };
2479   kaffe =  import ../development/interpreters/kaffe {
2480     inherit fetchurl stdenv jikes alsaLib xlibs;
2481   };
2483   lua4 = import ../development/interpreters/lua-4 {
2484     inherit fetchurl stdenv;
2485   };
2487   lua5 = import ../development/interpreters/lua-5 {
2488     inherit fetchurl stdenv ncurses readline;
2489   };
2491   maude = import ../development/interpreters/maude {
2492     inherit fetchurl stdenv flex bison ncurses buddy tecla gmpxx libsigsegv makeWrapper;
2493   };
2495   octave = import ../development/interpreters/octave {
2496     inherit stdenv fetchurl gfortran readline ncurses perl flex qhull texinfo;
2497   };
2499   # mercurial (hg) bleeding edge version
2500   octaveHG = import ../development/interpreters/octave/hg.nix {
2501     inherit fetchurl sourceFromHead readline ncurses perl flex atlas getConfig glibc qhull gfortran;
2502     inherit automake autoconf bison gperf lib python gnuplot texinfo texLive; # for dev Version
2503     inherit stdenv;
2504     inherit (xlibs) libX11;
2505     #stdenv = overrideGCC stdenv gcc40;
2506   };
2508   perl58 = import ../development/interpreters/perl-5.8 {
2509     inherit fetchurl stdenv;
2510     impureLibcPath = if stdenv.isLinux then null else "/usr";
2511   };
2513   perl510 = makeOverridable (import ../development/interpreters/perl-5.10) {
2514     inherit stdenv;
2515     fetchurl = fetchurlBoot;
2516   };
2518   perl = useFromStdenv "perl"
2519     (if system != "i686-cygwin" then perl510 else sysPerl);
2521   # FIXME: unixODBC needs patching on Darwin (see darwinports)
2522   phpOld = import ../development/interpreters/php {
2523     inherit stdenv fetchurl flex bison libxml2 apacheHttpd;
2524     unixODBC =
2525       if stdenv.isDarwin then null else unixODBC;
2526   };
2528   php = makeOverridable (import ../development/interpreters/php_configurable) {
2529     inherit
2530       stdenv fetchurl lib composableDerivation autoconf automake
2531       flex bison apacheHttpd mysql libxml2 # gettext
2532       zlib curl gd postgresql openssl pkgconfig sqlite getConfig;
2533   };
2535   phpXdebug = import ../development/interpreters/php-xdebug {
2536     inherit stdenv fetchurl php autoconf automake;
2537   };
2539   phpIniBuilder = makeOverridable (import ../development/interpreters/php/ini-bulider.nix) {
2540     inherit php runCommand;
2541   };
2543   pltScheme = builderDefsPackage (import ../development/interpreters/plt-scheme) {
2544     inherit cairo fontconfig freetype libjpeg libpng openssl
2545       perl mesa zlib which;
2546     inherit (xorg) libX11 libXaw libXft libXrender libICE xproto
2547       renderproto pixman libSM libxcb libXext xextproto libXmu
2548       libXt;
2549   };
2551   polyml = import ../development/compilers/polyml {
2552     inherit stdenv fetchurl;
2553   };
2555   python = if getConfig ["python" "full"] false then pythonFull else pythonBase;
2556   python25 = if getConfig ["python" "full"] false then python25Full else python25Base;
2557   python26 = if getConfig ["python" "full"] false then python26Full else python26Base;
2558   pythonBase = if stdenv.isDarwin then python25Base else python26Base;
2559   pythonFull = if stdenv.isDarwin then python25Full else python26Full;
2561   python24 = import ../development/interpreters/python/2.4 {
2562     inherit fetchurl stdenv zlib bzip2;
2563   };
2565   python25Base = composedArgsAndFun (import ../development/interpreters/python/2.5) {
2566     inherit fetchurl stdenv zlib bzip2 gdbm;
2567   };
2569   python25Full = python25Base.passthru.function {
2570     # FIXME: We lack ncurses support, needed, e.g., for `gpsd'.
2571     db4 = if getConfig ["python" "db4Support"] true then db4 else null;
2572     sqlite = if getConfig ["python" "sqliteSupport"] true then sqlite else null;
2573     readline = if getConfig ["python" "readlineSupport"] true then readline else null;
2574     openssl = if getConfig ["python" "opensslSupport"] true then openssl else null;
2575     tk = if getConfig ["python" "tkSupport"] true then tk else null;
2576     tcl = if getConfig ["python" "tkSupport"] true then tcl else null;
2577     libX11 = if getConfig ["python" "tkSupport"] true then xlibs.libX11 else null;
2578     xproto = if getConfig ["python" "tkSupport"] true then xlibs.xproto else null;
2579   };
2581   python26Base = composedArgsAndFun (import ../development/interpreters/python/2.6) {
2582     inherit fetchurl stdenv zlib bzip2 gdbm;
2583     arch = if stdenv.isDarwin then darwinArchUtility else null;
2584     sw_vers = if stdenv.isDarwin then darwinSwVersUtility else null;
2585   };
2587   python26Full = python26Base.passthru.function {
2588     # FIXME: We lack ncurses support, needed, e.g., for `gpsd'.
2589     db4 = if getConfig ["python" "db4Support"] true then db4 else null;
2590     sqlite = if getConfig ["python" "sqliteSupport"] true then sqlite else null;
2591     readline = if getConfig ["python" "readlineSupport"] true then readline else null;
2592     openssl = if getConfig ["python" "opensslSupport"] true then openssl else null;
2593     tk = if getConfig ["python" "tkSupport"] true then tk else null;
2594     tcl = if getConfig ["python" "tkSupport"] true then tcl else null;
2595     libX11 = if getConfig ["python" "tkSupport"] true then xlibs.libX11 else null;
2596     xproto = if getConfig ["python" "tkSupport"] true then xlibs.xproto else null;
2597   };
2599   # new python and lib proposal
2600   # - adding a python lib to buildinputs should be enough
2601   #   (handles .pth files by patching site.py
2602   #    while introducing NIX_PYTHON_SITES describing list of modules)
2603   # - adding pyCheck = "import foo" test scripts to ensure libraries can be imported
2604   # - providing pythonWrapper so that you can run python and import the selected libraries
2605   # feel free to comment on this (experimental)
2606   python25New = recurseIntoAttrs ((import ../development/interpreters/python-new/2.5) pkgs);
2607   pythonNew = python25New; # the default python
2609   pyrex = pyrex095;
2611   pyrex095 = import ../development/interpreters/pyrex/0.9.5.nix {
2612     inherit fetchurl stdenv stringsWithDeps lib builderDefs python;
2613   };
2615   pyrex096 = import ../development/interpreters/pyrex/0.9.6.nix {
2616     inherit fetchurl stdenv stringsWithDeps lib builderDefs python;
2617   };
2619   Qi = composedArgsAndFun (import ../development/compilers/qi/9.1.nix) {
2620     inherit clisp stdenv fetchurl builderDefs unzip;
2621   };
2623   ruby18 = import ../development/interpreters/ruby {
2624     inherit fetchurl stdenv readline ncurses zlib openssl gdbm;
2625   };
2626   #ruby19 = import ../development/interpreters/ruby/ruby-19.nix { inherit ruby18 fetchurl; };
2627   ruby = ruby18;
2629   rubyLibs = recurseIntoAttrs (import ../development/interpreters/ruby/libs.nix {
2630     inherit pkgs stdenv;
2631   });
2633   rake = import ../development/ruby-modules/rake {
2634     inherit fetchurl stdenv ruby ;
2635   };
2637   rubySqlite3 = import ../development/ruby-modules/sqlite3 {
2638     inherit fetchurl stdenv ruby sqlite;
2639   };
2641   rLang = import ../development/interpreters/r-lang {
2642     inherit fetchurl stdenv readline perl gfortran libpng zlib;
2643     inherit (xorg) libX11 libXt;
2644     withBioconductor = getConfig ["rLang" "withBioconductor"] false;
2645   };
2647   rubygemsFun = ruby: builderDefsPackage (import ../development/interpreters/ruby/gems.nix) {
2648     inherit ruby makeWrapper;
2649   };
2650   rubygems = rubygemsFun ruby;
2652   rq = import ../applications/networking/cluster/rq {
2653     inherit fetchurl stdenv sqlite ruby ;
2654   };
2656   scsh = import ../development/interpreters/scsh {
2657     inherit stdenv fetchurl;
2658   };
2660   spidermonkey = import ../development/interpreters/spidermonkey {
2661     inherit fetchurl stdenv readline;
2662   };
2664   sysPerl = import ../development/interpreters/sys-perl {
2665     inherit stdenv;
2666   };
2668   tcl = import ../development/interpreters/tcl {
2669     inherit fetchurl stdenv;
2670   };
2672   xulrunnerWrapper = {application, launcher}:
2673     import ../development/interpreters/xulrunner/wrapper {
2674       inherit stdenv application launcher;
2675       xulrunner = xulrunner35;
2676     };
2679   ### DEVELOPMENT / MISC
2681   avrgcclibc = import ../development/misc/avr-gcc-with-avr-libc {
2682     inherit fetchurl stdenv writeTextFile gnumake coreutils gnutar bzip2
2683       gnugrep gnused gawk;
2684     gcc = gcc40;
2685   };
2687   avr8burnomat = import ../development/misc/avr8-burn-omat {
2688     inherit fetchurl stdenv unzip;
2689   };
2691   /*
2692   toolbus = import ../development/interpreters/toolbus {
2693     inherit stdenv fetchurl atermjava toolbuslib aterm yacc flex;
2694   };
2695   */
2697   sourceFromHead = import ../build-support/source-from-head-fun.nix {
2698     inherit getConfig;
2699   };
2701   ecj = import ../development/eclipse/ecj {
2702     inherit fetchurl stdenv unzip ant gcj;
2703   };
2705   jdtsdk = import ../development/eclipse/jdt-sdk {
2706     inherit fetchurl stdenv unzip;
2707   };
2709   jruby116 = import ../development/interpreters/jruby {
2710     inherit fetchurl stdenv;
2711   };
2713   guileCairo = import ../development/guile-modules/guile-cairo {
2714     inherit fetchurl stdenv guile pkgconfig cairo guileLib;
2715   };
2717   guileGnome = import ../development/guile-modules/guile-gnome {
2718     inherit fetchurl stdenv guile guileLib gwrap pkgconfig guileCairo;
2719     gconf = gnome.GConf;
2720     inherit (gnome) glib gnomevfs gtk libglade libgnome libgnomecanvas
2721       libgnomeui pango;
2722   };
2724   guileLib = import ../development/guile-modules/guile-lib {
2725     inherit fetchurl stdenv guile texinfo;
2726   };
2728   windowssdk = (
2729     import ../development/misc/windows-sdk {
2730       inherit fetchurl stdenv cabextract;
2731     });
2734   ### DEVELOPMENT / TOOLS
2737   antlr = import ../development/tools/parsing/antlr/2.7.7.nix {
2738     inherit fetchurl stdenv jdk python;
2739   };
2741   antlr3 = import ../development/tools/parsing/antlr {
2742     inherit fetchurl stdenv jre;
2743   };
2745   antDarwin = apacheAnt.override rec { jdk = openjdkDarwin ; name = "ant-" + jdk.name ; } ;
2747   ant = apacheAnt;
2748   apacheAnt = makeOverridable (import ../development/tools/build-managers/apache-ant) {
2749     inherit fetchurl stdenv jdk;
2750     name = "ant-" + jdk.name;
2751   };
2753   apacheAnt14 = import ../development/tools/build-managers/apache-ant {
2754     inherit fetchurl stdenv;
2755     jdk = j2sdk14x;
2756     name = "ant-" + j2sdk14x.name;
2757   };
2759   apacheAntGcj = import ../development/tools/build-managers/apache-ant/from-source.nix {
2760     inherit fetchurl stdenv;
2761     inherit junit; # must be either pre-built or built with GCJ *alone*
2762     javac = gcj;
2763     jvm = gcj;
2764   };
2766   autobuild = import ../development/tools/misc/autobuild {
2767     inherit fetchurl stdenv makeWrapper perl openssh rsync;
2768   };
2770   autoconf = import ../development/tools/misc/autoconf {
2771     inherit fetchurl stdenv perl m4;
2772   };
2774   autoconf213 = import ../development/tools/misc/autoconf/2.13.nix {
2775     inherit fetchurl stdenv perl m4 lzma;
2776   };
2778   automake = automake110x;
2780   automake17x = import ../development/tools/misc/automake/automake-1.7.x.nix {
2781     inherit fetchurl stdenv perl autoconf makeWrapper;
2782   };
2784   automake19x = import ../development/tools/misc/automake/automake-1.9.x.nix {
2785     inherit fetchurl stdenv perl autoconf makeWrapper;
2786   };
2788   automake110x = import ../development/tools/misc/automake/automake-1.10.x.nix {
2789     inherit fetchurl stdenv perl autoconf makeWrapper;
2790   };
2792   automake111x = import ../development/tools/misc/automake/automake-1.11.x.nix {
2793     inherit fetchurl stdenv perl autoconf makeWrapper;
2794   };
2796   avrdude = import ../development/tools/misc/avrdude {
2797     inherit lib fetchurl stdenv flex yacc composableDerivation texLive;
2798   };
2800   binutils = useFromStdenv "binutils"
2801     (import ../development/tools/misc/binutils {
2802       inherit fetchurl stdenv noSysDirs;
2803     });
2805   binutilsCross = cross : forceBuildDrv (import ../development/tools/misc/binutils {
2806       inherit stdenv fetchurl cross;
2807       noSysDirs = true;
2808   });
2810   bison = bison23;
2812   bison1875 = import ../development/tools/parsing/bison/bison-1.875.nix {
2813     inherit fetchurl stdenv m4;
2814   };
2816   bison23 = import ../development/tools/parsing/bison/bison-2.3.nix {
2817     inherit fetchurl stdenv m4;
2818   };
2820   bison24 = import ../development/tools/parsing/bison/bison-2.4.nix {
2821     inherit fetchurl stdenv m4;
2822   };
2824   buildbot = import ../development/tools/build-managers/buildbot {
2825     inherit fetchurl stdenv buildPythonPackage texinfo;
2826     inherit (pythonPackages) twisted;
2827   };
2829   byacc = import ../development/tools/parsing/byacc {
2830     inherit fetchurl stdenv;
2831   };
2833   camlp5_strict = import ../development/tools/ocaml/camlp5 {
2834     inherit stdenv fetchurl ocaml;
2835   };
2837   camlp5_transitional = import ../development/tools/ocaml/camlp5 {
2838     inherit stdenv fetchurl ocaml;
2839     transitional = true;
2840   };
2842   ccache = import ../development/tools/misc/ccache {
2843     inherit fetchurl stdenv;
2844   };
2846   ctags = import ../development/tools/misc/ctags {
2847     inherit fetchurl sourceFromHead stdenv automake autoconf;
2848   };
2850   ctagsWrapped = import ../development/tools/misc/ctags/wrapped.nix {
2851     inherit pkgs ctags writeScriptBin;
2852   };
2854   cmake = import ../development/tools/build-managers/cmake {
2855     inherit fetchurl stdenv replace ncurses;
2856   };
2858   coccinelle = import ../development/tools/misc/coccinelle {
2859     inherit fetchurl stdenv perl python ocaml ncurses makeWrapper;
2860   };
2862   cproto = import ../development/tools/misc/cproto {
2863     inherit fetchurl stdenv flex bison;
2864   };
2866   cflow = import ../development/tools/misc/cflow {
2867     inherit fetchurl stdenv gettext emacs;
2868   };
2870   cscope = import ../development/tools/misc/cscope {
2871     inherit fetchurl stdenv ncurses pkgconfig emacs;
2872   };
2874   dejagnu = import ../development/tools/misc/dejagnu {
2875     inherit fetchurl stdenv expect makeWrapper;
2876   };
2878   ddd = import ../development/tools/misc/ddd {
2879     inherit fetchurl stdenv lesstif ncurses;
2880     inherit (xlibs) libX11 libXt;
2881   };
2883   distcc = import ../development/tools/misc/distcc {
2884     inherit fetchurl stdenv popt;
2885     python = if getPkgConfig "distcc" "python" true then python else null;
2886     avahi = if getPkgConfig "distcc" "avahi" false then avahi else null;
2887     pkgconfig = if getPkgConfig "distcc" "gtk" false then pkgconfig else null;
2888     gtk = if getPkgConfig "distcc" "gtk" false then gtkLibs.gtk else null;
2889     static = getPkgConfig "distcc" "static" false;
2890   };
2892   docutils = builderDefsPackage (import ../development/tools/documentation/docutils) {
2893     inherit python pil makeWrapper;
2894   };
2896   doxygen = import ../development/tools/documentation/doxygen {
2897     inherit fetchurl stdenv graphviz perl flex bison gnumake;
2898     inherit (xlibs) libX11 libXext;
2899     qt = if getPkgConfig "doxygen" "qt4" true then qt4 else null;
2900   };
2902   eggdbus = import ../development/tools/misc/eggdbus {
2903     inherit stdenv fetchurl pkgconfig dbus dbus_glib glib;
2904   };
2906   elfutils = import ../development/tools/misc/elfutils {
2907     inherit fetchurl stdenv m4;
2908   };
2910   epm = import ../development/tools/misc/epm {
2911     inherit fetchurl stdenv rpm;
2912   };
2914   emma = import ../development/tools/analysis/emma {
2915     inherit fetchurl stdenv unzip;
2916   };
2918   findbugs = import ../development/tools/analysis/findbugs {
2919     inherit fetchurl stdenv;
2920   };
2922   pmd = import ../development/tools/analysis/pmd {
2923     inherit fetchurl stdenv unzip;
2924   };
2926   jdepend = import ../development/tools/analysis/jdepend {
2927     inherit fetchurl stdenv unzip;
2928   };
2930   checkstyle = import ../development/tools/analysis/checkstyle {
2931     inherit fetchurl stdenv unzip;
2932   };
2934   flex = flex254a;
2936   flex2535 = import ../development/tools/parsing/flex/flex-2.5.35.nix {
2937     inherit fetchurl stdenv yacc m4;
2938   };
2940   flex2534 = import ../development/tools/parsing/flex/flex-2.5.34.nix {
2941     inherit fetchurl stdenv yacc m4;
2942   };
2944   flex2533 = import ../development/tools/parsing/flex/flex-2.5.33.nix {
2945     inherit fetchurl stdenv yacc m4;
2946   };
2948   # Note: 2.5.4a is much older than 2.5.35 but happens first when sorting
2949   # alphabetically, hence the low priority.
2950   flex254a = lowPrio (import ../development/tools/parsing/flex/flex-2.5.4a.nix {
2951     inherit fetchurl stdenv yacc;
2952   });
2954   m4 = gnum4;
2956   global = import ../development/tools/misc/global {
2957     inherit fetchurl stdenv;
2958   };
2960   gnum4 = makeOverridable (import ../development/tools/misc/gnum4) {
2961     inherit fetchurl stdenv;
2962   };
2964   gnumake = useFromStdenv "gnumake"
2965     (import ../development/tools/build-managers/gnumake {
2966       inherit fetchurl stdenv;
2967     });
2969   gnumake380 = import ../development/tools/build-managers/gnumake-3.80 {
2970     inherit fetchurl stdenv;
2971   };
2973   gperf = import ../development/tools/misc/gperf {
2974     inherit fetchurl stdenv;
2975   };
2977   gtkdialog = import ../development/tools/misc/gtkdialog {
2978     inherit fetchurl stdenv pkgconfig;
2979     inherit (gtkLibs) gtk;
2980   };
2982   guileLint = import ../development/tools/guile/guile-lint {
2983     inherit fetchurl stdenv guile;
2984   };
2986   gwrap = import ../development/tools/guile/g-wrap {
2987     inherit fetchurl stdenv guile libffi pkgconfig guileLib glib;
2988   };
2990   help2man = import ../development/tools/misc/help2man {
2991     inherit fetchurl stdenv perl gettext;
2992     inherit (perlPackages) LocaleGettext;
2993   };
2995   iconnamingutils = import ../development/tools/misc/icon-naming-utils {
2996     inherit fetchurl stdenv perl;
2997     inherit (perlPackages) XMLSimple;
2998   };
3000   indent = import ../development/tools/misc/indent {
3001     inherit fetchurl stdenv;
3002   };
3004   inotifyTools = import ../development/tools/misc/inotify-tools {
3005     inherit fetchurl stdenv lib;
3006   };
3008   jikespg = import ../development/tools/parsing/jikespg {
3009     inherit fetchurl stdenv;
3010   };
3012   kcachegrind = import ../development/tools/misc/kcachegrind {
3013     inherit fetchurl stdenv kdelibs zlib perl expat libpng libjpeg;
3014     inherit (xlibs) libX11 libXext libSM;
3015     qt = qt3;
3016   };
3018   lcov = import ../development/tools/analysis/lcov {
3019     inherit fetchurl stdenv perl;
3020   };
3022   libtool = libtool_2;
3024   libtool_1_5 = import ../development/tools/misc/libtool {
3025     inherit fetchurl stdenv perl m4;
3026   };
3028   libtool_2 = import ../development/tools/misc/libtool/libtool2.nix {
3029     inherit fetchurl stdenv lzma perl m4;
3030   };
3032   lsof = import ../development/tools/misc/lsof {
3033     inherit fetchurl stdenv;
3034   };
3036   ltrace = composedArgsAndFun (import ../development/tools/misc/ltrace/0.5-3deb.nix) {
3037     inherit fetchurl stdenv builderDefs stringsWithDeps lib elfutils;
3038   };
3040   mk = import ../development/tools/build-managers/mk {
3041     inherit fetchurl stdenv;
3042   };
3044   noweb = import ../development/tools/literate-programming/noweb {
3045     inherit fetchurl stdenv;
3046   };
3048   openocd = import ../development/tools/misc/openocd {
3049     inherit fetchurl stdenv libftdi;
3050   };
3052   oprofile = import ../development/tools/profiling/oprofile {
3053     inherit fetchurl stdenv binutils popt;
3054     inherit makeWrapper gawk which gnugrep;
3055   };
3057   patchelf = useFromStdenv "patchelf"
3058     (import ../development/tools/misc/patchelf {
3059       inherit fetchurl stdenv;
3060     });
3062   pmccabe = import ../development/tools/misc/pmccabe {
3063     inherit fetchurl stdenv;
3064   };
3066   /**
3067    * pkgconfig is optionally taken from the stdenv to allow bootstrapping
3068    * of glib and pkgconfig itself on MinGW.
3069    */
3070   pkgconfigReal = useFromStdenv "pkgconfig"
3071     (import ../development/tools/misc/pkgconfig {
3072       inherit fetchurl stdenv;
3073     });
3075   /* Make pkgconfig always return a buildDrv, never a proper hostDrv,
3076      because most usage of pkgconfig as buildInput (inheritance of
3077      pre-cross nixpkgs) means using it using as buildNativeInput
3078      cross_renaming: we should make all programs use pkgconfig as
3079      buildNativeInput after the renaming.
3080      */
3081   pkgconfig = forceBuildDrv pkgconfigReal;
3083   radare = import ../development/tools/analysis/radare {
3084     inherit stdenv fetchurl pkgconfig libusb readline gtkdialog python
3085       ruby libewf perl;
3086     inherit (gtkLibs) gtk;
3087     inherit (gnome) vte;
3088     lua = lua5;
3089     useX11 = getConfig ["radare" "useX11"] false;
3090     pythonBindings = getConfig ["radare" "pythonBindings"] false;
3091     rubyBindings = getConfig ["radare" "rubyBindings"] false;
3092     luaBindings = getConfig ["radare" "luaBindings"] false;
3093   };
3095   ragel = import ../development/tools/parsing/ragel {
3096     inherit composableDerivation fetchurl transfig texLive;
3097   };
3099   remake = import ../development/tools/build-managers/remake {
3100       inherit fetchurl stdenv;
3101     };
3103   # couldn't find the source yet
3104   seleniumRCBin = import ../development/tools/selenium/remote-control {
3105     inherit fetchurl stdenv unzip;
3106     jre = jdk;
3107   };
3109   scons = import ../development/tools/build-managers/scons {
3110     inherit fetchurl stdenv python makeWrapper;
3111   };
3113   sloccount = import ../development/tools/misc/sloccount {
3114     inherit fetchurl stdenv perl;
3115   };
3117   sparse = import ../development/tools/analysis/sparse {
3118     inherit fetchurl stdenv pkgconfig;
3119   };
3121   spin = import ../development/tools/analysis/spin {
3122     inherit fetchurl stdenv flex yacc tk;
3123   };
3125   splint = import ../development/tools/analysis/splint {
3126     inherit fetchurl stdenv flex;
3127   };
3129   strace = import ../development/tools/misc/strace {
3130     inherit fetchurl stdenv;
3131   };
3133   swig = import ../development/tools/misc/swig {
3134     inherit fetchurl stdenv boost;
3135   };
3137   swigWithJava = swig;
3139   swftools = import ../tools/video/swftools {
3140     inherit fetchurl stdenv x264 zlib libjpeg freetype giflib;
3141   };
3143   texinfo49 = import ../development/tools/misc/texinfo/4.9.nix {
3144     inherit fetchurl stdenv ncurses;
3145   };
3147   texinfo = makeOverridable (import ../development/tools/misc/texinfo) {
3148     inherit fetchurl stdenv ncurses lzma;
3149   };
3151   texi2html = import ../development/tools/misc/texi2html {
3152     inherit fetchurl stdenv perl;
3153   };
3155   uisp = import ../development/tools/misc/uisp {
3156     inherit fetchurl stdenv;
3157   };
3159   gdb = import ../development/tools/misc/gdb {
3160     inherit fetchurl stdenv ncurses gmp mpfr expat texinfo;
3161     readline = readline5;
3162   };
3164   gdbCross = import ../development/tools/misc/gdb {
3165     inherit fetchurl stdenv ncurses gmp mpfr expat texinfo;
3166     readline = readline5;
3167     target = crossSystem;
3168   };
3170   valgrind = import ../development/tools/analysis/valgrind {
3171     inherit fetchurl stdenv perl gdb autoconf automake;
3172   };
3174   xxdiff = builderDefsPackage (import ../development/tools/misc/xxdiff/3.2.nix) {
3175     flex = flex2535;
3176     qt = qt3;
3177     inherit pkgconfig makeWrapper bison python;
3178     inherit (xlibs) libXext libX11;
3179   };
3181   yacc = bison;
3183   yodl = import ../development/tools/misc/yodl {
3184     inherit stdenv fetchurl perl;
3185   };
3188   ### DEVELOPMENT / LIBRARIES
3191   a52dec = import ../development/libraries/a52dec {
3192     inherit fetchurl stdenv;
3193   };
3195   aalib = import ../development/libraries/aalib {
3196     inherit fetchurl stdenv ncurses;
3197   };
3199   acl = useFromStdenv "acl"
3200     (import ../development/libraries/acl {
3201       inherit stdenv fetchurl gettext attr libtool;
3202     });
3204   adns = import ../development/libraries/adns/1.4.nix {
3205     inherit stdenv fetchurl;
3206     static = getPkgConfig "adns" "static" (stdenv ? isStatic || stdenv ? isDietLibC);
3207   };
3209   agg = import ../development/libraries/agg {
3210     inherit fetchurl stdenv autoconf automake libtool pkgconfig
3211       freetype SDL;
3212     inherit (xlibs) libX11;
3213   };
3215   amrnb = import ../development/libraries/amrnb {
3216     inherit fetchurl stdenv unzip;
3217   };
3219   amrwb = import ../development/libraries/amrwb {
3220     inherit fetchurl stdenv unzip;
3221   };
3223   apr = makeOverridable (import ../development/libraries/apr) {
3224     inherit (pkgsOverriden) fetchurl stdenv;
3225   };
3227   aprutil = makeOverridable (import ../development/libraries/apr-util) {
3228     inherit (pkgsOverriden) fetchurl stdenv apr expat db4;
3229     bdbSupport = true;
3230   };
3232   arts = import ../development/libraries/arts {
3233     inherit fetchurl stdenv pkgconfig;
3234     inherit (xlibs) libX11 libXext;
3235     inherit kdelibs zlib libjpeg libpng perl;
3236     qt = qt3;
3237     inherit (gnome) glib;
3238   };
3240   aspell = import ../development/libraries/aspell {
3241     inherit fetchurl stdenv perl;
3242   };
3244   aspellDicts = recurseIntoAttrs (import ../development/libraries/aspell/dictionaries.nix {
3245     inherit fetchurl stdenv aspell which;
3246   });
3248   aterm = aterm25;
3250   aterm242fixes = lowPrio (import ../development/libraries/aterm/2.4.2-fixes.nix {
3251     inherit fetchurl stdenv;
3252   });
3254   aterm25 = makeOverridable (import ../development/libraries/aterm/2.5.nix) {
3255     inherit fetchurl stdenv;
3256   };
3258   aterm28 = lowPrio (import ../development/libraries/aterm/2.8.nix {
3259     inherit fetchurl stdenv;
3260   });
3262   attr = useFromStdenv "attr"
3263     (import ../development/libraries/attr {
3264       inherit stdenv fetchurl gettext libtool;
3265     });
3267   aubio = import ../development/libraries/aubio {
3268     inherit fetchurl stdenv pkgconfig fftw libsndfile libsamplerate python
3269       alsaLib jackaudio;
3270   };
3272   axis = import ../development/libraries/axis {
3273     inherit fetchurl stdenv;
3274   };
3276   babl = import ../development/libraries/babl {
3277     inherit fetchurl stdenv;
3278   };
3280   beecrypt = import ../development/libraries/beecrypt {
3281     inherit fetchurl stdenv m4;
3282   };
3284   boehmgc = import ../development/libraries/boehm-gc {
3285     inherit fetchurl stdenv;
3286   };
3288   boolstuff = import ../development/libraries/boolstuff {
3289     inherit fetchurl stdenv lib pkgconfig;
3290   };
3292   boost_1_36_0 = import ../development/libraries/boost/1.36.0.nix {
3293     inherit fetchurl stdenv icu expat zlib bzip2 python;
3294   };
3296   boost = makeOverridable (import ../development/libraries/boost/1.41.0.nix) {
3297     inherit fetchurl stdenv icu expat zlib bzip2 python;
3298   };
3300   # A Boost build with all library variants enabled.  Very large (about 250 MB).
3301   boostFull = appendToName "full" (boost.override {
3302     enableDebug = true;
3303     enableSingleThreaded = true;
3304     enableStatic = true;
3305   });
3307   botan = builderDefsPackage (import ../development/libraries/botan) {
3308     inherit perl;
3309   };
3311   buddy = import ../development/libraries/buddy {
3312     inherit fetchurl stdenv bison;
3313   };
3315   cairo = import ../development/libraries/cairo {
3316     inherit fetchurl stdenv pkgconfig x11 fontconfig freetype zlib libpng;
3317     inherit (xlibs) pixman libxcb xcbutil;
3318   };
3320   cairomm = import ../development/libraries/cairomm {
3321     inherit fetchurl stdenv pkgconfig cairo x11 fontconfig freetype libsigcxx;
3322   };
3324   scmccid = import ../development/libraries/scmccid {
3325     inherit fetchurl stdenv libusb patchelf;
3326   };
3328   ccrtp = import ../development/libraries/ccrtp {
3329     inherit fetchurl stdenv lib pkgconfig openssl libgcrypt commoncpp2;
3330   };
3332   chipmunk = builderDefsPackage (import ../development/libraries/chipmunk) {
3333     inherit cmake freeglut mesa;
3334     inherit (xlibs) libX11 xproto inputproto libXi libXmu;
3335   };
3337   chmlib = import ../development/libraries/chmlib {
3338     inherit fetchurl stdenv;
3339   };
3341   cil = import ../development/libraries/cil {
3342     inherit stdenv fetchurl ocaml perl;
3343   };
3345   cilaterm = import ../development/libraries/cil-aterm {
3346     stdenv = overrideInStdenv stdenv [gnumake380];
3347     inherit fetchurl perl ocaml;
3348   };
3350   clanlib = import ../development/libraries/clanlib {
3351     inherit fetchurl stdenv zlib libpng libjpeg libvorbis libogg mesa;
3352     inherit (xlibs) libX11 xf86vidmodeproto libXmu libXxf86vm;
3353   };
3355   classads = import ../development/libraries/classads {
3356     inherit fetchurl stdenv;
3357   };
3359   classpath = import ../development/libraries/java/classpath {
3360     javac = gcj;
3361     jvm = gcj;
3362     inherit fetchurl stdenv pkgconfig antlr;
3363     inherit (gtkLibs) gtk;
3364     gconf = gnome.GConf;
3365   };
3367   clearsilver = import ../development/libraries/clearsilver {
3368     inherit fetchurl stdenv python;
3369   };
3371   clppcre = builderDefsPackage (import ../development/libraries/cl-ppcre) {
3372   };
3374   cluceneCore = (import ../development/libraries/clucene-core) {
3375     inherit fetchurl stdenv;
3376   };
3378   commoncpp2 = import ../development/libraries/commoncpp2 {
3379     inherit stdenv fetchurl lib;
3380   };
3382   consolekit = makeOverridable (import ../development/libraries/consolekit) {
3383     inherit stdenv fetchurl pkgconfig dbus_glib zlib pam policykit expat glib;
3384     inherit (xlibs) libX11;
3385   };
3387   coredumper = import ../development/libraries/coredumper {
3388     inherit fetchurl stdenv;
3389   };
3391   ctl = import ../development/libraries/ctl {
3392     inherit fetchurl stdenv ilmbase;
3393   };
3395   cppunit = import ../development/libraries/cppunit {
3396     inherit fetchurl stdenv;
3397   };
3399   cracklib = import ../development/libraries/cracklib {
3400     inherit fetchurl stdenv;
3401   };
3403   cryptopp = import ../development/libraries/crypto++ {
3404     inherit fetchurl stdenv unzip libtool;
3405   };
3407   cyrus_sasl = import ../development/libraries/cyrus-sasl {
3408     inherit stdenv fetchurl openssl db4 gettext;
3409   };
3411   db4 = db45;
3413   db44 = import ../development/libraries/db4/db4-4.4.nix {
3414     inherit fetchurl stdenv;
3415   };
3417   db45 = import ../development/libraries/db4/db4-4.5.nix {
3418     inherit fetchurl stdenv;
3419   };
3421   dbus = import ../development/libraries/dbus {
3422     inherit fetchurl stdenv pkgconfig expat;
3423     inherit (xlibs) libX11 libICE libSM;
3424     useX11 = true; # !!! `false' doesn't build
3425   };
3427   dbus_glib = makeOverridable (import ../development/libraries/dbus-glib) {
3428     inherit fetchurl stdenv pkgconfig gettext dbus expat glib;
3429     libiconv = if (stdenv.system == "i686-freebsd") then libiconv else null;
3430   };
3432   dbus_java = import ../development/libraries/java/dbus-java {
3433     inherit stdenv fetchurl gettext jdk libmatthew_java;
3434   };
3436   dclib = import ../development/libraries/dclib {
3437     inherit fetchurl stdenv libxml2 openssl bzip2;
3438   };
3440   directfb = import ../development/libraries/directfb {
3441     inherit fetchurl stdenv perl zlib libjpeg freetype
3442       SDL libpng giflib;
3443     inherit (xlibs) libX11 libXext xproto xextproto renderproto
3444       libXrender;
3445   };
3447   enchant = makeOverridable (import ../development/libraries/enchant) {
3448     inherit fetchurl stdenv aspell pkgconfig;
3449     inherit (gnome) glib;
3450   };
3452   enginepkcs11 = import ../development/libraries/enginepkcs11 {
3453     inherit fetchurl stdenv libp11 pkgconfig openssl;
3454   };
3456   exiv2 = import ../development/libraries/exiv2 {
3457     inherit fetchurl stdenv zlib;
3458   };
3460   expat = import ../development/libraries/expat {
3461     inherit fetchurl stdenv;
3462   };
3464   extremetuxracer = builderDefsPackage (import ../games/extremetuxracer) {
3465     inherit mesa tcl freeglut SDL SDL_mixer pkgconfig
3466         libpng gettext intltool;
3467     inherit (xlibs) libX11 xproto libXi inputproto
3468         libXmu libXext xextproto libXt libSM libICE;
3469   };
3471   eventlog = import ../development/libraries/eventlog {
3472     inherit fetchurl stdenv;
3473   };
3475   facile = import ../development/libraries/facile {
3476     inherit fetchurl stdenv;
3477     # Actually, we don't need this version but we need native-code compilation
3478     ocaml = ocaml_3_10_0;
3479   };
3481   faac = import ../development/libraries/faac {
3482     inherit fetchurl stdenv autoconf automake libtool;
3483   };
3485   faad2 = import ../development/libraries/faad2 {
3486     inherit fetchurl stdenv;
3487   };
3489   farsight2 = import ../development/libraries/farsight2 {
3490     inherit fetchurl stdenv libnice pkgconfig python;
3491     inherit (gnome) glib;
3492     inherit (gst_all) gstreamer gstPluginsBase;
3493   };
3495   fcgi = import ../development/libraries/fcgi {
3496       inherit fetchurl stdenv;
3497   };
3499   ffmpeg = import ../development/libraries/ffmpeg {
3500     inherit fetchurl stdenv faad2;
3501   };
3503   fftw = import ../development/libraries/fftw {
3504     inherit fetchurl stdenv builderDefs stringsWithDeps;
3505     singlePrecision = false;
3506   };
3508   fftwSinglePrec = import ../development/libraries/fftw {
3509     inherit fetchurl stdenv builderDefs stringsWithDeps;
3510     singlePrecision = true;
3511   };
3513   fltk11 = (import ../development/libraries/fltk/fltk11.nix) {
3514     inherit composableDerivation x11 lib pkgconfig freeglut;
3515     inherit fetchurl stdenv mesa libpng libjpeg zlib ;
3516     inherit (xlibs) inputproto libXi libXinerama libXft;
3517     flags = [ "useNixLibs" "threads" "shared" "gl" ];
3518   };
3520   fltk20 = (import ../development/libraries/fltk) {
3521     inherit composableDerivation x11 lib pkgconfig freeglut;
3522     inherit fetchurl stdenv mesa libpng libjpeg zlib ;
3523     inherit (xlibs) inputproto libXi libXinerama libXft;
3524     flags = [ "useNixLibs" "threads" "shared" "gl" ];
3525   };
3527   fmod = import ../development/libraries/fmod {
3528     inherit stdenv fetchurl;
3529   };
3531   freeimage = import ../development/libraries/freeimage {
3532     inherit fetchurl stdenv unzip;
3533   };
3535   freetts = import ../development/libraries/freetts {
3536     inherit stdenv fetchurl apacheAnt unzip sharutils lib;
3537   };
3539   cfitsio = import ../development/libraries/cfitsio {
3540     inherit fetchurl stdenv;
3541   };
3543   fontconfig = import ../development/libraries/fontconfig {
3544     inherit fetchurl stdenv freetype expat;
3545   };
3547   makeFontsConf = let fontconfig_ = fontconfig; in {fontconfig ? fontconfig_, fontDirectories}:
3548     import ../development/libraries/fontconfig/make-fonts-conf.nix {
3549       inherit runCommand libxslt fontconfig fontDirectories;
3550     };
3552   freealut = import ../development/libraries/freealut {
3553     inherit fetchurl stdenv openal;
3554   };
3556   freeglut = import ../development/libraries/freeglut {
3557     inherit fetchurl stdenv x11 mesa;
3558   };
3560   freetype = import ../development/libraries/freetype {
3561     inherit fetchurl stdenv;
3562   };
3564   fribidi = import ../development/libraries/fribidi {
3565     inherit fetchurl stdenv;
3566   };
3568   fam = gamin;
3570   gamin = import ../development/libraries/gamin {
3571     inherit fetchurl stdenv python pkgconfig glib;
3572   };
3574   gav = import ../games/gav {
3575     inherit fetchurl SDL SDL_image SDL_mixer SDL_net;
3576     stdenv = overrideGCC stdenv gcc41;
3577   };
3579   gdbm = import ../development/libraries/gdbm {
3580     inherit fetchurl stdenv;
3581   };
3583   gdk_pixbuf = import ../development/libraries/gdk-pixbuf {
3584     inherit fetchurl stdenv libtiff libjpeg libpng;
3585     inherit (gtkLibs1x) gtk;
3586   };
3588   gegl = import ../development/libraries/gegl {
3589     inherit fetchurl stdenv libpng pkgconfig babl;
3590     openexr = openexr_1_6_1;
3591     #  avocodec avformat librsvg
3592     inherit cairo libjpeg librsvg;
3593     inherit (gtkLibs) pango glib gtk;
3594   };
3596   geoip = builderDefsPackage ../development/libraries/geoip {
3597     inherit zlib;
3598   };
3600   geos = import ../development/libraries/geos {
3601     inherit fetchurl fetchsvn stdenv autoconf
3602       automake libtool swig which lib composableDerivation python ruby;
3603     use_svn = stdenv.system == "x86_64-linux";
3604   };
3606   gettext = import ../development/libraries/gettext {
3607     inherit fetchurl stdenv libiconv;
3608   };
3610   gd = import ../development/libraries/gd {
3611     inherit fetchurl stdenv zlib libpng freetype libjpeg fontconfig;
3612   };
3614   gdal = stdenv.mkDerivation {
3615     name = "gdal-1.6.1-rc1";
3616     src = fetchurl {
3617       url = ftp://ftp.remotesensing.org/gdal/gdal-1.6.1-RC1.tar.gz;
3618       sha256 = "0f7da588yvb1d3l3gk5m0hrqlhg8m4gw93aip3dwkmnawz9r0qcw";
3619     };
3620   };
3622   giblib = import ../development/libraries/giblib {
3623     inherit fetchurl stdenv x11 imlib2;
3624   };
3626   glew = import ../development/libraries/glew {
3627     inherit fetchurl stdenv mesa x11 libtool;
3628     inherit (xlibs) libXmu libXi;
3629   };
3631   glefw = import ../development/libraries/glefw {
3632     inherit fetchurl stdenv lib mesa;
3633     inherit (xlibs) libX11 libXext xextproto;
3634   };
3636   glibc =
3637     let haveRedHatKernel       = system == "i686-linux" || system == "x86_64-linux";
3638         haveBrokenRedHatKernel = haveRedHatKernel && getConfig ["brokenRedHatKernel"] false;
3639     in
3640     useFromStdenv "glibc" (if haveBrokenRedHatKernel then glibc25 else
3641         glibc211);
3643   glibc25 = import ../development/libraries/glibc-2.5 {
3644     inherit fetchurl stdenv;
3645     kernelHeaders = linuxHeaders;
3646     installLocales = getPkgConfig "glibc" "locales" false;
3647   };
3649   glibc27 = import ../development/libraries/glibc-2.7 {
3650     inherit fetchurl stdenv;
3651     kernelHeaders = linuxHeaders;
3652     #installLocales = false;
3653   };
3655   glibc29 = makeOverridable (import ../development/libraries/glibc-2.9) {
3656     inherit fetchurl stdenv;
3657     kernelHeaders = linuxHeaders;
3658     installLocales = getPkgConfig "glibc" "locales" false;
3659   };
3661   glibc29Cross = cross: forceBuildDrv (makeOverridable (import ../development/libraries/glibc-2.9) {
3662     inherit stdenv fetchurl;
3663     gccCross = gccCrossStageStatic cross;
3664     kernelHeaders = linuxHeadersCross cross;
3665     installLocales = getPkgConfig "glibc" "locales" false;
3666   });
3668   glibc210 = makeOverridable (import ../development/libraries/glibc-2.10) {
3669     inherit fetchurl stdenv;
3670     kernelHeaders = linuxHeaders;
3671     installLocales = getPkgConfig "glibc" "locales" false;
3672   };
3674   glibc210Cross = cross: forceBuildDrv (makeOverridable (import ../development/libraries/glibc-2.10) {
3675     inherit stdenv fetchurl;
3676     gccCross = gccCrossStageStatic cross;
3677     kernelHeaders = linuxHeadersCross cross;
3678     installLocales = getPkgConfig "glibc" "locales" false;
3679   });
3681   glibc211 = makeOverridable (import ../development/libraries/glibc-2.11) {
3682     inherit fetchurl stdenv;
3683     kernelHeaders = linuxHeaders;
3684     installLocales = getPkgConfig "glibc" "locales" false;
3685   };
3687   glibc211Cross = cross : forceBuildDrv (makeOverridable (import ../development/libraries/glibc-2.11) {
3688     inherit stdenv fetchurl;
3689     gccCross = gccCrossStageStatic cross;
3690     kernelHeaders = linuxHeadersCross cross;
3691     installLocales = getPkgConfig "glibc" "locales" false;
3692   });
3694   # We can choose:
3695   libcCross = cross: glibc211Cross cross;
3696   # libcCross = cross: uclibcCross cross;
3698   eglibc = import ../development/libraries/eglibc {
3699     inherit fetchsvn stdenv;
3700     kernelHeaders = linuxHeaders;
3701     installLocales = getPkgConfig "glibc" "locales" false;
3702   };
3704   glibcLocales = makeOverridable (import ../development/libraries/glibc-2.11/locales.nix) {
3705     inherit fetchurl stdenv;
3706   };
3708   glibcInfo = import ../development/libraries/glibc-2.11/info.nix {
3709     inherit fetchurl stdenv texinfo perl;
3710   };
3712   glibc_multi =
3713       runCommand "${glibc.name}-multi"
3714         { glibc64 = glibc;
3715           glibc32 = (import ./all-packages.nix {system = "i686-linux";}).glibc;
3716         }
3717         ''
3718           ensureDir $out
3719           ln -s $glibc64/* $out/
3721           rm $out/lib $out/lib64
3722           ensureDir $out/lib
3723           ln -s $glibc64/lib/* $out/lib
3724           ln -s $glibc32/lib $out/lib/32
3725           ln -s lib $out/lib64
3727           rm $out/include
3728           cp -rs $glibc32/include $out
3729           chmod -R u+w $out/include
3730           cp -rsf $glibc64/include $out
3731         '' # */
3732         ;
3734   gmime = import ../development/libraries/gmime {
3735     inherit fetchurl stdenv pkgconfig zlib glib;
3736   };
3738   gmm = import ../development/libraries/gmm {
3739     inherit fetchurl stdenv;
3740   };
3742   gmp = 
3743     if stdenv.system == "i686-darwin" then
3744       makeOverridable (import ../development/libraries/gmp/4.3.2.nix) {
3745         inherit stdenv fetchurl m4;
3746         cxx = false;
3747       }
3748     else 
3749       makeOverridable (import ../development/libraries/gmp) {
3750         inherit stdenv fetchurl m4;
3751         cxx = false;
3752       };
3754   gmpxx = gmp.override { cxx = true; };
3756   goffice = import ../development/libraries/goffice {
3757     inherit fetchurl stdenv pkgconfig libgsf libxml2 cairo
3758       intltool gettext bzip2;
3759     inherit (gnome) glib gtk libglade libgnomeui pango;
3760     gconf = gnome.GConf;
3761     libart = gnome.libart_lgpl;
3762   };
3764   goocanvas = import ../development/libraries/goocanvas {
3765     inherit fetchurl stdenv pkgconfig cairo;
3766     inherit (gnome) gtk glib;
3767   };
3769   #GMP ex-satellite, so better keep it near gmp
3770   mpfr = import ../development/libraries/mpfr {
3771     inherit stdenv fetchurl gmp;
3772   };
3774   gst_all = recurseIntoAttrs (import ../development/libraries/gstreamer {
3775     inherit lib stdenv fetchurl perl bison pkgconfig libxml2
3776       python alsaLib cdparanoia libogg libvorbis libtheora freetype liboil
3777       libjpeg zlib speex libpng libdv aalib cairo libcaca flac hal libiec61883
3778       dbus libavc1394 ladspaH taglib pulseaudio gdbm bzip2 which makeOverridable
3779       libcap libtasn1;
3780     flex = flex2535;
3781     inherit (xorg) libX11 libXv libXext;
3782     inherit (gtkLibs) glib pango gtk;
3783     inherit (gnome) gnomevfs /* <- only passed for the no longer used older versions
3784              it is deprecated and didn't build on amd64 due to samba dependency */ gtkdoc
3785              libsoup;
3786   });
3788   gnet = import ../development/libraries/gnet {
3789     inherit fetchurl stdenv pkgconfig glib;
3790   };
3792   gnutls = import ../development/libraries/gnutls {
3793     inherit fetchurl stdenv libgcrypt zlib lzo libtasn1 guile;
3794     guileBindings = getConfig ["gnutls" "guile"] true;
3795   };
3797   gpgme = import ../development/libraries/gpgme {
3798     inherit fetchurl stdenv libgpgerror pkgconfig pth gnupg gnupg2 glib;
3799   };
3801   gsl = import ../development/libraries/gsl {
3802     inherit fetchurl stdenv;
3803   };
3805   gsoap = import ../development/libraries/gsoap {
3806     inherit fetchurl stdenv m4 bison flex openssl zlib;
3807   };
3809   gtkimageview = import ../development/libraries/gtkimageview {
3810     inherit fetchurl stdenv pkgconfig;
3811     inherit (gnome) gtk;
3812   };
3814   gtkLibs = recurseIntoAttrs gtkLibs218;
3816   glib = gtkLibs.glib;
3818   gtkLibs1x = rec {
3820     glib = import ../development/libraries/glib/1.2.x.nix {
3821       inherit fetchurl stdenv;
3822     };
3824     gtk = import ../development/libraries/gtk+/1.2.x.nix {
3825       inherit fetchurl stdenv x11 glib;
3826     };
3828   };
3830   gtkLibs216 = rec {
3832     glib = import ../development/libraries/glib/2.20.x.nix {
3833       inherit fetchurl stdenv pkgconfig gettext perl;
3834     };
3836     glibmm = import ../development/libraries/glibmm/2.18.x.nix {
3837       inherit fetchurl stdenv pkgconfig glib libsigcxx;
3838     };
3840     atk = import ../development/libraries/atk/1.24.x.nix {
3841       inherit fetchurl stdenv pkgconfig perl glib;
3842     };
3844     pango = import ../development/libraries/pango/1.24.x.nix {
3845       inherit fetchurl stdenv pkgconfig gettext x11 glib cairo libpng;
3846     };
3848     pangomm = import ../development/libraries/pangomm/2.14.x.nix {
3849       inherit fetchurl stdenv pkgconfig pango glibmm cairomm libpng;
3850     };
3852     gtk = import ../development/libraries/gtk+/2.16.x.nix {
3853       inherit fetchurl stdenv pkgconfig perl jasper x11 glib atk pango
3854         libtiff libjpeg libpng cairo xlibs;
3855     };
3857     gtkmm = import ../development/libraries/gtkmm/2.14.x.nix {
3858       inherit fetchurl stdenv pkgconfig gtk atk glibmm cairomm pangomm;
3859     };
3861   };
3863   gtkLibs218 = rec {
3865     glib = import ../development/libraries/glib/2.22.x.nix {
3866       inherit fetchurl stdenv pkgconfig gettext perl;
3867       libiconv = if (stdenv.system == "i686-freebsd") then libiconv else null;
3868     };
3870     glibmm = import ../development/libraries/glibmm/2.22.x.nix {
3871       inherit fetchurl stdenv pkgconfig glib libsigcxx;
3872     };
3874     atk = import ../development/libraries/atk/1.28.x.nix {
3875       inherit fetchurl stdenv pkgconfig perl glib;
3876     };
3878     pango = import ../development/libraries/pango/1.26.x.nix {
3879       inherit fetchurl stdenv pkgconfig gettext x11 glib cairo libpng;
3880     };
3882     pangomm = import ../development/libraries/pangomm/2.26.x.nix {
3883       inherit fetchurl stdenv pkgconfig pango glibmm cairomm libpng;
3884     };
3886     gtk = import ../development/libraries/gtk+/2.18.x.nix {
3887       inherit fetchurl stdenv pkgconfig perl jasper glib atk pango
3888         libtiff libjpeg libpng cairo xlibs cups;
3889     };
3891     gtkmm = import ../development/libraries/gtkmm/2.18.x.nix {
3892       inherit fetchurl stdenv pkgconfig gtk atk glibmm cairomm pangomm;
3893     };
3895   };
3897   gtkmozembedsharp = import ../development/libraries/gtkmozembed-sharp {
3898     inherit fetchurl stdenv mono pkgconfig monoDLLFixer;
3899     inherit (gnome) gtk;
3900     gtksharp = gtksharp2;
3901   };
3903   gtksharp1 = import ../development/libraries/gtk-sharp-1 {
3904     inherit fetchurl stdenv mono pkgconfig libxml2 monoDLLFixer;
3905     inherit (gnome) gtk glib pango libglade libgtkhtml gtkhtml
3906               libgnomecanvas libgnomeui libgnomeprint
3907               libgnomeprintui GConf;
3908   };
3910   gtksharp2 = import ../development/libraries/gtk-sharp-2 {
3911     inherit fetchurl stdenv mono pkgconfig libxml2 monoDLLFixer;
3912     inherit (gnome) gtk glib pango libglade libgtkhtml gtkhtml
3913               libgnomecanvas libgnomeui libgnomeprint
3914               libgnomeprintui GConf gnomepanel;
3915   };
3917   gtksourceviewsharp = import ../development/libraries/gtksourceview-sharp {
3918     inherit fetchurl stdenv mono pkgconfig monoDLLFixer;
3919     inherit (gnome) gtksourceview;
3920     gtksharp = gtksharp2;
3921   };
3923   gtkspell = import ../development/libraries/gtkspell {
3924     inherit fetchurl stdenv pkgconfig;
3925     inherit (gtkLibs) gtk;
3926     inherit aspell;
3927   };
3929   # TODO : Add MIT Kerberos and let admin choose.
3930   kerberos = heimdal;
3932   heimdal = import ../development/libraries/kerberos/heimdal.nix {
3933     inherit fetchurl stdenv readline db4 openssl openldap cyrus_sasl;
3934   };
3936   hsqldb = import ../development/libraries/java/hsqldb {
3937     inherit stdenv fetchurl unzip;
3938   };
3940   hwloc = import ../development/libraries/hwloc {
3941     inherit fetchurl stdenv pkgconfig cairo expat;
3942   };
3944   icu = import ../development/libraries/icu {
3945     inherit fetchurl stdenv;
3946   };
3948   id3lib = import ../development/libraries/id3lib {
3949     inherit fetchurl stdenv;
3950   };
3952   ilbc = import ../development/libraries/ilbc {
3953     inherit stdenv msilbc;
3954   };
3956   ilmbase = import ../development/libraries/ilmbase {
3957     inherit fetchurl stdenv;
3958   };
3960   imlib = import ../development/libraries/imlib {
3961     inherit fetchurl stdenv libjpeg libtiff libungif libpng;
3962     inherit (xlibs) libX11 libXext xextproto;
3963   };
3965   imlib2 = import ../development/libraries/imlib2 {
3966     inherit fetchurl stdenv x11 libjpeg libtiff libungif libpng bzip2;
3967   };
3969   indilib = import ../development/libraries/indilib {
3970     inherit fetchurl stdenv cfitsio libusb zlib;
3971   };
3973   iniparser = import ../development/libraries/iniparser {
3974     inherit fetchurl stdenv;
3975   };
3977   intltool = gnome.intltool;
3979   isocodes = import ../development/libraries/iso-codes {
3980     inherit stdenv fetchurl gettext python;
3981   };
3983   jamp = builderDefsPackage ../games/jamp {
3984     inherit mesa SDL SDL_image SDL_mixer;
3985   };
3987   jasper = import ../development/libraries/jasper {
3988     inherit fetchurl stdenv unzip xlibs libjpeg;
3989   };
3991   jetty_gwt = import ../development/libraries/java/jetty-gwt {
3992     inherit stdenv fetchurl;
3993   };
3995   jetty_util = import ../development/libraries/java/jetty-util {
3996     inherit stdenv fetchurl;
3997   };
3999   krb5 = import ../development/libraries/kerberos/krb5.nix {
4000     inherit stdenv fetchurl perl ncurses yacc;
4001   };
4003   lablgtk = import ../development/libraries/lablgtk {
4004     inherit fetchurl stdenv ocaml pkgconfig;
4005     inherit (gtkLibs) gtk;
4006     inherit (gnome) libgnomecanvas;
4007   };
4009   lcms = import ../development/libraries/lcms {
4010     inherit fetchurl stdenv;
4011   };
4013   lesstif = import ../development/libraries/lesstif {
4014     inherit fetchurl stdenv x11;
4015     inherit (xlibs) libXp libXau;
4016   };
4018   lesstif93 = import ../development/libraries/lesstif-0.93 {
4019     inherit fetchurl stdenv x11;
4020     inherit (xlibs) libXp libXau;
4021   };
4023   levmar = import ../development/libraries/levmar {
4024     inherit fetchurl stdenv;
4025   };
4027   lib3ds = import ../development/libraries/lib3ds {
4028     inherit fetchurl stdenv unzip;
4029   };
4031   libaal = import ../development/libraries/libaal {
4032     inherit fetchurl stdenv;
4033   };
4035   libao = import ../development/libraries/libao {
4036     inherit stdenv fetchurl pkgconfig pulseaudio;
4037   };
4039   libarchive = import ../development/libraries/libarchive {
4040     inherit fetchurl stdenv zlib bzip2 e2fsprogs sharutils;
4041   };
4043   libassuan = import ../development/libraries/libassuan {
4044     inherit fetchurl stdenv pth;
4045   };
4047   libavc1394 = import ../development/libraries/libavc1394 {
4048     inherit fetchurl stdenv pkgconfig libraw1394;
4049   };
4051   libcaca = import ../development/libraries/libcaca {
4052     inherit fetchurl stdenv ncurses;
4053   };
4055   libcanberra = import ../development/libraries/libcanberra {
4056     inherit fetchurl stdenv pkgconfig libtool alsaLib pulseaudio libvorbis;
4057     inherit (gtkLibs) gtk gthread;
4058     gstreamer = gst_all.gstreamer;
4059   };
4061   libcdaudio = import ../development/libraries/libcdaudio {
4062     inherit fetchurl stdenv;
4063   };
4065   libcddb = import ../development/libraries/libcddb {
4066     inherit fetchurl stdenv;
4067   };
4069   libcdio = import ../development/libraries/libcdio {
4070     inherit fetchurl stdenv libcddb pkgconfig ncurses help2man;
4071   };
4073   libcm = import ../development/libraries/libcm {
4074     inherit fetchurl stdenv pkgconfig xlibs mesa glib;
4075   };
4077   libcv = builderDefsPackage (import ../development/libraries/libcv) {
4078     inherit libtiff libjpeg libpng pkgconfig;
4079     inherit (gtkLibs) gtk glib;
4080   };
4082   libdaemon = import ../development/libraries/libdaemon {
4083     inherit fetchurl stdenv;
4084   };
4086   libdbi = composedArgsAndFun (import ../development/libraries/libdbi/0.8.2.nix) {
4087     inherit stdenv fetchurl builderDefs;
4088   };
4090   libdbiDriversBase = composedArgsAndFun (import ../development/libraries/libdbi-drivers/0.8.2-1.nix) {
4091     inherit stdenv fetchurl builderDefs libdbi;
4092   };
4094   libdbiDrivers = libdbiDriversBase.passthru.function {
4095     inherit sqlite mysql;
4096   };
4098   libdv = import ../development/libraries/libdv {
4099     inherit fetchurl stdenv lib composableDerivation;
4100   };
4102   libdrm = import ../development/libraries/libdrm {
4103     inherit fetchurl stdenv pkgconfig;
4104     inherit (xorg) libpthreadstubs;
4105   };
4107   libdvdcss = import ../development/libraries/libdvdcss {
4108     inherit fetchurl stdenv;
4109   };
4111   libdvdnav = import ../development/libraries/libdvdnav {
4112     inherit fetchurl stdenv libdvdread;
4113   };
4115   libdvdread = import ../development/libraries/libdvdread {
4116     inherit fetchurl stdenv libdvdcss;
4117   };
4119   libedit = import ../development/libraries/libedit {
4120     inherit fetchurl stdenv ncurses;
4121   };
4123   liblo = import ../development/libraries/liblo {
4124     inherit fetchurl stdenv;
4125   };
4127   libev = builderDefsPackage ../development/libraries/libev {
4128   };
4130   libevent = import ../development/libraries/libevent {
4131     inherit fetchurl stdenv;
4132   };
4134   libewf = import ../development/libraries/libewf {
4135     inherit fetchurl stdenv zlib openssl libuuid;
4136   };
4138   libexif = import ../development/libraries/libexif {
4139     inherit fetchurl stdenv gettext;
4140   };
4142   libextractor = import ../development/libraries/libextractor {
4143     inherit fetchurl stdenv libtool gettext zlib bzip2 flac libvorbis
4144      exiv2 ffmpeg libgsf glib rpm pkgconfig;
4145     inherit (gnome) gtk;
4146     libmpeg2 = mpeg2dec;
4147   };
4149   libffcall = builderDefsPackage (import ../development/libraries/libffcall) {
4150     inherit fetchcvs;
4151   };
4153   libffi = import ../development/libraries/libffi {
4154     inherit fetchurl stdenv;
4155   };
4157   libftdi = import ../development/libraries/libftdi {
4158     inherit fetchurl stdenv libusb;
4159   };
4161   libgcrypt = import ../development/libraries/libgcrypt {
4162     inherit fetchurl stdenv libgpgerror;
4163   };
4165   libgpgerror = import ../development/libraries/libgpg-error {
4166     inherit fetchurl stdenv;
4167   };
4169   libgphoto2 = import ../development/libraries/libgphoto2 {
4170     inherit fetchurl stdenv pkgconfig libusb libtool libexif libjpeg gettext;
4171   };
4173   libgpod = import ../development/libraries/libgpod {
4174     inherit fetchurl stdenv gettext perl perlXMLParser pkgconfig libxml2 glib;
4175   };
4177   libharu = import ../development/libraries/libharu {
4178     inherit fetchurl stdenv lib zlib libpng;
4179   };
4181   libical = import ../development/libraries/libical {
4182     inherit stdenv fetchurl perl;
4183   };
4185   libnice = import ../development/libraries/libnice {
4186     inherit stdenv fetchurl pkgconfig;
4187     inherit (gnome) glib;
4188   };
4190   libQGLViewer = import ../development/libraries/libqglviewer {
4191     inherit fetchurl stdenv;
4192     inherit qt4;
4193   };
4195   libsamplerate = import ../development/libraries/libsamplerate {
4196     inherit fetchurl stdenv pkgconfig lib;
4197   };
4199   libspectre = import ../development/libraries/libspectre {
4200     inherit fetchurl stdenv;
4201     ghostscript = ghostscriptX;
4202   };
4204   libgsf = import ../development/libraries/libgsf {
4205     inherit fetchurl stdenv perl perlXMLParser pkgconfig libxml2
4206       intltool gettext bzip2 python;
4207     inherit (gnome) glib gnomevfs libbonobo;
4208   };
4210   libiconv = import ../development/libraries/libiconv {
4211     inherit fetchurl stdenv;
4212   };
4214   libid3tag = import ../development/libraries/libid3tag {
4215     inherit fetchurl stdenv zlib;
4216   };
4218   libidn = import ../development/libraries/libidn {
4219     inherit fetchurl stdenv;
4220   };
4222   libiec61883 = import ../development/libraries/libiec61883 {
4223     inherit fetchurl stdenv pkgconfig libraw1394;
4224   };
4226   libiptcdata = import ../development/libraries/libiptcdata {
4227     inherit fetchurl stdenv;
4228   };
4230   libjingle = import ../development/libraries/libjingle/0.3.11.nix {
4231     inherit fetchurl stdenv mediastreamer;
4232   };
4234   libjpeg = makeOverridable (import ../development/libraries/libjpeg) {
4235     inherit fetchurl stdenv;
4236   };
4238   libjpeg62 = makeOverridable (import ../development/libraries/libjpeg/62.nix) {
4239     inherit fetchurl stdenv;
4240     libtool = libtool_1_5;
4241   };
4243   libjpegStatic = lowPrio (appendToName "static" (libjpeg.override {
4244     stdenv = enableStaticLibraries stdenv;
4245   }));
4247   libksba = import ../development/libraries/libksba {
4248     inherit fetchurl stdenv libgpgerror;
4249   };
4251   libmad = import ../development/libraries/libmad {
4252     inherit fetchurl stdenv;
4253   };
4255   libmatthew_java = import ../development/libraries/java/libmatthew-java {
4256     inherit stdenv fetchurl jdk;
4257   };
4259   libmcs = import ../development/libraries/libmcs {
4260     inherit fetchurl stdenv pkgconfig libmowgli;
4261   };
4263   libmicrohttpd = import ../development/libraries/libmicrohttpd {
4264     inherit fetchurl stdenv curl;
4265   };
4267   libmowgli = import ../development/libraries/libmowgli {
4268     inherit fetchurl stdenv;
4269   };
4271   libmng = import ../development/libraries/libmng {
4272     inherit fetchurl stdenv lib zlib libpng libjpeg lcms automake autoconf libtool;
4273   };
4275   libmpcdec = import ../development/libraries/libmpcdec {
4276     inherit fetchurl stdenv;
4277   };
4279   libmsn = import ../development/libraries/libmsn {
4280     inherit stdenv fetchurl cmake openssl;
4281   };
4283   libmspack = import ../development/libraries/libmspack {
4284     inherit fetchurl stdenv;
4285   };
4287   libmusclecard = import ../development/libraries/libmusclecard {
4288     inherit fetchurl stdenv pkgconfig pcsclite;
4289   };
4291   libnova = import ../development/libraries/libnova {
4292     inherit fetchurl stdenv;
4293   };
4295   libofx = import ../development/libraries/libofx {
4296     inherit fetchurl stdenv opensp pkgconfig libxml2 curl;
4297   };
4299   libogg = import ../development/libraries/libogg {
4300     inherit fetchurl stdenv;
4301   };
4303   liboil = makeOverridable (import ../development/libraries/liboil) {
4304     inherit fetchurl stdenv pkgconfig glib;
4305   };
4307   liboop = import ../development/libraries/liboop {
4308     inherit fetchurl stdenv;
4309   };
4311   libotr = import ../development/libraries/libotr {
4312     inherit fetchurl stdenv libgcrypt;
4313   };
4315   libp11 = import ../development/libraries/libp11 {
4316     inherit fetchurl stdenv libtool openssl pkgconfig;
4317   };
4319   libpcap = import ../development/libraries/libpcap {
4320     inherit fetchurl stdenv flex bison;
4321   };
4323   libpng = import ../development/libraries/libpng {
4324     inherit fetchurl stdenv zlib;
4325   };
4327   libproxy = import ../development/libraries/libproxy {
4328     inherit stdenv fetchurl;
4329   };
4331   libpseudo = import ../development/libraries/libpseudo {
4332     inherit fetchurl stdenv pkgconfig ncurses glib;
4333   };
4335   librsync = import ../development/libraries/librsync {
4336     inherit stdenv fetchurl;
4337   };
4339   libsigcxx = import ../development/libraries/libsigcxx {
4340     inherit fetchurl stdenv pkgconfig;
4341   };
4343   libsigsegv = import ../development/libraries/libsigsegv {
4344     inherit fetchurl stdenv;
4345   };
4347   # To bootstrap SBCL, I need CLisp 2.44.1; it needs libsigsegv 2.5
4348   libsigsegv_25 =  import ../development/libraries/libsigsegv/2.5.nix {
4349     inherit fetchurl stdenv;
4350   };
4352   libsndfile = import ../development/libraries/libsndfile {
4353     inherit fetchurl stdenv;
4354   };
4356   libtasn1 = import ../development/libraries/libtasn1 {
4357     inherit fetchurl stdenv;
4358   };
4360   libtheora = import ../development/libraries/libtheora {
4361     inherit fetchurl stdenv libogg libvorbis;
4362   };
4364   libtiff = import ../development/libraries/libtiff {
4365     inherit fetchurl stdenv zlib libjpeg;
4366   };
4368   libtommath = import ../development/libraries/libtommath {
4369     inherit fetchurl stdenv libtool;
4370   };
4372   libunistring = import ../development/libraries/libunistring {
4373     inherit fetchurl stdenv libiconv;
4374   };
4376   libupnp = import ../development/libraries/pupnp {
4377     inherit fetchurl stdenv;
4378   };
4380   giflib = import ../development/libraries/giflib {
4381     inherit fetchurl stdenv;
4382   };
4384   libungif = import ../development/libraries/giflib/libungif.nix {
4385     inherit fetchurl stdenv;
4386   };
4388   libusb = import ../development/libraries/libusb {
4389     inherit fetchurl stdenv;
4390   };
4392   libunwind = import ../development/libraries/libunwind {
4393     inherit fetchurl stdenv;
4394   };
4396   libvirt = import ../development/libraries/libvirt {
4397     inherit stdenv fetchurl libxml2 gnutls devicemapper perl;
4398   };
4400   libvncserver = builderDefsPackage (import ../development/libraries/libvncserver) {
4401     inherit libtool libjpeg openssl zlib;
4402     inherit (xlibs) xproto libX11 damageproto libXdamage
4403       libXext xextproto fixesproto libXfixes xineramaproto
4404       libXinerama libXrandr randrproto libXtst;
4405   };
4407   libviper = import ../development/libraries/libviper {
4408     inherit fetchurl stdenv pkgconfig ncurses gpm glib;
4409   };
4411   libvterm = import ../development/libraries/libvterm {
4412     inherit fetchurl stdenv pkgconfig ncurses glib;
4413   };
4415   libvorbis = import ../development/libraries/libvorbis {
4416     inherit fetchurl stdenv libogg;
4417   };
4419   libwmf = import ../development/libraries/libwmf {
4420     inherit fetchurl stdenv pkgconfig imagemagick
4421       zlib libpng freetype libjpeg libxml2 glib;
4422   };
4424   libwpd = import ../development/libraries/libwpd {
4425     inherit fetchurl stdenv pkgconfig libgsf libxml2 bzip2;
4426     inherit (gnome) glib;
4427   };
4429   libx86 = builderDefsPackage ../development/libraries/libx86 {};
4431   libxcrypt = import ../development/libraries/libxcrypt {
4432     inherit fetchurl stdenv;
4433   };
4435   libxklavier = import ../development/libraries/libxklavier {
4436     inherit fetchurl stdenv xkeyboard_config pkgconfig libxml2 isocodes glib;
4437     inherit (xorg) libX11 libICE libXi libxkbfile;
4438   };
4440   libxmi = import ../development/libraries/libxmi {
4441     inherit fetchurl stdenv libtool;
4442   };
4444   libxml2 = makeOverridable (import ../development/libraries/libxml2) {
4445     inherit fetchurl stdenv zlib python;
4446     pythonSupport = false;
4447   };
4449   libxml2Python = libxml2.override {
4450     pythonSupport = true;
4451   };
4453   libxslt = makeOverridable (import ../development/libraries/libxslt) {
4454     inherit fetchurl stdenv libxml2;
4455   };
4457   libixp_for_wmii = lowPrio (import ../development/libraries/libixp_for_wmii {
4458     inherit fetchurl stdenv;
4459   });
4461   libyaml = import ../development/libraries/libyaml {
4462     inherit fetchurl stdenv;
4463   };
4465   libzip = import ../development/libraries/libzip {
4466     inherit fetchurl stdenv zlib;
4467   };
4469   libzrtpcpp = import ../development/libraries/libzrtpcpp {
4470     inherit fetchurl stdenv lib commoncpp2 openssl pkgconfig ccrtp;
4471   };
4473   lightning = import ../development/libraries/lightning {
4474     inherit fetchurl stdenv;
4475   };
4477   liquidwar = builderDefsPackage ../games/liquidwar {
4478     inherit (xlibs) xproto libX11 libXrender;
4479     inherit gmp guile mesa libjpeg libpng
4480       expat gettext perl
4481       SDL SDL_image SDL_mixer SDL_ttf
4482       curl sqlite
4483       libogg libvorbis
4484       ;
4485   };
4487   log4cxx = import ../development/libraries/log4cxx {
4488     inherit fetchurl stdenv automake autoconf libtool cppunit libxml2 boost;
4489     inherit apr aprutil db45 expat;
4490   };
4492   loudmouth = import ../development/libraries/loudmouth {
4493     inherit fetchurl stdenv libidn openssl pkgconfig zlib glib;
4494   };
4496   lzo = import ../development/libraries/lzo {
4497     inherit fetchurl stdenv;
4498   };
4500   # failed to build
4501   mediastreamer = composedArgsAndFun (import ../development/libraries/mediastreamer/2.2.0-cvs20080207.nix) {
4502     inherit fetchurl stdenv automake libtool autoconf alsaLib pkgconfig speex
4503       ortp ffmpeg;
4504   };
4506   mesaSupported =
4507     system == "i686-linux" ||
4508     system == "x86_64-linux" ||
4509     system == "x86_64-darwin" ||
4510     system == "i686-darwin";
4512   mesa = import ../development/libraries/mesa {
4513     inherit fetchurl stdenv pkgconfig expat x11 xlibs libdrm;
4514   };
4516   ming = import ../development/libraries/ming {
4517     inherit fetchurl stdenv flex bison freetype zlib libpng perl;
4518   };
4520   mpeg2dec = import ../development/libraries/mpeg2dec {
4521     inherit fetchurl stdenv;
4522   };
4524   msilbc = import ../development/libraries/msilbc {
4525     inherit fetchurl stdenv ilbc mediastreamer pkgconfig;
4526   };
4528   mpich2 = import ../development/libraries/mpich2 {
4529     inherit fetchurl stdenv python perl;
4530   };
4532   muparser = import ../development/libraries/muparser {
4533     inherit fetchurl stdenv;
4534   };
4536   ncurses = makeOverridable (composedArgsAndFun (import ../development/libraries/ncurses)) {
4537     inherit fetchurl stdenv;
4538     # The "! (stdenv ? cross)" is for the cross-built arm ncurses, which
4539     # don't build for me in unicode.
4540     unicode = (system != "i686-cygwin" && crossSystem == null);
4541   };
4543   neon = neon026;
4545   neon026 = import ../development/libraries/neon/0.26.nix {
4546     inherit fetchurl stdenv libxml2 zlib openssl;
4547     compressionSupport = true;
4548     sslSupport = true;
4549   };
4551   neon028 = import ../development/libraries/neon/0.28.nix {
4552     inherit fetchurl stdenv libxml2 zlib openssl;
4553     compressionSupport = true;
4554     sslSupport = true;
4555   };
4557   nethack = builderDefsPackage (import ../games/nethack) {
4558     inherit ncurses flex bison;
4559   };
4561   nettle = import ../development/libraries/nettle {
4562     inherit fetchurl stdenv gmp gnum4;
4563   };
4565   nspr = import ../development/libraries/nspr {
4566     inherit fetchurl stdenv;
4567   };
4569   nss = import ../development/libraries/nss {
4570     inherit fetchurl stdenv nspr perl zlib;
4571   };
4573   ode = builderDefsPackage (import ../development/libraries/ode) {
4574   };
4576   openal = import ../development/libraries/openal {
4577     inherit fetchurl stdenv cmake alsaLib;
4578   };
4580   # added because I hope that it has been easier to compile on x86 (for blender)
4581   openalSoft = import ../development/libraries/openalSoft {
4582     inherit fetchurl stdenv alsaLib libtool cmake;
4583   };
4585   openbabel = import ../development/libraries/openbabel {
4586     inherit fetchurl stdenv zlib libxml2;
4587   };
4589   opencascade = import ../development/libraries/opencascade {
4590     inherit fetchurl stdenv mesa qt4 tcl tk;
4591   };
4593   openct = import ../development/libraries/openct {
4594     inherit fetchurl stdenv libtool pcsclite libusb pkgconfig;
4595   };
4597   opencv = import ../development/libraries/opencv {
4598       inherit fetchurl stdenv cmake libjpeg libpng libtiff jasper ffmpeg
4599           pkgconfig xineLib;
4600       inherit (gtkLibs) gtk glib;
4601       inherit (gst_all) gstreamer;
4602   };
4604   # this ctl version is needed by openexr_viewers
4605   openexr_ctl = import ../development/libraries/openexr_ctl {
4606     inherit fetchurl stdenv ilmbase ctl;
4607     openexr = openexr_1_6_1;
4608   };
4610   openexr_1_6_1 = import ../development/libraries/openexr {
4611     inherit fetchurl stdenv ilmbase zlib pkgconfig lib;
4612     version = "1.6.1";
4613     # optional features:
4614     inherit ctl;
4615   };
4617   # This older version is needed by blender (it complains about missing half.h )
4618   openexr_1_4_0 = import ../development/libraries/openexr {
4619     inherit fetchurl stdenv ilmbase zlib pkgconfig lib;
4620     version = "1.4.0";
4621   };
4623   openldap = import ../development/libraries/openldap {
4624     inherit fetchurl stdenv openssl cyrus_sasl db4 groff;
4625   };
4627   openlierox = builderDefsPackage ../games/openlierox {
4628     inherit (xlibs) libX11 xproto;
4629     inherit gd SDL SDL_image SDL_mixer zlib libxml2
4630       pkgconfig;
4631   };
4633   libopensc_dnie = import ../development/libraries/libopensc-dnie {
4634     inherit fetchurl stdenv patchelf writeScript openssl openct
4635       libtool pcsclite zlib;
4636     inherit (gtkLibs) glib;
4637     opensc = opensc_0_11_7;
4638   };
4640   openssl = makeOverridable (import ../development/libraries/openssl) {
4641     fetchurl = fetchurlBoot;
4642     inherit stdenv perl;
4643   };
4645   ortp = import ../development/libraries/ortp {
4646     inherit fetchurl stdenv;
4647   };
4649   pangoxsl = import ../development/libraries/pangoxsl {
4650     inherit fetchurl stdenv pkgconfig;
4651     inherit (gtkLibs) glib pango;
4652   };
4654   pcre = makeOverridable (import ../development/libraries/pcre) {
4655     inherit fetchurl stdenv;
4656     unicodeSupport = getConfig ["pcre" "unicode"] false;
4657     cplusplusSupport = !stdenv ? isDietLibC;
4658   };
4660   physfs = import ../development/libraries/physfs {
4661     inherit fetchurl stdenv cmake;
4662   };
4664   plib = import ../development/libraries/plib {
4665     inherit fetchurl stdenv mesa freeglut SDL;
4666     inherit (xlibs) libXi libSM libXmu libXext libX11;
4667   };
4669   podofo = import ../development/libraries/podofo {
4670     inherit fetchurl stdenv cmake zlib freetype libjpeg libtiff
4671       fontconfig openssl;
4672   };
4674   polkit = import ../development/libraries/polkit {
4675     inherit stdenv fetchurl pkgconfig eggdbus expat pam intltool gettext glib;
4676   };
4678   policykit = makeOverridable (import ../development/libraries/policykit) {
4679     inherit stdenv fetchurl pkgconfig dbus dbus_glib expat pam
4680       intltool gettext libxslt docbook_xsl glib;
4681   };
4683   poppler = makeOverridable (import ../development/libraries/poppler) {
4684     inherit fetchurl stdenv cairo freetype fontconfig zlib libjpeg pkgconfig;
4685     inherit (gtkLibs) glib gtk;
4686     qt4Support = false;
4687   };
4689   popplerQt44 = poppler.override {
4690     qt4Support = true;
4691     qt4 = qt44;
4692   };
4694   popplerQt45 = poppler.override {
4695     qt4Support = true;
4696     qt4 = qt45;
4697   };
4699   popt = import ../development/libraries/popt {
4700     inherit fetchurl stdenv;
4701   };
4703   proj = import ../development/libraries/proj.4 {
4704     inherit fetchurl stdenv;
4705   };
4707   pth = import ../development/libraries/pth {
4708     inherit fetchurl stdenv;
4709   };
4711   qt3 = makeOverridable (import ../development/libraries/qt-3) {
4712     inherit fetchurl stdenv x11 zlib libjpeg libpng which mysql mesa;
4713     inherit (xlibs) xextproto libXft libXrender libXrandr randrproto
4714       libXmu libXinerama libXcursor;
4715     openglSupport = mesaSupported;
4716     mysqlSupport = getConfig ["qt" "mysql"] false;
4717   };
4719   qt3mysql = qt3.override {
4720     mysqlSupport = true;
4721   };
4723   qt4 = qt44;
4725   qt44 = import ../development/libraries/qt-4.4 {
4726     inherit fetchurl stdenv fetchsvn zlib libjpeg libpng which mysql mesa openssl cups dbus
4727       fontconfig freetype pkgconfig libtiff;
4728     inherit (xlibs) xextproto libXft libXrender libXrandr randrproto
4729       libXmu libXinerama xineramaproto libXcursor libICE libSM libX11 libXext
4730       inputproto fixesproto libXfixes;
4731     inherit (gnome) glib;
4732   };
4734   qt45 = import ../development/libraries/qt-4.5 {
4735     inherit fetchurl stdenv lib zlib libjpeg libpng which mysql mesa openssl cups dbus
4736       fontconfig freetype pkgconfig libtiff;
4737     inherit (xlibs) xextproto libXft libXrender libXrandr randrproto
4738       libXmu libXinerama xineramaproto libXcursor libXext
4739       inputproto fixesproto libXfixes;
4740     inherit (gnome) glib;
4741   };
4743   qt46 = import ../development/libraries/qt-4.6 {
4744     inherit fetchurl stdenv lib zlib libjpeg libpng which mysql mesa openssl cups dbus
4745       fontconfig freetype pkgconfig libtiff;
4746     inherit (xlibs) xextproto libXft libXrender libXrandr randrproto
4747       libXmu libXinerama xineramaproto libXcursor libXext
4748       inputproto fixesproto libXfixes;
4749     inherit (gnome) glib;
4750   };
4752   qtscriptgenerator = makeOverridable (import ../development/libraries/qtscriptgenerator) {
4753     inherit stdenv fetchurl;
4754     qt4 = qt45;
4755   };
4757   readline = readline6;
4759   readline4 = import ../development/libraries/readline/readline4.nix {
4760     inherit fetchurl stdenv ncurses;
4761   };
4763   readline5 = import ../development/libraries/readline/readline5.nix {
4764     inherit fetchurl stdenv ncurses;
4765   };
4767   readline6 = import ../development/libraries/readline/readline6.nix {
4768     inherit fetchurl stdenv ncurses;
4769   };
4771   librdf_raptor = import ../development/libraries/librdf/raptor.nix {
4772     inherit fetchurl stdenv lib libxml2 curl;
4773   };
4774   librdf_rasqal = import ../development/libraries/librdf/rasqal.nix {
4775     inherit fetchurl stdenv lib pcre libxml2 gmp librdf_raptor;
4776   };
4777   librdf = import ../development/libraries/librdf {
4778     inherit fetchurl stdenv lib pkgconfig librdf_raptor ladspaH openssl zlib;
4779   };
4781   # Also known as librdf, includes raptor and rasqal
4782   redland = composedArgsAndFun (import ../development/libraries/redland/1.0.9.nix) {
4783     inherit fetchurl stdenv openssl libxml2 pkgconfig perl postgresql sqlite
4784       mysql libxslt curl pcre librdf_rasqal librdf_raptor;
4785     bdb = db4;
4786   };
4788   redland_1_0_8 = composedArgsAndFun (import ../development/libraries/redland/1.0.8.nix) {
4789     inherit fetchurl stdenv openssl libxml2 pkgconfig perl postgresql sqlite
4790       mysql libxslt curl pcre librdf_rasqal librdf_raptor;
4791     bdb = db4;
4792   };
4794   rhino = import ../development/libraries/java/rhino {
4795     inherit fetchurl stdenv unzip;
4796     ant = apacheAntGcj;
4797     javac = gcj;
4798     jvm = gcj;
4799   };
4801   rte = import ../development/libraries/rte {
4802     inherit fetchurl stdenv;
4803   };
4805   rubberband = import ../development/libraries/rubberband {
4806     inherit fetchurl stdenv lib pkgconfig libsamplerate libsndfile ladspaH;
4807     fftw = fftwSinglePrec;
4808     inherit (vamp) vampSDK;
4809   };
4811   schroedinger = import ../development/libraries/schroedinger {
4812     inherit fetchurl stdenv liboil pkgconfig;
4813   };
4815   SDL = makeOverridable (import ../development/libraries/SDL) {
4816     inherit fetchurl stdenv pkgconfig x11 mesa alsaLib pulseaudio;
4817     inherit (xlibs) libXrandr;
4818     openglSupport = mesaSupported;
4819     alsaSupport = true;
4820     pulseaudioSupport = false; # better go through ALSA
4821   };
4823   SDL_image = import ../development/libraries/SDL_image {
4824     inherit fetchurl stdenv SDL libjpeg libungif libtiff libpng;
4825     inherit (xlibs) libXpm;
4826   };
4828   SDL_mixer = import ../development/libraries/SDL_mixer {
4829     inherit fetchurl stdenv SDL libogg libvorbis;
4830   };
4832   SDL_net = import ../development/libraries/SDL_net {
4833     inherit fetchurl stdenv SDL;
4834   };
4836   SDL_ttf = import ../development/libraries/SDL_ttf {
4837     inherit fetchurl stdenv SDL freetype;
4838   };
4840   slang = import ../development/libraries/slang {
4841     inherit fetchurl stdenv ncurses pcre libpng zlib readline;
4842   };
4844   slibGuile = import ../development/libraries/slib {
4845     inherit fetchurl stdenv unzip texinfo;
4846     scheme = guile;
4847   };
4849   snack = import ../development/libraries/snack {
4850     inherit fetchurl stdenv tcl tk pkgconfig x11;
4851         # optional
4852     inherit alsaLib vorbisTools python;
4853   };
4855   speex = import ../development/libraries/speex {
4856     inherit fetchurl stdenv libogg;
4857   };
4859   sqlite = lowPrio (import ../development/libraries/sqlite {
4860     inherit fetchurl stdenv;
4861   });
4863   sqliteInteractive = appendToName "interactive" (import ../development/libraries/sqlite {
4864     inherit fetchurl stdenv readline ncurses;
4865   });
4867   stlport =  import ../development/libraries/stlport {
4868     inherit fetchurl stdenv;
4869   };
4871   t1lib = import ../development/libraries/t1lib {
4872     inherit fetchurl stdenv x11;
4873     inherit (xlibs) libXaw libXpm;
4874   };
4876   taglib = import ../development/libraries/taglib {
4877     inherit fetchurl stdenv zlib;
4878   };
4880   taglib_extras = import ../development/libraries/taglib-extras {
4881     inherit stdenv fetchurl cmake taglib;
4882   };
4884   tapioca_qt = import ../development/libraries/tapioca-qt {
4885     inherit stdenv fetchurl cmake qt4 telepathy_qt;
4886   };
4888   tecla = import ../development/libraries/tecla {
4889     inherit fetchurl stdenv;
4890   };
4892   telepathy_gabble = import ../development/libraries/telepathy-gabble {
4893     inherit fetchurl stdenv pkgconfig libxslt telepathy_glib loudmouth;
4894   };
4896   telepathy_glib = import ../development/libraries/telepathy-glib {
4897     inherit fetchurl stdenv dbus_glib pkgconfig libxslt python glib;
4898   };
4900   telepathy_qt = import ../development/libraries/telepathy-qt {
4901     inherit stdenv fetchurl cmake qt4;
4902   };
4904   tk = import ../development/libraries/tk {
4905     inherit fetchurl stdenv tcl x11;
4906   };
4908   unixODBC = import ../development/libraries/unixODBC {
4909     inherit fetchurl stdenv;
4910   };
4912   unixODBCDrivers = recurseIntoAttrs (import ../development/libraries/unixODBCDrivers {
4913     inherit fetchurl stdenv unixODBC glibc libtool openssl zlib;
4914     inherit postgresql mysql sqlite;
4915   });
4917   vamp = import ../development/libraries/audio/vamp {
4918     inherit fetchurl stdenv lib pkgconfig libsndfile;
4919   };
4921   vtk = import ../development/libraries/vtk {
4922     inherit stdenv fetchurl cmake mesa;
4923     inherit (xlibs) libX11 xproto libXt;
4924   };
4926   vxl = import ../development/libraries/vxl {
4927    inherit fetchurl stdenv cmake unzip libtiff expat zlib libpng libjpeg;
4928   };
4930   webkit = builderDefsPackage (import ../development/libraries/webkit) {
4931     inherit (gnome28) gtkdoc libsoup;
4932     inherit (gtkLibs) gtk atk pango glib;
4933     inherit freetype fontconfig gettext gperf curl
4934       libjpeg libtiff libpng libxml2 libxslt sqlite
4935       icu cairo perl intltool automake libtool
4936       pkgconfig autoconf bison libproxy enchant;
4937     inherit (gst_all) gstreamer gstPluginsBase gstFfmpeg
4938       gstPluginsGood;
4939     flex = flex2535;
4940     inherit (xlibs) libXt;
4941   };
4943   wxGTK = wxGTK28;
4945   wxGTK26 = import ../development/libraries/wxGTK-2.6 {
4946     inherit fetchurl stdenv pkgconfig;
4947     inherit (gtkLibs216) gtk;
4948     inherit (xlibs) libXinerama libSM libXxf86vm xf86vidmodeproto;
4949   };
4951   wxGTK28 = makeOverridable (import ../development/libraries/wxGTK-2.8) {
4952     inherit fetchurl stdenv pkgconfig mesa;
4953     inherit (gtkLibs216) gtk;
4954     inherit (xlibs) libXinerama libSM libXxf86vm xf86vidmodeproto;
4955   };
4957   wtk = import ../development/libraries/wtk {
4958       inherit fetchurl stdenv unzip xlibs;
4959     };
4961   x264 = import ../development/libraries/x264 {
4962     inherit fetchurl stdenv;
4963   };
4965   xapian = makeOverridable (import ../development/libraries/xapian) {
4966     inherit fetchurl stdenv zlib;
4967   };
4969   xapianBindings = (import ../development/libraries/xapian/bindings/1.0.14.nix) {
4970     inherit fetchurl stdenv xapian composableDerivation pkgconfig;
4971     inherit ruby perl php tcl python; # TODO perl php Java, tcl, C#, python
4972   };
4974   Xaw3d = import ../development/libraries/Xaw3d {
4975     inherit fetchurl stdenv x11 bison;
4976     flex = flex2533;
4977     inherit (xlibs) imake gccmakedep libXmu libXpm libXp;
4978   };
4980   xineLib = import ../development/libraries/xine-lib {
4981     inherit fetchurl stdenv zlib libdvdcss alsaLib pkgconfig mesa aalib
4982       libvorbis libtheora speex xlibs perl ffmpeg;
4983   };
4985   xautolock = import ../misc/screensavers/xautolock {
4986     inherit fetchurl stdenv x11;
4987     inherit (xorg) imake;
4988     inherit (xlibs) libXScrnSaver scrnsaverproto;
4989   };
4991   xercesJava = import ../development/libraries/java/xerces {
4992     inherit fetchurl stdenv;
4993     ant   = apacheAntGcj;  # for bootstrap purposes
4994     javac = gcj;
4995     jvm   = gcj;
4996   };
4998   xlibsWrapper = import ../development/libraries/xlibs-wrapper {
4999     inherit stdenv;
5000     packages = [
5001       freetype fontconfig xlibs.xproto xlibs.libX11 xlibs.libXt
5002       xlibs.libXft xlibs.libXext xlibs.libSM xlibs.libICE
5003       xlibs.xextproto
5004     ];
5005   };
5007   zangband = builderDefsPackage (import ../games/zangband) {
5008     inherit ncurses flex bison autoconf automake m4 coreutils;
5009   };
5011   zlib = makeOverridable (import ../development/libraries/zlib) {
5012     fetchurl = fetchurlBoot;
5013     inherit stdenv;
5014   };
5016   zlibStatic = lowPrio (appendToName "static" (import ../development/libraries/zlib {
5017     inherit fetchurl stdenv;
5018     static = true;
5019   }));
5021   zvbi = import ../development/libraries/zvbi {
5022     inherit fetchurl stdenv libpng x11;
5023     pngSupport = true;
5024   };
5027   ### DEVELOPMENT / LIBRARIES / JAVA
5030   atermjava = import ../development/libraries/java/aterm {
5031     inherit fetchurl sharedobjects jjtraveler jdk;
5032     stdenv = overrideInStdenv stdenv [gnumake380];
5033   };
5035   commonsFileUpload = import ../development/libraries/java/jakarta-commons/file-upload {
5036     inherit stdenv fetchurl;
5037   };
5039   fastjar = import ../development/tools/java/fastjar {
5040     inherit fetchurl stdenv zlib;
5041   };
5043   httpunit = import ../development/libraries/java/httpunit {
5044     inherit stdenv fetchurl unzip;
5045   };
5047   gwtdragdrop = import ../development/libraries/java/gwt-dragdrop {
5048     inherit stdenv fetchurl;
5049   };
5051   gwtwidgets = import ../development/libraries/java/gwt-widgets {
5052     inherit stdenv fetchurl;
5053   };
5055   jakartabcel = import ../development/libraries/java/jakarta-bcel {
5056     regexp = jakartaregexp;
5057     inherit fetchurl stdenv;
5058   };
5060   jakartaregexp = import ../development/libraries/java/jakarta-regexp {
5061     inherit fetchurl stdenv;
5062   };
5064   javaCup = import ../development/libraries/java/cup {
5065     inherit stdenv fetchurl jdk;
5066   };
5068   javasvn = import ../development/libraries/java/javasvn {
5069     inherit stdenv fetchurl unzip;
5070   };
5072   jclasslib = import ../development/tools/java/jclasslib {
5073     inherit fetchurl stdenv xpf jre;
5074     ant = apacheAnt14;
5075   };
5077   jdom = import ../development/libraries/java/jdom {
5078     inherit stdenv fetchurl;
5079   };
5081   jflex = import ../development/libraries/java/jflex {
5082     inherit stdenv fetchurl;
5083   };
5085   jjtraveler = import ../development/libraries/java/jjtraveler {
5086     inherit fetchurl jdk;
5087     stdenv = overrideInStdenv stdenv [gnumake380];
5088   };
5090   junit = import ../development/libraries/java/junit {
5091     inherit stdenv fetchurl unzip;
5092   };
5094   lucene = import ../development/libraries/java/lucene {
5095     inherit stdenv fetchurl;
5096   };
5098   mockobjects = import ../development/libraries/java/mockobjects {
5099     inherit stdenv fetchurl;
5100   };
5102   saxon = import ../development/libraries/java/saxon {
5103     inherit fetchurl stdenv unzip;
5104   };
5106   saxonb = import ../development/libraries/java/saxon/default8.nix {
5107     inherit fetchurl stdenv unzip jre;
5108   };
5110   sharedobjects = import ../development/libraries/java/shared-objects {
5111     inherit fetchurl jdk;
5112     stdenv = overrideInStdenv stdenv [gnumake380];
5113   };
5115   smack = import ../development/libraries/java/smack {
5116     inherit stdenv fetchurl;
5117   };
5119   swt = import ../development/libraries/java/swt {
5120     inherit stdenv fetchurl unzip jdk pkgconfig;
5121     inherit (gtkLibs) gtk;
5122     inherit (xlibs) libXtst;
5123   };
5125   xalanj = xalanJava;
5126   xalanJava = import ../development/libraries/java/xalanj {
5127     inherit fetchurl stdenv;
5128     ant    = apacheAntGcj;  # for bootstrap purposes
5129     javac  = gcj;
5130     jvm    = gcj;
5131     xerces = xercesJava;
5132   };
5134   zziplib = import ../development/libraries/zziplib {
5135     inherit fetchurl stdenv perl python zip xmlto zlib;
5136   };
5139   ### DEVELOPMENT / PERL MODULES
5141   buildPerlPackage = import ../development/perl-modules/generic perl;
5143   perlPackages = recurseIntoAttrs (import ./perl-packages.nix {
5144     inherit pkgs;
5145   });
5147   perlXMLParser = perlPackages.XMLParser;
5150   ### DEVELOPMENT / PYTHON MODULES
5152   buildPythonPackage =
5153     import ../development/python-modules/generic {
5154       inherit python setuptools makeWrapper lib;
5155     };
5157   buildPython26Package =
5158     import ../development/python-modules/generic {
5159       inherit makeWrapper lib;
5160       python = python26;
5161       setuptools = setuptools_python26;
5162     };
5164   pythonPackages = recurseIntoAttrs (import ./python-packages.nix {
5165     inherit pkgs python buildPythonPackage;
5166   });
5168   python26Packages = recurseIntoAttrs (import ./python-packages.nix {
5169     inherit pkgs;
5170     python = python26;
5171     buildPythonPackage = buildPython26Package;
5172   });
5174   foursuite = import ../development/python-modules/4suite {
5175     inherit fetchurl stdenv python;
5176   };
5178   bsddb3 = import ../development/python-modules/bsddb3 {
5179     inherit fetchurl stdenv python db4;
5180   };
5182   flup = builderDefsPackage ../development/python-modules/flup {
5183     inherit fetchurl stdenv;
5184     python = python25;
5185     setuptools = setuptools.passthru.function {python = python25;};
5186   };
5188   numeric = import ../development/python-modules/numeric {
5189     inherit fetchurl stdenv python;
5190   };
5192   pil = import ../development/python-modules/pil {
5193     inherit fetchurl stdenv python zlib libjpeg freetype;
5194   };
5196   pil_python26 = import ../development/python-modules/pil {
5197     inherit fetchurl stdenv zlib libjpeg freetype;
5198     python = python26;
5199   };
5201   psyco = import ../development/python-modules/psyco {
5202       inherit fetchurl stdenv python;
5203     };
5205   pycairo = import ../development/python-modules/pycairo {
5206     inherit fetchurl stdenv python pkgconfig cairo x11;
5207   };
5209   pycrypto = import ../development/python-modules/pycrypto {
5210     inherit fetchurl stdenv python gmp;
5211   };
5213   pycups = import ../development/python-modules/pycups {
5214     inherit stdenv fetchurl python cups;
5215   };
5217   pygame = import ../development/python-modules/pygame {
5218     inherit fetchurl stdenv python pkgconfig SDL SDL_image
5219       SDL_mixer SDL_ttf numeric;
5220   };
5222   pygobject = import ../development/python-modules/pygobject {
5223     inherit fetchurl stdenv python pkgconfig glib;
5224   };
5226   pygtk = import ../development/python-modules/pygtk {
5227     inherit fetchurl stdenv python pkgconfig pygobject pycairo;
5228     inherit (gtkLibs) glib gtk;
5229   };
5231   pyGtkGlade = import ../development/python-modules/pygtk {
5232     inherit fetchurl stdenv python pkgconfig pygobject pycairo;
5233     inherit (gtkLibs) glib gtk;
5234     inherit (gnome) libglade;
5235   };
5237   pyopengl = import ../development/python-modules/pyopengl {
5238     inherit fetchurl stdenv setuptools mesa freeglut pil python;
5239   };
5241   pyopenssl = builderDefsPackage (import ../development/python-modules/pyopenssl) {
5242     inherit python openssl;
5243   };
5245   pythonSip = builderDefsPackage (import ../development/python-modules/python-sip/4.7.4.nix) {
5246     inherit python;
5247   };
5249   rhpl = import ../development/python-modules/rhpl {
5250     inherit stdenv fetchurl rpm cpio python wirelesstools gettext;
5251   };
5253   sip = import ../development/python-modules/python-sip {
5254     inherit stdenv fetchurl lib python;
5255   };
5257   sip_python26 = import ../development/python-modules/python-sip {
5258     inherit stdenv fetchurl lib;
5259     python = python26;
5260   };
5262   pyqt = builderDefsPackage (import ../development/python-modules/pyqt/4.3.3.nix) {
5263     inherit pkgconfig python pythonSip glib;
5264     inherit (xlibs) libX11 libXext;
5265     qt = qt4;
5266   };
5268   pyqt4 = import ../development/python-modules/pyqt {
5269     inherit stdenv fetchurl lib python sip;
5270     qt4 = qt45;
5271   };
5273   pyqt4_python26 = import ../development/python-modules/pyqt {
5274     inherit stdenv fetchurl lib;
5275     qt4 = qt45;
5276     python = python26;
5277     sip = sip_python26;
5278   };
5280   pyx = import ../development/python-modules/pyx {
5281     inherit fetchurl stdenv python makeWrapper;
5282   };
5284   pyxml = import ../development/python-modules/pyxml {
5285     inherit fetchurl stdenv python makeWrapper;
5286   };
5288   setuptools = builderDefsPackage (import ../development/python-modules/setuptools) {
5289     inherit python makeWrapper;
5290   };
5292   setuptools_python26 = builderDefsPackage (import ../development/python-modules/setuptools) {
5293     inherit makeWrapper;
5294     python = python26;
5295   };
5297   wxPython = wxPython26;
5299   wxPython26 = import ../development/python-modules/wxPython/2.6.nix {
5300     inherit fetchurl stdenv pkgconfig python;
5301     wxGTK = wxGTK26;
5302   };
5304   wxPython28 = import ../development/python-modules/wxPython/2.8.nix {
5305     inherit fetchurl stdenv pkgconfig python;
5306     inherit wxGTK;
5307   };
5309   twisted = pythonPackages.twisted;
5311   ZopeInterface = import ../development/python-modules/ZopeInterface {
5312     inherit fetchurl stdenv python;
5313   };
5315   zope = import ../development/python-modules/zope {
5316     inherit fetchurl stdenv;
5317     python = python24;
5318   };
5320   ### SERVERS
5323   apacheHttpd = makeOverridable (import ../servers/http/apache-httpd) {
5324     inherit (pkgsOverriden) fetchurl stdenv perl openssl zlib apr aprutil pcre;
5325     sslSupport = true;
5326   };
5328   sabnzbd = import ../servers/sabnzbd {
5329     inherit fetchurl stdenv python cheetahTemplate makeWrapper par2cmdline unzip unrar;
5330   };
5332   bind = builderDefsPackage (import ../servers/dns/bind/9.5.0.nix) {
5333     inherit openssl libtool;
5334   };
5336   dico = import ../servers/dico {
5337     inherit fetchurl stdenv libtool gettext zlib readline guile python;
5338   };
5340   dict = composedArgsAndFun (import ../servers/dict/1.9.15.nix) {
5341     inherit builderDefs which bison;
5342     flex=flex2534;
5343   };
5345   dictdDBs = recurseIntoAttrs (import ../servers/dict/dictd-db.nix {
5346     inherit builderDefs;
5347   });
5349   dictDBCollector = import ../servers/dict/dictd-db-collector.nix {
5350     inherit stdenv lib dict;
5351   };
5353   dovecot = import ../servers/mail/dovecot {
5354     inherit fetchurl stdenv openssl pam;
5355   };
5356   dovecot_1_1_1 = import ../servers/mail/dovecot/1.1.1.nix {
5357     inherit fetchurl stdenv openssl pam;
5358   };
5360   ejabberd = import ../servers/xmpp/ejabberd {
5361     inherit fetchurl stdenv expat erlang zlib openssl pam lib;
5362   };
5364   couchdb = import ../servers/http/couchdb {
5365     inherit fetchurl stdenv erlang spidermonkey icu getopt
5366       curl;
5367   };
5369   fingerd_bsd = import ../servers/fingerd/bsd-fingerd {
5370     inherit fetchurl stdenv;
5371   };
5373   ircdHybrid = import ../servers/irc/ircd-hybrid {
5374     inherit fetchurl stdenv openssl zlib;
5375   };
5377   jboss = import ../servers/http/jboss {
5378     inherit fetchurl stdenv unzip jdk lib;
5379   };
5381   jboss_mysql_jdbc = import ../servers/http/jboss/jdbc/mysql {
5382     inherit stdenv jboss mysql_jdbc;
5383   };
5385   jetty = import ../servers/http/jetty {
5386     inherit fetchurl stdenv unzip;
5387   };
5389   jetty61 = import ../servers/http/jetty/6.1 {
5390     inherit fetchurl stdenv unzip;
5391   };
5393   lighttpd = import ../servers/http/lighttpd {
5394     inherit fetchurl stdenv pcre libxml2 zlib attr bzip2;
5395   };
5397   mod_python = makeOverridable (import ../servers/http/apache-modules/mod_python) {
5398     inherit (pkgsOverriden) fetchurl stdenv apacheHttpd python;
5399   };
5401   myserver = import ../servers/http/myserver {
5402     inherit fetchurl stdenv libgcrypt libevent libidn gnutls libxml2
5403       zlib texinfo cppunit;
5404   };
5406   nginx = builderDefsPackage (import ../servers/http/nginx) {
5407     inherit openssl pcre zlib libxml2 libxslt;
5408   };
5410   postfix = import ../servers/mail/postfix {
5411     inherit fetchurl stdenv db4 openssl cyrus_sasl glibc;
5412   };
5414   pulseaudio = makeOverridable (import ../servers/pulseaudio) {
5415     inherit fetchurl stdenv pkgconfig gnum4 gdbm
5416       dbus hal avahi liboil libsamplerate libsndfile speex
5417       intltool gettext libtool libcap;
5418     inherit (xlibs) libX11 libICE libSM libXtst libXi;
5419     inherit (gtkLibs) gtk glib;
5420     inherit alsaLib;    # Needs ALSA >= 1.0.17.
5421     gconf = gnome.GConf;
5422   };
5424   tomcat_connectors = import ../servers/http/apache-modules/tomcat-connectors {
5425     inherit fetchurl stdenv apacheHttpd jdk;
5426   };
5428   portmap = makeOverridable (import ../servers/portmap) {
5429     inherit fetchurl stdenv lib tcpWrapper;
5430   };
5432   monetdb = import ../servers/sql/monetdb {
5433     inherit composableDerivation getConfig;
5434     inherit fetchurl stdenv pcre openssl readline libxml2 geos apacheAnt jdk5;
5435   };
5437   mysql4 = import ../servers/sql/mysql {
5438     inherit fetchurl stdenv ncurses zlib perl;
5439     ps = procps; /* !!! Linux only */
5440   };
5442   mysql5 = import ../servers/sql/mysql5 {
5443     inherit fetchurl stdenv ncurses zlib perl openssl;
5444     ps = procps; /* !!! Linux only */
5445   };
5447   mysql51 = import ../servers/sql/mysql51 {
5448     inherit fetchurl ncurses zlib perl openssl stdenv;
5449     ps = procps; /* !!! Linux only */
5450   };
5452   mysql = mysql5;
5454   mysql_jdbc = import ../servers/sql/mysql/jdbc {
5455     inherit fetchurl stdenv ant;
5456   };
5458   nagios = import ../servers/monitoring/nagios {
5459     inherit fetchurl stdenv perl gd libpng zlib;
5460     gdSupport = true;
5461   };
5463   nagiosPluginsOfficial = import ../servers/monitoring/nagios/plugins/official {
5464     inherit fetchurl stdenv openssh;
5465   };
5467   openfire = composedArgsAndFun (import ../servers/xmpp/openfire) {
5468     inherit builderDefs jre;
5469   };
5471   postgresql = postgresql83;
5473   postgresql83 = import ../servers/sql/postgresql/8.3.x.nix {
5474     inherit fetchurl stdenv readline ncurses zlib;
5475   };
5477   postgresql84 = import ../servers/sql/postgresql/8.4.x.nix {
5478     inherit fetchurl stdenv readline ncurses zlib;
5479   };
5481   postgresql_jdbc = import ../servers/sql/postgresql/jdbc {
5482     inherit fetchurl stdenv ant;
5483   };
5485   pyIRCt = builderDefsPackage (import ../servers/xmpp/pyIRCt) {
5486     inherit xmpppy pythonIRClib python makeWrapper;
5487   };
5489   pyMAILt = builderDefsPackage (import ../servers/xmpp/pyMAILt) {
5490     inherit xmpppy python makeWrapper fetchcvs;
5491   };
5493   samba = makeOverridable (import ../servers/samba) {
5494     inherit stdenv fetchurl readline openldap pam kerberos popt iniparser
5495   libunwind acl fam;
5496   };
5498   squids = recurseIntoAttrs( import ../servers/squid/squids.nix {
5499     inherit fetchurl stdenv perl lib composableDerivation;
5500   });
5501   squid = squids.squid3Beta; # has ipv6 support
5503   tomcat5 = import ../servers/http/tomcat {
5504     inherit fetchurl stdenv jdk;
5505   };
5507   tomcat6 = import ../servers/http/tomcat/6.0.nix {
5508     inherit fetchurl stdenv jdk;
5509   };
5511   tomcat_mysql_jdbc = import ../servers/http/tomcat/jdbc/mysql {
5512     inherit stdenv tomcat6 mysql_jdbc;
5513   };
5515   axis2 = import ../servers/http/tomcat/axis2 {
5516     inherit fetchurl stdenv jdk apacheAnt unzip;
5517   };
5519   vsftpd = import ../servers/ftp/vsftpd {
5520     inherit fetchurl openssl stdenv libcap pam;
5521   };
5523   xinetd = import ../servers/xinetd {
5524     inherit fetchurl stdenv;
5525   };
5527   xorg = recurseIntoAttrs (import ../servers/x11/xorg/default.nix {
5528     inherit fetchurl fetchsvn stdenv pkgconfig freetype fontconfig
5529       libxslt expat libdrm libpng zlib perl mesa
5530       xkeyboard_config dbus hal libuuid openssl gperf m4
5531       automake autoconf libtool;
5533     # !!! pythonBase is use instead of python because this cause an infinite
5534     # !!! recursion when the flag python.full is set to true.  Packages
5535     # !!! contained in the loop are python, tk, xlibs-wrapper, libX11,
5536     # !!! libxcd (and xcb-proto).
5537     python =  pythonBase;
5538   });
5540   xorgReplacements = composedArgsAndFun (import ../servers/x11/xorg/replacements.nix) {
5541     inherit fetchurl stdenv automake autoconf libtool xorg composedArgsAndFun;
5542   };
5544   xorgVideoUnichrome = import ../servers/x11/xorg/unichrome/default.nix {
5545     inherit stdenv fetchgit pkgconfig libdrm mesa automake autoconf libtool;
5546     inherit (xorg) fontsproto libpciaccess randrproto renderproto videoproto
5547       libX11 xextproto xf86driproto xorgserver xproto libXvMC glproto
5548       libXext utilmacros;
5549   };
5551   zabbixAgent = import ../servers/monitoring/zabbix {
5552     inherit fetchurl stdenv;
5553     enableServer = false;
5554   };
5556   zabbixServer = import ../servers/monitoring/zabbix {
5557     inherit fetchurl stdenv postgresql curl;
5558     enableServer = true;
5559   };
5562   ### OS-SPECIFIC
5564   afuse = import ../os-specific/linux/afuse {
5565     inherit fetchurl stdenv lib pkgconfig fuse;
5566   };
5568   autofs5 = import ../os-specific/linux/autofs/autofs-v5.nix {
5569     inherit sourceFromHead fetchurl stdenv flex bison linuxHeaders;
5570   };
5572   _915resolution = import ../os-specific/linux/915resolution {
5573     inherit fetchurl stdenv;
5574   };
5576   nfsUtils = import ../os-specific/linux/nfs-utils {
5577     inherit fetchurl stdenv tcpWrapper libuuid;
5578   };
5580   acpi = import ../os-specific/linux/acpi {
5581     inherit fetchurl stdenv;
5582   };
5584   acpid = import ../os-specific/linux/acpid {
5585     inherit fetchurl stdenv;
5586   };
5588   acpitool = import ../os-specific/linux/acpitool {
5589     inherit fetchurl stdenv;
5590   };
5592   alsaLib = import ../os-specific/linux/alsa-lib {
5593     inherit stdenv fetchurl;
5594   };
5596   alsaPlugins = import ../os-specific/linux/alsa-plugins {
5597     inherit fetchurl stdenv lib pkgconfig alsaLib pulseaudio jackaudio;
5598   };
5599   alsaPluginWrapper = import ../os-specific/linux/alsa-plugins/wrapper.nix {
5600     inherit stdenv alsaPlugins writeScriptBin;
5601   };
5603   alsaUtils = import ../os-specific/linux/alsa-utils {
5604     inherit stdenv fetchurl alsaLib gettext ncurses;
5605   };
5607   bluez = import ../os-specific/linux/bluez {
5608     inherit fetchurl stdenv pkgconfig dbus libusb alsaLib glib;
5609   };
5611   bridge_utils = import ../os-specific/linux/bridge_utils {
5612     inherit fetchurl stdenv autoconf automake;
5613   };
5615   cpufrequtils = (
5616     import ../os-specific/linux/cpufrequtils {
5617     inherit fetchurl stdenv libtool gettext;
5618     glibc = stdenv.gcc.libc;
5619     linuxHeaders = stdenv.gcc.libc.kernelHeaders;
5620   });
5622   cryopid = import ../os-specific/linux/cryopid {
5623     inherit fetchurl stdenv zlibStatic;
5624   };
5626   cryptsetup = import ../os-specific/linux/cryptsetup {
5627     inherit stdenv fetchurl libuuid popt devicemapper udev;
5628   };
5630   cramfsswap = import ../os-specific/linux/cramfsswap {
5631     inherit fetchurl stdenv zlib;
5632   };
5634   darwinArchUtility = import ../os-specific/darwin/arch {
5635     inherit stdenv;
5636   };
5638   darwinSwVersUtility = import ../os-specific/darwin/sw_vers {
5639     inherit stdenv;
5640   };
5642   devicemapper = lvm2;
5644   dmidecode = import ../os-specific/linux/dmidecode {
5645     inherit fetchurl stdenv;
5646   };
5648   dmtcp = import ../os-specific/linux/dmtcp {
5649     inherit fetchurl stdenv perl python;
5650   };
5652   dietlibc = import ../os-specific/linux/dietlibc {
5653     inherit fetchurl glibc;
5654     # Dietlibc 0.30 doesn't compile on PPC with GCC 4.1, bus GCC 3.4 works.
5655     stdenv = if stdenv.system == "powerpc-linux" then overrideGCC stdenv gcc34 else stdenv;
5656   };
5658   directvnc = builderDefsPackage ../os-specific/linux/directvnc {
5659     inherit libjpeg pkgconfig zlib directfb;
5660     inherit (xlibs) xproto;
5661   };
5663   dmraid = builderDefsPackage ../os-specific/linux/dmraid {
5664     inherit devicemapper;
5665   };
5667   libuuid = if ! stdenv.isDarwin then utillinuxng else null;
5669   e3cfsprogs = import ../os-specific/linux/e3cfsprogs {
5670     inherit stdenv fetchurl gettext;
5671   };
5673   eject = import ../os-specific/linux/eject {
5674     inherit fetchurl stdenv gettext;
5675   };
5677   fbterm = builderDefsPackage (import ../os-specific/linux/fbterm) {
5678     inherit fontconfig gpm freetype pkgconfig ncurses;
5679   };
5681   fuse = import ../os-specific/linux/fuse {
5682     inherit fetchurl stdenv utillinux;
5683   };
5685   fxload = import ../os-specific/linux/fxload {
5686     inherit fetchurl stdenv;
5687   };
5689   gpm = import ../servers/gpm {
5690     inherit fetchurl stdenv ncurses bison;
5691     flex = flex2535;
5692   };
5694   hal = makeOverridable (import ../os-specific/linux/hal) {
5695     inherit fetchurl stdenv pkgconfig python pciutils usbutils expat
5696       libusb dbus dbus_glib libuuid perl perlXMLParser
5697       gettext zlib eject libsmbios udev gperf dmidecode utillinuxng
5698       consolekit policykit pmutils glib;
5699   };
5701   halevt = import ../os-specific/linux/hal/hal-evt.nix {
5702     inherit fetchurl stdenv lib libxml2 pkgconfig boolstuff hal dbus_glib;
5703   };
5705   hal_info = import ../os-specific/linux/hal/info.nix {
5706     inherit fetchurl stdenv pkgconfig;
5707   };
5709   hal_info_synaptics = import ../os-specific/linux/hal/synaptics.nix {
5710     inherit stdenv;
5711   };
5713   hdparm = import ../os-specific/linux/hdparm {
5714     inherit fetchurl stdenv;
5715   };
5717   hibernate = import ../os-specific/linux/hibernate {
5718     inherit fetchurl stdenv gawk;
5719   };
5721   htop = import ../os-specific/linux/htop {
5722     inherit fetchurl stdenv ncurses;
5723   };
5725   hwdata = import ../os-specific/linux/hwdata {
5726     inherit fetchurl stdenv;
5727   };
5729   ifplugd = import ../os-specific/linux/ifplugd {
5730     inherit fetchurl stdenv pkgconfig libdaemon;
5731   };
5733   iproute = import ../os-specific/linux/iproute {
5734     inherit fetchurl stdenv flex bison db4;
5735   };
5737   iputils = (
5738     import ../os-specific/linux/iputils {
5739     inherit fetchurl stdenv;
5740     glibc = stdenv.gcc.libc;
5741     linuxHeaders = stdenv.gcc.libc.kernelHeaders;
5742   });
5744   iptables = import ../os-specific/linux/iptables {
5745     inherit fetchurl stdenv;
5746   };
5748   ipw2200fw = import ../os-specific/linux/firmware/ipw2200 {
5749     inherit fetchurl stdenv;
5750   };
5752   iwlwifi1000ucode = import ../os-specific/linux/firmware/iwlwifi-1000-ucode {
5753     inherit fetchurl stdenv;
5754   };
5756   iwlwifi3945ucode = import ../os-specific/linux/firmware/iwlwifi-3945-ucode {
5757     inherit fetchurl stdenv;
5758   };
5760   iwlwifi4965ucodeV1 = import ../os-specific/linux/firmware/iwlwifi-4965-ucode {
5761     inherit fetchurl stdenv;
5762   };
5764   iwlwifi4965ucodeV2 = import ../os-specific/linux/firmware/iwlwifi-4965-ucode/version-2.nix {
5765     inherit fetchurl stdenv;
5766   };
5768   iwlwifi5000ucode = import ../os-specific/linux/firmware/iwlwifi-5000-ucode {
5769     inherit fetchurl stdenv;
5770   };
5772   kbd = import ../os-specific/linux/kbd {
5773     inherit fetchurl stdenv bison flex autoconf automake;
5774   };
5776   linuxHeaders = linuxHeaders_2_6_28;
5778   linuxHeadersCross = cross : forceBuildDrv (import ../os-specific/linux/kernel-headers/2.6.28.nix {
5779     inherit stdenv fetchurl cross perl;
5780   });
5782   linuxHeaders_2_6_18 = import ../os-specific/linux/kernel-headers/2.6.18.5.nix {
5783     inherit fetchurl stdenv unifdef;
5784   };
5786   linuxHeaders_2_6_28 = import ../os-specific/linux/kernel-headers/2.6.28.nix {
5787     inherit fetchurl stdenv perl;
5788   };
5790   linuxHeaders_2_6_32 = import ../os-specific/linux/kernel-headers/2.6.32.nix {
5791     inherit fetchurl stdenv perl;
5792   };
5794   linuxHeadersArm = import ../os-specific/linux/kernel-headers-cross {
5795     inherit fetchurl stdenv;
5796     cross = "arm-linux";
5797   };
5799   linuxHeadersMips = import ../os-specific/linux/kernel-headers-cross {
5800     inherit fetchurl stdenv;
5801     cross = "mips-linux";
5802   };
5804   linuxHeadersSparc = import ../os-specific/linux/kernel-headers-cross {
5805     inherit fetchurl stdenv;
5806     cross = "sparc-linux";
5807   };
5809   kernelPatches = import ../os-specific/linux/kernel/patches.nix {
5810     inherit fetchurl;
5811   };
5813   linux_2_6_25 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.25.nix) {
5814     inherit fetchurl stdenv perl mktemp module_init_tools;
5815     kernelPatches =
5816       [ kernelPatches.fbcondecor_2_6_25
5817         kernelPatches.sec_perm_2_6_24
5818       ];
5819   };
5821   linux_2_6_27 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.27.nix) {
5822     inherit fetchurl stdenv perl mktemp module_init_tools;
5823     kernelPatches =
5824       [ kernelPatches.fbcondecor_2_6_27
5825         kernelPatches.sec_perm_2_6_24
5826       ];
5827   };
5829   linux_2_6_28 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.28.nix) {
5830     inherit fetchurl stdenv perl mktemp module_init_tools;
5831     kernelPatches =
5832       [ kernelPatches.fbcondecor_2_6_28
5833         kernelPatches.sec_perm_2_6_24
5834         kernelPatches.ext4_softlockups_2_6_28
5835       ];
5836   };
5838   linux_2_6_29 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.29.nix) {
5839     inherit fetchurl stdenv perl mktemp module_init_tools;
5840     kernelPatches =
5841       [ kernelPatches.fbcondecor_2_6_29
5842         kernelPatches.sec_perm_2_6_24
5843       ];
5844   };
5846   linux_2_6_31 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.31.nix) {
5847     inherit fetchurl stdenv perl mktemp module_init_tools platform;
5848     kernelPatches = [];
5849   };
5851   linux_2_6_32 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.32.nix) {
5852     inherit fetchurl stdenv perl mktemp module_init_tools;
5853     kernelPatches =
5854       [ kernelPatches.fbcondecor_2_6_31
5855         kernelPatches.sec_perm_2_6_24
5856       ];
5857     inherit platform;
5858   };
5860   linux_2_6_32_zen4 = makeOverridable (import ../os-specific/linux/zen-kernel/2.6.32-zen4.nix) {
5861     inherit fetchurl stdenv perl mktemp module_init_tools runCommand xz;
5862   };
5864   linux_2_6_32_zen4_oldi686 = linux_2_6_32_zen4.override {
5865     features = {
5866       oldI686 = true;
5867     };
5868   };
5870   linux_2_6_32_zen4_bfs = linux_2_6_32_zen4.override {
5871     features = {
5872       ckSched = true;
5873     };
5874   };
5876   /* Linux kernel modules are inherently tied to a specific kernel.  So
5877      rather than provide specific instances of those packages for a
5878      specific kernel, we have a function that builds those packages
5879      for a specific kernel.  This function can then be called for
5880      whatever kernel you're using. */
5882   linuxPackagesFor = kernel: rec {
5884     inherit kernel;
5886     aufs = import ../os-specific/linux/aufs {
5887       inherit fetchurl stdenv kernel;
5888     };
5890     # Currently it is broken
5891     # Build requires exporting some symbols from kernel
5892     # Go to package homepage to learn about the needed
5893     # patch. Feel free to take over the package.
5894     aufs2 = import ../os-specific/linux/aufs2 {
5895       inherit fetchgit stdenv kernel perl;
5896     };
5898     aufs2Utils = if lib.attrByPath ["features" "aufs"] false kernel then
5899       builderDefsPackage ../os-specific/linux/aufs2-utils {
5900         inherit kernel;
5901       }
5902     else null;
5904     exmap = import ../os-specific/linux/exmap {
5905       inherit fetchurl stdenv kernel boost pcre pkgconfig;
5906       inherit (gtkLibs) gtkmm;
5907     };
5909     iwlwifi = import ../os-specific/linux/iwlwifi {
5910       inherit fetchurl stdenv kernel;
5911     };
5913     iwlwifi4965ucode =
5914       (if (builtins.compareVersions kernel.version "2.6.27" == 0)
5915           || (builtins.compareVersions kernel.version "2.6.27" == 1)
5916        then iwlwifi4965ucodeV2
5917        else iwlwifi4965ucodeV1);
5919     atheros = composedArgsAndFun (import ../os-specific/linux/atheros/0.9.4.nix) {
5920       inherit fetchurl stdenv builderDefs kernel lib;
5921     };
5923     nvidia_x11 = import ../os-specific/linux/nvidia-x11 {
5924       inherit stdenv fetchurl kernel xlibs gtkLibs zlib perl;
5925     };
5927     nvidia_x11_legacy = import ../os-specific/linux/nvidia-x11/legacy.nix {
5928       inherit stdenv fetchurl kernel xlibs gtkLibs zlib;
5929     };
5931     openafsClient = import ../servers/openafs-client {
5932       inherit stdenv fetchurl autoconf automake flex yacc;
5933       inherit kernel glibc ncurses perl krb5;
5934     };
5936     wis_go7007 = import ../os-specific/linux/wis-go7007 {
5937       inherit fetchurl stdenv kernel ncurses fxload;
5938     };
5940     kqemu = builderDefsPackage ../os-specific/linux/kqemu/1.4.0pre1.nix {
5941       inherit kernel perl;
5942     };
5944     splashutils =
5945       if kernel.features ? fbConDecor then pkgs.splashutils else null;
5947     ext3cowtools = import ../os-specific/linux/ext3cow-tools {
5948       inherit stdenv fetchurl;
5949       kernel_ext3cowpatched = kernel;
5950     };
5952     /* compiles but has to be integrated into the kernel somehow
5953       Let's have it uncommented and finish it..
5954     */
5955     ndiswrapper = import ../os-specific/linux/ndiswrapper {
5956       inherit fetchurl stdenv;
5957       inherit kernel perl;
5958     };
5960     ov511 = import ../os-specific/linux/ov511 {
5961       inherit fetchurl kernel;
5962       stdenv = overrideGCC stdenv gcc34;
5963     };
5965     # State Nix
5966     snix = import ../tools/package-management/snix {
5967       inherit fetchurl stdenv perl curl bzip2 openssl bison;
5968       inherit libtool automake autoconf docbook5 docbook5_xsl libxslt docbook_xml_dtd_43 w3m;
5970       aterm = aterm25;
5971       db4 = db45;
5973       flex = flex2533;
5975       inherit ext3cowtools e3cfsprogs rsync;
5976       ext3cow_kernel = kernel;
5977     };
5979     sysprof = import ../development/tools/profiling/sysprof {
5980       inherit fetchurl stdenv binutils pkgconfig kernel;
5981       inherit (gnome) gtk glib pango libglade;
5982     };
5984     virtualbox = import ../applications/virtualization/virtualbox {
5985       stdenv = stdenv_32bit;
5986       inherit fetchurl lib iasl dev86 libxslt libxml2 SDL hal
5987           libcap libpng zlib kernel python which alsaLib curl glib;
5988       qt4 = qt45;
5989       inherit (xlibs) xproto libX11 libXext libXcursor;
5990       inherit (gnome) libIDL;
5991     };
5993     virtualboxGuestAdditions = import ../applications/virtualization/virtualbox/guest-additions {
5994       inherit stdenv fetchurl lib patchelf cdrkit kernel;
5995       inherit (xlibs) libX11 libXt libXext libXmu libXcomposite libXfixes;
5996     };
5997   };
5999   # Build the kernel modules for the some of the kernels.
6000   linuxPackages_2_6_25 = recurseIntoAttrs (linuxPackagesFor linux_2_6_25);
6001   linuxPackages_2_6_27 = recurseIntoAttrs (linuxPackagesFor linux_2_6_27);
6002   linuxPackages_2_6_28 = recurseIntoAttrs (linuxPackagesFor linux_2_6_28);
6003   linuxPackages_2_6_29 = recurseIntoAttrs (linuxPackagesFor linux_2_6_29);
6004   linuxPackages_2_6_31 = recurseIntoAttrs (linuxPackagesFor linux_2_6_31);
6005   linuxPackages_2_6_32 = recurseIntoAttrs (linuxPackagesFor linux_2_6_32);
6007   # The current default kernel / kernel modules.
6008   linux = linux_2_6_32;
6009   linuxPackages = linuxPackagesFor linux;
6011   customKernel = composedArgsAndFun (lib.sumTwoArgs (import ../os-specific/linux/kernel/generic.nix) {
6012     inherit fetchurl stdenv perl mktemp module_init_tools;
6013   });
6015   keyutils = import ../os-specific/linux/keyutils {
6016     inherit fetchurl stdenv;
6017   };
6019   libselinux = import ../os-specific/linux/libselinux {
6020     inherit fetchurl stdenv libsepol;
6021   };
6023   libraw1394 = import ../development/libraries/libraw1394 {
6024     inherit fetchurl stdenv;
6025   };
6027   libsexy = import ../development/libraries/libsexy {
6028     inherit stdenv fetchurl pkgconfig libxml2;
6029     inherit (gtkLibs) glib gtk pango;
6030   };
6032   librsvg = gnome.librsvg;
6034   libsepol = import ../os-specific/linux/libsepol {
6035     inherit fetchurl stdenv;
6036   };
6038   libsmbios = import ../os-specific/linux/libsmbios {
6039     inherit fetchurl stdenv pkgconfig libxml2 perl;
6040   };
6042   lm_sensors = import ../os-specific/linux/lm_sensors {
6043     inherit fetchurl stdenv bison flex perl;
6044   };
6046   klibc = makeOverridable (import ../os-specific/linux/klibc) {
6047     inherit fetchurl stdenv perl bison mktemp;
6048     linuxHeaders = glibc.kernelHeaders;
6049   };
6051   # Old version; needed in vmtools for insmod.  Should use
6052   # module_init_tools instead.
6053   klibc_15 = makeOverridable (import ../os-specific/linux/klibc/1.5.nix) {
6054     inherit fetchurl stdenv perl bison mktemp;
6055     linuxHeaders = glibc.kernelHeaders;
6056   };
6058   klibcShrunk = makeOverridable (import ../os-specific/linux/klibc/shrunk.nix) {
6059     inherit stdenv klibc;
6060   };
6062   kvm = kvm76;
6064   kvm76 = import ../os-specific/linux/kvm/76.nix {
6065     inherit fetchurl stdenv zlib e2fsprogs SDL alsaLib pkgconfig rsync;
6066     linuxHeaders = glibc.kernelHeaders;
6067   };
6069   kvm86 = import ../os-specific/linux/kvm/86.nix {
6070     inherit fetchurl stdenv zlib SDL alsaLib pkgconfig pciutils;
6071     linuxHeaders = glibc.kernelHeaders;
6072   };
6074   kvm88 = import ../os-specific/linux/kvm/88.nix {
6075     inherit fetchurl stdenv zlib SDL alsaLib pkgconfig pciutils;
6076     linuxHeaders = glibc.kernelHeaders;
6077   };
6079   libcap = import ../os-specific/linux/libcap {
6080     inherit fetchurl stdenv attr;
6081   };
6083   libnscd = import ../os-specific/linux/libnscd {
6084     inherit fetchurl stdenv;
6085   };
6087   libnotify = import ../development/libraries/libnotify {
6088     inherit stdenv fetchurl pkgconfig dbus dbus_glib;
6089     inherit (gtkLibs) gtk glib;
6090   };
6092   libvolume_id = import ../os-specific/linux/libvolume_id {
6093     inherit fetchurl stdenv;
6094   };
6096   lvm2 = import ../os-specific/linux/lvm2 {
6097     inherit fetchurl stdenv;
6098   };
6100   mdadm = import ../os-specific/linux/mdadm {
6101     inherit fetchurl stdenv groff;
6102   };
6104   mingetty = import ../os-specific/linux/mingetty {
6105     inherit fetchurl stdenv;
6106   };
6108   module_init_tools = import ../os-specific/linux/module-init-tools {
6109     inherit fetchurl stdenv;
6110   };
6112   mount_cifs = import ../os-specific/linux/mount-cifs {
6113     inherit fetchurl stdenv;
6114   };
6116   aggregateModules = modules:
6117     import ../os-specific/linux/module-init-tools/aggregator.nix {
6118       inherit stdenv module_init_tools modules buildEnv;
6119     };
6121   modutils = import ../os-specific/linux/modutils {
6122     inherit fetchurl bison flex;
6123     stdenv = overrideGCC stdenv gcc34;
6124   };
6126   nettools = import ../os-specific/linux/net-tools {
6127     inherit fetchurl stdenv;
6128   };
6130   neverball = import ../games/neverball {
6131     inherit stdenv fetchurl SDL mesa libpng libjpeg SDL_ttf libvorbis
6132       gettext physfs;
6133   };
6135   numactl = import ../os-specific/linux/numactl {
6136     inherit fetchurl stdenv;
6137   };
6139   gw6c = builderDefsPackage (import ../os-specific/linux/gw6c) {
6140     inherit fetchurl stdenv nettools openssl procps iproute;
6141   };
6143   nss_ldap = import ../os-specific/linux/nss_ldap {
6144     inherit fetchurl stdenv openldap;
6145   };
6147   pam = import ../os-specific/linux/pam {
6148     inherit stdenv fetchurl cracklib flex;
6149   };
6151   # pam_bioapi ( see http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader )
6153   pam_console = import ../os-specific/linux/pam_console {
6154     inherit stdenv fetchurl pam autoconf automake pkgconfig bison glib;
6155     libtool = libtool_1_5;
6156     flex = if stdenv.system == "i686-linux" then flex else flex2533;
6157   };
6159   pam_devperm = import ../os-specific/linux/pam_devperm {
6160     inherit stdenv fetchurl pam;
6161   };
6163   pam_ldap = import ../os-specific/linux/pam_ldap {
6164     inherit stdenv fetchurl pam openldap;
6165   };
6167   pam_login = import ../os-specific/linux/pam_login {
6168     inherit stdenv fetchurl pam;
6169   };
6171   pam_unix2 = import ../os-specific/linux/pam_unix2 {
6172     inherit stdenv fetchurl pam libxcrypt;
6173   };
6175   pam_usb = import ../os-specific/linux/pam_usb {
6176     inherit stdenv fetchurl makeWrapper useSetUID dbus libxml2 pam hal pkgconfig pmount python pythonDBus;
6177   };
6179   pcmciaUtils = composedArgsAndFun (import ../os-specific/linux/pcmciautils) {
6180     inherit stdenv fetchurl udev yacc flex;
6181     inherit sysfsutils module_init_tools;
6183     firmware = getConfig ["pcmciaUtils" "firmware"] [];
6184     config = getConfig ["pcmciaUtils" "config"] null;
6185     inherit lib;
6186   };
6188   pmount = import ../os-specific/linux/pmount {
6189     inherit fetchurl stdenv cryptsetup dbus dbus_glib hal intltool ntfs3g utillinuxng;
6190   };
6192   pmutils = import ../os-specific/linux/pm-utils {
6193     inherit fetchurl stdenv;
6194   };
6196   powertop = import ../os-specific/linux/powertop {
6197     inherit fetchurl stdenv ncurses gettext;
6198   };
6200   procps = import ../os-specific/linux/procps {
6201     inherit fetchurl stdenv ncurses;
6202   };
6204   pwdutils = import ../os-specific/linux/pwdutils {
6205     inherit fetchurl stdenv pam openssl libnscd;
6206   };
6208   qemu_kvm = import ../os-specific/linux/qemu-kvm {
6209     inherit fetchurl stdenv zlib SDL alsaLib pkgconfig pciutils libuuid;
6210   };
6212   radeontools = import ../os-specific/linux/radeontools {
6213     inherit pciutils;
6214     inherit fetchurl stdenv;
6215   };
6217   rt73fw = import ../os-specific/linux/firmware/rt73 {
6218     inherit fetchurl stdenv unzip;
6219   };
6221   sdparm = import ../os-specific/linux/sdparm {
6222     inherit fetchurl stdenv;
6223   };
6225   shadowutils = import ../os-specific/linux/shadow {
6226     inherit fetchurl stdenv;
6227   };
6229   splashutils = import ../os-specific/linux/splashutils/default.nix {
6230     inherit fetchurl stdenv klibc;
6231     zlib = zlibStatic;
6232     libjpeg = libjpegStatic;
6233   };
6235   statifier = builderDefsPackage (import ../os-specific/linux/statifier) {
6236   };
6238   sysfsutils = import ../os-specific/linux/sysfsutils {
6239     inherit fetchurl stdenv;
6240   };
6242   # Provided with sysfsutils.
6243   libsysfs = sysfsutils;
6244   systool = sysfsutils;
6246   sysklogd = import ../os-specific/linux/sysklogd {
6247     inherit fetchurl stdenv;
6248   };
6250   syslinux = import ../os-specific/linux/syslinux {
6251     inherit fetchurl stdenv nasm perl;
6252   };
6254   sysstat = import ../os-specific/linux/sysstat {
6255     inherit fetchurl stdenv gettext;
6256   };
6258   sysvinit = import ../os-specific/linux/sysvinit {
6259     inherit fetchurl stdenv;
6260   };
6262   sysvtools = import ../os-specific/linux/sysvinit {
6263     inherit fetchurl stdenv;
6264     withoutInitTools = true;
6265   };
6267   # FIXME: `tcp-wrapper' is actually not OS-specific.
6268   tcpWrapper = import ../os-specific/linux/tcp-wrapper {
6269     inherit fetchurl stdenv;
6270   };
6272   trackballs = import ../games/trackballs {
6273     inherit stdenv fetchurl SDL mesa SDL_ttf gettext zlib SDL_mixer SDL_image guile;
6274     debug = false;
6275   };
6277   tunctl = import ../os-specific/linux/tunctl {
6278     inherit stdenv fetchurl;
6279   };
6281   /*tuxracer = builderDefsPackage (import ../games/tuxracer) {
6282     inherit mesa tcl freeglut;
6283     inherit (xlibs) libX11 xproto;
6284   };*/
6286   uboot = makeOverridable (import ../misc/uboot) {
6287     inherit fetchurl stdenv unzip;
6288   };
6291   uclibc = import ../os-specific/linux/uclibc {
6292     inherit fetchurl stdenv linuxHeaders;
6293   };
6296   uclibcCross = target: import ../os-specific/linux/uclibc {
6297     inherit fetchurl stdenv;
6298     linuxHeaders = linuxHeadersCross target;
6299     gccCross = gccCrossStageStatic target;
6300   };
6302   udev = makeOverridable (import ../os-specific/linux/udev) {
6303     inherit fetchurl stdenv gperf pkgconfig acl libusb usbutils pciutils glib;
6304   };
6306   uml = import ../os-specific/linux/kernel/linux-2.6.29.nix {
6307     inherit fetchurl stdenv perl mktemp module_init_tools;
6308     userModeLinux = true;
6309   };
6311   umlutilities = import ../os-specific/linux/uml-utilities {
6312     inherit fetchurl linuxHeaders stdenv readline lib;
6313     tunctl = true; mconsole = true;
6314   };
6316   upstart = import ../os-specific/linux/upstart {
6317     inherit fetchurl stdenv;
6318   };
6320   upstart06 = import ../os-specific/linux/upstart/0.6.nix {
6321     inherit fetchurl stdenv pkgconfig dbus expat;
6322   };
6324   upstartJobControl = import ../os-specific/linux/upstart/jobcontrol.nix {
6325     inherit stdenv;
6326   };
6328   usbutils = import ../os-specific/linux/usbutils {
6329     inherit fetchurl stdenv pkgconfig libusb;
6330   };
6332   utillinux = utillinuxng;
6334   utillinuxCurses = utillinuxngCurses;
6336   utillinuxng = makeOverridable (import ../os-specific/linux/util-linux-ng) {
6337     inherit fetchurl stdenv;
6338   };
6340   utillinuxngCurses = utillinuxng.override {
6341     inherit ncurses;
6342   };
6344   wesnoth = import ../games/wesnoth {
6345     inherit fetchurl stdenv SDL SDL_image SDL_mixer SDL_net SDL_ttf
6346       gettext zlib boost freetype libpng pkgconfig;
6347     inherit (gtkLibs) pango;
6348   };
6350   wirelesstools = import ../os-specific/linux/wireless-tools {
6351     inherit fetchurl stdenv;
6352   };
6354   wpa_supplicant = import ../os-specific/linux/wpa_supplicant {
6355     inherit fetchurl stdenv openssl;
6356   };
6358   wpa_supplicant_gui_qt4 = import ../os-specific/linux/wpa_supplicant/gui-qt4.nix {
6359     inherit fetchurl stdenv qt4 imagemagick inkscape;
6360   };
6362   xmoto = builderDefsPackage (import ../games/xmoto) {
6363     inherit chipmunk sqlite curl zlib bzip2 libjpeg libpng
6364       freeglut mesa SDL SDL_mixer SDL_image SDL_net SDL_ttf
6365       lua5 ode;
6366   };
6368   xorg_sys_opengl = import ../os-specific/linux/opengl/xorg-sys {
6369     inherit stdenv xlibs expat libdrm;
6370   };
6372   zd1211fw = import ../os-specific/linux/firmware/zd1211 {
6373     inherit stdenv fetchurl;
6374   };
6376   ### DATA
6378   arkpandora_ttf = builderDefsPackage (import ../data/fonts/arkpandora) {
6379   };
6381   bakoma_ttf = import ../data/fonts/bakoma-ttf {
6382     inherit fetchurl stdenv;
6383   };
6385   cacert = import ../data/misc/cacert {
6386     inherit fetchurl stdenv;
6387   };
6389   corefonts = import ../data/fonts/corefonts {
6390     inherit fetchurl stdenv cabextract;
6391   };
6393   wrapFonts = paths : ((import ../data/fonts/fontWrap) {
6394     inherit fetchurl stdenv builderDefs paths ttmkfdir;
6395     inherit (xorg) mkfontdir mkfontscale;
6396   });
6398   clearlyU = composedArgsAndFun (import ../data/fonts/clearlyU/1.9.nix) {
6399     inherit builderDefs;
6400     inherit (xorg) mkfontdir mkfontscale;
6401   };
6403   dejavu_fonts = import ../data/fonts/dejavu-fonts {
6404     inherit fetchurl stdenv fontforge perl fontconfig;
6405     inherit (perlPackages) FontTTF;
6406   };
6408   docbook5 = import ../data/sgml+xml/schemas/docbook-5.0 {
6409     inherit fetchurl stdenv unzip;
6410   };
6412   docbook_xml_dtd_412 = import ../data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix {
6413     inherit fetchurl stdenv unzip;
6414   };
6416   docbook_xml_dtd_42 = import ../data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix {
6417     inherit fetchurl stdenv unzip;
6418   };
6420   docbook_xml_dtd_43 = import ../data/sgml+xml/schemas/xml-dtd/docbook/4.3.nix {
6421     inherit fetchurl stdenv unzip;
6422   };
6424   docbook_xml_dtd_45 = import ../data/sgml+xml/schemas/xml-dtd/docbook/4.5.nix {
6425     inherit fetchurl stdenv unzip;
6426   };
6428   docbook_xml_ebnf_dtd = import ../data/sgml+xml/schemas/xml-dtd/docbook-ebnf {
6429     inherit fetchurl stdenv unzip;
6430   };
6432   docbook_xml_xslt = docbook_xsl;
6434   docbook_xsl = import ../data/sgml+xml/stylesheets/xslt/docbook-xsl {
6435     inherit fetchurl stdenv;
6436   };
6438   docbook5_xsl = docbook_xsl_ns;
6440   docbook_xsl_ns = import ../data/sgml+xml/stylesheets/xslt/docbook-xsl-ns {
6441     inherit fetchurl stdenv;
6442   };
6444   junicode = composedArgsAndFun (import ../data/fonts/junicode/0.6.15.nix) {
6445     inherit builderDefs fontforge unzip;
6446     inherit (xorg) mkfontdir mkfontscale;
6447   };
6449   freefont_ttf = import ../data/fonts/freefont-ttf {
6450     inherit fetchurl stdenv;
6451   };
6453   liberation_ttf = import ../data/fonts/redhat-liberation-fonts {
6454     inherit fetchurl stdenv;
6455   };
6457   libertine = builderDefsPackage (import ../data/fonts/libertine/2.7.nix) {
6458     inherit fontforge;
6459   };
6460   libertineBin = builderDefsPackage (import ../data/fonts/libertine/2.7.bin.nix) {
6461   };
6463   lmodern = import ../data/fonts/lmodern {
6464     inherit fetchurl stdenv;
6465   };
6467   manpages = import ../data/documentation/man-pages {
6468     inherit fetchurl stdenv;
6469   };
6471   miscfiles = import ../data/misc/miscfiles {
6472     inherit fetchurl stdenv;
6473   };
6475   mph_2b_damase = import ../data/fonts/mph-2b-damase {
6476     inherit fetchurl stdenv unzip;
6477   };
6479   pthreadmanpages = lowPrio (import ../data/documentation/pthread-man-pages {
6480     inherit fetchurl stdenv perl;
6481   });
6483   shared_mime_info = import ../data/misc/shared-mime-info {
6484     inherit fetchurl stdenv pkgconfig gettext
6485       intltool perl perlXMLParser libxml2 glib;
6486   };
6488   stdmanpages = import ../data/documentation/std-man-pages {
6489     inherit fetchurl stdenv;
6490   };
6492   iana_etc = import ../data/misc/iana-etc {
6493     inherit fetchurl stdenv;
6494   };
6496   popplerData = import ../data/misc/poppler-data {
6497     inherit fetchurl stdenv;
6498   };
6500   r3rs = import ../data/documentation/rnrs/r3rs.nix {
6501     inherit fetchurl stdenv texinfo;
6502   };
6504   r4rs = import ../data/documentation/rnrs/r4rs.nix {
6505     inherit fetchurl stdenv texinfo;
6506   };
6508   r5rs = import ../data/documentation/rnrs/r5rs.nix {
6509     inherit fetchurl stdenv texinfo;
6510   };
6512   themes = name: import (../data/misc/themes + ("/" + name + ".nix")) {
6513     inherit fetchurl;
6514   };
6516   terminus_font = import ../data/fonts/terminus-font {
6517     inherit fetchurl stdenv perl;
6518     inherit (xorg) mkfontdir mkfontscale bdftopcf;
6519   };
6521   ttf_bitstream_vera = import ../data/fonts/ttf-bitstream-vera {
6522     inherit fetchurl stdenv;
6523   };
6525   ucsFonts = import ../data/fonts/ucs-fonts {
6526     inherit fetchurl stdenv wrapFonts;
6527   };
6529   unifont = import ../data/fonts/unifont {
6530     inherit debPackage perl;
6531     inherit (xorg) mkfontdir mkfontscale bdftopcf fontutil;
6532   };
6534   vistafonts = import ../data/fonts/vista-fonts {
6535     inherit fetchurl stdenv cabextract;
6536   };
6538   wqy_zenhei = composedArgsAndFun (import ../data/fonts/wqy_zenhei/0.4.23-1.nix) {
6539     inherit builderDefs;
6540   };
6542   xhtml1 = import ../data/sgml+xml/schemas/xml-dtd/xhtml1 {
6543     inherit fetchurl stdenv libxml2;
6544   };
6546   xkeyboard_config = import ../data/misc/xkeyboard-config {
6547     inherit fetchurl stdenv perl perlXMLParser gettext intltool;
6548     inherit (xlibs) xkbcomp;
6549   };
6552   ### APPLICATIONS
6555   aangifte2005 = import ../applications/taxes/aangifte-2005 {
6556     inherit stdenv fetchurl;
6557     inherit (xlibs) libX11 libXext;
6558   };
6560   aangifte2006 = import ../applications/taxes/aangifte-2006 {
6561     inherit stdenv fetchurl;
6562     inherit (xlibs) libX11 libXext;
6563   };
6565   aangifte2007 = import ../applications/taxes/aangifte-2007 {
6566     inherit stdenv fetchurl;
6567     inherit (xlibs) libX11 libXext libSM;
6568   };
6570   aangifte2008 = import ../applications/taxes/aangifte-2008 {
6571     inherit stdenv fetchurl;
6572     inherit (xlibs) libX11 libXext libSM;
6573   };
6575   abcde = import ../applications/audio/abcde {
6576     inherit fetchurl stdenv libcdio cddiscid wget bash vorbisTools
6577             makeWrapper;
6578   };
6580   abiword = import ../applications/office/abiword {
6581     inherit fetchurl stdenv pkgconfig fribidi libpng popt libgsf enchant wv librsvg bzip2;
6582     inherit (gtkLibs) gtk;
6583     inherit (gnome) libglade libgnomecanvas;
6584   };
6586   adobeReader = import ../applications/misc/adobe-reader {
6587     inherit fetchurl stdenv zlib libxml2 cups;
6588     inherit (xlibs) libX11;
6589     inherit (gtkLibs) glib pango atk gtk;
6590   };
6592   amsn = import ../applications/networking/instant-messengers/amsn {
6593     inherit fetchurl stdenv which tcl tk x11;
6594     libstdcpp = gcc33.gcc;
6595   };
6597   ardour = import ../applications/audio/ardour {
6598     inherit fetchurl stdenv lib pkgconfig scons boost redland librdf_raptor
6599       librdf_rasqal jackaudio flac libsamplerate alsaLib libxml2 libxslt
6600       libsndfile libsigcxx libusb cairomm librdf liblo fftw fftwSinglePrec
6601       aubio libmad;
6602     inherit (gtkLibs) glib pango gtk glibmm gtkmm;
6603     inherit (gnome) libgnomecanvas;
6604   };
6606   audacious = import ../applications/audio/audacious/player.nix {
6607     inherit fetchurl stdenv pkgconfig libmowgli libmcs gettext xlibs dbus_glib;
6608     inherit (gnome) libglade;
6609     inherit (gtkLibs) glib gtk;
6610   };
6612   audacious_plugins = import ../applications/audio/audacious/plugins.nix {
6613     inherit fetchurl stdenv pkgconfig audacious dbus_glib gettext
6614       libmad xlibs alsaLib taglib libmpcdec libogg libvorbis
6615       libcdio libcddb libxml2;
6616   };
6618   audacity = import ../applications/audio/audacity {
6619     inherit fetchurl stdenv gettext pkgconfig zlib perl intltool libogg
6620       libvorbis libmad;
6621     inherit (gtkLibs) gtk glib;
6622     inherit wxGTK;
6623   };
6625   aumix = import ../applications/audio/aumix {
6626     inherit fetchurl stdenv ncurses pkgconfig gettext;
6627     inherit (gtkLibs) gtk;
6628     gtkGUI = false;
6629   };
6631   autopanosiftc = import ../applications/graphics/autopanosiftc {
6632     inherit fetchurl stdenv cmake libpng libtiff libjpeg panotools libxml2;
6633   };
6635   avidemux = import ../applications/video/avidemux {
6636     inherit fetchurl stdenv cmake pkgconfig libxml2 qt4 gettext SDL libxslt x264
6637       alsaLib lame faac faad2 libvorbis;
6638     inherit (gtkLibs) gtk;
6639     inherit (xlibs) libXv pixman libpthreadstubs libXau libXdmcp;
6640   };
6642   batik = import ../applications/graphics/batik {
6643     inherit fetchurl stdenv unzip;
6644   };
6646   bazaar = import ../applications/version-management/bazaar {
6647     inherit fetchurl stdenv makeWrapper;
6648     python = pythonFull;
6649   };
6651   bazaarTools = builderDefsPackage (import ../applications/version-management/bazaar/tools.nix) {
6652     inherit bazaar;
6653   };
6655   beast = import ../applications/audio/beast {
6656 # stdenv = overrideGCC stdenv gcc34;
6657     inherit stdenv fetchurl zlib guile pkgconfig intltool libogg libvorbis python libxml2 bash perl gettext;
6658     inherit (gtkLibs) gtk glib;
6659     inherit (gnome) libgnomecanvas libart_lgpl;
6660     inherit automake autoconf;
6661   };
6663   bitlbee = import ../applications/networking/instant-messengers/bitlbee {
6664     inherit fetchurl stdenv gnutls pkgconfig glib;
6665   };
6667   bitlbeeOtr = import ../applications/networking/instant-messengers/bitlbee-otr {
6668     inherit fetchbzr stdenv gnutls pkgconfig libotr libgcrypt
6669       libxslt xmlto docbook_xsl docbook_xml_dtd_42 perl glib;
6670   };
6672   # commented out because it's using the new configuration style proposal which is unstable
6673   #biew = import ../applications/misc/biew {
6674   #  inherit lib stdenv fetchurl ncurses;
6675   #};
6677   # only to be able to compile blender - I couldn't compile the default openal software
6678   # Perhaps this can be removed - don't know which one openal{,soft} is better
6679   freealut_soft = import ../development/libraries/freealut {
6680     inherit fetchurl stdenv;
6681     openal = openalSoft;
6682   };
6684   blender = import ../applications/misc/blender {
6685     inherit cmake mesa gettext freetype SDL libtiff fetchurl glibc scons x11 lib
6686       libjpeg libpng zlib /* smpeg sdl */ python;
6687     inherit (xlibs) inputproto libXi;
6688     freealut = freealut_soft;
6689     openal = openalSoft;
6690     openexr = openexr_1_4_0;
6691     # using gcc43 makes blender segfault when pressing p then esc.
6692     # is this related to the PHP bug? I'm to lazy to try recompilng it without optimizations
6693     stdenv = overrideGCC stdenv gcc42;
6694   };
6696   bmp = import ../applications/audio/bmp {
6697     inherit fetchurl stdenv pkgconfig libogg libvorbis alsaLib id3lib;
6698     inherit (gnome) esound libglade;
6699     inherit (gtkLibs) glib gtk;
6700   };
6702   bmp_plugin_musepack = import ../applications/audio/bmp-plugins/musepack {
6703     inherit fetchurl stdenv pkgconfig bmp libmpcdec taglib;
6704   };
6706   bmp_plugin_wma = import ../applications/audio/bmp-plugins/wma {
6707     inherit fetchurl stdenv pkgconfig bmp;
6708   };
6710   bvi = import ../applications/editors/bvi {
6711     inherit fetchurl stdenv ncurses;
6712   };
6714   calibre = import ../applications/misc/calibre {
6715     inherit stdenv fetchurl libpng imagemagick pkgconfig libjpeg fontconfig podofo
6716       qt4 makeWrapper unrar;
6717     python = python26Full;
6718     pyqt4 = pyqt4_python26;
6719     sip = sip_python26;
6720     pil = pil_python26;
6721     popplerQt4 = popplerQt45;
6722     inherit (python26Packages) mechanize lxml dateutil;
6723   };
6725   carrier = builderDefsPackage (import ../applications/networking/instant-messengers/carrier/2.5.0.nix) {
6726     inherit fetchurl stdenv pkgconfig perl perlXMLParser libxml2 openssl nss
6727       gtkspell aspell gettext ncurses avahi dbus dbus_glib python
6728       libtool automake autoconf;
6729     GStreamer = gst_all.gstreamer;
6730     inherit (gtkLibs) gtk glib;
6731     inherit (gnome) startupnotification GConf ;
6732     inherit (xlibs) libXScrnSaver scrnsaverproto libX11 xproto kbproto;
6733   };
6734   funpidgin = carrier;
6736   cddiscid = import ../applications/audio/cd-discid {
6737     inherit fetchurl stdenv;
6738   };
6740   cdparanoia = cdparanoiaIII;
6742   cdparanoiaIII = import ../applications/audio/cdparanoia {
6743     inherit fetchurl stdenv;
6744   };
6746   cdrtools = import ../applications/misc/cdrtools {
6747     inherit fetchurl stdenv;
6748   };
6750   chatzilla =
6751     xulrunnerWrapper {
6752       launcher = "chatzilla";
6753       application = import ../applications/networking/irc/chatzilla {
6754         inherit fetchurl stdenv unzip;
6755       };
6756     };
6758   chrome = import ../applications/networking/browsers/chromium {
6759     inherit stdenv fetchurl ffmpeg cairo nspr nss fontconfig freetype alsaLib makeWrapper unzip expat zlib bzip2 libpng;
6760     inherit (xlibs) libX11 libXext libXrender libXt ;
6761     inherit (gtkLibs) gtk glib pango atk;
6762     inherit (gnome) GConf;
6763     libjpeg = libjpeg62;
6764   };
6766   chromeWrapper = wrapFirefox chrome "chrome" "";
6769   cinelerra = import ../applications/video/cinelerra {
6770     inherit lib fetchurl sourceFromHead stdenv
6771       automake autoconf libtool
6772       a52dec alsaLib   lame libavc1394 libiec61883 libraw1394 libsndfile
6773       libvorbis libogg libjpeg libtiff freetype mjpegtools x264
6774       gettext faad2 faac libtheora libpng libdv perl nasm e2fsprogs
6775       pkgconfig;
6776       openexr = openexr_1_6_1;
6777     fftw = fftwSinglePrec;
6778     inherit (xorg) libXxf86vm libXv libXi libX11 xextproto;
6779     inherit (gnome) esound;
6780   };
6782   compizBase = (builderDefsPackage (import ../applications/window-managers/compiz/0.8.0.nix)) {
6783     inherit lib stringsWithDeps builderDefs;
6784     inherit fetchurl stdenv pkgconfig libpng mesa perl perlXMLParser libxslt gettext
6785       intltool binutils;
6786     inherit (xorg) libXcomposite libXfixes libXdamage libXrandr
6787       libXinerama libICE libSM libXrender xextproto compositeproto fixesproto
6788       damageproto randrproto xineramaproto renderproto kbproto xproto libX11
6789       libxcb;
6790     inherit (gnome) startupnotification libwnck GConf;
6791     inherit (gtkLibs) gtk;
6792     inherit (gnome) libgnome libgnomeui metacity
6793       glib pango libglade libgtkhtml gtkhtml
6794       libgnomecanvas libgnomeprint
6795       libgnomeprintui gnomepanel;
6796     gnomegtk = gnome.gtk;
6797     inherit librsvg fuse;
6798     inherit dbus dbus_glib;
6799   };
6801   compiz = compizBase.passthru.function (x : x // {
6802     extraConfigureFlags = getConfig ["compiz" "extraConfigureFlags"] [];
6803   });
6805   compizFusion = import ../applications/window-managers/compiz-fusion {
6806     version = getConfig ["compizFusion" "version"] "0.7.8";
6807     inherit compiz;
6808     inherit stringsWithDeps lib builderDefs;
6809     inherit fetchurl stdenv pkgconfig libpng mesa perl perlXMLParser libxslt libxml2;
6810     inherit (xorg) libXcomposite libXfixes libXdamage libXrandr
6811       libXinerama libICE libSM libXrender xextproto;
6812     inherit (gnome) startupnotification libwnck GConf;
6813     inherit (gtkLibs) gtk;
6814     inherit (gnome) libgnome libgnomeui metacity
6815       glib pango libglade libgtkhtml gtkhtml
6816       libgnomecanvas libgnomeprint
6817       libgnomeprintui gnomepanel gnomedesktop;
6818     gnomegtk = gnome.gtk;
6819     inherit librsvg fuse dbus dbus_glib git;
6820     inherit automake autoconf libtool intltool python pyrex gettext;
6821     inherit pygtk pycairo getopt libjpeg glxinfo;
6822     inherit (xorg) xvinfo xdpyinfo;
6823   };
6825   compizExtra = import ../applications/window-managers/compiz/extra.nix {
6826     inherit fetchurl stdenv pkgconfig compiz perl perlXMLParser dbus;
6827     inherit (gnome) GConf;
6828     inherit (gtkLibs) gtk;
6829   };
6831   cinepaint = import ../applications/graphics/cinepaint {
6832     inherit stdenv fetchcvs cmake pkgconfig freetype fontconfig lcms flex libtiff
6833       libjpeg libpng libexif zlib perl mesa perlXMLParser python pygtk gettext
6834       intltool babl gegl automake autoconf libtool;
6835     inherit (xlibs) makedepend libX11 xf86vidmodeproto xineramaproto libXmu
6836       libXext libXpm libXxf86vm;
6837     inherit (gtkLibs) gtk glib;
6838     openexr = openexr_1_6_1;
6839     fltk = fltk11;
6840   };
6842   codeville = builderDefsPackage (import ../applications/version-management/codeville/0.8.0.nix) {
6843     inherit makeWrapper;
6844     python = pythonFull;
6845   };
6847   comical = import ../applications/graphics/comical {
6848     inherit stdenv fetchurl utillinux zlib;
6849     wxGTK = wxGTK26;
6850   };
6852   cuneiform = builderDefsPackage (import ../tools/graphics/cuneiform) {
6853     inherit cmake patchelf;
6854     imagemagick=imagemagick;
6855   };
6857   cvs = import ../applications/version-management/cvs {
6858     inherit fetchurl stdenv nano;
6859   };
6861   cvsps = import ../applications/version-management/cvsps {
6862     inherit fetchurl stdenv cvs zlib;
6863   };
6865   cvs2svn = import ../applications/version-management/cvs2svn {
6866     inherit fetchurl stdenv python makeWrapper;
6867   };
6869   d4x = import ../applications/misc/d4x {
6870     inherit fetchurl stdenv pkgconfig openssl boost;
6871     inherit (gtkLibs) gtk glib;
6872   };
6874   darcs = haskellPackages_ghc6104.darcs;
6876   dia = import ../applications/graphics/dia {
6877     inherit stdenv fetchurl pkgconfig perl perlXMLParser
6878       libxml2 gettext python libxml2Python docbook5 docbook_xsl
6879       libxslt intltool;
6880     inherit (gtkLibs) gtk glib;
6881   };
6883   digikam = import ../applications/graphics/digikam {
6884     inherit stdenv fetchurl exiv2 zlib libjpeg perl libpng expat qt3 cmake;
6885     inherit (kde3) kdelibs;
6886     inherit (xlibs) libXt libXext;
6887   };
6889   djvulibre = import ../applications/misc/djvulibre {
6890     inherit stdenv fetchurl libjpeg libtiff libungif zlib
6891       ghostscript libpng x11 mesa;
6892     qt = if (getConfig ["djvulibre" "qt3Frontend"] true) then qt3 else null;
6893     inherit (xlibs) libX11;
6894   };
6896   djview4 = import ../applications/graphics/djview {
6897     inherit fetchurl stdenv qt4 djvulibre;
6898   };
6900   dmenu = import ../applications/misc/dmenu {
6901     inherit lib fetchurl stdenv;
6902     inherit (xlibs) libX11 libXinerama;
6903   };
6905   dmtx = builderDefsPackage (import ../tools/graphics/dmtx) {
6906     inherit libpng libtiff libjpeg imagemagick librsvg
6907       pkgconfig bzip2 zlib libtool;
6908     inherit (xlibs) libX11;
6909   };
6911   dvdauthor = import ../applications/video/dvdauthor {
6912     inherit fetchurl stdenv freetype libpng fribidi libxml2 libdvdread imagemagick;
6913   };
6915   dwm = import ../applications/window-managers/dwm {
6916     inherit fetchurl stdenv;
6917     inherit (xlibs) libX11 libXinerama;
6918   };
6920   eaglemode = import ../applications/misc/eaglemode {
6921     inherit fetchurl stdenv perl xineLib libjpeg libpng libtiff;
6922     inherit (xlibs) libX11;
6923   };
6925   eclipse = import ../applications/editors/eclipse {
6926     inherit stdenv fetchurl patchelf makeDesktopItem makeWrapper freetype fontconfig jre zlib;
6927     # GTK 2.18 gives glitches such as mouse clicks on buttons not
6928     # working correctly.
6929     inherit (gtkLibs216) glib gtk;
6930     inherit (xlibs) libX11 libXext libXrender libXtst;
6931   };
6933   ed = import ../applications/editors/ed {
6934     inherit fetchurl stdenv;
6935   };
6937   elinks = import ../applications/networking/browsers/elinks {
6938     inherit stdenv fetchurl python perl ncurses x11 zlib openssl spidermonkey
6939       guile bzip2;
6940   };
6942   elvis = import ../applications/editors/elvis {
6943     inherit fetchurl stdenv ncurses;
6944   };
6946   emacs = emacs23;
6948   emacs22 = import ../applications/editors/emacs-22 {
6949     inherit fetchurl stdenv ncurses pkgconfig x11 Xaw3d;
6950     inherit (xlibs) libXaw libXpm;
6951     inherit (gtkLibs) gtk;
6952     xaw3dSupport = getPkgConfig "emacs" "xaw3dSupport" false;
6953     gtkGUI = getPkgConfig "emacs" "gtkSupport" true;
6954   };
6956   emacs23 = import ../applications/editors/emacs-23 {
6957     inherit fetchurl stdenv ncurses pkgconfig x11 Xaw3d
6958       libpng libjpeg libungif libtiff texinfo dbus;
6959     inherit (xlibs) libXaw libXpm libXft;
6960     inherit (gtkLibs) gtk;
6961     xawSupport = stdenv.isDarwin || getPkgConfig "emacs" "xawSupport" false;
6962     xaw3dSupport = getPkgConfig "emacs" "xaw3dSupport" false;
6963     gtkGUI = getPkgConfig "emacs" "gtkSupport" true;
6964     xftSupport = getPkgConfig "emacs" "xftSupport" true;
6965     dbusSupport = getPkgConfig "emacs" "dbusSupport" true;
6966   };
6968   emacsSnapshot = lowPrio (import ../applications/editors/emacs-snapshot {
6969     inherit fetchcvs stdenv ncurses pkgconfig x11 Xaw3d
6970       libpng libjpeg libungif libtiff texinfo dbus
6971       autoconf automake;
6972     inherit (xlibs) libXaw libXpm libXft;
6973     inherit (gtkLibs) gtk;
6974     xawSupport = getPkgConfig "emacs" "xawSupport" false;
6975     xaw3dSupport = getPkgConfig "emacs" "xaw3dSupport" false;
6976     gtkGUI = getPkgConfig "emacs" "gtkSupport" true;
6977     xftSupport = getPkgConfig "emacs" "xftSupport" true;
6978     dbusSupport = getPkgConfig "emacs" "dbusSupport" true;
6979   });
6981   emacsPackages = emacs: recurseIntoAttrs (rec {
6982     bbdb = import ../applications/editors/emacs-modes/bbdb {
6983       inherit fetchurl stdenv emacs texinfo ctags;
6984     };
6986     cedet = import ../applications/editors/emacs-modes/cedet {
6987       inherit fetchurl stdenv emacs;
6988     };
6990     cua = import ../applications/editors/emacs-modes/cua {
6991       inherit fetchurl stdenv;
6992     };
6994     ecb = import ../applications/editors/emacs-modes/ecb {
6995       inherit fetchurl stdenv emacs cedet jdee texinfo;
6996     };
6998     emacsSessionManagement = import ../applications/editors/emacs-modes/session-management-for-emacs {
6999       inherit fetchurl stdenv emacs;
7000     };
7002     emacsw3m = import ../applications/editors/emacs-modes/emacs-w3m {
7003       inherit fetchcvs stdenv emacs w3m imagemagick texinfo autoconf;
7004     };
7006     emms = import ../applications/editors/emacs-modes/emms {
7007       inherit fetchurl stdenv emacs texinfo mpg321 vorbisTools taglib
7008         alsaUtils;
7009     };
7011     jdee = import ../applications/editors/emacs-modes/jdee {
7012       # Requires Emacs 23, for `avl-tree'.
7013       inherit fetchsvn stdenv cedet ant emacs;
7014     };
7016     stratego = import ../applications/editors/emacs-modes/stratego {
7017       inherit fetchsvn stdenv;
7018     };
7020     haskellMode = import ../applications/editors/emacs-modes/haskell {
7021       inherit fetchurl stdenv emacs;
7022     };
7024     magit = import ../applications/editors/emacs-modes/magit {
7025       inherit fetchurl stdenv emacs texinfo;
7026     };
7028     maudeMode = import ../applications/editors/emacs-modes/maude {
7029       inherit fetchurl stdenv emacs;
7030     };
7032     nxml = import ../applications/editors/emacs-modes/nxml {
7033       inherit fetchurl stdenv;
7034     };
7036     prologMode = import ../applications/editors/emacs-modes/prolog {
7037       inherit fetchurl stdenv;
7038     };
7040     proofgeneral = import ../applications/editors/emacs-modes/proofgeneral {
7041        inherit stdenv fetchurl emacs perl;
7042     };
7044     quack = import ../applications/editors/emacs-modes/quack {
7045       inherit fetchurl stdenv emacs;
7046     };
7048     remember = import ../applications/editors/emacs-modes/remember {
7049       inherit fetchurl stdenv texinfo emacs bbdb;
7050     };
7052     scalaMode = import ../applications/editors/emacs-modes/scala-mode {
7053       inherit fetchsvn stdenv emacs;
7054     };
7055   });
7057   emacs22Packages = emacsPackages emacs22;
7058   emacs23Packages = emacsPackages emacs23;
7060   epdfview = import ../applications/misc/epdfview {
7061     inherit stdenv fetchurl pkgconfig poppler;
7062     inherit (gtkLibs) gtk;
7063   };
7065   evince = makeOverridable (import ../applications/misc/evince) {
7066     inherit fetchurl stdenv perl perlXMLParser gettext intltool
7067       pkgconfig poppler libspectre djvulibre libxslt
7068       dbus dbus_glib shared_mime_info which makeWrapper;
7069     inherit (gnome) gnomedocutils gnomeicontheme libgnome
7070       libgnomeui libglade glib gtk scrollkeeper gnome_keyring;
7071   };
7073   exrdisplay = import ../applications/graphics/exrdisplay {
7074     inherit fetchurl stdenv pkgconfig mesa which openexr_ctl;
7075     fltk = fltk20;
7076     openexr = openexr_1_6_1;
7077   };
7079   fbpanel = composedArgsAndFun (import ../applications/window-managers/fbpanel/4.12.nix) {
7080     inherit fetchurl stdenv builderDefs pkgconfig libpng libjpeg libtiff librsvg;
7081     inherit (gtkLibs) gtk;
7082     inherit (xlibs) libX11 libXmu libXpm;
7083   };
7085   fetchmail = import ../applications/misc/fetchmail {
7086     inherit stdenv fetchurl openssl;
7087   };
7089   grip = import ../applications/misc/grip {
7090     inherit fetchurl stdenv lib grip pkgconfig curl cdparanoia libid3tag;
7091     inherit (gtkLibs) gtk glib;
7092     inherit (gnome) libgnome libgnomeui vte;
7093   };
7095   gwenview = import ../applications/graphics/gwenview {
7096     inherit stdenv fetchurl exiv2 zlib libjpeg perl libpng expat qt3;
7097     inherit (kde3) kdelibs;
7098     inherit (xlibs) libXt libXext;
7099   };
7101   wavesurfer = import ../applications/misc/audio/wavesurfer {
7102     inherit fetchurl stdenv tcl tk snack makeWrapper;
7103   };
7105   wireshark = import ../applications/networking/sniffers/wireshark {
7106     inherit fetchurl stdenv perl pkgconfig libpcap flex bison;
7107     inherit (gtkLibs) gtk;
7108   };
7110   fbida = builderDefsPackage ../applications/graphics/fbida {
7111     inherit libjpeg libexif giflib libtiff libpng
7112       imagemagick ghostscript which curl pkgconfig
7113       freetype fontconfig;
7114   };
7116   fdupes = import ../tools/misc/fdupes {
7117     inherit fetchurl stdenv;
7118   };
7120   feh = import ../applications/graphics/feh {
7121     inherit fetchurl stdenv x11 imlib2 libjpeg libpng giblib;
7122   };
7124   firefox = firefox35;
7126   firefoxWrapper = firefox35Wrapper;
7128   firefox35Pkgs = import ../applications/networking/browsers/firefox/3.5.nix {
7129     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo
7130       python dbus dbus_glib freetype fontconfig bzip2 xlibs file alsaLib
7131       nspr nss;
7132     inherit (gtkLibs) gtk pango;
7133     inherit (gnome) libIDL;
7134   };
7136   firefox35 = firefox35Pkgs.firefox;
7137   xulrunner35 = firefox35Pkgs.xulrunner;
7138   firefox35Wrapper = wrapFirefox firefox35 "firefox" "";
7140   firefox36Pkgs = import ../applications/networking/browsers/firefox/3.6.nix {
7141     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo
7142       python dbus dbus_glib freetype fontconfig bzip2 xlibs file alsaLib
7143       nspr nss libnotify;
7144     inherit (gtkLibs) gtk pango;
7145     inherit (gnome) libIDL;
7146   };
7148   firefox36Wrapper = lowPrio (wrapFirefox firefox36Pkgs.firefox "firefox" "");
7150   flac = import ../applications/audio/flac {
7151     inherit fetchurl stdenv libogg;
7152   };
7154   flashplayer = flashplayer10;
7156   flashplayer9 = (
7157     import ../applications/networking/browsers/mozilla-plugins/flashplayer-9 {
7158       inherit fetchurl stdenv zlib alsaLib nss nspr fontconfig freetype expat;
7159       inherit (xlibs) libX11 libXext libXrender libXt;
7160       inherit (gtkLibs) gtk glib pango atk;
7161     });
7163   flashplayer10 = (
7164     import ../applications/networking/browsers/mozilla-plugins/flashplayer-10 {
7165       inherit fetchurl stdenv zlib alsaLib curl nss nspr fontconfig freetype expat;
7166       inherit (xlibs) libX11 libXext libXrender libXt ;
7167       inherit (gtkLibs) gtk glib pango atk;
7168       debug = getConfig ["flashplayer" "debug"] false;
7169     });
7171   flite = import ../applications/misc/flite {
7172     inherit fetchurl stdenv;
7173   };
7175   freemind = import ../applications/misc/freemind {
7176     inherit fetchurl stdenv ant coreutils gnugrep;
7177     jdk = jdk;
7178     jre = jdk;
7179   };
7181   freepv = import ../applications/graphics/freepv {
7182     inherit fetchurl stdenv mesa freeglut libjpeg zlib cmake libxml2 libpng;
7183     inherit (xlibs) libX11 libXxf86vm;
7184   };
7186   xfontsel = import ../applications/misc/xfontsel {
7187     inherit fetchurl stdenv pkgconfig;
7188     inherit (xlibs) libX11 libXaw;
7189   };
7190   xlsfonts = import ../applications/misc/xlsfonts {
7191     inherit fetchurl stdenv pkgconfig;
7192     inherit (xlibs) libX11;
7193   };
7195   fspot = import ../applications/graphics/f-spot {
7196     inherit fetchurl stdenv perl perlXMLParser pkgconfig mono
7197             libexif libjpeg sqlite lcms libgphoto2 monoDLLFixer;
7198     inherit (gnome) libgnome libgnomeui;
7199     gtksharp = gtksharp1;
7200   };
7202   gimp = import ../applications/graphics/gimp {
7203     inherit fetchurl stdenv pkgconfig freetype fontconfig
7204       libtiff libjpeg libpng libexif zlib perl perlXMLParser
7205       python pygtk gettext xlibs intltool babl gegl;
7206     inherit (gnome) gtk libart_lgpl;
7207   };
7209   gimpPlugins = import ../applications/graphics/gimp/plugins { inherit pkgs gimp; };
7211   gitAndTools = recurseIntoAttrs (import ../applications/version-management/git-and-tools {
7212     inherit pkgs;
7213   });
7214   git = gitAndTools.git;
7215   gitFull = gitAndTools.gitFull;
7217   gnucash = import ../applications/office/gnucash {
7218     inherit fetchurl stdenv pkgconfig libxml2 goffice enchant
7219       gettext intltool perl guile slibGuile swig isocodes bzip2 makeWrapper;
7220     inherit (gnome) gtk glib libglade libgnomeui libgtkhtml gtkhtml
7221       libgnomeprint;
7222     gconf = gnome.GConf;
7223   };
7225   qcad = import ../applications/misc/qcad {
7226     inherit fetchurl stdenv qt3 libpng;
7227     inherit (xlibs) libXext libX11;
7228   };
7230   qjackctl = import ../applications/audio/qjackctl {
7231     inherit fetchurl stdenv alsaLib jackaudio;
7232     qt4 = qt4;
7233   };
7235   gkrellm = import ../applications/misc/gkrellm {
7236     inherit fetchurl stdenv gettext pkgconfig;
7237     inherit (gtkLibs) glib gtk;
7238     inherit (xlibs) libX11 libICE libSM;
7239   };
7241   gnash = import ../applications/video/gnash {
7242     inherit fetchurl stdenv SDL SDL_mixer libogg libxml2 libjpeg mesa libpng
7243             boost freetype agg dbus curl pkgconfig x11 libtool lib libungif
7244             gettext makeWrapper ming dejagnu python;
7245     inherit (gtkLibs) glib gtk;
7246     inherit (gst_all) gstreamer gstPluginsBase gstFfmpeg;
7247   };
7249   gnome_mplayer = import ../applications/video/gnome-mplayer {
7250     inherit fetchurl stdenv pkgconfig dbus dbus_glib;
7251     inherit (gtkLibs) glib gtk;
7252     inherit (gnome) GConf;
7253   };
7255   gnunet = import ../applications/networking/p2p/gnunet {
7256     inherit fetchurl stdenv libextractor libmicrohttpd libgcrypt
7257       gmp curl libtool guile adns sqlite gettext zlib pkgconfig
7258       libxml2 ncurses findutils makeWrapper;
7259     inherit (gnome) gtk libglade;
7260     gtkSupport = getConfig [ "gnunet" "gtkSupport" ] true;
7261   };
7263   gocr = composedArgsAndFun (import ../applications/graphics/gocr/0.44.nix) {
7264     inherit builderDefs fetchurl stdenv;
7265   };
7267   gphoto2 = import ../applications/misc/gphoto2 {
7268     inherit fetchurl stdenv pkgconfig libgphoto2 libexif popt gettext
7269       libjpeg readline libtool;
7270   };
7272   gphoto2fs = builderDefsPackage ../applications/misc/gphoto2/gphotofs.nix {
7273     inherit libgphoto2 fuse pkgconfig glib;
7274   };
7276   gtkpod = import ../applications/audio/gtkpod {
7277     inherit stdenv fetchurl pkgconfig libgpod gettext perl perlXMLParser flex libid3tag libvorbis;
7278     inherit (gtkLibs) gtk glib;
7279     inherit (gnome) libglade;
7280   };
7282   qrdecode = builderDefsPackage (import ../tools/graphics/qrdecode) {
7283     inherit libpng libcv;
7284   };
7286   qrencode = builderDefsPackage (import ../tools/graphics/qrencode) {
7287     inherit libpng pkgconfig;
7288   };
7290   gecko_mediaplayer = import ../applications/networking/browsers/mozilla-plugins/gecko-mediaplayer {
7291     inherit fetchurl stdenv pkgconfig dbus dbus_glib x11 gnome_mplayer MPlayer glib;
7292     inherit (gnome) GConf;
7293     browser = firefox35;
7294   };
7296   geeqie = import ../applications/graphics/geeqie {
7297     inherit fetchurl stdenv pkgconfig libpng lcms exiv2
7298       intltool gettext;
7299     inherit (gtkLibs) gtk;
7300   };
7302   gqview = import ../applications/graphics/gqview {
7303     inherit fetchurl stdenv pkgconfig libpng;
7304     inherit (gtkLibs) gtk;
7305   };
7307   googleearth = import ../applications/misc/googleearth {
7308     inherit stdenv fetchurl glibc mesa freetype zlib glib;
7309     inherit (xlibs) libSM libICE libXi libXv libXrender libXrandr libXfixes
7310       libXcursor libXinerama libXext libX11;
7311   };
7313   gpsbabel = import ../applications/misc/gpsbabel {
7314     inherit fetchurl stdenv zlib expat;
7315   };
7317   gpscorrelate = import ../applications/misc/gpscorrelate {
7318     inherit fetchurl stdenv pkgconfig exiv2 libxml2
7319       libxslt docbook_xsl docbook_xml_dtd_42;
7320     inherit (gtkLibs) gtk;
7321   };
7323   gpsd = import ../servers/gpsd {
7324     inherit fetchurl stdenv pkgconfig dbus dbus_glib
7325       ncurses makeWrapper libxslt xmlto;
7326     inherit (xlibs) libX11 libXt libXpm libXaw libXext;
7328     # We need a Python with NCurses bindings.
7329     python = pythonFull;
7330   };
7332   gv = import ../applications/misc/gv {
7333     inherit fetchurl stdenv Xaw3d ghostscriptX;
7334   };
7336   hello = makeOverridable (import ../applications/misc/hello/ex-2) {
7337     inherit fetchurl stdenv;
7338   };
7340   homebank = import ../applications/office/homebank {
7341     inherit fetchurl stdenv pkgconfig libofx intltool;
7342     inherit (gtkLibs) gtk;
7343   };
7345   hugin = import ../applications/graphics/hugin {
7346     inherit fetchurl stdenv cmake panotools libtiff libpng boost pkgconfig
7347       exiv2 gettext ilmbase enblendenfuse autopanosiftc mesa freeglut
7348       glew;
7349     inherit wxGTK;
7350     inherit (xlibs) libXi libXmu;
7351     openexr = openexr_1_6_1;
7352   };
7354   i810switch = import ../applications/misc/i810 {
7355     inherit fetchurl stdenv pciutils;
7356   };
7358   icecat3 = lowPrio (import ../applications/networking/browsers/icecat-3 {
7359     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo
7360       python dbus dbus_glib freetype fontconfig bzip2 xlibs alsaLib libnotify
7361       wirelesstools;
7362     inherit (gnome) libIDL libgnomeui gnomevfs gtk pango;
7363     inherit (pythonPackages) ply;
7364   });
7366   icecatXulrunner3 = lowPrio (import ../applications/networking/browsers/icecat-3 {
7367     application = "xulrunner";
7368     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo
7369       python dbus dbus_glib freetype fontconfig bzip2 xlibs alsaLib libnotify
7370       wirelesstools;
7371     inherit (gnome) libIDL libgnomeui gnomevfs gtk pango;
7372     inherit (pythonPackages) ply;
7373   });
7375   icecat3Xul =
7376     (symlinkJoin "icecat-with-xulrunner-${icecat3.version}"
7377        [ icecat3 icecatXulrunner3 ])
7378     // { inherit (icecat3) gtk isFirefox3Like meta; };
7380   icecatWrapper = wrapFirefox icecat3Xul "icecat" "";
7382   icewm = import ../applications/window-managers/icewm {
7383     inherit fetchurl stdenv gettext libjpeg libtiff libungif libpng imlib xlibs;
7384   };
7386   ikiwiki = makeOverridable (import ../applications/misc/ikiwiki) {
7387     inherit fetchurl stdenv perl gettext makeWrapper lib;
7388     inherit (perlPackages) TextMarkdown URI HTMLParser HTMLScrubber
7389       HTMLTemplate TimeDate CGISession DBFile CGIFormBuilder;
7390     inherit git; # The RCS should be optional
7391     monotone = null;
7392     extraUtils = [];
7393   };
7395   imagemagick = import ../applications/graphics/ImageMagick {
7396     inherit stdenv fetchurl bzip2 freetype graphviz ghostscript
7397       libjpeg libpng libtiff libxml2 zlib libtool;
7398     inherit (xlibs) libX11;
7399   };
7401   imagemagickBig = import ../applications/graphics/ImageMagick {
7402     inherit stdenv fetchurl bzip2 freetype graphviz ghostscript
7403       libjpeg libpng libtiff libxml2 zlib tetex librsvg libtool;
7404     inherit (xlibs) libX11;
7405   };
7407   # Impressive, formerly known as "KeyJNote".
7408   impressive = import ../applications/office/impressive {
7409     inherit fetchurl stdenv xpdf pil pyopengl pygame makeWrapper lib python;
7411     # XXX These are the PyOpenGL dependencies, which we need here.
7412     inherit setuptools mesa freeglut;
7413   };
7415   inkscape = import ../applications/graphics/inkscape {
7416     inherit fetchurl stdenv perl perlXMLParser pkgconfig zlib popt
7417       libxml2 libxslt libpng boehmgc libsigcxx lcms boost gettext
7418       cairomm python pyxml makeWrapper intltool gsl;
7419     inherit (pythonPackages) lxml;
7420     inherit (gtkLibs) gtk glib glibmm gtkmm;
7421     inherit (xlibs) libXft;
7422   };
7424   ion3 = import ../applications/window-managers/ion-3 {
7425     inherit fetchurl stdenv x11 gettext groff;
7426     lua = lua5;
7427   };
7429   iptraf = import ../applications/networking/iptraf {
7430     inherit fetchurl stdenv ncurses;
7431   };
7433   irssi = import ../applications/networking/irc/irssi {
7434     inherit stdenv fetchurl pkgconfig ncurses openssl glib;
7435   };
7437   jackmeter = import ../applications/audio/jackmeter {
7438     inherit fetchurl stdenv lib jackaudio pkgconfig;
7439   };
7441   jedit = import ../applications/editors/jedit {
7442     inherit fetchurl stdenv ant;
7443   };
7445   jigdo = import ../applications/misc/jigdo {
7446     inherit fetchurl stdenv db45 libwpd bzip2;
7447     inherit (gtkLibs) gtk;
7448   };
7450   joe = import ../applications/editors/joe {
7451     inherit stdenv fetchurl;
7452   };
7454   jwm = import ../applications/window-managers/jwm {
7455     inherit fetchurl stdenv;
7456     inherit (xlibs) libX11 libXext libXinerama libXpm libXft;
7457   };
7459   k3b = import ../applications/misc/k3b {
7460     inherit stdenv fetchurl kdelibs x11 zlib libpng libjpeg perl qt3;
7461   };
7463   kbasket = import ../applications/misc/kbasket {
7464     inherit fetchurl kdelibs x11 zlib libpng libjpeg
7465       perl qt3 gpgme libgpgerror;
7466     stdenv = overrideGCC stdenv gcc43;
7467   };
7469   kermit = import ../tools/misc/kermit {
7470     inherit fetchurl stdenv ncurses;
7471   };
7473   kino = import ../applications/video/kino {
7474     inherit fetchurl stdenv pkgconfig libxml2 perl perlXMLParser
7475       libdv libraw1394 libavc1394 libiec61883 x11 gettext cairo; /* libavformat */
7476     inherit libsamplerate ffmpeg;
7477     inherit (gnome) libglade gtk glib;
7478     inherit (xlibs) libXv libX11;
7479     inherit (gtkLibs) pango;
7480     # #  optional
7481     #  inherit ffmpeg2theora sox, vorbis-tools lame mjpegtools dvdauthor 'Q'dvdauthor growisofs mencoder;
7482   };
7484   kile = import ../applications/editors/kile {
7485     inherit stdenv fetchurl perl arts kdelibs zlib libpng libjpeg freetype expat;
7486     inherit (xlibs) libX11 libXt libXext libXrender libXft;
7487     qt = qt3;
7488   };
7490   konversation = import ../applications/networking/irc/konversation {
7491     inherit fetchurl stdenv perl arts kdelibs zlib libpng libjpeg expat;
7492     inherit (xlibs) libX11 libXt libXext libXrender libXft;
7493     qt = qt3;
7494   };
7496   kphone = import ../applications/networking/kphone {
7497     inherit fetchurl lib autoconf automake libtool pkgconfig openssl libpng alsaLib;
7498     qt = qt3;
7499     inherit (xlibs) libX11 libXext libXt libICE libSM;
7500     stdenv = overrideGCC stdenv gcc42; # I'm to lazy to clean up header files
7501   };
7503   kuickshow = import ../applications/graphics/kuickshow {
7504     inherit fetchurl stdenv kdelibs arts libpng libjpeg libtiff libungif imlib expat perl;
7505     inherit (xlibs) libX11 libXext libSM;
7506     qt = qt3;
7507   };
7509   lame = import ../applications/audio/lame {
7510     inherit fetchurl stdenv;
7511   };
7513   ladspaH = import ../applications/audio/ladspa-plugins/ladspah.nix {
7514     inherit fetchurl stdenv builderDefs stringsWithDeps;
7515   };
7517   ladspaPlugins = import ../applications/audio/ladspa-plugins {
7518     inherit fetchurl stdenv builderDefs stringsWithDeps fftw ladspaH pkgconfig;
7519   };
7521   ldcpp = composedArgsAndFun (import ../applications/networking/p2p/ldcpp/1.0.3.nix) {
7522     inherit builderDefs scons pkgconfig bzip2 openssl;
7523     inherit (gtkLibs) gtk;
7524     inherit (gnome) libglade;
7525     inherit (xlibs) libX11;
7526   };
7528   links = import ../applications/networking/browsers/links {
7529     inherit fetchurl stdenv;
7530   };
7532   ledger = import ../applications/office/ledger {
7533     inherit stdenv fetchurl emacs gmp pcre;
7534   };
7536   links2 = (builderDefsPackage ../applications/networking/browsers/links2) {
7537     inherit fetchurl stdenv bzip2 zlib libjpeg libpng libtiff
7538       gpm openssl SDL SDL_image SDL_net pkgconfig;
7539     inherit (xlibs) libX11 libXau xproto libXt;
7540   };
7542   lynx = import ../applications/networking/browsers/lynx {
7543     inherit fetchurl stdenv ncurses openssl;
7544   };
7546   lyx = import ../applications/misc/lyx {
7547    inherit fetchurl stdenv texLive python;
7548    qt = qt4;
7549   };
7551   mercurial = import ../applications/version-management/mercurial {
7552     inherit fetchurl stdenv makeWrapper getConfig tk;
7553     guiSupport = getConfig ["mercurial" "guiSupport"] false; # for hgk (gitk gui for hg)
7554     python = # allow cloning sources from https servers.
7555       if getConfig ["mercurial" "httpsSupport"] true
7556       then pythonFull
7557       else pythonBase;
7558   };
7560   meshlab = import ../applications/graphics/meshlab {
7561     inherit fetchurl stdenv bzip2 lib3ds levmar muparser unzip;
7562     qt = qt4;
7563   };
7565   midori = builderDefsPackage (import ../applications/networking/browsers/midori) {
7566     inherit imagemagick intltool python pkgconfig webkit libxml2
7567       which gettext makeWrapper file libidn sqlite docutils libnotify;
7568     inherit (gtkLibs) gtk glib;
7569     inherit (gnome28) gtksourceview libsoup;
7570   };
7572   minicom = import ../tools/misc/minicom {
7573     inherit fetchurl stdenv ncurses;
7574   };
7576   mmex = import ../applications/office/mmex {
7577     inherit fetchsvn stdenv wxGTK;
7578   };
7580   monodevelop = import ../applications/editors/monodevelop {
7581     inherit fetchurl stdenv file mono gtksourceviewsharp
7582             gtkmozembedsharp monodoc perl perlXMLParser pkgconfig;
7583     inherit (gnome) gnomevfs libbonobo libglade libgnome GConf glib gtk;
7584     mozilla = firefox;
7585     gtksharp = gtksharp2;
7586   };
7588   monodoc = import ../applications/editors/monodoc {
7589     inherit fetchurl stdenv mono pkgconfig;
7590     gtksharp = gtksharp1;
7591   };
7593   monotone = import ../applications/version-management/monotone {
7594     inherit stdenv fetchurl boost zlib botan libidn pcre
7595       sqlite lib perl;
7596     lua = lua5;
7597   };
7599   monotoneViz = builderDefsPackage (import ../applications/version-management/monotone-viz/mtn-head.nix) {
7600     inherit ocaml lablgtk graphviz pkgconfig autoconf automake libtool;
7601     inherit (gnome) gtk libgnomecanvas glib;
7602   };
7604   mozilla = import ../applications/networking/browsers/mozilla {
7605     inherit fetchurl pkgconfig stdenv perl zip;
7606     inherit (gtkLibs) gtk;
7607     inherit (gnome) libIDL;
7608     inherit (xlibs) libXi;
7609   };
7611   mozplugger = builderDefsPackage (import ../applications/networking/browsers/mozilla-plugins/mozplugger) {
7612     inherit firefox;
7613     inherit (xlibs) libX11 xproto;
7614   };
7616   mpc123 = import ../applications/audio/mpc123 {
7617     inherit stdenv fetchurl gettext libao libmpcdec;
7618   };
7620   mpg321 = import ../applications/audio/mpg321 {
7621     inherit stdenv fetchurl libao libmad libid3tag zlib;
7622   };
7624   MPlayer = import ../applications/video/MPlayer {
7625     inherit fetchurl stdenv freetype x11 zlib libtheora libcaca freefont_ttf libdvdnav
7626       cdparanoia mesa pkgconfig unzip amrnb amrwb;
7627     inherit (xlibs) libX11 libXv libXinerama libXrandr;
7628     alsaSupport = true;
7629     alsa = alsaLib;
7630     theoraSupport = true;
7631     cacaSupport = true;
7632     xineramaSupport = true;
7633     randrSupport = true;
7634     cddaSupport = true;
7635     amrSupport = getConfig [ "MPlayer" "amr" ] false;
7636   };
7638   MPlayerPlugin = browser:
7639     import ../applications/networking/browsers/mozilla-plugins/mplayerplug-in {
7640       inherit browser;
7641       inherit fetchurl stdenv pkgconfig gettext;
7642       inherit (xlibs) libXpm;
7643       # !!! should depend on MPlayer
7644     };
7646   MPlayerTrunk = import ../applications/video/MPlayer/trunk.nix {
7647     inherit fetchurl sourceFromHead stdenv freetype x11 zlib libtheora libcaca
7648       freefont_ttf libdvdnav cdparanoia mesa pkgconfig jackaudio;
7649     inherit (xlibs) libX11 libXv libXinerama libXrandr;
7650     alsaSupport = true;
7651     alsa = alsaLib;
7652     theoraSupport = true;
7653     cacaSupport = true;
7654     xineramaSupport = true;
7655     randrSupport = true;
7656     cddaSupport = true;
7657   };
7659   mrxvt = import ../applications/misc/mrxvt {
7660     inherit lib fetchurl stdenv freetype pkgconfig which;
7661     inherit (xlibs) libXaw xproto libXt libX11 libSM libICE libXft
7662       libXi inputproto;
7663   };
7665   multisync = import ../applications/misc/multisync {
7666     inherit fetchurl stdenv autoconf automake libtool pkgconfig;
7667     inherit (gnome) gtk glib ORBit2 libbonobo libgnomeui GConf;
7668   };
7670   mutt = import ../applications/networking/mailreaders/mutt {
7671     inherit fetchurl stdenv ncurses which openssl gdbm perl;
7672   };
7674   msmtp = import ../applications/networking/msmtp {
7675     inherit fetchurl stdenv;
7676   };
7678   mythtv = import ../applications/video/mythtv {
7679     inherit fetchurl stdenv which x11 xlibs lame zlib mesa freetype perl alsaLib;
7680     qt3 = qt3mysql;
7681   };
7683   nano = import ../applications/editors/nano {
7684     inherit fetchurl stdenv ncurses gettext;
7685   };
7687   nedit = import ../applications/editors/nedit {
7688       inherit fetchurl stdenv x11;
7689       inherit (xlibs) libXpm;
7690       motif = lesstif;
7691     };
7693   netsurfBrowser = netsurf.browser;
7694   netsurf = recurseIntoAttrs (import ../applications/networking/browsers/netsurf { inherit pkgs; });
7696   nvi = import ../applications/editors/nvi {
7697     inherit fetchurl stdenv ncurses;
7698   };
7700   openoffice = import ../applications/office/openoffice {
7701     inherit fetchurl stdenv pam python tcsh libxslt perl zlib libjpeg
7702       expat pkgconfig freetype fontconfig libwpd libxml2 db4 sablotron
7703       curl libsndfile flex zip unzip libmspack getopt file neon cairo
7704       which icu jdk ant cups openssl bison boost gperf cppunit;
7705     inherit (xlibs) libXaw libXext libX11 libXtst libXi libXinerama;
7706     inherit (gtkLibs) gtk;
7707     inherit (perlPackages) ArchiveZip CompressZlib;
7708     inherit (gnome) GConf ORBit2;
7709   };
7711   opera = import ../applications/networking/browsers/opera {
7712     inherit fetchurl zlib glibc stdenv makeDesktopItem;
7713     inherit (xlibs) libX11 libSM libICE libXt libXext;
7714     qt = qt3;
7715   };
7717   pan = import ../applications/networking/newsreaders/pan {
7718     inherit fetchurl stdenv pkgconfig perl pcre gmime gettext;
7719     inherit (gtkLibs) gtk;
7720     spellChecking = false;
7721   };
7723   panotools = import ../applications/graphics/panotools {
7724     inherit stdenv fetchsvn libpng libjpeg libtiff automake libtool autoconf;
7725   };
7727   pavucontrol = import ../applications/audio/pavucontrol {
7728     inherit fetchurl stdenv pkgconfig pulseaudio libsigcxx
7729       libcanberra intltool gettext;
7730     inherit (gtkLibs) gtkmm;
7731     inherit (gnome) libglademm;
7732   };
7734   paraview = import ../applications/graphics/paraview {
7735     inherit fetchurl stdenv cmake qt4;
7736   };
7738   partitionManager = import ../tools/misc/partition-manager {
7739     inherit fetchurl stdenv lib cmake pkgconfig gettext parted libuuid perl;
7740     kde = kde43;
7741     qt = qt4;
7742   };
7744   pidgin = import ../applications/networking/instant-messengers/pidgin {
7745     inherit fetchurl stdenv pkgconfig perl perlXMLParser libxml2 nss nspr farsight2 python
7746       gtkspell aspell gettext ncurses avahi dbus dbus_glib lib intltool libidn;
7747     openssl = if (getConfig ["pidgin" "openssl"] true) then openssl else null;
7748     gnutls = if (getConfig ["pidgin" "gnutls"] false) then gnutls else null;
7749     GStreamer = gst_all.gstreamer;
7750     inherit (gtkLibs) gtk;
7751     inherit (gnome) startupnotification;
7752     inherit (xlibs) libXScrnSaver;
7753     inherit (gst_all) gstPluginsBase;
7754   };
7756   pidginlatex = composedArgsAndFun (import ../applications/networking/instant-messengers/pidgin-plugins/pidgin-latex) {
7757     inherit fetchurl stdenv pkgconfig ghostscript pidgin texLive;
7758     imagemagick = imagemagickBig;
7759     inherit (gtkLibs) glib gtk;
7760   };
7762   pidginlatexSF = builderDefsPackage
7763     (import ../applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix)
7764     {
7765       inherit pkgconfig pidgin texLive imagemagick which;
7766       inherit (gtkLibs) glib gtk;
7767     };
7769   pidginotr = import ../applications/networking/instant-messengers/pidgin-plugins/otr {
7770     inherit fetchurl stdenv libotr pidgin;
7771   };
7773   pinfo = import ../applications/misc/pinfo {
7774     inherit fetchurl stdenv ncurses readline;
7775   };
7777   pqiv = import ../applications/graphics/pqiv {
7778     inherit fetchurl stdenv getopt which pkgconfig;
7779     inherit (gtkLibs) gtk;
7780   };
7782   # perhaps there are better apps for this task? It's how I had configured my preivous system.
7783   # And I don't want to rewrite all rules
7784   procmail = import ../applications/misc/procmail {
7785     inherit fetchurl stdenv autoconf;
7786   };
7788   pstree = import ../applications/misc/pstree {
7789     inherit stdenv fetchurl;
7790   };
7792   pythonmagick = import ../applications/graphics/PythonMagick {
7793     inherit fetchurl stdenv pkgconfig imagemagick boost python;
7794   };
7796   qemu = import ../applications/virtualization/qemu/0.12.1.nix {
7797     inherit stdenv fetchurl SDL zlib which;
7798   };
7800   qemuSVN = import ../applications/virtualization/qemu/svn-6642.nix {
7801     inherit fetchsvn SDL zlib which stdenv;
7802   };
7804   qemuImage = composedArgsAndFun (import ../applications/virtualization/qemu/linux-img/0.2.nix) {
7805     inherit builderDefs fetchurl stdenv;
7806   };
7808   qtpfsgui = import ../applications/graphics/qtpfsgui {
7809     inherit fetchurl stdenv exiv2 libtiff fftw qt4 ilmbase;
7810     openexr = openexr_1_6_1;
7811   };
7813   ratpoison = import ../applications/window-managers/ratpoison {
7814     inherit fetchurl stdenv fontconfig readline;
7815     inherit (xlibs) libX11 inputproto libXt libXpm libXft
7816       libXtst xextproto libXi;
7817   };
7819   rawtherapee = import ../applications/graphics/rawtherapee {
7820     inherit fetchsvn stdenv pkgconfig cmake lcms libiptcdata;
7821     inherit (gtkLibs) gtk gtkmm;
7822     inherit (xlibs) libXau libXdmcp pixman libpthreadstubs;
7823   };
7825   rcs = import ../applications/version-management/rcs {
7826     inherit fetchurl stdenv;
7827   };
7829   rdesktop = import ../applications/networking/remote/rdesktop {
7830     inherit fetchurl stdenv openssl;
7831     inherit (xlibs) libX11;
7832   };
7834   RealPlayer =
7835     (import ../applications/video/RealPlayer {
7836       inherit fetchurl stdenv;
7837       inherit (gtkLibs) glib pango atk gtk;
7838       inherit (xlibs) libX11;
7839       libstdcpp5 = gcc33.gcc;
7840     });
7842   rsync = import ../applications/networking/sync/rsync {
7843     inherit fetchurl stdenv acl perl;
7844     enableACLs = !stdenv.isDarwin;
7845   };
7847   rxvt = import ../applications/misc/rxvt {
7848     inherit lib fetchurl stdenv;
7849     inherit (xlibs) libXt libX11;
7850   };
7852   # = urxvt
7853   rxvt_unicode = makeOverridable (import ../applications/misc/rxvt_unicode) {
7854     inherit lib fetchurl stdenv perl ncurses;
7855     inherit (xlibs) libXt libX11 libXft;
7856     perlSupport = false;
7857   };
7859   sbagen = import ../applications/misc/sbagen {
7860     inherit fetchurl stdenv;
7861   };
7863   scribus = import ../applications/office/scribus {
7864     inherit fetchurl stdenv lib cmake pkgconfig freetype lcms libtiff libxml2
7865       cairo python cups fontconfig zlib libjpeg libpng;
7866     inherit (gnome) libart_lgpl;
7867     inherit (xlibs) libXaw libXext libX11 libXtst libXi libXinerama;
7868     qt = qt3;
7869   };
7871   skype_linux = import ../applications/networking/skype {
7872     inherit fetchurl stdenv;
7873     inherit glibc alsaLib freetype fontconfig libsigcxx gcc;
7874     inherit (xlibs) libSM libICE libXi libXrender libXrandr libXfixes libXcursor
7875                     libXinerama libXext libX11 libXv libXScrnSaver;
7876   };
7878   slim = import ../applications/display-managers/slim {
7879     inherit fetchurl stdenv x11 libjpeg libpng freetype pam;
7880     inherit (xlibs) libXmu;
7881   };
7883   sndBase = builderDefsPackage (import ../applications/audio/snd) {
7884     inherit fetchurl stdenv stringsWithDeps lib fftw;
7885     inherit pkgconfig gmp gettext;
7886     inherit (xlibs) libXpm libX11;
7887     inherit (gtkLibs) gtk glib;
7888   };
7890   snd = sndBase.passthru.function {
7891     inherit guile mesa libtool jackaudio alsaLib;
7892   };
7894   sonicVisualizer = import ../applications/audio/sonic-visualizer {
7895     inherit fetchurl stdenv lib libsndfile libsamplerate bzip2 librdf
7896       rubberband jackaudio pulseaudio libmad
7897       libogg liblo alsaLib librdf_raptor librdf_rasqal redland fftw;
7898     inherit (vamp) vampSDK;
7899     qt = qt4;
7900   };
7902   sox = import ../applications/misc/audio/sox {
7903     inherit fetchurl stdenv lib composableDerivation;
7904     # optional features
7905     inherit alsaLib libao ffmpeg;
7906     inherit libsndfile libogg flac libmad lame libsamplerate;
7907     # Using the default nix ffmpeg I get this error when linking
7908     # .libs/libsox_la-ffmpeg.o: In function `audio_decode_frame':
7909     # /tmp/nix-7957-1/sox-14.0.0/src/ffmpeg.c:130: undefined reference to `avcodec_decode_audio2
7910     # That's why I'v added ffmpeg_svn
7911   };
7913   stumpwm = builderDefsPackage (import ../applications/window-managers/stumpwm) {
7914     inherit texinfo;
7915     clisp = clisp_2_44_1;
7916   };
7918   subversion = makeOverridable (import ../applications/version-management/subversion/default.nix) {
7919     inherit (pkgsOverriden) fetchurl stdenv apr aprutil expat swig zlib jdk python perl sqlite;
7920     neon = neon028;
7921     bdbSupport = getConfig ["subversion" "bdbSupport"] true;
7922     httpServer = getConfig ["subversion" "httpServer"] false;
7923     httpSupport = getConfig ["subversion" "httpSupport"] true;
7924     sslSupport = getConfig ["subversion" "sslSupport"] true;
7925     pythonBindings = getConfig ["subversion" "pythonBindings"] false;
7926     perlBindings = getConfig ["subversion" "perlBindings"] false;
7927     javahlBindings = supportsJDK && getConfig ["subversion" "javahlBindings"] false;
7928     compressionSupport = getConfig ["subversion" "compressionSupport"] true;
7929     httpd = pkgsOverriden.apacheHttpd;
7930   };
7932   svk = perlPackages.SVK;
7934   sylpheed = import ../applications/networking/mailreaders/sylpheed {
7935     inherit fetchurl stdenv pkgconfig openssl gpgme;
7936     inherit (gtkLibs) gtk;
7937     sslSupport = true;
7938     gpgSupport = true;
7939   };
7941   # linux only by now
7942   synergy = import ../applications/misc/synergy {
7943     inherit fetchurl sourceFromHead stdenv x11 automake autoconf;
7944     inherit (xlibs) xextproto libXtst inputproto libXi;
7945   };
7947   tahoelafs = import ../tools/networking/p2p/tahoe-lafs {
7948     inherit fetchurl lib unzip nettools buildPythonPackage;
7949     inherit (pythonPackages) twisted foolscap simplejson nevow zfec
7950       pycryptopp pysqlite darcsver setuptoolsTrial setuptoolsDarcs
7951       numpy;
7952   };
7954   tailor = builderDefsPackage (import ../applications/version-management/tailor) {
7955     inherit makeWrapper python;
7956   };
7958   tangogps = import ../applications/misc/tangogps {
7959     inherit fetchurl stdenv pkgconfig gettext curl libexif sqlite libxml2;
7960     inherit (gtkLibs) gtk;
7961     gconf = gnome.GConf;
7962   };
7964   /* does'nt work yet i686-linux only (32bit version)
7965   teamspeak_client = import ../applications/networking/instant-messengers/teamspeak/client.nix {
7966     inherit fetchurl stdenv;
7967     inherit glibc x11;
7968   };
7969   */
7971   taskJuggler = import ../applications/misc/taskjuggler {
7972     inherit stdenv fetchurl;
7973     inherit zlib libpng perl expat;
7974     qt = qt3;
7976     inherit (xlibs) libX11 libXext libSM libICE;
7978     # KDE support is not working yet.
7979     inherit kdelibs kdebase;
7980     withKde = pkgs.getConfig ["taskJuggler" "kde"] false;
7981   };
7983   thinkingRock = import ../applications/misc/thinking-rock {
7984     inherit fetchurl stdenv;
7985   };
7987   thunderbird = thunderbird2;
7989   thunderbird2 = import ../applications/networking/mailreaders/thunderbird/2.x.nix {
7990     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo;
7991     inherit (gtkLibs) gtk;
7992     inherit (gnome) libIDL;
7993     inherit (xlibs) libXi;
7994   };
7996   thunderbird3 = lowPrio (import ../applications/networking/mailreaders/thunderbird/3.x.nix {
7997     inherit fetchurl stdenv pkgconfig perl python dbus_glib zip bzip2 alsaLib nspr;
7998     inherit (gtkLibs) gtk;
7999     inherit (gnome) libIDL;
8000   });
8002   timidity = import ../tools/misc/timidity {
8003     inherit fetchurl stdenv lib alsaLib composableDerivation jackaudio ncurses;
8004   };
8006   tkcvs = import ../applications/version-management/tkcvs {
8007     inherit stdenv fetchurl tcl tk;
8008   };
8010   tla = import ../applications/version-management/arch {
8011     inherit fetchurl stdenv diffutils gnutar gnupatch which;
8012   };
8014   twinkle = import ../applications/networking/twinkle {
8015     inherit fetchurl stdenv lib pkgconfig commoncpp2 ccrtp openssl speex libjpeg perl
8016       libzrtpcpp libsndfile libxml2 file readline alsaLib;
8017     qt = qt3;
8018     boost = boostFull;
8019     inherit (xlibs) libX11 libXaw libICE libXext;
8020   };
8022   unison = import ../applications/networking/sync/unison {
8023     inherit fetchurl stdenv ocaml lablgtk makeWrapper;
8024     inherit (xorg) xset fontschumachermisc;
8025   };
8027   uucp = import ../tools/misc/uucp {
8028     inherit fetchurl stdenv;
8029   };
8031   uzbl = builderDefsPackage (import ../applications/networking/browsers/uzbl) {
8032     inherit pkgconfig webkit makeWrapper;
8033     inherit (gtkLibs) gtk glib;
8034     libsoup = gnome28.libsoup;
8035   };
8037   uzblExperimental = builderDefsPackage
8038         (import ../applications/networking/browsers/uzbl/experimental.nix) {
8039     inherit pkgconfig webkit makeWrapper;
8040     inherit (gtkLibs) gtk glib;
8041     libsoup = gnome28.libsoup;
8042   };
8044   valknut = import ../applications/networking/p2p/valknut {
8045     inherit fetchurl stdenv perl x11 libxml2 libjpeg libpng openssl dclib;
8046     qt = qt3;
8047   };
8049   viewMtn = builderDefsPackage (import ../applications/version-management/viewmtn/0.10.nix)
8050   {
8051     inherit monotone flup cheetahTemplate highlight ctags
8052       makeWrapper graphviz which python;
8053   };
8055   vim = import ../applications/editors/vim {
8056     inherit fetchurl stdenv ncurses lib;
8057   };
8059   vimHugeX = import ../applications/editors/vim {
8060     inherit fetchurl stdenv lib ncurses pkgconfig
8061       perl python tcl;
8062     inherit (xlibs) libX11 libXext libSM libXpm
8063       libXt libXaw libXau;
8064     inherit (gtkLibs) glib gtk;
8066     # Looks like python and perl can conflict
8067     flags = ["hugeFeatures" "gtkGUI" "x11Support"
8068       /*"perlSupport"*/ "pythonSupport" "tclSupport"];
8069   };
8071   vim_configurable = import ../applications/editors/vim/configurable.nix {
8072     inherit fetchurl stdenv ncurses pkgconfig composableDerivation lib;
8073     inherit (xlibs) libX11 libXext libSM libXpm
8074         libXt libXaw libXau libXmu;
8075     inherit (gtkLibs) glib gtk;
8076     features = "huge"; # one of  tiny, small, normal, big or huge
8077     # optional features by passing
8078     # python
8079     # TODO mzschemeinterp perlinterp
8080     inherit python perl tcl ruby /*x11*/;
8082     # optional features by flags
8083     flags = [ "X11" ]; # only flag "X11" by now
8084   };
8086   vlc = import ../applications/video/vlc {
8087     inherit fetchurl stdenv perl xlibs zlib a52dec libmad faad2
8088       ffmpeg libdvdnav pkgconfig hal fribidi qt4 freefont_ttf;
8089     dbus = dbus.libs;
8090     alsa = alsaLib;
8091   };
8093   vnstat = import ../applications/networking/vnstat {
8094     inherit fetchurl stdenv ncurses;
8095   };
8097   vorbisTools = import ../applications/audio/vorbis-tools {
8098     inherit fetchurl stdenv libogg libvorbis libao pkgconfig curl glibc
8099       speex flac;
8100   };
8102   vwm = import ../applications/window-managers/vwm {
8103     inherit fetchurl stdenv ncurses pkgconfig libviper libpseudo gpm glib libvterm;
8104   };
8106   w3m = import ../applications/networking/browsers/w3m {
8107     inherit fetchurl stdenv ncurses openssl boehmgc gettext zlib imlib2 x11;
8108     graphicsSupport = false;
8109   };
8111   # I'm keen on wmiimenu only  >wmii-3.5 no longer has it...
8112   wmiimenu = import ../applications/window-managers/wmii31 {
8113     libixp = libixp_for_wmii;
8114     inherit fetchurl /* fetchhg */ stdenv gawk;
8115     inherit (xlibs) libX11;
8116   };
8118   wmiiSnap = import ../applications/window-managers/wmii {
8119     libixp = libixp_for_wmii;
8120     inherit fetchurl /* fetchhg */ stdenv gawk;
8121     inherit (xlibs) libX11 xextproto libXt libXext;
8122     includeUnpack = getConfig ["stdenv" "includeUnpack"] false;
8123   };
8125   wordnet = import ../applications/misc/wordnet {
8126     inherit stdenv fetchurl tcl tk x11 makeWrapper;
8127   };
8129   wrapFirefox = browser: browserName: nameSuffix: import ../applications/networking/browsers/firefox/wrapper.nix {
8130     inherit stdenv nameSuffix makeWrapper makeDesktopItem browser browserName;
8131     plugins =
8132       let enableAdobeFlash = getConfig [ browserName "enableAdobeFlash" ] true;
8133       in
8134        ([]
8135         ++ lib.optional (!enableAdobeFlash) gnash
8136         ++ lib.optional enableAdobeFlash flashplayer
8137         # RealPlayer is disabled by default for legal reasons.
8138         ++ lib.optional (system != "i686-linux" && getConfig [browserName "enableRealPlayer"] false) RealPlayer
8139         ++ lib.optional (getConfig [browserName "enableMPlayer"] false) (MPlayerPlugin browser)
8140         ++ lib.optional (getConfig [browserName "enableGeckoMediaPlayer"] false) gecko_mediaplayer
8141         ++ lib.optional (supportsJDK && getConfig [browserName "jre"] false && jrePlugin ? mozillaPlugin) jrePlugin
8142        );
8143   };
8145   x11vnc = composedArgsAndFun (import ../tools/X11/x11vnc/0.9.3.nix) {
8146     inherit builderDefs openssl zlib libjpeg ;
8147     inherit (xlibs) libXfixes fixesproto libXdamage damageproto
8148       libX11 xproto libXtst libXinerama xineramaproto libXrandr randrproto
8149       libXext xextproto inputproto recordproto libXi renderproto
8150       libXrender;
8151   };
8153   x2vnc = composedArgsAndFun (import ../tools/X11/x2vnc/1.7.2.nix) {
8154     inherit builderDefs;
8155     inherit (xlibs) libX11 xproto xextproto libXext libXrandr randrproto;
8156   };
8158   xaos = builderDefsPackage (import ../applications/graphics/xaos) {
8159     inherit (xlibs) libXt libX11 libXext xextproto xproto;
8160     inherit gsl aalib zlib libpng intltool gettext perl;
8161   };
8163   xara = import ../applications/graphics/xara {
8164     inherit fetchurl stdenv autoconf automake libtool gettext cvs
8165       pkgconfig libxml2 zip libpng libjpeg shebangfix perl freetype;
8166     inherit (gtkLibs) gtk;
8167     wxGTK = wxGTK26;
8168   };
8170   xawtv = import ../applications/video/xawtv {
8171     inherit fetchurl stdenv ncurses libjpeg perl;
8172     inherit (xlibs) libX11 libXt libXft xproto libFS fontsproto libXaw libXpm libXext libSM libICE xextproto;
8173   };
8175   xchat = import ../applications/networking/irc/xchat {
8176     inherit fetchurl stdenv pkgconfig tcl;
8177     inherit (gtkLibs) gtk;
8178   };
8180   xchm = import ../applications/misc/xchm {
8181     inherit fetchurl stdenv chmlib wxGTK;
8182   };
8184   xcompmgr = import ../applications/window-managers/xcompmgr {
8185     inherit stdenv fetchurl pkgconfig;
8186     inherit (xlibs) libXcomposite libXfixes libXdamage libXrender;
8187   };
8189   /* Doesn't work yet
8191   xen = builderDefsPackage (import ../applications/virtualization/xen) {
8192     inherit python e2fsprogs gnutls pkgconfig libjpeg
8193       ncurses SDL libvncserver zlib;
8194     texLive = if (getConfig ["xen" "texLive"] false) then texLive else null;
8195     graphviz = if (getConfig ["xen" "graphviz"] false) then graphviz else null;
8196     ghostscript = if (getConfig ["xen" "ghostscript"] false) then ghostscript else null;
8197   }; */
8199   xfig = import ../applications/graphics/xfig {
8200     stdenv = overrideGCC stdenv gcc34;
8201     inherit fetchurl makeWrapper x11 Xaw3d libpng libjpeg;
8202     inherit (xlibs) imake libXpm libXmu libXi libXp;
8203   };
8205   xineUI = import ../applications/video/xine-ui {
8206     inherit fetchurl stdenv pkgconfig xlibs xineLib libpng readline ncurses curl;
8207   };
8209   xmms = import ../applications/audio/xmms {
8210     inherit fetchurl libogg libvorbis alsaLib;
8211     inherit (gnome) esound;
8212     inherit (gtkLibs1x) glib gtk;
8213     stdenv = overrideGCC stdenv gcc34; # due to problems with gcc 4.x
8214   };
8216   xneur = import ../applications/misc/xneur {
8217     inherit fetchurl stdenv pkgconfig pcre libxml2 aspell imlib2
8218       xosd libnotify cairo;
8219     GStreamer=gst_all.gstreamer;
8220     inherit (xlibs) libX11 libXpm libXt libXext libXi;
8221     inherit (gtkLibs) glib gtk pango atk;
8222   };
8224   xneur_0_8 = import ../applications/misc/xneur/0.8.nix {
8225     inherit fetchurl stdenv pkgconfig pcre libxml2 aspell imlib2 xosd glib;
8226     GStreamer = gst_all.gstreamer;
8227     inherit (xlibs) libX11 libXpm libXt libXext;
8228   };
8230   xournal = builderDefsPackage (import ../applications/graphics/xournal) {
8231     inherit ghostscript fontconfig freetype zlib
8232       poppler popplerData autoconf automake
8233       libtool pkgconfig;
8234     inherit (xlibs) xproto libX11;
8235     inherit (gtkLibs) gtk atk pango glib;
8236     inherit (gnome) libgnomeprint libgnomeprintui
8237       libgnomecanvas;
8238   };
8240   xpdf = import ../applications/misc/xpdf {
8241     inherit fetchurl stdenv x11 freetype t1lib;
8242     motif = lesstif;
8243     base14Fonts = "${ghostscript}/share/ghostscript/fonts";
8244   };
8246   xpra = import ../tools/X11/xpra {
8247     inherit stdenv fetchurl pkgconfig python pygtk xlibs makeWrapper;
8248     inherit (gtkLibs) gtk;
8249     pyrex = pyrex095;
8250   };
8252   xscreensaver = makeOverridable (import ../applications/graphics/xscreensaver) {
8253     inherit stdenv fetchurl pkgconfig bc perl xlibs libjpeg mesa libxml2;
8254     inherit (gtkLibs) gtk;
8255     inherit (gnome) libglade;
8256   };
8258   xterm = import ../applications/misc/xterm {
8259     inherit fetchurl stdenv ncurses freetype pkgconfig;
8260     inherit (xlibs) libXaw xproto libXt libX11 libSM libICE libXext libXft luit;
8261   };
8263   xtrace = import ../tools/X11/xtrace {
8264     inherit stdenv fetchurl;
8265     inherit (xlibs) libX11;
8266   };
8268   xlaunch = import ../tools/X11/xlaunch {
8269     inherit stdenv;
8270     inherit (xorg) xorgserver;
8271   };
8273   xmacro = import ../tools/X11/xmacro {
8274     inherit fetchurl stdenv;
8275     inherit (xlibs) libX11 libXi libXtst xextproto inputproto;
8276   };
8278   xmove = import ../applications/misc/xmove {
8279     inherit fetchurl stdenv;
8280     inherit (xlibs) libX11 libXi imake libXau;
8281     inherit (xorg) xauth;
8282   };
8284   xnee = builderDefsPackage (import ../tools/X11/xnee) {
8285     inherit (gtkLibs) gtk;
8286     inherit (xlibs) libX11 libXtst xextproto libXext
8287       inputproto libXi xproto recordproto;
8288     inherit pkgconfig;
8289   };
8291   xvidcap = import ../applications/video/xvidcap {
8292     inherit fetchurl stdenv perl perlXMLParser pkgconfig gettext lame;
8293     inherit (gtkLibs) gtk;
8294     inherit (gnome) scrollkeeper libglade;
8295     inherit (xlibs) libXmu libXext libXfixes libXdamage libX11;
8296   };
8298   yate = import ../applications/misc/yate {
8299     inherit sox speex openssl automake autoconf pkgconfig;
8300     inherit fetchurl stdenv lib composableDerivation;
8301     qt = qt4;
8302   };
8304   # doesn't compile yet - in case someone else want's to continue ..
8305   qgis = (import ../applications/misc/qgis/1.0.1-2.nix) {
8306     inherit composableDerivation fetchsvn stdenv flex lib
8307             ncurses fetchurl perl cmake gdal geos proj x11
8308             gsl libpng zlib bison
8309             sqlite glibc fontconfig freetype /* use libc from stdenv ? - to lazy now - Marc */;
8310     inherit (xlibs) libSM libXcursor libXinerama libXrandr libXrender;
8311     inherit (xorg) libICE;
8312     qt = qt4;
8314     # optional features
8315     # grass = "not yet supported" # cmake -D WITH_GRASS=TRUE  and GRASS_PREFX=..
8316   };
8318   zapping = import ../applications/video/zapping {
8319     inherit fetchurl stdenv pkgconfig perl python
8320             gettext zvbi libjpeg libpng x11
8321             rte perlXMLParser;
8322     inherit (gnome) scrollkeeper libgnomeui libglade esound;
8323     inherit (xlibs) libXv libXmu libXext;
8324     teletextSupport = true;
8325     jpegSupport = true;
8326     pngSupport = true;
8327     recordingSupport = true;
8328   };
8331   ### GAMES
8333   ballAndPaddle = import ../games/ball-and-paddle {
8334     inherit fetchurl stdenv SDL SDL_image SDL_mixer SDL_ttf guile gettext;
8335   };
8337   bsdgames = import ../games/bsdgames {
8338     inherit fetchurl stdenv ncurses openssl flex bison miscfiles;
8339   };
8341   castleCombat = import ../games/castle-combat {
8342     inherit fetchurl stdenv python pygame twisted lib numeric makeWrapper;
8343   };
8345   construoBase = composedArgsAndFun (import ../games/construo/0.2.2.nix) {
8346     inherit stdenv fetchurl builderDefs
8347       zlib;
8348     inherit (xlibs) libX11 xproto;
8349   };
8351   construo = construoBase.passthru.function {
8352     inherit mesa freeglut;
8353   };
8355   eduke32 = import ../games/eduke32 {
8356     inherit stdenv fetchurl SDL SDL_mixer unzip libvorbis mesa pkgconfig nasm makeDesktopItem;
8357     inherit (gtkLibs) gtk;
8358   };
8360   exult = import ../games/exult {
8361     inherit fetchurl SDL SDL_mixer zlib libpng unzip;
8362     stdenv = overrideGCC stdenv gcc42;
8363   };
8365   /*
8366   exultSnapshot = lowPrio (import ../games/exult/snapshot.nix {
8367     inherit fetchurl stdenv SDL SDL_mixer zlib libpng unzip
8368       autoconf automake libtool flex bison;
8369   });
8370   */
8372   fsg = import ../games/fsg {
8373     inherit stdenv fetchurl pkgconfig mesa;
8374     inherit (gtkLibs) glib gtk;
8375     inherit (xlibs) libX11 xproto;
8376     wxGTK = wxGTK28.override {unicode = false;};
8377   };
8379   fsgAltBuild = import ../games/fsg/alt-builder.nix {
8380     inherit stdenv fetchurl mesa;
8381     wxGTK = wxGTK28.override {unicode = false;};
8382     inherit (xlibs) libX11 xproto;
8383     inherit stringsWithDeps builderDefs;
8384   };
8386   gemrb = import ../games/gemrb {
8387     inherit fetchurl stdenv SDL openal freealut zlib libpng python;
8388   };
8390   gnuchess = builderDefsPackage (import ../games/gnuchess) {
8391     flex = flex2535;
8392   };
8394   gparted = import ../tools/misc/gparted {
8395     inherit fetchurl stdenv parted intltool gettext libuuid pkgconfig libxml2;
8396     inherit (gtkLibs) gtk glib gtkmm;
8397     inherit (gnome) gnomedocutils;
8398   };
8400   hexen = import ../games/hexen {
8401     inherit stdenv fetchurl SDL;
8402   };
8404   kobodeluxe = import ../games/kobodeluxe {
8405     inherit stdenv fetchurl SDL SDL_image;
8406   };
8408   lincity = builderDefsPackage (import ../games/lincity) {
8409     inherit (xlibs) libX11 libXext xextproto
8410       libICE libSM xproto;
8411     inherit libpng zlib;
8412   };
8414   micropolis = import ../games/micropolis {
8415     inherit lib fetchurl stdenv;
8416     inherit (xlibs) libX11 libXpm libXext xextproto;
8417     inherit byacc bash;
8418   };
8420   openttd = import ../games/openttd {
8421     inherit fetchurl stdenv SDL libpng;
8422     zlib = zlibStatic;
8423   };
8425   pioneers = import ../games/pioneers {
8426     inherit stdenv fetchurl pkgconfig intltool;
8427     inherit (gtkLibs) gtk /*glib gtkmm*/;
8428   };
8430   quake3demo = import ../games/quake3/wrapper {
8431     name = "quake3-demo-${quake3game.name}";
8432     description = "Demo of Quake 3 Arena, a classic first-person shooter";
8433     inherit fetchurl stdenv mesa makeWrapper;
8434     game = quake3game;
8435     paks = [quake3demodata];
8436   };
8438   quake3demodata = import ../games/quake3/demo {
8439     inherit fetchurl stdenv;
8440   };
8442   quake3game = import ../games/quake3/game {
8443     inherit fetchurl stdenv x11 SDL mesa openal;
8444   };
8446   rogue = import ../games/rogue {
8447     inherit fetchurl stdenv ncurses;
8448   };
8450   scummvm = import ../games/scummvm {
8451     inherit fetchurl stdenv SDL zlib mpeg2dec;
8452   };
8454   scorched3d = import ../games/scorched3d {
8455     inherit stdenv fetchurl mesa openal autoconf automake libtool freealut freetype fftw SDL SDL_net zlib libpng libjpeg;
8456     wxGTK = wxGTK26;
8457   };
8459   sgtpuzzles = builderDefsPackage (import ../games/sgt-puzzles) {
8460     inherit (gtkLibs) gtk glib;
8461     inherit pkgconfig fetchsvn perl;
8462     inherit (xlibs) libX11;
8463   };
8465   # You still can override by passing more arguments.
8466   spaceOrbit = composedArgsAndFun (import ../games/orbit/1.01.nix) {
8467     inherit fetchurl stdenv builderDefs mesa freeglut;
8468     inherit (gnome) esound;
8469     inherit (xlibs) libXt libX11 libXmu libXi libXext;
8470   };
8472   superTuxKart = import ../games/super-tux-kart {
8473     inherit fetchurl stdenv plib SDL openal freealut mesa
8474       libvorbis libogg gettext;
8475   };
8477   teeworlds = import ../games/teeworlds {
8478     inherit fetchurl stdenv python alsaLib mesa SDL;
8479     inherit (xlibs) libX11;
8480   };
8482   tennix = import ../games/tennix {
8483     inherit stdenv fetchurl SDL SDL_mixer SDL_image SDL_ttf;
8484   };
8486   /*tpm = import ../games/thePenguinMachine {
8487     inherit stdenv fetchurl pil pygame SDL;
8488     python24 = python;
8489   };*/
8491   ultimatestunts = import ../games/ultimatestunts {
8492     inherit stdenv fetchurl SDL mesa SDL_image freealut;
8493   };
8495   urbanterror = import ../games/urbanterror {
8496     inherit fetchurl stdenv unzip SDL mesa curl openal;
8497   };
8499   ut2004demo = import ../games/ut2004demo {
8500     inherit fetchurl stdenv xlibs mesa;
8501   };
8503   warsow = import ../games/warsow {
8504     inherit stdenv fetchurl unzip pkgconfig zlib curl libjpeg libvorbis SDL
8505             mesa openal;
8506     inherit (xlibs) libXxf86dga libXxf86vm libXinerama;
8507   };
8509   xboard = builderDefsPackage (import ../games/xboard) {
8510     inherit (xlibs) libX11 xproto libXt libXaw libSM
8511       libICE libXmu libXext libXpm;
8512     inherit gnuchess texinfo;
8513   };
8515   xsokoban = builderDefsPackage (import ../games/xsokoban) {
8516     inherit (xlibs) libX11 xproto libXpm libXt;
8517   };
8519   zdoom = import ../games/zdoom {
8520     inherit cmake stdenv fetchsvn SDL nasm p7zip zlib flac fmod libjpeg;
8521   };
8523   zoom = import ../games/zoom {
8524     inherit fetchurl stdenv perl expat freetype;
8525     inherit (xlibs) xlibs;
8526   };
8528   keen4 = import ../games/keen4 {
8529     inherit fetchurl stdenv dosbox unzip;
8530   };
8533   ### DESKTOP ENVIRONMENTS
8536   enlightenment = import ../desktops/enlightenment {
8537     inherit stdenv fetchurl pkgconfig x11 xlibs dbus imlib2 freetype;
8538   };
8540   gnome28 = import ../desktops/gnome-2.28 pkgs;
8542   gnome = gnome28;
8544   kde3 = {
8546     kdelibs = import ../desktops/kde-3/kdelibs {
8547       inherit
8548         fetchurl xlibs zlib perl openssl pcre pkgconfig
8549         libjpeg libpng libtiff libxml2 libxslt libtool
8550         expat freetype bzip2 cups attr acl;
8551       stdenv = overrideGCC stdenv gcc43;
8552       qt = qt3;
8553     };
8555     kdebase = import ../desktops/kde-3/kdebase {
8556       inherit
8557         fetchurl pkgconfig x11 xlibs zlib libpng libjpeg perl
8558         kdelibs openssl bzip2 fontconfig pam hal dbus glib;
8559       stdenv = overrideGCC stdenv gcc43;
8560       qt = qt3;
8561     };
8563   };
8565   kde4 = kde43;
8567   kde43 = makeOverridable (import ../desktops/kde-4.3) (pkgs // {
8568     openexr = openexr_1_6_1;
8569     qt4 = qt45;
8570     popplerQt4 = popplerQt45;
8571   });
8573   kdelibs = kde3.kdelibs;
8574   kdebase = kde3.kdebase;
8576   ### SCIENCE
8578   xplanet = import ../applications/science/xplanet {
8579     inherit stdenv fetchurl lib pkgconfig freetype libpng libjpeg giflib libtiff;
8580     inherit (gtkLibs) pango;
8581   };
8583   ### SCIENCE/GEOMETRY
8585   drgeo = builderDefsPackage (import ../applications/science/geometry/drgeo) {
8586     inherit (gnome) libglade gtk;
8587     inherit libxml2 guile perl intltool libtool pkgconfig;
8588   };
8591   ### SCIENCE/BIOLOGY
8593   alliance = import ../applications/science/electronics/alliance {
8594     inherit fetchurl stdenv bison flex;
8595     inherit (xlibs) xproto libX11 libXt libXpm;
8596     motif = lesstif;
8597   };
8599   arb = import ../applications/science/biology/arb {
8600     inherit fetchurl readline libpng zlib x11 lesstif93 freeglut perl;
8601     inherit (xlibs) libXpm libXaw libX11 libXext libXt;
8602     inherit mesa glew libtiff lynx rxp sablotron jdk transfig gv gnuplot;
8603     lesstif = lesstif93;
8604     stdenv = overrideGCC stdenv gcc42;
8605   };
8607   biolib = import ../development/libraries/science/biology/biolib {
8608     inherit fetchurl stdenv readline perl cmake rLang zlib;
8609   };
8611   emboss = import ../applications/science/biology/emboss {
8612     inherit fetchurl stdenv readline perl libpng zlib;
8613     inherit (xorg) libX11 libXt;
8614   };
8616   mrbayes = import ../applications/science/biology/mrbayes {
8617     inherit fetchurl stdenv readline;
8618   };
8620   ncbiCTools = builderDefsPackage ../development/libraries/ncbi {
8621     inherit tcsh mesa lesstif;
8622     inherit (xlibs) libX11 libXaw xproto libXt libSM libICE
8623       libXmu libXext;
8624   };
8626   ncbi_tools = import ../applications/science/biology/ncbi-tools {
8627     inherit fetchurl stdenv cpio;
8628   };
8630   paml = import ../applications/science/biology/paml {
8631     inherit fetchurl stdenv;
8632   };
8634   /* slr = import ../applications/science/biology/slr {
8635     inherit fetchurl stdenv liblapack;
8636   }; */
8638   pal2nal = import ../applications/science/biology/pal2nal {
8639     inherit fetchurl stdenv perl paml;
8640   };
8643   ### SCIENCE/MATH
8645   atlas = import ../development/libraries/science/math/atlas {
8646     inherit fetchurl stdenv gfortran;
8647   };
8649   blas = import ../development/libraries/science/math/blas {
8650     inherit fetchurl stdenv gfortran;
8651   };
8653   content = builderDefsPackage ../applications/science/math/content {
8654     inherit mesa lesstif;
8655     inherit (xlibs) libX11 libXaw xproto libXt libSM libICE
8656       libXmu libXext libXcursor;
8657   };
8659   liblapack = import ../development/libraries/science/math/liblapack {
8660     inherit fetchurl stdenv gfortran blas;
8661   };
8664   ### SCIENCE/LOGIC
8666   coq = import ../applications/science/logic/coq {
8667     inherit stdenv fetchurl ocaml lablgtk ncurses;
8668     camlp5 = camlp5_transitional;
8669   };
8671   isabelle = import ../applications/science/logic/isabelle {
8672     inherit (pkgs) stdenv fetchurl nettools perl polyml emacs emacsPackages;
8673   };
8675   ssreflect = import ../applications/science/logic/ssreflect {
8676     inherit stdenv fetchurl ocaml coq;
8677     camlp5 = camlp5_transitional;
8678   };
8680   ### SCIENCE / ELECTRONICS
8682   ngspice = import ../applications/science/electronics/ngspice {
8683     inherit fetchurl stdenv readline;
8684   };
8686   gtkwave = import ../applications/science/electronics/gtkwave {
8687     inherit fetchurl stdenv gperf pkgconfig bzip2;
8688     inherit (gtkLibs) gtk;
8689   };
8691   ### SCIENCE / MATH
8693   maxima = import ../applications/science/math/maxima {
8694     inherit fetchurl stdenv clisp;
8695   };
8697   wxmaxima = import ../applications/science/math/wxmaxima {
8698     inherit fetchurl stdenv maxima;
8699     inherit wxGTK;
8700   };
8702   scilab = (import ../applications/science/math/scilab) {
8703     inherit stdenv fetchurl lib gfortran;
8704     inherit (gtkLibs) gtk;
8705     inherit ncurses Xaw3d tcl tk ocaml x11;
8707     withXaw3d = false;
8708     withTk = true;
8709     withGtk = false;
8710     withOCaml = true;
8711     withX = true;
8712   };
8715   ### MISC
8717   atari800 = import ../misc/emulators/atari800 {
8718     inherit fetchurl stdenv unzip zlib SDL;
8719   };
8721   ataripp = import ../misc/emulators/atari++ {
8722     inherit fetchurl stdenv x11 SDL;
8723   };
8725   auctex = import ../misc/tex/auctex {
8726     inherit stdenv fetchurl emacs texLive;
8727   };
8729   busybox = import ../misc/busybox {
8730     inherit fetchurl stdenv;
8731   };
8733   cups = import ../misc/cups {
8734     inherit fetchurl stdenv pkgconfig zlib libjpeg libpng libtiff pam openssl dbus;
8735   };
8737   gutenprint = import ../misc/drivers/gutenprint {
8738     inherit fetchurl stdenv lib pkgconfig composableDerivation cups libtiff libpng
8739       openssl git gimp;
8740   };
8742   gutenprintBin = import ../misc/drivers/gutenprint/bin.nix {
8743     inherit fetchurl stdenv rpm cpio zlib;
8744   };
8746   cupsBjnp = import ../misc/cups/drivers/cups-bnjp {
8747     inherit fetchurl stdenv cups;
8748   };
8750   dblatex = import ../misc/tex/dblatex {
8751     inherit fetchurl stdenv python libxslt tetex;
8752   };
8754   dosbox = import ../misc/emulators/dosbox {
8755     inherit fetchurl stdenv SDL makeDesktopItem;
8756   };
8758   dpkg = import ../tools/package-management/dpkg {
8759     inherit fetchurl stdenv perl zlib bzip2;
8760   };
8762   electricsheep = import ../misc/screensavers/electricsheep {
8763     inherit fetchurl stdenv pkgconfig expat zlib libpng libjpeg xlibs;
8764   };
8766   foldingathome = import ../misc/foldingathome {
8767     inherit fetchurl stdenv;
8768   };
8770   freestyle = import ../misc/freestyle {
8771     inherit fetchurl freeglut qt4 libpng lib3ds libQGLViewer swig;
8772     inherit (xlibs) libXi;
8773     #stdenv = overrideGCC stdenv gcc41;
8774     inherit stdenv python;
8775   };
8777   gajim = builderDefsPackage (import ../applications/networking/instant-messengers/gajim) {
8778     inherit perl intltool pyGtkGlade gettext pkgconfig makeWrapper pygobject
8779       pyopenssl gtkspell libsexy pycrypto aspell pythonDBus pythonSexy
8780       docutils;
8781     dbus = dbus.libs;
8782     inherit (gnome) gtk libglade;
8783     inherit (xlibs) libXScrnSaver libXt xproto libXext xextproto libX11
8784       scrnsaverproto;
8785     python = pythonFull;
8786   };
8788   generator = import ../misc/emulators/generator {
8789     inherit fetchurl stdenv SDL nasm zlib bzip2 libjpeg;
8790     inherit (gtkLibs1x) gtk;
8791   };
8793   ghostscript = makeOverridable (import ../misc/ghostscript) {
8794     inherit fetchurl stdenv libjpeg libpng libtiff zlib x11 pkgconfig
8795       fontconfig cups openssl;
8796     x11Support = false;
8797     cupsSupport = getPkgConfig "ghostscript" "cups" true;
8798   };
8800   ghostscriptX = lowPrio (appendToName "with-X" (ghostscript.override {
8801     x11Support = true;
8802   }));
8804   gxemul = (import ../misc/gxemul) {
8805     inherit lib stdenv fetchurl composableDerivation;
8806     inherit (xlibs) libX11;
8807   };
8809   # using the new configuration style proposal which is unstable
8810   jackaudio = import ../misc/jackaudio {
8811     inherit composableDerivation
8812            ncurses lib stdenv fetchurl alsaLib pkgconfig;
8813     flags = [ "posix_shm" "timestamps" "alsa"];
8814   };
8816   keynav = import ../tools/X11/keynav {
8817     inherit stdenv fetchurl;
8818     inherit (xlibs) libX11 xextproto libXtst imake libXi libXext;
8819   };
8821   lazylist = import ../misc/tex/lazylist {
8822     inherit fetchurl stdenv tetex;
8823   };
8825   lilypond = import ../misc/lilypond {
8826     inherit fetchurl sourceFromHead stdenv lib automake autoconf
8827       ghostscript texinfo imagemagick texi2html guile python gettext
8828       perl bison pkgconfig texLive fontconfig freetype fontforge help2man;
8829     inherit (gtkLibs) pango;
8830     flex = flex2535;
8831   };
8833   linuxwacom = import ../misc/linuxwacom {
8834     inherit fetchurl stdenv ncurses pkgconfig;
8835     inherit (xorg) libX11 libXi xproto inputproto xorgserver;
8836   };
8838   martyr = import ../development/libraries/martyr {
8839     inherit stdenv fetchurl apacheAnt;
8840   };
8842   maven = import ../misc/maven/maven-1.0.nix {
8843     inherit stdenv fetchurl jdk;
8844   };
8846   maven2 = import ../misc/maven {
8847     inherit stdenv fetchurl jdk makeWrapper;
8848   };
8850   nix = makeOverridable (import ../tools/package-management/nix) {
8851     inherit fetchurl stdenv perl curl bzip2 openssl;
8852     aterm = aterm242fixes;
8853     storeDir = getPkgConfig "nix" "storeDir" "/nix/store";
8854     stateDir = getPkgConfig "nix" "stateDir" "/nix/var";
8855   };
8857   # The bleeding edge.
8858   nixUnstable = nix;
8859   /*
8860   nixUnstable = makeOverridable (import ../tools/package-management/nix/unstable.nix) {
8861     inherit fetchurl stdenv perl curl bzip2 openssl;
8862     aterm = aterm242fixes;
8863     storeDir = getPkgConfig "nix" "storeDir" "/nix/store";
8864     stateDir = getPkgConfig "nix" "stateDir" "/nix/var";
8865   };
8866   */
8868   nixCustomFun = src: preConfigure: enableScripts: configureFlags:
8869     import ../tools/package-management/nix/custom.nix {
8870       inherit fetchurl stdenv perl curl bzip2 openssl src preConfigure automake
8871         autoconf libtool configureFlags enableScripts lib bison libxml2;
8872       flex = flex2533;
8873       aterm = aterm25;
8874       db4 = db45;
8875       inherit docbook5_xsl libxslt docbook5 docbook_xml_dtd_43 w3m;
8876     };
8878   disnix = import ../tools/package-management/disnix {
8879     inherit stdenv fetchsvn openssl autoconf automake libtool pkgconfig dbus_glib libxml2;
8880   };
8882   disnix_activation_scripts = import ../tools/package-management/disnix/activation-scripts {
8883     inherit stdenv fetchsvn autoconf automake;
8884   };
8886   DisnixService = import ../tools/package-management/disnix/DisnixService {
8887     inherit stdenv fetchsvn apacheAnt jdk axis2 shebangfix;
8888   };
8890   latex2html = import ../misc/tex/latex2html/default.nix {
8891     inherit fetchurl stdenv perl ghostscript netpbm;
8892     tex = tetex;
8893   };
8895   pgadmin = import ../applications/misc/pgadmin {
8896     inherit fetchurl stdenv postgresql libxml2 libxslt openssl;
8897     inherit wxGTK;
8898   };
8900   pgf = pgf2;
8902   # Keep the old PGF since some documents don't render properly with
8903   # the new one.
8904   pgf1 = import ../misc/tex/pgf/1.x.nix {
8905     inherit fetchurl stdenv;
8906   };
8908   pgf2 = import ../misc/tex/pgf/2.x.nix {
8909     inherit fetchurl stdenv;
8910   };
8912   polytable = import ../misc/tex/polytable {
8913     inherit fetchurl stdenv tetex lazylist;
8914   };
8916   psi = (import ../applications/networking/instant-messengers/psi) {
8917     inherit stdenv fetchurl zlib aspell sox qt4;
8918     inherit (xlibs) xproto libX11 libSM libICE;
8919     qca2 = kde4.qca2;
8920   };
8922   putty = import ../applications/networking/remote/putty {
8923     inherit stdenv fetchurl ncurses;
8924     inherit (gtkLibs1x) gtk;
8925   };
8927   rssglx = import ../misc/screensavers/rss-glx {
8928     inherit fetchurl stdenv x11 mesa pkgconfig imagemagick libtiff bzip2;
8929   };
8931   xlockmore = import ../misc/screensavers/xlockmore {
8932     inherit fetchurl stdenv x11 freetype;
8933     pam = if getPkgConfig "xlockmore" "pam" true then pam else null;
8934   };
8936   saneBackends = import ../misc/sane-backends {
8937     inherit fetchurl stdenv libusb;
8938     gt68xxFirmware = getConfig ["sane" "gt68xxFirmware"] null;
8939   };
8941   saneFrontends = import ../misc/sane-front {
8942     inherit fetchurl stdenv pkgconfig libusb saneBackends;
8943     inherit (gtkLibs) gtk;
8944     inherit (xlibs) libX11;
8945   };
8947   sourceAndTags = import ../misc/source-and-tags {
8948     inherit pkgs stdenv unzip lib ctags;
8949     hasktags = haskellPackages.myhasktags;
8950   };
8952   synaptics = import ../misc/synaptics {
8953     inherit fetchurl stdenv pkgconfig;
8954     inherit (xlibs) libX11 libXi libXext pixman xf86inputevdev;
8955     inherit (xorg) xorgserver;
8956   };
8958   tetex = import ../misc/tex/tetex {
8959     inherit fetchurl stdenv flex bison zlib libpng ncurses ed;
8960   };
8962   tex4ht = import ../misc/tex/tex4ht {
8963     inherit fetchurl stdenv tetex;
8964   };
8966   texFunctions = import ../misc/tex/nix {
8967     inherit stdenv perl tetex graphviz ghostscript makeFontsConf imagemagick runCommand lib;
8968     inherit (haskellPackages) lhs2tex;
8969   };
8971   texLive = builderDefsPackage (import ../misc/tex/texlive) {
8972     inherit builderDefs zlib bzip2 ncurses libpng ed
8973       gd t1lib freetype icu perl ruby expat curl
8974       libjpeg bison;
8975     inherit (xlibs) libXaw libX11 xproto libXt libXpm
8976       libXmu libXext xextproto libSM libICE;
8977     flex = flex2535;
8978     ghostscript = ghostscriptX;
8979   };
8981   /* Look in configurations/misc/raskin.nix for usage example (around revisions
8982   where TeXLive was added)
8984   (texLiveAggregationFun {
8985     paths = [texLive texLiveExtra texLiveCMSuper
8986       texLiveBeamer
8987     ];
8988   })
8990   You need to use texLiveAggregationFun to regenerate, say, ls-R (TeX-related file list)
8991   Just installing a few packages doesn't work.
8992   */
8993   texLiveAggregationFun =
8994     (builderDefsPackage (import ../misc/tex/texlive/aggregate.nix));
8996   texLiveContext = builderDefsPackage (import ../misc/tex/texlive/context.nix) {
8997     inherit texLive;
8998   };
9000   texLiveExtra = builderDefsPackage (import ../misc/tex/texlive/extra.nix) {
9001     inherit texLive;
9002   };
9004   texLiveCMSuper = builderDefsPackage (import ../misc/tex/texlive/cm-super.nix) {
9005     inherit texLive;
9006   };
9008   texLiveLatexXColor = builderDefsPackage (import ../misc/tex/texlive/xcolor.nix) {
9009     inherit texLive;
9010   };
9012   texLivePGF = builderDefsPackage (import ../misc/tex/texlive/pgf.nix) {
9013     inherit texLiveLatexXColor texLive;
9014   };
9016   texLiveBeamer = builderDefsPackage (import ../misc/tex/texlive/beamer.nix) {
9017     inherit texLiveLatexXColor texLivePGF texLive;
9018   };
9020   toolbuslib = import ../development/libraries/toolbuslib {
9021     inherit stdenv fetchurl aterm;
9022   };
9024   trac = import ../misc/trac {
9025     inherit stdenv fetchurl python clearsilver makeWrapper
9026       sqlite subversion;
9027     inherit (pythonPackages) pysqlite;
9028   };
9030    vice = import ../misc/emulators/vice {
9031      inherit stdenv fetchurl lib perl gettext libpng giflib libjpeg alsaLib readline mesa;
9032      inherit pkgconfig SDL makeDesktopItem autoconf automake;
9033      inherit (gtkLibs) gtk;
9034    };
9036   wine =
9037     if system == "x86_64-linux" then
9038       # Can't build this in 64-bit; use a 32-bit build instead.
9039       pkgsi686Linux.wine
9040       # some hackery to make nix-env show this package on x86_64...
9041       // {system = "x86_64-linux";}
9042     else
9043       import ../misc/emulators/wine {
9044         inherit fetchurl stdenv bison mesa ncurses
9045           libpng libjpeg alsaLib lcms xlibs freetype
9046           fontconfig fontforge libxml2 libxslt openssl;
9047         flex = flex2535;
9048       };
9050   xosd = import ../misc/xosd {
9051     inherit fetchurl stdenv;
9052     inherit (xlibs) libX11 libXext libXt xextproto xproto;
9053   };
9055   xsane = import ../misc/xsane {
9056     inherit fetchurl stdenv pkgconfig libusb
9057       saneBackends saneFrontends;
9058     inherit (gtkLibs) gtk;
9059     inherit (xlibs) libX11;
9060   };
9062   yafc = import ../applications/networking/yafc {
9063     inherit fetchurl stdenv readline openssh;
9064   };
9066   myEnvFun = import ../misc/my-env {
9067     inherit substituteAll pkgs;
9068     inherit (stdenv) mkDerivation;
9069   };
9071   misc = import ../misc/misc.nix { inherit pkgs stdenv; };
9073 }; in pkgs