libnl 1.x: packaged.
[nixpkgs-libre.git] / pkgs / top-level / all-packages.nix
blob070016a45a3d087c721cfb27b4d1fbf5266fb357
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. */
8 { # The system (e.g., `i686-linux') for which to build the packages.
9   system ? builtins.currentSystem
11   # Usually, the system type uniquely determines the stdenv and thus
12   # how to build the packages.  But on some platforms we have
13   # different stdenvs, leading to different ways to build the
14   # packages.  For instance, on Windows we support both Cygwin and
15   # Mingw builds.  In both cases, `system' is `i686-cygwin'.  The
16   # attribute `stdenvType' is used to select the specific kind of
17   # stdenv to use, e.g., `i686-mingw'.
18 , stdenvType ? system
20 , # The standard environment to use.  Only used for bootstrapping.  If
21   # null, the default standard environment is used.
22   bootStdenv ? null
24   # More flags for the bootstrapping of stdenv.
25 , noSysDirs ? true
26 , gccWithCC ? true
27 , gccWithProfiling ? true
29 , # Allow a configuration attribute set to be passed in as an
30   # argument.  Otherwise, it's read from $NIXPKGS_CONFIG or
31   # ~/.nixpkgs/config.nix.
32   config ? null
34 , crossSystem ? null
35 , platform ? null
39 let config_ = config; platform_ = platform; in # rename the function arguments
41 let
43   lib = import ../lib;
45   # The contents of the configuration file found at $NIXPKGS_CONFIG or
46   # $HOME/.nixpkgs/config.nix.
47   # for NIXOS (nixos-rebuild): use nixpkgs.config option
48   config =
49     let
50       toPath = builtins.toPath;
51       getEnv = x: if builtins ? getEnv then builtins.getEnv x else "";
52       pathExists = name:
53         builtins ? pathExists && builtins.pathExists (toPath name);
55       configFile = getEnv "NIXPKGS_CONFIG";
56       homeDir = getEnv "HOME";
57       configFile2 = homeDir + "/.nixpkgs/config.nix";
59       configExpr =
60         if config_ != null then config_
61         else if configFile != "" && pathExists configFile then import (toPath configFile)
62         else if homeDir != "" && pathExists configFile2 then import (toPath configFile2)
63         else {};
65     in
66       # allow both:
67       # { /* the config */ } and
68       # { pkgs, ... } : { /* the config */ }
69       if builtins.isFunction configExpr
70         then configExpr { inherit pkgs; }
71         else configExpr;
73   # Allow setting the platform in the config file. Otherwise, let's use a reasonable default (pc)
74   platform = if platform_ != null then platform_ 
75     else getConfig [ "platform" ] (import ./platforms.nix).pc;
77   # Return an attribute from the Nixpkgs configuration file, or
78   # a default value if the attribute doesn't exist.
79   getConfig = attrPath: default: lib.attrByPath attrPath default config;
82   # Helper functions that are exported through `pkgs'.
83   helperFunctions =
84     stdenvAdapters //
85     (import ../build-support/trivial-builders.nix { inherit (pkgs) stdenv; inherit (pkgs.xorg) lndir; });
87   stdenvAdapters =
88     import ../stdenv/adapters.nix { inherit (pkgs) dietlibc fetchurl runCommand; };
91   # Allow packages to be overriden globally via the `packageOverrides'
92   # configuration option, which must be a function that takes `pkgs'
93   # as an argument and returns a set of new or overriden packages.
94   # The `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   pkgs = applyGlobalOverrides (getConfig ["packageOverrides"] (pkgs: {}));
101   # Return the complete set of packages, after applying the overrides
102   # returned by the `overrider' function (see above).
103   applyGlobalOverrides = overrider:
104     let
105       # Call the overrider function.  We don't want stdenv overrides
106       # in the case of cross-building, or otherwise the basic
107       # overrided packages will not be built with the crossStdenv
108       # adapter.
109       overrides = overrider pkgsOrig //
110         (lib.optionalAttrs (pkgsOrig.stdenv ? overrides && crossSystem == null) pkgsOrig.stdenv.overrides);
112       # The un-overriden packages, passed to `overrider'.
113       pkgsOrig = pkgsFun pkgs {};
115       # The overriden, final packages.
116       pkgs = pkgsFun pkgs overrides;
117     in pkgs;
120   # The package compositions.  Yes, this isn't properly indented.
121   pkgsFun = pkgs: __overrides:
122     with helperFunctions;
123     let defaultScope = pkgs // pkgs.xorg; in
124     helperFunctions // rec {
126   # `__overrides' is a magic attribute that causes the attributes in
127   # its value to be added to the surrounding `rec'.  We'll remove this
128   # eventually.
129   inherit __overrides;
132   # We use `callPackage' to be able to omit function arguments that
133   # can be obtained from `pkgs' or `pkgs.xorg' (i.e. `defaultScope').
134   # Use `newScope' for sets of packages in `pkgs' (see e.g. `gtkLibs'
135   # below).
136   callPackage = newScope {};
138   newScope = extra: lib.callPackageWith (defaultScope // extra);
141   # Override system. This is useful to build i686 packages on x86_64-linux.
142   forceSystem = system: (import ./all-packages.nix) {
143     inherit system;
144     inherit bootStdenv noSysDirs gccWithCC gccWithProfiling config;
145   };
148   # Used by wine, firefox with debugging version of Flash, ...
149   pkgsi686Linux = forceSystem "i686-linux";
151   callPackage_i686 = lib.callPackageWith (pkgsi686Linux // pkgsi686Linux.xorg);
154   # For convenience, allow callers to get the path to Nixpkgs.
155   path = ../..;
158   ### Symbolic names.
161   x11 = xlibsWrapper;
163   # `xlibs' is the set of X library components.  This used to be the
164   # old modular X libraries project (called `xlibs') but now it's just
165   # the set of packages in the modular X.org tree (which also includes
166   # non-library components like the server, drivers, fonts, etc.).
167   xlibs = xorg // {xlibs = xlibsWrapper;};
170   ### Helper functions.
173   inherit lib config getConfig stdenvAdapters;
175   inherit (lib) lowPrio hiPrio appendToName makeOverridable;
177   # Applying this to an attribute set will cause nix-env to look
178   # inside the set for derivations.
179   recurseIntoAttrs = attrs: attrs // {recurseForDerivations = true;};
181   builderDefs = lib.composedArgsAndFun (import ../build-support/builder-defs/builder-defs.nix) {
182     inherit stringsWithDeps lib stdenv writeScript
183       fetchurl fetchmtn fetchgit;
184   };
186   builderDefsPackage = builderDefs.builderDefsPackage builderDefs;
188   stringsWithDeps = lib.stringsWithDeps;
191   ### STANDARD ENVIRONMENT
194   allStdenvs = import ../stdenv {
195     inherit system stdenvType platform;
196     allPackages = args: import ./all-packages.nix ({ inherit config; } // args);
197   };
199   defaultStdenv = allStdenvs.stdenv // { inherit platform; };
201   stdenvCross = makeStdenvCross defaultStdenv crossSystem binutilsCross
202     gccCrossStageFinal;
204   stdenv =
205     if bootStdenv != null then (bootStdenv // {inherit platform;}) else
206       let changer = getConfig ["replaceStdenv"] null;
207       in if changer != null then
208         changer {
209           stdenv = stdenvCross;
210           overrideSetup = overrideSetup;
211         }
212       else if crossSystem != null then
213         stdenvCross
214       else
215         defaultStdenv;
217   forceBuildDrv = drv : if (crossSystem == null) then drv else
218     (drv // { hostDrv = drv.buildDrv; });
220   # A stdenv capable of building 32-bit binaries.  On x86_64-linux,
221   # it uses GCC compiled with multilib support; on i686-linux, it's
222   # just the plain stdenv.
223   stdenv_32bit =
224     if system == "x86_64-linux" then
225       overrideGCC stdenv gcc43_multi
226     else
227       stdenv;
230   ### BUILD SUPPORT
232   attrSetToDir = arg : import ../build-support/upstream-updater/attrset-to-dir.nix {
233     inherit writeTextFile stdenv lib;
234     theAttrSet = arg;
235   };
237   buildEnv = import ../build-support/buildenv {
238     inherit runCommand perl;
239   };
241   dotnetenv = import ../build-support/dotnetenv {
242     inherit stdenv;
243     dotnetfx = dotnetfx35;
244   };
246   vsenv = callPackage ../build-support/vsenv {
247     vs = vs90wrapper;
248   };
250   fetchbzr = import ../build-support/fetchbzr {
251     inherit stdenv bazaar;
252   };
254   fetchcvs = import ../build-support/fetchcvs {
255     inherit stdenv cvs;
256   };
258   fetchdarcs = import ../build-support/fetchdarcs {
259     inherit stdenv darcs nix;
260   };
262   fetchgit = import ../build-support/fetchgit {
263     inherit stdenv git;
264   };
266   fetchgitrevision = import ../build-support/fetchgitrevision runCommand git;
268   fetchmtn = import ../build-support/fetchmtn {
269     inherit monotone stdenv;
270     cacheDB = getConfig ["fetchmtn" "cacheDB"] "";
271     defaultDBMirrors = getConfig ["fetchmtn" "defaultDBMirrors"] [];
272   };
274   fetchsvn = import ../build-support/fetchsvn {
275     inherit stdenv subversion openssh;
276     sshSupport = true;
277   };
278   
279   fetchsvnrevision = import ../build-support/fetchsvnrevision runCommand subversion;
281   fetchsvnssh = import ../build-support/fetchsvnssh {
282     inherit stdenv subversion openssh expect;
283     sshSupport = true;
284   };
286   fetchhg = import ../build-support/fetchhg {
287     inherit stdenv mercurial nix;
288   };
290   # `fetchurl' downloads a file from the network.
291   fetchurl = import ../build-support/fetchurl {
292     inherit curl stdenv;
293   };
295   # fetchurlBoot is used for curl and its dependencies in order to
296   # prevent a cyclic dependency (curl depends on curl.tar.bz2,
297   # curl.tar.bz2 depends on fetchurl, fetchurl depends on curl).  It
298   # uses the curl from the previous bootstrap phase (e.g. a statically
299   # linked curl in the case of stdenv-linux).
300   fetchurlBoot = stdenv.fetchurlBoot;
302   resolveMirrorURLs = {url}: fetchurl {
303     showURLs = true;
304     inherit url;
305   };
307   makeDesktopItem = import ../build-support/make-desktopitem {
308     inherit stdenv;
309   };
311   makeInitrd = {contents}: import ../build-support/kernel/make-initrd.nix {
312     inherit stdenv perl cpio contents ubootChooser;
313   };
315   makeWrapper = makeSetupHook ../build-support/make-wrapper/make-wrapper.sh;
317   makeModulesClosure = {kernel, rootModules, allowMissing ? false}:
318     import ../build-support/kernel/modules-closure.nix {
319       inherit stdenv module_init_tools kernel nukeReferences
320         rootModules allowMissing;
321     };
323   pathsFromGraph = ../build-support/kernel/paths-from-graph.pl;
325   srcOnly = args: (import ../build-support/src-only) ({inherit stdenv; } // args);
327   substituteAll = import ../build-support/substitute/substitute-all.nix {
328     inherit stdenv;
329   };
331   nukeReferences = callPackage ../build-support/nuke-references/default.nix { };
333   vmTools = import ../build-support/vm/default.nix {
334     inherit pkgs;
335   };
337   releaseTools = import ../build-support/release/default.nix {
338     inherit pkgs;
339   };
341   composableDerivation = (import ../lib/composable-derivation.nix) {
342     inherit pkgs lib;
343   };
345   platforms = import ./platforms.nix;
347   ### TOOLS
349   acct = callPackage ../tools/system/acct { };
351   aefs = callPackage ../tools/filesystems/aefs { };
353   aircrackng = callPackage ../tools/networking/aircrack-ng { };
355   asymptote = builderDefsPackage ../tools/graphics/asymptote {
356     inherit freeglut ghostscriptX imagemagick fftw boehmgc
357       mesa ncurses readline gsl libsigsegv python zlib perl
358       texinfo lzma;
359     texLive = texLiveAggregationFun {
360       paths = [
361         texLive texLiveExtra
362       ];
363     };
364   };
366   ec2apitools = callPackage ../tools/virtualization/amazon-ec2-api-tools { };
368   ec2amitools = callPackage ../tools/virtualization/amazon-ec2-ami-tools { };
370   altermime = callPackage ../tools/networking/altermime {};
372   amule = callPackage ../tools/networking/p2p/amule { };
374   amuleDaemon = appendToName "daemon" (amule.override {
375     monolithic = false;
376     daemon = true;
377   });
379   amuleGui = appendToName "gui" (amule.override {
380     monolithic = false;
381     client = true;
382   });
384   aria = builderDefsPackage (import ../tools/networking/aria) {
385   };
387   aria2 = callPackage ../tools/networking/aria2 { };
389   at = callPackage ../tools/system/at { };
391   autogen = callPackage ../development/tools/misc/autogen { };
393   autojump = callPackage ../tools/misc/autojump { };
395   avahi =
396     let qt4Support = getConfig [ "avahi" "qt4Support" ] false;
397     in
398       makeOverridable (import ../development/libraries/avahi) {
399         inherit stdenv fetchurl pkgconfig libdaemon dbus perl perlXMLParser
400           expat gettext intltool lib;
401         inherit (gtkLibs) glib gtk;
402         inherit qt4Support;
403         qt4 = if qt4Support then qt4 else null;
404       };
406   axel = callPackage ../tools/networking/axel { };
408   azureus = callPackage ../tools/networking/p2p/azureus { };
410   barcode = callPackage ../tools/graphics/barcode {};
412   bc = callPackage ../tools/misc/bc { };
414   bfr = callPackage ../tools/misc/bfr { };
416   bootchart = callPackage ../tools/system/bootchart { };
418   btrfsProgs = builderDefsPackage (import ../tools/filesystems/btrfsprogs) {
419     inherit libuuid zlib acl;
420   };
422   catdoc = callPackage ../tools/text/catdoc { };
424   eggdrop = callPackage ../tools/networking/eggdrop { };
426   mcrl = callPackage ../tools/misc/mcrl { };
428   mcrl2 = callPackage ../tools/misc/mcrl2 { };
430   syslogng = callPackage ../tools/misc/syslog-ng { };
432   asciidoc = callPackage ../tools/typesetting/asciidoc { };
434   autossh = callPackage ../tools/networking/autossh { };
436   bibtextools = callPackage ../tools/typesetting/bibtex-tools {
437     inherit (strategoPackages016) strategoxt sdf;
438   };
440   bittorrent = callPackage ../tools/networking/p2p/bittorrent {
441     wxPython = wxPython26;
442     gui = true;
443   };
445   bittornado = callPackage ../tools/networking/p2p/bit-tornado { };
447   blueman = callPackage ../tools/bluetooth/blueman {
448     inherit (pythonPackages) notify;
449   };
451   bmrsa = builderDefsPackage (import ../tools/security/bmrsa/11.nix) {
452     inherit unzip;
453   };
455   bogofilter = callPackage ../tools/misc/bogofilter {
456     bdb = db4;
457   };
459   bsdiff = callPackage ../tools/compression/bsdiff { };
461   bzip2 = callPackage ../tools/compression/bzip2 { };
463   cabextract = callPackage ../tools/archivers/cabextract { };
465   ccid = callPackage ../tools/security/ccid { };
467   ccrypt = callPackage ../tools/security/ccrypt { };
469   cdecl = callPackage ../development/tools/cdecl { };
471   cdrdao = callPackage ../tools/cd-dvd/cdrdao { };
473   cdrkit = callPackage ../tools/cd-dvd/cdrkit { };
475   cfdg = builderDefsPackage ../tools/graphics/cfdg {
476     inherit libpng bison flex;
477   };
479   checkinstall = callPackage ../tools/package-management/checkinstall { };
481   cheetahTemplate = builderDefsPackage (import ../tools/text/cheetah-template/2.0.1.nix) {
482     inherit makeWrapper python;
483   };
485   chkrootkit = callPackage ../tools/security/chkrootkit { };
487   cksfv = callPackage ../tools/networking/cksfv { };
489   convertlit = callPackage ../tools/text/convertlit { };
491   unifdef = callPackage ../development/tools/misc/unifdef { };
493   usb_modeswitch = callPackage ../development/tools/misc/usb-modeswitch { };
495   cloogppl = callPackage ../development/libraries/cloog-ppl { };
497   convmv = callPackage ../tools/misc/convmv { };
499   coreutils = callPackage (if stdenv ? isDietLibC
500       then ../tools/misc/coreutils-5
501       else ../tools/misc/coreutils)
502     {
503       # TODO: Add ACL support for cross-Linux.
504       aclSupport = crossSystem == null && stdenv.isLinux;
505     };
507   cpio = callPackage ../tools/archivers/cpio { };
509   cromfs = callPackage ../tools/archivers/cromfs { };
511   cron = callPackage ../tools/system/cron {  # see also fcron
512   };
514   curl = makeOverridable (import ../tools/networking/curl) rec {
515     fetchurl = fetchurlBoot;
516     inherit stdenv zlib openssl libssh2;
517     zlibSupport = ! ((stdenv ? isDietLibC) || (stdenv ? isStatic));
518     sslSupport = zlibSupport;
519     scpSupport = zlibSupport && !stdenv.isSunOS && !stdenv.isCygwin;
520   };
522   curlftpfs = callPackage ../tools/filesystems/curlftpfs { };
524   dadadodo = builderDefsPackage (import ../tools/text/dadadodo) {
525   };
527   dar = callPackage ../tools/archivers/dar { };
529   davfs2 = callPackage ../tools/filesystems/davfs2 {
530     neon = neon028;
531   };
533   dcraw = callPackage ../tools/graphics/dcraw { };
535   debootstrap = callPackage ../tools/misc/debootstrap { };
537   detox = callPackage ../tools/misc/detox { };
539   ddclient = callPackage ../tools/networking/ddclient { };
541   dd_rescue = callPackage ../tools/system/dd_rescue { };
543   ddrescue = callPackage ../tools/system/ddrescue { };
545   desktop_file_utils = callPackage ../tools/misc/desktop-file-utils { };
547   dev86 = callPackage ../development/compilers/dev86 {
548     /* Using GNU Make 3.82 leads to this:
549          make[4]: *** No rule to make target `__ldivmod.o)'
550        So use 3.81.  */
551     stdenv = overrideInStdenv stdenv [gnumake381];
552   };
554   dnsmasq = callPackage ../tools/networking/dnsmasq {
555     # TODO i18n can be installed as well, implement it?
556   };
558   dhcp = callPackage ../tools/networking/dhcp { };
560   dhcpcd = callPackage ../tools/networking/dhcpcd { };
562   diffstat = callPackage ../tools/text/diffstat { };
564   diffutils = callPackage ../tools/text/diffutils { };
566   dirmngr = callPackage ../tools/security/dirmngr { };
568   docbook2x = callPackage ../tools/typesetting/docbook2x {
569     inherit (perlPackages) XMLSAX XMLParser XMLNamespaceSupport;
570     libiconv = if stdenv.isDarwin then libiconv else null;
571   };
573   dosfstools = callPackage ../tools/filesystems/dosfstools { };
575   dotnetfx35 = callPackage ../development/libraries/dotnetfx35 { };
577   dropbear = callPackage ../tools/networking/dropbear {
578     enableStatic = true;
579     zlib = zlibStatic;
580   };
582   duplicity = callPackage ../tools/backup/duplicity {
583     inherit (pythonPackages) boto;
584     gnupg = gnupg1;
585   };
587   dvdplusrwtools = callPackage ../tools/cd-dvd/dvd+rw-tools { };
589   e2fsprogs = callPackage ../tools/filesystems/e2fsprogs { };
591   ebook_tools = callPackage ../tools/text/ebook-tools { };
593   ecryptfs = callPackage ../tools/security/ecryptfs { };
595   enblendenfuse = callPackage ../tools/graphics/enblend-enfuse { };
597   encfs = callPackage ../tools/filesystems/encfs { };
599   enscript = callPackage ../tools/text/enscript { };
601   ethtool = callPackage ../tools/misc/ethtool { };
603   exif = callPackage ../tools/graphics/exif { };
605   exiftags = callPackage ../tools/graphics/exiftags { };
607   expect = callPackage ../tools/misc/expect { };
609   fcron = callPackage ../tools/system/fcron {  # see also cron
610   };
612   fdisk = callPackage ../tools/system/fdisk { };
614   fdm = callPackage ../tools/networking/fdm {};
616   figlet = callPackage ../tools/misc/figlet { };
618   file = callPackage ../tools/misc/file { };
620   fileschanged = callPackage ../tools/misc/fileschanged { };
622   findutils =
623     if stdenv.isDarwin
624     then findutils4227
625     else callPackage ../tools/misc/findutils { };
627   findutils4227 = callPackage ../tools/misc/findutils/4.2.27.nix { };
629   finger_bsd = callPackage ../tools/networking/bsd-finger { };
631   flvstreamer = callPackage ../tools/networking/flvstreamer { };
633   fontforge = callPackage ../tools/misc/fontforge { };
635   fontforgeX = callPackage ../tools/misc/fontforge {
636     withX11 = true;
637   };
639   freetalk = callPackage ../applications/networking/instant-messengers/freetalk {};
641   ftgl = callPackage ../development/libraries/ftgl { };
643   dos2unix = callPackage ../tools/text/dos2unix { };
645   unix2dos = callPackage ../tools/text/unix2dos { };
647   uni2ascii = callPackage ../tools/text/uni2ascii { };
649   gawk = callPackage ../tools/text/gawk { };
651   gdmap = callPackage ../tools/system/gdmap {
652     inherit (gtkLibs216) gtk;
653   };
655   genext2fs = callPackage ../tools/filesystems/genext2fs { };
657   gengetopt = callPackage ../development/tools/misc/gengetopt { };
659   getmail = callPackage ../tools/networking/getmail {
660     python = pythonFull;
661   };
663   getopt = callPackage ../tools/misc/getopt { };
665   gftp = callPackage ../tools/networking/gftp { };
667   gifsicle = callPackage ../tools/graphics/gifsicle { };
669   glusterfs = builderDefsPackage ../tools/filesystems/glusterfs {
670     inherit fuse flex bison;
671   };
673   glxinfo = callPackage ../tools/graphics/glxinfo { };
675   gnokii = builderDefsPackage (import ../tools/misc/gnokii) {
676     inherit intltool perl gettext libusb pkgconfig;
677     inherit (gtkLibs) gtk glib;
678   };
680   gnugrep =
681     # Use libiconv only on non-GNU platforms (we can't test with
682     # `stdenv ? glibc' at this point.)
683     let gnu = stdenv.isLinux; in
684       callPackage ../tools/text/gnugrep {
685         libiconv = if gnu then null else libiconv;
686       };
688   gnupatch = callPackage ../tools/text/gnupatch { };
690   gnupg1orig = callPackage ../tools/security/gnupg1 {
691     ideaSupport = false;
692   };
694   gnupg1compat = callPackage ../tools/security/gnupg1compat { };
696   # use config.packageOverrides if you prefer original gnupg1
697   gnupg1 = gnupg1compat;
699   gnupg = callPackage ../tools/security/gnupg { };
701   gnuplot = callPackage ../tools/graphics/gnuplot {
702     inherit (gtkLibs) pango;
703     texLive = null;
704     lua = null;
705   };
707   gnused = callPackage ../tools/text/gnused { };
709   gnused_4_2 = callPackage ../tools/text/gnused/4.2.nix { };
711   gnutar = callPackage ../tools/archivers/gnutar { };
713   gnuvd = callPackage ../tools/misc/gnuvd { };
715   gource = callPackage ../tools/misc/gource { };
717   graphviz = callPackage ../tools/graphics/graphviz {
718     inherit (gtkLibs) pango;
719   };
721   /* Readded by Michael Raskin. There are programs in the wild
722    * that do want 2.0 but not 2.22. Please give a day's notice for
723    * objections before removal.
724    */
725   graphviz_2_0 = callPackage ../tools/graphics/graphviz/2.0.nix {
726     inherit (gtkLibs) pango;
727   };
729   groff = callPackage ../tools/text/groff {
730     ghostscript = null;
731   };
733   grub = callPackage_i686 ../tools/misc/grub {
734     buggyBiosCDSupport = getConfig ["grub" "buggyBiosCDSupport"] true;
735   };
737   grub2 = callPackage ../tools/misc/grub/1.9x.nix { };
739   gssdp = callPackage ../development/libraries/gssdp {
740     inherit (gnome) libsoup;
741   };
743   gt5 = callPackage ../tools/system/gt5 { };
745   gtkgnutella = callPackage ../tools/networking/p2p/gtk-gnutella { };
747   gupnp = callPackage ../development/libraries/gupnp {
748     inherit (gnome) libsoup;
749   };
751   gupnptools = callPackage ../tools/networking/gupnp-tools {
752     inherit (gnome) libsoup libglade gnomeicontheme;
753   };
755   gvpe = builderDefsPackage ../tools/networking/gvpe {
756     inherit openssl gmp nettools iproute;
757   };
759   gzip = callPackage ../tools/compression/gzip { };
761   pigz = callPackage ../tools/compression/pigz { };
763   halibut = callPackage ../tools/typesetting/halibut { };
765   hddtemp = callPackage ../tools/misc/hddtemp { };
767   hdf5 = callPackage ../tools/misc/hdf5 { };
768   
769   hevea = callPackage ../tools/typesetting/hevea { };
771   highlight = callPackage ../tools/text/highlight { };
773   host = callPackage ../tools/networking/host { };
775   httpfs2 = callPackage ../tools/filesystems/httpfs { };
777   iasl = callPackage ../development/compilers/iasl { };
779   idutils = callPackage ../tools/misc/idutils { };
781   iftop = callPackage ../tools/networking/iftop { };
783   imapsync = callPackage ../tools/networking/imapsync {
784     inherit (perlPackages) MailIMAPClient;
785   };
787   inetutils = callPackage ../tools/networking/inetutils { };
789   iodine = callPackage ../tools/networking/iodine { };
791   iperf = callPackage ../tools/networking/iperf { };
793   ipmitool = callPackage ../tools/system/ipmitool {
794     static = false;
795   };
797   ised = callPackage ../tools/misc/ised {};
799   jdiskreport = callPackage ../tools/misc/jdiskreport { };
801   jfsrec = callPackage ../tools/filesystems/jfsrec { };
803   jfsutils = callPackage ../tools/filesystems/jfsutils { };
805   jhead = callPackage ../tools/graphics/jhead { };
807   jing = callPackage ../tools/text/xml/jing { };
809   jing_tools = callPackage ../tools/text/xml/jing/jing-script.nix { };
811   jnettop = callPackage ../tools/networking/jnettop {
812     inherit (gnome) glib;
813   };
815   jwhois = callPackage ../tools/networking/jwhois { };
817   kdiff3 = newScope pkgs.kde4 ../tools/text/kdiff3 { };
819   keychain = callPackage ../tools/misc/keychain { };
821   kismet = callPackage ../applications/networking/sniffers/kismet { };
823   less = callPackage ../tools/misc/less { };
825   most = callPackage ../tools/misc/most { };
827   lftp = callPackage ../tools/networking/lftp { };
829   libtorrent = callPackage ../tools/networking/p2p/libtorrent { };
831   logrotate = callPackage ../tools/system/logrotate { };
833   lout = callPackage ../tools/typesetting/lout { };
835   lrzip = callPackage ../tools/compression/lrzip { };
837   # lsh installs `bin/nettle-lfib-stream' and so does Nettle.  Give the
838   # former a lower priority than Nettle.
839   lsh = lowPrio (callPackage ../tools/networking/lsh { });
841   lshw = callPackage ../tools/system/lshw { };
843   lxc = callPackage ../tools/system/lxc { };
845   lzma = xz;
847   xz = callPackage ../tools/compression/xz { };
849   lzop = callPackage ../tools/compression/lzop { };
851   mailutils = callPackage ../tools/networking/mailutils { };
853   man = callPackage ../tools/misc/man { };
855   man_db = callPackage ../tools/misc/man-db { };
857   memtest86 = callPackage ../tools/misc/memtest86 { };
859   mc = callPackage ../tools/misc/mc { };
861   mcabber = callPackage ../applications/networking/instant-messengers/mcabber { };
863   mcron = callPackage ../tools/system/mcron { };
865   mdbtools = callPackage ../tools/misc/mdbtools { };
867   mdbtools_git = callPackage ../tools/misc/mdbtools/git.nix { };
869   miniupnpd = callPackage ../tools/networking/miniupnpd { };
871   mjpegtools = callPackage ../tools/video/mjpegtools { };
873   mkisofs = callPackage ../tools/cd-dvd/mkisofs { };
875   mktemp = callPackage ../tools/security/mktemp { };
877   mldonkey = callPackage ../applications/networking/p2p/mldonkey { };
879   monit = builderDefsPackage ../tools/system/monit {
880     inherit openssl flex bison;
881   };
883   mpage = callPackage ../tools/text/mpage { };
885   msf = builderDefsPackage (import ../tools/security/metasploit/3.1.nix) {
886     inherit ruby makeWrapper;
887   };
889   mssys = callPackage ../tools/misc/mssys { };
891   mtdutils = callPackage ../tools/filesystems/mtdutils { };
893   mtools = callPackage ../tools/filesystems/mtools { };
895   multitran = recurseIntoAttrs (let callPackage = newScope pkgs.multitran; in rec {
896     multitrandata = callPackage ../tools/text/multitran/data { };
898     libbtree = callPackage ../tools/text/multitran/libbtree { };
900     libmtsupport = callPackage ../tools/text/multitran/libmtsupport { };
902     libfacet = callPackage ../tools/text/multitran/libfacet { };
904     libmtquery = callPackage ../tools/text/multitran/libmtquery { };
906     mtutils = callPackage ../tools/text/multitran/mtutils { };
907   });
909   muscleframework = callPackage ../tools/security/muscleframework { };
911   muscletool = callPackage ../tools/security/muscletool { };
913   mysql2pgsql = callPackage ../tools/misc/mysql2pgsql { };
915   namazu = callPackage ../tools/text/namazu { };
917   nbd = callPackage ../tools/networking/nbd {
918     glib = gtkLibs.glib.override {
919       stdenv = makeStaticBinaries stdenv;
920     };
921   };
923   netcdf = callPackage ../development/libraries/netcdf { };
925   nc6 = callPackage ../tools/networking/nc6 { };
927   ncat = callPackage ../tools/networking/ncat { };
929   ncftp = callPackage ../tools/networking/ncftp { };
931   ncompress = callPackage ../tools/compression/ncompress { };
933   netcat = callPackage ../tools/networking/netcat { };
935   netkittftp = callPackage ../tools/networking/netkit/tftp { };
937   netpbm = callPackage ../tools/graphics/netpbm { };
939   netselect = callPackage ../tools/networking/netselect { };
941   nilfs_utils = callPackage ../tools/filesystems/nilfs-utils {};
943   nmap = callPackage ../tools/security/nmap {
944     inherit (pythonPackages) pysqlite;
945   };
947   ntfs3g = callPackage ../tools/filesystems/ntfs-3g { };
949   ntfsprogs = callPackage ../tools/filesystems/ntfsprogs { };
951   ntp = callPackage ../tools/networking/ntp { };
953   nssmdns = callPackage ../tools/networking/nss-mdns { };
955   nylon = callPackage ../tools/networking/nylon { };
957   obex_data_server = callPackage ../tools/bluetooth/obex-data-server { };
959   obexd = callPackage ../tools/bluetooth/obexd { };
961   obexfs = callPackage ../tools/bluetooth/obexfs { };
963   obexftp = callPackage ../tools/bluetooth/obexftp { };
965   offlineimap = import ../tools/networking/offlineimap {
966     inherit fetchurl;
967     # I did not find any better way of reusing buildPythonPackage+setuptools
968     # for a python with openssl support
969     buildPythonPackage = assert pythonFull.opensslSupport;
970       import ../development/python-modules/generic {
971         inherit makeWrapper lib;
972         python = pythonFull;
973         setuptools = builderDefsPackage (import ../development/python-modules/setuptools) {
974           inherit makeWrapper;
975           python = pythonFull;
976         };
977       };
978   };
980   opendbx = callPackage ../development/libraries/opendbx { };
982   opendkim = callPackage ../development/libraries/opendkim { };
984   openjade = callPackage ../tools/text/sgml/openjade {
985     stdenv = overrideGCC stdenv gcc33;
986     opensp = opensp.override { stdenv = overrideGCC stdenv gcc33; };
987   };
989   openobex = callPackage ../tools/bluetooth/openobex { };
991   opensc_0_11_7 = callPackage ../tools/security/opensc/0.11.7.nix { };
993   opensc = opensc_0_11_7;
995   opensc_dnie_wrapper = callPackage ../tools/security/opensc-dnie-wrapper { };
997   openssh = callPackage ../tools/networking/openssh {
998     hpnSupport = false;
999     etcDir = "/etc/ssh";
1000   };
1002   opensp = callPackage ../tools/text/sgml/opensp { };
1004   spCompat = callPackage ../tools/text/sgml/opensp/compat.nix { };
1006   openvpn = callPackage ../tools/networking/openvpn { };
1008   optipng = callPackage ../tools/graphics/optipng { };
1010   p7zip = callPackage ../tools/archivers/p7zip { };
1012   pal = callPackage ../tools/misc/pal { };
1014   panomatic = callPackage ../tools/graphics/panomatic { };
1016   par2cmdline = callPackage ../tools/networking/par2cmdline { };
1018   parallel = callPackage ../tools/misc/parallel { };
1020   patchutils = callPackage ../tools/text/patchutils { };
1022   parted = callPackage ../tools/misc/parted { };
1024   hurdPartedCross =
1025     if crossSystem != null && crossSystem.config == "i586-pc-gnu"
1026     then (callPackage ../tools/misc/parted {
1027         # Needs the Hurd's libstore.
1028         hurd = hurdCrossIntermediate;
1030         # The Hurd wants a libparted.a.
1031         enableStatic = true;
1033         gettext = null;
1034         readline = null;
1035         devicemapper = null;
1036       }).hostDrv
1037     else null;
1039   patch = gnupatch;
1041   pbzip2 = callPackage ../tools/compression/pbzip2 { };
1043   pciutils = callPackage ../tools/system/pciutils { };
1045   pcsclite = callPackage ../tools/security/pcsclite { };
1047   pdf2djvu = callPackage ../tools/typesetting/pdf2djvu { };
1049   pdfjam = callPackage ../tools/typesetting/pdfjam { };
1051   pdfread = callPackage ../tools/graphics/pdfread { };
1053   pg_top = callPackage ../tools/misc/pg_top { };
1055   pdsh = callPackage ../tools/networking/pdsh {
1056     rsh = true;          # enable internal rsh implementation
1057     ssh = openssh;
1058   };
1060   pfstools = callPackage ../tools/graphics/pfstools {
1061     qt = qt3;
1062   };
1064   philter = callPackage ../tools/networking/philter { };
1066   pinentry = callPackage ../tools/misc/pinentry {
1067     inherit (gnome) glib gtk;
1068   };
1070   pius = callPackage ../tools/security/pius { };
1072   pk2cmd = callPackage ../tools/misc/pk2cmd { };
1074   plan9port = callPackage ../tools/system/plan9port { };
1076   ploticus = callPackage ../tools/graphics/ploticus { };
1078   plotutils = callPackage ../tools/graphics/plotutils { };
1080   pngnq = callPackage ../tools/graphics/pngnq { };
1082   povray = callPackage ../tools/graphics/povray { };
1084   ppl = callPackage ../development/libraries/ppl { };
1086   /* WARNING: this version is unsuitable for using with a setuid wrapper */
1087   ppp = builderDefsPackage (import ../tools/networking/ppp) {
1088   };
1090   proxychains = callPackage ../tools/networking/proxychains { };
1092   proxytunnel = callPackage ../tools/misc/proxytunnel { };
1094   psmisc = callPackage ../os-specific/linux/psmisc { };
1096   pstoedit = callPackage ../tools/graphics/pstoedit { };
1098   pv = callPackage ../tools/misc/pv { };
1100   pwgen = callPackage ../tools/security/pwgen { };
1102   pydb = callPackage ../tools/pydb { };
1104   pystringtemplate = callPackage ../development/python-modules/stringtemplate { };
1106   pythonDBus = builderDefsPackage (import ../development/python-modules/dbus) {
1107     inherit python pkgconfig dbus_glib;
1108     dbus = dbus.libs;
1109   };
1111   pythonIRClib = builderDefsPackage (import ../development/python-modules/irclib) {
1112     inherit python;
1113   };
1115   pythonSexy = builderDefsPackage (import ../development/python-modules/libsexy) {
1116     inherit python libsexy pkgconfig libxml2 pygtk;
1117     inherit (gtkLibs) pango gtk glib;
1118   };
1120   openmpi = callPackage ../development/libraries/openmpi { };
1122   qdu = callPackage ../tools/misc/qdu { };
1124   qhull = callPackage ../development/libraries/qhull { };
1126   qshowdiff = callPackage ../tools/text/qshowdiff {
1127     qt = qt4;
1128   };
1130   rtmpdump = callPackage ../tools/video/rtmpdump { };
1132   recutils = callPackage ../tools/misc/recutils { };
1134   reiser4progs = callPackage ../tools/filesystems/reiser4progs { };
1136   reiserfsprogs = callPackage ../tools/filesystems/reiserfsprogs { };
1138   relfs = callPackage ../tools/filesystems/relfs {
1139     inherit (gnome) gnomevfs GConf;
1140   };
1142   remind = callPackage ../tools/misc/remind { };
1144   replace = callPackage ../tools/text/replace { };
1146   /*
1147   rdiff_backup = callPackage ../tools/backup/rdiff-backup {
1148     python=python;  };
1149   */
1151   ripmime = callPackage ../tools/networking/ripmime {};
1153   rsnapshot = callPackage ../tools/backup/rsnapshot {
1155     # For the `logger' command, we can use either `utillinux' or
1156     # GNU Inetutils.  The latter is more portable.
1157     logger = inetutils;
1158   };
1160   rlwrap = callPackage ../tools/misc/rlwrap { };
1162   rpPPPoE = builderDefsPackage (import ../tools/networking/rp-pppoe) {
1163     inherit ppp;
1164   };
1166   rpm = callPackage ../tools/package-management/rpm {
1167     db4 = db45;
1168   };
1170   rrdtool = callPackage ../tools/misc/rrdtool {
1171     inherit (gtkLibs) pango;
1172   };
1174   rtorrent = callPackage ../tools/networking/p2p/rtorrent { };
1176   rubber = callPackage ../tools/typesetting/rubber { };
1178   rxp = callPackage ../tools/text/xml/rxp { };
1180   rzip = callPackage ../tools/compression/rzip { };
1182   s3backer = callPackage ../tools/filesystems/s3backer { };
1184   s3sync = callPackage ../tools/networking/s3sync { };
1186   sablotron = callPackage ../tools/text/xml/sablotron { };
1188   screen = callPackage ../tools/misc/screen { };
1190   scrot = callPackage ../tools/graphics/scrot { };
1192   seccure = callPackage ../tools/security/seccure/0.4.nix { };
1194   setserial = builderDefsPackage (import ../tools/system/setserial) {
1195     inherit groff;
1196   };
1198   sg3_utils = callPackage ../tools/system/sg3_utils { };
1200   sharutils = callPackage ../tools/archivers/sharutils { };
1202   shebangfix = callPackage ../tools/misc/shebangfix { };
1204   slimrat = callPackage ../tools/networking/slimrat {
1205     inherit (perlPackages) WWWMechanize LWP;
1206   };
1208   slsnif = callPackage ../tools/misc/slsnif { };
1210   smartmontools = callPackage ../tools/system/smartmontools { };
1212   fusesmb = callPackage ../tools/filesystems/fusesmb { };
1214   socat = callPackage ../tools/networking/socat { };
1216   sourceHighlight = callPackage ../tools/text/source-highlight { };
1218   socat2pre = builderDefsPackage ../tools/networking/socat/2.0.0-b3.nix {
1219     inherit fetchurl stdenv openssl;
1220   };
1222   squashfsTools = callPackage ../tools/filesystems/squashfs { };
1224   sshfsFuse = callPackage ../tools/filesystems/sshfs-fuse { };
1226   sudo = callPackage ../tools/security/sudo { };
1228   suidChroot = builderDefsPackage (import ../tools/system/suid-chroot) {
1229   };
1231   ssmtp = callPackage ../tools/networking/ssmtp {
1232     tlsSupport = true;
1233   };
1235   ssss = callPackage ../tools/security/ssss { };
1237   stun = callPackage ../tools/networking/stun { };
1239   stunnel = callPackage ../tools/networking/stunnel { };
1241   su = shadow;
1243   swec = callPackage ../tools/networking/swec {
1244     inherit (perlPackages) LWP URI HTMLParser HTTPServerSimple Parent;
1245   };
1247   svnfs = callPackage ../tools/filesystems/svnfs { };
1249   system_config_printer = callPackage ../tools/misc/system-config-printer {
1250     inherit (pythonPackages) notify;
1251     libxml2 = libxml2Python;
1252    };
1254   sitecopy = callPackage ../tools/networking/sitecopy { };
1256   privoxy = callPackage ../tools/networking/privoxy {
1257     autoconf = autoconf213;
1258   };
1260   tcpdump = callPackage ../tools/networking/tcpdump { };
1262   tcng = callPackage ../tools/networking/tcng {
1263     kernel = linux_2_6_28;
1264   };
1266   telnet = callPackage ../tools/networking/telnet { };
1268   texmacs = callPackage ../applications/editors/texmacs {
1269     tex = texLive; /* tetex is also an option */
1270     extraFonts = true;
1271   };
1273   tmux = callPackage ../tools/misc/tmux { };
1275   tor = callPackage ../tools/security/tor { };
1277   torsocks = callPackage ../tools/security/tor/torsocks.nix { };
1279   ttf2pt1 = callPackage ../tools/misc/ttf2pt1 { };
1280   ttf2pt1_cl_pdf = callPackage ../tools/misc/ttf2pt1 { };
1282   ucl = callPackage ../development/libraries/ucl { };
1284   ufraw = callPackage ../applications/graphics/ufraw {
1285     inherit (gnome) gtk;
1286   };
1288   unetbootin = callPackage ../tools/cd-dvd/unetbootin { };
1290   upx = callPackage ../tools/compression/upx { };
1292   usbmuxd = callPackage ../tools/misc/usbmuxd {};
1294   vacuum = callPackage ../applications/networking/instant-messengers/vacuum {};
1296   vbetool = builderDefsPackage ../tools/system/vbetool {
1297     inherit pciutils libx86 zlib;
1298   };
1300   verilog = callPackage ../applications/science/electronics/verilog {};
1302   viking = callPackage ../applications/misc/viking { };
1304   vncrec = builderDefsPackage ../tools/video/vncrec {
1305     inherit (xlibs) imake libX11 xproto gccmakedep libXt
1306       libXmu libXaw libXext xextproto libSM libICE libXpm
1307       libXp;
1308   };
1310   vpnc = callPackage ../tools/networking/vpnc { };
1312   vtun = callPackage ../tools/networking/vtun { };
1314   testdisk = callPackage ../tools/misc/testdisk { };
1316   htmlTidy = callPackage ../tools/text/html-tidy { };
1318   tigervnc = callPackage ../tools/admin/tigervnc {
1319     fontDirectories = [ xorg.fontadobe75dpi xorg.fontmiscmisc xorg.fontcursormisc
1320       xorg.fontbhlucidatypewriter75dpi ];
1321   };
1323   tightvnc = callPackage ../tools/admin/tightvnc {
1324     fontDirectories = [ xorg.fontadobe75dpi xorg.fontmiscmisc xorg.fontcursormisc
1325       xorg.fontbhlucidatypewriter75dpi ];
1326   };
1328   time = callPackage ../tools/misc/time { };
1330   tm = callPackage ../tools/system/tm { };
1332   trang = callPackage ../tools/text/xml/trang { };
1334   tre = callPackage ../development/libraries/tre { };
1336   ts = callPackage ../tools/system/ts { };
1338   transfig = callPackage ../tools/graphics/transfig { };
1340   truecrypt = callPackage ../applications/misc/truecrypt {
1341     wxGUI = getConfig [ "truecrypt" "wxGUI" ] true;
1342   };
1344   ttmkfdir = callPackage ../tools/misc/ttmkfdir { };
1346   unbound = callPackage ../tools/networking/unbound { };
1348   units = callPackage ../tools/misc/units { };
1350   unrar = callPackage ../tools/archivers/unrar { };
1352   unarj = callPackage ../tools/archivers/unarj { };
1354   unshield = callPackage ../tools/archivers/unshield { };
1356   unzip = unzip552;
1358   # TODO: remove in the next stdenv update.
1359   unzip552 = callPackage ../tools/archivers/unzip/5.52.nix { };
1361   unzip60 = callPackage ../tools/archivers/unzip/6.0.nix { };
1363   uptimed = callPackage ../tools/system/uptimed { };
1365   w3cCSSValidator = callPackage ../tools/misc/w3c-css-validator {
1366     tomcat = tomcat6;
1367   };
1369   wdfs = callPackage ../tools/filesystems/wdfs { };
1371   wdiff = callPackage ../tools/text/wdiff { };
1373   webalizer = callPackage ../tools/networking/webalizer { };
1375   webdruid = builderDefsPackage ../tools/admin/webdruid {
1376     inherit zlib libpng freetype gd which
1377       libxml2 geoip;
1378   };
1380   wget = callPackage ../tools/networking/wget {
1381     inherit (perlPackages) LWP;
1382   };
1384   which = callPackage ../tools/system/which { };
1386   wicd = callPackage ../tools/networking/wicd { };
1388   wv = callPackage ../tools/misc/wv { };
1390   wv2 = callPackage ../tools/misc/wv2 { };
1392   x11_ssh_askpass = callPackage ../tools/networking/x11-ssh-askpass { };
1394   xbursttools = assert stdenv ? glibc; import ../tools/misc/xburst-tools {
1395     inherit stdenv fetchgit autoconf automake libusb confuse;
1396     # It needs a cross compiler for mipsel to build the firmware it will
1397     # load into the Ben Nanonote
1398     gccCross =
1399       let
1400         pkgsCross = (import ./all-packages.nix) {
1401           inherit system;
1402           inherit bootStdenv noSysDirs gccWithCC gccWithProfiling config;
1403           # Ben Nanonote system
1404           crossSystem = {
1405             config = "mipsel-unknown-linux";
1406             bigEndian = true;
1407             arch = "mips";
1408             float = "soft";
1409             withTLS = true;
1410             libc = "uclibc";
1411             platform = {
1412               name = "ben_nanonote";
1413               kernelMajor = "2.6";
1414               # It's not a bcm47xx processor, but for the headers this should work
1415               kernelHeadersBaseConfig = "bcm47xx_defconfig";
1416               kernelArch = "mips";
1417             };
1418             gcc = {
1419               arch = "mips32";
1420             };
1421           };
1422         };
1423       in
1424         pkgsCross.gccCrossStageStatic;
1425   };
1427   xclip = callPackage ../tools/misc/xclip { };
1429   xdelta = callPackage ../tools/compression/xdelta { };
1431   xfsprogs = callPackage ../tools/filesystems/xfsprogs { };
1433   xmlroff = callPackage ../tools/typesetting/xmlroff {
1434     inherit (gtkLibs) glib pango gtk;
1435     inherit (gnome) libgnomeprint;
1436   };
1438   xmlstarlet = callPackage ../tools/text/xml/xmlstarlet { };
1440   xmlto = callPackage ../tools/typesetting/xmlto { };
1442   xmltv = callPackage ../tools/misc/xmltv { };
1444   xmpppy = builderDefsPackage (import ../development/python-modules/xmpppy) {
1445     inherit python setuptools;
1446   };
1448   xpf = callPackage ../tools/text/xml/xpf {
1449     libxml2 = libxml2Python;
1450   };
1452   xsel = callPackage ../tools/misc/xsel { };
1454   zdelta = callPackage ../tools/compression/zdelta { };
1456   zile = callPackage ../applications/editors/zile { };
1458   zip = callPackage ../tools/archivers/zip { };
1460   zsync = callPackage ../tools/compression/zsync { };
1462   ### SHELLS
1465   bash = lowPrio (callPackage ../shells/bash {
1466     texinfo = null;
1467   });
1469   bashInteractive = appendToName "interactive" (callPackage ../shells/bash {
1470     interactive = true;
1471   });
1473   dash = callPackage ../shells/dash { };
1475   ipython = callPackage ../shells/ipython {
1476     # I did not find any better way of reusing buildPythonPackage+setuptools
1477     # for a python with openssl support
1478     buildPythonPackage = assert pythonFull.readlineSupport;
1479       import ../development/python-modules/generic {
1480         inherit makeWrapper lib;
1481         python = pythonFull;
1482         setuptools = builderDefsPackage (import ../development/python-modules/setuptools) {
1483           inherit makeWrapper;
1484           python = pythonFull;
1485         };
1486       };
1487  };
1489   tcsh = callPackage ../shells/tcsh { };
1491   rush = callPackage ../shells/rush { };
1493   zsh = callPackage ../shells/zsh { };
1496   ### DEVELOPMENT / COMPILERS
1499   abc =
1500     abcPatchable [];
1502   abcPatchable = patches :
1503     import ../development/compilers/abc/default.nix {
1504       inherit stdenv fetchurl patches jre apacheAnt;
1505       javaCup = callPackage ../development/libraries/java/cup { };
1506     };
1508   aspectj = callPackage ../development/compilers/aspectj { };
1510   bigloo = callPackage ../development/compilers/bigloo { };
1512   ccl = builderDefsPackage ../development/compilers/ccl {};
1514   clang = llvm.override {
1515     buildClang = true;
1516   };
1518   clean = callPackage ../development/compilers/clean { };
1520   cmucl_binary = callPackage ../development/compilers/cmucl/binary.nix { };
1522   dylan = callPackage ../development/compilers/gwydion-dylan {
1523     dylan =
1524       import ../development/compilers/gwydion-dylan/binary.nix {
1525         inherit fetchurl stdenv;
1526   };
1527   };
1529   ecl = builderDefsPackage ../development/compilers/ecl {
1530     inherit gmp mpfr;
1531   };
1533   eql = callPackage ../development/compilers/eql {};
1535   adobe_flex_sdk = callPackage ../development/compilers/adobe-flex-sdk { };
1537   fpc = callPackage ../development/compilers/fpc { };
1538   fpc_2_4_0 = callPackage ../development/compilers/fpc/2.4.0.nix { };
1540   gambit = callPackage ../development/compilers/gambit { };
1542   gcc = gcc45;
1544   gcc295 = wrapGCC (import ../development/compilers/gcc-2.95 {
1545     inherit fetchurl stdenv noSysDirs;
1546   });
1548   gcc33 = wrapGCC (import ../development/compilers/gcc-3.3 {
1549     inherit fetchurl stdenv noSysDirs;
1550   });
1552   gcc34 = wrapGCC (import ../development/compilers/gcc-3.4 {
1553     inherit fetchurl stdenv noSysDirs;
1554   });
1556   # XXX: GCC 4.2 (and possibly others) misdetects `makeinfo' when
1557   # using Texinfo >= 4.10, just because it uses a stupid regexp that
1558   # expects a single digit after the dot.  As a workaround, we feed
1559   # GCC with Texinfo 4.9.  Stupid bug, hackish workaround.
1561   gcc40 = wrapGCC (makeOverridable (import ../development/compilers/gcc-4.0) {
1562     inherit fetchurl stdenv noSysDirs;
1563     texinfo = texinfo49;
1564     profiledCompiler = true;
1565   });
1567   gcc41 = wrapGCC (makeOverridable (import ../development/compilers/gcc-4.1) {
1568     inherit fetchurl stdenv noSysDirs;
1569     texinfo = texinfo49;
1570     profiledCompiler = false;
1571   });
1573   gcc42 = wrapGCC (makeOverridable (import ../development/compilers/gcc-4.2) {
1574     inherit fetchurl stdenv noSysDirs;
1575     profiledCompiler = false;
1576   });
1578   gcc43 = lowPrio (wrapGCC (makeOverridable (import ../development/compilers/gcc-4.3) {
1579     inherit stdenv fetchurl texinfo gmp mpfr noSysDirs;
1580     profiledCompiler = true;
1581   }));
1583   gcc43_realCross = makeOverridable (import ../development/compilers/gcc-4.3) {
1584     inherit stdenv fetchurl texinfo gmp mpfr noSysDirs;
1585     binutilsCross = binutilsCross;
1586     libcCross = libcCross;
1587     profiledCompiler = false;
1588     enableMultilib = true;
1589     crossStageStatic = false;
1590     cross = assert crossSystem != null; crossSystem;
1591   };
1593   gcc44_realCross = lib.addMetaAttrs { platforms = []; }
1594     (makeOverridable (import ../development/compilers/gcc-4.4) {
1595       inherit stdenv fetchurl texinfo gmp mpfr /* ppl cloogppl */ noSysDirs
1596           gettext which;
1597       binutilsCross = binutilsCross;
1598       libcCross = libcCross;
1599       profiledCompiler = false;
1600       enableMultilib = false;
1601       crossStageStatic = false;
1602       cross = assert crossSystem != null; crossSystem;
1603     });
1605   gcc45 = gcc45_real;
1607   gcc45_realCross = lib.addMetaAttrs { platforms = []; }
1608     (makeOverridable (import ../development/compilers/gcc-4.5) {
1609       inherit fetchurl stdenv texinfo gmp mpfr mpc libelf zlib
1610         ppl cloogppl gettext which noSysDirs;
1611       binutilsCross = binutilsCross;
1612       libcCross = libcCross;
1613       profiledCompiler = false;
1614       enableMultilib = false;
1615       crossStageStatic = false;
1616       cross = assert crossSystem != null; crossSystem;
1617     });
1619   gcc_realCross = gcc45_realCross;
1621   gccCrossStageStatic = let
1622       isMingw = (stdenv.cross.libc == "msvcrt");
1623       libcCross1 = if isMingw then windows.mingw_headers1 else null;
1624     in
1625       wrapGCCCross {
1626       gcc = forceBuildDrv (lib.addMetaAttrs { platforms = []; } (
1627         gcc_realCross.override {
1628           crossStageStatic = true;
1629           langCC = false;
1630           libcCross = libcCross1;
1631           enableShared = false;
1632         }));
1633       libc = libcCross1;
1634       binutils = binutilsCross;
1635       cross = assert crossSystem != null; crossSystem;
1636   };
1638   # Only needed for mingw builds
1639   gccCrossMingw2 = wrapGCCCross {
1640     gcc = gccCrossStageStatic.gcc;
1641     libc = windows.mingw_headers2;
1642     binutils = binutilsCross;
1643     cross = assert crossSystem != null; crossSystem;
1644   };
1646   gccCrossStageFinal = wrapGCCCross {
1647     gcc = forceBuildDrv (gcc_realCross.override {
1648       libpthreadCross =
1649         # FIXME: Don't explicitly refer to `i586-pc-gnu'.
1650         if crossSystem != null && crossSystem.config == "i586-pc-gnu"
1651         then hurdLibpthreadCross
1652         else null;
1653      });
1654     libc = libcCross;
1655     binutils = binutilsCross;
1656     cross = assert crossSystem != null; crossSystem;
1657   };
1659   gcc43_multi = lowPrio (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi (gcc43.gcc.override {
1660     stdenv = overrideGCC stdenv (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi gcc);
1661     profiledCompiler = false;
1662     enableMultilib = true;
1663   }));
1665   gcc44 = lowPrio (wrapGCC (makeOverridable (import ../development/compilers/gcc-4.4) {
1666     inherit fetchurl stdenv texinfo gmp mpfr /* ppl cloogppl */
1667       gettext which noSysDirs;
1668     profiledCompiler = true;
1669   }));
1671   gcc45_real = lowPrio (wrapGCC (makeOverridable (import ../development/compilers/gcc-4.5) {
1672     inherit fetchurl stdenv texinfo gmp mpfr mpc libelf zlib perl
1673       ppl cloogppl
1674       gettext which noSysDirs;
1675     # bootstrapping a profiled compiler does not work in the sheevaplug:
1676     # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43944
1677     profiledCompiler = if stdenv.system == "armv5tel-linux" then false else true;
1678   }));
1680   gccApple =
1681     wrapGCC ( (if stdenv.system == "i686-darwin" then import ../development/compilers/gcc-apple else import ../development/compilers/gcc-apple64) {
1682       inherit fetchurl stdenv noSysDirs;
1683       profiledCompiler = true;
1684     }) ;
1686   gccupc40 = wrapGCCUPC (import ../development/compilers/gcc-upc-4.0 {
1687     inherit fetchurl stdenv bison autoconf gnum4 noSysDirs;
1688     texinfo = texinfo49;
1689   });
1691   gfortran = gfortran45;
1693   gfortran40 = wrapGCC (gcc40.gcc.override {
1694     langFortran = true;
1695     langCC = false;
1696     inherit gmp mpfr;
1697   });
1699   gfortran41 = wrapGCC (gcc41.gcc.override {
1700     name = "gfortran";
1701     langFortran = true;
1702     langCC = false;
1703     langC = false;
1704     inherit gmp mpfr;
1705   });
1707   gfortran42 = wrapGCC (gcc42.gcc.override {
1708     name = "gfortran";
1709     langFortran = true;
1710     langCC = false;
1711     langC = false;
1712     inherit gmp mpfr;
1713   });
1715   gfortran43 = wrapGCC (gcc43.gcc.override {
1716     name = "gfortran";
1717     langFortran = true;
1718     langCC = false;
1719     langC = false;
1720     profiledCompiler = false;
1721   });
1723   gfortran44 = wrapGCC (gcc44.gcc.override {
1724     name = "gfortran";
1725     langFortran = true;
1726     langCC = false;
1727     langC = false;
1728     profiledCompiler = false;
1729   });
1731   gfortran45 = wrapGCC (gcc45_real.gcc.override {
1732     name = "gfortran";
1733     langFortran = true;
1734     langCC = false;
1735     langC = false;
1736     profiledCompiler = false;
1737   });
1739   gcj = gcj45;
1741   gcj44 = wrapGCC (gcc44.gcc.override {
1742     name = "gcj";
1743     langJava = true;
1744     langFortran = false;
1745     langCC = true;
1746     langC = false;
1747     profiledCompiler = false;
1748     inherit zip unzip zlib boehmgc gettext pkgconfig;
1749     inherit (gtkLibs) gtk;
1750     inherit (gnome) libart_lgpl;
1751     inherit (xlibs) libX11 libXt libSM libICE libXtst libXi libXrender
1752       libXrandr xproto renderproto xextproto inputproto randrproto;
1753   });
1755   gcj45 = wrapGCC (gcc45.gcc.override {
1756     name = "gcj";
1757     langJava = true;
1758     langFortran = false;
1759     langCC = true;
1760     langC = false;
1761     profiledCompiler = false;
1762     inherit zip unzip zlib boehmgc gettext pkgconfig perl;
1763     inherit (gtkLibs) gtk;
1764     inherit (gnome) libart_lgpl;
1765     inherit (xlibs) libX11 libXt libSM libICE libXtst libXi libXrender
1766       libXrandr xproto renderproto xextproto inputproto randrproto;
1767   });
1769   gnat = gnat45;
1771   gnat44 = wrapGCC (gcc44.gcc.override {
1772     name = "gnat";
1773     langCC = false;
1774     langC = true;
1775     langAda = true;
1776     profiledCompiler = false;
1777     inherit gnatboot;
1778     # We can't use the ppl stuff, because we would have
1779     # libstdc++ problems.
1780     cloogppl = null;
1781     ppl = null;
1782   });
1784   gnat45 = wrapGCC (gcc45_real.gcc.override {
1785     name = "gnat";
1786     langCC = false;
1787     langC = true;
1788     langAda = true;
1789     profiledCompiler = false;
1790     inherit gnatboot;
1791     # We can't use the ppl stuff, because we would have
1792     # libstdc++ problems.
1793     cloogppl = null;
1794     ppl = null;
1795   });
1797   gnatboot = wrapGCC (import ../development/compilers/gnatboot {
1798     inherit fetchurl stdenv;
1799   });
1801   ghdl = wrapGCC (import ../development/compilers/gcc-4.3 {
1802     inherit stdenv fetchurl texinfo gmp mpfr noSysDirs gnat;
1803     name = "ghdl";
1804     langVhdl = true;
1805     langCC = false;
1806     langC = false;
1807     profiledCompiler = false;
1808     enableMultilib = false;
1809   });
1811   # Not officially supported version for ghdl
1812   ghdl_gcc44 = lowPrio (wrapGCC (import ../development/compilers/gcc-4.4 {
1813     inherit stdenv fetchurl texinfo gmp mpfr noSysDirs gnat gettext which
1814       ppl cloogppl;
1815     name = "ghdl";
1816     langVhdl = true;
1817     langCC = false;
1818     langC = false;
1819     profiledCompiler = false;
1820     enableMultilib = false;
1821   }));
1823   gcl = builderDefsPackage ../development/compilers/gcl {
1824     inherit mpfr m4 binutils fetchcvs emacs zlib which
1825       gmp texinfo;
1826     inherit (xlibs) libX11 xproto inputproto libXi
1827       libXext xextproto libXt libXaw libXmu;
1828     inherit stdenv;
1829     texLive = texLiveAggregationFun {
1830       paths = [
1831         texLive texLiveExtra
1832       ];
1833     };
1834   };
1836   # GHC
1838   # GHC binaries are around for bootstrapping purposes
1840   # If we'd want to reactivate the 6.6 and 6.8 series of ghc, we'd
1841   # need to reenable an old binary such as this.
1842   /*
1843   ghc642Binary = lowPrio (import ../development/compilers/ghc/6.4.2-binary.nix {
1844     inherit fetchurl stdenv ncurses gmp;
1845     readline = if stdenv.system == "i686-linux" then readline4 else readline5;
1846     perl = perl58;
1847   });
1848   */
1850   ghc6101Binary = lowPrio (import ../development/compilers/ghc/6.10.1-binary.nix {
1851     inherit fetchurl stdenv perl ncurses gmp libedit;
1852   });
1854   ghc6102Binary = lowPrio (import ../development/compilers/ghc/6.10.2-binary.nix {
1855     inherit fetchurl stdenv perl ncurses gmp libedit;
1856   });
1858   # For several compiler versions, we export a large set of Haskell-related
1859   # packages.
1861   # This should point to the current default version.
1862   haskellPackages = haskellPackages_ghc6123;
1864   # Old versions of ghc that currently don't build because the binary
1865   # is broken.
1866   /*
1867   haskellPackages_ghc642 = callPackage ./haskell-packages.nix {
1868     ghc = import ../development/compilers/ghc/6.4.2.nix {
1869       inherit fetchurl stdenv perl ncurses readline m4 gmp;
1870       ghc = ghc642Binary;  };
1871   };
1873   haskellPackages_ghc661 = callPackage ./haskell-packages.nix {
1874     ghc = import ../development/compilers/ghc/6.6.1.nix {
1875       inherit fetchurl stdenv readline perl58 gmp ncurses m4;
1876       ghc = ghc642Binary;
1877   };
1878   };
1880   haskellPackages_ghc682 = callPackage ./haskell-packages.nix {
1881     ghc = import ../development/compilers/ghc/6.8.2.nix {
1882       inherit fetchurl stdenv perl gmp ncurses m4;
1883       readline = readline5;
1884       ghc = ghc642Binary;
1885   };
1886   };
1888   haskellPackages_ghc683 = recurseIntoAttrs (import ./haskell-packages.nix {
1889     inherit pkgs;
1890     ghc = callPackage ../development/compilers/ghc/6.8.3.nix {
1891       ghc = ghc642Binary;
1892       haddock = import ../development/tools/documentation/haddock/boot.nix {
1893         inherit gmp;
1894         cabal = import ../development/libraries/haskell/cabal/cabal.nix {
1895           inherit stdenv fetchurl lib;
1896           ghc = ghc642Binary;    };
1897       };
1898     };
1899   });
1900   */
1902   # NOTE: After discussion, we decided to enable recurseIntoAttrs for all
1903   # currently available ghc versions. (Before, it used to be enabled only
1904   # for a selected few versions.) If someone complains about nix-env -qa
1905   # output being spammed by lots of Haskell packages, we can talk about
1906   # reducing the number or "enabled" versions again.
1908   # Helper functions to abstract away from repetitive instantiations.
1909   haskellPackagesFun = ghcPath : profDefault : modifyPrio : recurseIntoAttrs (import ./haskell-packages.nix {
1910     inherit pkgs newScope modifyPrio;
1911     enableLibraryProfiling = getConfig [ "cabal" "libraryProfiling" ] profDefault;
1912     ghc = callPackage ghcPath {
1913       ghc = ghc6101Binary;    };
1914   });
1916   # Currently active GHC versions.
1917   haskellPackages_ghc6101 =
1918     haskellPackagesFun ../development/compilers/ghc/6.10.1.nix false (x : x);
1920   haskellPackages_ghc6102 =
1921     haskellPackagesFun ../development/compilers/ghc/6.10.2.nix false (x : x);
1923   haskellPackages_ghc6103 =
1924     haskellPackagesFun ../development/compilers/ghc/6.10.3.nix false (x : x);
1926   haskellPackages_ghc6104 =
1927     haskellPackagesFun ../development/compilers/ghc/6.10.4.nix false (x : x);
1929   haskellPackages_ghc6121 =
1930     haskellPackagesFun ../development/compilers/ghc/6.12.1.nix false (x : x);
1932   haskellPackages_ghc6122 =
1933     haskellPackagesFun ../development/compilers/ghc/6.12.2.nix false (x : x);
1935   # Current default version.
1936   haskellPackages_ghc6123 =
1937     haskellPackagesFun ../development/compilers/ghc/6.12.3.nix false (x : x);
1939   haskellPackages_ghc701 =
1940     haskellPackagesFun ../development/compilers/ghc/7.0.1.nix  false lowPrio;
1942   haskellPackages_ghcHEAD =
1943     haskellPackagesFun ../development/compilers/ghc/head.nix   false lowPrio;
1945   haxeDist = import ../development/compilers/haxe {
1946     inherit fetchurl sourceFromHead stdenv lib ocaml zlib makeWrapper neko;
1947   };
1948   haxe = haxeDist.haxe;
1949   haxelib = haxeDist.haxelib;
1951   falcon = builderDefsPackage (import ../development/interpreters/falcon) {
1952     inherit cmake;
1953   };
1955   go = callPackage ../development/compilers/go { };
1957   gprolog = callPackage ../development/compilers/gprolog { };
1959   gwt = callPackage ../development/compilers/gwt {
1960     inherit (gtkLibs) glib gtk pango atk;
1961     libstdcpp5 = gcc33.gcc;
1962   };
1964   ikarus = callPackage ../development/compilers/ikarus { };
1966   #TODO add packages http://cvs.haskell.org/Hugs/downloads/2006-09/packages/ and test
1967   # commented out because it's using the new configuration style proposal which is unstable
1968   hugs = callPackage ../development/compilers/hugs { };
1970   path64 = callPackage ../development/compilers/path64 { };
1972   openjdkDarwin = callPackage ../development/compilers/openjdk-darwin { };
1974   j2sdk14x = (
1975     assert system == "i686-linux";
1976     import ../development/compilers/jdk/default-1.4.nix {
1977       inherit fetchurl stdenv;
1978     });
1980   jdk5 = (
1981     assert system == "i686-linux" || system == "x86_64-linux";
1982     callPackage ../development/compilers/jdk/default-5.nix { });
1984   jdk       = if stdenv.isDarwin then openjdkDarwin else jdkdistro true  false;
1985   jre       = jdkdistro false false;
1987   jdkPlugin = jdkdistro true true;
1988   jrePlugin = jdkdistro false true;
1990   supportsJDK =
1991     system == "i686-linux" ||
1992     system == "x86_64-linux" ||
1993     system == "i686-cygwin" ||
1994     system == "powerpc-linux";
1996   jdkdistro = installjdk: pluginSupport:
1997        (assert supportsJDK;
1998     (if pluginSupport then appendToName "plugin" else x: x) (import ../development/compilers/jdk {
1999       inherit fetchurl stdenv unzip installjdk xlibs pluginSupport makeWrapper cabextract;
2000     }));
2002   jikes = callPackage ../development/compilers/jikes { };
2004   lazarus = builderDefsPackage (import ../development/compilers/fpc/lazarus.nix) {
2005     inherit makeWrapper;
2006     inherit (gtkLibs) gtk glib pango atk;
2007     inherit (xlibs) libXi inputproto libX11 xproto libXext xextproto;
2008     fpc = fpc_2_4_0;
2009   };
2011   llvm = callPackage ../development/compilers/llvm { };
2013   mitscheme = callPackage ../development/compilers/mit-scheme { };
2015   mlton = callPackage ../development/compilers/mlton { };
2017   mono = callPackage ../development/compilers/mono { };
2019   monoDLLFixer = callPackage ../build-support/mono-dll-fixer { };
2021   mozart = callPackage ../development/compilers/mozart { };
2023   neko = callPackage ../development/compilers/neko { };
2025   nasm = callPackage ../development/compilers/nasm { };
2027   ocaml = ocaml_3_11_1;
2029   ocaml_3_08_0 = callPackage ../development/compilers/ocaml/3.08.0.nix { };
2031   ocaml_3_10_0 = callPackage ../development/compilers/ocaml/3.10.0.nix { };
2033   ocaml_3_11_1 = callPackage ../development/compilers/ocaml/3.11.1.nix { };
2035   ocaml_3_12_0 = lowPrio (callPackage ../development/compilers/ocaml/3.12.0.nix { });
2037   mkOcamlPackages = ocaml: self: let callPackage = newScope self; in rec {
2038     inherit ocaml;
2040     camlp5_strict = callPackage ../development/tools/ocaml/camlp5 { };
2042     camlp5_transitional = callPackage ../development/tools/ocaml/camlp5 {
2043       transitional = true;
2044     };
2046     camlzip = callPackage ../development/ocaml-modules/camlzip { };
2048     camomile = camomile_0_7_3;
2049     camomile_0_7_3 = callPackage ../development/ocaml-modules/camomile/0.7.3.nix { };
2050     camomile_0_8_1 = callPackage ../development/ocaml-modules/camomile/0.8.1.nix { };
2052     cryptokit = callPackage ../development/ocaml-modules/cryptokit { };
2054     findlib = callPackage ../development/tools/ocaml/findlib { };
2056     gmetadom = callPackage ../development/ocaml-modules/gmetadom { };
2057     
2058     lablgtk = callPackage ../development/ocaml-modules/lablgtk {
2059       inherit (gnome) libgnomecanvas libglade gtksourceview;
2060     };
2062     lablgtkmathview = callPackage ../development/ocaml-modules/lablgtkmathview { 
2063       gtkmathview = callPackage ../development/libraries/gtkmathview { };
2064     };
2066     menhir = callPackage ../development/ocaml-modules/menhir { };
2068     ocaml_batteries = callPackage ../development/ocaml-modules/batteries { };
2070     ocaml_cryptgps = callPackage ../development/ocaml-modules/cryptgps { };
2072     ocaml_expat = callPackage ../development/ocaml-modules/expat { };
2074     ocaml_http = callPackage ../development/ocaml-modules/http { };
2076     ocaml_lwt = callPackage ../development/ocaml-modules/lwt { };
2078     ocaml_mysql = callPackage ../development/ocaml-modules/mysql { };
2080     ocamlnet = callPackage ../development/ocaml-modules/ocamlnet { };
2082     ocaml_pcre = callPackage ../development/ocaml-modules/pcre {
2083       inherit pcre;
2084     };
2086     ocaml_react = callPackage ../development/ocaml-modules/react { };
2088     ocaml_sqlite3 = callPackage ../development/ocaml-modules/sqlite3 { };
2090     ocaml_ssl = callPackage ../development/ocaml-modules/ssl { };
2092     ounit = callPackage ../development/ocaml-modules/ounit { };
2094     ulex08 = callPackage ../development/ocaml-modules/ulex/0.8 {
2095       camlp5 = camlp5_transitional;
2096     };
2097   };
2099   ocamlPackages = recurseIntoAttrs ocamlPackages_3_11_1;
2100   ocamlPackages_3_10_0 = mkOcamlPackages ocaml_3_10_0 pkgs.ocamlPackages_3_10_0;
2101   ocamlPackages_3_11_1 = mkOcamlPackages ocaml_3_11_1 pkgs.ocamlPackages_3_11_1;
2102   ocamlPackages_3_12_0 = mkOcamlPackages ocaml_3_12_0 pkgs.ocamlPackages_3_12_0;
2104   opencxx = callPackage ../development/compilers/opencxx {
2105     gcc = gcc33;
2106   };
2108   qcmm = callPackage ../development/compilers/qcmm {
2109     lua   = lua4;
2110     ocaml = ocaml_3_08_0;
2111   };
2113   roadsend = callPackage ../development/compilers/roadsend { };
2115   sbcl = builderDefsPackage (import ../development/compilers/sbcl) {
2116     inherit makeWrapper clisp;
2117   };
2119   scala = callPackage ../development/compilers/scala { };
2121   stalin = callPackage ../development/compilers/stalin { };
2123   strategoPackages = strategoPackages018;
2125   strategoPackages016 = callPackage ../development/compilers/strategoxt/0.16.nix {
2126     stdenv = overrideInStdenv stdenv [gnumake380];
2127   };
2129   strategoPackages017 = callPackage ../development/compilers/strategoxt/0.17.nix {
2130     readline = readline5;
2131   };
2133   strategoPackages018 = callPackage ../development/compilers/strategoxt/0.18.nix {
2134     readline = readline5;
2135   };
2137   metaBuildEnv = callPackage ../development/compilers/meta-environment/meta-build-env { };
2139   swiProlog = callPackage ../development/compilers/swi-prolog { };
2141   tinycc = callPackage ../development/compilers/tinycc { };
2143   urweb = callPackage ../development/compilers/urweb { };
2145   vala = callPackage ../development/compilers/vala { };
2147   visualcpp = callPackage ../development/compilers/visual-c++ { };
2149   vs90wrapper = callPackage ../development/compilers/vs90wrapper { };
2151   webdsl = callPackage ../development/compilers/webdsl { };
2153   win32hello = callPackage ../development/compilers/visual-c++/test { };
2155   wrapGCCWith = gccWrapper: glibc: baseGCC: gccWrapper {
2156     nativeTools = stdenv ? gcc && stdenv.gcc.nativeTools;
2157     nativeLibc = stdenv ? gcc && stdenv.gcc.nativeLibc;
2158     nativePrefix = if stdenv ? gcc then stdenv.gcc.nativePrefix else "";
2159     gcc = baseGCC;
2160     libc = glibc;
2161     shell = bash;
2162     inherit stdenv binutils coreutils zlib;
2163   };
2165   wrapGCC = wrapGCCWith (import ../build-support/gcc-wrapper) glibc;
2167   wrapGCCCross =
2168     {gcc, libc, binutils, cross, shell ? "", name ? "gcc-cross-wrapper"}:
2170     forceBuildDrv (import ../build-support/gcc-cross-wrapper {
2171       nativeTools = false;
2172       nativeLibc = false;
2173       noLibc = (libc == null);
2174       inherit stdenv gcc binutils libc shell name cross;
2175     });
2177   # FIXME: This is a specific hack for GCC-UPC.  Eventually, we may
2178   # want to merge `gcc-upc-wrapper' and `gcc-wrapper'.
2179   wrapGCCUPC = baseGCC: import ../build-support/gcc-upc-wrapper {
2180     nativeTools = stdenv ? gcc && stdenv.gcc.nativeTools;
2181     nativeLibc = stdenv ? gcc && stdenv.gcc.nativeLibc;
2182     gcc = baseGCC;
2183     libc = glibc;
2184     inherit stdenv binutils;
2185   };
2187   # prolog
2188   yap = callPackage ../development/compilers/yap { };
2190   yasm = callPackage ../development/compilers/yasm { };
2192   ### DEVELOPMENT / INTERPRETERS
2194   acl2 = builderDefsPackage ../development/interpreters/acl2 {
2195     inherit sbcl;
2196   };
2198   clisp = callPackage ../development/interpreters/clisp { };
2200   # compatibility issues in 2.47 - at list 2.44.1 is known good
2201   # for sbcl bootstrap
2202   clisp_2_44_1 = callPackage ../development/interpreters/clisp/2.44.1.nix {
2203     libsigsegv = libsigsegv_25;  };
2205   erlang = callPackage ../development/interpreters/erlang { };
2207   erlangR13B = callPackage ../development/interpreters/erlang/R13B.nix { };
2209   groovy = callPackage ../development/interpreters/groovy { };
2211   guile = callPackage ../development/interpreters/guile { };
2213   guile_1_9 = callPackage ../development/interpreters/guile/1.9.nix { };
2215   io = builderDefsPackage (import ../development/interpreters/io) {
2216     inherit sqlite zlib gmp libffi cairo ncurses freetype mesa
2217       libpng libtiff libjpeg readline libsndfile libxml2
2218       freeglut e2fsprogs libsamplerate pcre libevent libedit;
2219   };
2221   kaffe = callPackage ../development/interpreters/kaffe { };
2223   lua4 = callPackage ../development/interpreters/lua-4 { };
2225   lua5 = callPackage ../development/interpreters/lua-5 { };
2227   maude = callPackage ../development/interpreters/maude { };
2229   octave = callPackage ../development/interpreters/octave {
2230     # Needed because later gm versions require an initialization the actual octave is not
2231     # doing.
2232     # http://www-old.cae.wisc.edu/pipermail/octave-maintainers/2010-February/015295.html
2233     graphicsmagick = graphicsmagick137;
2234   };
2236   # mercurial (hg) bleeding edge version
2237   octaveHG = callPackage ../development/interpreters/octave/hg.nix { };
2239   perl58 = callPackage ../development/interpreters/perl-5.8 {
2240     impureLibcPath = if stdenv.isLinux then null else "/usr";
2241   };
2243   perl510 = callPackage ../development/interpreters/perl-5.10 {
2244     fetchurl = fetchurlBoot;
2245   };
2247   perl = if system != "i686-cygwin" then perl510 else sysPerl;
2249   php = php5_3;
2251   php5_2 = makeOverridable (import ../development/interpreters/php/5.2.nix) {
2252     inherit
2253       stdenv fetchurl lib composableDerivation autoconf automake
2254       flex bison apacheHttpd mysql libxml2
2255       zlib curl gd postgresql openssl pkgconfig sqlite getConfig libiconv libjpeg libpng;
2256   };
2258   php5_3 = makeOverridable (import ../development/interpreters/php/5.3.nix) {
2259     inherit
2260       stdenv fetchurl lib composableDerivation autoconf automake
2261       flex bison apacheHttpd mysql libxml2
2262       zlib curl gd postgresql openssl pkgconfig sqlite getConfig libiconv libjpeg libpng;
2263   };
2265   phpXdebug = callPackage ../development/interpreters/php-xdebug { };
2267   pltScheme = builderDefsPackage (import ../development/interpreters/plt-scheme) {
2268     inherit cairo fontconfig freetype libjpeg libpng openssl
2269       perl mesa zlib which;
2270     inherit (xorg) libX11 libXaw libXft libXrender libICE xproto
2271       renderproto pixman libSM libxcb libXext xextproto libXmu
2272       libXt;
2273   };
2275   polyml = callPackage ../development/compilers/polyml { };
2277   python = if getConfig ["python" "full"] false then pythonFull else pythonBase;
2278   python26 = if getConfig ["python" "full"] false then python26Full else python26Base;
2279   python27 = if getConfig ["python" "full"] false then python27Full else python27Base;
2280   pythonBase = python26Base;
2281   pythonFull = python26Full;
2283   pythonWrapper = callPackage ../development/interpreters/python/wrapper.nix { };
2285   python24 = callPackage ../development/interpreters/python/2.4 { };
2287   python26Base = lowPrio (makeOverridable (import ../development/interpreters/python/2.6) {
2288     inherit (pkgs) fetchurl stdenv zlib bzip2 gdbm;
2289     arch = if stdenv.isDarwin then darwinArchUtility else null;
2290     sw_vers = if stdenv.isDarwin then darwinSwVersUtility else null;
2291   });
2293   python26Full = lowPrio (python26Base.override {
2294     # FIXME: We lack ncurses support, needed, e.g., for `gpsd'.
2295     db4 = if getConfig ["python" "db4Support"] true then db4 else null;
2296     sqlite = if getConfig ["python" "sqliteSupport"] true then sqlite else null;
2297     readline = if getConfig ["python" "readlineSupport"] true then readline else null;
2298     openssl = if getConfig ["python" "opensslSupport"] true then openssl else null;
2299     tk = if getConfig ["python" "tkSupport"] true then tk else null;
2300     tcl = if getConfig ["python" "tkSupport"] true then tcl else null;
2301     libX11 = if getConfig ["python" "tkSupport"] true then xlibs.libX11 else null;
2302     xproto = if getConfig ["python" "tkSupport"] true then xlibs.xproto else null;
2303     ncurses = if getConfig ["python" "curses"] true then ncurses else null;
2304   });
2306   python27Base = lowPrio (makeOverridable (import ../development/interpreters/python/2.7) {
2307     inherit (pkgs) fetchurl stdenv zlib bzip2 gdbm;
2308     arch = if stdenv.isDarwin then darwinArchUtility else null;
2309     sw_vers = if stdenv.isDarwin then darwinSwVersUtility else null;
2310   });
2312   python27Full = lowPrio (python27Base.override {
2313     inherit (pkgs) db4 sqlite readline openssl tcl tk ncurses;
2314     inherit (pkgs.xlibs) libX11 xproto;
2315   });
2317   python31Base = lowPrio (makeOverridable (import ../development/interpreters/python/3.1) {
2318     inherit (pkgs) fetchurl stdenv zlib bzip2 gdbm;
2319     arch = if stdenv.isDarwin then darwinArchUtility else null;
2320     sw_vers = if stdenv.isDarwin then darwinSwVersUtility else null;
2321   });
2323   pyrex = pyrex095;
2325   pyrex095 = callPackage ../development/interpreters/pyrex/0.9.5.nix { };
2327   pyrex096 = callPackage ../development/interpreters/pyrex/0.9.6.nix { };
2329   qi = callPackage ../development/compilers/qi { };
2331   racket = callPackage ../development/interpreters/racket { };
2333   ruby18 = callPackage ../development/interpreters/ruby { };
2334   #ruby19 = import ../development/interpreters/ruby/ruby-19.nix { inherit ruby18 fetchurl; };
2335   ruby = ruby18;
2337   rubyLibs = recurseIntoAttrs (import ../development/interpreters/ruby/libs.nix {
2338     inherit pkgs stdenv;
2339   });
2341   rake = callPackage ../development/ruby-modules/rake { };
2343   rubySqlite3 = callPackage ../development/ruby-modules/sqlite3 { };
2345   rLang = callPackage ../development/interpreters/r-lang {
2346     withBioconductor = getConfig ["rLang" "withBioconductor"] false;
2347   };
2349   rubygemsFun = ruby: builderDefsPackage (import ../development/interpreters/ruby/gems.nix) {
2350     inherit ruby makeWrapper;
2351   };
2352   rubygems = rubygemsFun ruby;
2354   rq = callPackage ../applications/networking/cluster/rq { };
2356   scsh = callPackage ../development/interpreters/scsh { };
2358   spidermonkey = callPackage ../development/interpreters/spidermonkey { };
2359   spidermonkey_1_8_0rc1 = callPackage ../development/interpreters/spidermonkey/1.8.0-rc1.nix { };
2361   sysPerl = callPackage ../development/interpreters/sys-perl { };
2363   tcl = callPackage ../development/interpreters/tcl { };
2365   xulrunnerWrapper = {application, launcher}:
2366     import ../development/interpreters/xulrunner/wrapper {
2367       inherit stdenv application launcher;
2368       xulrunner = firefox36Pkgs.xulrunner;
2369     };
2372   ### DEVELOPMENT / MISC
2374   avrgcclibc = callPackage ../development/misc/avr-gcc-with-avr-libc {
2375     gcc = gcc40;
2376   };
2378   avr8burnomat = callPackage ../development/misc/avr8-burn-omat { };
2380   /*
2381   toolbus = callPackage ../development/interpreters/toolbus { };
2382   */
2384   sourceFromHead = import ../build-support/source-from-head-fun.nix {
2385     inherit getConfig;
2386   };
2388   ecj = callPackage ../development/eclipse/ecj { };
2390   ecjDarwin = ecj.override { gcj = openjdkDarwin; ant = antDarwin; };
2392   jdtsdk = callPackage ../development/eclipse/jdt-sdk { };
2394   jruby116 = callPackage ../development/interpreters/jruby { };
2396   guileCairo = callPackage ../development/guile-modules/guile-cairo { };
2398   guileGnome = callPackage ../development/guile-modules/guile-gnome {
2399     gconf = gnome.GConf;
2400     inherit (gnome) glib gnomevfs gtk libglade libgnome libgnomecanvas
2401       libgnomeui pango;
2402   };
2404   guile_lib = callPackage ../development/guile-modules/guile-lib { };
2406   windowssdk = (
2407     import ../development/misc/windows-sdk {
2408       inherit fetchurl stdenv cabextract;
2409     });
2412   ### DEVELOPMENT / TOOLS
2415   antlr = callPackage ../development/tools/parsing/antlr/2.7.7.nix { };
2417   antlr3 = callPackage ../development/tools/parsing/antlr { };
2419   antDarwin = apacheAnt.override rec { jdk = openjdkDarwin; name = "ant-" + jdk.name; } ;
2421   ant = apacheAnt;
2423   apacheAnt = callPackage ../development/tools/build-managers/apache-ant {
2424     name = "ant-" + jdk.name;
2425   };
2427   apacheAnt14 = callPackage ../development/tools/build-managers/apache-ant {
2428     jdk = j2sdk14x;
2429     name = "ant-" + j2sdk14x.name;
2430   };
2432   apacheAntGcj = callPackage ../development/tools/build-managers/apache-ant/from-source.nix {  # must be either pre-built or built with GCJ *alone*
2433     gcj = gcj.gcc; # use the raw GCJ, which has ${gcj}/lib/jvm
2434   };
2436   autobuild = callPackage ../development/tools/misc/autobuild { };
2438   autoconf = callPackage ../development/tools/misc/autoconf { };
2440   autoconf213 = callPackage ../development/tools/misc/autoconf/2.13.nix { };
2442   automake = automake111x;
2444   automake17x = callPackage ../development/tools/misc/automake/automake-1.7.x.nix { };
2446   automake19x = callPackage ../development/tools/misc/automake/automake-1.9.x.nix { };
2448   automake110x = callPackage ../development/tools/misc/automake/automake-1.10.x.nix { };
2450   automake111x = callPackage ../development/tools/misc/automake/automake-1.11.x.nix {
2451     doCheck = if stdenv.isArm then false else true;
2452   };
2454   avrdude = callPackage ../development/tools/misc/avrdude { };
2456   binutils = callPackage ../development/tools/misc/binutils {
2457     inherit noSysDirs;
2458   };
2460   binutilsCross = forceBuildDrv (import ../development/tools/misc/binutils {
2461     inherit stdenv fetchurl zlib;
2462     noSysDirs = true;
2463     cross = assert crossSystem != null; crossSystem;
2464   });
2466   bison = bison24;
2468   bison1875 = callPackage ../development/tools/parsing/bison/bison-1.875.nix { };
2470   bison23 = callPackage ../development/tools/parsing/bison/bison-2.3.nix { };
2472   bison24 = callPackage ../development/tools/parsing/bison/bison-2.4.nix { };
2474   buildbot = callPackage ../development/tools/build-managers/buildbot {
2475     inherit (pythonPackages) twisted;
2476   };
2478   byacc = callPackage ../development/tools/parsing/byacc { };
2480   ccache = callPackage ../development/tools/misc/ccache { };
2482   ctags = callPackage ../development/tools/misc/ctags { };
2484   ctagsWrapped = import ../development/tools/misc/ctags/wrapped.nix {
2485     inherit pkgs ctags writeScriptBin;
2486   };
2488   cmake = callPackage ../development/tools/build-managers/cmake { };
2490   cmakeCurses = cmake.override { useNcurses = true; };
2492   cmakeWithGui = cmakeCurses.override { useQt4 = true; };
2494   coccinelle = callPackage ../development/tools/misc/coccinelle { };
2496   cppi = callPackage ../development/tools/misc/cppi { };
2498   cproto = callPackage ../development/tools/misc/cproto { };
2500   cflow = callPackage ../development/tools/misc/cflow { };
2502   cscope = callPackage ../development/tools/misc/cscope { };
2504   dejagnu = callPackage ../development/tools/misc/dejagnu { };
2506   ddd = callPackage ../development/tools/misc/ddd { };
2508   distcc = callPackage ../development/tools/misc/distcc { };
2510   docutils = builderDefsPackage (import ../development/tools/documentation/docutils) {
2511     inherit python pil makeWrapper;
2512   };
2514   doxygen = callPackage ../development/tools/documentation/doxygen {
2515     qt = qt4;
2516   };
2518   eggdbus = callPackage ../development/tools/misc/eggdbus { };
2520   elfutils = callPackage ../development/tools/misc/elfutils { };
2522   epm = callPackage ../development/tools/misc/epm { };
2524   emma = callPackage ../development/tools/analysis/emma { };
2526   findbugs = callPackage ../development/tools/analysis/findbugs { };
2528   pmd = callPackage ../development/tools/analysis/pmd { };
2530   jdepend = callPackage ../development/tools/analysis/jdepend { };
2532   checkstyle = callPackage ../development/tools/analysis/checkstyle { };
2534   flex = flex2535;
2536   flex2535 = callPackage ../development/tools/parsing/flex/flex-2.5.35.nix { };
2538   flex2534 = callPackage ../development/tools/parsing/flex/flex-2.5.34.nix { };
2540   flex2533 = callPackage ../development/tools/parsing/flex/flex-2.5.33.nix { };
2542   # Note: 2.5.4a is much older than 2.5.35 but happens first when sorting
2543   # alphabetically, hence the low priority.
2544   flex254a = lowPrio (import ../development/tools/parsing/flex/flex-2.5.4a.nix {
2545     inherit fetchurl stdenv yacc;
2546   });
2548   m4 = gnum4;
2550   global = callPackage ../development/tools/misc/global { };
2552   gnum4 = callPackage ../development/tools/misc/gnum4 { };
2554   gnumake = callPackage ../development/tools/build-managers/gnumake { };
2556   gnumake380 = callPackage ../development/tools/build-managers/gnumake-3.80 { };
2557   gnumake381 = callPackage ../development/tools/build-managers/gnumake/3.81.nix { };
2559   gradle = callPackage ../development/tools/build-managers/gradle { };
2561   gperf = callPackage ../development/tools/misc/gperf { };
2563   gtkdialog = callPackage ../development/tools/misc/gtkdialog { };
2565   guileLint = callPackage ../development/tools/guile/guile-lint { };
2567   gwrap = callPackage ../development/tools/guile/g-wrap { };
2569   help2man = callPackage ../development/tools/misc/help2man {
2570     inherit (perlPackages) LocaleGettext;
2571   };
2573   iconnamingutils = callPackage ../development/tools/misc/icon-naming-utils {
2574     inherit (perlPackages) XMLSimple;
2575   };
2577   indent = callPackage ../development/tools/misc/indent { };
2579   inotifyTools = callPackage ../development/tools/misc/inotify-tools { };
2581   ired = callPackage ../development/tools/analysis/radare/ired.nix { };
2583   jikespg = callPackage ../development/tools/parsing/jikespg { };
2585   lcov = callPackage ../development/tools/analysis/lcov { };
2587   libtool = libtool_2;
2589   libtool_1_5 = callPackage ../development/tools/misc/libtool { };
2591   libtool_2 = callPackage ../development/tools/misc/libtool/libtool2.nix { };
2593   lsof = callPackage ../development/tools/misc/lsof { };
2595   ltrace = callPackage ../development/tools/misc/ltrace { };
2597   mig = callPackage ../os-specific/gnu/mig { };
2599   mk = callPackage ../development/tools/build-managers/mk { };
2601   noweb = callPackage ../development/tools/literate-programming/noweb { };
2603   omake = callPackage ../development/tools/ocaml/omake { };
2606   openocd = callPackage ../development/tools/misc/openocd { };
2608   oprofile = import ../development/tools/profiling/oprofile {
2609     inherit fetchurl stdenv binutils popt makeWrapper gawk which gnugrep zlib;
2611     # Optional build inputs for the (useless) GUI.
2612     /*
2613     qt = qt3;
2614     inherit (xlibs) libX11 libXext;
2615     inherit libpng;
2616      */
2617   };
2619   patchelf = callPackage ../development/tools/misc/patchelf { };
2621   patchelf06 = callPackage ../development/tools/misc/patchelf/0.6.nix { };
2623   pmccabe = callPackage ../development/tools/misc/pmccabe { };
2625   /* Make pkgconfig always return a buildDrv, never a proper hostDrv,
2626      because most usage of pkgconfig as buildInput (inheritance of
2627      pre-cross nixpkgs) means using it using as buildNativeInput
2628      cross_renaming: we should make all programs use pkgconfig as
2629      buildNativeInput after the renaming.
2630      */
2631   pkgconfig = forceBuildDrv (callPackage ../development/tools/misc/pkgconfig { });
2633   radare = callPackage ../development/tools/analysis/radare {
2634     inherit (gnome) vte;
2635     lua = lua5;
2636     useX11 = getConfig ["radare" "useX11"] false;
2637     pythonBindings = getConfig ["radare" "pythonBindings"] false;
2638     rubyBindings = getConfig ["radare" "rubyBindings"] false;
2639     luaBindings = getConfig ["radare" "luaBindings"] false;
2640   };
2642   ragel = callPackage ../development/tools/parsing/ragel { };
2644   remake = callPackage ../development/tools/build-managers/remake { };
2646   # couldn't find the source yet
2647   seleniumRCBin = callPackage ../development/tools/selenium/remote-control {
2648     jre = jdk;  };
2650   scons = callPackage ../development/tools/build-managers/scons { };
2652   simpleBuildTool = callPackage ../development/tools/build-managers/simple-build-tool { };
2654   sloccount = callPackage ../development/tools/misc/sloccount { };
2656   sparse = callPackage ../development/tools/analysis/sparse { };
2658   spin = callPackage ../development/tools/analysis/spin { };
2660   splint = callPackage ../development/tools/analysis/splint { };
2662   strace = callPackage ../development/tools/misc/strace { };
2664   swig = callPackage ../development/tools/misc/swig { };
2666   swigWithJava = swig;
2668   swftools = callPackage ../tools/video/swftools { };
2670   texinfo49 = callPackage ../development/tools/misc/texinfo/4.9.nix { };
2672   texinfo = callPackage ../development/tools/misc/texinfo { };
2674   texi2html = callPackage ../development/tools/misc/texi2html { };
2676   uisp = callPackage ../development/tools/misc/uisp { };
2678   gdb = callPackage ../development/tools/misc/gdb {
2679     readline = readline5;
2680   };
2682   gdbCross = callPackage ../development/tools/misc/gdb {
2683     readline = readline5;
2684     target = crossSystem;
2685   };
2687   valgrind = callPackage ../development/tools/analysis/valgrind { };
2689   valkyrie = callPackage ../development/tools/analysis/valkyrie { };
2691   xxdiff = builderDefsPackage (import ../development/tools/misc/xxdiff/3.2.nix) {
2692     qt = qt3;
2693     inherit pkgconfig makeWrapper bison python flex;
2694     inherit (xlibs) libXext libX11;
2695   };
2697   yacc = bison;
2699   yodl = callPackage ../development/tools/misc/yodl { };
2702   ### DEVELOPMENT / LIBRARIES
2705   a52dec = callPackage ../development/libraries/a52dec { };
2707   aalib = callPackage ../development/libraries/aalib { };
2709   acl = callPackage ../development/libraries/acl { };
2711   adns = import ../development/libraries/adns/1.4.nix {
2712     inherit stdenv fetchurl;
2713     static = getConfig [ "adns" "static" ] (stdenv ? isStatic || stdenv ? isDietLibC);
2714   };
2716   agg = callPackage ../development/libraries/agg { };
2718   allegro = callPackage ../development/libraries/allegro {};
2720   amrnb = callPackage ../development/libraries/amrnb { };
2722   amrwb = callPackage ../development/libraries/amrwb { };
2724   apr = callPackage ../development/libraries/apr { };
2726   aprutil = callPackage ../development/libraries/apr-util {
2727     bdbSupport = true;
2728   };
2730   aspell = callPackage ../development/libraries/aspell { };
2732   aspellDicts = recurseIntoAttrs (import ../development/libraries/aspell/dictionaries.nix {
2733     inherit fetchurl stdenv aspell which;
2734   });
2736   aterm = aterm25;
2738   aterm242fixes = lowPrio (import ../development/libraries/aterm/2.4.2-fixes.nix {
2739     inherit fetchurl stdenv;
2740   });
2742   aterm25 = callPackage ../development/libraries/aterm/2.5.nix { };
2744   aterm28 = lowPrio (callPackage ../development/libraries/aterm/2.8.nix { });
2746   attr = callPackage ../development/libraries/attr { };
2748   aubio = callPackage ../development/libraries/aubio { };
2750   axis = callPackage ../development/libraries/axis { };
2752   babl = callPackage ../development/libraries/babl { };
2754   beecrypt = callPackage ../development/libraries/beecrypt { };
2756   boehmgc = callPackage ../development/libraries/boehm-gc { };
2758   boolstuff = callPackage ../development/libraries/boolstuff { };
2760   boost = callPackage ../development/libraries/boost { };
2762   # A Boost build with all library variants enabled.  Very large (about 250 MB).
2763   boostFull = appendToName "full" (boost.override {
2764     enableDebug = true;
2765     enableSingleThreaded = true;
2766     enableStatic = true;
2767   });
2769   botan = callPackage ../development/libraries/botan { };
2771   box2d = callPackage ../development/libraries/box2d { };
2772   box2d_2_0_1 = callPackage ../development/libraries/box2d/2.0.1.nix { };
2774   buddy = callPackage ../development/libraries/buddy { };
2776   cairo = callPackage ../development/libraries/cairo { };
2777   cairo_1_10_0 = callPackage ../development/libraries/cairo/1.10.nix {
2778     pixman = xlibs.pixman_0_20_0;
2779   };
2781   cairomm = callPackage ../development/libraries/cairomm { };
2783   scmccid = callPackage ../development/libraries/scmccid { };
2785   ccrtp = callPackage ../development/libraries/ccrtp { };
2787   cgui = callPackage ../development/libraries/cgui {};
2789   check = callPackage ../development/libraries/check { };
2791   chipmunk = builderDefsPackage (import ../development/libraries/chipmunk) {
2792     inherit cmake freeglut mesa;
2793     inherit (xlibs) libX11 xproto inputproto libXi libXmu;
2794   };
2796   chmlib = callPackage ../development/libraries/chmlib { };
2798   cil = callPackage ../development/libraries/cil { };
2800   cilaterm = callPackage ../development/libraries/cil-aterm {
2801     stdenv = overrideInStdenv stdenv [gnumake380];
2802   };
2804   clanlib = callPackage ../development/libraries/clanlib { };
2806   clapack = callPackage ../development/libraries/clapack {
2807   };
2809   classads = callPackage ../development/libraries/classads { };
2811   classpath = callPackage ../development/libraries/java/classpath {
2812     javac = gcj;
2813     jvm = gcj;
2814     gconf = gnome.GConf;
2815   };
2817   clearsilver = callPackage ../development/libraries/clearsilver { };
2819   cln = callPackage ../development/libraries/cln { };
2821   clppcre = builderDefsPackage (import ../development/libraries/cl-ppcre) {
2822   };
2824   cluceneCore = callPackage ../development/libraries/clucene-core { };
2826   clutter = callPackage ../development/libraries/clutter {
2827     inherit (gnome) glib pango gtk;
2828   };
2830   clutter_gtk = callPackage ../development/libraries/clutter-gtk {
2831     inherit (gnome) gtk;
2832   };
2834   commoncpp2 = callPackage ../development/libraries/commoncpp2 { };
2836   confuse = callPackage ../development/libraries/confuse { };
2838   consolekit = callPackage ../development/libraries/consolekit { };
2840   coredumper = callPackage ../development/libraries/coredumper { };
2842   ctl = callPackage ../development/libraries/ctl { };
2844   cppunit = callPackage ../development/libraries/cppunit { };
2846   cracklib = callPackage ../development/libraries/cracklib { };
2848   cryptopp = callPackage ../development/libraries/crypto++ { };
2850   cyrus_sasl = callPackage ../development/libraries/cyrus-sasl { };
2852   db4 = db45;
2854   db44 = callPackage ../development/libraries/db4/db4-4.4.nix { };
2856   db45 = callPackage ../development/libraries/db4/db4-4.5.nix { };
2858   dbus = callPackage ../development/libraries/dbus {
2859     useX11 = true; # !!! `false' doesn't build
2860   };
2862   dbus_glib = makeOverridable (import ../development/libraries/dbus-glib) {
2863     inherit fetchurl stdenv pkgconfig gettext dbus expat glib libiconv;
2864   };
2866   dbus_java = callPackage ../development/libraries/java/dbus-java { };
2868   dclib = callPackage ../development/libraries/dclib { };
2870   directfb = callPackage ../development/libraries/directfb { };
2872   dragonegg = callPackage ../development/compilers/llvm/dragonegg.nix {
2873     stdenv = overrideGCC stdenv gcc45;
2874   };
2876   enchant = callPackage ../development/libraries/enchant {
2877     inherit (gnome) glib;
2878   };
2880   enet = callPackage ../development/libraries/enet { };
2882   enginepkcs11 = callPackage ../development/libraries/enginepkcs11 { };
2884   esdl = callPackage ../development/libraries/esdl { };
2886   exiv2 = callPackage ../development/libraries/exiv2 { };
2888   expat = callPackage ../development/libraries/expat { };
2890   extremetuxracer = builderDefsPackage (import ../games/extremetuxracer) {
2891     inherit mesa tcl freeglut SDL SDL_mixer pkgconfig
2892       libpng gettext intltool;
2893     inherit (xlibs) libX11 xproto libXi inputproto
2894       libXmu libXext xextproto libXt libSM libICE;
2895   };
2897   eventlog = callPackage ../development/libraries/eventlog { };
2899   facile = callPackage ../development/libraries/facile {
2900     # Actually, we don't need this version but we need native-code compilation
2901     ocaml = ocaml_3_10_0;
2902   };
2904   faac = callPackage ../development/libraries/faac { };
2906   faad2 = callPackage ../development/libraries/faad2 { };
2908   farsight2 = callPackage ../development/libraries/farsight2 {
2909     inherit (gnome) glib;
2910     inherit (gst_all) gstreamer gstPluginsBase gst_python;
2911   };
2913   fcgi = callPackage ../development/libraries/fcgi { };
2915   ffmpeg = callPackage ../development/libraries/ffmpeg {
2916     vpxSupport = if !stdenv.isMips then true else false;
2917   };
2919   fftw = callPackage ../development/libraries/fftw {
2920     singlePrecision = false;
2921   };
2923   fftwSinglePrec = callPackage ../development/libraries/fftw {
2924     singlePrecision = true;
2925   };
2927   fltk11 = callPackage ../development/libraries/fltk/fltk11.nix { };
2929   fltk20 = callPackage ../development/libraries/fltk { };
2931   fmod = callPackage ../development/libraries/fmod { };
2933   freeimage = callPackage ../development/libraries/freeimage { };
2935   freetts = callPackage ../development/libraries/freetts { };
2937   cfitsio = callPackage ../development/libraries/cfitsio { };
2939   fontconfig = callPackage ../development/libraries/fontconfig { };
2941   makeFontsConf = let fontconfig_ = fontconfig; in {fontconfig ? fontconfig_, fontDirectories}:
2942     import ../development/libraries/fontconfig/make-fonts-conf.nix {
2943       inherit runCommand libxslt fontconfig fontDirectories;
2944     };
2946   freealut = callPackage ../development/libraries/freealut { };
2948   freeglut = callPackage ../development/libraries/freeglut { };
2950   freetype = callPackage ../development/libraries/freetype { };
2952   fribidi = callPackage ../development/libraries/fribidi { };
2954   fam = gamin;
2956   gamin = callPackage ../development/libraries/gamin { };
2958   gav = callPackage ../games/gav {
2959     stdenv = overrideGCC stdenv gcc41;
2960   };
2962   gdome2 = callPackage ../development/libraries/gdome2 {
2963     inherit (gnome) gtkdoc;
2964   };
2966   gdbm = callPackage ../development/libraries/gdbm { };
2968   gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf {
2969     inherit (gtkLibs1x) gtk;
2970   };
2972   gegl = callPackage ../development/libraries/gegl {
2973     #  avocodec avformat librsvg
2974     inherit (gtkLibs) pango glib gtk;
2975   };
2977   geoclue = callPackage ../development/libraries/geoclue {};
2979   geoip = builderDefsPackage ../development/libraries/geoip {
2980     inherit zlib;
2981   };
2983   geoipjava = callPackage ../development/libraries/java/geoipjava { };
2985   geos = callPackage ../development/libraries/geos { };
2987   gettext = gettext_0_18;
2989   gettext_0_17 = callPackage ../development/libraries/gettext/0.17.nix { };
2990   gettext_0_18 = callPackage ../development/libraries/gettext { };
2992   gd = callPackage ../development/libraries/gd { };
2994   gdal = callPackage ../development/libraries/gdal { };
2996   giblib = callPackage ../development/libraries/giblib { };
2998   glew = callPackage ../development/libraries/glew { };
3000   glfw = callPackage ../development/libraries/glfw { };
3002   glibc = glibc212;
3004   glibc25 = callPackage ../development/libraries/glibc-2.5 {
3005     kernelHeaders = linuxHeaders;
3006     installLocales = false;
3007   };
3009   glibc27 = callPackage ../development/libraries/glibc-2.7 {
3010     kernelHeaders = linuxHeaders;
3011     #installLocales = false;
3012   };
3014   glibc29 = callPackage ../development/libraries/glibc-2.9 {
3015     kernelHeaders = linuxHeaders;
3016     installLocales = getConfig [ "glibc" "locales" ] false;
3017   };
3019   glibc29Cross = forceBuildDrv (makeOverridable (import ../development/libraries/glibc-2.9) {
3020     inherit stdenv fetchurl;
3021     gccCross = gccCrossStageStatic;
3022     kernelHeaders = linuxHeadersCross;
3023     installLocales = getConfig [ "glibc" "locales" ] false;
3024   });
3026   glibc212 = (callPackage ../development/libraries/glibc-2.12 {
3027     kernelHeaders = linuxHeaders;
3028     installLocales = getConfig [ "glibc" "locales" ] false;
3029     machHeaders = null;
3030     hurdHeaders = null;
3031     gccCross = null;
3032   }) // (if crossSystem != null then { hostDrv = glibc212Cross; } else {});
3034   glibc212Cross = forceBuildDrv (makeOverridable (import ../development/libraries/glibc-2.12)
3035     (let crossGNU = (crossSystem != null && crossSystem.config == "i586-pc-gnu");
3036      in ({
3037        inherit stdenv fetchurl;
3038        gccCross = gccCrossStageStatic;
3039        kernelHeaders = if crossGNU then hurdHeaders else linuxHeadersCross;
3040        installLocales = getConfig [ "glibc" "locales" ] false;
3041      }
3043      //
3045      (if crossGNU
3046       then { inherit machHeaders hurdHeaders mig fetchgit; }
3047       else { }))));
3049   glibcCross = glibc212Cross;
3051   # We can choose:
3052   libcCrossChooser = name : if (name == "glibc") then glibcCross
3053     else if (name == "uclibc") then uclibcCross
3054     else if (name == "msvcrt") then windows.mingw_headers3
3055     else throw "Unknown libc";
3057   libcCross = assert crossSystem != null; libcCrossChooser crossSystem.libc;
3059   libdbusmenu_qt = callPackage ../development/libraries/libdbusmenu-qt { };
3061   libdwg = callPackage ../development/libraries/libdwg { };
3063   libgadu = callPackage ../development/libraries/libgadu { };
3065   eglibc = callPackage ../development/libraries/eglibc {
3066     kernelHeaders = linuxHeaders;
3067     installLocales = getConfig [ "glibc" "locales" ] false;
3068   };
3070   glibcLocales = callPackage ../development/libraries/glibc-2.12/locales.nix { };
3072   glibcInfo = callPackage ../development/libraries/glibc-2.12/info.nix { };
3074   glibc_multi =
3075       runCommand "${glibc.name}-multi"
3076         { glibc64 = glibc;
3077           glibc32 = (import ./all-packages.nix {system = "i686-linux";}).glibc;
3078         }
3079         ''
3080           ensureDir $out
3081           ln -s $glibc64/* $out/
3083           rm $out/lib $out/lib64
3084           ensureDir $out/lib
3085           ln -s $glibc64/lib/* $out/lib
3086           ln -s $glibc32/lib $out/lib/32
3087           ln -s lib $out/lib64
3089           rm $out/include
3090           cp -rs $glibc32/include $out
3091           chmod -R u+w $out/include
3092           cp -rsf $glibc64/include $out
3093         '' # */
3094         ;
3096   glpk = callPackage ../development/libraries/glpk { };
3098   gmime = callPackage ../development/libraries/gmime { };
3100   gmime_2_2 = callPackage ../development/libraries/gmime/2.2.x.nix { };
3102   gmm = callPackage ../development/libraries/gmm { };
3104   gmp =
3105     if stdenv.system == "i686-darwin" then
3106       # GMP 4.3.2 is broken on Darwin, so use 4.3.1.
3107       makeOverridable (import ../development/libraries/gmp/4.3.1.nix) {
3108         inherit stdenv fetchurl m4;
3109         cxx = false;
3110       }
3111     else
3112       # We temporarily leave gmp 4 here, waiting for a new ppl/cloog-ppl that
3113       # would build well with gmp 5.
3114       makeOverridable (import ../development/libraries/gmp/4.nix) {
3115         inherit stdenv fetchurl m4;
3116         cxx = false;
3117       };
3119   gmpxx = gmp.override { cxx = true; };
3121   gobjectIntrospection = callPackage ../development/libraries/gobject-introspection { };
3123   goffice = callPackage ../development/libraries/goffice {
3124     inherit (gnome) glib gtk libglade libgnomeui pango;
3125     gconf = gnome.GConf;
3126     libart = gnome.libart_lgpl;
3127   };
3129   goocanvas = callPackage ../development/libraries/goocanvas {
3130     inherit (gnome) gtk glib;
3131   };
3133   #GMP ex-satellite, so better keep it near gmp
3134   mpfr = callPackage ../development/libraries/mpfr { };
3136   gst_all = recurseIntoAttrs
3137     (let callPackage = newScope pkgs.gst_all; in
3138      import ../development/libraries/gstreamer { inherit callPackage pkgs; });
3140   gnet = callPackage ../development/libraries/gnet { };
3142   gnutls = callPackage ../development/libraries/gnutls {
3143     guileBindings = getConfig ["gnutls" "guile"] true;
3144   };
3146   gpgme = callPackage ../development/libraries/gpgme { };
3148   grantlee = callPackage ../development/libraries/grantlee { };
3150   gsasl = callPackage ../development/libraries/gsasl { };
3152   gsl = callPackage ../development/libraries/gsl { };
3154   gsoap = callPackage ../development/libraries/gsoap { };
3156   gss = callPackage ../development/libraries/gss { };
3158   gtkimageview = callPackage ../development/libraries/gtkimageview {
3159     inherit (gnome) gtk;
3160   };
3162   gtkmathview = callPackage ../development/libraries/gtkmathview { };
3164   gtkLibs = gtkLibs220;
3166   glib = gtkLibs.glib;
3167   gtk = gtkLibs.gtk;
3168   pango = gtkLibs.pango;
3170   gtkLibs1x = recurseIntoAttrs (let callPackage = newScope pkgs.gtkLibs1x; in rec {
3172     glib = callPackage ../development/libraries/glib/1.2.x.nix { };
3174     gtk = callPackage ../development/libraries/gtk+/1.2.x.nix { };
3176   });
3178   gtkLibs216 = recurseIntoAttrs (let callPackage = newScope pkgs.gtkLibs216; in rec {
3180     glib = callPackage ../development/libraries/glib/2.20.x.nix { };
3182     glibmm = callPackage ../development/libraries/glibmm/2.18.x.nix { };
3184     atk = callPackage ../development/libraries/atk/1.24.x.nix { };
3186     pango = callPackage ../development/libraries/pango/1.24.x.nix { };
3188     pangomm = callPackage ../development/libraries/pangomm/2.14.x.nix { };
3190     gtk = callPackage ../development/libraries/gtk+/2.16.x.nix { };
3192     gtkmm = callPackage ../development/libraries/gtkmm/2.14.x.nix { };
3194   });
3196   gtkLibs218 = recurseIntoAttrs (let callPackage = newScope pkgs.gtkLibs218; in rec {
3198     glib = callPackage ../development/libraries/glib/2.22.x.nix { };
3200     glibmm = callPackage ../development/libraries/glibmm/2.22.x.nix { };
3202     atk = callPackage ../development/libraries/atk/1.28.x.nix { };
3204     pango = callPackage ../development/libraries/pango/1.26.x.nix { };
3206     pangomm = callPackage ../development/libraries/pangomm/2.26.x.nix { };
3208     gtk = callPackage ../development/libraries/gtk+/2.18.x.nix { };
3210     gtkmm = callPackage ../development/libraries/gtkmm/2.18.x.nix { };
3212   });
3214   gtkLibs220 = recurseIntoAttrs (let callPackage = pkgs.newScope pkgs.gtkLibs220; in rec {
3216     glib = callPackage ../development/libraries/glib/2.24.x.nix { };
3218     glibmm = callPackage ../development/libraries/glibmm/2.22.x.nix { };
3220     atk = callPackage ../development/libraries/atk/1.30.x.nix { };
3222     pango = callPackage ../development/libraries/pango/1.28.x.nix { };
3224     pangomm = callPackage ../development/libraries/pangomm/2.26.x.nix { };
3226     gtk = callPackage ../development/libraries/gtk+/2.20.x.nix { };
3228     gtkmm = callPackage ../development/libraries/gtkmm/2.18.x.nix { };
3230   });
3232   gtkmozembedsharp = callPackage ../development/libraries/gtkmozembed-sharp {
3233     inherit (gnome) gtk;
3234     gtksharp = gtksharp2;
3235   };
3237   gtksharp1 = callPackage ../development/libraries/gtk-sharp-1 {
3238     inherit (gnome) gtk glib pango libglade libgtkhtml gtkhtml
3239               libgnomecanvas libgnomeui libgnomeprint
3240               libgnomeprintui GConf;
3241   };
3243   gtksharp2 = callPackage ../development/libraries/gtk-sharp-2 {
3244     inherit (gnome) gtk glib pango libglade libgtkhtml gtkhtml
3245               libgnomecanvas libgnomeui libgnomeprint
3246               libgnomeprintui GConf gnomepanel;
3247   };
3249   gtksourceviewsharp = callPackage ../development/libraries/gtksourceview-sharp {
3250     inherit (gnome) gtksourceview;
3251     gtksharp = gtksharp2;
3252   };
3254   gtkspell = callPackage ../development/libraries/gtkspell { };
3256   # TODO : Add MIT Kerberos and let admin choose.
3257   kerberos = heimdal;
3259   heimdal = callPackage ../development/libraries/kerberos/heimdal.nix { };
3261   herqqSvn = callPackage ../development/libraries/herqq/svn.nix { };
3263   herqq070 = callPackage ../development/libraries/herqq/0.7.0.nix { };
3265   herqq080 = callPackage ../development/libraries/herqq/0.8.0.nix { };
3267   hspell = callPackage ../development/libraries/hspell { };
3269   hspellDicts = callPackage ../development/libraries/hspell/dicts.nix { };
3271   hsqldb = callPackage ../development/libraries/java/hsqldb { };
3273   hunspell = callPackage ../development/libraries/hunspell { };
3275   hwloc = callPackage ../development/libraries/hwloc { };
3277   hydraAntLogger = callPackage ../development/libraries/java/hydra-ant-logger { };
3279   icedtea = callPackage ../development/libraries/java/icedtea {
3280     ant = apacheAntGcj;
3281     xerces = xercesJava;
3282     xulrunner = icecatXulrunner3;
3283     inherit (xlibs) libX11 libXp libXtst libXinerama libXt
3284       libXrender xproto;
3285   };
3287   icu = callPackage ../development/libraries/icu { };
3289   id3lib = callPackage ../development/libraries/id3lib { };
3291   ilbc = callPackage ../development/libraries/ilbc { };
3293   ilmbase = callPackage ../development/libraries/ilmbase { };
3295   imlib = callPackage ../development/libraries/imlib { };
3297   imlib2 = callPackage ../development/libraries/imlib2 { };
3299   incrtcl = callPackage ../development/libraries/incrtcl { };
3301   indilib = callPackage ../development/libraries/indilib { };
3303   iniparser = callPackage ../development/libraries/iniparser { };
3305   intltool = gnome.intltool;
3307   isocodes = callPackage ../development/libraries/iso-codes { };
3309   itk = callPackage ../development/libraries/itk { };
3311   jamp = builderDefsPackage ../games/jamp {
3312     inherit mesa SDL SDL_image SDL_mixer;
3313   };
3315   jasper = callPackage ../development/libraries/jasper { };
3317   jama = callPackage ../development/libraries/jama { };
3319   jbig2dec = callPackage ../development/libraries/jbig2dec { };
3321   jetty_gwt = callPackage ../development/libraries/java/jetty-gwt { };
3323   jetty_util = callPackage ../development/libraries/java/jetty-util { };
3325   json_glib = callPackage ../development/libraries/json-glib { };
3327   judy = callPackage ../development/libraries/judy { };
3329   kdevplatform = newScope pkgs.kde4 ../development/libraries/kdevplatform { };
3331   krb5 = callPackage ../development/libraries/kerberos/krb5.nix { };
3333   lcms = lcms1;
3335   lcms1 = callPackage ../development/libraries/lcms { };
3337   lcms2 = callPackage ../development/libraries/lcms2 { };
3339   lensfun = callPackage ../development/libraries/lensfun {
3340     inherit (gnome) glib;
3341   };
3343   lesstif = callPackage ../development/libraries/lesstif { };
3345   lesstif93 = callPackage ../development/libraries/lesstif-0.93 { };
3347   levmar = callPackage ../development/libraries/levmar { };
3349   lib3ds = callPackage ../development/libraries/lib3ds { };
3351   libaal = callPackage ../development/libraries/libaal { };
3353   libao = callPackage ../development/libraries/libao {
3354     usePulseAudio = getConfig [ "pulseaudio" ] true;
3355   };
3357   libarchive = callPackage ../development/libraries/libarchive { };
3359   libassuan1 = callPackage ../development/libraries/libassuan1 { };
3361   libassuan = callPackage ../development/libraries/libassuan { };
3363   libavc1394 = callPackage ../development/libraries/libavc1394 { };
3365   libcaca = callPackage ../development/libraries/libcaca { };
3367   libcanberra = callPackage ../development/libraries/libcanberra {
3368     /* Using GNU Make 3.82 leads to this:
3370          Makefile:939: *** missing separator (did you mean TAB instead of 8 spaces?).  Stop.
3372        So use 3.81.  */
3373     stdenv = overrideInStdenv stdenv [gnumake381];
3374     gstreamer = gst_all.gstreamer;
3375   };
3377   libcdaudio = callPackage ../development/libraries/libcdaudio { };
3379   libcddb = callPackage ../development/libraries/libcddb { };
3381   libcdio = callPackage ../development/libraries/libcdio { };
3383   libchamplain = callPackage ../development/libraries/libchamplain {
3384     inherit (gnome) gtk glib libsoup;
3385   };
3387   libcm = callPackage ../development/libraries/libcm { };
3389   libctemplate = callPackage ../development/libraries/libctemplate { };
3391   libcue = callPackage ../development/libraries/libcue { };
3393   libdaemon = callPackage ../development/libraries/libdaemon { };
3395   libdbi = callPackage ../development/libraries/libdbi { };
3397   libdbiDriversBase = callPackage ../development/libraries/libdbi-drivers {
3398     mysql = null;
3399     sqlite = null;
3400   };
3402   libdbiDrivers = libdbiDriversBase.override {
3403     inherit sqlite mysql;
3404   };
3406   libdevil = callPackage ../development/libraries/libdevil { };
3408   libdiscid = callPackage ../development/libraries/libdiscid { };
3410   libdv = callPackage ../development/libraries/libdv { };
3412   libdrm = if stdenv.isDarwin then null else (import ../development/libraries/libdrm {
3413     inherit fetchurl stdenv pkgconfig;
3414     inherit (xorg) libpthreadstubs;
3415   });
3417   libdvdcss = callPackage ../development/libraries/libdvdcss { };
3419   libdvdnav = callPackage ../development/libraries/libdvdnav { };
3421   libdvdread = callPackage ../development/libraries/libdvdread { };
3423   libedit = callPackage ../development/libraries/libedit { };
3425   libelf = callPackage ../development/libraries/libelf { };
3427   liblo = callPackage ../development/libraries/liblo { };
3429   libev = builderDefsPackage ../development/libraries/libev {
3430   };
3432   libevent = callPackage ../development/libraries/libevent { };
3434   libewf = callPackage ../development/libraries/libewf { };
3436   libexif = callPackage ../development/libraries/libexif { };
3438   libextractor = callPackage ../development/libraries/libextractor {
3439     inherit (gnome) gtk;
3440     libmpeg2 = mpeg2dec;
3441   };
3443   libfixposix = callPackage ../development/libraries/libfixposix {};
3445   libffcall = builderDefsPackage (import ../development/libraries/libffcall) {
3446     inherit fetchcvs;
3447   };
3449   libffi = callPackage ../development/libraries/libffi { };
3451   libftdi = callPackage ../development/libraries/libftdi { };
3453   libgcrypt = callPackage ../development/libraries/libgcrypt { };
3455   libgpgerror = callPackage ../development/libraries/libgpg-error { };
3457   libgphoto2 = callPackage ../development/libraries/libgphoto2 { };
3459   libgpod = callPackage ../development/libraries/libgpod {
3460     inherit (pkgs.pythonPackages) mutagen;
3461   };
3463   libharu = callPackage ../development/libraries/libharu { };
3465   libical = callPackage ../development/libraries/libical { };
3467   libimobiledevice = callPackage ../development/libraries/libimobiledevice { };
3469   libiodbc = callPackage ../development/libraries/libiodbc {
3470     useGTK = getConfig [ "libiodbc" "gtk" ] false;
3471   };
3473   libktorrent = newScope pkgs.kde4 ../development/libraries/libktorrent { };
3475   liblastfmSF = callPackage ../development/libraries/liblastfmSF { };
3477   liblastfm = callPackage ../development/libraries/liblastfm { };
3479   liblqr1 = callPackage ../development/libraries/liblqr-1 {
3480     inherit (gnome) glib;
3481   };
3483   libmhash = callPackage ../development/libraries/libmhash {};
3485   libmtp = callPackage ../development/libraries/libmtp { };
3487   libnice = callPackage ../development/libraries/libnice {
3488     inherit (gnome) glib;
3489   };
3491   libplist = callPackage ../development/libraries/libplist { };
3493   libQGLViewer = callPackage ../development/libraries/libqglviewer { };
3495   libsamplerate = callPackage ../development/libraries/libsamplerate { };
3497   libspectre = callPackage ../development/libraries/libspectre {
3498     ghostscript = ghostscriptX;
3499   };
3501   libgsf = callPackage ../development/libraries/libgsf {
3502     inherit (gnome) glib gnomevfs libbonobo;
3503   };
3505   libiconv = callPackage ../development/libraries/libiconv { };
3507   libid3tag = callPackage ../development/libraries/libid3tag { };
3509   libidn = callPackage ../development/libraries/libidn { };
3511   libiec61883 = callPackage ../development/libraries/libiec61883 { };
3513   libinfinity = callPackage ../development/libraries/libinfinity {
3514     inherit (gnome) gtkdoc;
3515   };
3517   libiptcdata = callPackage ../development/libraries/libiptcdata { };
3519   libjingle = callPackage ../development/libraries/libjingle/0.3.11.nix { };
3521   libjpeg = callPackage ../development/libraries/libjpeg { };
3523   libjpeg_turbo = callPackage ../development/libraries/libjpeg-turbo { };
3525   libjpeg62 = callPackage ../development/libraries/libjpeg/62.nix {
3526     libtool = libtool_1_5;
3527   };
3529   libksba = callPackage ../development/libraries/libksba { };
3531   libmad = callPackage ../development/libraries/libmad { };
3533   libmatchbox = callPackage ../development/libraries/libmatchbox {
3534     inherit (gtkLibs) pango;
3535   };
3537   libmatthew_java = callPackage ../development/libraries/java/libmatthew-java { };
3539   libmcs = callPackage ../development/libraries/libmcs { };
3541   libmicrohttpd = callPackage ../development/libraries/libmicrohttpd { };
3543   libmikmod = callPackage ../development/libraries/libmikmod { };
3545   libmilter = callPackage ../development/libraries/libmilter { };
3547   libmowgli = callPackage ../development/libraries/libmowgli { };
3549   libmng = callPackage ../development/libraries/libmng { };
3551   libmpcdec = callPackage ../development/libraries/libmpcdec { };
3553   libmrss = callPackage ../development/libraries/libmrss { };
3555   libmsn = callPackage ../development/libraries/libmsn { };
3557   libmspack = callPackage ../development/libraries/libmspack { };
3559   libmusclecard = callPackage ../development/libraries/libmusclecard { };
3561   libmusicbrainz2 = callPackage ../development/libraries/libmusicbrainz/2.x.nix { };
3563   libmusicbrainz3 = callPackage ../development/libraries/libmusicbrainz { };
3565   libmusicbrainz = libmusicbrainz3;
3567   libnih = callPackage ../development/libraries/libnih { };
3569   libnova = callPackage ../development/libraries/libnova { };
3571   libnxml = callPackage ../development/libraries/libnxml { };
3573   libofa = callPackage ../development/libraries/libofa { };
3575   libofx = callPackage ../development/libraries/libofx { };
3577   libogg = callPackage ../development/libraries/libogg { };
3579   liboil = callPackage ../development/libraries/liboil { };
3581   liboop = callPackage ../development/libraries/liboop { };
3583   libosip = callPackage ../development/libraries/osip {};
3585   libotr = callPackage ../development/libraries/libotr { };
3587   libp11 = callPackage ../development/libraries/libp11 { };
3589   libpcap = callPackage ../development/libraries/libpcap { };
3591   libpng = callPackage ../development/libraries/libpng { };
3592   libpng_apng = callPackage ../development/libraries/libpng/libpng-apng.nix { };
3594   libproxy = callPackage ../development/libraries/libproxy { };
3596   libpseudo = callPackage ../development/libraries/libpseudo { };
3598   libqalculate = callPackage ../development/libraries/libqalculate { };
3600   librsync = callPackage ../development/libraries/librsync { };
3602   libsigcxx = callPackage ../development/libraries/libsigcxx { };
3604   libsigcxx12 = callPackage ../development/libraries/libsigcxx/1.2.nix { };
3606   libsigsegv = callPackage ../development/libraries/libsigsegv { };
3608   # To bootstrap SBCL, I need CLisp 2.44.1; it needs libsigsegv 2.5
3609   libsigsegv_25 = callPackage ../development/libraries/libsigsegv/2.5.nix { };
3611   libsndfile = callPackage ../development/libraries/libsndfile { };
3613   libssh = callPackage ../development/libraries/libssh { };
3615   libssh2 = callPackage ../development/libraries/libssh2 { };
3617   libstartup_notification = callPackage ../development/libraries/startup-notification { };
3619   libtasn1 = callPackage ../development/libraries/libtasn1 { };
3621   libtheora = callPackage ../development/libraries/libtheora { };
3623   libtiff = callPackage ../development/libraries/libtiff { };
3625   libtommath = callPackage ../development/libraries/libtommath { };
3627   libtorrentRasterbar = callPackage ../development/libraries/libtorrent-rasterbar { };
3629   libtunepimp = callPackage ../development/libraries/libtunepimp { };
3631   libgeotiff = callPackage ../development/libraries/libgeotiff { };
3633   libunistring = callPackage ../development/libraries/libunistring { };
3635   libupnp = callPackage ../development/libraries/pupnp { };
3637   giflib = callPackage ../development/libraries/giflib { };
3639   libungif = callPackage ../development/libraries/giflib/libungif.nix { };
3641   libusb = callPackage ../development/libraries/libusb { };
3643   libusb1 = callPackage ../development/libraries/libusb1 { };
3645   libunwind = callPackage ../development/libraries/libunwind { };
3647   libv4l = callPackage ../development/libraries/libv4l { };
3649   libvdpau = callPackage ../development/libraries/libvdpau { };
3651   libvirt = callPackage ../development/libraries/libvirt { };
3653   libvncserver = builderDefsPackage (import ../development/libraries/libvncserver) {
3654     inherit libtool libjpeg openssl zlib;
3655     inherit (xlibs) xproto libX11 damageproto libXdamage
3656       libXext xextproto fixesproto libXfixes xineramaproto
3657       libXinerama libXrandr randrproto libXtst;
3658   };
3660   libviper = callPackage ../development/libraries/libviper { };
3662   libvpx = callPackage ../development/libraries/libvpx { };
3664   libvterm = callPackage ../development/libraries/libvterm { };
3666   libvorbis = callPackage ../development/libraries/libvorbis { };
3668   libwmf = callPackage ../development/libraries/libwmf { };
3670   libwpd = callPackage ../development/libraries/libwpd {
3671     inherit (gnome) glib;
3672   };
3674   libwpg = callPackage ../development/libraries/libwpg { };
3676   libx86 = builderDefsPackage ../development/libraries/libx86 {};
3678   libxcrypt = callPackage ../development/libraries/libxcrypt { };
3680   libxdg_basedir = callPackage ../development/libraries/libxdg-basedir { };
3682   libxklavier = callPackage ../development/libraries/libxklavier { };
3684   libxmi = callPackage ../development/libraries/libxmi { };
3686   libxml2 = callPackage ../development/libraries/libxml2 {
3687     pythonSupport = false;
3688   };
3690   libxml2Python = libxml2.override {
3691     pythonSupport = true;
3692   };
3694   libxmlxx = callPackage ../development/libraries/libxmlxx {
3695     inherit (gtkLibs) glibmm;
3696   };
3698   libxslt = callPackage ../development/libraries/libxslt { };
3700   libixp_for_wmii = lowPrio (import ../development/libraries/libixp_for_wmii {
3701     inherit fetchurl stdenv;
3702   });
3704   libyaml = callPackage ../development/libraries/libyaml { };
3706   libzip = callPackage ../development/libraries/libzip { };
3708   libzrtpcpp = callPackage ../development/libraries/libzrtpcpp { };
3710   lightning = callPackage ../development/libraries/lightning { };
3712   liquidwar = builderDefsPackage ../games/liquidwar {
3713     inherit (xlibs) xproto libX11 libXrender;
3714     inherit gmp guile mesa libjpeg libpng
3715       expat gettext perl
3716       SDL SDL_image SDL_mixer SDL_ttf
3717       curl sqlite
3718       libogg libvorbis
3719       ;
3720   };
3722   log4cxx = callPackage ../development/libraries/log4cxx { };
3724   loudmouth = callPackage ../development/libraries/loudmouth { };
3726   lzo = callPackage ../development/libraries/lzo { };
3728   # failed to build
3729   mediastreamer = callPackage ../development/libraries/mediastreamer { };
3731   mesaSupported =
3732     system == "i686-linux" ||
3733     system == "x86_64-linux" ||
3734     system == "x86_64-darwin" ||
3735     system == "i686-darwin";
3737   mesa = callPackage ../development/libraries/mesa {
3738     lipo = if stdenv.isDarwin then darwinLipoUtility else null;
3739   };
3741   metaEnvironment = recurseIntoAttrs (let callPackage = newScope pkgs.metaEnvironment; in rec {
3742     sdfLibrary    = callPackage ../development/libraries/sdf-library { aterm = aterm28; };
3743     toolbuslib    = callPackage ../development/libraries/toolbuslib { aterm = aterm28; inherit (windows) w32api; };
3744     cLibrary      = callPackage ../development/libraries/c-library { aterm = aterm28; };
3745     errorSupport  = callPackage ../development/libraries/error-support { aterm = aterm28; };
3746     ptSupport     = callPackage ../development/libraries/pt-support { aterm = aterm28; };
3747     ptableSupport = callPackage ../development/libraries/ptable-support { aterm = aterm28; };
3748     configSupport = callPackage ../development/libraries/config-support { aterm = aterm28; };
3749     asfSupport    = callPackage ../development/libraries/asf-support { aterm = aterm28; };
3750     tideSupport   = callPackage ../development/libraries/tide-support { aterm = aterm28; };
3751     rstoreSupport = callPackage ../development/libraries/rstore-support { aterm = aterm28; };
3752     sdfSupport    = callPackage ../development/libraries/sdf-support { aterm = aterm28; };
3753     sglr          = callPackage ../development/libraries/sglr { aterm = aterm28; };
3754     ascSupport    = callPackage ../development/libraries/asc-support { aterm = aterm28; };
3755     pgen          = callPackage ../development/libraries/pgen { aterm = aterm28; };
3756   });
3758   ming = callPackage ../development/libraries/ming { };
3760   mlt = callPackage ../development/libraries/mlt {
3761     qt = qt4;
3762   };
3764   mpeg2dec = callPackage ../development/libraries/mpeg2dec { };
3766   msilbc = callPackage ../development/libraries/msilbc { };
3768   mp4v2 = callPackage ../development/libraries/mp4v2 { };
3770   mpc = callPackage ../development/libraries/mpc { };
3772   mpich2 = callPackage ../development/libraries/mpich2 { };
3774   muparser = callPackage ../development/libraries/muparser { };
3776   ncurses = makeOverridable (import ../development/libraries/ncurses) {
3777     inherit fetchurl stdenv;
3778     unicode = system != "i686-cygwin";
3779   };
3781   neon = neon029;
3783   neon026 = callPackage ../development/libraries/neon/0.26.nix {
3784     compressionSupport = true;
3785     sslSupport = true;
3786   };
3788   neon028 = callPackage ../development/libraries/neon/0.28.nix {
3789     compressionSupport = true;
3790     sslSupport = true;
3791   };
3793   neon029 = callPackage ../development/libraries/neon/0.29.nix {
3794     compressionSupport = true;
3795     sslSupport = true;
3796   };
3798   nethack = builderDefsPackage (import ../games/nethack) {
3799     inherit ncurses flex bison;
3800   };
3802   nettle = callPackage ../development/libraries/nettle { };
3804   nspr = callPackage ../development/libraries/nspr { };
3806   nss = callPackage ../development/libraries/nss { };
3808   nssTools = callPackage ../development/libraries/nss {
3809     includeTools = true;
3810   };
3812   ode = builderDefsPackage (import ../development/libraries/ode) {
3813   };
3814   
3815   ogre = callPackage ../development/libraries/ogre {};
3817   openal = callPackage ../development/libraries/openal { };
3819   # added because I hope that it has been easier to compile on x86 (for blender)
3820   openalSoft = callPackage ../development/libraries/openal-soft { };
3822   openbabel = callPackage ../development/libraries/openbabel { };
3824   opencascade = callPackage ../development/libraries/opencascade { };
3826   openct = callPackage ../development/libraries/openct { };
3828   opencv = callPackage ../development/libraries/opencv {
3829       inherit (gst_all) gstreamer;
3830   };
3832   # this ctl version is needed by openexr_viewers
3833   openexr_ctl = callPackage ../development/libraries/openexr_ctl { };
3835   openexr = callPackage ../development/libraries/openexr { };
3837   openldap = callPackage ../development/libraries/openldap { };
3839   openlierox = builderDefsPackage ../games/openlierox {
3840     inherit (xlibs) libX11 xproto;
3841     inherit gd SDL SDL_image SDL_mixer zlib libxml2
3842       pkgconfig;
3843   };
3845   libopensc_dnie = callPackage ../development/libraries/libopensc-dnie {
3846     opensc = opensc_0_11_7;
3847   };
3849   ois = callPackage ../development/libraries/ois {};
3851   opal = callPackage ../development/libraries/opal {};
3853   openjpeg = callPackage ../development/libraries/openjpeg { };
3855   openssl = callPackage ../development/libraries/openssl {
3856     fetchurl = fetchurlBoot;
3857   };
3859   ortp = callPackage ../development/libraries/ortp { };
3861   pangoxsl = callPackage ../development/libraries/pangoxsl {
3862     inherit (gtkLibs) glib pango;
3863   };
3865   pcre = callPackage ../development/libraries/pcre {
3866     unicodeSupport = getConfig ["pcre" "unicode"] false;
3867     cplusplusSupport = !stdenv ? isDietLibC;
3868   };
3870   pdf2xml = callPackage ../development/libraries/pdf2xml {} ;
3872   phonon_backend_vlc = newScope pkgs.kde4 ../development/libraries/phonon-backend-vlc { };
3874   physfs = callPackage ../development/libraries/physfs { };
3876   plib = callPackage ../development/libraries/plib { };
3878   podofo = callPackage ../development/libraries/podofo { };
3880   polkit = callPackage ../development/libraries/polkit { };
3882   policykit = callPackage ../development/libraries/policykit { };
3884   poppler = callPackage ../development/libraries/poppler {
3885     qt4Support = false;
3886   };
3888   popplerQt4 = poppler.override {
3889     inherit qt4;
3890     qt4Support = true;
3891   };
3893   popt = callPackage ../development/libraries/popt { };
3895   portaudio = callPackage ../development/libraries/portaudio { };
3896   portaudioSVN = callPackage ../development/libraries/portaudio/svn-head.nix { };
3898   proj = callPackage ../development/libraries/proj { };
3900   postgis = callPackage ../development/libraries/postgis { };
3902   protobuf = callPackage ../development/libraries/protobuf { };
3904   pth = callPackage ../development/libraries/pth { };
3906   ptlib = callPackage ../development/libraries/ptlib {};
3908   qjson = callPackage ../development/libraries/qjson { };
3910   qt3 = callPackage ../development/libraries/qt-3 {
3911     openglSupport = mesaSupported;
3912     mysqlSupport = getConfig ["qt" "mysql"] false;
3913   };
3915   qt3mysql = qt3.override {
3916     mysqlSupport = true;
3917   };
3919   qt4 = pkgs.kde4.qt4;
3921   qt46 = callPackage ../development/libraries/qt-4.x/4.6 {
3922     inherit (gnome) glib;
3923   };
3925   qt47 = callPackage ../development/libraries/qt-4.x/4.7 {
3926     inherit (pkgs.gst_all) gstreamer gstPluginsBase;
3927     inherit (pkgs.gnome) glib;
3928   };
3930   qtscriptgenerator = callPackage ../development/libraries/qtscriptgenerator { };
3932   quassel = newScope pkgs.kde4 ../applications/networking/irc/quassel { };
3934   quasselDaemon = appendToName "daemon" (quassel.override {
3935     monolithic = false;
3936     daemon = true;
3937   });
3939   quasselClient = appendToName "client" (quassel.override {
3940     monolithic = false;
3941     client = true;
3942   });
3944   quesoglc = callPackage ../development/libraries/quesoglc { };
3946   readline = readline6;
3948   readline4 = callPackage ../development/libraries/readline/readline4.nix { };
3950   readline5 = callPackage ../development/libraries/readline/readline5.nix { };
3952   readline6 = callPackage ../development/libraries/readline/readline6.nix { };
3954   librdf_raptor = callPackage ../development/libraries/librdf/raptor.nix { };
3956   librdf_rasqal = callPackage ../development/libraries/librdf/rasqal.nix { };
3958   librdf = callPackage ../development/libraries/librdf { };
3960   qrupdate = callPackage ../development/libraries/qrupdate { };
3962   redland = callPackage ../development/libraries/redland/1.0.10.nix {
3963     bdb = db4;
3964     postgresql = null;
3965   };
3967   rhino = callPackage ../development/libraries/java/rhino {
3968     ant = apacheAntGcj;
3969     javac = gcj;
3970     jvm = gcj;
3971   };
3973   rlog = callPackage ../development/libraries/rlog { };
3975   rte = callPackage ../development/libraries/rte { };
3977   rubberband = callPackage ../development/libraries/rubberband {
3978     fftw = fftwSinglePrec;
3979     inherit (vamp) vampSDK;
3980   };
3982   schroedinger = callPackage ../development/libraries/schroedinger { };
3984   SDL = callPackage ../development/libraries/SDL {
3985     openglSupport = mesaSupported;
3986     alsaSupport = true;
3987     x11Support = true;
3988     pulseaudioSupport = false; # better go through ALSA
3989   };
3991   SDL_gfx = callPackage ../development/libraries/SDL_gfx { };
3993   SDL_image = callPackage ../development/libraries/SDL_image { };
3995   SDL_mixer = callPackage ../development/libraries/SDL_mixer { };
3997   SDL_net = callPackage ../development/libraries/SDL_net { };
3999   SDL_sound = callPackage ../development/libraries/SDL_sound { };
4001   SDL_ttf = callPackage ../development/libraries/SDL_ttf { };
4003   slang = callPackage ../development/libraries/slang { };
4005   slibGuile = callPackage ../development/libraries/slib {
4006     scheme = guile;
4007   };
4009   snack = callPackage ../development/libraries/snack {
4010         # optional
4011   };
4013   speex = callPackage ../development/libraries/speex { };
4015   srtp = callPackage ../development/libraries/srtp {};
4017   sqlite = callPackage ../development/libraries/sqlite {
4018     readline = null;
4019     ncurses = null;
4020   };
4022   sqlite36 = callPackage ../development/libraries/sqlite/3.6.x.nix {
4023     readline = null;
4024     ncurses = null;
4025   };
4027   sqliteInteractive = appendToName "interactive" (sqlite.override {
4028     inherit readline ncurses;
4029   });
4031   stlport = callPackage ../development/libraries/stlport { };
4033   suitesparse = callPackage ../development/libraries/suitesparse { };
4035   sword = callPackage ../development/libraries/sword { };
4037   szip = callPackage ../development/libraries/szip { };
4039   t1lib = callPackage ../development/libraries/t1lib { };
4041   taglib = callPackage ../development/libraries/taglib { };
4043   taglib_live = callPackage ../development/libraries/taglib/live.nix { };
4045   taglib_extras = callPackage ../development/libraries/taglib-extras { };
4047   talloc = callPackage ../development/libraries/talloc { };
4049 ##  tapioca_qt = import ../development/libraries/tapioca-qt {
4050 ##    inherit stdenv fetchurl cmake qt4 telepathy_qt;
4051 ##  };
4053   tdb = callPackage ../development/libraries/tdb { };
4055   tecla = callPackage ../development/libraries/tecla { };
4057   telepathy_gabble = callPackage ../development/libraries/telepathy-gabble { };
4059   telepathy_glib = callPackage ../development/libraries/telepathy-glib { };
4061   telepathy_qt = callPackage ../development/libraries/telepathy-qt { };
4063   tk = callPackage ../development/libraries/tk { };
4065   tnt = callPackage ../development/libraries/tnt { };
4067   tokyocabinet = callPackage ../development/libraries/tokyo-cabinet { };
4069   unicap = callPackage ../development/libraries/unicap {};
4071   unixODBC = callPackage ../development/libraries/unixODBC { };
4073   unixODBCDrivers = recurseIntoAttrs (import ../development/libraries/unixODBCDrivers {
4074     inherit fetchurl stdenv unixODBC glibc libtool openssl zlib;
4075     inherit postgresql mysql sqlite;
4076   });
4078   urt = callPackage ../development/libraries/urt { };
4080   vamp = callPackage ../development/libraries/audio/vamp { };
4082   vigra = callPackage ../development/libraries/vigra { };
4084   vtk = callPackage ../development/libraries/vtk { };
4086   vxl = callPackage ../development/libraries/vxl { };
4088   webkit = ((builderDefsPackage ../development/libraries/webkit {
4089     inherit (gnome28) gtkdoc libsoup;
4090     inherit (gtkLibs) gtk atk pango glib;
4091     inherit freetype fontconfig gettext gperf curl
4092       libjpeg libtiff libpng libxml2 libxslt sqlite
4093       icu cairo perl intltool automake libtool
4094       pkgconfig autoconf bison libproxy enchant
4095       python ruby which flex geoclue;
4096     inherit (gst_all) gstreamer gstPluginsBase gstFfmpeg
4097       gstPluginsGood;
4098     inherit (xlibs) libXt renderproto libXrender;
4099   }).deepOverride {libsoup = gnome28.libsoup_2_31;});
4101   wvstreams = callPackage ../development/libraries/wvstreams { };
4103   wxGTK = wxGTK28;
4105   wxGTK26 = callPackage ../development/libraries/wxGTK-2.6 {
4106     inherit (gtkLibs216) gtk;
4107   };
4109   wxGTK28 = callPackage ../development/libraries/wxGTK-2.8 {
4110     inherit (gtkLibs) gtk;
4111   };
4113   wtk = callPackage ../development/libraries/wtk { };
4115   x264 = callPackage ../development/libraries/x264 { };
4117   xapian = callPackage ../development/libraries/xapian { };
4119   xapianBindings = callPackage ../development/libraries/xapian/bindings {  # TODO perl php Java, tcl, C#, python
4120   };
4122   Xaw3d = callPackage ../development/libraries/Xaw3d { };
4124   xbase = callPackage ../development/libraries/xbase { };
4126   xineLib = callPackage ../development/libraries/xine-lib { };
4128   xautolock = callPackage ../misc/screensavers/xautolock { };
4130   xercesJava = callPackage ../development/libraries/java/xerces {
4131     ant   = apacheAntGcj;  # for bootstrap purposes
4132     javac = gcj;
4133     jvm   = gcj;
4134   };
4136   xlibsWrapper = callPackage ../development/libraries/xlibs-wrapper {
4137     packages = [
4138       freetype fontconfig xlibs.xproto xlibs.libX11 xlibs.libXt
4139       xlibs.libXft xlibs.libXext xlibs.libSM xlibs.libICE
4140       xlibs.xextproto
4141     ];
4142   };
4144   xvidcore = callPackage ../development/libraries/xvidcore { };
4146   zangband = builderDefsPackage (import ../games/zangband) {
4147     inherit ncurses flex bison autoconf automake m4 coreutils;
4148   };
4150   zlib = callPackage ../development/libraries/zlib {
4151     fetchurl = fetchurlBoot;
4152   };
4154   zlibStatic = lowPrio (appendToName "static" (import ../development/libraries/zlib {
4155     inherit fetchurl stdenv;
4156     static = true;
4157   }));
4159   zvbi = callPackage ../development/libraries/zvbi {
4160     pngSupport = true;
4161   };
4164   ### DEVELOPMENT / LIBRARIES / JAVA
4167   atermjava = callPackage ../development/libraries/java/aterm {
4168     stdenv = overrideInStdenv stdenv [gnumake380];
4170   };
4172   commonsFileUpload = callPackage ../development/libraries/java/jakarta-commons/file-upload { };
4174   fastjar = callPackage ../development/tools/java/fastjar { };
4176   httpunit = callPackage ../development/libraries/java/httpunit { };
4178   gwtdragdrop = callPackage ../development/libraries/java/gwt-dragdrop { };
4180   gwtwidgets = callPackage ../development/libraries/java/gwt-widgets { };
4182   jakartabcel = callPackage ../development/libraries/java/jakarta-bcel {
4183     regexp = jakartaregexp;
4184   };
4186   jakartaregexp = callPackage ../development/libraries/java/jakarta-regexp { };
4188   javaCup = callPackage ../development/libraries/java/cup { };
4190   javasvn = callPackage ../development/libraries/java/javasvn { };
4192   jclasslib = callPackage ../development/tools/java/jclasslib {
4193     ant = apacheAnt14;
4194   };
4196   jdom = callPackage ../development/libraries/java/jdom { };
4198   jflex = callPackage ../development/libraries/java/jflex { };
4200   jjtraveler = callPackage ../development/libraries/java/jjtraveler {
4201     stdenv = overrideInStdenv stdenv [gnumake380];
4202   };
4204   junit = callPackage ../development/libraries/java/junit { };
4206   lucene = callPackage ../development/libraries/java/lucene { };
4208   mockobjects = callPackage ../development/libraries/java/mockobjects { };
4210   saxon = callPackage ../development/libraries/java/saxon { };
4212   saxonb = callPackage ../development/libraries/java/saxon/default8.nix { };
4214   sharedobjects = callPackage ../development/libraries/java/shared-objects {
4215     stdenv = overrideInStdenv stdenv [gnumake380];
4216   };
4218   smack = callPackage ../development/libraries/java/smack { };
4220   swt = callPackage ../development/libraries/java/swt { };
4222   v8 = callPackage ../development/libraries/v8 { };
4224   xalanj = xalanJava;
4225   xalanJava = callPackage ../development/libraries/java/xalanj {
4226     ant    = apacheAntGcj;  # for bootstrap purposes
4227     javac  = gcj;
4228     jvm    = gcj;
4229     xerces = xercesJava;  };
4231   zziplib = callPackage ../development/libraries/zziplib { };
4234   ### DEVELOPMENT / PERL MODULES
4236   buildPerlPackage = import ../development/perl-modules/generic perl;
4238   perlPackages = recurseIntoAttrs (import ./perl-packages.nix {
4239     inherit pkgs;
4240   });
4242   perlXMLParser = perlPackages.XMLParser;
4244   ack = perlPackages.ack;
4246   perlcritic = perlPackages.PerlCritic;
4249   ### DEVELOPMENT / PYTHON MODULES
4251   buildPythonPackage = import ../development/python-modules/generic {
4252     inherit python setuptools makeWrapper lib;
4253   };
4255   buildPython26Package = import ../development/python-modules/generic {
4256     inherit makeWrapper lib;
4257     python = python26;
4258     setuptools = setuptools.override { python = python26; };
4259   };
4261   buildPython27Package = import ../development/python-modules/generic {
4262     inherit makeWrapper lib;
4263     python = python27;
4264     setuptools = setuptools.override { python = python27; doCheck = false; };
4265   };
4267   pythonPackages = python26Packages;
4269   python26Packages = recurseIntoAttrs (import ./python-packages.nix {
4270     inherit pkgs;
4271     python = python26;
4272     buildPythonPackage = buildPython26Package;
4273   });
4275   python27Packages = recurseIntoAttrs (import ./python-packages.nix {
4276     inherit pkgs;
4277     python = python27;
4278     buildPythonPackage = buildPython27Package;
4279   });
4281   foursuite = callPackage ../development/python-modules/4suite { };
4283   bsddb3 = callPackage ../development/python-modules/bsddb3 { };
4285   numeric = callPackage ../development/python-modules/numeric { };
4287   pil = callPackage ../development/python-modules/pil { };
4289   psyco = callPackage ../development/python-modules/psyco { };
4291   pycairo = callPackage ../development/python-modules/pycairo { };
4293   pycrypto = callPackage ../development/python-modules/pycrypto { };
4295   pycups = callPackage ../development/python-modules/pycups { };
4297   pygame = callPackage ../development/python-modules/pygame { };
4299   pygobject = callPackage ../development/python-modules/pygobject { };
4301   pygtk = callPackage ../development/python-modules/pygtk { };
4303   pyGtkGlade = callPackage ../development/python-modules/pygtk {
4304     inherit (gnome) libglade;
4305   };
4307   pyopenssl = builderDefsPackage (import ../development/python-modules/pyopenssl) {
4308     inherit python openssl;
4309   };
4311   rhpl = callPackage ../development/python-modules/rhpl { };
4313   sip = callPackage ../development/python-modules/python-sip { };
4315   pyqt4 = callPackage ../development/python-modules/pyqt { };
4317   pyx = callPackage ../development/python-modules/pyx { };
4319   pyxml = callPackage ../development/python-modules/pyxml { };
4321   setuptools = builderDefsPackage (import ../development/python-modules/setuptools) {
4322     inherit python makeWrapper;
4323   };
4325   wxPython = wxPython26;
4327   wxPython26 = callPackage ../development/python-modules/wxPython/2.6.nix {
4328     wxGTK = wxGTK26;
4329   };
4331   wxPython28 = callPackage ../development/python-modules/wxPython/2.8.nix { };
4333   twisted = pythonPackages.twisted;
4335   ZopeInterface = pythonPackages.zopeInterface;
4337   zope = callPackage ../development/python-modules/zope {
4338     python = python24;
4339   };
4341   ### SERVERS
4343   rdf4store = callPackage ../servers/http/4store { };
4345   apacheHttpd = callPackage ../servers/http/apache-httpd {
4346     sslSupport = true;
4347   };
4349   sabnzbd = callPackage ../servers/sabnzbd { };
4351   bind = builderDefsPackage (import ../servers/dns/bind/9.5.0.nix) {
4352     inherit openssl libtool;
4353   };
4355   dico = callPackage ../servers/dico { };
4357   dict = callPackage ../servers/dict { };
4359   dictdDBs = recurseIntoAttrs (import ../servers/dict/dictd-db.nix {
4360     inherit builderDefs;
4361   });
4363   dictDBCollector = import ../servers/dict/dictd-db-collector.nix {
4364     inherit stdenv lib dict;
4365   };
4367   dovecot = callPackage ../servers/mail/dovecot { };
4368   dovecot_1_1_1 = callPackage ../servers/mail/dovecot/1.1.1.nix { };
4370   ejabberd = callPackage ../servers/xmpp/ejabberd {
4371     erlang = erlangR13B ;
4372   };
4374   couchdb = callPackage ../servers/http/couchdb { };
4376   felix = callPackage ../servers/felix { };
4378   felix_remoteshell = callPackage ../servers/felix/remoteshell.nix { };
4380   fingerd_bsd = callPackage ../servers/fingerd/bsd-fingerd { };
4382   firebird = callPackage ../servers/firebird { };
4384   ghostOne = callPackage ../servers/games/ghost-one {
4385     boost = boostFull;
4386   };
4388   ircdHybrid = callPackage ../servers/irc/ircd-hybrid { };
4390   jboss = callPackage ../servers/http/jboss { };
4392   jboss_mysql_jdbc = callPackage ../servers/http/jboss/jdbc/mysql { };
4394   jetty = callPackage ../servers/http/jetty { };
4396   jetty61 = callPackage ../servers/http/jetty/6.1 { };
4398   lighttpd = callPackage ../servers/http/lighttpd { };
4400   mod_python = callPackage ../servers/http/apache-modules/mod_python { };
4402   mod_fastcgi = callPackage ../servers/http/apache-modules/mod_fastcgi { };
4404   mod_wsgi = callPackage ../servers/http/apache-modules/mod_wsgi { };
4406   mpd = callPackage ../servers/mpd { };
4408   myserver = callPackage ../servers/http/myserver { };
4410   nginx = builderDefsPackage (import ../servers/http/nginx) {
4411     inherit openssl pcre zlib libxml2 libxslt;
4412   };
4414   postfix = callPackage ../servers/mail/postfix { };
4416   pulseaudio = callPackage ../servers/pulseaudio {
4417     gconf = gnome.GConf;
4418   };
4420   tomcat_connectors = callPackage ../servers/http/apache-modules/tomcat-connectors { };
4422   portmap = callPackage ../servers/portmap { };
4424   monetdb = callPackage ../servers/sql/monetdb { };
4426   mysql4 = import ../servers/sql/mysql {
4427     inherit fetchurl stdenv ncurses zlib perl;
4428     ps = procps; /* !!! Linux only */
4429   };
4431   mysql5 = import ../servers/sql/mysql5 {
4432     inherit fetchurl stdenv ncurses zlib perl openssl;
4433     ps = procps; /* !!! Linux only */
4434   };
4436   mysql51 = import ../servers/sql/mysql51 {
4437     inherit fetchurl ncurses zlib perl openssl stdenv;
4438     ps = procps; /* !!! Linux only */
4439   };
4441   mysql = mysql51;
4443   mysql_jdbc = callPackage ../servers/sql/mysql/jdbc { };
4445   nagios = callPackage ../servers/monitoring/nagios {
4446     gdSupport = true;
4447   };
4449   nagiosPluginsOfficial = callPackage ../servers/monitoring/nagios/plugins/official { };
4451   openfire = callPackage ../servers/xmpp/openfire { };
4453   postgresql = postgresql83;
4455   postgresql83 = callPackage ../servers/sql/postgresql/8.3.x.nix { };
4457   postgresql84 = callPackage ../servers/sql/postgresql/8.4.x.nix { };
4459   postgresql90 = callPackage ../servers/sql/postgresql/9.0.x.nix { };
4461   postgresql_jdbc = callPackage ../servers/sql/postgresql/jdbc { };
4463   pyIRCt = builderDefsPackage (import ../servers/xmpp/pyIRCt) {
4464     inherit xmpppy pythonIRClib python makeWrapper;
4465   };
4467   pyMAILt = builderDefsPackage (import ../servers/xmpp/pyMAILt) {
4468     inherit xmpppy python makeWrapper fetchcvs;
4469   };
4471   radius = callPackage ../servers/radius { };
4473   redstore = callPackage ../servers/http/redstore { };
4475   samba = callPackage ../servers/samba { };
4477   shishi = callPackage ../servers/shishi { };
4479   squids = recurseIntoAttrs( import ../servers/squid/squids.nix {
4480     inherit fetchurl stdenv perl lib composableDerivation;
4481   });
4482   squid = squids.squid3Beta; # has ipv6 support
4484   tomcat5 = callPackage ../servers/http/tomcat/5.0.nix { };
4486   tomcat6 = callPackage ../servers/http/tomcat/6.0.nix { };
4488   tomcat_mysql_jdbc = callPackage ../servers/http/tomcat/jdbc/mysql { };
4490   axis2 = callPackage ../servers/http/tomcat/axis2 { };
4492   virtuoso = callPackage ../servers/sql/virtuoso { };
4494   vsftpd = callPackage ../servers/ftp/vsftpd { };
4496   xinetd = callPackage ../servers/xinetd { };
4498   xorg = recurseIntoAttrs (import ../servers/x11/xorg/default.nix {
4499     inherit fetchurl fetchsvn stdenv pkgconfig freetype fontconfig
4500       libxslt expat libdrm libpng zlib perl mesa
4501       xkeyboard_config dbus hal libuuid openssl gperf m4
4502       autoconf libtool xmlto asciidoc udev;
4504     # XXX: Update to newer Automake on the next big rebuild; better yet:
4505     # remove the dependency on Automake.
4506     automake = automake110x;
4508     # !!! pythonBase is used instead of python because this causes an
4509     # infinite recursion when the flag python.full is set to true.
4510     # Packages contained in the loop are python, tk, xlibs-wrapper,
4511     # libX11, libxcd (and xcb-proto).
4512     python = pythonBase;
4513   });
4515   xorgReplacements = callPackage ../servers/x11/xorg/replacements.nix { };
4517   xorgVideoUnichrome = callPackage ../servers/x11/xorg/unichrome/default.nix { };
4519   zabbix = recurseIntoAttrs (import ../servers/monitoring/zabbix {
4520     inherit fetchurl stdenv pkgconfig postgresql curl openssl zlib;
4521   });
4524   ### OS-SPECIFIC
4526   afuse = callPackage ../os-specific/linux/afuse { };
4528   autofs5 = callPackage ../os-specific/linux/autofs/autofs-v5.nix { };
4530   _915resolution = callPackage ../os-specific/linux/915resolution { };
4532   nfsUtils = callPackage ../os-specific/linux/nfs-utils { };
4534   acpi = callPackage ../os-specific/linux/acpi { };
4536   acpid = callPackage ../os-specific/linux/acpid { };
4538   acpitool = callPackage ../os-specific/linux/acpitool { };
4540   alsaLib = callPackage ../os-specific/linux/alsa-lib { };
4542   alsaPlugins = callPackage ../os-specific/linux/alsa-plugins { };
4543   alsaPluginWrapper = callPackage ../os-specific/linux/alsa-plugins/wrapper.nix { };
4545   alsaUtils = callPackage ../os-specific/linux/alsa-utils { };
4547   bluez = callPackage ../os-specific/linux/bluez { };
4549   bridge_utils = callPackage ../os-specific/linux/bridge-utils { };
4551   cifs_utils = callPackage ../os-specific/linux/cifs-utils { };
4553   conky = callPackage ../os-specific/linux/conky { };
4555   cpufrequtils = (
4556     import ../os-specific/linux/cpufrequtils {
4557     inherit fetchurl stdenv libtool gettext;
4558     glibc = stdenv.gcc.libc;
4559     linuxHeaders = stdenv.gcc.libc.kernelHeaders;
4560   });
4562   cryopid = callPackage ../os-specific/linux/cryopid { };
4564   cryptsetup = callPackage ../os-specific/linux/cryptsetup { };
4566   cramfsswap = callPackage ../os-specific/linux/cramfsswap { };
4568   darwinArchUtility = callPackage ../os-specific/darwin/arch { };
4570   darwinSwVersUtility = callPackage ../os-specific/darwin/sw_vers { };
4572   darwinLipoUtility = callPackage ../os-specific/darwin/lipo { };
4574   devicemapper = lvm2;
4576   dmidecode = callPackage ../os-specific/linux/dmidecode { };
4578   dmtcp = callPackage ../os-specific/linux/dmtcp { };
4580   dietlibc = callPackage ../os-specific/linux/dietlibc {
4581     # Dietlibc 0.30 doesn't compile on PPC with GCC 4.1, bus GCC 3.4 works.
4582     stdenv = if stdenv.system == "powerpc-linux" then overrideGCC stdenv gcc34 else stdenv;
4583   };
4585   directvnc = builderDefsPackage ../os-specific/linux/directvnc {
4586     inherit libjpeg pkgconfig zlib directfb;
4587     inherit (xlibs) xproto;
4588   };
4590   dmraid = builderDefsPackage ../os-specific/linux/dmraid {
4591     inherit devicemapper;
4592   };
4594   libuuid =
4595     if crossSystem != null && crossSystem.config == "i586-pc-gnu"
4596     then (utillinuxng // {
4597       hostDrv = lib.overrideDerivation utillinuxng.hostDrv (args: {
4598         # `libblkid' fails to build on GNU/Hurd.
4599         configureFlags = args.configureFlags
4600           + " --disable-libblkid --disable-mount --disable-libmount"
4601           + " --disable-fsck --enable-static";
4602         doCheck = false;
4603         CPPFLAGS =                    # ugly hack for ugly software!
4604           lib.concatStringsSep " "
4605             (map (v: "-D${v}=4096")
4606                  [ "PATH_MAX" "MAXPATHLEN" "MAXHOSTNAMELEN" ]);
4607       });
4608     })
4609     else if stdenv.isLinux
4610     then utillinuxng
4611     else null;
4613   e3cfsprogs = callPackage ../os-specific/linux/e3cfsprogs { };
4615   eject = callPackage ../os-specific/linux/eject { };
4617   fbterm = builderDefsPackage (import ../os-specific/linux/fbterm) {
4618     inherit fontconfig gpm freetype pkgconfig ncurses;
4619   };
4621   fbtermStdenv = callPackage ../os-specific/linux/fbterm/stdenv.nix { };
4623   fuse = callPackage ../os-specific/linux/fuse { };
4625   fxload = callPackage ../os-specific/linux/fxload { };
4627   gpm = callPackage ../servers/gpm { };
4629   hal = callPackage ../os-specific/linux/hal { };
4631   halevt = callPackage ../os-specific/linux/hal/hal-evt.nix { };
4633   hal_info = callPackage ../os-specific/linux/hal/info.nix { };
4635   hal_info_synaptics = callPackage ../os-specific/linux/hal/synaptics.nix { };
4637   hdparm = callPackage ../os-specific/linux/hdparm { };
4639   hibernate = callPackage ../os-specific/linux/hibernate { };
4641   htop = callPackage ../os-specific/linux/htop { };
4643   hurdCross = forceBuildDrv(import ../os-specific/gnu/hurd {
4644     inherit fetchgit stdenv autoconf libtool texinfo machHeaders
4645       mig glibcCross hurdPartedCross;
4646     libuuid = libuuid.hostDrv;
4647     automake = automake111x;
4648     headersOnly = false;
4649     cross = assert crossSystem != null; crossSystem;
4650     gccCross = gccCrossStageFinal;
4651   });
4653   hurdCrossIntermediate = forceBuildDrv(import ../os-specific/gnu/hurd {
4654     inherit fetchgit stdenv autoconf libtool texinfo machHeaders
4655       mig glibcCross;
4656     automake = automake111x;
4657     headersOnly = false;
4658     cross = assert crossSystem != null; crossSystem;
4660     # The "final" GCC needs glibc and the Hurd libraries (libpthread in
4661     # particular) so we first need an intermediate Hurd built with the
4662     # intermediate GCC.
4663     gccCross = gccCrossStageStatic;
4665     # This intermediate Hurd is only needed to build libpthread, which needs
4666     # libihash, and to build Parted, which needs libstore and
4667     # libshouldbeinlibc.
4668     buildTarget = "libihash libstore libshouldbeinlibc";
4669     installTarget = "libihash-install libstore-install libshouldbeinlibc-install";
4670   });
4672   hurdHeaders = callPackage ../os-specific/gnu/hurd {
4673     automake = automake111x;
4674     headersOnly = true;
4675     gccCross = null;
4676     glibcCross = null;
4677     libuuid = null;
4678     hurdPartedCross = null;
4679   };
4681   hurdLibpthreadCross = forceBuildDrv(import ../os-specific/gnu/libpthread {
4682     inherit fetchgit stdenv autoconf automake libtool
4683       machHeaders hurdHeaders glibcCross;
4684     hurd = hurdCrossIntermediate;
4685     gccCross = gccCrossStageStatic;
4686     cross = assert crossSystem != null; crossSystem;
4687   });
4689   hwdata = callPackage ../os-specific/linux/hwdata { };
4691   ifplugd = callPackage ../os-specific/linux/ifplugd { };
4693   iotop = callPackage ../os-specific/linux/iotop {
4694     python = pythonFull;
4695   };
4697   iproute = callPackage ../os-specific/linux/iproute { };
4699   iputils = (
4700     import ../os-specific/linux/iputils {
4701     inherit fetchurl stdenv;
4702     glibc = stdenv.gcc.libc;
4703     linuxHeaders = stdenv.gcc.libc.kernelHeaders;
4704   });
4706   iptables = callPackage ../os-specific/linux/iptables { };
4708   ipw2100fw = callPackage ../os-specific/linux/firmware/ipw2100 { };
4710   ipw2200fw = callPackage ../os-specific/linux/firmware/ipw2200 { };
4712   iwlwifi1000ucode = callPackage ../os-specific/linux/firmware/iwlwifi-1000-ucode { };
4714   iwlwifi3945ucode = callPackage ../os-specific/linux/firmware/iwlwifi-3945-ucode { };
4716   iwlwifi4965ucodeV1 = callPackage ../os-specific/linux/firmware/iwlwifi-4965-ucode { };
4718   iwlwifi4965ucodeV2 = callPackage ../os-specific/linux/firmware/iwlwifi-4965-ucode/version-2.nix { };
4720   iwlwifi5000ucode = callPackage ../os-specific/linux/firmware/iwlwifi-5000-ucode { };
4722   kbd = callPackage ../os-specific/linux/kbd { };
4724   libcgroup = callPackage ../os-specific/linux/libcg { };
4726   libnl = callPackage ../os-specific/linux/libnl { };
4728   libnl1 = callPackage ../os-specific/linux/libnl/v1.nix { };
4730   linuxHeaders = linuxHeaders_2_6_32;
4732   linuxHeaders26Cross = forceBuildDrv (import ../os-specific/linux/kernel-headers/2.6.32.nix {
4733     inherit stdenv fetchurl perl;
4734     cross = assert crossSystem != null; crossSystem;
4735   });
4737   linuxHeaders24Cross = forceBuildDrv (import ../os-specific/linux/kernel-headers/2.4.nix {
4738     inherit stdenv fetchurl perl;
4739     cross = assert crossSystem != null; crossSystem;
4740   });
4742   # We can choose:
4743   linuxHeadersCrossChooser = ver : if (ver == "2.4") then linuxHeaders24Cross
4744     else if (ver == "2.6") then linuxHeaders26Cross
4745     else throw "Unknown linux kernel version";
4747   linuxHeadersCross = assert crossSystem != null;
4748     linuxHeadersCrossChooser crossSystem.platform.kernelMajor;
4750   linuxHeaders_2_6_18 = callPackage ../os-specific/linux/kernel-headers/2.6.18.5.nix { };
4752   linuxHeaders_2_6_28 = callPackage ../os-specific/linux/kernel-headers/2.6.28.nix { };
4754   linuxHeaders_2_6_32 = callPackage ../os-specific/linux/kernel-headers/2.6.32.nix { };
4756   kernelPatches = callPackage ../os-specific/linux/kernel/patches.nix { };
4758   linux_2_6_25 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.25.nix) {
4759     inherit fetchurl stdenv perl mktemp module_init_tools;
4760     kernelPatches =
4761       [ kernelPatches.fbcondecor_2_6_25
4762         kernelPatches.sec_perm_2_6_24
4763       ];
4764   };
4766   linux_2_6_27 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.27.nix) {
4767     inherit fetchurl stdenv perl mktemp module_init_tools;
4768     kernelPatches =
4769       [ kernelPatches.fbcondecor_2_6_27
4770         kernelPatches.sec_perm_2_6_24
4771       ];
4772   };
4774   linux_2_6_28 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.28.nix) {
4775     inherit fetchurl stdenv perl mktemp module_init_tools;
4776     kernelPatches =
4777       [ kernelPatches.fbcondecor_2_6_28
4778         kernelPatches.sec_perm_2_6_24
4779         kernelPatches.ext4_softlockups_2_6_28
4780       ];
4781   };
4783   linux_2_6_29 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.29.nix) {
4784     inherit fetchurl stdenv perl mktemp module_init_tools;
4785     kernelPatches =
4786       [ kernelPatches.fbcondecor_2_6_29
4787         kernelPatches.sec_perm_2_6_24
4788       ];
4789   };
4791   linux_2_6_31 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.31.nix) {
4792     inherit fetchurl stdenv perl mktemp module_init_tools platform;
4793     kernelPatches = [];
4794   };
4796   linux_2_6_32 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.32.nix) {
4797     inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser;
4798     kernelPatches =
4799       [ kernelPatches.fbcondecor_2_6_31
4800         kernelPatches.sec_perm_2_6_24
4801         kernelPatches.aufs2_2_6_32
4802         kernelPatches.cifs_timeout
4803         kernelPatches.no_xsave
4804         kernelPatches.dell_rfkill
4805         kernelPatches.xen_pvclock_resume
4806       ];
4807   };
4809   linux_2_6_32_xen = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.32-xen.nix) {
4810     inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser;
4811     kernelPatches =
4812       [ kernelPatches.fbcondecor_2_6_31
4813         kernelPatches.sec_perm_2_6_24
4814         kernelPatches.aufs2_2_6_32
4815         kernelPatches.cifs_timeout
4816         kernelPatches.no_xsave
4817         kernelPatches.dell_rfkill
4818       ];
4819   };
4821   linux_2_6_32_systemtap = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.32.nix) {
4822     inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser;
4823     extraConfig =
4824       ''
4825         DEBUG_KERNEL y
4826         KPROBES y # kernel probes (needs `utrace' for process probes)
4827         DEBUG_INFO y
4828         RELAY y
4829         DEBUG_FS y
4830       '';
4831     dontStrip = true;
4832     kernelPatches =
4833       [ kernelPatches.fbcondecor_2_6_31
4834         kernelPatches.sec_perm_2_6_24
4835         kernelPatches.tracehook_2_6_32
4836         kernelPatches.utrace_2_6_32
4837       ];
4838   };
4840   linux_2_6_32_zen4 = makeOverridable (import ../os-specific/linux/zen-kernel/2.6.32-zen4.nix) {
4841     inherit fetchurl stdenv perl mktemp module_init_tools runCommand xz;
4842   };
4844   linux_2_6_32_zen4_oldi686 = linux_2_6_32_zen4.override {
4845     features = {
4846       oldI686 = true;
4847     };
4848   };
4850   linux_2_6_32_zen4_bfs = linux_2_6_32_zen4.override {
4851     features = {
4852       ckSched = true;
4853     };
4854   };
4856   linux_2_6_33 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.33.nix) {
4857     inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser;
4858     kernelPatches =
4859       [ kernelPatches.fbcondecor_2_6_33
4860         kernelPatches.sec_perm_2_6_24
4861       ];
4862   };
4864   linux_2_6_33_zen1 = makeOverridable (import ../os-specific/linux/zen-kernel/2.6.33-zen1.nix) {
4865     inherit fetchurl stdenv perl mktemp module_init_tools runCommand xz;
4866   };
4868   linux_2_6_33_zen1_oldi686 = linux_2_6_33_zen1.override {
4869     features = {
4870       oldI686 = true;
4871     };
4872   };
4874   linux_2_6_33_zen1_bfs = linux_2_6_33_zen1.override {
4875     features = {
4876       ckSched = true;
4877     };
4878   };
4880   linux_2_6_34 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.34.nix) {
4881     inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser;
4882     kernelPatches =
4883       [ /*kernelPatches.fbcondecor_2_6_33*/
4884         kernelPatches.sec_perm_2_6_24
4885         kernelPatches.aufs2_2_6_34
4886       ];
4887   };
4889   linux_2_6_35 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.35.nix) {
4890     inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser;
4891     kernelPatches =
4892       [ #kernelPatches.fbcondecor_2_6_35
4893         kernelPatches.sec_perm_2_6_24
4894         kernelPatches.aufs2_2_6_35
4895       ] ++ lib.optional (platform.kernelArch == "arm")
4896         kernelPatches.sheevaplug_modules_2_6_35;
4897   };
4899   linux_nanonote_jz_2_6_34 = makeOverridable
4900     (import ../os-specific/linux/kernel/linux-nanonote-jz-2.6.34.nix) {
4901       inherit fetchurl fetchsvn stdenv perl mktemp module_init_tools ubootChooser;
4902     };
4904   linux_nanonote_jz_2_6_35 = makeOverridable
4905     (import ../os-specific/linux/kernel/linux-nanonote-jz-2.6.35.nix) {
4906       inherit fetchurl fetchsvn stdenv perl mktemp module_init_tools ubootChooser;
4907     };
4909   linux_nanonote_jz_2_6_36 = makeOverridable
4910     (import ../os-specific/linux/kernel/linux-nanonote-jz-2.6.36.nix) {
4911       inherit fetchurl fetchsvn stdenv perl mktemp module_init_tools ubootChooser;
4912       kernelPatches =
4913         [ #kernelPatches.fbcondecor_2_6_35
4914           kernelPatches.sec_perm_2_6_24
4915           #kernelPatches.aufs2_2_6_35
4916           kernelPatches.mips_restart_2_6_36
4917         ];
4918     };
4920   linux_2_6_35_oldI686 = linux_2_6_35.override {
4921       extraConfig = ''
4922           HIGHMEM64G? n
4923           XEN? n
4924       '';
4925       extraMeta = {
4926         platforms = ["i686-linux"];
4927         maintainers = [lib.maintainers.raskin];
4928       };
4929   };
4931   linux_2_6_36 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.36.nix) {
4932     inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser;
4933     kernelPatches =
4934       [ #kernelPatches.fbcondecor_2_6_35
4935         kernelPatches.sec_perm_2_6_24
4936         #kernelPatches.aufs2_2_6_35
4937         kernelPatches.mips_restart_2_6_36
4938       ];
4939   };
4941   /* Linux kernel modules are inherently tied to a specific kernel.  So
4942      rather than provide specific instances of those packages for a
4943      specific kernel, we have a function that builds those packages
4944      for a specific kernel.  This function can then be called for
4945      whatever kernel you're using. */
4947   linuxPackagesFor = kernel: self: let callPackage = newScope self; in rec {
4949     inherit kernel;
4951     acpi_call = callPackage ../os-specific/linux/acpi-call {};
4953     ati_drivers_x11 = callPackage ../os-specific/linux/ati-drivers { };
4955     aufs = callPackage ../os-specific/linux/aufs { };
4957     aufs2 = callPackage ../os-specific/linux/aufs2 { };
4959     aufs2_util = callPackage ../os-specific/linux/aufs2-util { };
4961     blcr = callPackage ../os-specific/linux/blcr {
4962       #libtool = libtool_1_5; # libtool 2 causes a fork bomb
4963     };
4965     exmap = callPackage ../os-specific/linux/exmap {
4966       inherit (gtkLibs) gtkmm;
4967     };
4969     iscsitarget = callPackage ../os-specific/linux/iscsitarget { };
4971     iwlwifi = callPackage ../os-specific/linux/iwlwifi { };
4973     iwlwifi4965ucode =
4974       (if (builtins.compareVersions kernel.version "2.6.27" == 0)
4975           || (builtins.compareVersions kernel.version "2.6.27" == 1)
4976        then iwlwifi4965ucodeV2
4977        else iwlwifi4965ucodeV1);
4979     atheros = callPackage ../os-specific/linux/atheros/0.9.4.nix { };
4981     broadcom_sta = callPackage ../os-specific/linux/broadcom-sta/default.nix { };
4983     nvidia_x11 = callPackage ../os-specific/linux/nvidia-x11 { };
4985     nvidia_x11_legacy96 = callPackage ../os-specific/linux/nvidia-x11/legacy96.nix { };
4986     nvidia_x11_legacy173 = callPackage ../os-specific/linux/nvidia-x11/legacy173.nix { };
4988     openafsClient = callPackage ../servers/openafs-client { };
4990     openiscsi = callPackage ../os-specific/linux/open-iscsi { };
4992     wis_go7007 = callPackage ../os-specific/linux/wis-go7007 { };
4994     kqemu = builderDefsPackage ../os-specific/linux/kqemu/1.4.0pre1.nix {
4995       inherit kernel perl;
4996     };
4998     splashutils =
4999       if kernel.features ? fbConDecor then pkgs.splashutils else null;
5001     ext3cowtools = callPackage ../os-specific/linux/ext3cow-tools {
5002       kernel_ext3cowpatched = kernel;
5003     };
5005     /* compiles but has to be integrated into the kernel somehow
5006       Let's have it uncommented and finish it..
5007     */
5008     ndiswrapper = callPackage ../os-specific/linux/ndiswrapper { };
5010     ov511 = callPackage ../os-specific/linux/ov511 {
5011       stdenv = overrideGCC stdenv gcc34;
5012     };
5014     # State Nix
5015     snix = callPackage ../tools/package-management/snix {
5017       aterm = aterm25;
5018       db4 = db45;
5020       flex = flex2533;
5021       ext3cow_kernel = kernel;    };
5023     sysprof = callPackage ../development/tools/profiling/sysprof {
5024       inherit (gnome) gtk glib pango libglade;
5025     };
5027     systemtap = callPackage ../development/tools/profiling/systemtap {
5028       linux = kernel;
5029       inherit (gnome) gtkmm libglademm;
5030     };
5032     virtualbox = callPackage ../applications/virtualization/virtualbox {
5033       stdenv = stdenv_32bit;
5034       inherit (gnome) libIDL;
5035     };
5037     virtualboxGuestAdditions = callPackage ../applications/virtualization/virtualbox/guest-additions { };
5038   };
5040   # Build the kernel modules for the some of the kernels.
5041   linuxPackages_2_6_25 = recurseIntoAttrs (linuxPackagesFor linux_2_6_25 pkgs.linuxPackages_2_6_25);
5042   linuxPackages_2_6_27 = recurseIntoAttrs (linuxPackagesFor linux_2_6_27 pkgs.linuxPackages_2_6_27);
5043   linuxPackages_2_6_28 = recurseIntoAttrs (linuxPackagesFor linux_2_6_28 pkgs.linuxPackages_2_6_28);
5044   linuxPackages_2_6_29 = recurseIntoAttrs (linuxPackagesFor linux_2_6_29 pkgs.linuxPackages_2_6_29);
5045   linuxPackages_2_6_31 = recurseIntoAttrs (linuxPackagesFor linux_2_6_31 pkgs.linuxPackages_2_6_31);
5046   linuxPackages_2_6_32 = recurseIntoAttrs (linuxPackagesFor linux_2_6_32 pkgs.linuxPackages_2_6_32);
5047   linuxPackages_2_6_32_systemtap =
5048     recurseIntoAttrs (linuxPackagesFor linux_2_6_32_systemtap pkgs.linuxPackages_2_6_32_systemtap);
5049   linuxPackages_2_6_32_xen =
5050     recurseIntoAttrs (linuxPackagesFor linux_2_6_32_xen pkgs.linuxPackages_2_6_32_xen);
5051   linuxPackages_2_6_33 = recurseIntoAttrs (linuxPackagesFor linux_2_6_33 pkgs.linuxPackages_2_6_33);
5052   linuxPackages_2_6_34 = recurseIntoAttrs (linuxPackagesFor linux_2_6_34 pkgs.linuxPackages_2_6_34);
5053   linuxPackages_2_6_35 = recurseIntoAttrs (linuxPackagesFor linux_2_6_35 pkgs.linuxPackages_2_6_35);
5054   linuxPackages_2_6_36 = recurseIntoAttrs (linuxPackagesFor linux_2_6_36 pkgs.linuxPackages_2_6_36);
5055   linuxPackages_nanonote_jz_2_6_34 = recurseIntoAttrs (linuxPackagesFor linux_nanonote_jz_2_6_34 pkgs.linuxPackages_nanonote_jz_2_6_34); 
5056   linuxPackages_nanonote_jz_2_6_35 = recurseIntoAttrs (linuxPackagesFor linux_nanonote_jz_2_6_35 pkgs.linuxPackages_nanonote_jz_2_6_35); 
5057   linuxPackages_nanonote_jz_2_6_36 = recurseIntoAttrs (linuxPackagesFor linux_nanonote_jz_2_6_36 pkgs.linuxPackages_nanonote_jz_2_6_36); 
5059   # The current default kernel / kernel modules.
5060   linux = linux_2_6_32;
5061   linuxPackages = linuxPackages_2_6_32;
5063   keyutils = callPackage ../os-specific/linux/keyutils { };
5065   libselinux = callPackage ../os-specific/linux/libselinux { };
5067   libraw1394 = callPackage ../development/libraries/libraw1394 { };
5069   libsexy = callPackage ../development/libraries/libsexy {
5070     inherit (gtkLibs) glib gtk pango;
5071   };
5073   librsvg = gnome.librsvg;
5075   libsepol = callPackage ../os-specific/linux/libsepol { };
5077   libsmbios = callPackage ../os-specific/linux/libsmbios { };
5079   lm_sensors = callPackage ../os-specific/linux/lm_sensors { };
5081   lsiutil = callPackage ../os-specific/linux/lsiutil { };
5083   klibc = callPackage ../os-specific/linux/klibc {
5084     linuxHeaders = glibc.kernelHeaders;
5085   };
5087   klibcShrunk = callPackage ../os-specific/linux/klibc/shrunk.nix { };
5089   kvm = qemu_kvm;
5091   libcap = callPackage ../os-specific/linux/libcap { };
5093   libcap_progs = callPackage ../os-specific/linux/libcap/progs.nix { };
5095   libcap_pam = callPackage ../os-specific/linux/libcap/pam.nix { };
5097   libcap_manpages = callPackage ../os-specific/linux/libcap/man.nix { };
5099   libnscd = callPackage ../os-specific/linux/libnscd { };
5101   libnotify = callPackage ../development/libraries/libnotify { };
5103   libvolume_id = callPackage ../os-specific/linux/libvolume_id { };
5105   lvm2 = callPackage ../os-specific/linux/lvm2 { };
5107   # In theory GNU Mach doesn't have to be cross-compiled.  However, since it
5108   # has to be built for i586 (it doesn't work on x86_64), one needs a cross
5109   # compiler for that host.
5110   mach = callPackage ../os-specific/gnu/mach {
5111     automake = automake111x;  };
5113   machHeaders = callPackage ../os-specific/gnu/mach {
5114     automake = automake111x;
5115     headersOnly = true;
5116     mig = null;
5117   };
5119   mdadm = callPackage ../os-specific/linux/mdadm { };
5121   mingetty = callPackage ../os-specific/linux/mingetty { };
5123   module_init_tools = callPackage ../os-specific/linux/module-init-tools { };
5125   mountall = callPackage ../os-specific/linux/mountall {
5126     automake = automake111x;
5127   };
5129   aggregateModules = modules:
5130     import ../os-specific/linux/module-init-tools/aggregator.nix {
5131       inherit stdenv module_init_tools modules buildEnv;
5132     };
5134   modutils = callPackage ../os-specific/linux/modutils {
5135     stdenv = overrideGCC stdenv gcc34;
5136   };
5138   nettools = callPackage ../os-specific/linux/net-tools { };
5140   neverball = callPackage ../games/neverball { };
5142   numactl = callPackage ../os-specific/linux/numactl { };
5144   gw6c = builderDefsPackage (import ../os-specific/linux/gw6c) {
5145     inherit fetchurl stdenv nettools openssl procps iproute;
5146   };
5148   nss_ldap = callPackage ../os-specific/linux/nss_ldap { };
5150   pam = callPackage ../os-specific/linux/pam { };
5152   # pam_bioapi ( see http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader )
5154   pam_ccreds = callPackage ../os-specific/linux/pam_ccreds {
5155     db = db4;
5156   };
5158   pam_console = callPackage ../os-specific/linux/pam_console {
5159     libtool = libtool_1_5;
5160   };
5162   pam_devperm = callPackage ../os-specific/linux/pam_devperm { };
5164   pam_krb5 = callPackage ../os-specific/linux/pam_krb5 { };
5166   pam_ldap = callPackage ../os-specific/linux/pam_ldap { };
5168   pam_login = callPackage ../os-specific/linux/pam_login { };
5170   pam_unix2 = callPackage ../os-specific/linux/pam_unix2 { };
5172   pam_usb = callPackage ../os-specific/linux/pam_usb { };
5174   pcmciaUtils = callPackage ../os-specific/linux/pcmciautils {
5175     firmware = getConfig ["pcmciaUtils" "firmware"] [];
5176     config = getConfig ["pcmciaUtils" "config"] null;
5177   };
5179   pmount = callPackage ../os-specific/linux/pmount { };
5181   pmutils = callPackage ../os-specific/linux/pm-utils { };
5183   powertop = callPackage ../os-specific/linux/powertop { };
5185   procps = callPackage ../os-specific/linux/procps { };
5187   pwdutils = callPackage ../os-specific/linux/pwdutils { };
5189   qemu_kvm = callPackage ../os-specific/linux/qemu-kvm { };
5191   radeontools = callPackage ../os-specific/linux/radeontools { };
5193   rfkill = callPackage ../os-specific/linux/rfkill { };
5195   rt2870fw = callPackage ../os-specific/linux/firmware/rt2870 { };
5197   rt73fw = callPackage ../os-specific/linux/firmware/rt73 { };
5199   sdparm = callPackage ../os-specific/linux/sdparm { };
5201   shadow = callPackage ../os-specific/linux/shadow { };
5203   splashutils = callPackage ../os-specific/linux/splashutils/default.nix { };
5205   statifier = builderDefsPackage (import ../os-specific/linux/statifier) { };
5207   sysfsutils = callPackage ../os-specific/linux/sysfsutils { };
5209   # Provided with sysfsutils.
5210   libsysfs = sysfsutils;
5211   systool = sysfsutils;
5213   sysklogd = callPackage ../os-specific/linux/sysklogd { };
5215   syslinux = callPackage ../os-specific/linux/syslinux { };
5217   sysstat = callPackage ../os-specific/linux/sysstat { };
5219   sysvinit = callPackage ../os-specific/linux/sysvinit { };
5221   sysvtools = callPackage ../os-specific/linux/sysvinit {
5222     withoutInitTools = true;
5223   };
5225   # FIXME: `tcp-wrapper' is actually not OS-specific.
5226   tcpWrapper = callPackage ../os-specific/linux/tcp-wrapper { };
5228   trackballs = callPackage ../games/trackballs {
5229     debug = false;
5230   };
5232   tunctl = callPackage ../os-specific/linux/tunctl { };
5234   /*tuxracer = builderDefsPackage (import ../games/tuxracer) {
5235     inherit mesa tcl freeglut;
5236     inherit (xlibs) libX11 xproto;
5237   };*/
5239   ubootChooser = name : if (name == "upstream") then ubootUpstream
5240     else if (name == "sheevaplug") then ubootSheevaplug
5241     else if (name == "nanonote") then ubootNanonote
5242     else throw "Unknown uboot";
5244   ubootUpstream = callPackage ../misc/uboot { };
5246   ubootSheevaplug = callPackage ../misc/uboot/sheevaplug.nix { };
5248   ubootNanonote = callPackage ../misc/uboot/nanonote.nix { };
5250   ubootGuruplug = callPackage ../misc/uboot/guruplug.nix { };
5252   uclibc = callPackage ../os-specific/linux/uclibc { };
5254   uclibcCross = import ../os-specific/linux/uclibc {
5255     inherit fetchurl stdenv libiconv;
5256     linuxHeaders = linuxHeadersCross;
5257     gccCross = gccCrossStageStatic;
5258     cross = assert crossSystem != null; crossSystem;
5259   };
5261   udev = callPackage ../os-specific/linux/udev { };
5263   uml = import ../os-specific/linux/kernel/linux-2.6.29.nix {
5264     inherit fetchurl stdenv perl mktemp module_init_tools;
5265     userModeLinux = true;
5266   };
5268   umlutilities = callPackage ../os-specific/linux/uml-utilities {
5269     tunctl = true; mconsole = true;
5270   };
5272   untie = callPackage ../os-specific/linux/untie {};
5274   upstart = callPackage ../os-specific/linux/upstart { };
5276   usbutils = callPackage ../os-specific/linux/usbutils { };
5278   utillinux = utillinuxng;
5280   utillinuxCurses = utillinuxngCurses;
5282   utillinuxng = callPackage ../os-specific/linux/util-linux-ng {
5283     ncurses = null;
5284   };
5286   utillinuxngCurses = utillinuxng.override {
5287     inherit ncurses;
5288   };
5290   windows = rec {
5291     w32api = callPackage ../os-specific/windows/w32api {
5292       gccCross = gccCrossStageStatic;
5293       binutilsCross = binutilsCross;
5294     };
5296     w32api_headers = w32api.override {
5297       onlyHeaders = true;
5298     };
5300     mingw_runtime = callPackage ../os-specific/windows/mingwrt {
5301       gccCross = gccCrossMingw2;
5302       binutilsCross = binutilsCross;
5303     };
5305     mingw_runtime_headers = mingw_runtime.override {
5306       onlyHeaders = true;
5307     };
5309     mingw_headers1 = buildEnv {
5310       name = "mingw-headers-1";
5311       paths = [ w32api_headers mingw_runtime_headers ];
5312     };
5314     mingw_headers2 = buildEnv {
5315       name = "mingw-headers-2";
5316       paths = [ w32api mingw_runtime_headers ];
5317     };
5319     mingw_headers3 = buildEnv {
5320       name = "mingw-headers-3";
5321       paths = [ w32api mingw_runtime ];
5322     };
5324     wxMSW = callPackage ../os-specific/windows/wxMSW-2.8 { };
5325   };
5327   wesnoth = callPackage ../games/wesnoth {
5328     inherit (gtkLibs) pango;
5329     lua = lua5;
5330   };
5332   wirelesstools = callPackage ../os-specific/linux/wireless-tools { };
5334   wpa_supplicant = callPackage ../os-specific/linux/wpa_supplicant {
5335     guiSupport = false;
5336   };
5337   # prebuild binaries:
5338   wpa_supplicant_gui = wpa_supplicant.override { guiSupport = true; };
5340   # deprecated, but contains icon ? Does no longer build
5341   /* didn't build Sun Apr 25 20:34:18 CEST 2010
5342   wpa_supplicant_gui_qt4_old = callPackage ../os-specific/linux/wpa_supplicant/gui-qt4.nix { };
5343   */
5345   xf86_input_wacom = callPackage ../os-specific/linux/xf86-input-wacom { };
5347   xmoto = builderDefsPackage (import ../games/xmoto) {
5348     inherit chipmunk sqlite curl zlib bzip2 libjpeg libpng
5349       freeglut mesa SDL SDL_mixer SDL_image SDL_net SDL_ttf
5350       lua5 ode libxdg_basedir;
5351   };
5353   xorg_sys_opengl = callPackage ../os-specific/linux/opengl/xorg-sys { };
5355   zd1211fw = callPackage ../os-specific/linux/firmware/zd1211 { };
5357   ### DATA
5359   andagii = callPackage ../data/fonts/andagii {};
5361   anonymousPro = callPackage ../data/fonts/anonymous-pro {};
5363   arkpandora_ttf = builderDefsPackage (import ../data/fonts/arkpandora) {
5364   };
5366   bakoma_ttf = callPackage ../data/fonts/bakoma-ttf { };
5368   cacert = callPackage ../data/misc/cacert { };
5370   corefonts = callPackage ../data/fonts/corefonts { };
5372   wrapFonts = paths : ((import ../data/fonts/fontWrap) {
5373     inherit fetchurl stdenv builderDefs paths;
5374     inherit (xorg) mkfontdir mkfontscale;
5375   });
5377   clearlyU = callPackage ../data/fonts/clearlyU { };
5379   dejavu_fonts = callPackage ../data/fonts/dejavu-fonts {
5380     inherit (perlPackages) FontTTF;
5381   };
5383   docbook5 = callPackage ../data/sgml+xml/schemas/docbook-5.0 { };
5385   docbook_xml_dtd_412 = callPackage ../data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix { };
5387   docbook_xml_dtd_42 = callPackage ../data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix { };
5389   docbook_xml_dtd_43 = callPackage ../data/sgml+xml/schemas/xml-dtd/docbook/4.3.nix { };
5391   docbook_xml_dtd_45 = callPackage ../data/sgml+xml/schemas/xml-dtd/docbook/4.5.nix { };
5393   docbook_xml_ebnf_dtd = callPackage ../data/sgml+xml/schemas/xml-dtd/docbook-ebnf { };
5395   docbook_xml_xslt = docbook_xsl;
5397   docbook_xsl = callPackage ../data/sgml+xml/stylesheets/xslt/docbook-xsl { };
5399   docbook5_xsl = docbook_xsl_ns;
5401   docbook_xsl_ns = callPackage ../data/sgml+xml/stylesheets/xslt/docbook-xsl-ns { };
5403   freefont_ttf = callPackage ../data/fonts/freefont-ttf { };
5405   hicolor_icon_theme = callPackage ../data/misc/hicolor-icon-theme { };
5407   inconsolata = callPackage ../data/fonts/inconsolata {};
5409   junicode = callPackage ../data/fonts/junicode { };
5411   liberation_ttf = callPackage ../data/fonts/redhat-liberation-fonts { };
5413   libertine = builderDefsPackage (import ../data/fonts/libertine/2.7.nix) {
5414     inherit fontforge;
5415   };
5416   libertineBin = builderDefsPackage (import ../data/fonts/libertine/2.7.bin.nix) {
5417   };
5419   lmodern = callPackage ../data/fonts/lmodern { };
5421   manpages = callPackage ../data/documentation/man-pages { };
5423   miscfiles = callPackage ../data/misc/miscfiles { };
5425   mph_2b_damase = callPackage ../data/fonts/mph-2b-damase { };
5427   pthreadmanpages = callPackage ../data/documentation/pthread-man-pages { };
5429   shared_mime_info = callPackage ../data/misc/shared-mime-info { };
5431   shared_desktop_ontologies = callPackage ../data/misc/shared-desktop-ontologies { };
5433   stdmanpages = callPackage ../data/documentation/std-man-pages { };
5435   iana_etc = callPackage ../data/misc/iana-etc { };
5437   popplerData = callPackage ../data/misc/poppler-data { };
5439   r3rs = callPackage ../data/documentation/rnrs/r3rs.nix { };
5441   r4rs = callPackage ../data/documentation/rnrs/r4rs.nix { };
5443   r5rs = callPackage ../data/documentation/rnrs/r5rs.nix { };
5445   themes = name: import (../data/misc/themes + ("/" + name + ".nix")) {
5446     inherit fetchurl;
5447   };
5449   terminus_font = callPackage ../data/fonts/terminus-font { };
5451   ttf_bitstream_vera = callPackage ../data/fonts/ttf-bitstream-vera { };
5453   ucsFonts = callPackage ../data/fonts/ucs-fonts { };
5455   unifont = callPackage ../data/fonts/unifont { };
5457   vistafonts = callPackage ../data/fonts/vista-fonts { };
5459   wqy_zenhei = callPackage ../data/fonts/wqy-zenhei { };
5461   xhtml1 = callPackage ../data/sgml+xml/schemas/xml-dtd/xhtml1 { };
5463   xkeyboard_config = callPackage ../data/misc/xkeyboard-config { };
5466   ### APPLICATIONS
5469   aangifte2005 = callPackage_i686 ../applications/taxes/aangifte-2005 { };
5471   aangifte2006 = callPackage_i686 ../applications/taxes/aangifte-2006 { };
5473   aangifte2007 = callPackage_i686 ../applications/taxes/aangifte-2007 { };
5475   aangifte2008 = callPackage_i686 ../applications/taxes/aangifte-2008 { };
5477   aangifte2009 = callPackage_i686 ../applications/taxes/aangifte-2009 { };
5479   abcde = callPackage ../applications/audio/abcde { };
5481   abiword = callPackage ../applications/office/abiword {
5482     inherit (gnome) libglade libgnomecanvas;
5483   };
5485   adobeReader = callPackage_i686 ../applications/misc/adobe-reader {
5486     inherit (pkgsi686Linux.gtkLibs) glib pango atk gtk;
5487   };
5489   amarok = newScope pkgs.kde4 ../applications/audio/amarok { };
5491   amarok_live = newScope pkgs.kde4 ../applications/audio/amarok/live.nix { };
5493   amsn = callPackage ../applications/networking/instant-messengers/amsn {
5494     libstdcpp = gcc33.gcc;
5495   };
5497   ardour = callPackage ../applications/audio/ardour {
5498     inherit (gtkLibs) glib pango gtk glibmm gtkmm;
5499     inherit (gnome) libgnomecanvas;
5500   };
5502   arora = callPackage ../applications/networking/browsers/arora { };
5504   audacious = callPackage ../applications/audio/audacious { };
5506   audacity = callPackage ../applications/audio/audacity { };
5508   aumix = callPackage ../applications/audio/aumix {
5509     gtkGUI = false;
5510   };
5512   autopanosiftc = callPackage ../applications/graphics/autopanosiftc { };
5514   avidemux = callPackage ../applications/video/avidemux {
5515   };
5517   awesome = callPackage ../applications/window-managers/awesome {
5518     inherit (gtkLibs) glib pango;
5519     lua = lua5;
5520     cairo = cairo.override { xcbSupport = true; };
5521   };
5523   bangarang = newScope pkgs.kde4 ../applications/video/bangarang { };
5525   batik = callPackage ../applications/graphics/batik { };
5527   bazaar = callPackage ../applications/version-management/bazaar {
5528     python = pythonFull;
5529   };
5531   bazaarTools = builderDefsPackage (import ../applications/version-management/bazaar/tools.nix) {
5532     inherit bazaar;
5533   };
5535   beast = callPackage ../applications/audio/beast {
5536     inherit (gnome) libgnomecanvas libart_lgpl;
5537   };
5539   bibletime = newScope pkgs.kde45 ../applications/misc/bibletime {
5540     qt = qt4;
5541   } ;
5543   bitlbee = callPackage ../applications/networking/instant-messengers/bitlbee { };
5545   bitlbeeOtr = callPackage ../applications/networking/instant-messengers/bitlbee-otr { };
5547   # commented out because it's using the new configuration style proposal which is unstable
5548   #biew = import ../applications/misc/biew {
5549   #  inherit lib stdenv fetchurl ncurses;
5550   #};
5552   # only to be able to compile blender - I couldn't compile the default openal software
5553   # Perhaps this can be removed - don't know which one openal{,soft} is better
5554   freealut_soft = callPackage ../development/libraries/freealut {
5555     openal = openalSoft;  };
5557   blender = callPackage ../applications/misc/blender/2.49.nix {
5558     python = python26Base;
5559   };
5561   blender_2_50 = lowPrio (import ../applications/misc/blender {
5562     inherit stdenv fetchurl cmake mesa gettext libjpeg libpng zlib openal SDL openexr
5563       libsamplerate libtiff ilmbase;
5564     inherit (xlibs) libXi;
5565     python = python31Base;
5566   });
5568   bmp = callPackage ../applications/audio/bmp {
5569     inherit (gnome) esound libglade;
5570   };
5572   bmp_plugin_musepack = callPackage ../applications/audio/bmp-plugins/musepack { };
5574   bmp_plugin_wma = callPackage ../applications/audio/bmp-plugins/wma { };
5576   bvi = callPackage ../applications/editors/bvi { };
5578   calibre = callPackage ../applications/misc/calibre {
5579     python = python26Full;
5580     inherit (python26Packages) mechanize lxml dateutil cssutils beautifulsoap;
5581   };
5583   carrier = builderDefsPackage (import ../applications/networking/instant-messengers/carrier/2.5.0.nix) {
5584     inherit fetchurl stdenv pkgconfig perl perlXMLParser libxml2 openssl nss
5585       gtkspell aspell gettext ncurses avahi dbus dbus_glib python
5586       libtool automake autoconf;
5587     GStreamer = gst_all.gstreamer;
5588     inherit (gtkLibs) gtk glib;
5589     inherit (gnome) startupnotification GConf ;
5590     inherit (xlibs) libXScrnSaver scrnsaverproto libX11 xproto kbproto;
5591   };
5592   funpidgin = carrier;
5594   cddiscid = callPackage ../applications/audio/cd-discid { };
5596   cdparanoia = cdparanoiaIII;
5598   cdparanoiaIII = callPackage ../applications/audio/cdparanoia { };
5600   cdrtools = callPackage ../applications/misc/cdrtools { };
5602   chatzilla =
5603     xulrunnerWrapper {
5604       launcher = "chatzilla";
5605       application = callPackage ../applications/networking/irc/chatzilla { };
5606     };
5608   chrome = callPackage ../applications/networking/browsers/chromium {
5609     inherit (gtkLibs) gtk glib pango atk;
5610     inherit (gnome) GConf;
5611     patchelf = patchelf06;
5612     libjpeg = libjpeg62;
5613   };
5615   chromeWrapper = wrapFirefox chrome "chrome" "";
5617   cinelerra = callPackage ../applications/video/cinelerra {
5618     fftw = fftwSinglePrec;
5619     inherit (gnome) esound;
5620   };
5622   cmus = callPackage ../applications/audio/cmus { };
5624   compiz = callPackage ../applications/window-managers/compiz/core.nix { };
5626   compiz_ccsm = callPackage ../applications/window-managers/compiz/ccsm.nix { };
5628   compizconfig_python = callPackage ../applications/window-managers/compiz/config-python.nix { };
5630   libcompizconfig = callPackage ../applications/window-managers/compiz/libcompizconfig.nix { };
5632   compiz_bcop = callPackage ../applications/window-managers/compiz/bcop.nix { };
5634   compiz_plugins_main = callPackage ../applications/window-managers/compiz/plugins-main.nix { };
5636   compiz_plugins_extra = callPackage ../applications/window-managers/compiz/plugins-extra.nix { };
5638   cinepaint = callPackage ../applications/graphics/cinepaint {
5639     fltk = fltk11;
5640   };
5642   codeville = builderDefsPackage (import ../applications/version-management/codeville/0.8.0.nix) {
5643     inherit makeWrapper;
5644     python = pythonFull;
5645   };
5647   comical = callPackage ../applications/graphics/comical {
5648     wxGTK = wxGTK26;
5649   };
5651   conkeror = xulrunnerWrapper {
5652     launcher = "conkeror";
5653     application = callPackage ../applications/networking/browsers/conkeror { };
5654   };
5656   cuneiform = builderDefsPackage (import ../tools/graphics/cuneiform) {
5657     inherit cmake patchelf;
5658     imagemagick=imagemagick;
5659   };
5661   cvs = callPackage ../applications/version-management/cvs { };
5663   cvsps = callPackage ../applications/version-management/cvsps { };
5665   cvs2svn = callPackage ../applications/version-management/cvs2svn { };
5667   d4x = callPackage ../applications/misc/d4x { };
5669   darcs = haskellPackages.darcs;
5671   dia = callPackage ../applications/graphics/dia { };
5673   digikam = newScope pkgs.kde4 ../applications/graphics/digikam { };
5675   djvulibre = callPackage ../applications/misc/djvulibre { };
5677   djview4 = callPackage ../applications/graphics/djview { };
5679   dmenu = callPackage ../applications/misc/dmenu { };
5681   dmtx = builderDefsPackage (import ../tools/graphics/dmtx) {
5682     inherit libpng libtiff libjpeg imagemagick librsvg
5683       pkgconfig bzip2 zlib libtool freetype fontconfig
5684       ghostscript jasper;
5685     inherit (xlibs) libX11;
5686   };
5688   dvdauthor = callPackage ../applications/video/dvdauthor { };
5690   dwm = callPackage ../applications/window-managers/dwm {
5691     patches = getConfig [ "dwm" "patches" ] [];
5692   };
5694   eaglemode = callPackage ../applications/misc/eaglemode { };
5696   eclipse = callPackage ../applications/editors/eclipse {
5697     # GTK 2.18 gives glitches such as mouse clicks on buttons not
5698     # working correctly.
5699     inherit (gtkLibs216) glib gtk;
5700   };
5701   eclipseLatest = eclipse.override { version = "latest"; };
5702   eclipse36 = callPackage ../applications/editors/eclipse {
5703       version = "3.6.1";
5704   };
5706   ed = callPackage ../applications/editors/ed { };
5708   elinks = callPackage ../applications/networking/browsers/elinks { };
5710   elvis = callPackage ../applications/editors/elvis { };
5712   emacs = emacs23;
5714   emacs22 = callPackage ../applications/editors/emacs-22 {
5715     /* Using cpp 4.5, we get:
5717          make[1]: Entering directory `/tmp/nix-build-dhbj8qqmqxwp3iw6sjcgafsrwlwrix1f-emacs-22.3.drv-0/emacs-22.3/lib-src'
5718          Makefile:148: *** recipe commences before first target.  Stop.
5720        Apparently, this is because `lib-src/Makefile' is generated by
5721        processing `lib-src/Makefile.in' with cpp, and the escaping rules for
5722        literal backslashes have changed.  */
5723     stdenv = overrideGCC stdenv gcc44;
5724     xaw3dSupport = getConfig [ "emacs" "xaw3dSupport" ] false;
5725     gtkGUI = getConfig [ "emacs" "gtkSupport" ] true;
5726   };
5728   emacs23 = callPackage ../applications/editors/emacs-23 {
5729     # use override to select the appropriate gui toolkit
5730     libXaw = if stdenv.isDarwin then xlibs.libXaw else null;
5731     Xaw3d = null;
5732     gtk = if stdenv.isDarwin then null else gtkLibs.gtk;
5733     # TODO: these packages don't build on Darwin.
5734     gconf = if stdenv.isDarwin then null else gnome.GConf;
5735     librsvg = if stdenv.isDarwin then null else librsvg;
5736   };
5738   emacsSnapshot = lowPrio (callPackage ../applications/editors/emacs-snapshot {
5739     xawSupport = getConfig [ "emacs" "xawSupport" ] false;
5740     xaw3dSupport = getConfig [ "emacs" "xaw3dSupport" ] false;
5741     gtkGUI = getConfig [ "emacs" "gtkSupport" ] true;
5742     xftSupport = getConfig [ "emacs" "xftSupport" ] true;
5743     dbusSupport = getConfig [ "emacs" "dbusSupport" ] true;
5744   });
5746   emacsPackages = emacs: self: let callPackage = newScope self; in rec {
5747     inherit emacs;
5749     bbdb = callPackage ../applications/editors/emacs-modes/bbdb { };
5751     cedet = callPackage ../applications/editors/emacs-modes/cedet { };
5753     cua = callPackage ../applications/editors/emacs-modes/cua { };
5755     ecb = callPackage ../applications/editors/emacs-modes/ecb { };
5757     jabber = callPackage ../applications/editors/emacs-modes/jabber { };
5759     emacsSessionManagement = callPackage ../applications/editors/emacs-modes/session-management-for-emacs { };
5761     emacsw3m = callPackage ../applications/editors/emacs-modes/emacs-w3m { };
5763     emms = callPackage ../applications/editors/emacs-modes/emms { };
5765     jdee = callPackage ../applications/editors/emacs-modes/jdee {
5766       # Requires Emacs 23, for `avl-tree'.
5767     };
5769     stratego = callPackage ../applications/editors/emacs-modes/stratego { };
5771     haskellMode = callPackage ../applications/editors/emacs-modes/haskell { };
5773     hol_light_mode = callPackage ../applications/editors/emacs-modes/hol_light { };
5775     htmlize = callPackage ../applications/editors/emacs-modes/htmlize { };
5777     magit = callPackage ../applications/editors/emacs-modes/magit { };
5779     maudeMode = callPackage ../applications/editors/emacs-modes/maude { };
5781     nxml = callPackage ../applications/editors/emacs-modes/nxml { };
5783     # This is usually a newer version of Org-Mode than that found in GNU Emacs, so
5784     # we want it to have higher precedence.
5785     org = hiPrio (callPackage ../applications/editors/emacs-modes/org { });
5787     phpMode = callPackage ../applications/editors/emacs-modes/php { };
5789     prologMode = callPackage ../applications/editors/emacs-modes/prolog { };
5791     proofgeneral = callPackage ../applications/editors/emacs-modes/proofgeneral { };
5793     quack = callPackage ../applications/editors/emacs-modes/quack { };
5795     remember = callPackage ../applications/editors/emacs-modes/remember { };
5797     rudel = callPackage ../applications/editors/emacs-modes/rudel { };
5799     scalaMode = callPackage ../applications/editors/emacs-modes/scala-mode { };
5800   };
5802   emacs22Packages = emacsPackages emacs22 pkgs.emacs22Packages;
5803   emacs23Packages = recurseIntoAttrs (emacsPackages emacs23 pkgs.emacs23Packages);
5805   epdfview = callPackage ../applications/misc/epdfview { };
5807   espeak = callPackage ../applications/audio/espeak { };
5809   evopedia = callPackage ../applications/misc/evopedia { };
5811   # FIXME: Evince and other GNOME/GTK+ apps (e.g., Viking) provide
5812   # `share/icons/hicolor/icon-theme.cache'.  Arbitrarily give this one a
5813   # higher priority.
5814   evince = hiPrio (callPackage ../applications/misc/evince {
5815     inherit (gnome) gnomedocutils gnomeicontheme libgnome
5816       libgnomeui libglade glib gtk scrollkeeper gnome_keyring;
5817   });
5819   evolution_data_server = (newScope (gnome // gtkLibs))
5820   ../servers/evolution-data-server {
5821   };
5823   exrdisplay = callPackage ../applications/graphics/exrdisplay {
5824     fltk = fltk20;
5825   };
5827   fbpanel = callPackage ../applications/window-managers/fbpanel { };
5829   fetchmail = import ../applications/misc/fetchmail {
5830     inherit stdenv fetchurl openssl;
5831   };
5833   fossil = callPackage ../applications/version-management/fossil { };
5835   grass = import ../applications/misc/grass {
5836     inherit (xlibs) libXmu libXext libXp libX11 libXt libSM libICE libXpm
5837       libXaw libXrender;
5838     inherit getConfig composableDerivation stdenv fetchurl
5839       lib flex bison cairo fontconfig
5840       gdal zlib ncurses gdbm proj pkgconfig swig
5841       blas liblapack libjpeg libpng mysql unixODBC mesa postgresql python
5842       readline sqlite tcl tk libtiff freetype ffmpeg makeWrapper wxGTK;
5843     fftw = fftwSinglePrec;
5844     motif = lesstif;
5845     opendwg = libdwg;
5846     wxPython = wxPython28;
5847   };
5849   grip = callPackage ../applications/misc/grip {
5850     inherit (gnome) libgnome libgnomeui vte;
5851   };
5853   wavesurfer = callPackage ../applications/misc/audio/wavesurfer { };
5855   wireshark = callPackage ../applications/networking/sniffers/wireshark { };
5857   wvdial = callPackage ../os-specific/linux/wvdial { };
5859   fbida = builderDefsPackage ../applications/graphics/fbida {
5860     inherit libjpeg libexif giflib libtiff libpng
5861       imagemagick ghostscript which curl pkgconfig
5862       freetype fontconfig;
5863   };
5865   fdupes = callPackage ../tools/misc/fdupes { };
5867   feh = callPackage ../applications/graphics/feh { };
5869   filelight = newScope pkgs.kde4 ../applications/misc/filelight { };
5871   firefox = firefox36Pkgs.firefox;
5872   firefoxWrapper = firefox36Wrapper;
5874   firefox35Pkgs = callPackage ../applications/networking/browsers/firefox/3.5.nix {
5875     inherit (gtkLibs) gtk pango;
5876     inherit (gnome) libIDL;
5877   };
5879   firefox35Wrapper = wrapFirefox firefox35Pkgs.firefox "firefox" "";
5881   firefox36Pkgs = callPackage ../applications/networking/browsers/firefox/3.6.nix {
5882     inherit (gtkLibs) gtk pango;
5883     inherit (gnome) libIDL;
5884   };
5886   firefox40Pkgs = let p = (applyGlobalOverrides (x : {cairo = x.cairo_1_10_0;}));
5887   in p.callPackage 
5888       ../applications/networking/browsers/firefox/4.0.nix {
5889     inherit (p.gtkLibs) gtk pango;
5890     inherit (p.gnome) libIDL;
5891   };
5893   firefox36Wrapper = wrapFirefox firefox36Pkgs.firefox "firefox" "";
5895   flac = callPackage ../applications/audio/flac { };
5897   flashplayer = flashplayer10;
5899   flashplayer9 = (
5900     import ../applications/networking/browsers/mozilla-plugins/flashplayer-9 {
5901       inherit fetchurl stdenv zlib alsaLib nss nspr fontconfig freetype expat;
5902       inherit (xlibs) libX11 libXext libXrender libXt;
5903       inherit (gtkLibs) gtk glib pango atk;
5904     });
5906   flashplayer10 = (
5907     import ../applications/networking/browsers/mozilla-plugins/flashplayer-10 {
5908       inherit fetchurl stdenv zlib alsaLib curl nss nspr fontconfig freetype expat cairo;
5909       inherit (xlibs) libX11 libXext libXrender libXt ;
5910       inherit (gtkLibs) gtk glib pango atk;
5911       debug = getConfig ["flashplayer" "debug"] false;
5912     });
5914   flite = callPackage ../applications/misc/flite { };
5916   freemind = callPackage ../applications/misc/freemind {
5917     jdk = jdk;
5918     jre = jdk;
5919   };
5921   freepv = callPackage ../applications/graphics/freepv { };
5923   xfontsel = callPackage ../applications/misc/xfontsel { };
5924   xlsfonts = callPackage ../applications/misc/xlsfonts { };
5926   fspot = callPackage ../applications/graphics/f-spot {
5927     inherit (gnome) libgnome libgnomeui;
5928     gtksharp = gtksharp1;
5929   };
5931   gimp = callPackage ../applications/graphics/gimp {
5932     inherit (gnome) gtk libart_lgpl;
5933   };
5935   gimpPlugins = recurseIntoAttrs (import ../applications/graphics/gimp/plugins {
5936     inherit pkgs gimp;
5937   });
5939   gitAndTools = recurseIntoAttrs (import ../applications/version-management/git-and-tools {
5940     inherit pkgs;
5941   });
5942   git = gitAndTools.git;
5943   gitFull = gitAndTools.gitFull;
5945   gnucash = callPackage ../applications/office/gnucash {
5946     inherit (gnome) gtk glib libglade libgnomeui libgtkhtml gtkhtml
5947       libgnomeprint;
5948     gconf = gnome.GConf;
5949   };
5951   qcad = callPackage ../applications/misc/qcad { };
5953   qjackctl = callPackage ../applications/audio/qjackctl { };
5955   gkrellm = callPackage ../applications/misc/gkrellm { };
5957   gnash = callPackage ../applications/video/gnash {
5958     inherit (gnome) gtkglext;
5959     inherit (gst_all) gstreamer gstPluginsBase gstPluginsGood gstFfmpeg;
5960   };
5962   gnome_mplayer = callPackage ../applications/video/gnome-mplayer {
5963     inherit (gnome) GConf;
5964   };
5966   gnunet = callPackage ../applications/networking/p2p/gnunet {
5967     inherit (gnome) gtk libglade;
5968     gtkSupport = getConfig [ "gnunet" "gtkSupport" ] true;
5969   };
5971   gocr = callPackage ../applications/graphics/gocr { };
5973   gobby5 = callPackage ../applications/editors/gobby {
5974     inherit (gtkLibs) gtkmm;
5975     inherit (gnome) gtksourceview;
5976   };
5978   gphoto2 = callPackage ../applications/misc/gphoto2 { };
5980   gphoto2fs = builderDefsPackage ../applications/misc/gphoto2/gphotofs.nix {
5981     inherit libgphoto2 fuse pkgconfig glib;
5982   };
5984   graphicsmagick = callPackage ../applications/graphics/graphicsmagick { };
5986   graphicsmagick137 = callPackage ../applications/graphics/graphicsmagick/1.3.7.nix { };
5988   gtkpod = callPackage ../applications/audio/gtkpod {
5989     inherit (gnome) libglade;
5990   };
5992   qrdecode = builderDefsPackage (import ../tools/graphics/qrdecode) {
5993     inherit libpng opencv;
5994   };
5996   qrencode = builderDefsPackage (import ../tools/graphics/qrencode) {
5997     inherit libpng pkgconfig;
5998   };
6000   gecko_mediaplayer = callPackage ../applications/networking/browsers/mozilla-plugins/gecko-mediaplayer {
6001     inherit (gnome) GConf;
6002     browser = firefox;
6003   };
6005   geeqie = callPackage ../applications/graphics/geeqie { };
6007   gqview = callPackage ../applications/graphics/gqview { };
6009   googleearth = callPackage_i686 ../applications/misc/googleearth { };
6011   gosmore = builderDefsPackage ../applications/misc/gosmore {
6012     inherit fetchsvn curl pkgconfig libxml2;
6013     inherit (gtkLibs) gtk;
6014   };
6016   gpsbabel = callPackage ../applications/misc/gpsbabel { };
6018   gpscorrelate = callPackage ../applications/misc/gpscorrelate { };
6020   gpsd = callPackage ../servers/gpsd {
6021     # We need a Python with NCurses bindings.
6022     python = pythonFull;
6023   };
6025   guitone = callPackage ../applications/version-management/guitone { };
6027   gv = callPackage ../applications/misc/gv { };
6029   hello = callPackage ../applications/misc/hello/ex-2 { };
6031   homebank = callPackage ../applications/office/homebank { };
6033   htmldoc = callPackage ../applications/misc/htmldoc {
6034     fltk = fltk11;
6035   };
6037   hugin = callPackage ../applications/graphics/hugin {
6038   };
6040   i810switch = callPackage ../os-specific/linux/i810switch { };
6042   icecat3 = lowPrio (import ../applications/networking/browsers/icecat-3 {
6043     inherit fetchurl stdenv xz pkgconfig perl zip libjpeg libpng zlib cairo
6044       python dbus dbus_glib freetype fontconfig bzip2 xlibs alsaLib libnotify
6045       wirelesstools;
6046     inherit (gnome) libIDL libgnomeui gnomevfs gtk pango;
6047     inherit (xlibs) pixman;
6048     inherit (pythonPackages) ply;
6049   });
6051   icecatXulrunner3 = lowPrio (import ../applications/networking/browsers/icecat-3 {
6052     application = "xulrunner";
6053     inherit fetchurl stdenv xz pkgconfig perl zip libjpeg libpng zlib cairo
6054       python dbus dbus_glib freetype fontconfig bzip2 xlibs alsaLib libnotify
6055       wirelesstools;
6056     inherit (gnome) libIDL libgnomeui gnomevfs gtk pango;
6057     inherit (xlibs) pixman;
6058     inherit (pythonPackages) ply;
6059   });
6061   icecat3Xul =
6062     (symlinkJoin "icecat-with-xulrunner-${icecat3.version}"
6063        [ icecat3 icecatXulrunner3 ])
6064     // { inherit (icecat3) gtk isFirefox3Like meta; };
6066   icecatWrapper = wrapFirefox icecat3Xul "icecat" "";
6068   icewm = callPackage ../applications/window-managers/icewm {
6069     inherit (gtkLibs) gtk;
6070   };
6072   id3v2 = callPackage ../applications/audio/id3v2 { };
6074   ikiwiki = callPackage ../applications/misc/ikiwiki {
6075     inherit (perlPackages) TextMarkdown URI HTMLParser HTMLScrubber
6076       HTMLTemplate TimeDate CGISession DBFile CGIFormBuilder LocaleGettext
6077       RpcXML XMLSimple PerlMagick;
6078     gitSupport = getConfig [ "ikiwiki" "git" ] false;
6079     monotoneSupport = getConfig [ "ikiwiki" "monotone" ] false;
6080     extraUtils = [];
6081   };
6083   imagemagick = callPackage ../applications/graphics/ImageMagick {
6084     tetex = null;
6085     librsvg = null;
6086   };
6088   imagemagickBig = callPackage ../applications/graphics/ImageMagick { };
6090   # Impressive, formerly known as "KeyJNote".
6091   impressive = callPackage ../applications/office/impressive {
6093     # XXX These are the PyOpenGL dependencies, which we need here.
6095     inherit (pythonPackages) pyopengl;  };
6097   inkscape = callPackage ../applications/graphics/inkscape {
6098     inherit (pythonPackages) lxml;
6099     inherit (gtkLibs) gtk glib glibmm gtkmm;
6100   };
6102   ion3 = callPackage ../applications/window-managers/ion-3 {
6103     lua = lua5;
6104   };
6106   iptraf = callPackage ../applications/networking/iptraf { };
6108   irssi = callPackage ../applications/networking/irc/irssi { };
6110   jackmeter = callPackage ../applications/audio/jackmeter { };
6112   jedit = callPackage ../applications/editors/jedit { };
6114   jigdo = callPackage ../applications/misc/jigdo { };
6116   joe = callPackage ../applications/editors/joe { };
6118   jwm = callPackage ../applications/window-managers/jwm { };
6120   k3b = newScope pkgs.kde4 ../applications/misc/k3b { };
6122   kadu = newScope pkgs.kde45 ../applications/networking/instant-messengers/kadu { };
6124   kbluetooth = newScope pkgs.kde4 ../tools/bluetooth/kbluetooth { };
6126   kdenlive = newScope pkgs.kde4 ../applications/video/kdenlive { };
6128   kdesvn = newScope pkgs.kde4 ../applications/version-management/kdesvn { };
6130   kdevelop = newScope pkgs.kde4 ../applications/editors/kdevelop { };
6132   keepnote = callPackage ../applications/office/keepnote {
6133     # I did not find any better way of reusing buildPythonPackage+setuptools
6134     # for a python with openssl support
6135     buildPythonPackage = assert pythonFull.sqliteSupport;
6136       import ../development/python-modules/generic {
6137         inherit makeWrapper lib;
6138         python = pythonFull;
6139         setuptools = builderDefsPackage (import ../development/python-modules/setuptools) {
6140           inherit makeWrapper;
6141           python = pythonFull;
6142         };
6143       };
6144     # How could this pygtk use also pythonFull, I don't know.
6145     pygtk = pyGtkGlade;
6146   };
6148   kermit = callPackage ../tools/misc/kermit { };
6150   kino = import ../applications/video/kino {
6151     inherit fetchurl stdenv pkgconfig libxml2 perl perlXMLParser
6152       libdv libraw1394 libavc1394 libiec61883 x11 gettext cairo; /* libavformat */
6153     inherit libsamplerate ffmpeg;
6154     inherit (gnome) libglade gtk glib;
6155     inherit (xlibs) libXv libX11;
6156   };
6158   kipi_plugins = newScope pkgs.kde4 ../applications/graphics/kipi-plugins { };
6160   kmplayer = newScope pkgs.kde4 ../applications/video/kmplayer {
6161     inherit (pkgs.gtkLibs) pango;
6162   };
6164   koffice = newScope pkgs.kde4 ../applications/office/koffice { };
6166   konq_plugins = newScope pkgs.kde4 ../applications/networking/browsers/konq-plugins { };
6168   konversation = newScope pkgs.kde4 ../applications/networking/irc/konversation { };
6170   krename = newScope pkgs.kde4 ../applications/misc/krename { };
6172   krusader = newScope pkgs.kde4 ../applications/misc/krusader { };
6174   ktorrent = newScope pkgs.kde4 ../applications/networking/ktorrent { };
6176   lame = callPackage ../applications/audio/lame { };
6178   larswm = callPackage ../applications/window-managers/larswm { };
6180   ladspaH = callPackage ../applications/audio/ladspa-plugins/ladspah.nix { };
6182   ladspaPlugins = callPackage ../applications/audio/ladspa-plugins {
6183     fftw = fftwSinglePrec;
6184   };
6186   ldcpp = callPackage ../applications/networking/p2p/ldcpp {
6187     inherit (gnome) libglade;
6188   };
6190   links = callPackage ../applications/networking/browsers/links { };
6192   ledger = callPackage ../applications/office/ledger { };
6194   links2 = (builderDefsPackage ../applications/networking/browsers/links2) {
6195     inherit fetchurl stdenv bzip2 zlib libjpeg libpng libtiff
6196       gpm openssl SDL SDL_image SDL_net pkgconfig;
6197     inherit (xlibs) libX11 libXau xproto libXt;
6198   };
6200   links2Stdenv = callPackage ../applications/networking/browsers/links2/stdenv.nix { };
6202   lxdvdrip = callPackage ../applications/video/lxdvdrip { };
6204   lynx = callPackage ../applications/networking/browsers/lynx { };
6206   lyx = callPackage ../applications/misc/lyx {
6207    qt = qt4;
6208   };
6210   matchbox = callPackage ../applications/window-managers/matchbox { };
6212   meld = callPackage ../applications/version-management/meld {
6213     inherit (gnome) scrollkeeper;
6214     pygtk = pyGtkGlade;
6215   };
6217   mercurial = callPackage ../applications/version-management/mercurial {
6218     guiSupport = getConfig ["mercurial" "guiSupport"] false; # for hgk (gitk gui for hg)
6219     python = # allow cloning sources from https servers.
6220       if getConfig ["mercurial" "httpsSupport"] true
6221       then pythonFull
6222       else pythonBase;
6223   };
6225   merkaartor = callPackage ../applications/misc/merkaartor {
6226     qt = qt4;
6227   };
6229   meshlab = callPackage ../applications/graphics/meshlab {
6230     qt = qt4;
6231   };
6233   midori = builderDefsPackage (import ../applications/networking/browsers/midori) {
6234     inherit imagemagick intltool python pkgconfig webkit libxml2
6235       which gettext makeWrapper file libidn sqlite docutils libnotify
6236       vala dbus_glib;
6237     inherit (gtkLibs) gtk glib;
6238     inherit (gnome28) gtksourceview;
6239     inherit (webkit.passthru.args) libsoup;
6240     inherit (xlibs) kbproto xproto libXScrnSaver scrnsaverproto;
6241   };
6243   minicom = callPackage ../tools/misc/minicom { };
6245   mmex = callPackage ../applications/office/mmex { };
6247   monodevelop = callPackage ../applications/editors/monodevelop {
6248     inherit (gnome) gnomevfs libbonobo libglade libgnome GConf glib gtk;
6249     mozilla = firefox;
6250     gtksharp = gtksharp2;
6251   };
6253   monodoc = callPackage ../applications/editors/monodoc {
6254     gtksharp = gtksharp1;
6255   };
6257   monotone = callPackage ../applications/version-management/monotone {
6258     lua = lua5;
6259   };
6261   monotoneViz = builderDefsPackage (import ../applications/version-management/monotone-viz/mtn-head.nix) {
6262     inherit ocaml graphviz pkgconfig autoconf automake libtool;
6263     inherit (ocamlPackages) lablgtk;
6264     inherit (gnome) gtk libgnomecanvas glib;
6265   };
6267   mozilla = callPackage ../applications/networking/browsers/mozilla {
6268     inherit (gnome) libIDL;
6269   };
6271   mozplugger = builderDefsPackage (import ../applications/networking/browsers/mozilla-plugins/mozplugger) {
6272     inherit firefox;
6273     inherit (xlibs) libX11 xproto;
6274   };
6276   mp3info = callPackage ../applications/audio/mp3info { };
6278   mpc123 = callPackage ../applications/audio/mpc123 { };
6280   mpg123 = callPackage ../applications/audio/mpg123 { };
6282   mpg321 = callPackage ../applications/audio/mpg321 { };
6284   MPlayer = callPackage ../applications/video/MPlayer { };
6286   MPlayerPlugin = browser:
6287     import ../applications/networking/browsers/mozilla-plugins/mplayerplug-in {
6288       inherit browser;
6289       inherit fetchurl stdenv pkgconfig gettext;
6290       inherit (xlibs) libXpm;
6291       # !!! should depend on MPlayer
6292     };
6294   mrxvt = callPackage ../applications/misc/mrxvt { };
6296   multisync = callPackage ../applications/misc/multisync {
6297     inherit (gnome) gtk glib ORBit2 libbonobo libgnomeui GConf;
6298   };
6300   mutt = callPackage ../applications/networking/mailreaders/mutt { };
6302   msmtp = callPackage ../applications/networking/msmtp { };
6304   mupdf = callPackage ../applications/misc/mupdf {
6305   };
6307   mythtv = callPackage ../applications/video/mythtv {
6308     qt3 = qt3mysql;
6309   };
6311   nano = callPackage ../applications/editors/nano { };
6313   navipowm = callPackage ../applications/misc/navipowm {
6314   };
6316   navit = callPackage ../applications/misc/navit { };
6318   nedit = callPackage ../applications/editors/nedit {
6319       motif = lesstif;
6320   };
6322   netsurfBrowser = netsurf.browser;
6323   netsurf = recurseIntoAttrs (import ../applications/networking/browsers/netsurf { inherit pkgs; });
6325   nvi = callPackage ../applications/editors/nvi { };
6327   openbox = callPackage ../applications/window-managers/openbox { };
6329   openjump = callPackage ../applications/misc/openjump { };
6331   openoffice = callPackage ../applications/office/openoffice {
6332     inherit (perlPackages) ArchiveZip CompressZlib;
6333     inherit (gnome) GConf ORBit2;
6334     neon = neon029;
6335   };
6337   go_oo = callPackage ../applications/office/openoffice/go-oo.nix {
6338     inherit (perlPackages) ArchiveZip CompressZlib;
6339     inherit (gnome) GConf ORBit2;
6340     neon = neon029;
6341   };
6343   opera = callPackage ../applications/networking/browsers/opera {
6344     qt = qt3;
6345   };
6347   pan = callPackage ../applications/networking/newsreaders/pan {
6348     gmime = gmime_2_2;
6349     spellChecking = false;
6350   };
6352   panotools = callPackage ../applications/graphics/panotools { };
6354   pavucontrol = callPackage ../applications/audio/pavucontrol {
6355     inherit (gtkLibs) gtkmm;
6356     inherit (gnome) libglademm;
6357   };
6359   paraview = callPackage ../applications/graphics/paraview {
6360   };
6362   partitionManager = newScope pkgs.kde4 ../tools/misc/partition-manager { };
6364   pdftk = callPackage ../tools/typesetting/pdftk { };
6366   pidgin = import ../applications/networking/instant-messengers/pidgin {
6367     inherit fetchurl stdenv pkgconfig perl perlXMLParser libxml2 nss nspr farsight2 python
6368       gtkspell aspell gettext ncurses avahi dbus dbus_glib lib intltool libidn;
6369     openssl = if (getConfig ["pidgin" "openssl"] true) then openssl else null;
6370     gnutls = if (getConfig ["pidgin" "gnutls"] false) then gnutls else null;
6371     GStreamer = gst_all.gstreamer;
6372     inherit (gtkLibs) gtk;
6373     inherit (gnome) startupnotification;
6374     inherit (xlibs) libXScrnSaver;
6375     inherit (gst_all) gstPluginsBase;
6376   };
6378   pidginlatex = callPackage ../applications/networking/instant-messengers/pidgin-plugins/pidgin-latex {
6379     imagemagick = imagemagickBig;
6380   };
6382   pidginlatexSF = builderDefsPackage
6383     (import ../applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix)
6384     {
6385       inherit pkgconfig pidgin texLive imagemagick which;
6386       inherit (gtkLibs) glib gtk;
6387     };
6389   pidginmsnpecan = callPackage ../applications/networking/instant-messengers/pidgin-plugins/msn-pecan { };
6391   pidginotr = callPackage ../applications/networking/instant-messengers/pidgin-plugins/otr { };
6393   pidginsipe = callPackage ../applications/networking/instant-messengers/pidgin-plugins/sipe { };
6395   pinfo = callPackage ../applications/misc/pinfo { };
6397   pinta = callPackage ../applications/graphics/pinta {
6398     gtksharp = gtksharp2;
6399   };
6401   pqiv = callPackage ../applications/graphics/pqiv { };
6403   # perhaps there are better apps for this task? It's how I had configured my preivous system.
6404   # And I don't want to rewrite all rules
6405   procmail = callPackage ../applications/misc/procmail { };
6407   pstree = callPackage ../applications/misc/pstree { };
6409   pythonmagick = callPackage ../applications/graphics/PythonMagick { };
6411   qemu = callPackage ../applications/virtualization/qemu/0.13.nix { };
6413   qemuSVN = callPackage ../applications/virtualization/qemu/svn-6642.nix { };
6415   qemuImage = callPackage ../applications/virtualization/qemu/linux-img { };
6417   qtpfsgui = callPackage ../applications/graphics/qtpfsgui { };
6419   rapidsvn = callPackage ../applications/version-management/rapidsvn { };
6421   ratpoison = callPackage ../applications/window-managers/ratpoison { };
6423   rawtherapee = callPackage ../applications/graphics/rawtherapee {
6424     inherit (gtkLibs) gtk gtkmm;
6425   };
6427   rcs = callPackage ../applications/version-management/rcs { };
6429   rdesktop = callPackage ../applications/networking/remote/rdesktop { };
6431   RealPlayer = callPackage ../applications/video/RealPlayer {
6432       inherit (gtkLibs) glib pango atk gtk;
6433       libstdcpp5 = gcc33.gcc;
6434   };
6436   rekonq = newScope pkgs.kde4 ../applications/networking/browsers/rekonq { };
6438   rsibreak = newScope pkgs.kde4 ../applications/misc/rsibreak { };
6440   recode = callPackage ../tools/text/recode { };
6442   rsync = callPackage ../applications/networking/sync/rsync {
6443     enableACLs = !(stdenv.isDarwin || stdenv.isSunOS);
6444   };
6446   rxvt = callPackage ../applications/misc/rxvt { };
6448   # = urxvt
6449   rxvt_unicode = callPackage ../applications/misc/rxvt_unicode {
6450     perlSupport = false;  };
6452   sakura = callPackage ../applications/misc/sakura {
6453     inherit (gnome) vte;
6454   };
6456   sbagen = callPackage ../applications/misc/sbagen { };
6458   scribus = callPackage ../applications/office/scribus {
6459     inherit (gnome) libart_lgpl;
6460     qt = qt3;
6461   };
6463   seeks = callPackage ../tools/networking/p2p/seeks { };
6465   seg3d = callPackage ../applications/graphics/seg3d {
6466     wxGTK = wxGTK28.override {
6467       unicode = false;
6468   };
6469   };
6471   semnotes = newScope pkgs.kde4 ../applications/misc/semnotes { };
6473   skype_linux = callPackage_i686 ../applications/networking/skype { };
6475   slim = callPackage ../applications/display-managers/slim { };
6477   sndBase = builderDefsPackage (import ../applications/audio/snd) {
6478     inherit fetchurl stdenv stringsWithDeps lib fftw;
6479     inherit pkgconfig gmp gettext;
6480     inherit (xlibs) libXpm libX11;
6481     inherit (gtkLibs) gtk glib;
6482   };
6484   snd = sndBase.passthru.function {
6485     inherit guile mesa libtool jackaudio alsaLib;
6486   };
6488   sonicVisualizer = callPackage ../applications/audio/sonic-visualizer {
6489     inherit (vamp) vampSDK;
6490     qt = qt4;
6491   };
6493   sox = callPackage ../applications/misc/audio/sox { };
6495   stalonetray = callPackage ../applications/window-managers/stalonetray {};
6497   stumpwm = builderDefsPackage (import ../applications/window-managers/stumpwm) {
6498     inherit texinfo;
6499     clisp = clisp_2_44_1;
6500   };
6502   subversion = callPackage ../applications/version-management/subversion/default.nix {
6503     neon = neon029;
6504     bdbSupport = getConfig ["subversion" "bdbSupport"] true;
6505     httpServer = getConfig ["subversion" "httpServer"] false;
6506     httpSupport = getConfig ["subversion" "httpSupport"] true;
6507     sslSupport = getConfig ["subversion" "sslSupport"] true;
6508     pythonBindings = getConfig ["subversion" "pythonBindings"] false;
6509     perlBindings = getConfig ["subversion" "perlBindings"] false;
6510     javahlBindings = supportsJDK && getConfig ["subversion" "javahlBindings"] false;
6511     compressionSupport = getConfig ["subversion" "compressionSupport"] true;
6512     httpd = apacheHttpd;
6513   };
6515   svk = perlPackages.SVK;
6517   sylpheed = callPackage ../applications/networking/mailreaders/sylpheed {
6518     sslSupport = true;
6519     gpgSupport = true;
6520   };
6522   # linux only by now
6523   synergy = callPackage ../applications/misc/synergy { };
6525   tahoelafs = callPackage ../tools/networking/p2p/tahoe-lafs {
6526     inherit (pythonPackages) twisted foolscap simplejson nevow zfec
6527       pycryptopp pysqlite darcsver setuptoolsTrial setuptoolsDarcs
6528       numpy pyasn1;
6529     mock = pythonPackages.mock060;
6530   };
6532   tailor = builderDefsPackage (import ../applications/version-management/tailor) {
6533     inherit makeWrapper python;
6534   };
6536   tangogps = callPackage ../applications/misc/tangogps {
6537     gconf = gnome.GConf;
6538   };
6540   teamspeak_client = callPackage ../applications/networking/instant-messengers/teamspeak/client.nix { };
6542   taskJuggler = callPackage ../applications/misc/taskjuggler {
6543     qt = qt3;
6545     # KDE support is not working yet.
6546     inherit (kde3) kdelibs kdebase;
6547     withKde = getConfig [ "taskJuggler" "kde" ] false;
6548   };
6550   thinkingRock = callPackage ../applications/misc/thinking-rock { };
6552   thunderbird = thunderbird3;
6554   thunderbird2 = callPackage ../applications/networking/mailreaders/thunderbird/2.x.nix {
6555     inherit (gnome) libIDL;
6556   };
6558   thunderbird3 = callPackage ../applications/networking/mailreaders/thunderbird/3.x.nix {
6559     inherit (gnome) libIDL;
6560   };
6562   timidity = callPackage ../tools/misc/timidity { };
6564   tkcvs = callPackage ../applications/version-management/tkcvs { };
6566   tla = callPackage ../applications/version-management/arch { };
6568   transmission = callPackage ../applications/networking/p2p/transmission { };
6570   twinkle = callPackage ../applications/networking/twinkle {
6571     qt = qt3;
6572     boost = boostFull;
6573   };
6575   unison = callPackage ../applications/networking/sync/unison {
6576     inherit (ocamlPackages) lablgtk;
6577   };
6579   uucp = callPackage ../tools/misc/uucp { };
6581   uzbl = builderDefsPackage (import ../applications/networking/browsers/uzbl) {
6582     inherit pkgconfig webkit makeWrapper;
6583     inherit (gtkLibs) gtk glib;
6584     inherit (xlibs) libX11 kbproto;
6585     libsoup = gnome28.libsoup_2_31;
6586   };
6588   valknut = callPackage ../applications/networking/p2p/valknut {
6589     qt = qt3;
6590   };
6592   vdpauinfo = callPackage ../tools/X11/vdpauinfo { };
6594   veracity = callPackage ../applications/version-management/veracity {};
6596   viewMtn = builderDefsPackage (import ../applications/version-management/viewmtn/0.10.nix)
6597   {
6598     inherit monotone cheetahTemplate highlight ctags
6599       makeWrapper graphviz which python;
6600     flup = pythonPackages.flup;
6601   };
6603   vim = callPackage ../applications/editors/vim { };
6605   vimHugeX = vim_configurable;
6607   vim_configurable = import ../applications/editors/vim/configurable.nix {
6608     inherit (pkgs) fetchurl stdenv ncurses pkgconfig gettext composableDerivation lib
6609       getConfig;
6610     inherit (pkgs.xlibs) libX11 libXext libSM libXpm
6611         libXt libXaw libXau libXmu libICE;
6612     inherit (pkgs.gtkLibs) glib gtk;
6613     features = "huge"; # one of  tiny, small, normal, big or huge
6614     # optional features by passing
6615     # python
6616     # TODO mzschemeinterp perlinterp
6617     inherit (pkgs) python perl tcl ruby /*x11*/;
6619     lua = pkgs.lua5;
6621     # optional features by flags
6622     flags = [ "X11" ]; # only flag "X11" by now
6623   };
6625   virtualgl = callPackage ../tools/X11/virtualgl { };
6627   vlc = callPackage ../applications/video/vlc {
6628     dbus = dbus.libs;
6629     alsa = alsaLib;
6630     lua = lua5;
6631   };
6633   vnstat = callPackage ../applications/networking/vnstat { };
6635   vorbisTools = callPackage ../applications/audio/vorbis-tools { };
6637   vwm = callPackage ../applications/window-managers/vwm { };
6639   w3m = callPackage ../applications/networking/browsers/w3m {
6640     graphicsSupport = false;
6641   };
6643   weechat = callPackage ../applications/networking/irc/weechat { };
6645   wings = callPackage ../applications/graphics/wings { };
6647   # I'm keen on wmiimenu only  >wmii-3.5 no longer has it...
6648   wmiimenu = import ../applications/window-managers/wmii31 {
6649     libixp = libixp_for_wmii;
6650     inherit fetchurl /* fetchhg */ stdenv gawk;
6651     inherit (xlibs) libX11;
6652   };
6654   wmiiSnap = import ../applications/window-managers/wmii {
6655     libixp = libixp_for_wmii;
6656     inherit fetchurl /* fetchhg */ stdenv gawk;
6657     inherit (xlibs) libX11 xextproto libXt libXext;
6658     includeUnpack = getConfig ["stdenv" "includeUnpack"] false;
6659   };
6661   wordnet = callPackage ../applications/misc/wordnet { };
6663   wrapFirefox = browser: browserName: nameSuffix: import ../applications/networking/browsers/firefox/wrapper.nix {
6664     inherit stdenv nameSuffix makeWrapper makeDesktopItem browser browserName;
6665     plugins =
6666       let
6667         enableAdobeFlash = getConfig [ browserName "enableAdobeFlash" ] true;
6668         enableGnash = getConfig [ browserName "enableGnash" ] false;
6669       in
6670        assert !(enableGnash && enableAdobeFlash);
6671        ([]
6672         ++ lib.optional enableGnash gnash
6673         ++ lib.optional enableAdobeFlash flashplayer
6674         # RealPlayer is disabled by default for legal reasons.
6675         ++ lib.optional (system != "i686-linux" && getConfig [browserName "enableRealPlayer"] false) RealPlayer
6676         ++ lib.optional (getConfig [browserName "enableMPlayer"] false) (MPlayerPlugin browser)
6677         ++ lib.optional (getConfig [browserName "enableGeckoMediaPlayer"] false) gecko_mediaplayer
6678         ++ lib.optional (supportsJDK && getConfig [browserName "jre"] false && jrePlugin ? mozillaPlugin) jrePlugin
6679        );
6680   };
6682   x11vnc = callPackage ../tools/X11/x11vnc { };
6684   x2vnc = callPackage ../tools/X11/x2vnc { };
6686   xaos = builderDefsPackage (import ../applications/graphics/xaos) {
6687     inherit (xlibs) libXt libX11 libXext xextproto xproto;
6688     inherit gsl aalib zlib libpng intltool gettext perl;
6689   };
6691   xara = callPackage ../applications/graphics/xara {
6692     wxGTK = wxGTK26;
6693   };
6695   xawtv = callPackage ../applications/video/xawtv { };
6697   xchat = callPackage ../applications/networking/irc/xchat { };
6699   xchm = callPackage ../applications/misc/xchm { };
6701   xcompmgr = callPackage ../applications/window-managers/xcompmgr { };
6703   xdg_utils = callPackage ../tools/X11/xdg-utils { };
6705   xen = callPackage ../applications/virtualization/xen {
6706     python = pythonFull;
6707   };
6709   xfig = callPackage ../applications/graphics/xfig {
6710     stdenv = overrideGCC stdenv gcc34;
6711   };
6713   xineUI = callPackage ../applications/video/xine-ui { };
6715   xmms = callPackage ../applications/audio/xmms {
6716     inherit (gnome) esound;
6717     inherit (gtkLibs1x) glib gtk;
6718     stdenv = overrideGCC stdenv gcc34; # due to problems with gcc 4.x
6719   };
6721   xneur = callPackage ../applications/misc/xneur {
6722     GStreamer=gst_all.gstreamer;
6723     inherit (gtkLibs) glib gtk pango atk;
6724   };
6726   xneur_0_8 = callPackage ../applications/misc/xneur/0.8.nix {
6727     GStreamer = gst_all.gstreamer;
6728   };
6730   xournal = callPackage ../applications/graphics/xournal {
6731     inherit (gtkLibs) gtk atk pango glib;
6732     inherit (gnome) libgnomeprint libgnomeprintui
6733       libgnomecanvas;
6734   };
6736   xpdf = callPackage ../applications/misc/xpdf {
6737     motif = lesstif;
6738     base14Fonts = "${ghostscript}/share/ghostscript/fonts";
6739   };
6741   libxpdf = callPackage ../applications/misc/xpdf/libxpdf.nix {
6742   };
6744   xpra = callPackage ../tools/X11/xpra {
6745     pyrex = pyrex095;
6746   };
6748   xscreensaver = callPackage ../applications/graphics/xscreensaver {
6749     inherit (gnome) libglade;
6750   };
6752   xterm = callPackage ../applications/misc/xterm { };
6754   xtrace = callPackage ../tools/X11/xtrace { };
6756   xlaunch = callPackage ../tools/X11/xlaunch { };
6758   xmacro = callPackage ../tools/X11/xmacro { };
6760   xmove = callPackage ../applications/misc/xmove { };
6762   xnee = builderDefsPackage (import ../tools/X11/xnee) {
6763     inherit (gtkLibs) gtk;
6764     inherit (xlibs) libX11 libXtst xextproto libXext
6765       inputproto libXi xproto recordproto;
6766     inherit pkgconfig;
6767   };
6769   xvidcap = callPackage ../applications/video/xvidcap {
6770     inherit (gnome) scrollkeeper libglade;
6771   };
6773   yate = callPackage ../applications/misc/yate {
6774     qt = qt4;
6775   };
6777   # doesn't compile yet - in case someone else want's to continue ..
6778   # use Trunk because qgisReleased segfaults no resize for now
6779   qgis = qgisTrunk;
6780   qgisReleased = (import ../applications/misc/qgis) {
6781     inherit composableDerivation fetchsvn stdenv flex lib
6782             ncurses fetchurl perl cmake gdal geos proj x11
6783             gsl libpng zlib bison
6784             sqlite glibc fontconfig freetype /* use libc from stdenv ? - to lazy now - Marc */
6785             python postgresql pyqt4;
6786     inherit (xlibs) libSM libXcursor libXinerama libXrandr libXrender;
6787     inherit (xorg) libICE;
6788     qt = qt4;
6790     # optional features
6791     # grass = "not yet supported" # cmake -D WITH_GRASS=TRUE  and GRASS_PREFX=..
6792   };
6794   qgisTrunk = callPackage ../applications/misc/qgis/trunk.nix {
6795     qgis = qgisReleased;
6796   };
6798   yakuake = newScope pkgs.kde4 ../applications/misc/yakuake { };
6800   zapping = callPackage ../applications/video/zapping {
6801     inherit (gnome) scrollkeeper libgnomeui libglade esound;
6802     teletextSupport = true;
6803     jpegSupport = true;
6804     pngSupport = true;
6805     recordingSupport = true;
6806   };
6808   zathura = callPackage ../applications/misc/zathura { };
6810   ### GAMES
6812   asc = callPackage ../games/asc {
6813     lua = lua5;
6814     libsigcxx = libsigcxx12;
6815   };
6817   atanks = callPackage ../games/atanks {};
6819   ballAndPaddle = callPackage ../games/ball-and-paddle { };
6821   blackshades = callPackage ../games/blackshades { };
6823   blackshadeselite = callPackage ../games/blackshadeselite { };
6825   bsdgames = callPackage ../games/bsdgames { };
6827   castle_combat = callPackage ../games/castle-combat { };
6829   construoBase = callPackage ../games/construo {
6830     mesa = null;
6831     freeglut = null;
6832   };
6834   construo = construoBase.override {
6835     inherit mesa freeglut;
6836   };
6838   crack_attack = callPackage ../games/crack-attack { };
6840   crrcsim = callPackage ../games/crrcsim {};
6842   dwarf_fortress = callPackage_i686 ../games/dwarf-fortress { 
6843     gnomegtk = pkgsi686Linux.gnome.gtk;
6844   };
6846   eduke32 = callPackage ../games/eduke32 { };
6848   egoboo = callPackage ../games/egoboo { };
6850   exult = callPackage ../games/exult {
6851     stdenv = overrideGCC stdenv gcc42;
6852   };
6854   /*
6855   exultSnapshot = lowPrio (import ../games/exult/snapshot.nix {
6856     inherit fetchurl stdenv SDL SDL_mixer zlib libpng unzip
6857       autoconf automake libtool flex bison;
6858   });
6859   */
6861   freedink = callPackage ../games/freedink { };
6863   fsg = callPackage ../games/fsg {
6864     wxGTK = wxGTK28.override { unicode = false; };
6865   };
6867   gemrb = callPackage ../games/gemrb { };
6869   gl117 = callPackage ../games/gl-117 {};
6871   gltron = callPackage ../games/gltron { };
6873   gnuchess = callPackage ../games/gnuchess { };
6875   gnugo = callPackage ../games/gnugo { };
6877   gparted = callPackage ../tools/misc/gparted {
6878     inherit (gtkLibs) gtk glib gtkmm;
6879     inherit (gnome) gnomedocutils;
6880   };
6882   hexen = callPackage ../games/hexen { };
6884   instead = callPackage ../games/instead {
6885     lua = lua5;
6886   };
6888   kobodeluxe = callPackage ../games/kobodeluxe { };
6890   lincity = builderDefsPackage (import ../games/lincity) {
6891     inherit (xlibs) libX11 libXext xextproto
6892       libICE libSM xproto;
6893     inherit libpng zlib;
6894   };
6896   micropolis = callPackage ../games/micropolis { };
6898   openttd = callPackage ../games/openttd {
6899     zlib = zlibStatic;
6900   };
6902   pioneers = callPackage ../games/pioneers { };
6904   prboom = callPackage ../games/prboom { };
6906   quake3demo = callPackage ../games/quake3/wrapper {
6907     name = "quake3-demo-${quake3game.name}";
6908     description = "Demo of Quake 3 Arena, a classic first-person shooter";
6909     game = quake3game;
6910     paks = [quake3demodata];
6911   };
6913   quake3demodata = callPackage ../games/quake3/demo { };
6915   quake3game = callPackage ../games/quake3/game { };
6917   rogue = callPackage ../games/rogue { };
6919   sauerbraten = callPackage ../games/sauerbraten {};
6921   scummvm = callPackage ../games/scummvm { };
6923   scorched3d = callPackage ../games/scorched3d {
6924     wxGTK = wxGTK26;
6925   };
6927   sgtpuzzles = builderDefsPackage (import ../games/sgt-puzzles) {
6928     inherit (gtkLibs) gtk;
6929     inherit pkgconfig fetchsvn perl;
6930     inherit (xlibs) libX11;
6931   };
6933   six = callPackage ../games/six {
6934     inherit (kde3) arts kdelibs;
6935   };
6937   # You still can override by passing more arguments.
6938   spaceOrbit = callPackage ../games/orbit {
6939     inherit (gnome) esound;  };
6941   spring = callPackage ../games/spring { };
6943   springLobby = callPackage ../games/spring/spring-lobby.nix { };
6945   stardust = callPackage ../games/stardust {};
6947   superTux = callPackage ../games/super-tux { };
6949   superTuxKart = callPackage ../games/super-tux-kart {
6950     /* With GNU Make 3.82, the build process is stuck in the `data'
6951        directory, after displaying "Making all in tracks", and `pstree'
6952        indicates that `make' doesn't launch any new process.  */
6953     stdenv = overrideInStdenv stdenv [ gnumake381 ];
6954   };
6956   tbe = callPackage ../games/the-butterfly-effect {};
6958   teeworlds = callPackage ../games/teeworlds { };
6960   tennix = callPackage ../games/tennix { };
6962   tpm = callPackage ../games/thePenguinMachine { };
6964   tremulous = callPackage ../games/tremulous { };
6966   torcs = callPackage ../games/torcs {
6967     # Torcs wants to make shared libraries linked with plib libraries (it provides static).
6968     # i686 is the only platform I know than can do that linking without plib built with -fPIC
6969     plib = plib.override { enablePIC = if stdenv.isi686 then false else true; };
6970   };
6972   ufoai = callPackage ../games/ufoai {
6973     inherit (gnome) gtksourceview gtkglext;
6974   };
6976   ultimatestunts = callPackage ../games/ultimatestunts { };
6978   ultrastardx = callPackage ../games/ultrastardx {
6979     lua = lua5;
6980   };
6982   urbanterror = callPackage ../games/urbanterror { };
6984   ut2004demo = callPackage ../games/ut2004demo { };
6986   warsow = callPackage ../games/warsow {
6987     libjpeg = libjpeg62;
6988   };
6990   warzone2100 = callPackage ../games/warzone2100 { };
6992   xboard = builderDefsPackage (import ../games/xboard) {
6993     inherit (xlibs) libX11 xproto libXt libXaw libSM
6994       libICE libXmu libXext libXpm;
6995     inherit gnuchess texinfo;
6996   };
6998   xsokoban = builderDefsPackage (import ../games/xsokoban) {
6999     inherit (xlibs) libX11 xproto libXpm libXt;
7000   };
7002   zdoom = callPackage ../games/zdoom { };
7004   zoom = callPackage ../games/zoom { };
7006   keen4 = callPackage ../games/keen4 { };
7009   ### DESKTOP ENVIRONMENTS
7012   enlightenment = callPackage ../desktops/enlightenment { };
7014   gnome28 = recurseIntoAttrs (import ../desktops/gnome-2.28 pkgs);
7016   gnome = gnome28;
7018   kde3 = recurseIntoAttrs {
7020     kdelibs = callPackage ../desktops/kde-3/kdelibs {
7021       stdenv = overrideGCC stdenv gcc43;
7022       qt = qt3;
7023     };
7025     kdebase = callPackage ../desktops/kde-3/kdebase {
7026       stdenv = overrideGCC stdenv gcc43;
7027       inherit (kde3) kdelibs;
7028       qt = qt3;
7029     };
7031     arts = callPackage ../development/libraries/arts {
7032       qt = qt3;
7033       inherit (gnome) glib;
7034       inherit (kde3) kdelibs;
7035     };
7037     k3b = callPackage ../applications/misc/k3b/1.0.nix {
7038       inherit (kde3) kdelibs;
7039     };
7041     kbasket = callPackage ../applications/misc/kbasket {
7042       stdenv = overrideGCC stdenv gcc43;
7043       inherit (kde3) kdelibs;
7044     };
7046     kile = callPackage ../applications/editors/kile {
7047       inherit (kde3) arts kdelibs;
7048       qt = qt3;
7049     };
7051     kphone = callPackage ../applications/networking/kphone {
7052       qt = qt3;
7053       stdenv = overrideGCC stdenv gcc42; # I'm to lazy to clean up header files
7054     };
7056     kuickshow = callPackage ../applications/graphics/kuickshow {
7057       inherit (kde3) arts kdelibs;
7058       qt = qt3;
7059     };
7061     kcachegrind = callPackage ../development/tools/misc/kcachegrind {
7062       inherit (kde3) kdelibs;
7063       qt = qt3;
7064     };
7066   };
7068   kde4 = kde45;
7070   kde44 = makeOverridable (import ../desktops/kde-4.4) (
7071     applyGlobalOverrides (p: { kde4 = p.kde44; qt4 = p.qt46; }));
7073   kde45 = callPackage ../desktops/kde-4.5 {
7074     callPackage =
7075       let
7076         # !!! Ugly, inefficient.
7077         pkgs_for_45 = (applyGlobalOverrides (p: { kde4 = p.kde45; }));
7078       in
7079         pkgs_for_45.newScope pkgs_for_45.kde45;
7080   };
7082   kde46 = callPackage ../desktops/kde-4.6 {
7083     callPackage =
7084       let
7085         # !!! Ugly, inefficient.
7086         pkgs_for_46 = (applyGlobalOverrides (p: { kde4 = p.kde46; }));
7087       in
7088         pkgs_for_46.newScope pkgs_for_46.kde46;
7089   };
7091   xfce = xfce4;
7093   xfce4 = recurseIntoAttrs
7094     (let callPackage = newScope pkgs.xfce4; in
7095      import ../desktops/xfce-4 { inherit callPackage pkgs; });
7098   ### SCIENCE
7100   xplanet = callPackage ../applications/science/xplanet {
7101     inherit (gtkLibs) pango;
7102   };
7105   ### SCIENCE/GEOMETRY
7107   drgeo = builderDefsPackage (import ../applications/science/geometry/drgeo) {
7108     inherit (gnome) libglade gtk;
7109     inherit libxml2 guile perl intltool libtool pkgconfig;
7110   };
7112   tetgen = callPackage ../applications/science/geometry/tetgen { };
7115   ### SCIENCE/BIOLOGY
7117   alliance = callPackage ../applications/science/electronics/alliance {
7118     motif = lesstif;
7119   };
7121   arb = callPackage ../applications/science/biology/arb {
7122     lesstif = lesstif93;
7123     stdenv = overrideGCC stdenv gcc42;
7124   };
7126   biolib = callPackage ../development/libraries/science/biology/biolib { };
7128   emboss = callPackage ../applications/science/biology/emboss { };
7130   mrbayes = callPackage ../applications/science/biology/mrbayes { };
7132   ncbiCTools = builderDefsPackage ../development/libraries/ncbi {
7133     inherit tcsh mesa lesstif;
7134     inherit (xlibs) libX11 libXaw xproto libXt libSM libICE
7135       libXmu libXext;
7136   };
7138   ncbi_tools = callPackage ../applications/science/biology/ncbi-tools { };
7140   paml = callPackage ../applications/science/biology/paml { };
7142   /* slr = import ../applications/science/biology/slr {
7143     inherit fetchurl stdenv liblapack;
7144   }; */
7146   pal2nal = callPackage ../applications/science/biology/pal2nal { };
7149   ### SCIENCE/MATH
7151   atlas = callPackage ../development/libraries/science/math/atlas { };
7153   blas = callPackage ../development/libraries/science/math/blas { };
7155   content = builderDefsPackage ../applications/science/math/content {
7156     inherit mesa lesstif;
7157     inherit (xlibs) libX11 libXaw xproto libXt libSM libICE
7158       libXmu libXext libXcursor;
7159   };
7161   liblapack = callPackage ../development/libraries/science/math/liblapack { };
7164   ### SCIENCE/LOGIC
7166   coq = callPackage ../applications/science/logic/coq {
7167     inherit (ocamlPackages) findlib lablgtk;
7168     camlp5 = ocamlPackages.camlp5_transitional;
7169   };
7171   cvc3 = callPackage ../applications/science/logic/cvc3 {};
7173   eprover = callPackage ../applications/science/logic/eProver {
7174     texLive = texLiveAggregationFun {
7175       paths = [
7176         texLive texLiveExtra
7177       ];
7178   };
7179   };
7181   hol = callPackage ../applications/science/logic/hol { };
7183   hol_light = callPackage ../applications/science/logic/hol_light {
7184     inherit (ocamlPackages) findlib camlp5_transitional;
7185   };
7187   hol_light_sources = callPackage ../applications/science/logic/hol_light/sources.nix { };
7189   hol_light_checkpoint_dmtcp =
7190      recurseIntoAttrs (callPackage ../applications/science/logic/hol_light/dmtcp_checkpoint.nix { });
7192   isabelle = import ../applications/science/logic/isabelle {
7193     inherit (pkgs) stdenv fetchurl nettools perl polyml;
7194     inherit (pkgs.emacs23Packages) proofgeneral;
7195   };
7197   iprover = callPackage ../applications/science/logic/iprover {};
7199   leo2 = callPackage ../applications/science/logic/leo2 {};
7201   matita = callPackage ../applications/science/logic/matita {
7202     inherit (ocamlPackages) findlib lablgtk ocaml_expat gmetadom ocaml_http 
7203             lablgtkmathview ocaml_mysql ocaml_sqlite3 ocamlnet ulex08 camlzip ocaml_pcre;
7204     camlp5 = ocamlPackages.camlp5_transitional;
7205   };
7207   minisat = callPackage ../applications/science/logic/minisat {};
7209   opensmt = callPackage ../applications/science/logic/opensmt { };
7211   prover9 = callPackage ../applications/science/logic/prover9 { };
7213   satallax = callPackage ../applications/science/logic/satallax {};
7215   spass = callPackage ../applications/science/logic/spass {};
7217   ssreflect = callPackage ../applications/science/logic/ssreflect {
7218     camlp5 = ocamlPackages.camlp5_transitional;
7219   };
7221   ### SCIENCE / ELECTRONICS
7223   caneda = callPackage ../applications/science/electronics/caneda {
7224     # At the time of writing, it fails to build with qt47
7225     qt4 = qt46;
7226   };
7228   gtkwave = callPackage ../applications/science/electronics/gtkwave { };
7230   kicad = callPackage ../applications/science/electronics/kicad { };
7232   ngspice = callPackage ../applications/science/electronics/ngspice { };
7234   qucs = callPackage ../applications/science/electronics/qucs {
7235     qt = qt3;
7236   };
7238   xoscope = callPackage ../applications/science/electronics/xoscope { };
7241   ### SCIENCE / MATH
7243   maxima = callPackage ../applications/science/math/maxima { };
7245   wxmaxima = callPackage ../applications/science/math/wxmaxima { };
7247   pari = callPackage ../applications/science/math/pari {};
7249   singular = callPackage ../applications/science/math/singular {};
7251   scilab = callPackage ../applications/science/math/scilab {
7252     withXaw3d = false;
7253     withTk = true;
7254     withGtk = false;
7255     withOCaml = true;
7256     withX = true;
7257   };
7259   yacas = callPackage ../applications/science/math/yacas { };
7261   ### SCIENCE / MISC
7263   golly = callPackage ../applications/science/misc/golly { };
7265   simgrid = callPackage ../applications/science/misc/simgrid { };
7267   tulip = callPackage ../applications/science/misc/tulip {
7268     qt = qt4;
7269   };
7271   vite = callPackage ../applications/science/misc/vite {
7272     qt = qt4;
7273   };
7275   ### MISC
7277   atari800 = callPackage ../misc/emulators/atari800 { };
7279   ataripp = callPackage ../misc/emulators/atari++ { };
7281   auctex = callPackage ../misc/tex/auctex { };
7283   busybox = callPackage ../misc/busybox {
7284     enableStatic = true;
7285   };
7287   cups = callPackage ../misc/cups { };
7289   cups_pdf_filter = callPackage ../misc/cups/pdf-filter.nix { };
7291   gutenprint = callPackage ../misc/drivers/gutenprint { };
7293   gutenprintBin = callPackage ../misc/drivers/gutenprint/bin.nix { };
7295   cupsBjnp = callPackage ../misc/cups/drivers/cups-bjnp { };
7297   dblatex = callPackage ../misc/tex/dblatex { };
7299   dosbox = callPackage ../misc/emulators/dosbox { };
7301   dpkg = callPackage ../tools/package-management/dpkg { };
7303   ekiga = newScope (pkgs.gtkLibs // pkgs.gnome) ../applications/networking/ekiga { };
7305   electricsheep = callPackage ../misc/screensavers/electricsheep { };
7307   foldingathome = callPackage ../misc/foldingathome { };
7309   freestyle = callPackage ../misc/freestyle {
7310     #stdenv = overrideGCC stdenv gcc41;
7311   };
7313   gajim = builderDefsPackage (import ../applications/networking/instant-messengers/gajim) {
7314     inherit perl intltool pyGtkGlade gettext pkgconfig makeWrapper pygobject
7315       pyopenssl gtkspell libsexy pycrypto aspell pythonDBus pythonSexy
7316       docutils;
7317     dbus = dbus.libs;
7318     inherit (gnome) gtk libglade;
7319     inherit (xlibs) libXScrnSaver libXt xproto libXext xextproto libX11
7320       scrnsaverproto;
7321     python = pythonFull;
7322   };
7324   generator = callPackage ../misc/emulators/generator {
7325     inherit (gtkLibs1x) gtk;
7326   };
7328   gensgs = callPackage_i686 ../misc/emulators/gens-gs { };
7330   ghostscript = callPackage ../misc/ghostscript {
7331     x11Support = false;
7332     cupsSupport = getConfig [ "ghostscript" "cups" ] true;
7333   };
7335   ghostscriptX = appendToName "with-X" (ghostscript.override {
7336     x11Support = true;
7337   });
7339   gxemul = callPackage ../misc/gxemul { };
7341   hplip = callPackage ../misc/drivers/hplip {
7342     qtSupport = true;
7343   };
7345   # using the new configuration style proposal which is unstable
7346   jackaudio = callPackage ../misc/jackaudio { };
7348   keynav = callPackage ../tools/X11/keynav { };
7350   lazylist = callPackage ../misc/tex/lazylist { };
7352   lilypond = callPackage ../misc/lilypond {
7353     inherit (gtkLibs) pango;
7354   };
7356   martyr = callPackage ../development/libraries/martyr { };
7358   maven = callPackage ../misc/maven/maven-1.0.nix { };
7359   maven2 = callPackage ../misc/maven { };
7360   maven3 = callPackage ../misc/maven/3.0.nix { };
7362   mess = callPackage ../misc/emulators/mess { };
7364   nix = nixStable;
7366   nixStable = callPackage ../tools/package-management/nix {
7367     storeDir = getConfig [ "nix" "storeDir" ] "/nix/store";
7368     stateDir = getConfig [ "nix" "stateDir" ] "/nix/var";
7369   };
7371   nixUnstable = callPackage ../tools/package-management/nix/unstable.nix {
7372     storeDir = getConfig [ "nix" "storeDir" ] "/nix/store";
7373     stateDir = getConfig [ "nix" "stateDir" ] "/nix/var";
7374   };
7376   # The SQLite branch.
7377   nixSqlite = lowPrio (callPackage ../tools/package-management/nix/sqlite.nix {
7378     storeDir = getConfig [ "nix" "storeDir" ] "/nix/store";
7379     stateDir = getConfig [ "nix" "stateDir" ] "/nix/var";
7380   });
7382   nixCustomFun = src: preConfigure: enableScripts: configureFlags:
7383     import ../tools/package-management/nix/custom.nix {
7384       inherit fetchurl stdenv perl curl bzip2 openssl src preConfigure automake
7385         autoconf libtool configureFlags enableScripts lib libxml2 boehmgc
7386         pkgconfig flex bison;
7387       aterm = aterm25;
7388       db4 = db45;
7389       inherit docbook5_xsl libxslt docbook5 docbook_xml_dtd_43 w3m;
7390     };
7392   disnix = callPackage ../tools/package-management/disnix { };
7394   disnix_activation_scripts = callPackage ../tools/package-management/disnix/activation-scripts {
7395     enableApacheWebApplication = getConfig ["disnix" "enableApacheWebApplication"] false;
7396     enableAxis2WebService = getConfig ["disnix" "enableAxis2WebService"] false;
7397     enableEjabberdDump = getConfig ["disnix" "enableEjabberdDump"] false;
7398     enableMySQLDatabase = getConfig ["disnix" "enableMySQLDatabase"] false;
7399     enablePostgreSQLDatabase = getConfig ["disnix" "enablePostgreSQLDatabase"] false;
7400     enableSubversionRepository = getConfig ["disnix" "enableSubversionRepository"] false;
7401     enableTomcatWebApplication = getConfig ["disnix" "enableTomcatWebApplication"] false;
7402   };
7404   disnixos = callPackage ../tools/package-management/disnix/disnixos { };
7405   
7406   DisnixWebService = callPackage ../tools/package-management/disnix/DisnixWebService { };
7408   latex2html = callPackage ../misc/tex/latex2html/default.nix {
7409     tex = tetex;
7410   };
7412   lkproof = callPackage ../misc/tex/lkproof { };
7414   mysqlWorkbench = newScope gnome ../applications/misc/mysql-workbench {
7415     lua = lua5;
7416     inherit (pythonPackages) pexpect paramiko;
7417   };
7419   pgadmin = callPackage ../applications/misc/pgadmin { };
7421   pgf = pgf2;
7423   # Keep the old PGF since some documents don't render properly with
7424   # the new one.
7425   pgf1 = callPackage ../misc/tex/pgf/1.x.nix { };
7427   pgf2 = callPackage ../misc/tex/pgf/2.x.nix { };
7429   polytable = callPackage ../misc/tex/polytable { };
7431   psi = newScope pkgs.kde45 ../applications/networking/instant-messengers/psi { };
7433   putty = callPackage ../applications/networking/remote/putty { };
7435   rssglx = callPackage ../misc/screensavers/rss-glx { };
7437   xlockmore = callPackage ../misc/screensavers/xlockmore {
7438     pam = if getConfig [ "xlockmore" "pam" ] true then pam else null;
7439   };
7441   saneBackends = callPackage ../misc/sane-backends {
7442     gt68xxFirmware = getConfig ["sane" "gt68xxFirmware"] null;
7443   };
7445   saneFrontends = callPackage ../misc/sane-front { };
7447   sourceAndTags = import ../misc/source-and-tags {
7448     inherit pkgs stdenv unzip lib ctags;
7449     hasktags = haskellPackages.myhasktags;
7450   };
7452   splix = callPackage ../misc/cups/drivers/splix { };
7454   tetex = callPackage ../misc/tex/tetex { };
7456   tex4ht = callPackage ../misc/tex/tex4ht { };
7458   texFunctions = import ../misc/tex/nix pkgs;
7460   texLive = builderDefsPackage (import ../misc/tex/texlive) {
7461     inherit builderDefs zlib bzip2 ncurses libpng ed
7462       gd t1lib freetype icu perl ruby expat curl
7463       libjpeg bison python fontconfig flex;
7464     inherit (xlibs) libXaw libX11 xproto libXt libXpm
7465       libXmu libXext xextproto libSM libICE;
7466     ghostscript = ghostscriptX;
7467   };
7469   /* Look in configurations/misc/raskin.nix for usage example (around revisions
7470   where TeXLive was added)
7472   (texLiveAggregationFun {
7473     paths = [texLive texLiveExtra texLiveCMSuper
7474       texLiveBeamer
7475     ];
7476   })
7478   You need to use texLiveAggregationFun to regenerate, say, ls-R (TeX-related file list)
7479   Just installing a few packages doesn't work.
7480   */
7481   texLiveAggregationFun =
7482     (builderDefsPackage (import ../misc/tex/texlive/aggregate.nix));
7484   texLiveContext = builderDefsPackage (import ../misc/tex/texlive/context.nix) {
7485     inherit texLive;
7486   };
7488   texLiveExtra = builderDefsPackage (import ../misc/tex/texlive/extra.nix) {
7489     inherit texLive;
7490   };
7492   texLiveCMSuper = builderDefsPackage (import ../misc/tex/texlive/cm-super.nix) {
7493     inherit texLive;
7494   };
7496   texLiveLatexXColor = builderDefsPackage (import ../misc/tex/texlive/xcolor.nix) {
7497     inherit texLive;
7498   };
7500   texLivePGF = builderDefsPackage (import ../misc/tex/texlive/pgf.nix) {
7501     inherit texLiveLatexXColor texLive;
7502   };
7504   texLiveBeamer = builderDefsPackage (import ../misc/tex/texlive/beamer.nix) {
7505     inherit texLiveLatexXColor texLivePGF texLive;
7506   };
7508   trac = callPackage ../misc/trac {
7509     inherit (pythonPackages) pysqlite;
7510   };
7512   vice = callPackage ../misc/emulators/vice { };
7514   # Wine cannot be built in 64-bit; use a 32-bit build instead.
7515   wine = callPackage_i686 ../misc/emulators/wine { };
7517   wineWarcraft = callPackage_i686 ../misc/emulators/wine/wine-warcraft.nix { };
7519   x2x = callPackage ../tools/X11/x2x { };
7521   xosd = callPackage ../misc/xosd { };
7523   xsane = callPackage ../misc/xsane { };
7525   yafc = callPackage ../applications/networking/yafc { };
7527   myEnvFun = import ../misc/my-env {
7528     inherit substituteAll pkgs;
7529     inherit (stdenv) mkDerivation;
7530   };
7532   misc = import ../misc/misc.nix { inherit pkgs stdenv; };
7534 }; in pkgs