Add package ledger
[nixpkgs-libre.git] / pkgs / top-level / all-packages.nix
blob0f4467ba3e475dc6c175c62d8414abe27c6c75d7
1 /* This file composes the Nix Packages collection.  That is, it
2    imports the functions that build the various packages, and calls
3    them with appropriate arguments.  The result is a set of all the
4    packages in the Nix Packages collection for some particular
5    platform.
7    You want to get to know where to add a new package ?
8    Have a look at nixpkgs/maintainers/docs/classification.txt */
11 { # The system (e.g., `i686-linux') for which to build the packages.
12   system ? builtins.currentSystem
14   # Usually, the system type uniquely determines the stdenv and thus
15   # how to build the packages.  But on some platforms we have
16   # different stdenvs, leading to different ways to build the
17   # packages.  For instance, on Windows we support both Cygwin and
18   # Mingw builds.  In both cases, `system' is `i686-cygwin'.  The
19   # attribute `stdenvType' is used to select the specific kind of
20   # stdenv to use, e.g., `i686-mingw'.
21 , stdenvType ? system
23 , # The standard environment to use.  Only used for bootstrapping.  If
24   # null, the default standard environment is used.
25   bootStdenv ? null
27   # More flags for the bootstrapping of stdenv.
28 , noSysDirs ? true
29 , gccWithCC ? true
30 , gccWithProfiling ? true
32 , # Allow a configuration attribute set to be passed in as an
33   # argument.  Otherwise, it's read from $NIXPKGS_CONFIG or
34   # ~/.nixpkgs/config.nix.
35   config ? null
39 let config_ = config; in # rename the function argument
41 let
43   lib = import ../lib; # see also libTests below
45   # The contents of the configuration file found at $NIXPKGS_CONFIG or
46   # $HOME/.nixpkgs/config.nix.
47   # for NIXOS (nixos-rebuild): use nixpkgs.config option
48   config =
49     let
50       toPath = builtins.toPath;
51       getEnv = x: if builtins ? getEnv then builtins.getEnv x else "";
52       pathExists = name:
53         builtins ? pathExists && builtins.pathExists (toPath name);
55       configFile = getEnv "NIXPKGS_CONFIG";
56       homeDir = getEnv "HOME";
57       configFile2 = homeDir + "/.nixpkgs/config.nix";
59       configExpr =
60         if config_ != null then config_
61         else if configFile != "" && pathExists configFile then import (toPath configFile)
62         else if homeDir != "" && pathExists configFile2 then import (toPath configFile2)
63         else {};
65     in
66       # allow both:
67       # { /* the config */ } and
68       # { pkgsOrig, pkgs, ... } : { /* the config */ }
69       if builtins.isFunction configExpr
70         then configExpr { inherit pkgs pkgsOrig; }
71         else configExpr;
73   # Return an attribute from the Nixpkgs configuration file, or
74   # a default value if the attribute doesn't exist.
75   getConfig = attrPath: default: lib.attrByPath attrPath default config;
78   # Allow packages to be overriden globally via the `packageOverrides'
79   # configuration option, which must be a function that takes `pkgs'
80   # as an argument and returns a set of new or overriden packages.
81   # `__overrides' is a magic attribute that causes the attributes in
82   # its value to be added to the surrounding `rec'.  The
83   # `packageOverrides' function is called with the *original*
84   # (un-overriden) set of packages, allowing packageOverrides
85   # attributes to refer to the original attributes (e.g. "foo =
86   # ... pkgs.foo ...").
87   __overrides = (getConfig ["packageOverrides"] (pkgs: {})) pkgsOrig;
89   pkgsOrig = pkgsFun {}; # the un-overriden packages, passed to packageOverrides
90   pkgsOverriden = pkgsFun __overrides; # the overriden, final packages
91   pkgs = pkgsOverriden;
94   # The package compositions.  Yes, this isn't properly indented.
95   pkgsFun = __overrides: rec {
98   inherit __overrides;
101   # For convenience, allow callers to get the path to Nixpkgs.
102   path = ../..;
105   ### Symbolic names.
108   x11 = xlibsWrapper;
110   # `xlibs' is the set of X library components.  This used to be the
111   # old modular X libraries project (called `xlibs') but now it's just
112   # the set of packages in the modular X.org tree (which also includes
113   # non-library components like the server, drivers, fonts, etc.).
114   xlibs = xorg // {xlibs = xlibsWrapper;};
117   ### Helper functions.
120   inherit lib config getConfig;
122   inherit (lib) lowPrio appendToName;
124   # Applying this to an attribute set will cause nix-env to look
125   # inside the set for derivations.
126   recurseIntoAttrs = attrs: attrs // {recurseForDerivations = true;};
128   useFromStdenv = it : alternative : if (builtins.hasAttr it stdenv) then
129     (builtins.getAttr it stdenv) else alternative;
131   # Return the first available value in the order: pkg.val, val, or default.
132   getPkgConfig = pkg : val : default : (getConfig [ pkg val ] (getConfig [ val ] default));
134   # Return user-choosen version of given package. If you define package as
135   #
136   # pkgname_alts =
137   # {
138   #   v_0_1 = ();
139   #   v_0_2 = ();
140   #   default = v_0_1;
141   #   recurseForDerivations = true;
142   # };
143   # pkgname = getVersion "name" pkgname_alts;
144   #
145   # user will be able to write in his configuration.nix something like
146   # name = { version = "0.2"; }; and pkgname will be equal
147   # to getAttr pkgname_alts "0.2". Using alts.default by default.
148   getVersion = name: alts: builtins.getAttr
149     (getConfig [ name "version" ] "default") alts;
151   # The same, another syntax.
152   # Warning: syntax for configuration.nix changed too
153   useVersion = name: f: f {
154     version = getConfig [ "environment" "versions" name ];
155   };
157   # Check absence of non-used options
158   checker = x: flag: opts: config:
159     (if flag then let result=(
160       (import ../build-support/checker)
161       opts config); in
162       (if (result=="") then x else
163       abort ("Unknown option specified: " + result))
164     else x);
166   builderDefs = composedArgsAndFun (import ../build-support/builder-defs/builder-defs.nix) {
167     inherit stringsWithDeps lib stdenv writeScript
168       fetchurl fetchmtn fetchgit;
169   };
171   composedArgsAndFun = lib.composedArgsAndFun;
173   builderDefsPackage = builderDefs.builderDefsPackage builderDefs;
175   stringsWithDeps = lib.stringsWithDeps;
177   # Call a specific version of a Nix expression, that is,
178   # `selectVersion ./foo {version = "0.1.2"; args...}' evaluates to
179   # `import ./foo/0.1.2.nix args'.
180   selectVersion = dir: defVersion: args:
181     let
182       pVersion =
183         if (args ? version && args.version != "") then
184           args.version
185         else
186           getConfig [ (baseNameOf (toString dir)) "version" ] defVersion;
187     in
188       import (dir + "/${pVersion}.nix") (args // { version = pVersion; });
190   deepOverride = newArgs: name: x: if builtins.isAttrs x then (
191     if x ? deepOverride then (x.deepOverride newArgs) else
192     if x ? override then (x.override newArgs) else
193     x) else x;
194     
195   # usage: (you can use override multiple times)
196   # let d = makeOverridable stdenv.mkDerivation { name = ..; buildInputs; }
197   #     noBuildInputs = d.override { buildInputs = []; }
198   #     additionalBuildInputs = d.override ( args : args // { buildInputs = args.buildInputs ++ [ additional ]; } )
199   makeOverridable = f: origArgs: f origArgs //
200     { override = newArgs:
201         makeOverridable f (origArgs // (if builtins.isFunction newArgs then newArgs origArgs else newArgs));
202       deepOverride = newArgs:
203         makeOverridable f ((lib.mapAttrs (deepOverride newArgs) origArgs) // newArgs);
204       origArgs = origArgs;
205     };
208   ### STANDARD ENVIRONMENT
211   allStdenvs = import ../stdenv {
212     inherit system stdenvType;
213     allPackages = args: import ./all-packages.nix ({ inherit config; } // args);
214   };
216   defaultStdenv = allStdenvs.stdenv;
218   stdenv =
219     if bootStdenv != null then bootStdenv else
220       let changer = getConfig ["replaceStdenv"] null;
221       in if changer != null then
222         changer {
223           stdenv = defaultStdenv;
224           overrideSetup = overrideSetup;
225         }
226       else defaultStdenv;
228   # A stdenv capable of building 32-bit binaries.  On x86_64-linux,
229   # it uses GCC compiled with multilib support; on i686-linux, it's
230   # just the plain stdenv.
231   stdenv_32bit =
232     if system == "x86_64-linux" then
233       overrideGCC stdenv gcc43_multi
234     else
235       stdenv;
237   inherit (import ../stdenv/adapters.nix {inherit (pkgs) dietlibc fetchurl runCommand;})
238     overrideGCC overrideInStdenv overrideSetup
239     useDietLibC useKlibc makeStaticBinaries addAttrsToDerivation
240     keepBuildTree cleanupBuildTree addCoverageInstrumentation;
243   ### BUILD SUPPORT
245   attrSetToDir = arg : import ../build-support/upstream-updater/attrset-to-dir.nix {
246     inherit writeTextFile stdenv lib;
247     theAttrSet = arg;
248   };
250   buildEnv = import ../build-support/buildenv {
251     inherit stdenv perl;
252   };
254   debPackage = {
255     debBuild = lib.sumTwoArgs(import ../build-support/deb-package) {
256       inherit builderDefs;
257     };
258     inherit fetchurl stdenv;
259   };
261   fetchbzr = import ../build-support/fetchbzr {
262     inherit stdenv bazaar;
263   };
265   fetchcvs = import ../build-support/fetchcvs {
266     inherit stdenv cvs;
267   };
269   fetchdarcs = import ../build-support/fetchdarcs {
270     inherit stdenv darcs nix;
271   };
273   fetchgit = import ../build-support/fetchgit {
274     inherit stdenv git;
275   };
277   fetchmtn = import ../build-support/fetchmtn {
278     inherit monotone stdenv;
279     cacheDB = getConfig ["fetchmtn" "cacheDB"] "";
280     defaultDBMirrors = getConfig ["fetchmtn" "defaultDBMirrors"] [];
281   };
283   fetchsvn = import ../build-support/fetchsvn {
284     inherit stdenv subversion openssh;
285     sshSupport = true;
286   };
288   fetchsvnssh = import ../build-support/fetchsvnssh {
289     inherit stdenv subversion openssh expect;
290     sshSupport = true;
291   };
293   # TODO do some testing
294   fetchhg = import ../build-support/fetchhg {
295     inherit stdenv mercurial nix;
296   };
298   # `fetchurl' downloads a file from the network.  The `useFromStdenv'
299   # is there to allow stdenv to determine fetchurl.  Used during the
300   # stdenv-linux bootstrap phases to prevent lots of different curls
301   # from being built.
302   fetchurl = useFromStdenv "fetchurl"
303     (import ../build-support/fetchurl {
304       inherit curl stdenv;
305     });
307   # fetchurlBoot is used for curl and its dependencies in order to
308   # prevent a cyclic dependency (curl depends on curl.tar.bz2,
309   # curl.tar.bz2 depends on fetchurl, fetchurl depends on curl).  It
310   # uses the curl from the previous bootstrap phase (e.g. a statically
311   # linked curl in the case of stdenv-linux).
312   fetchurlBoot = stdenv.fetchurlBoot;
314   resolveMirrorURLs = {url}: fetchurl {
315     showURLs = true;
316     inherit url;
317   };
319   makeDesktopItem = import ../build-support/make-desktopitem {
320     inherit stdenv;
321   };
323   makeInitrd = {contents}: import ../build-support/kernel/make-initrd.nix {
324     inherit stdenv perl cpio contents;
325   };
327   makeSetupHook = script: runCommand "hook" {} ''
328     ensureDir $out/nix-support
329     cp ${script} $out/nix-support/setup-hook
330   '';
332   makeWrapper = makeSetupHook ../build-support/make-wrapper/make-wrapper.sh;
334   makeModulesClosure = {kernel, rootModules, allowMissing ? false}:
335     import ../build-support/kernel/modules-closure.nix {
336       inherit stdenv module_init_tools kernel nukeReferences
337         rootModules allowMissing;
338     };
340   pathsFromGraph = ../build-support/kernel/paths-from-graph.pl;
342   # Run the shell command `buildCommand' to produce a store object
343   # named `name'.  The attributes in `env' are added to the
344   # environment prior to running the command.
345   runCommand = name: env: buildCommand: stdenv.mkDerivation ({
346     inherit name buildCommand;
347   } // env);
349   symlinkJoin = name: paths: runCommand name {inherit paths;} "mkdir -p $out; for i in $paths; do ${xorg.lndir}/bin/lndir $i $out; done";
351   # Create a single file.
352   writeTextFile =
353     { name # the name of the derivation
354     , text
355     , executable ? false # run chmod +x ?
356     , destination ? ""   # relative path appended to $out eg "/bin/foo"
357     }:
358     runCommand name {inherit text executable; } ''
359       n=$out${destination}
360       mkdir -p "$(dirname "$n")"
361       echo -n "$text" > "$n"
362       (test -n "$executable" && chmod +x "$n") || true
363     '';
365   # Shorthands for `writeTextFile'.
366   writeText = name: text: writeTextFile {inherit name text;};
367   writeScript = name: text: writeTextFile {inherit name text; executable = true;};
368   writeScriptBin = name: text: writeTextFile {inherit name text; executable = true; destination = "/bin/${name}";};
370   # entries is a list of attribute sets like { name = "name" ; path = "/nix/store/..."; }
371   linkFarm = name: entries: runCommand name {} ("mkdir -p $out; cd $out; \n" +
372     (lib.concatMapStrings (x: "ln -s '${x.path}' '${x.name}';\n") entries));
374   srcOnly = args: (import ../build-support/src-only) ({inherit stdenv; } // args);
376   substituteAll = import ../build-support/substitute/substitute-all.nix {
377     inherit stdenv;
378   };
380   nukeReferences = import ../build-support/nuke-references/default.nix {
381     inherit stdenv;
382   };
384   vmTools = import ../build-support/vm/default.nix {
385     inherit pkgs;
386   };
388   releaseTools = import ../build-support/release/default.nix {
389     inherit pkgs;
390   };
392   composableDerivation = (import ../lib/composable-derivation.nix) {
393     inherit pkgs lib;
394   };
396   # Write the references (i.e. the runtime dependencies in the Nix store) of `path' to a file.
397   writeReferencesToFile = path: runCommand "runtime-deps"
398     {
399       exportReferencesGraph = ["graph" path];
400     }
401     ''
402       touch $out
403       while read path; do
404         echo $path >> $out
405         read dummy
406         read nrRefs
407         for ((i = 0; i < nrRefs; i++)); do read ref; done
408       done < graph
409     '';
412   ### TOOLS
414   darwinArchUtility = import ../os-specific/darwin/arch {
415     inherit stdenv;
416   };
418   darwinSwVersUtility = import ../os-specific/darwin/sw_vers {
419     inherit stdenv;
420   };
422   acct = import ../tools/system/acct {
423     inherit fetchurl stdenv;
424   };
426   aefs = import ../tools/security/aefs {
427     inherit fetchurl stdenv fuse;
428   };
430   aircrackng = import ../tools/networking/aircrack-ng {
431     inherit fetchurl stdenv libpcap openssl zlib wirelesstools;
432   };
434   ec2apitools = import ../tools/virtualization/amazon-ec2-api-tools {
435     inherit stdenv fetchurl unzip ;
436   };
438   amule = import ../tools/networking/p2p/amule {
439     inherit fetchurl stdenv zlib perl cryptopp gettext libupnp makeWrapper;
440     inherit wxGTK;
441   };
443   aria = builderDefsPackage (import ../tools/networking/aria) {
444   };
446   at = import ../tools/system/at {
447     inherit fetchurl stdenv bison flex pam ssmtp;
448   };
450   autogen = import ../development/tools/misc/autogen {
451     inherit fetchurl stdenv guile which;
452   };
454   autojump = import ../tools/misc/autojump {
455     inherit fetchurl stdenv python;
456   };
458   avahi =
459     let qt4Support = getConfig [ "avahi" "qt4Support" ] false;
460     in
461       makeOverridable (import ../development/libraries/avahi) {
462         inherit stdenv fetchurl pkgconfig libdaemon dbus perl perlXMLParser
463           expat gettext intltool lib;
464         inherit (gtkLibs) glib gtk;
465         inherit qt4Support;
466         qt4 = if qt4Support then qt4 else null;
467       };
469   axel = import ../tools/networking/axel {
470     inherit fetchurl stdenv;
471   };
473   azureus = import ../tools/networking/p2p/azureus {
474     inherit fetchurl stdenv jdk swt;
475   };
477   bc = import ../tools/misc/bc {
478     inherit fetchurl stdenv flex readline;
479   };
481   bfr = import ../tools/misc/bfr {
482     inherit fetchurl stdenv perl;
483   };
485   bootchart = import ../tools/system/bootchart {
486     inherit fetchurl stdenv gnutar gzip coreutils utillinux gnugrep gnused psmisc nettools;
487   };
489   eggdrop = import ../tools/networking/eggdrop {
490     inherit fetchurl stdenv tcl;
491   };
493   mcrl = import ../tools/misc/mcrl {
494     inherit fetchurl stdenv coreutils;
495   };
497   mcrl2 = import ../tools/misc/mcrl2 {
498     inherit fetchurl stdenv mesa ;
499     inherit (xorg) libX11;
500     inherit wxGTK;
501   };
503   syslogng = import ../tools/misc/syslog-ng {
504     inherit fetchurl stdenv eventlog pkgconfig glib;
505   };
507   asciidoc = import ../tools/typesetting/asciidoc {
508     inherit fetchurl stdenv python;
509   };
511   bibtextools = import ../tools/typesetting/bibtex-tools {
512     inherit fetchurl stdenv aterm tetex hevea;
513     inherit (strategoPackages016) strategoxt sdf;
514   };
516   bittorrent = import ../tools/networking/p2p/bittorrent {
517     inherit fetchurl stdenv makeWrapper python pycrypto twisted;
518     wxPython = wxPython26;
519     gui = true;
520   };
522   bittornado = import ../tools/networking/p2p/bit-tornado {
523     inherit fetchurl stdenv python wxPython26;
524   };
526   bmrsa = builderDefsPackage (selectVersion ../tools/security/bmrsa "11") {
527     inherit unzip;
528   };
530   bogofilter = import ../tools/misc/bogofilter {
531     inherit fetchurl stdenv flex;
532     bdb = db4;
533   };
535   bsdiff = import ../tools/compression/bsdiff {
536     inherit fetchurl stdenv;
537   };
539   bzip2 = useFromStdenv "bzip2"
540     (import ../tools/compression/bzip2 {
541       inherit fetchurl stdenv;
542     });
544   cabextract = import ../tools/archivers/cabextract {
545     inherit fetchurl stdenv;
546   };
548   ccrypt = import ../tools/security/ccrypt {
549     inherit fetchurl stdenv;
550   };
552   cdecl = import ../development/tools/cdecl {
553     inherit fetchurl stdenv yacc flex readline ncurses;
554   };
556   cdrdao = import ../tools/cd-dvd/cdrdao {
557     inherit fetchurl stdenv lame libvorbis libmad pkgconfig libao;
558   };
560   cdrkit = import ../tools/cd-dvd/cdrkit {
561     inherit fetchurl stdenv cmake libcap zlib bzip2;
562   };
564   checkinstall = import ../tools/package-management/checkinstall {
565     inherit fetchurl stdenv gettext;
566   };
568   cheetahTemplate = builderDefsPackage (selectVersion ../tools/text/cheetah-template "2.0.1") {
569     inherit makeWrapper python;
570   };
572   chkrootkit = import ../tools/security/chkrootkit {
573     inherit fetchurl stdenv;
574   };
576   cksfv = import ../tools/networking/cksfv {
577     inherit fetchurl stdenv;
578   };
580   convertlit = import ../tools/text/convertlit {
581     inherit fetchurl stdenv unzip libtommath;
582   };
584   unifdef = import ../development/tools/misc/unifdef {
585     inherit fetchurl stdenv;
586   };
588   cloogppl = import ../development/libraries/cloog-ppl {
589     inherit fetchurl stdenv ppl;
590   };
592   coreutils = useFromStdenv "coreutils"
593     (makeOverridable (if stdenv ? isDietLibC
594       then import ../tools/misc/coreutils-5
595       else import ../tools/misc/coreutils)
596     {
597       inherit fetchurl stdenv acl;
598       aclSupport = stdenv.isLinux;
599     });
601   cpio = import ../tools/archivers/cpio {
602     inherit fetchurl stdenv;
603   };
605   cromfs = import ../tools/archivers/cromfs {
606     inherit fetchurl stdenv pkgconfig fuse perl;
607   };
609   cron = import ../tools/system/cron { # see also fcron
610     inherit fetchurl stdenv;
611   };
613   curl = import ../tools/networking/curl {
614     fetchurl = fetchurlBoot;
615     inherit stdenv zlib openssl;
616     zlibSupport = ! ((stdenv ? isDietLibC) || (stdenv ? isStatic));
617     sslSupport = ! ((stdenv ? isDietLibC) || (stdenv ? isStatic));
618   };
620   curlftpfs = import ../tools/networking/curlftpfs {
621     inherit fetchurl stdenv fuse curl pkgconfig zlib glib;
622   };
624   dadadodo = builderDefsPackage (import ../tools/text/dadadodo) {
625   };
627   dar = import ../tools/archivers/dar {
628     inherit fetchurl stdenv zlib bzip2 openssl;
629   };
631   dcraw = import ../tools/graphics/dcraw {
632     inherit fetchurl stdenv gettext libjpeg lcms;
633   };
635   debootstrap = import ../tools/misc/debootstrap {
636     inherit fetchurl stdenv lib dpkg gettext gawk wget perl;
637   };
639   ddclient = import ../tools/networking/ddclient {
640     inherit fetchurl buildPerlPackage perl;
641   };
643   ddrescue = builderDefsPackage (selectVersion ../tools/system/ddrescue "1.8") {};
645   desktop_file_utils = import ../tools/misc/desktop-file-utils {
646     inherit stdenv fetchurl pkgconfig glib;
647   };
649   dev86 = import ../development/compilers/dev86 {
650     inherit fetchurl stdenv;
651   };
653   dnsmasq = import ../tools/networking/dnsmasq {
654     # TODO i18n can be installed as well, implement it?
655     inherit fetchurl stdenv;
656   };
658   dhcp = import ../tools/networking/dhcp {
659     inherit fetchurl stdenv nettools iputils iproute makeWrapper;
660   };
662   dhcpcd = import ../tools/networking/dhcpcd {
663     inherit fetchurl stdenv;
664   };
666   diffstat = import ../tools/text/diffstat {
667     inherit fetchurl stdenv;
668   };
670   diffutils = useFromStdenv "diffutils"
671     (import ../tools/text/diffutils {
672       inherit fetchurl stdenv coreutils;
673     });
675   docbook2x = import ../tools/typesetting/docbook2x {
676     inherit fetchurl stdenv texinfo perl
677             gnused groff libxml2 libxslt makeWrapper;
678     inherit (perlPackages) XMLSAX XMLParser XMLNamespaceSupport;
679     libiconv = if system == "i686-darwin" then libiconv else null;
680   };
682   dosfstools = composedArgsAndFun (import ../tools/misc/dosfstools) {
683     inherit builderDefs;
684   };
686   dvdplusrwtools = import ../tools/cd-dvd/dvd+rw-tools {
687     inherit fetchurl stdenv cdrkit m4;
688   };
690   enblendenfuse = import ../tools/graphics/enblend-enfuse {
691     inherit fetchurl stdenv libtiff libpng lcms libxmi boost;
692   };
694   enscript = import ../tools/text/enscript {
695     inherit fetchurl stdenv;
696   };
698   eprover = composedArgsAndFun (import ../tools/misc/eProver) {
699     inherit fetchurl stdenv which;
700     texLive = texLiveAggregationFun {
701       paths = [
702         texLive texLiveExtra
703       ];
704     };
705   };
707   ethtool = import ../tools/misc/ethtool {
708     inherit fetchurl stdenv;
709   };
711   exif = import ../tools/graphics/exif {
712     inherit fetchurl stdenv pkgconfig libexif popt;
713   };
715   exiftags = import ../tools/graphics/exiftags {
716     inherit stdenv fetchurl;
717   };
720   expect = import ../tools/misc/expect {
721     inherit fetchurl stdenv tcl tk autoconf;
722     inherit (xorg) xproto libX11;
723   };
725   fcron = import ../tools/system/fcron { # see also cron
726     inherit fetchurl stdenv perl;
727   };
729   fdisk = import ../tools/system/fdisk {
730     inherit fetchurl stdenv parted libuuid gettext;
731   };
733   figlet = import ../tools/misc/figlet {
734     inherit fetchurl stdenv;
735   };
737   file = import ../tools/misc/file {
738     inherit fetchurl stdenv;
739   };
741   filelight = import ../tools/system/filelight {
742     inherit fetchurl stdenv kdelibs x11 zlib perl libpng;
743     qt = qt3;
744   };
746   findutils = useFromStdenv "findutils"
747     (if system == "i686-darwin" then findutils4227 else
748       import ../tools/misc/findutils {
749         inherit fetchurl stdenv coreutils;
750       }
751     );
753   findutils4227 = import ../tools/misc/findutils/4.2.27.nix {
754     inherit fetchurl stdenv coreutils;
755   };
757   findutilsWrapper = lowPrio (appendToName "wrapper" (import ../tools/misc/findutils-wrapper {
758     inherit stdenv findutils;
759   }));
761   finger_bsd = import ../tools/networking/bsd-finger {
762     inherit fetchurl stdenv;
763   };
765   fontforge = import ../tools/misc/fontforge {
766     inherit fetchurl stdenv gettext freetype zlib
767       libungif libpng libjpeg libtiff libxml2 lib;
768   };
770   fontforgeX = import ../tools/misc/fontforge {
771     inherit fetchurl stdenv gettext freetype zlib
772       libungif libpng libjpeg libtiff libxml2 lib;
773     inherit (xlibs) libX11 xproto libXt;
774   };
776   gawk = useFromStdenv "gawk"
777     (import ../tools/text/gawk {
778       inherit fetchurl stdenv;
779     });
781   gdmap = composedArgsAndFun (selectVersion ../tools/system/gdmap "0.8.1") {
782     inherit stdenv fetchurl builderDefs pkgconfig libxml2 intltool
783       gettext;
784     inherit (gtkLibs) gtk;
785   };
787   getopt = import ../tools/misc/getopt {
788     inherit fetchurl stdenv;
789   };
791   gftp = import ../tools/networking/gftp {
792     inherit lib fetchurl stdenv;
793     inherit readline ncurses gettext openssl pkgconfig;
794     inherit (gtkLibs) glib gtk;
795   };
797   gifsicle = import ../tools/graphics/gifscile {
798     inherit fetchurl stdenv;
799     inherit (xlibs) xproto libXt libX11;
800   };
802   glusterfs = builderDefsPackage ../tools/networking/glusterfs {
803     inherit fuse;
804     bison = bison24;
805     flex = flex2535;
806   };
808   glxinfo = import ../tools/graphics/glxinfo {
809     inherit fetchurl stdenv x11 mesa;
810   };
812   gnokii = builderDefsPackage (import ../tools/misc/gnokii) {
813     inherit intltool perl gettext;
814   };
816   gnugrep = useFromStdenv "gnugrep"
817     (import ../tools/text/gnugrep {
818       inherit fetchurl stdenv pcre;
819     });
821   gnupatch = useFromStdenv "patch" (import ../tools/text/gnupatch {
822     inherit fetchurl stdenv;
823   });
825   gnupg = import ../tools/security/gnupg {
826     inherit fetchurl stdenv readline;
827     ideaSupport = getPkgConfig "gnupg" "idea" false; # enable for IDEA crypto support
828   };
830   gnupg2 = import ../tools/security/gnupg2 {
831     inherit fetchurl stdenv readline libgpgerror libgcrypt libassuan pth libksba zlib;
832     openldap = if getPkgConfig "gnupg" "ldap" true then openldap else null;
833     bzip2 = if getPkgConfig "gnupg" "bzip2" true then bzip2 else null;
834     libusb = if getPkgConfig "gnupg" "usb" true then libusb else null;
835     curl = if getPkgConfig "gnupg" "curl" true then curl else null;
836   };
838   gnuplot = import ../tools/graphics/gnuplot {
839     inherit fetchurl stdenv zlib gd texinfo readline emacs;
840     inherit (xlibs) libX11 libXt libXaw libXpm;
841     x11Support = getPkgConfig "gnuplot" "x11" false;
842     wxGTK = if getPkgConfig "gnuplot" "wxGtk" false then wxGTK else null;
843     inherit (gtkLibs) pango;
844     inherit cairo pkgconfig;
845   };
847   gnused = useFromStdenv "gnused"
848     (import ../tools/text/gnused {
849       inherit fetchurl stdenv;
850     });
852   gnused_4_2 = import ../tools/text/gnused/4.2.nix {
853     inherit fetchurl stdenv;
854   };
856   gnutar = useFromStdenv "gnutar"
857     (import ../tools/archivers/gnutar {
858       inherit fetchurl stdenv;
859     });
861   gnuvd = import ../tools/misc/gnuvd {
862     inherit fetchurl stdenv;
863   };
865   graphviz = import ../tools/graphics/graphviz {
866     inherit fetchurl stdenv pkgconfig libpng libjpeg expat x11 yacc
867       libtool fontconfig gd;
868     inherit (xlibs) libXaw;
869     inherit (gtkLibs) pango;
870   };
872   groff = import ../tools/text/groff {
873     inherit fetchurl stdenv perl;
874     ghostscript = null;
875   };
877   grub = import ../tools/misc/grub {
878     inherit fetchurl autoconf automake;
879     stdenv = stdenv_32bit;
880     buggyBiosCDSupport = (getConfig ["grub" "buggyBiosCDSupport"] true);
881   };
883   grub2 = import ../tools/misc/grub/1.9x.nix {
884     inherit stdenv fetchurl bison ncurses libusb freetype;
885   };
887   gssdp = import ../development/libraries/gssdp {
888     inherit fetchurl stdenv pkgconfig libxml2 glib;
889     inherit (gnome) libsoup;
890   };
892   gtkgnutella = import ../tools/networking/p2p/gtk-gnutella {
893     inherit fetchurl stdenv pkgconfig libxml2;
894     inherit (gtkLibs) glib gtk;
895   };
897   gupnp = import ../development/libraries/gupnp {
898     inherit fetchurl stdenv pkgconfig libxml2 gssdp e2fsprogs glib;
899     inherit (gnome) libsoup;
900   };
902   gupnptools = import ../tools/networking/gupnp-tools {
903     inherit fetchurl stdenv gssdp gupnp pkgconfig libxml2 e2fsprogs;
904     inherit (gtkLibs) gtk glib;
905     inherit (gnome) libsoup libglade gnomeicontheme;
906   };
908   gvpe = builderDefsPackage ../tools/networking/gvpe {
909     inherit openssl gmp nettools iproute;
910   };
912   gzip = useFromStdenv "gzip"
913     (import ../tools/compression/gzip {
914       inherit fetchurl stdenv;
915     });
917   pigz = import ../tools/compression/pigz {
918     inherit fetchurl stdenv zlib;
919   };
921   halibut = import ../tools/typesetting/halibut {
922     inherit fetchurl stdenv perl;
923   };
925   hddtemp = import ../tools/misc/hddtemp {
926     inherit fetchurl stdenv;
927   };
929   hevea = import ../tools/typesetting/hevea {
930     inherit fetchurl stdenv ocaml;
931   };
933   highlight = builderDefsPackage (selectVersion ../tools/text/highlight "2.6.10") {
934     inherit getopt;
935   };
937   host = import ../tools/networking/host {
938     inherit fetchurl stdenv;
939   };
941   /*
942   hyppocampusFun = lib.sumArgs ( selectVersion ../tools/misc/hyppocampus "0.3rc1") {
943     inherit builderDefs stdenv fetchurl libdbi libdbiDrivers fuse
944       pkgconfig perl gettext dbus dbus_glib pcre libscd bison glib;
945     flex = flex2533;
946   };
947   */
949   iasl = import ../development/compilers/iasl {
950     inherit fetchurl stdenv bison flex;
951   };
953   idutils = import ../tools/misc/idutils {
954     inherit fetchurl stdenv emacs;
955   };
957   iftop = import ../tools/networking/iftop {
958     inherit fetchurl stdenv ncurses libpcap;
959   };
961   imapsync = import ../tools/networking/imapsync {
962     inherit fetchurl stdenv perl openssl;
963     inherit (perlPackages) MailIMAPClient;
964   };
966   inetutils = import ../tools/networking/inetutils {
967     inherit fetchurl stdenv;
968   };
970   iodine = import ../tools/networking/iodine {
971     inherit stdenv fetchurl zlib nettools;
972   };
974   iperf = import ../tools/networking/iperf {
975     inherit fetchurl stdenv;
976   };
978   jdiskreport = import ../tools/misc/jdiskreport {
979     inherit fetchurl stdenv unzip jdk;
980   };
982   jhead = import ../tools/graphics/jhead {
983     inherit stdenv fetchurl;
984   };
986   jing = import ../tools/text/xml/jing {
987     inherit fetchurl stdenv unzip;
988   };
990   jing_tools = import ../tools/text/xml/jing/jing-script.nix {
991     inherit fetchurl stdenv unzip jre;
992   };
994   jnettop = import ../tools/networking/jnettop {
995     inherit fetchurl stdenv autoconf libpcap ncurses pkgconfig;
996     inherit (gnome) glib;
997   };
999   jwhois = import ../tools/networking/jwhois {
1000     inherit fetchurl stdenv;
1001   };
1003   keychain = import ../tools/misc/keychain {
1004     inherit fetchurl stdenv;
1005   };
1007   kismet = import ../applications/networking/sniffers/kismet {
1008     inherit fetchurl stdenv libpcap ncurses expat;
1009   };
1011   ktorrent = import ../tools/networking/p2p/ktorrent {
1012     inherit fetchurl stdenv pkgconfig kdelibs
1013       xlibs zlib libpng libjpeg perl gmp;
1014   };
1016   less = import ../tools/misc/less {
1017     inherit fetchurl stdenv ncurses;
1018   };
1020   lftp = import ../tools/networking/lftp {
1021     inherit fetchurl stdenv readline;
1022   };
1024   libtorrent = import ../tools/networking/p2p/libtorrent {
1025     inherit fetchurl stdenv pkgconfig openssl libsigcxx;
1026   };
1028   lout = import ../tools/typesetting/lout {
1029     inherit fetchurl stdenv ghostscript;
1030   };
1032   lrzip = import ../tools/compression/lrzip {
1033     inherit fetchurl stdenv zlib lzo bzip2 nasm;
1034   };
1036   lsh = import ../tools/networking/lsh {
1037     inherit stdenv fetchurl gperf guile gmp zlib liboop gnum4 pam
1038       readline nettools lsof procps;
1039   };
1041   lzma = import ../tools/compression/lzma {
1042     inherit fetchurl stdenv;
1043   };
1045   xz = import ../tools/compression/xz {
1046     inherit fetchurl stdenv lib;
1047   };
1049   lzop = import ../tools/compression/lzop {
1050     inherit fetchurl stdenv lzo;
1051   };
1053   mailutils = import ../tools/networking/mailutils {
1054     inherit fetchurl stdenv gettext gdbm libtool pam readline ncurses
1055       gnutls mysql guile texinfo gnum4;
1056   };
1058   man = import ../tools/misc/man {
1059     inherit fetchurl stdenv groff less;
1060   };
1062   man_db = import ../tools/misc/man-db {
1063     inherit fetchurl stdenv db4 groff;
1064   };
1066   memtest86 = import ../tools/misc/memtest86 {
1067     inherit fetchurl stdenv;
1068   };
1070   mc = import ../tools/misc/mc {
1071     inherit fetchurl stdenv lib pkgconfig ncurses shebangfix perl zip unzip slang
1072       gettext e2fsprogs gpm glib;
1073     inherit (xlibs) libX11 libXt;
1074   };
1076   mcabber = import ../applications/networking/instant-messengers/mcabber {
1077     inherit fetchurl stdenv openssl ncurses pkgconfig glib;
1078   };
1080   mcron = import ../tools/system/mcron {
1081     inherit fetchurl stdenv guile which ed;
1082   };
1084   mdbtools = builderDefsPackage (selectVersion ../tools/misc/mdbtools "0.6-pre1") {
1085     inherit readline pkgconfig bison glib;
1086     flex = flex2535;
1087   };
1089   mjpegtools = import ../tools/video/mjpegtools {
1090     inherit fetchurl stdenv libjpeg;
1091     inherit (xlibs) libX11;
1092   };
1094   mktemp = import ../tools/security/mktemp {
1095     inherit fetchurl stdenv;
1096   };
1098   mldonkey = import ../applications/networking/p2p/mldonkey {
1099     inherit fetchurl stdenv ocaml zlib ncurses;
1100   };
1102   monit = builderDefsPackage ../tools/system/monit {
1103     flex = flex2535;
1104     bison = bison24;
1105     inherit openssl;
1106   };
1108   mpage = import ../tools/text/mpage {
1109     inherit fetchurl stdenv;
1110   };
1112   msf = builderDefsPackage (selectVersion ../tools/security/metasploit "3.1") {
1113     inherit ruby makeWrapper;
1114   };
1116   mssys = import ../tools/misc/mssys {
1117     inherit fetchurl stdenv gettext;
1118   };
1120   multitran = recurseIntoAttrs (let
1121       inherit fetchurl stdenv help2man;
1122     in rec {
1123       multitrandata = import ../tools/text/multitran/data {
1124         inherit fetchurl stdenv;
1125       };
1127       libbtree = import ../tools/text/multitran/libbtree {
1128         inherit fetchurl stdenv;
1129       };
1131       libmtsupport = import ../tools/text/multitran/libmtsupport {
1132         inherit fetchurl stdenv;
1133       };
1135       libfacet = import ../tools/text/multitran/libfacet {
1136         inherit fetchurl stdenv libmtsupport;
1137       };
1139       libmtquery = import ../tools/text/multitran/libmtquery {
1140         inherit fetchurl stdenv libmtsupport libfacet libbtree multitrandata;
1141       };
1143       mtutils = import ../tools/text/multitran/mtutils {
1144         inherit fetchurl stdenv libmtsupport libfacet libbtree libmtquery help2man;
1145       };
1146     });
1148   mysql2pgsql = import ../tools/misc/mysql2pgsql {
1149     inherit fetchurl stdenv perl shebangfix;
1150   };
1152   namazu = import ../tools/text/namazu {
1153     inherit fetchurl stdenv perl;
1154   };
1156   nbd = import ../tools/networking/nbd {
1157     inherit fetchurl stdenv pkgconfig glib;
1158   };
1160   nc6 = composedArgsAndFun (selectVersion ../tools/networking/nc6 "1.0") {
1161     inherit builderDefs;
1162   };
1164   ncat = import ../tools/networking/ncat {
1165     inherit fetchurl stdenv openssl;
1166   };
1168   ncftp = import ../tools/networking/ncftp {
1169     inherit fetchurl stdenv ncurses coreutils;
1170   };
1172   netcat = import ../tools/networking/netcat {
1173     inherit fetchurl stdenv;
1174   };
1176   netkittftp = import ../tools/networking/netkit/tftp {
1177     inherit fetchurl stdenv;
1178   };
1180   netpbm = import ../tools/graphics/netpbm {
1181     inherit stdenv fetchsvn libjpeg libpng zlib flex perl libxml2;
1182   };
1184   netselect = import ../tools/networking/netselect {
1185     inherit fetchurl stdenv;
1186   };
1188   nmap = import ../tools/security/nmap {
1189     inherit fetchurl stdenv libpcap pkgconfig openssl
1190       python pygtk makeWrapper pygobject pycairo;
1191     inherit (pythonPackages) pysqlite;
1192     inherit (xlibs) libX11;
1193     inherit (gtkLibs) gtk;
1194   };
1196   ntp = import ../tools/networking/ntp {
1197     inherit fetchurl stdenv libcap;
1198   };
1200   nssmdns = import ../tools/networking/nss-mdns {
1201     inherit fetchurl stdenv avahi;
1202   };
1204   nylon = import ../tools/networking/nylon {
1205     inherit fetchurl stdenv libevent;
1206   };
1208   obexd = import ../tools/bluetooth/obexd {
1209     inherit fetchurl stdenv pkgconfig dbus openobex bluez glib;
1210   };
1212   obexfs = import ../tools/bluetooth/obexfs {
1213     inherit fetchurl stdenv pkgconfig fuse obexftp;
1214   };
1216   obexftp = import ../tools/bluetooth/obexftp {
1217     inherit fetchurl stdenv pkgconfig openobex bluez;
1218   };
1220   openjade = import ../tools/text/sgml/openjade {
1221     inherit fetchurl opensp perl;
1222     stdenv = overrideGCC stdenv gcc33;
1223   };
1225   openobex = import ../tools/bluetooth/openobex {
1226     inherit fetchurl stdenv pkgconfig bluez libusb;
1227   };
1229   openssh = import ../tools/networking/openssh {
1230     inherit fetchurl stdenv zlib openssl pam perl;
1231     pamSupport = getPkgConfig "openssh" "pam" true;
1232     hpnSupport = getConfig [ "openssh" "hpn" ] false;
1233     etcDir = getConfig [ "openssh" "etcDir" ] "/etc/ssh";
1234   };
1236   opensp = import ../tools/text/sgml/opensp {
1237     inherit fetchurl;
1238     stdenv = overrideGCC stdenv gcc33;
1239   };
1241   openvpn = import ../tools/networking/openvpn {
1242     inherit fetchurl stdenv iproute lzo openssl nettools;
1243   };
1245   p7zip = import ../tools/archivers/p7zip {
1246     inherit fetchurl stdenv;
1247   };
1249   panomatic = import ../tools/graphics/panomatic {
1250     inherit fetchurl stdenv boost zlib;
1251   };
1253   par2cmdline = import ../tools/networking/par2cmdline {
1254     inherit fetchurl stdenv;
1255   };
1257   patchutils = import ../tools/text/patchutils {
1258     inherit fetchurl stdenv;
1259   };
1261   parted = import ../tools/misc/parted {
1262     inherit fetchurl stdenv devicemapper libuuid gettext readline;
1263   };
1265   patch = gnupatch;
1267   pciutils = import ../tools/system/pciutils {
1268     inherit fetchurl stdenv zlib;
1269   };
1271   pdf2djvu = import ../tools/typesetting/pdf2djvu {
1272     inherit fetchurl stdenv pkgconfig djvulibre poppler fontconfig libjpeg;
1273   };
1275   pdfjam = import ../tools/typesetting/pdfjam {
1276     inherit fetchurl stdenv;
1277   };
1279   pg_top = import ../tools/misc/pg_top {
1280     inherit fetchurl stdenv ncurses postgresql;
1281   };
1283   pdsh = import ../tools/networking/pdsh {
1284     inherit fetchurl stdenv perl;
1285     readline = if getPkgConfig "pdsh" "readline" true then readline else null;
1286     rsh = getPkgConfig "pdsh" "rsh" true;
1287     ssh = if getPkgConfig "pdsh" "ssh" true then openssh else null;
1288     pam = if getPkgConfig "pdsh" "pam" true then pam else null;
1289   };
1291   pfstools = import ../tools/graphics/pfstools {
1292     inherit fetchurl stdenv imagemagick libjpeg libtiff mesa freeglut bzip2 libpng expat;
1293     openexr = openexr_1_6_1;
1294     qt = qt3;
1295     inherit (xlibs) libX11;
1296   };
1298   pinentry = import ../tools/misc/pinentry {
1299     inherit fetchurl stdenv pkgconfig ncurses;
1300     inherit (gnome) glib gtk;
1301   };
1303   plan9port = import ../tools/system/plan9port {
1304     inherit fetchurl stdenv;
1305     inherit (xlibs) libX11 xproto libXt xextproto;
1306   };
1308   ploticus = import ../tools/graphics/ploticus {
1309     inherit fetchurl stdenv zlib libpng;
1310     inherit (xlibs) libX11;
1311   };
1313   plotutils = import ../tools/graphics/plotutils {
1314     inherit fetchurl stdenv libpng;
1315   };
1317   povray = import ../tools/graphics/povray {
1318     inherit fetchurl stdenv;
1319   };
1321   ppl = import ../development/libraries/ppl {
1322     inherit fetchurl stdenv gmpxx perl gnum4;
1323   };
1325   /* WARNING: this version is unsuitable for using with a setuid wrapper */
1326   ppp = builderDefsPackage (import ../tools/networking/ppp) {
1327   };
1329   proxychains = import ../tools/networking/proxychains {
1330     inherit fetchurl stdenv;
1331   };
1333   proxytunnel = import ../tools/misc/proxytunnel {
1334     inherit fetchurl stdenv openssl;
1335   };
1337   psmisc = import ../tools/misc/psmisc {
1338     inherit stdenv fetchurl ncurses;
1339   };
1341   pstoedit = import ../tools/graphics/pstoedit {
1342     inherit fetchurl stdenv lib pkgconfig ghostscript gd zlib plotutils;
1343   };
1345   pv = import ../tools/misc/pv {
1346     inherit fetchurl stdenv;
1347   };
1349   pwgen = import ../tools/security/pwgen {
1350     inherit stdenv fetchurl;
1351   };
1353   pydb = import ../tools/pydb {
1354     inherit fetchurl stdenv python emacs;
1355   };
1357   pystringtemplate = import ../development/python-modules/stringtemplate {
1358     inherit stdenv fetchurl python antlr;
1359   };
1361   pythonDBus = builderDefsPackage (import ../development/python-modules/dbus) {
1362     inherit python pkgconfig dbus_glib;
1363     dbus = dbus.libs;
1364   };
1366   pythonIRClib = builderDefsPackage (import ../development/python-modules/irclib) {
1367     inherit python;
1368   };
1370   pythonSexy = builderDefsPackage (import ../development/python-modules/libsexy) {
1371     inherit python libsexy pkgconfig libxml2 pygtk;
1372     inherit (gtkLibs) pango gtk glib;
1373   };
1375   openmpi = import ../development/libraries/openmpi {
1376     inherit fetchurl stdenv;
1377   };
1379   qhull = import ../development/libraries/qhull {
1380     inherit stdenv fetchurl;
1381   };
1383   relfs = composedArgsAndFun (selectVersion ../tools/misc/relfs "cvs.2008.03.05") {
1384     inherit fetchcvs stdenv ocaml postgresql fuse pcre
1385       builderDefs pkgconfig libuuid;
1386     inherit (gnome) gnomevfs GConf;
1387   };
1389   remind = import ../tools/misc/remind {
1390     inherit fetchurl stdenv;
1391   };
1393   replace = import ../tools/text/replace {
1394     inherit fetchurl stdenv;
1395   };
1397   /*
1398   rdiff_backup = import ../tools/backup/rdiff-backup {
1399     inherit fetchurl stdenv librsync gnused;
1400     python=python;
1401   };
1402   */
1404   rsnapshot = import ../tools/backup/rsnapshot {
1405     inherit fetchurl stdenv perl openssh rsync;
1407     # For the `logger' command, we can use either `utillinux' or
1408     # GNU Inetutils.  The latter is more portable.
1409     logger = inetutils;
1410   };
1412   rlwrap = composedArgsAndFun (selectVersion ../tools/misc/rlwrap "0.28") {
1413     inherit builderDefs readline;
1414   };
1416   rpPPPoE = builderDefsPackage (import ../tools/networking/rp-pppoe) {
1417     inherit ppp;
1418   };
1420   rpm = import ../tools/package-management/rpm {
1421     inherit fetchurl stdenv cpio zlib bzip2 file sqlite beecrypt neon elfutils;
1422   };
1424   rrdtool = import ../tools/misc/rrdtool {
1425     inherit stdenv fetchurl gettext perl pkgconfig libxml2 cairo;
1426     inherit (gtkLibs) pango;
1427   };
1429   rtorrent = import ../tools/networking/p2p/rtorrent {
1430     inherit fetchurl stdenv libtorrent ncurses pkgconfig libsigcxx curl zlib openssl;
1431   };
1433   rubber = import ../tools/typesetting/rubber {
1434     inherit fetchurl stdenv python texinfo;
1435   };
1437   rxp = import ../tools/text/xml/rxp {
1438     inherit fetchurl stdenv;
1439   };
1441   rzip = import ../tools/compression/rzip {
1442     inherit fetchurl stdenv bzip2;
1443   };
1445   sablotron = import ../tools/text/xml/sablotron {
1446     inherit fetchurl stdenv expat;
1447   };
1449   screen = import ../tools/misc/screen {
1450     inherit fetchurl stdenv ncurses;
1451   };
1453   scrot = import ../tools/graphics/scrot {
1454     inherit fetchurl stdenv giblib x11;
1455   };
1457   seccure = import ../tools/security/seccure/0.4.nix {
1458     inherit fetchurl stdenv libgcrypt;
1459   };
1461   setserial = builderDefsPackage (import ../tools/system/setserial) {
1462     inherit groff;
1463   };
1465   sharutils = selectVersion ../tools/archivers/sharutils "4.6.3" {
1466     inherit fetchurl stdenv;
1467   };
1469   shebangfix = import ../tools/misc/shebangfix {
1470     inherit stdenv perl;
1471   };
1473   slsnif = import ../tools/misc/slsnif {
1474     inherit fetchurl stdenv;
1475   };
1477   smartmontools = import ../tools/system/smartmontools {
1478     inherit fetchurl stdenv;
1479   };
1481   smbfsFuse = composedArgsAndFun (selectVersion ../tools/networking/smbfs-fuse "0.8.7") {
1482     inherit builderDefs samba fuse;
1483   };
1485   socat = builderDefsPackage (selectVersion ../tools/networking/socat "1.6.0.1") {
1486     inherit openssl;
1487   };
1489   sudo = import ../tools/security/sudo {
1490     inherit fetchurl stdenv coreutils pam groff;
1491   };
1493   suidChroot = builderDefsPackage (import ../tools/system/suid-chroot) {
1494   };
1496   superkaramba = import ../desktops/superkaramba {
1497     inherit stdenv fetchurl kdebase kdelibs zlib libjpeg
1498       perl qt3 python libpng freetype expat;
1499     inherit (xlibs) libX11 libXext libXt libXaw libXpm;
1500   };
1502   sshfsFuse = import ../tools/networking/sshfs-fuse {
1503     inherit fetchurl stdenv pkgconfig fuse glib;
1504   };
1506   ssmtp = import ../tools/networking/ssmtp {
1507     inherit fetchurl stdenv openssl;
1508     tlsSupport = true;
1509   };
1511   ssss = composedArgsAndFun (selectVersion ../tools/security/ssss "0.5") {
1512     inherit builderDefs gmp;
1513   };
1515   stun = import ../tools/networking/stun {
1516     inherit fetchurl stdenv lib;
1517   };
1519   stunnel = import ../tools/networking/stunnel {
1520     inherit fetchurl stdenv openssl;
1521   };
1523   su = import ../tools/misc/su {
1524     inherit fetchurl stdenv pam;
1525   };
1527   system_config_printer = import ../tools/misc/system-config-printer {
1528     inherit stdenv fetchurl perl perlXMLParser desktop_file_utils;
1529   };
1531   sitecopy = import ../tools/networking/sitecopy {
1532     inherit fetchurl stdenv neon openssl;
1533   };
1535   privoxy = import ../tools/networking/privoxy {
1536     inherit fetchurl stdenv autoconf automake ;
1537   };
1539   tcpdump = import ../tools/networking/tcpdump {
1540     inherit fetchurl stdenv libpcap;
1541   };
1543   tcng = import ../tools/networking/tcng {
1544     inherit fetchurl stdenv iproute bison flex db4 perl;
1545     kernel = kernel_2_6_28;
1546   };
1548   telnet = import ../tools/networking/telnet {
1549     inherit fetchurl stdenv ncurses;
1550   };
1552   ttf2pt1 = import ../tools/misc/ttf2pt1 {
1553     inherit fetchurl stdenv perl freetype;
1554   };
1556   ucl = import ../development/libraries/ucl {
1557     inherit fetchurl stdenv;
1558   };
1560   ufraw = import ../applications/graphics/ufraw {
1561     inherit fetchurl stdenv pkgconfig gettext bzip2 zlib
1562       libjpeg libtiff cfitsio exiv2 lcms gtkimageview;
1563     inherit (gnome) gtk;
1564   };
1566   upx = import ../tools/compression/upx {
1567     inherit fetchurl stdenv ucl zlib;
1568   };
1570   vbetool = builderDefsPackage ../tools/system/vbetool {
1571     inherit pciutils libx86 zlib;
1572   };
1574   viking = import ../applications/misc/viking {
1575     inherit fetchurl stdenv pkgconfig intltool gettext expat curl
1576       gpsd bc file;
1577     inherit (gtkLibs) gtk;
1578   };
1580   vncrec = builderDefsPackage ../tools/video/vncrec {
1581     inherit (xlibs) imake libX11 xproto gccmakedep libXt
1582       libXmu libXaw libXext xextproto libSM libICE libXpm
1583       libXp;
1584   };
1586   vpnc = import ../tools/networking/vpnc {
1587     inherit fetchurl stdenv libgcrypt perl gawk
1588       nettools makeWrapper;
1589   };
1591   vtun = import ../tools/networking/vtun {
1592     inherit fetchurl stdenv lzo openssl zlib yacc flex;
1593   };
1595   testdisk = import ../tools/misc/testdisk {
1596     inherit fetchurl stdenv ncurses libjpeg e2fsprogs zlib openssl;
1597   };
1599   htmlTidy = import ../tools/text/html-tidy {
1600     inherit fetchcvs stdenv autoconf automake libtool;
1601   };
1603   tightvnc = import ../tools/admin/tightvnc {
1604     inherit fetchurl stdenv x11 zlib libjpeg perl;
1605     inherit (xlibs) imake gccmakedep libXmu libXaw libXpm libXp xauth;
1606     fontDirectories = [ xorg.fontadobe75dpi xorg.fontmiscmisc xorg.fontcursormisc
1607       xorg.fontbhlucidatypewriter75dpi ];
1608   };
1610   time = import ../tools/misc/time {
1611     inherit fetchurl stdenv;
1612   };
1614   tm = import ../tools/system/tm {
1615     inherit fetchurl stdenv;
1616   };
1618   trang = import ../tools/text/xml/trang {
1619     inherit fetchurl stdenv unzip jre;
1620   };
1622   ts = import ../tools/system/ts {
1623     inherit fetchurl stdenv;
1624   };
1626   transfig = import ../tools/graphics/transfig {
1627     inherit fetchurl stdenv libpng libjpeg zlib;
1628     inherit (xlibs) imake;
1629   };
1631   truecrypt = import ../applications/misc/truecrypt {
1632     inherit fetchurl stdenv pkgconfig fuse devicemapper;
1633     inherit wxGTK;
1634     wxGUI = getConfig [ "truecrypt" "wxGUI" ] true;
1635   };
1637   /* don't have time to fix the builderDefs based expression
1638   ttmkfdirX = import ../tools/misc/ttmkfdir {
1639     inherit debPackage freetype fontconfig libunwind libtool bison;
1640     flex = flex2534;
1641   };
1642   */
1643   ttmkfdir = import ../tools/misc/ttmkfdir/normal-builder.nix {
1644     inherit stdenv fetchurl freetype fontconfig libunwind libtool bison;
1645     flex = flex2534;
1646   };
1648   units = import ../tools/misc/units {
1649     inherit fetchurl stdenv;
1650   };
1652   unrar = import ../tools/archivers/unrar {
1653     inherit fetchurl stdenv;
1654   };
1656   unshield = import ../tools/archivers/unshield {
1657     inherit fetchurl stdenv zlib;
1658   };
1660   unzip = unzip552;
1662   # TODO: remove in the next stdenv update.
1663   unzip552 = import ../tools/archivers/unzip/5.52.nix {
1664     inherit fetchurl stdenv;
1665   };
1667   unzip60 = import ../tools/archivers/unzip/6.0.nix {
1668     inherit fetchurl stdenv bzip2;
1669   };
1671   uptimed = import ../tools/system/uptimed {
1672     inherit fetchurl stdenv automake autoconf libtool;
1673   };
1675   wdfs = import ../tools/networking/wdfs {
1676     inherit stdenv fetchurl neon fuse pkgconfig glib;
1677   };
1679   webdruid = builderDefsPackage ../tools/admin/webdruid {
1680     inherit zlib libpng freetype gd which
1681       libxml2 geoip;
1682   };
1684   wget = import ../tools/networking/wget {
1685     inherit fetchurl stdenv gettext openssl;
1686   };
1688   which = import ../tools/system/which {
1689     inherit fetchurl stdenv readline;
1690   };
1692   wv = import ../tools/misc/wv {
1693     inherit fetchurl stdenv libpng zlib imagemagick
1694       pkgconfig libgsf libxml2 bzip2 glib;
1695   };
1697   wv2 = import ../tools/misc/wv2 {
1698     inherit stdenv fetchurl pkgconfig libgsf libxml2 glib;
1699   };
1701   x11_ssh_askpass = import ../tools/networking/x11-ssh-askpass {
1702     inherit fetchurl stdenv x11;
1703     inherit (xorg) imake;
1704   };
1706   xclip = import ../tools/misc/xclip {
1707     inherit fetchurl stdenv x11;
1708     inherit (xlibs) libXmu;
1709   };
1711   xmlroff = import ../tools/typesetting/xmlroff {
1712     inherit fetchurl stdenv pkgconfig libxml2 libxslt popt;
1713     inherit (gtkLibs) glib pango gtk;
1714     inherit (gnome) libgnomeprint;
1715     inherit pangoxsl;
1716   };
1718   xmlto = import ../tools/typesetting/xmlto {
1719     inherit fetchurl stdenv flex libxml2 libxslt
1720             docbook_xml_dtd_42 docbook_xsl w3m
1721             bash getopt mktemp findutils makeWrapper;
1722   };
1724   xmltv = import ../tools/misc/xmltv {
1725     inherit fetchurl perl perlPackages;
1726   };
1728   xmpppy = builderDefsPackage (import ../development/python-modules/xmpppy) {
1729     inherit python setuptools;
1730   };
1732   xpf = import ../tools/text/xml/xpf {
1733     inherit fetchurl stdenv python;
1734     libxml2 = libxml2Python;
1735   };
1737   xsel = import ../tools/misc/xsel {
1738     inherit fetchurl stdenv x11;
1739   };
1741   zdelta = import ../tools/compression/zdelta {
1742     inherit fetchurl stdenv;
1743   };
1745   zile = import ../applications/editors/zile {
1746     inherit fetchurl stdenv ncurses help2man;
1747   };
1749   zip = import ../tools/archivers/zip {
1750     inherit fetchurl stdenv;
1751   };
1754   ### SHELLS
1757   bash = lowPrio (useFromStdenv "bash" bashReal);
1759   bashReal = makeOverridable (import ../shells/bash) {
1760     inherit fetchurl stdenv bison;
1761   };
1763   bashInteractive = appendToName "interactive" (bashReal.override {
1764     inherit readline texinfo;
1765     interactive = true;
1766   });
1768   tcsh = import ../shells/tcsh {
1769     inherit fetchurl stdenv ncurses;
1770   };
1772   zsh = composedArgsAndFun (selectVersion ../shells/zsh "4.3.9") {
1773     inherit fetchurl stdenv ncurses coreutils;
1774     # for CVS:
1775     inherit (bleedingEdgeRepos) sourceByName;
1776     inherit autoconf yodl;
1777   };
1780   ### DEVELOPMENT / COMPILERS
1783   abc =
1784     abcPatchable [];
1786   abcPatchable = patches :
1787     import ../development/compilers/abc/default.nix {
1788       inherit stdenv fetchurl patches jre apacheAnt;
1789       javaCup = import ../development/libraries/java/cup {
1790         inherit stdenv fetchurl jdk;
1791       };
1792     };
1794   aspectj =
1795     import ../development/compilers/aspectj {
1796       inherit stdenv fetchurl jre;
1797     };
1799   bigloo = import ../development/compilers/bigloo {
1800     inherit fetchurl stdenv;
1801   };
1803   dylan = import ../development/compilers/gwydion-dylan {
1804     inherit fetchurl stdenv perl boehmgc yacc flex readline;
1805     dylan =
1806       import ../development/compilers/gwydion-dylan/binary.nix {
1807         inherit fetchurl stdenv;
1808       };
1809   };
1811   adobeFlexSDK33 = import ../development/compilers/adobe-flex-sdk {
1812     inherit fetchurl stdenv unzip jre;
1813   };
1815   fpc = import ../development/compilers/fpc {
1816     inherit fetchurl stdenv gawk system;
1817   };
1819   gcc = gcc43;
1821   gcc295 = wrapGCC (import ../development/compilers/gcc-2.95 {
1822     inherit fetchurl stdenv noSysDirs;
1823   });
1825   gcc33 = wrapGCC (import ../development/compilers/gcc-3.3 {
1826     inherit fetchurl stdenv noSysDirs;
1827   });
1829   gcc34 = wrapGCC (import ../development/compilers/gcc-3.4 {
1830     inherit fetchurl stdenv noSysDirs;
1831   });
1833   # XXX: GCC 4.2 (and possibly others) misdetects `makeinfo' when
1834   # using Texinfo >= 4.10, just because it uses a stupid regexp that
1835   # expects a single digit after the dot.  As a workaround, we feed
1836   # GCC with Texinfo 4.9.  Stupid bug, hackish workaround.
1838   gcc40 = wrapGCC (makeOverridable (import ../development/compilers/gcc-4.0) {
1839     inherit fetchurl stdenv noSysDirs;
1840     texinfo = texinfo49;
1841     profiledCompiler = true;
1842   });
1844   gcc41 = wrapGCC (makeOverridable (import ../development/compilers/gcc-4.1) {
1845     inherit fetchurl stdenv noSysDirs;
1846     texinfo = texinfo49;
1847     profiledCompiler = false;
1848   });
1850   gcc42 = wrapGCC (makeOverridable (import ../development/compilers/gcc-4.2) {
1851     inherit fetchurl stdenv noSysDirs;
1852     profiledCompiler = false;
1853   });
1855   gcc43 = useFromStdenv "gcc" gcc43_real;
1857   gcc43_real = lowPrio (wrapGCC (makeOverridable (import ../development/compilers/gcc-4.3) {
1858     inherit fetchurl stdenv texinfo gmp mpfr noSysDirs;
1859     profiledCompiler = true;
1860   }));
1862   gcc43_multi = lowPrio (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi (gcc43_real.gcc.override {
1863     stdenv = overrideGCC stdenv (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi gcc);
1864     profiledCompiler = false;
1865     enableMultilib = true;
1866   }));
1868   gcc44 = lowPrio (wrapGCC (makeOverridable (import ../development/compilers/gcc-4.4) {
1869     inherit fetchurl stdenv texinfo gmp mpfr ppl cloogppl
1870       gettext which noSysDirs;
1871     profiledCompiler = true;
1872   }));
1874   gccApple = wrapGCC (import ../development/compilers/gcc-apple {
1875     inherit fetchurl stdenv noSysDirs;
1876     profiledCompiler = true;
1877   });
1879   gccupc40 = wrapGCCUPC (import ../development/compilers/gcc-upc-4.0 {
1880     inherit fetchurl stdenv bison autoconf gnum4 noSysDirs;
1881     texinfo = texinfo49;
1882   });
1884   gfortran = gfortran43;
1886   gfortran40 = wrapGCC (gcc40.gcc.override {
1887     name = "gfortran";
1888     langFortran = true;
1889     langCC = false;
1890     inherit gmp mpfr;
1891   });
1893   gfortran41 = wrapGCC (gcc41.gcc.override {
1894     name = "gfortran";
1895     langFortran = true;
1896     langCC = false;
1897     langC = false;
1898     inherit gmp mpfr;
1899   });
1901   gfortran42 = wrapGCC (gcc42.gcc.override {
1902     name = "gfortran";
1903     langFortran = true;
1904     langCC = false;
1905     langC = false;
1906     inherit gmp mpfr;
1907   });
1909   gfortran43 = wrapGCC (gcc43_real.gcc.override {
1910     name = "gfortran";
1911     langFortran = true;
1912     langCC = false;
1913     langC = false;
1914     profiledCompiler = false;
1915   });
1917   gfortran44 = wrapGCC (gcc44.gcc.override {
1918     name = "gfortran";
1919     langFortran = true;
1920     langCC = false;
1921     langC = false;
1922     profiledCompiler = false;
1923   });
1925   gcj = gcj44;
1927   gcj44 = wrapGCC (gcc44.gcc.override {
1928     name = "gcj";
1929     langJava = true;
1930     langFortran = false;
1931     langCC = true;
1932     langC = false;
1933     profiledCompiler = false;
1934     inherit zip unzip zlib boehmgc gettext pkgconfig;
1935     inherit (gtkLibs) gtk;
1936     inherit (gnome) libart_lgpl;
1937     inherit (xlibs) libX11 libXt libSM libICE libXtst libXi libXrender
1938       libXrandr xproto renderproto xextproto inputproto randrproto;
1939   });
1941   /*
1942   Broken; fails because of unability to find its own symbols during linking
1944   gcl = builderDefsPackage ../development/compilers/gcl {
1945     inherit mpfr m4 binutils fetchcvs emacs;
1946     inherit (xlibs) libX11 xproto inputproto libXi 
1947       libXext xextproto libXt libXaw libXmu;
1948     stdenv = (overrideGCC stdenv gcc34) // {gcc = gcc33;};
1949   };
1950   */
1952   # GHC
1954   # GHC binaries are around for bootstrapping purposes
1956   #ghc = haskellPackages.ghc;
1958   ghc642Binary = lowPrio (import ../development/compilers/ghc/6.4.2-binary.nix {
1959     inherit fetchurl stdenv ncurses gmp;
1960     readline = if stdenv.system == "i686-linux" then readline4 else readline;
1961     perl = perl58;
1962   });
1964   ghc6101Binary = lowPrio (import ../development/compilers/ghc/6.10.1-binary.nix {
1965     inherit fetchurl stdenv perl ncurses gmp libedit;
1966   });
1968   ghc6102Binary = lowPrio (import ../development/compilers/ghc/6.10.2-binary.nix {
1969     inherit fetchurl stdenv perl ncurses gmp libedit;
1970   });
1972   # For several compiler versions, we export a large set of Haskell-related
1973   # packages.
1975   haskellPackages = haskellPackages_ghc6104;
1977   haskellPackages_ghc642 = import ./haskell-packages.nix {
1978     inherit pkgs;
1979     ghc = import ../development/compilers/ghc/6.4.2.nix {
1980       inherit fetchurl stdenv perl ncurses readline m4 gmp;
1981       ghc = ghc642Binary;
1982     };
1983   };
1985   haskellPackages_ghc661 = import ./haskell-packages.nix {
1986     inherit pkgs;
1987     ghc = import ../development/compilers/ghc/6.6.1.nix {
1988       inherit fetchurl stdenv readline perl58 gmp ncurses m4;
1989       ghc = ghc642Binary;
1990     };
1991   };
1993   haskellPackages_ghc682 = import ./haskell-packages.nix {
1994     inherit pkgs;
1995     ghc = import ../development/compilers/ghc/6.8.2.nix {
1996       inherit fetchurl stdenv readline perl gmp ncurses m4;
1997       ghc = ghc642Binary;
1998     };
1999   };
2001   haskellPackages_ghc683 = recurseIntoAttrs (import ./haskell-packages.nix {
2002     inherit pkgs;
2003     ghc = import ../development/compilers/ghc/6.8.3.nix {
2004       inherit fetchurl stdenv readline perl gmp ncurses m4;
2005       ghc = ghc642Binary;
2006       haddock = import ../development/tools/documentation/haddock/boot.nix {
2007         inherit gmp;
2008         cabal = import ../development/libraries/haskell/cabal/cabal.nix {
2009           inherit stdenv fetchurl lib;
2010           ghc = ghc642Binary;
2011         };
2012       };
2013     };
2014   });
2016   haskellPackages_ghc6101 = import ./haskell-packages.nix {
2017     inherit pkgs;
2018     ghc = import ../development/compilers/ghc/6.10.1.nix {
2019       inherit fetchurl stdenv perl ncurses gmp libedit;
2020       ghc = ghc6101Binary;
2021     };
2022   };
2024   haskellPackages_ghc6102 = import ./haskell-packages.nix {
2025     inherit pkgs;
2026     ghc = import ../development/compilers/ghc/6.10.2.nix {
2027       inherit fetchurl stdenv perl ncurses gmp libedit;
2028       ghc = ghc6101Binary;
2029     };
2030   };
2032   haskellPackages_ghc6103 = recurseIntoAttrs (import ./haskell-packages.nix {
2033     inherit pkgs;
2034     ghc = import ../development/compilers/ghc/6.10.3.nix {
2035       inherit fetchurl stdenv perl ncurses gmp libedit;
2036       ghc = ghc6101Binary;
2037     };
2038   });
2040   haskellPackages_ghc6104 = recurseIntoAttrs (import ./haskell-packages.nix {
2041     inherit pkgs;
2042     ghc = import ../development/compilers/ghc/6.10.4.nix {
2043       inherit fetchurl stdenv perl ncurses gmp libedit;
2044       ghc = ghc6101Binary;
2045     };
2046   });
2048   haskellPackages_ghc6121 = import ./haskell-packages.nix {
2049     inherit pkgs;
2050     ghc = import ../development/compilers/ghc/6.12.1.nix {
2051       inherit fetchurl stdenv perl ncurses gmp;
2052       ghc = ghc6101Binary;
2053     };
2054   };
2056   haskellPackages_ghcHEAD = import ./haskell-packages.nix {
2057     inherit pkgs;
2058     ghc = import ../development/compilers/ghc/6.11.nix {
2059       inherit fetchurl stdenv perl ncurses gmp libedit;
2060       inherit (haskellPackages) happy alex; # hope these aren't required for the final version
2061       ghc = ghc6101Binary;
2062     };
2063   };
2065   falcon = builderDefsPackage (import ../development/interpreters/falcon) {
2066     inherit cmake;
2067   };
2069   gprolog = import ../development/compilers/gprolog {
2070     inherit fetchurl stdenv;
2071   };
2073   gwt = import ../development/compilers/gwt {
2074     inherit stdenv fetchurl jdk;
2075     inherit (gtkLibs) glib gtk pango atk;
2076     inherit (xlibs) libX11 libXt;
2077     libstdcpp5 = gcc33.gcc;
2078   };
2080   ikarus = builderDefsPackage (selectVersion ../development/compilers/ikarus "0.0.3") {
2081     inherit gmp;
2082   };
2084   #TODO add packages http://cvs.haskell.org/Hugs/downloads/2006-09/packages/ and test
2085   # commented out because it's using the new configuration style proposal which is unstable
2086   hugs = import ../development/compilers/hugs {
2087     inherit lib fetchurl stdenv composableDerivation;
2088   };
2090   openjdkDarwin = import ../development/compilers/openjdk-darwin {
2091     inherit fetchurl stdenv;
2092   };
2094   j2sdk14x = (
2095     assert system == "i686-linux";
2096     import ../development/compilers/jdk/default-1.4.nix {
2097       inherit fetchurl stdenv;
2098     });
2100   jdk5 = (
2101     assert system == "i686-linux" || system == "x86_64-linux";
2102     import ../development/compilers/jdk/default-5.nix {
2103       inherit fetchurl stdenv unzip;
2104     });
2106   jdk       = jdkdistro true  false;
2107   jre       = jdkdistro false false;
2109   jdkPlugin = jdkdistro true true;
2110   jrePlugin = jdkdistro false true;
2112   supportsJDK =
2113     system == "i686-linux" ||
2114     system == "x86_64-linux" ||
2115     system == "powerpc-linux";
2117   jdkdistro = installjdk: pluginSupport:
2118        (assert supportsJDK;
2119     (if pluginSupport then appendToName "plugin" else x: x) (import ../development/compilers/jdk {
2120       inherit fetchurl stdenv unzip installjdk xlibs pluginSupport makeWrapper;
2121     }));
2123   jikes = import ../development/compilers/jikes {
2124     inherit fetchurl stdenv;
2125   };
2127   lazarus = builderDefsPackage (import ../development/compilers/fpc/lazarus.nix) {
2128     inherit fpc makeWrapper;
2129     inherit (gtkLibs) gtk glib pango atk;
2130     inherit (xlibs) libXi inputproto libX11 xproto libXext xextproto;
2131   };
2133   llvm = import ../development/compilers/llvm {
2134     inherit fetchurl stdenv gcc flex perl libtool;
2135   };
2137   llvmGCC = builderDefsPackage (import ../development/compilers/llvm/llvm-gcc.nix) {
2138     flex=flex2535;
2139     inherit llvm perl libtool bison;
2140   };
2142   mono = import ../development/compilers/mono {
2143     inherit fetchurl stdenv bison pkgconfig gettext perl glib;
2144   };
2146   monoDLLFixer = import ../build-support/mono-dll-fixer {
2147     inherit stdenv perl;
2148   };
2150   monotone = import ../applications/version-management/monotone {
2151     inherit stdenv fetchurl boost zlib botan libidn pcre
2152       sqlite lib perl;
2153     lua = lua5;
2154   };
2156   monotoneViz = builderDefsPackage (selectVersion ../applications/version-management/monotone-viz "mtn-head") {
2157     inherit ocaml lablgtk graphviz pkgconfig autoconf automake libtool;
2158     inherit (gnome) gtk libgnomecanvas glib;
2159   };
2161   viewMtn = builderDefsPackage (selectVersion ../applications/version-management/viewmtn "0.10")
2162   {
2163     inherit monotone flup cheetahTemplate highlight ctags
2164       makeWrapper graphviz which python;
2165   };
2167   nasm = import ../development/compilers/nasm {
2168     inherit fetchurl stdenv;
2169   };
2171   ocaml = ocaml_3_11_1;
2173   ocaml_3_08_0 = import ../development/compilers/ocaml/3.08.0.nix {
2174     inherit fetchurl stdenv x11 ncurses;
2175   };
2177   ocaml_3_09_1 = import ../development/compilers/ocaml/3.09.1.nix {
2178     inherit fetchurl stdenv x11 ncurses;
2179   };
2181   ocaml_3_10_0 = import ../development/compilers/ocaml/3.10.0.nix {
2182     inherit fetchurl stdenv x11 ncurses;
2183   };
2185   ocaml_3_11_1 = import ../development/compilers/ocaml/3.11.1.nix {
2186     inherit fetchurl stdenv x11 ncurses;
2187   };
2189   opencxx = import ../development/compilers/opencxx {
2190     inherit fetchurl stdenv libtool;
2191     gcc = gcc33;
2192   };
2194   qcmm = import ../development/compilers/qcmm {
2195     lua   = lua4;
2196     ocaml = ocaml_3_08_0;
2197     inherit fetchurl stdenv mk noweb groff;
2198   };
2200   roadsend = import ../development/compilers/roadsend {
2201     inherit fetchurl stdenv flex bison bigloo lib curl composableDerivation;
2202     # optional features
2203     # all features pcre, fcgi xml mysql, sqlite3, (not implemented: odbc gtk gtk2)
2204     flags = ["pcre" "xml" "mysql"];
2205     inherit mysql libxml2 fcgi;
2206   };
2208   sbcl = builderDefsPackage (import ../development/compilers/sbcl) {
2209     inherit makeWrapper;
2210     clisp = clisp_2_44_1;
2211   };
2213   scala = import ../development/compilers/scala {
2214     inherit stdenv fetchurl;
2215   };
2217   stalin = import ../development/compilers/stalin {
2218     inherit stdenv fetchurl;
2219     inherit (xlibs) libX11;
2220   };
2222   strategoPackages = strategoPackages017;
2224   strategoPackages016 = import ../development/compilers/strategoxt/0.16.nix {
2225     inherit fetchurl pkgconfig aterm getopt;
2226     stdenv = overrideInStdenv stdenv [gnumake380];
2227   };
2229   strategoPackages017 = import ../development/compilers/strategoxt/0.17.nix {
2230     inherit fetchurl stdenv pkgconfig aterm getopt jdk;
2231   };
2233   strategoPackages018 = import ../development/compilers/strategoxt/0.18.nix {
2234     inherit fetchurl stdenv pkgconfig aterm getopt jdk makeStaticBinaries; 
2235   };
2237   metaBuildEnv = import ../development/compilers/meta-environment/meta-build-env {
2238     inherit fetchurl stdenv ;
2239   };
2241   swiProlog = composedArgsAndFun (selectVersion ../development/compilers/swi-prolog "5.6.51") {
2242     inherit fetchurl stdenv;
2243   };
2245   tinycc = import ../development/compilers/tinycc {
2246     inherit fetchurl stdenv perl texinfo;
2247   };
2249   visualcpp = (import ../development/compilers/visual-c++ {
2250     inherit fetchurl stdenv cabextract;
2251   });
2253   webdsl = import ../development/compilers/webdsl {
2254     inherit stdenv fetchurl pkgconfig strategoPackages;
2255   };
2257   win32hello = import ../development/compilers/visual-c++/test {
2258     inherit fetchurl stdenv visualcpp windowssdk;
2259   };
2261   wrapGCCWith = gccWrapper: glibc: baseGCC: gccWrapper {
2262     nativeTools = stdenv ? gcc && stdenv.gcc.nativeTools;
2263     nativeLibc = stdenv ? gcc && stdenv.gcc.nativeLibc;
2264     nativePrefix = if stdenv ? gcc then stdenv.gcc.nativePrefix else "";
2265     gcc = baseGCC;
2266     libc = glibc;
2267     inherit stdenv binutils;
2268   };
2270   wrapGCC = wrapGCCWith (import ../build-support/gcc-wrapper) glibc;
2272   # FIXME: This is a specific hack for GCC-UPC.  Eventually, we may
2273   # want to merge `gcc-upc-wrapper' and `gcc-wrapper'.
2274   wrapGCCUPC = baseGCC: import ../build-support/gcc-upc-wrapper {
2275     nativeTools = stdenv ? gcc && stdenv.gcc.nativeTools;
2276     nativeLibc = stdenv ? gcc && stdenv.gcc.nativeLibc;
2277     gcc = baseGCC;
2278     libc = glibc;
2279     inherit stdenv binutils;
2280   };
2282   # prolog
2283   yap = import ../development/compilers/yap {
2284     inherit fetchurl stdenv;
2285   };
2288   ### DEVELOPMENT / INTERPRETERS
2290   acl2 = builderDefsPackage ../development/interpreters/acl2 {
2291     inherit sbcl;
2292   };
2294   clisp = import ../development/interpreters/clisp {
2295     inherit fetchurl stdenv libsigsegv gettext
2296       readline ncurses coreutils pcre zlib libffi libffcall;
2297     inherit (xlibs) libX11 libXau libXt xproto
2298       libXpm libXext xextproto;
2299   };
2301   # compatibility issues in 2.47 - at list 2.44.1 is known good
2302   # for sbcl bootstrap
2303   clisp_2_44_1 = import ../development/interpreters/clisp/2.44.1.nix {
2304     inherit fetchurl stdenv gettext
2305       readline ncurses coreutils pcre zlib libffi libffcall;
2306     inherit (xlibs) libX11 libXau libXt xproto
2307       libXpm libXext xextproto;
2308     libsigsegv = libsigsegv_25;
2309   };
2311   erlang = import ../development/interpreters/erlang {
2312     inherit fetchurl stdenv perl gnum4 ncurses openssl;
2313   };
2315   guile = import ../development/interpreters/guile {
2316     inherit fetchurl stdenv readline libtool gmp gawk makeWrapper;
2317   };
2319   guile_1_9 = import ../development/interpreters/guile/1.9.nix {
2320     inherit fetchurl stdenv readline libtool gmp gawk makeWrapper
2321       libunistring pkgconfig boehmgc;
2322   };
2324   guile_1_9_coverage = import ../development/interpreters/guile/1.9.nix {
2325     inherit fetchurl stdenv readline libtool gmp gawk makeWrapper
2326       libunistring pkgconfig boehmgc;
2327     inherit (releaseTools) coverageAnalysis;
2328   };
2330   io = builderDefsPackage (import ../development/interpreters/io) {
2331     inherit sqlite zlib gmp libffi cairo ncurses freetype mesa
2332       libpng libtiff libjpeg readline libsndfile libxml2
2333       freeglut e2fsprogs libsamplerate pcre libevent libedit;
2334   };
2336   kaffe =  import ../development/interpreters/kaffe {
2337     inherit fetchurl stdenv jikes alsaLib xlibs;
2338   };
2340   lua4 = import ../development/interpreters/lua-4 {
2341     inherit fetchurl stdenv;
2342   };
2344   lua5 = import ../development/interpreters/lua-5 {
2345     inherit fetchurl stdenv ncurses readline;
2346   };
2348   maude = import ../development/interpreters/maude {
2349     inherit fetchurl stdenv flex bison ncurses buddy tecla gmpxx libsigsegv makeWrapper;
2350   };
2352   octave = import ../development/interpreters/octave {
2353     inherit stdenv fetchurl gfortran readline ncurses perl flex qhull texinfo;
2354   };
2356   # mercurial (hg) bleeding edge version
2357   octaveHG = import ../development/interpreters/octave/hg.nix {
2358     inherit fetchurl readline ncurses perl flex atlas getConfig glibc qhull gfortran;
2359     inherit automake autoconf bison gperf lib python gnuplot texinfo texLive; # for dev Version
2360     inherit stdenv;
2361     inherit (xlibs) libX11;
2362     #stdenv = overrideGCC stdenv gcc40;
2363     inherit (bleedingEdgeRepos) sourceByName;
2364   };
2366   perl58 = import ../development/interpreters/perl-5.8 {
2367       inherit fetchurl stdenv;
2368       impureLibcPath = if stdenv.isLinux then null else "/usr";
2369     };
2371   perl510 = import ../development/interpreters/perl-5.10 {
2372     inherit stdenv;
2373     fetchurl = fetchurlBoot;
2374     impureLibcPath = if stdenv.isLinux then null else "/usr";
2375   };
2377   perl = if system != "i686-cygwin" then perl510 else sysPerl;
2379   # FIXME: unixODBC needs patching on Darwin (see darwinports)
2380   phpOld = import ../development/interpreters/php {
2381     inherit stdenv fetchurl flex bison libxml2 apacheHttpd;
2382     unixODBC =
2383       if stdenv.isDarwin then null else unixODBC;
2384   };
2386   php = import ../development/interpreters/php_configurable {
2387     inherit
2388       stdenv fetchurl lib composableDerivation autoconf automake
2389       flex bison apacheHttpd mysql libxml2 # gettext
2390       zlib curl gd postgresql openssl pkgconfig sqlite getConfig;
2391   };
2393   pltScheme = builderDefsPackage (import ../development/interpreters/plt-scheme) {
2394     inherit cairo fontconfig freetype libjpeg libpng openssl
2395       perl mesa zlib which;
2396     inherit (xorg) libX11 libXaw libXft libXrender libICE xproto
2397       renderproto pixman libSM libxcb libXext xextproto libXmu
2398       libXt;
2399   };
2401   python = if getConfig ["python" "full"] false then pythonFull else pythonBase;
2402   python25 = if getConfig ["python" "full"] false then python25Full else python25Base;
2403   pythonBase = python25Base;
2404   pythonFull = python25Full;
2406   python24 = import ../development/interpreters/python/2.4 {
2407     inherit fetchurl stdenv zlib bzip2;
2408   };
2410   python25Base = composedArgsAndFun (import ../development/interpreters/python/2.5) {
2411     inherit fetchurl stdenv zlib bzip2 gdbm;
2412   };
2414   python25Full = python25Base.passthru.function {
2415     # FIXME: We lack ncurses support, needed, e.g., for `gpsd'.
2416     db4 = if getConfig ["python" "db4Support"] true then db4 else null;
2417     sqlite = if getConfig ["python" "sqliteSupport"] true then sqlite else null;
2418     readline = if getConfig ["python" "readlineSupport"] true then readline else null;
2419     openssl = if getConfig ["python" "opensslSupport"] true then openssl else null;
2420     tk = if getConfig ["python" "tkSupport"] true then tk else null;
2421     tcl = if getConfig ["python" "tkSupport"] true then tcl else null;
2422     libX11 = if getConfig ["python" "tkSupport"] true then xlibs.libX11 else null;
2423     xproto = if getConfig ["python" "tkSupport"] true then xlibs.xproto else null;
2424   };
2426   python26Base = composedArgsAndFun (import ../development/interpreters/python/2.6) {
2427     inherit fetchurl stdenv zlib bzip2 gdbm;
2428     arch = if stdenv.isDarwin then darwinArchUtility else null;
2429     sw_vers = if stdenv.isDarwin then darwinSwVersUtility else null;
2430   };
2432   python26Full = python26Base.passthru.function {
2433     # FIXME: We lack ncurses support, needed, e.g., for `gpsd'.
2434     db4 = if getConfig ["python" "db4Support"] true then db4 else null;
2435     sqlite = if getConfig ["python" "sqliteSupport"] true then sqlite else null;
2436     readline = if getConfig ["python" "readlineSupport"] true then readline else null;
2437     openssl = if getConfig ["python" "opensslSupport"] true then openssl else null;
2438     tk = if getConfig ["python" "tkSupport"] true then tk else null;
2439     tcl = if getConfig ["python" "tkSupport"] true then tcl else null;
2440     libX11 = if getConfig ["python" "tkSupport"] true then xlibs.libX11 else null;
2441     xproto = if getConfig ["python" "tkSupport"] true then xlibs.xproto else null;
2442   };
2444   # new python and lib proposal
2445   # - adding a python lib to buildinputs should be enough
2446   #   (handles .pth files by patching site.py
2447   #    while introducing NIX_PYTHON_SITES describing list of modules)
2448   # - adding pyCheck = "import foo" test scripts to ensure libraries can be imported
2449   # - providing pythonWrapper so that you can run python and import the selected libraries
2450   # feel free to comment on this (experimental)
2451   python25New = recurseIntoAttrs ((import ../development/interpreters/python-new/2.5) pkgs);
2452   pythonNew = python25New; # the default python
2454   pyrex = pyrex095;
2456   pyrex095 = import ../development/interpreters/pyrex/0.9.5.nix {
2457     inherit fetchurl stdenv stringsWithDeps lib builderDefs python;
2458   };
2460   pyrex096 = import ../development/interpreters/pyrex/0.9.6.nix {
2461     inherit fetchurl stdenv stringsWithDeps lib builderDefs python;
2462   };
2464   Qi = composedArgsAndFun (selectVersion ../development/compilers/qi "9.1") {
2465     inherit clisp stdenv fetchurl builderDefs unzip;
2466   };
2468   ruby18 = import ../development/interpreters/ruby {
2469     inherit fetchurl stdenv readline ncurses zlib lib openssl makeOverridable gdbm;
2470   };
2471   ruby19 = import ../development/interpreters/ruby/ruby-19.nix { inherit ruby18 fetchurl; };
2472   ruby = ruby18;
2474   rubyLibs = recurseIntoAttrs (import ../development/interpreters/ruby/libs.nix {
2475     inherit pkgs stdenv;
2476   });
2478   rake = import ../development/ruby-modules/rake {
2479     inherit fetchurl stdenv ruby ;
2480   };
2482   rubySqlite3 = import ../development/ruby-modules/sqlite3 {
2483     inherit fetchurl stdenv ruby sqlite;
2484   };
2486   rLang = import ../development/interpreters/r-lang {
2487     inherit fetchurl stdenv readline perl gfortran libpng zlib;
2488     inherit (xorg) libX11 libXt;
2489     withBioconductor = getConfig ["rLang" "withBioconductor"] false;
2490   };
2492   rubygemsFun = ruby: builderDefsPackage (import ../development/interpreters/ruby/gems.nix) {
2493     inherit ruby makeWrapper;
2494   };
2495   rubygems = rubygemsFun ruby;
2497   rq = import ../applications/networking/cluster/rq {
2498     inherit fetchurl stdenv sqlite ruby ;
2499   };
2501   scsh = import ../development/interpreters/scsh {
2502     inherit stdenv fetchurl;
2503   };
2505   spidermonkey = import ../development/interpreters/spidermonkey {
2506     inherit fetchurl stdenv readline;
2507   };
2509   sysPerl = import ../development/interpreters/sys-perl {
2510     inherit stdenv;
2511   };
2513   tcl = import ../development/interpreters/tcl {
2514     inherit fetchurl stdenv;
2515   };
2517   xulrunnerWrapper = {application, launcher}:
2518     import ../development/interpreters/xulrunner/wrapper {
2519       inherit stdenv application launcher;
2520       xulrunner = xulrunner35;
2521     };
2524   ### DEVELOPMENT / MISC
2526   avrgcclibc = import ../development/misc/avr-gcc-with-avr-libc {
2527     inherit fetchurl stdenv writeTextFile gnumake coreutils gnutar bzip2
2528       gnugrep gnused gawk;
2529     gcc = gcc40;
2530   };
2532   avr8burnomat = import ../development/misc/avr8-burn-omat {
2533     inherit fetchurl stdenv unzip;
2534   };
2536   /*
2537   toolbus = import ../development/interpreters/toolbus {
2538     inherit stdenv fetchurl atermjava toolbuslib aterm yacc flex;
2539   };
2540   */
2542   bleedingEdgeRepos = import ../development/misc/bleeding-edge-repos {
2543     inherit getConfig fetchurl lib;
2544   };
2546   ecj = import ../development/eclipse/ecj {
2547     inherit fetchurl stdenv unzip ant gcj;
2548   };
2550   jdtsdk = import ../development/eclipse/jdt-sdk {
2551     inherit fetchurl stdenv unzip;
2552   };
2554   jruby116 = import ../development/interpreters/jruby {
2555     inherit fetchurl stdenv;
2556   };
2558   guileCairo = import ../development/guile-modules/guile-cairo {
2559     inherit fetchurl stdenv guile pkgconfig cairo guileLib;
2560   };
2562   guileGnome = import ../development/guile-modules/guile-gnome {
2563     inherit fetchurl stdenv guile guileLib gwrap pkgconfig guileCairo;
2564     gconf = gnome.GConf;
2565     inherit (gnome) glib gnomevfs gtk libglade libgnome libgnomecanvas
2566       libgnomeui pango;
2567   };
2569   guileLib = import ../development/guile-modules/guile-lib {
2570     inherit fetchurl stdenv guile texinfo;
2571   };
2573   windowssdk = (
2574     import ../development/misc/windows-sdk {
2575       inherit fetchurl stdenv cabextract;
2576     });
2579   ### DEVELOPMENT / TOOLS
2582   antlr = import ../development/tools/parsing/antlr/2.7.7.nix {
2583     inherit fetchurl stdenv jdk python;
2584   };
2586   antlr3 = import ../development/tools/parsing/antlr {
2587     inherit fetchurl stdenv jre;
2588   };
2590   antDarwin = apacheAnt.override rec { jdk = openjdkDarwin ; name = "ant-" + jdk.name ; } ;
2592   ant = apacheAnt;
2593   apacheAnt = makeOverridable (import ../development/tools/build-managers/apache-ant) {
2594     inherit fetchurl stdenv jdk;
2595     name = "ant-" + jdk.name;
2596   };
2598   apacheAnt14 = import ../development/tools/build-managers/apache-ant {
2599     inherit fetchurl stdenv;
2600     jdk = j2sdk14x;
2601     name = "ant-" + j2sdk14x.name;
2602   };
2604   apacheAntGcj = import ../development/tools/build-managers/apache-ant/from-source.nix {
2605     inherit fetchurl stdenv;
2606     inherit junit; # must be either pre-built or built with GCJ *alone*
2607     javac = gcj;
2608     jvm = gcj;
2609   };
2611   autobuild = import ../development/tools/misc/autobuild {
2612     inherit fetchurl stdenv makeWrapper perl openssh rsync;
2613   };
2615   autoconf = import ../development/tools/misc/autoconf {
2616     inherit fetchurl stdenv perl m4;
2617   };
2619   autoconf213 = import ../development/tools/misc/autoconf/2.13.nix {
2620     inherit fetchurl stdenv perl m4 lzma;
2621   };
2623   automake = automake110x;
2625   automake17x = import ../development/tools/misc/automake/automake-1.7.x.nix {
2626     inherit fetchurl stdenv perl autoconf makeWrapper;
2627   };
2629   automake19x = import ../development/tools/misc/automake/automake-1.9.x.nix {
2630     inherit fetchurl stdenv perl autoconf makeWrapper;
2631   };
2633   automake110x = import ../development/tools/misc/automake/automake-1.10.x.nix {
2634     inherit fetchurl stdenv perl autoconf makeWrapper;
2635   };
2637   automake111x = import ../development/tools/misc/automake/automake-1.11.x.nix {
2638     inherit fetchurl stdenv perl autoconf makeWrapper;
2639   };
2641   avrdude = import ../development/tools/misc/avrdude {
2642     inherit lib fetchurl stdenv flex yacc composableDerivation texLive;
2643   };
2645   binutils = useFromStdenv "binutils"
2646     (import ../development/tools/misc/binutils {
2647       inherit fetchurl stdenv noSysDirs;
2648     });
2650   bison = bison23;
2652   bison1875 = import ../development/tools/parsing/bison/bison-1.875.nix {
2653     inherit fetchurl stdenv m4;
2654   };
2656   bison23 = import ../development/tools/parsing/bison/bison-2.3.nix {
2657     inherit fetchurl stdenv m4;
2658   };
2660   bison24 = import ../development/tools/parsing/bison/bison-2.4.nix {
2661     inherit fetchurl stdenv m4;
2662   };
2664   buildbot = import ../development/tools/build-managers/buildbot {
2665     inherit fetchurl stdenv python twisted makeWrapper;
2666   };
2668   byacc = import ../development/tools/parsing/byacc {
2669     inherit fetchurl stdenv;
2670   };
2672   camlp5_strict = import ../development/tools/ocaml/camlp5 {
2673     inherit stdenv fetchurl ocaml;
2674   };
2676   camlp5_transitional = import ../development/tools/ocaml/camlp5 {
2677     inherit stdenv fetchurl ocaml;
2678     transitional = true;
2679   };
2681   ccache = import ../development/tools/misc/ccache {
2682     inherit fetchurl stdenv;
2683   };
2685   ctags = import ../development/tools/misc/ctags {
2686     inherit fetchurl stdenv bleedingEdgeRepos automake autoconf;
2687   };
2689   ctagsWrapped = import ../development/tools/misc/ctags/wrapped.nix {
2690     inherit pkgs ctags writeScriptBin lib makeOverridable;
2691   };
2693   cmake = import ../development/tools/build-managers/cmake {
2694     inherit fetchurl stdenv replace ncurses;
2695   };
2697   cproto = import ../development/tools/misc/cproto {
2698     inherit fetchurl stdenv flex bison;
2699   };
2701   cflow = import ../development/tools/misc/cflow {
2702     inherit fetchurl stdenv gettext emacs;
2703   };
2705   cscope = import ../development/tools/misc/cscope {
2706     inherit fetchurl stdenv ncurses pkgconfig emacs;
2707   };
2709   dejagnu = import ../development/tools/misc/dejagnu {
2710     inherit fetchurl stdenv expect makeWrapper;
2711   };
2713   ddd = import ../development/tools/misc/ddd {
2714     inherit fetchurl stdenv lesstif ncurses;
2715     inherit (xlibs) libX11 libXt;
2716   };
2718   distcc = import ../development/tools/misc/distcc {
2719     inherit fetchurl stdenv popt python;
2720     avahi = if getPkgConfig "distcc" "avahi" false then avahi else null;
2721     pkgconfig = if getPkgConfig "distcc" "gtk" false then pkgconfig else null;
2722     gtk = if getPkgConfig "distcc" "gtk" false then gtkLibs.gtk else null;
2723   };
2725   docutils = builderDefsPackage (import ../development/tools/documentation/docutils) {
2726     inherit python pil makeWrapper;
2727   };
2729   doxygen = import ../development/tools/documentation/doxygen {
2730     inherit fetchurl stdenv graphviz perl flex bison gnumake;
2731     inherit (xlibs) libX11 libXext;
2732     qt = if getPkgConfig "doxygen" "qt4" true then qt4 else null;
2733   };
2735   eggdbus = import ../development/tools/misc/eggdbus {
2736     inherit stdenv fetchurl pkgconfig dbus dbus_glib glib;
2737   };
2739   elfutils = import ../development/tools/misc/elfutils {
2740     inherit fetchurl stdenv m4;
2741   };
2743   epm = import ../development/tools/misc/epm {
2744     inherit fetchurl stdenv rpm;
2745   };
2747   emma = import ../development/tools/analysis/emma {
2748     inherit fetchurl stdenv unzip;
2749   };
2751   findbugs = import ../development/tools/analysis/findbugs {
2752     inherit fetchurl stdenv;
2753   };
2755   pmd = import ../development/tools/analysis/pmd {
2756     inherit fetchurl stdenv unzip;
2757   };
2759   jdepend = import ../development/tools/analysis/jdepend {
2760     inherit fetchurl stdenv unzip;
2761   };
2763   checkstyle = import ../development/tools/analysis/checkstyle {
2764     inherit fetchurl stdenv unzip;
2765   };
2767   flex = flex254a;
2769   flex2535 = import ../development/tools/parsing/flex/flex-2.5.35.nix {
2770     inherit fetchurl stdenv yacc m4;
2771   };
2773   flex2534 = import ../development/tools/parsing/flex/flex-2.5.34.nix {
2774     inherit fetchurl stdenv yacc m4;
2775   };
2777   flex2533 = import ../development/tools/parsing/flex/flex-2.5.33.nix {
2778     inherit fetchurl stdenv yacc m4;
2779   };
2781   flex254a = import ../development/tools/parsing/flex/flex-2.5.4a.nix {
2782     inherit fetchurl stdenv yacc;
2783   };
2785   m4 = gnum4;
2787   global = import ../development/tools/misc/global {
2788     inherit fetchurl stdenv;
2789   };
2791   gnum4 = import ../development/tools/misc/gnum4 {
2792     inherit fetchurl stdenv;
2793   };
2795   gnumake = useFromStdenv "gnumake"
2796     (import ../development/tools/build-managers/gnumake {
2797       inherit fetchurl stdenv;
2798     });
2800   gnumake380 = import ../development/tools/build-managers/gnumake-3.80 {
2801     inherit fetchurl stdenv;
2802   };
2804   gperf = import ../development/tools/misc/gperf {
2805     inherit fetchurl stdenv;
2806   };
2808   gtkdialog = import ../development/tools/misc/gtkdialog {
2809     inherit fetchurl stdenv pkgconfig;
2810     inherit (gtkLibs) gtk;
2811   };
2813   /*
2814   hsc2hs = import ../development/tools/misc/hsc2hs {
2815     inherit bleedingEdgeRepos stdenv;
2816     ghc = ghcsAndLibs.ghc68.ghc;
2817     libs = with (ghc68extraLibs ghcsAndLibs.ghc68 // ghcsAndLibs.ghc68.core_libs); [ base directory process cabal_darcs ];
2818   };
2819   */
2821   guileLint = import ../development/tools/guile/guile-lint {
2822     inherit fetchurl stdenv guile;
2823   };
2825   gwrap = import ../development/tools/guile/g-wrap {
2826     inherit fetchurl stdenv guile libffi pkgconfig guileLib glib;
2827   };
2829   help2man = import ../development/tools/misc/help2man {
2830     inherit fetchurl stdenv perl gettext;
2831     inherit (perlPackages) LocaleGettext;
2832   };
2834   iconnamingutils = import ../development/tools/misc/icon-naming-utils {
2835     inherit fetchurl stdenv perl;
2836     inherit (perlPackages) XMLSimple;
2837   };
2839   indent = import ../development/tools/misc/indent {
2840     inherit fetchurl stdenv;
2841   };
2843   jikespg = import ../development/tools/parsing/jikespg {
2844     inherit fetchurl stdenv;
2845   };
2847   kcachegrind = import ../development/tools/misc/kcachegrind {
2848     inherit fetchurl stdenv kdelibs zlib perl expat libpng libjpeg;
2849     inherit (xlibs) libX11 libXext libSM;
2850     qt = qt3;
2851   };
2853   lcov = import ../development/tools/analysis/lcov {
2854     inherit fetchurl stdenv perl;
2855   };
2857   libtool = libtool_2;
2859   libtool_1_5 = import ../development/tools/misc/libtool {
2860     inherit fetchurl stdenv perl m4;
2861   };
2863   libtool_2 = import ../development/tools/misc/libtool/libtool2.nix {
2864     inherit fetchurl stdenv lzma perl m4;
2865   };
2867   lsof = import ../development/tools/misc/lsof {
2868     inherit fetchurl stdenv;
2869   };
2871   ltrace = composedArgsAndFun (selectVersion ../development/tools/misc/ltrace "0.5-3deb") {
2872     inherit fetchurl stdenv builderDefs stringsWithDeps lib elfutils;
2873   };
2875   mk = import ../development/tools/build-managers/mk {
2876     inherit fetchurl stdenv;
2877   };
2879   noweb = import ../development/tools/literate-programming/noweb {
2880     inherit fetchurl stdenv;
2881   };
2883   openocd = import ../development/tools/misc/openocd {
2884     inherit fetchurl stdenv libftdi;
2885   };
2887   oprofile = import ../development/tools/profiling/oprofile {
2888     inherit fetchurl stdenv binutils popt;
2889     inherit makeWrapper gawk which gnugrep;
2890   };
2892   patchelf = useFromStdenv "patchelf"
2893     (import ../development/tools/misc/patchelf {
2894       inherit fetchurl stdenv;
2895     });
2897   patchelf05 = import ../development/tools/misc/patchelf/0.5.nix {
2898     inherit fetchurl stdenv;
2899   };
2901   pmccabe = import ../development/tools/misc/pmccabe {
2902     inherit fetchurl stdenv;
2903   };
2905   /**
2906    * pkgconfig is optionally taken from the stdenv to allow bootstrapping
2907    * of glib and pkgconfig itself on MinGW.
2908    */
2909   pkgconfig = useFromStdenv "pkgconfig"
2910     (import ../development/tools/misc/pkgconfig {
2911       inherit fetchurl stdenv;
2912     });
2914   radare = import ../development/tools/analysis/radare {
2915     inherit stdenv fetchurl pkgconfig libusb readline gtkdialog python
2916       ruby libewf perl;
2917     inherit (gtkLibs) gtk;
2918     inherit (gnome) vte;
2919     lua = lua5;
2920     useX11 = getConfig ["radare" "useX11"] false;
2921     pythonBindings = getConfig ["radare" "pythonBindings"] false;
2922     rubyBindings = getConfig ["radare" "rubyBindings"] false;
2923     luaBindings = getConfig ["radare" "luaBindings"] false;
2924   };
2926   ragel = import ../development/tools/parsing/ragel {
2927     inherit composableDerivation fetchurl transfig texLive;
2928   };
2930   remake = import ../development/tools/build-managers/remake {
2931       inherit fetchurl stdenv;
2932     };
2934   # couldn't find the source yet
2935   seleniumRCBin = import ../development/tools/selenium/remote-control {
2936     inherit fetchurl stdenv unzip;
2937     jre = jdk;
2938   };
2940   scons = import ../development/tools/build-managers/scons {
2941     inherit fetchurl stdenv python makeWrapper;
2942   };
2944   sloccount = import ../development/tools/misc/sloccount {
2945     inherit fetchurl stdenv perl;
2946   };
2948   sparse = import ../development/tools/analysis/sparse {
2949     inherit fetchurl stdenv pkgconfig;
2950   };
2952   spin = import ../development/tools/analysis/spin {
2953     inherit fetchurl stdenv flex yacc tk;
2954   };
2956   splint = import ../development/tools/analysis/splint {
2957     inherit fetchurl stdenv flex;
2958   };
2960   strace = import ../development/tools/misc/strace {
2961     inherit fetchurl stdenv;
2962   };
2964   swig = import ../development/tools/misc/swig {
2965     inherit fetchurl stdenv boost;
2966   };
2968   swigWithJava = swig;
2970   swftools = import ../tools/video/swftools {
2971     inherit fetchurl stdenv x264 zlib libjpeg freetype giflib;
2972   };
2974   texinfo49 = import ../development/tools/misc/texinfo/4.9.nix {
2975     inherit fetchurl stdenv ncurses;
2976   };
2978   texinfo = import ../development/tools/misc/texinfo {
2979     inherit fetchurl stdenv ncurses lzma;
2980   };
2982   texi2html = import ../development/tools/misc/texi2html {
2983     inherit fetchurl stdenv perl;
2984   };
2986   uisp = import ../development/tools/misc/uisp {
2987     inherit fetchurl stdenv;
2988   };
2990   gdb = import ../development/tools/misc/gdb {
2991     inherit fetchurl stdenv ncurses gmp mpfr expat texinfo;
2992     readline = readline5;
2993   };
2995   valgrind = import ../development/tools/analysis/valgrind {
2996     inherit fetchurl stdenv perl gdb;
2997   };
2999   xxdiff = builderDefsPackage (selectVersion ../development/tools/misc/xxdiff "3.2") {
3000     flex = flex2535;
3001     qt = qt3;
3002     inherit pkgconfig makeWrapper bison python;
3003     inherit (xlibs) libXext libX11;
3004   };
3006   yacc = bison;
3008   yodl = import ../development/tools/misc/yodl {
3009     inherit stdenv fetchurl perl;
3010   };
3013   ### DEVELOPMENT / LIBRARIES
3016   a52dec = import ../development/libraries/a52dec {
3017     inherit fetchurl stdenv;
3018   };
3020   aalib = import ../development/libraries/aalib {
3021     inherit fetchurl stdenv ncurses;
3022   };
3024   acl = useFromStdenv "acl"
3025     (import ../development/libraries/acl {
3026       inherit stdenv fetchurl gettext attr libtool;
3027     });
3029   adns = selectVersion ../development/libraries/adns "1.4" {
3030     inherit stdenv fetchurl;
3031     static = getPkgConfig "adns" "static" (stdenv ? isStatic || stdenv ? isDietLibC);
3032   };
3034   agg = import ../development/libraries/agg {
3035     inherit fetchurl stdenv autoconf automake libtool pkgconfig
3036       freetype SDL;
3037     inherit (xlibs) libX11;
3038   };
3040   amrnb = import ../development/libraries/amrnb {
3041     inherit fetchurl stdenv unzip;
3042   };
3044   amrwb = import ../development/libraries/amrwb {
3045     inherit fetchurl stdenv unzip;
3046   };
3048   apr = makeOverridable (import ../development/libraries/apr) {
3049     inherit (pkgsOverriden) fetchurl stdenv;
3050   };
3052   aprutil = makeOverridable (import ../development/libraries/apr-util) {
3053     inherit (pkgsOverriden) fetchurl stdenv apr expat db4;
3054     bdbSupport = true;
3055   };
3057   arts = import ../development/libraries/arts {
3058     inherit fetchurl stdenv pkgconfig;
3059     inherit (xlibs) libX11 libXext;
3060     inherit kdelibs zlib libjpeg libpng perl;
3061     qt = qt3;
3062     inherit (gnome) glib;
3063   };
3065   aspell = import ../development/libraries/aspell {
3066     inherit fetchurl stdenv perl;
3067   };
3069   aspellDicts = recurseIntoAttrs (import ../development/libraries/aspell/dictionaries.nix {
3070     inherit fetchurl stdenv aspell which;
3071   });
3073   aterm = aterm25;
3075   aterm242fixes = lowPrio (import ../development/libraries/aterm/2.4.2-fixes.nix {
3076     inherit fetchurl stdenv;
3077   });
3079   aterm25 = makeOverridable (import ../development/libraries/aterm/2.5.nix) {
3080     inherit fetchurl stdenv;
3081   };
3083   aterm28 = lowPrio (import ../development/libraries/aterm/2.8.nix {
3084     inherit fetchurl stdenv;
3085   });
3087   attr = useFromStdenv "attr"
3088     (import ../development/libraries/attr {
3089       inherit stdenv fetchurl gettext libtool;
3090     });
3092   aubio = import ../development/libraries/aubio {
3093     inherit fetchurl stdenv pkgconfig fftw libsndfile libsamplerate python
3094       alsaLib jackaudio;
3095   };
3097   axis = import ../development/libraries/axis {
3098     inherit fetchurl stdenv;
3099   };
3101   babl = import ../development/libraries/babl {
3102     inherit fetchurl stdenv;
3103   };
3105   beecrypt = import ../development/libraries/beecrypt {
3106     inherit fetchurl stdenv m4;
3107   };
3109   boehmgc = import ../development/libraries/boehm-gc {
3110     inherit fetchurl stdenv;
3111   };
3113   boolstuff = import ../development/libraries/boolstuff {
3114     inherit fetchurl stdenv lib pkgconfig;
3115   };
3117   boost_1_36_0 = import ../development/libraries/boost/1.36.0.nix {
3118     inherit fetchurl stdenv icu expat zlib bzip2 python;
3119   };
3121   boost = makeOverridable (import ../development/libraries/boost/1.40.0.nix) {
3122     inherit fetchurl stdenv icu expat zlib bzip2 python;
3123   };
3125   # A Boost build with all library variants enabled.  Very large (about 250 MB).
3126   boostFull = appendToName "full" (boost.override {
3127     enableDebug = true;
3128     enableSingleThreaded = true;
3129     enableStatic = true;
3130   });
3132   botan = builderDefsPackage (import ../development/libraries/botan) {
3133     inherit perl;
3134   };
3136   buddy = import ../development/libraries/buddy {
3137     inherit fetchurl stdenv bison;
3138   };
3140   cairo = import ../development/libraries/cairo {
3141     inherit fetchurl stdenv pkgconfig x11 fontconfig freetype zlib libpng;
3142     inherit (xlibs) pixman libxcb xcbutil;
3143   };
3145   cairomm = import ../development/libraries/cairomm {
3146     inherit fetchurl stdenv pkgconfig cairo x11 fontconfig freetype libsigcxx;
3147   };
3149   ccrtp = import ../development/libraries/ccrtp {
3150     inherit fetchurl stdenv lib pkgconfig openssl libgcrypt commoncpp2;
3151   };
3153   chipmunk = builderDefsPackage (import ../development/libraries/chipmunk) {
3154     inherit cmake freeglut mesa;
3155     inherit (xlibs) libX11 xproto inputproto libXi libXmu;
3156   };
3158   chmlib = import ../development/libraries/chmlib {
3159     inherit fetchurl stdenv;
3160   };
3162   cil = import ../development/libraries/cil {
3163     inherit stdenv fetchurl ocaml perl;
3164   };
3166   cilaterm = import ../development/libraries/cil-aterm {
3167     stdenv = overrideInStdenv stdenv [gnumake380];
3168     inherit fetchurl perl ocaml;
3169   };
3171   clanlib = import ../development/libraries/clanlib {
3172     inherit fetchurl stdenv zlib libpng libjpeg libvorbis libogg mesa;
3173     inherit (xlibs) libX11 xf86vidmodeproto libXmu libXxf86vm;
3174   };
3176   classpath = import ../development/libraries/java/classpath {
3177     javac = gcj;
3178     jvm = gcj;
3179     inherit fetchurl stdenv pkgconfig antlr;
3180     inherit (gtkLibs) gtk;
3181     gconf = gnome.GConf;
3182   };
3184   clearsilver = import ../development/libraries/clearsilver {
3185     inherit fetchurl stdenv python;
3186   };
3188   clppcre = builderDefsPackage (import ../development/libraries/cl-ppcre) {
3189   };
3191   cluceneCore = (import ../development/libraries/clucene-core) {
3192     inherit fetchurl stdenv;
3193   };
3195   commoncpp2 = import ../development/libraries/commoncpp2 {
3196     inherit stdenv fetchurl lib;
3197   };
3199   consolekit = makeOverridable (import ../development/libraries/consolekit) {
3200     inherit stdenv fetchurl pkgconfig dbus_glib zlib pam policykit expat glib;
3201     inherit (xlibs) libX11;
3202   };
3204   coredumper = import ../development/libraries/coredumper {
3205     inherit fetchurl stdenv;
3206   };
3208   ctl = import ../development/libraries/ctl {
3209     inherit fetchurl stdenv ilmbase;
3210   };
3212   cppunit = import ../development/libraries/cppunit {
3213     inherit fetchurl stdenv;
3214   };
3216   cracklib = import ../development/libraries/cracklib {
3217     inherit fetchurl stdenv;
3218   };
3220   cryptopp = import ../development/libraries/crypto++ {
3221     inherit fetchurl stdenv unzip libtool;
3222   };
3224   cyrus_sasl = import ../development/libraries/cyrus-sasl {
3225     inherit fetchurl stdenv openssl db4 gettext;
3226   };
3228   db4 = db45;
3230   db44 = import ../development/libraries/db4/db4-4.4.nix {
3231     inherit fetchurl stdenv;
3232   };
3234   db45 = import ../development/libraries/db4/db4-4.5.nix {
3235     inherit fetchurl stdenv;
3236   };
3238   dbus = import ../development/libraries/dbus {
3239     inherit fetchurl stdenv pkgconfig expat;
3240     inherit (xlibs) libX11 libICE libSM;
3241     useX11 = true; # !!! `false' doesn't build
3242   };
3244   dbus_glib = makeOverridable (import ../development/libraries/dbus-glib) {
3245     inherit fetchurl stdenv pkgconfig gettext dbus expat glib;
3246   };
3248   dclib = import ../development/libraries/dclib {
3249     inherit fetchurl stdenv libxml2 openssl bzip2;
3250   };
3252   directfb = import ../development/libraries/directfb {
3253     inherit fetchurl stdenv perl zlib libjpeg freetype
3254       SDL libpng giflib;
3255     inherit (xlibs) libX11 libXext xproto xextproto renderproto
3256       libXrender;
3257   };
3259   enchant = makeOverridable
3260       (selectVersion ../development/libraries/enchant "1.3.0")
3261   {
3262     inherit fetchurl stdenv aspell pkgconfig;
3263     inherit (gnome) glib;
3264   };
3266   exiv2 = import ../development/libraries/exiv2 {
3267     inherit fetchurl stdenv zlib;
3268   };
3270   expat = import ../development/libraries/expat {
3271     inherit fetchurl stdenv;
3272   };
3274   extremetuxracer = builderDefsPackage (import ../games/extremetuxracer) {
3275     inherit mesa tcl freeglut SDL SDL_mixer pkgconfig
3276         libpng gettext intltool;
3277     inherit (xlibs) libX11 xproto libXi inputproto
3278         libXmu libXext xextproto libXt libSM libICE;
3279   };
3281   eventlog = import ../development/libraries/eventlog {
3282     inherit fetchurl stdenv;
3283   };
3285   facile = import ../development/libraries/facile {
3286     inherit fetchurl stdenv;
3287     # Actually, we don't need this version but we need native-code compilation
3288     ocaml = ocaml_3_10_0;
3289   };
3291   faac = import ../development/libraries/faac {
3292     inherit fetchurl stdenv autoconf automake libtool;
3293   };
3295   faad2 = import ../development/libraries/faad2 {
3296     inherit fetchurl stdenv;
3297   };
3299   fcgi = import ../development/libraries/fcgi {
3300       inherit fetchurl stdenv;
3301   };
3303   ffmpeg = import ../development/libraries/ffmpeg {
3304     inherit fetchurl stdenv faad2;
3305   };
3307   fftw = import ../development/libraries/fftw {
3308     inherit fetchurl stdenv builderDefs stringsWithDeps;
3309     singlePrecision = false;
3310   };
3312   fftwSinglePrec = import ../development/libraries/fftw {
3313     inherit fetchurl stdenv builderDefs stringsWithDeps;
3314     singlePrecision = true;
3315   };
3317   fltk11 = (import ../development/libraries/fltk/fltk11.nix) {
3318     inherit composableDerivation x11 lib pkgconfig freeglut;
3319     inherit fetchurl stdenv mesa mesaHeaders libpng libjpeg zlib ;
3320     inherit (xlibs) inputproto libXi libXinerama libXft;
3321     flags = [ "useNixLibs" "threads" "shared" "gl" ];
3322   };
3324   fltk20 = (import ../development/libraries/fltk) {
3325     inherit composableDerivation x11 lib pkgconfig freeglut;
3326     inherit fetchurl stdenv mesa mesaHeaders libpng libjpeg zlib ;
3327     inherit (xlibs) inputproto libXi libXinerama libXft;
3328     flags = [ "useNixLibs" "threads" "shared" "gl" ];
3329   };
3331   fmod = import ../development/libraries/fmod {
3332     inherit stdenv fetchurl;
3333   };
3335   freeimage = import ../development/libraries/freeimage {
3336     inherit fetchurl stdenv unzip;
3337   };
3339   freetts = import ../development/libraries/freetts {
3340     inherit stdenv fetchurl apacheAnt unzip sharutils lib;
3341   };
3343   cfitsio = import ../development/libraries/cfitsio {
3344     inherit fetchurl stdenv;
3345   };
3347   fontconfig = import ../development/libraries/fontconfig {
3348     inherit fetchurl stdenv freetype expat;
3349   };
3351   makeFontsConf = let fontconfig_ = fontconfig; in {fontconfig ? fontconfig_, fontDirectories}:
3352     import ../development/libraries/fontconfig/make-fonts-conf.nix {
3353       inherit runCommand libxslt fontconfig fontDirectories;
3354     };
3356   freealut = import ../development/libraries/freealut {
3357     inherit fetchurl stdenv openal;
3358   };
3360   freeglut = import ../development/libraries/freeglut {
3361     inherit fetchurl stdenv x11 mesa;
3362   };
3364   freetype = import ../development/libraries/freetype {
3365     inherit fetchurl stdenv;
3366   };
3368   fribidi = import ../development/libraries/fribidi {
3369     inherit fetchurl stdenv;
3370   };
3372   fam = gamin;
3374   gamin = import ../development/libraries/gamin {
3375     inherit fetchurl stdenv python pkgconfig glib;
3376   };
3378   gav = import ../games/gav {
3379     inherit fetchurl SDL SDL_image SDL_mixer SDL_net;
3380     stdenv = overrideGCC stdenv gcc41;
3381   };
3383   gdbm = import ../development/libraries/gdbm {
3384     inherit fetchurl stdenv;
3385   };
3387   gdk_pixbuf = import ../development/libraries/gdk-pixbuf {
3388     inherit fetchurl stdenv libtiff libjpeg libpng;
3389     inherit (gtkLibs1x) gtk;
3390   };
3392   gegl = import ../development/libraries/gegl {
3393     inherit fetchurl stdenv libpng pkgconfig babl;
3394     openexr = openexr_1_6_1;
3395     #  avocodec avformat librsvg
3396     inherit cairo libjpeg librsvg;
3397     inherit (gtkLibs) pango glib gtk;
3398   };
3400   geoip = builderDefsPackage ../development/libraries/geoip {
3401     inherit zlib;
3402   };
3404   geos = import ../development/libraries/geos {
3405     inherit fetchurl fetchsvn stdenv autoconf
3406       automake libtool swig which lib composableDerivation python ruby;
3407     use_svn = stdenv.system == "x86_64-linux";
3408   };
3410   gettext = import ../development/libraries/gettext {
3411     inherit fetchurl stdenv libiconv;
3412   };
3414   gd = import ../development/libraries/gd {
3415     inherit fetchurl stdenv zlib libpng freetype libjpeg fontconfig;
3416   };
3418   gdal = stdenv.mkDerivation {
3419     name = "gdal-1.6.1-rc1";
3420     src = fetchurl {
3421       url = ftp://ftp.remotesensing.org/gdal/gdal-1.6.1-RC1.tar.gz;
3422       sha256 = "0f7da588yvb1d3l3gk5m0hrqlhg8m4gw93aip3dwkmnawz9r0qcw";
3423     };
3424   };
3426   giblib = import ../development/libraries/giblib {
3427     inherit fetchurl stdenv x11 imlib2;
3428   };
3430   glew = import ../development/libraries/glew {
3431     inherit fetchurl stdenv mesa x11 libtool;
3432     inherit (xlibs) libXmu libXi;
3433   };
3435   glibc =
3436     let haveRedHatKernel       = system == "i686-linux" || system == "x86_64-linux";
3437         haveBrokenRedHatKernel = haveRedHatKernel && getConfig ["brokenRedHatKernel"] false;
3438     in
3439     useFromStdenv "glibc" (if haveBrokenRedHatKernel then glibc25 else glibc29);
3441   glibc25 = import ../development/libraries/glibc-2.5 {
3442     inherit fetchurl stdenv kernelHeaders;
3443     installLocales = getPkgConfig "glibc" "locales" false;
3444   };
3446   glibc27 = import ../development/libraries/glibc-2.7 {
3447     inherit fetchurl stdenv kernelHeaders;
3448     #installLocales = false;
3449   };
3451   glibc29 = import ../development/libraries/glibc-2.9 {
3452     inherit fetchurl stdenv kernelHeaders;
3453     installLocales = getPkgConfig "glibc" "locales" false;
3454   };
3456   glibcLocales = makeOverridable (import ../development/libraries/glibc-2.9/locales.nix) {
3457     inherit fetchurl stdenv;
3458   };
3460   glibcInfo = import ../development/libraries/glibc-2.9/info.nix {
3461     inherit fetchurl stdenv texinfo perl;
3462   };
3464   glibc_multi =
3465       runCommand "${glibc.name}-multi"
3466         { glibc64 = glibc;
3467           glibc32 = (import ./all-packages.nix {system = "i686-linux";}).glibc;
3468         }
3469         ''
3470           ensureDir $out
3471           ln -s $glibc64/* $out/
3473           rm $out/lib $out/lib64
3474           ensureDir $out/lib
3475           ln -s $glibc64/lib/* $out/lib
3476           ln -s $glibc32/lib $out/lib/32
3477           ln -s lib $out/lib64
3479           rm $out/include
3480           cp -rs $glibc32/include $out
3481           chmod -R u+w $out/include
3482           cp -rsf $glibc64/include $out
3483         '' # */
3484         ;
3486   gmime = import ../development/libraries/gmime {
3487     inherit fetchurl stdenv pkgconfig zlib glib;
3488   };
3490   gmm = import ../development/libraries/gmm {
3491     inherit fetchurl stdenv;
3492   };
3494   gmp = import ../development/libraries/gmp {
3495     inherit fetchurl stdenv m4;
3496     cxx = false;
3497   };
3499   gmpxx = import ../development/libraries/gmp {
3500     inherit fetchurl stdenv m4;
3501     cxx = true;
3502   };
3504   goffice = import ../development/libraries/goffice {
3505     inherit fetchurl stdenv pkgconfig libgsf libxml2 cairo
3506       intltool gettext bzip2;
3507     inherit (gnome) glib gtk libglade libgnomeui pango;
3508     gconf = gnome.GConf;
3509     libart = gnome.libart_lgpl;
3510   };
3512   goocanvas = import ../development/libraries/goocanvas {
3513     inherit fetchurl stdenv pkgconfig cairo;
3514     inherit (gnome) gtk glib;
3515   };
3517   #GMP ex-satellite, so better keep it near gmp
3518   mpfr = import ../development/libraries/mpfr {
3519     inherit fetchurl stdenv gmp;
3520   };
3522   gst_all = recurseIntoAttrs (import ../development/libraries/gstreamer {
3523     inherit lib selectVersion stdenv fetchurl perl bison pkgconfig libxml2
3524       python alsaLib cdparanoia libogg libvorbis libtheora freetype liboil
3525       libjpeg zlib speex libpng libdv aalib cairo libcaca flac hal libiec61883
3526       dbus libavc1394 ladspaH taglib pulseaudio gdbm bzip2 which makeOverridable;
3527     flex = flex2535;
3528     inherit (xorg) libX11 libXv libXext;
3529     inherit (gtkLibs) glib pango gtk;
3530     inherit (gnome) gnomevfs /* <- only passed for the no longer used older versions
3531              it is deprecated and didn't build on amd64 due to samba dependency */ gtkdoc
3532              libsoup;
3533   });
3535   gnet = import ../development/libraries/gnet {
3536     inherit fetchurl stdenv pkgconfig glib;
3537   };
3539   gnutls = import ../development/libraries/gnutls {
3540     inherit fetchurl stdenv libgcrypt zlib lzo libtasn1 guile;
3541     guileBindings = getConfig ["gnutls" "guile"] true;
3542   };
3544   gpgme = import ../development/libraries/gpgme {
3545     inherit fetchurl stdenv libgpgerror pkgconfig pth gnupg gnupg2 glib;
3546   };
3548   # gnu scientific library
3549   gsl = import ../development/libraries/gsl {
3550     inherit fetchurl stdenv;
3551   };
3553   gtkimageview = import ../development/libraries/gtkimageview {
3554     inherit fetchurl stdenv pkgconfig;
3555     inherit (gnome) gtk;
3556   };
3558   gtkLibs = recurseIntoAttrs gtkLibs218;
3560   glib = gtkLibs.glib;
3562   gtkLibs1x = rec {
3564     glib = import ../development/libraries/glib/1.2.x.nix {
3565       inherit fetchurl stdenv;
3566     };
3568     gtk = import ../development/libraries/gtk+/1.2.x.nix {
3569       inherit fetchurl stdenv x11 glib;
3570     };
3572   };
3574   gtkLibs216 = rec {
3576     glib = import ../development/libraries/glib/2.20.x.nix {
3577       inherit fetchurl stdenv pkgconfig gettext perl;
3578     };
3580     glibmm = import ../development/libraries/glibmm/2.18.x.nix {
3581       inherit fetchurl stdenv pkgconfig glib libsigcxx;
3582     };
3584     atk = import ../development/libraries/atk/1.24.x.nix {
3585       inherit fetchurl stdenv pkgconfig perl glib;
3586     };
3588     pango = import ../development/libraries/pango/1.24.x.nix {
3589       inherit fetchurl stdenv pkgconfig gettext x11 glib cairo libpng;
3590     };
3592     pangomm = import ../development/libraries/pangomm/2.14.x.nix {
3593       inherit fetchurl stdenv pkgconfig pango glibmm cairomm libpng;
3594     };
3596     gtk = import ../development/libraries/gtk+/2.16.x.nix {
3597       inherit fetchurl stdenv pkgconfig perl jasper x11 glib atk pango
3598         libtiff libjpeg libpng cairo xlibs;
3599     };
3601     gtkmm = import ../development/libraries/gtkmm/2.14.x.nix {
3602       inherit fetchurl stdenv pkgconfig gtk atk glibmm cairomm pangomm;
3603     };
3605   };
3607   gtkLibs218 = rec {
3609     glib = import ../development/libraries/glib/2.22.x.nix {
3610       inherit fetchurl stdenv pkgconfig gettext perl;
3611     };
3613     glibmm = import ../development/libraries/glibmm/2.22.x.nix {
3614       inherit fetchurl stdenv pkgconfig glib libsigcxx;
3615     };
3617     atk = import ../development/libraries/atk/1.28.x.nix {
3618       inherit fetchurl stdenv pkgconfig perl glib;
3619     };
3621     pango = import ../development/libraries/pango/1.26.x.nix {
3622       inherit fetchurl stdenv pkgconfig gettext x11 glib cairo libpng;
3623     };
3625     pangomm = import ../development/libraries/pangomm/2.26.x.nix {
3626       inherit fetchurl stdenv pkgconfig pango glibmm cairomm libpng;
3627     };
3629     gtk = import ../development/libraries/gtk+/2.18.x.nix {
3630       inherit fetchurl stdenv pkgconfig perl jasper glib atk pango
3631         libtiff libjpeg libpng cairo xlibs cups;
3632     };
3634     gtkmm = import ../development/libraries/gtkmm/2.18.x.nix {
3635       inherit fetchurl stdenv pkgconfig gtk atk glibmm cairomm pangomm;
3636     };
3638   };
3640   gtkmozembedsharp = import ../development/libraries/gtkmozembed-sharp {
3641     inherit fetchurl stdenv mono pkgconfig monoDLLFixer;
3642     inherit (gnome) gtk;
3643     gtksharp = gtksharp2;
3644   };
3646   gtksharp1 = import ../development/libraries/gtk-sharp-1 {
3647     inherit fetchurl stdenv mono pkgconfig libxml2 monoDLLFixer;
3648     inherit (gnome) gtk glib pango libglade libgtkhtml gtkhtml
3649               libgnomecanvas libgnomeui libgnomeprint
3650               libgnomeprintui GConf;
3651   };
3653   gtksharp2 = import ../development/libraries/gtk-sharp-2 {
3654     inherit fetchurl stdenv mono pkgconfig libxml2 monoDLLFixer;
3655     inherit (gnome) gtk glib pango libglade libgtkhtml gtkhtml
3656               libgnomecanvas libgnomeui libgnomeprint
3657               libgnomeprintui GConf gnomepanel;
3658   };
3660   gtksourceviewsharp = import ../development/libraries/gtksourceview-sharp {
3661     inherit fetchurl stdenv mono pkgconfig monoDLLFixer;
3662     inherit (gnome) gtksourceview;
3663     gtksharp = gtksharp2;
3664   };
3666   gtkspell = import ../development/libraries/gtkspell {
3667     inherit fetchurl stdenv pkgconfig;
3668     inherit (gtkLibs) gtk;
3669     inherit aspell;
3670   };
3672   # TODO : Add MIT Kerberos and let admin choose.
3673   kerberos = heimdal;
3675   heimdal = import ../development/libraries/kerberos/heimdal.nix {
3676     inherit fetchurl stdenv readline db4 openssl openldap cyrus_sasl;
3677   };
3679   hsqldb = import ../development/libraries/java/hsqldb {
3680     inherit stdenv fetchurl unzip;
3681   };
3683   hwloc = import ../development/libraries/hwloc {
3684     inherit fetchurl stdenv pkgconfig cairo expat;
3685   };
3687   icu = import ../development/libraries/icu {
3688     inherit fetchurl stdenv;
3689   };
3691   id3lib = import ../development/libraries/id3lib {
3692     inherit fetchurl stdenv;
3693   };
3695   ilbc = import ../development/libraries/ilbc {
3696     inherit stdenv msilbc;
3697   };
3699   ilmbase = import ../development/libraries/ilmbase {
3700     inherit fetchurl stdenv;
3701   };
3703   imlib = import ../development/libraries/imlib {
3704     inherit fetchurl stdenv libjpeg libtiff libungif libpng;
3705     inherit (xlibs) libX11 libXext xextproto;
3706   };
3708   imlib2 = import ../development/libraries/imlib2 {
3709     inherit fetchurl stdenv x11 libjpeg libtiff libungif libpng bzip2;
3710   };
3712   indilib = import ../development/libraries/indilib {
3713     inherit fetchurl stdenv cfitsio libusb zlib;
3714   };
3716   iniparser = import ../development/libraries/iniparser {
3717     inherit fetchurl stdenv;
3718   };
3720   intltool = gnome.intltool;
3722   isocodes = import ../development/libraries/iso-codes {
3723     inherit stdenv fetchurl gettext python;
3724   };
3726   jasper = import ../development/libraries/jasper {
3727     inherit fetchurl stdenv unzip xlibs libjpeg;
3728   };
3730   jetty_gwt = import ../development/libraries/java/jetty-gwt {
3731     inherit stdenv fetchurl;
3732   };
3734   jetty_util = import ../development/libraries/java/jetty-util {
3735     inherit stdenv fetchurl;
3736   };
3738   krb5 = import ../development/libraries/kerberos/krb5.nix {
3739     inherit stdenv fetchurl perl ncurses yacc;
3740   };
3742   lablgtk = import ../development/libraries/lablgtk {
3743     inherit fetchurl stdenv ocaml pkgconfig;
3744     inherit (gtkLibs) gtk;
3745     inherit (gnome) libgnomecanvas;
3746   };
3748   lcms = import ../development/libraries/lcms {
3749     inherit fetchurl stdenv;
3750   };
3752   lesstif = import ../development/libraries/lesstif {
3753     inherit fetchurl stdenv x11;
3754     inherit (xlibs) libXp libXau;
3755   };
3757   lesstif93 = import ../development/libraries/lesstif-0.93 {
3758     inherit fetchurl stdenv x11;
3759     inherit (xlibs) libXp libXau;
3760   };
3762   lib3ds = import ../development/libraries/lib3ds {
3763     inherit fetchurl stdenv unzip;
3764   };
3766   libaal = import ../development/libraries/libaal {
3767     inherit fetchurl stdenv;
3768   };
3770   libao = import ../development/libraries/libao {
3771     inherit stdenv fetchurl pkgconfig pulseaudio;
3772   };
3774   libarchive = import ../development/libraries/libarchive {
3775     inherit fetchurl stdenv zlib bzip2 e2fsprogs sharutils;
3776   };
3778   libassuan = import ../development/libraries/libassuan {
3779     inherit fetchurl stdenv pth;
3780   };
3782   libavc1394 = import ../development/libraries/libavc1394 {
3783     inherit fetchurl stdenv pkgconfig libraw1394;
3784   };
3786   libcaca = import ../development/libraries/libcaca {
3787     inherit fetchurl stdenv ncurses;
3788   };
3790   libcanberra = import ../development/libraries/libcanberra {
3791     inherit fetchurl stdenv pkgconfig libtool alsaLib pulseaudio libvorbis;
3792     inherit (gtkLibs) gtk gthread;
3793     gstreamer = gst_all.gstreamer;
3794   };
3796   libcdaudio = import ../development/libraries/libcdaudio {
3797     inherit fetchurl stdenv;
3798   };
3800   libcddb = import ../development/libraries/libcddb {
3801     inherit fetchurl stdenv;
3802   };
3804   libcdio = import ../development/libraries/libcdio {
3805     inherit fetchurl stdenv libcddb pkgconfig ncurses help2man;
3806   };
3808   libcm = import ../development/libraries/libcm {
3809     inherit fetchurl stdenv pkgconfig xlibs mesa glib;
3810   };
3812   libcv = builderDefsPackage (import ../development/libraries/libcv) {
3813     inherit libtiff libjpeg libpng pkgconfig;
3814     inherit (gtkLibs) gtk glib;
3815   };
3817   libdaemon = import ../development/libraries/libdaemon {
3818     inherit fetchurl stdenv;
3819   };
3821   libdbi = composedArgsAndFun (selectVersion ../development/libraries/libdbi "0.8.2") {
3822     inherit stdenv fetchurl builderDefs;
3823   };
3825   libdbiDriversBase = composedArgsAndFun
3826     (selectVersion ../development/libraries/libdbi-drivers "0.8.2-1")
3827     {
3828       inherit stdenv fetchurl builderDefs libdbi;
3829     };
3831   libdbiDrivers = libdbiDriversBase.passthru.function {
3832     inherit sqlite mysql;
3833   };
3835   libdv = import ../development/libraries/libdv {
3836     inherit fetchurl stdenv lib composableDerivation;
3837   };
3839   libdrm = import ../development/libraries/libdrm {
3840     inherit fetchurl stdenv pkgconfig;
3841     inherit (xorg) libpthreadstubs;
3842   };
3844   libdvdcss = import ../development/libraries/libdvdcss {
3845     inherit fetchurl stdenv;
3846   };
3848   libdvdnav = import ../development/libraries/libdvdnav {
3849     inherit fetchurl stdenv libdvdread;
3850   };
3852   libdvdread = import ../development/libraries/libdvdread {
3853     inherit fetchurl stdenv libdvdcss;
3854   };
3856   libedit = import ../development/libraries/libedit {
3857     inherit fetchurl stdenv ncurses;
3858   };
3860   liblo = import ../development/libraries/liblo {
3861     inherit fetchurl stdenv;
3862   };
3864   libev = builderDefsPackage ../development/libraries/libev {
3865   };
3867   libevent = import ../development/libraries/libevent {
3868     inherit fetchurl stdenv;
3869   };
3871   libewf = import ../development/libraries/libewf {
3872     inherit fetchurl stdenv zlib openssl libuuid;
3873   };
3875   libexif = import ../development/libraries/libexif {
3876     inherit fetchurl stdenv gettext;
3877   };
3879   libextractor = composedArgsAndFun (selectVersion ../development/libraries/libextractor "0.5.18") {
3880     inherit fetchurl stdenv builderDefs zlib;
3881   };
3883   libffcall = builderDefsPackage (import ../development/libraries/libffcall) {
3884     inherit fetchcvs;
3885   };
3887   libffi = import ../development/libraries/libffi {
3888     inherit fetchurl stdenv;
3889   };
3891   libftdi = import ../development/libraries/libftdi {
3892     inherit fetchurl stdenv libusb;
3893   };
3895   libgcrypt = import ../development/libraries/libgcrypt {
3896     inherit fetchurl stdenv libgpgerror;
3897   };
3899   libgpgerror = import ../development/libraries/libgpg-error {
3900     inherit fetchurl stdenv;
3901   };
3903   libgphoto2 = import ../development/libraries/libgphoto2 {
3904     inherit fetchurl stdenv pkgconfig libusb libtool libexif libjpeg gettext;
3905   };
3907   libgpod = import ../development/libraries/libgpod {
3908     inherit fetchurl stdenv gettext perl perlXMLParser pkgconfig libxml2 glib;
3909   };
3911   libharu = import ../development/libraries/libharu {
3912     inherit fetchurl stdenv lib zlib libpng;
3913   };
3915   libical = import ../development/libraries/libical {
3916     inherit stdenv fetchurl perl;
3917   };
3919   libQGLViewer = import ../development/libraries/libqglviewer {
3920     inherit fetchurl stdenv;
3921     inherit qt4;
3922   };
3924   libsamplerate = import ../development/libraries/libsamplerate {
3925     inherit fetchurl stdenv pkgconfig lib;
3926   };
3928   libspectre = import ../development/libraries/libspectre {
3929     inherit fetchurl stdenv;
3930     ghostscript = ghostscriptX;
3931   };
3933   libgsf = import ../development/libraries/libgsf {
3934     inherit fetchurl stdenv perl perlXMLParser pkgconfig libxml2
3935       intltool gettext bzip2 python;
3936     inherit (gnome) glib gnomevfs libbonobo;
3937   };
3939   libiconv = import ../development/libraries/libiconv {
3940     inherit fetchurl stdenv;
3941   };
3943   libid3tag = import ../development/libraries/libid3tag {
3944     inherit fetchurl stdenv zlib;
3945   };
3947   libidn = import ../development/libraries/libidn {
3948     inherit fetchurl stdenv;
3949   };
3951   libiec61883 = import ../development/libraries/libiec61883 {
3952     inherit fetchurl stdenv pkgconfig libraw1394;
3953   };
3955   libjingle = selectVersion ../development/libraries/libjingle "0.3.11" {
3956     inherit fetchurl stdenv mediastreamer;
3957   };
3959   libjpeg = makeOverridable (import ../development/libraries/libjpeg) {
3960     inherit fetchurl stdenv;
3961     libtool = libtool_1_5;
3962   };
3964   libjpegStatic = lowPrio (appendToName "static" (libjpeg.override {
3965     static = true;
3966   }));
3968   libksba = import ../development/libraries/libksba {
3969     inherit fetchurl stdenv libgpgerror;
3970   };
3972   libmad = import ../development/libraries/libmad {
3973     inherit fetchurl stdenv;
3974   };
3976   libmcs = import ../development/libraries/libmcs {
3977     inherit fetchurl stdenv pkgconfig libmowgli;
3978   };
3980   libmicrohttpd = import ../development/libraries/libmicrohttpd {
3981     inherit fetchurl stdenv curl;
3982   };
3984   libmowgli = import ../development/libraries/libmowgli {
3985     inherit fetchurl stdenv;
3986   };
3988   libmng = import ../development/libraries/libmng {
3989     inherit fetchurl stdenv lib zlib libpng libjpeg lcms automake autoconf libtool;
3990   };
3992   libmpcdec = import ../development/libraries/libmpcdec {
3993     inherit fetchurl stdenv;
3994   };
3996   libmsn = import ../development/libraries/libmsn {
3997     inherit stdenv fetchurl cmake openssl;
3998   };
4000   libmspack = import ../development/libraries/libmspack {
4001     inherit fetchurl stdenv;
4002   };
4004   libnova = import ../development/libraries/libnova {
4005     inherit fetchurl stdenv;
4006   };
4008   libogg = import ../development/libraries/libogg {
4009     inherit fetchurl stdenv;
4010   };
4012   liboil = makeOverridable (import ../development/libraries/liboil) {
4013     inherit fetchurl stdenv pkgconfig glib;
4014   };
4016   liboop = import ../development/libraries/liboop {
4017     inherit fetchurl stdenv;
4018   };
4020   libotr = import ../development/libraries/libotr {
4021     inherit fetchurl stdenv libgcrypt;
4022   };
4024   libpcap = import ../development/libraries/libpcap {
4025     inherit fetchurl stdenv flex bison;
4026   };
4028   libpng = import ../development/libraries/libpng {
4029     inherit fetchurl stdenv zlib;
4030   };
4032   libproxy = import ../development/libraries/libproxy {
4033     inherit stdenv fetchurl;
4034   };
4036   libpseudo = import ../development/libraries/libpseudo {
4037     inherit fetchurl stdenv pkgconfig ncurses glib;
4038   };
4040   /*libscdFun = lib.sumArgs (selectVersion ../development/libraries/libscd "0.4.2") {
4041     inherit stdenv fetchurl builderDefs libextractor perl pkgconfig;
4042   };
4044   libscd = libscdFun null;*/
4046   libsigcxx = import ../development/libraries/libsigcxx {
4047     inherit fetchurl stdenv pkgconfig;
4048   };
4050   libsigsegv = import ../development/libraries/libsigsegv {
4051     inherit fetchurl stdenv;
4052   };
4054   # To bootstrap SBCL, I need CLisp 2.44.1; it needs libsigsegv 2.5
4055   libsigsegv_25 =  import ../development/libraries/libsigsegv/2.5.nix {
4056     inherit fetchurl stdenv;
4057   };
4059   libsndfile = import ../development/libraries/libsndfile {
4060     inherit fetchurl stdenv;
4061   };
4063   libtasn1 = import ../development/libraries/libtasn1 {
4064     inherit fetchurl stdenv;
4065   };
4067   libtheora = import ../development/libraries/libtheora {
4068     inherit fetchurl stdenv libogg libvorbis;
4069   };
4071   libtiff = import ../development/libraries/libtiff {
4072     inherit fetchurl stdenv zlib libjpeg;
4073   };
4075   libtommath = import ../development/libraries/libtommath {
4076     inherit fetchurl stdenv libtool;
4077   };
4079   libunistring = import ../development/libraries/libunistring {
4080     inherit fetchurl stdenv libiconv;
4081   };
4083   libupnp = import ../development/libraries/pupnp {
4084     inherit fetchurl stdenv;
4085   };
4087   giflib = import ../development/libraries/giflib {
4088     inherit fetchurl stdenv;
4089   };
4091   libungif = import ../development/libraries/giflib/libungif.nix {
4092     inherit fetchurl stdenv;
4093   };
4095   libusb = import ../development/libraries/libusb {
4096     inherit fetchurl stdenv;
4097   };
4099   libunwind = import ../development/libraries/libunwind {
4100     inherit fetchurl stdenv;
4101   };
4103   libvncserver = builderDefsPackage (import ../development/libraries/libvncserver) {
4104     inherit libtool libjpeg openssl zlib;
4105     inherit (xlibs) xproto libX11 damageproto libXdamage
4106       libXext xextproto fixesproto libXfixes xineramaproto
4107       libXinerama libXrandr randrproto libXtst;
4108   };
4110   libviper = import ../development/libraries/libviper {
4111     inherit fetchurl stdenv pkgconfig ncurses gpm glib;
4112   };
4114   libvterm = import ../development/libraries/libvterm {
4115     inherit fetchurl stdenv pkgconfig ncurses glib;
4116   };
4118   libvorbis = import ../development/libraries/libvorbis {
4119     inherit fetchurl stdenv libogg;
4120   };
4122   libwmf = import ../development/libraries/libwmf {
4123     inherit fetchurl stdenv pkgconfig imagemagick
4124       zlib libpng freetype libjpeg libxml2 glib;
4125   };
4127   libwpd = import ../development/libraries/libwpd {
4128     inherit fetchurl stdenv pkgconfig libgsf libxml2 bzip2;
4129     inherit (gnome) glib;
4130   };
4132   libx86 = builderDefsPackage ../development/libraries/libx86 {};
4134   libxcrypt = import ../development/libraries/libxcrypt {
4135     inherit fetchurl stdenv;
4136   };
4138   libxklavier = import ../development/libraries/libxklavier {
4139     inherit fetchurl stdenv xkeyboard_config pkgconfig libxml2 isocodes glib;
4140     inherit (xorg) libX11 libICE libXi libxkbfile;
4141   };
4143   libxmi = import ../development/libraries/libxmi {
4144     inherit fetchurl stdenv libtool;
4145   };
4147   libxml2 = makeOverridable (import ../development/libraries/libxml2) {
4148     inherit fetchurl stdenv zlib python;
4149     pythonSupport = false;
4150   };
4152   libxml2Python = libxml2.override {
4153     pythonSupport = true;
4154   };
4156   libxslt = makeOverridable (import ../development/libraries/libxslt) {
4157     inherit fetchurl stdenv libxml2;
4158   };
4160   libixp_for_wmii = lowPrio (import ../development/libraries/libixp_for_wmii {
4161     inherit fetchurl stdenv;
4162   });
4164   libzip = import ../development/libraries/libzip {
4165     inherit fetchurl stdenv zlib;
4166   };
4168   libzrtpcpp = import ../development/libraries/libzrtpcpp {
4169     inherit fetchurl stdenv lib commoncpp2 openssl pkgconfig ccrtp;
4170   };
4172   lightning = import ../development/libraries/lightning {
4173     inherit fetchurl stdenv;
4174   };
4176   log4cxx = import ../development/libraries/log4cxx {
4177     inherit fetchurl stdenv automake autoconf libtool cppunit libxml2 boost;
4178     inherit apr aprutil db45 expat;
4179   };
4181   loudmouth = import ../development/libraries/loudmouth {
4182     inherit fetchurl stdenv libidn openssl pkgconfig zlib glib;
4183   };
4185   lzo = import ../development/libraries/lzo {
4186     inherit fetchurl stdenv;
4187   };
4189   # failed to build
4190   mediastreamer = composedArgsAndFun (selectVersion
4191       ../development/libraries/mediastreamer "2.2.0-cvs20080207") {
4192     inherit fetchurl stdenv automake libtool autoconf alsaLib pkgconfig speex
4193       ortp ffmpeg;
4194   };
4196   mesaSupported =
4197     system == "i686-linux" ||
4198     system == "x86_64-linux" ||
4199     system == "i686-darwin";
4201   mesa = import ../development/libraries/mesa {
4202     inherit fetchurl stdenv pkgconfig expat x11 xlibs libdrm;
4203   };
4205   mesaHeaders = import ../development/libraries/mesa/headers.nix {
4206     inherit stdenv;
4207     mesaSrc = mesa.src;
4208   };
4210   ming = import ../development/libraries/ming {
4211     inherit fetchurl stdenv flex bison freetype zlib libpng perl;
4212   };
4214   mpeg2dec = import ../development/libraries/mpeg2dec {
4215     inherit fetchurl stdenv;
4216   };
4218   msilbc = selectVersion ../development/libraries/msilbc "2.0.0" {
4219     inherit fetchurl stdenv ilbc mediastreamer pkgconfig;
4220   };
4222   mpich2 = import ../development/libraries/mpich2 {
4223     inherit fetchurl stdenv python;
4224   };
4226   muparser = import ../development/libraries/muparser {
4227     inherit fetchurl stdenv;
4228   };
4230   ncurses = composedArgsAndFun (import ../development/libraries/ncurses) {
4231     inherit fetchurl stdenv;
4232     unicode = (system != "i686-cygwin");
4233   };
4235   neon = neon026;
4237   neon026 = import ../development/libraries/neon/0.26.nix {
4238     inherit fetchurl stdenv libxml2 zlib openssl;
4239     compressionSupport = true;
4240     sslSupport = true;
4241   };
4243   neon028 = import ../development/libraries/neon/0.28.nix {
4244     inherit fetchurl stdenv libxml2 zlib openssl;
4245     compressionSupport = true;
4246     sslSupport = true;
4247   };
4249   nethack = builderDefsPackage (import ../games/nethack) {
4250     inherit ncurses flex bison;
4251   };
4253   nettle = import ../development/libraries/nettle {
4254     inherit fetchurl stdenv gmp gnum4;
4255   };
4257   nspr = import ../development/libraries/nspr {
4258     inherit fetchurl stdenv;
4259   };
4261   nss = import ../development/libraries/nss {
4262     inherit fetchurl stdenv nspr perl zlib;
4263   };
4265   ode = builderDefsPackage (import ../development/libraries/ode) {
4266   };
4268   openal = import ../development/libraries/openal {
4269     inherit fetchurl stdenv cmake alsaLib;
4270   };
4272   # added because I hope that it has been easier to compile on x86 (for blender)
4273   openalSoft = import ../development/libraries/openalSoft {
4274     inherit fetchurl stdenv alsaLib libtool cmake;
4275   };
4277   openbabel = import ../development/libraries/openbabel {
4278     inherit fetchurl stdenv zlib libxml2;
4279   };
4281   opencascade = import ../development/libraries/opencascade {
4282     inherit fetchurl stdenv mesa qt4 tcl tk;
4283   };
4285   # this ctl version is needed by openexr_viewers
4286   openexr_ctl = import ../development/libraries/openexr_ctl {
4287     inherit fetchurl stdenv ilmbase ctl;
4288     openexr = openexr_1_6_1;
4289   };
4291   openexr_1_6_1 = import ../development/libraries/openexr {
4292     inherit fetchurl stdenv ilmbase zlib pkgconfig lib;
4293     version = "1.6.1";
4294     # optional features:
4295     inherit ctl;
4296   };
4298   # This older version is needed by blender (it complains about missing half.h )
4299   openexr_1_4_0 = import ../development/libraries/openexr {
4300     inherit fetchurl stdenv ilmbase zlib pkgconfig lib;
4301     version = "1.4.0";
4302   };
4304   openldap = import ../development/libraries/openldap {
4305     inherit fetchurl stdenv openssl cyrus_sasl db4 groff;
4306   };
4308   openlierox = builderDefsPackage ../games/openlierox {
4309     inherit (xlibs) libX11 xproto;
4310     inherit gd SDL SDL_image SDL_mixer zlib libxml2
4311       pkgconfig;
4312   };
4314   openssl = import ../development/libraries/openssl {
4315     fetchurl = fetchurlBoot;
4316     inherit stdenv perl;
4317   };
4319   ortp = import ../development/libraries/ortp {
4320     inherit fetchurl stdenv;
4321   };
4323   pangoxsl = import ../development/libraries/pangoxsl {
4324     inherit fetchurl stdenv pkgconfig;
4325     inherit (gtkLibs) glib pango;
4326   };
4328   pcre = makeOverridable (import ../development/libraries/pcre) {
4329     inherit fetchurl stdenv;
4330     unicodeSupport = getConfig ["pcre" "unicode"] false;
4331     cplusplusSupport = !stdenv ? isDietLibC;
4332   };
4334   physfs = import ../development/libraries/physfs {
4335     inherit fetchurl stdenv cmake;
4336   };
4338   plib = import ../development/libraries/plib {
4339     inherit fetchurl stdenv mesa freeglut SDL;
4340     inherit (xlibs) libXi libSM libXmu libXext libX11;
4341   };
4343   polkit = import ../development/libraries/polkit {
4344     inherit stdenv fetchurl pkgconfig eggdbus expat pam intltool gettext glib;
4345   };
4347   policykit = makeOverridable (import ../development/libraries/policykit) {
4348     inherit stdenv fetchurl pkgconfig dbus dbus_glib expat pam
4349       intltool gettext libxslt docbook_xsl glib;
4350   };
4352   poppler = makeOverridable (import ../development/libraries/poppler) {
4353     inherit fetchurl stdenv cairo freetype fontconfig zlib libjpeg pkgconfig;
4354     inherit (gtkLibs) glib gtk;
4355     qt4Support = false;
4356   };
4358   popplerQt44 = poppler.override {
4359     qt4Support = true;
4360     qt4 = qt44;
4361   };
4363   popplerQt45 = poppler.override {
4364     qt4Support = true;
4365     qt4 = qt45;
4366   };
4368   popt = import ../development/libraries/popt {
4369     inherit fetchurl stdenv;
4370   };
4372   proj = import ../development/libraries/proj.4 {
4373     inherit fetchurl stdenv;
4374   };
4376   pth = import ../development/libraries/pth {
4377     inherit fetchurl stdenv;
4378   };
4380   qt3 = makeOverridable (import ../development/libraries/qt-3) {
4381     inherit fetchurl stdenv x11 zlib libjpeg libpng which mysql mesa;
4382     inherit (xlibs) xextproto libXft libXrender libXrandr randrproto
4383       libXmu libXinerama libXcursor;
4384     openglSupport = mesaSupported;
4385     mysqlSupport = getConfig ["qt" "mysql"] false;
4386   };
4388   qt3mysql = qt3.override {
4389     mysqlSupport = true;
4390   };
4392   qt4 = qt44;
4394   qt44 = import ../development/libraries/qt-4.4 {
4395     inherit fetchurl stdenv fetchsvn zlib libjpeg libpng which mysql mesa openssl cups dbus
4396       fontconfig freetype pkgconfig libtiff;
4397     inherit (xlibs) xextproto libXft libXrender libXrandr randrproto
4398       libXmu libXinerama xineramaproto libXcursor libICE libSM libX11 libXext
4399       inputproto fixesproto libXfixes;
4400     inherit (gnome) glib;
4401   };
4403   qt45 = import ../development/libraries/qt-4.5 {
4404     inherit fetchurl stdenv lib zlib libjpeg libpng which mysql mesa openssl cups dbus
4405       fontconfig freetype pkgconfig libtiff;
4406     inherit (xlibs) xextproto libXft libXrender libXrandr randrproto
4407       libXmu libXinerama xineramaproto libXcursor libXext
4408       inputproto fixesproto libXfixes;
4409     inherit (gnome) glib;
4410   };
4412   qtscriptgenerator = import ../development/libraries/qtscriptgenerator {
4413     inherit stdenv fetchurl;
4414     qt4 = qt45;
4415   };
4417   readline = readline6;
4419   readline4 = import ../development/libraries/readline/readline4.nix {
4420     inherit fetchurl stdenv ncurses;
4421   };
4423   readline5 = import ../development/libraries/readline/readline5.nix {
4424     inherit fetchurl stdenv ncurses;
4425   };
4427   readline6 = import ../development/libraries/readline/readline6.nix {
4428     inherit fetchurl stdenv ncurses;
4429   };
4431   librdf_raptor = import ../development/libraries/librdf/raptor.nix {
4432     inherit fetchurl stdenv lib libxml2 curl;
4433   };
4434   librdf_rasqal = import ../development/libraries/librdf/rasqal.nix {
4435     inherit fetchurl stdenv lib pcre libxml2 gmp librdf_raptor;
4436   };
4437   librdf = import ../development/libraries/librdf {
4438     inherit fetchurl stdenv lib pkgconfig librdf_raptor ladspaH openssl zlib;
4439   };
4441   # Also known as librdf, includes raptor and rasqal
4442   redland = composedArgsAndFun (selectVersion ../development/libraries/redland "1.0.9") {
4443     inherit fetchurl stdenv openssl libxml2 pkgconfig perl postgresql sqlite
4444       mysql libxslt curl pcre librdf_rasqal librdf_raptor;
4445     bdb = db4;
4446   };
4447   redland_1_0_8 = redland.passthru.function { version = "1.0.8"; };
4449   rhino = import ../development/libraries/java/rhino {
4450     inherit fetchurl stdenv unzip;
4451     ant = apacheAntGcj;
4452     javac = gcj;
4453     jvm = gcj;
4454   };
4456   rte = import ../development/libraries/rte {
4457     inherit fetchurl stdenv;
4458   };
4460   rubberband = import ../development/libraries/rubberband {
4461     inherit fetchurl stdenv lib pkgconfig libsamplerate libsndfile ladspaH;
4462     fftw = fftwSinglePrec;
4463     inherit (vamp) vampSDK;
4464   };
4466   schroedinger = import ../development/libraries/schroedinger {
4467     inherit fetchurl stdenv liboil pkgconfig;
4468   };
4470   SDL = makeOverridable (import ../development/libraries/SDL) {
4471     inherit fetchurl stdenv pkgconfig x11 mesa alsaLib pulseaudio;
4472     inherit (xlibs) libXrandr;
4473     openglSupport = mesaSupported;
4474     alsaSupport = true;
4475     pulseaudioSupport = false; # better go through ALSA
4476   };
4478   SDL_image = import ../development/libraries/SDL_image {
4479     inherit fetchurl stdenv SDL libjpeg libungif libtiff libpng;
4480     inherit (xlibs) libXpm;
4481   };
4483   SDL_mixer = import ../development/libraries/SDL_mixer {
4484     inherit fetchurl stdenv SDL libogg libvorbis;
4485   };
4487   SDL_net = import ../development/libraries/SDL_net {
4488     inherit fetchurl stdenv SDL;
4489   };
4491   SDL_ttf = import ../development/libraries/SDL_ttf {
4492     inherit fetchurl stdenv SDL freetype;
4493   };
4495   slang = import ../development/libraries/slang {
4496     inherit fetchurl stdenv ncurses pcre libpng zlib readline;
4497   };
4499   slibGuile = import ../development/libraries/slib {
4500     inherit fetchurl stdenv unzip texinfo;
4501     scheme = guile;
4502   };
4504   snack = import ../development/libraries/snack {
4505     inherit fetchurl stdenv tcl tk pkgconfig x11;
4506         # optional
4507     inherit alsaLib vorbisTools python;
4508   };
4510   speex = import ../development/libraries/speex {
4511     inherit fetchurl stdenv libogg;
4512   };
4514   sqlite = import ../development/libraries/sqlite {
4515     inherit fetchurl stdenv readline tcl;
4516   };
4518   stlport =  import ../development/libraries/stlport {
4519     inherit fetchurl stdenv;
4520   };
4522   t1lib = import ../development/libraries/t1lib {
4523     inherit fetchurl stdenv x11;
4524     inherit (xlibs) libXaw libXpm;
4525   };
4527   taglib = import ../development/libraries/taglib {
4528     inherit fetchurl stdenv zlib;
4529   };
4531   taglib_extras = import ../development/libraries/taglib-extras {
4532     inherit stdenv fetchurl cmake taglib;
4533   };
4535   tapioca_qt = import ../development/libraries/tapioca-qt {
4536     inherit stdenv fetchurl cmake qt4 telepathy_qt;
4537   };
4539   tecla = import ../development/libraries/tecla {
4540     inherit fetchurl stdenv;
4541   };
4543   telepathy_gabble = import ../development/libraries/telepathy-gabble {
4544     inherit fetchurl stdenv pkgconfig libxslt telepathy_glib loudmouth;
4545   };
4547   telepathy_glib = import ../development/libraries/telepathy-glib {
4548     inherit fetchurl stdenv dbus_glib pkgconfig libxslt python glib;
4549   };
4551   telepathy_qt = import ../development/libraries/telepathy-qt {
4552     inherit stdenv fetchurl cmake qt4;
4553   };
4555   tk = composedArgsAndFun (selectVersion ../development/libraries/tk "8.5.7") {
4556     inherit fetchurl stdenv tcl x11;
4557   };
4559   unixODBC = import ../development/libraries/unixODBC {
4560     inherit fetchurl stdenv;
4561   };
4563   unixODBCDrivers = recurseIntoAttrs (import ../development/libraries/unixODBCDrivers {
4564     inherit fetchurl stdenv unixODBC glibc libtool openssl zlib;
4565     inherit postgresql mysql sqlite;
4566   });
4568   vamp = import ../development/libraries/audio/vamp {
4569     inherit fetchurl stdenv lib pkgconfig libsndfile;
4570   };
4572   vtk = import ../development/libraries/vtk {
4573     inherit stdenv fetchurl cmake mesa;
4574     inherit (xlibs) libX11 xproto libXt;
4575   };
4577   vxl = import ../development/libraries/vxl {
4578    inherit fetchurl stdenv cmake unzip libtiff expat zlib libpng libjpeg;
4579   };
4581   webkit = builderDefsPackage (import ../development/libraries/webkit) {
4582     inherit (gnome28) gtkdoc libsoup;
4583     inherit (gtkLibs) gtk atk pango glib;
4584     inherit freetype fontconfig gettext gperf curl
4585       libjpeg libtiff libpng libxml2 libxslt sqlite
4586       icu cairo perl intltool automake libtool
4587       pkgconfig autoconf bison libproxy enchant;
4588     inherit (gst_all) gstreamer gstPluginsBase gstFfmpeg
4589       gstPluginsGood;
4590     flex = flex2535;
4591     inherit (xlibs) libXt;
4592   };
4594   wxGTK = wxGTK28;
4596   wxGTK26 = import ../development/libraries/wxGTK-2.6 {
4597     inherit fetchurl stdenv pkgconfig;
4598     inherit (gtkLibs216) gtk;
4599     inherit (xlibs) libXinerama libSM libXxf86vm xf86vidmodeproto;
4600   };
4602   wxGTK28fun = lib.sumArgs (import ../development/libraries/wxGTK-2.8);
4604   wxGTK28deps = wxGTK28fun {
4605     inherit fetchurl stdenv pkgconfig mesa;
4606     inherit (gtkLibs216) gtk;
4607     inherit (xlibs) libXinerama libSM libXxf86vm xf86vidmodeproto;
4608   };
4610   wxGTK28 = wxGTK28deps null;
4612   wtk = import ../development/libraries/wtk {
4613       inherit fetchurl stdenv unzip xlibs;
4614     };
4616   x264 = import ../development/libraries/x264 {
4617     inherit fetchurl stdenv;
4618   };
4621   xapian = makeOverridable (selectVersion ../development/libraries/xapian "1.0.14") {
4622     inherit fetchurl stdenv zlib;
4623   };
4625   xapianBindings = (selectVersion ../development/libraries/xapian/bindings "1.0.14") {
4626     inherit fetchurl stdenv xapian composableDerivation pkgconfig;
4627     inherit ruby perl php tcl python; # TODO perl php Java, tcl, C#, python
4628   };
4630   Xaw3d = import ../development/libraries/Xaw3d {
4631     inherit fetchurl stdenv x11 bison;
4632     flex = flex2533;
4633     inherit (xlibs) imake gccmakedep libXmu libXpm libXp;
4634   };
4636   xineLib = import ../development/libraries/xine-lib {
4637     inherit fetchurl stdenv zlib libdvdcss alsaLib pkgconfig mesa aalib
4638       libvorbis libtheora speex xlibs perl ffmpeg;
4639   };
4641   xautolock = import ../misc/screensavers/xautolock {
4642     inherit fetchurl stdenv x11;
4643     inherit (xorg) imake;
4644     inherit (xlibs) libXScrnSaver scrnsaverproto;
4645   };
4647   xercesJava = import ../development/libraries/java/xerces {
4648     inherit fetchurl stdenv;
4649     ant   = apacheAntGcj;  # for bootstrap purposes
4650     javac = gcj;
4651     jvm   = gcj;
4652   };
4654   xlibsWrapper = import ../development/libraries/xlibs-wrapper {
4655     inherit stdenv;
4656     packages = [
4657       freetype fontconfig xlibs.xproto xlibs.libX11 xlibs.libXt
4658       xlibs.libXft xlibs.libXext xlibs.libSM xlibs.libICE
4659       xlibs.xextproto
4660     ];
4661   };
4663   zangband = builderDefsPackage (import ../games/zangband) {
4664     inherit ncurses flex bison autoconf automake m4 coreutils;
4665   };
4667   zlib = import ../development/libraries/zlib {
4668     fetchurl = fetchurlBoot;
4669     inherit stdenv;
4670   };
4672   zlibStatic = lowPrio (appendToName "static" (import ../development/libraries/zlib {
4673     inherit fetchurl stdenv;
4674     static = true;
4675   }));
4677   zvbi = import ../development/libraries/zvbi {
4678     inherit fetchurl stdenv libpng x11;
4679     pngSupport = true;
4680   };
4683   ### DEVELOPMENT / LIBRARIES / JAVA
4686   atermjava = import ../development/libraries/java/aterm {
4687     inherit fetchurl sharedobjects jjtraveler jdk;
4688     stdenv = overrideInStdenv stdenv [gnumake380];
4689   };
4691   commonsFileUpload = import ../development/libraries/java/jakarta-commons/file-upload {
4692     inherit stdenv fetchurl;
4693   };
4695   fastjar = import ../development/tools/java/fastjar {
4696     inherit fetchurl stdenv zlib;
4697   };
4699   httpunit = import ../development/libraries/java/httpunit {
4700     inherit stdenv fetchurl unzip;
4701   };
4703   gwtdragdrop = import ../development/libraries/java/gwt-dragdrop {
4704     inherit stdenv fetchurl;
4705   };
4707   gwtwidgets = import ../development/libraries/java/gwt-widgets {
4708     inherit stdenv fetchurl;
4709   };
4711   jakartabcel = import ../development/libraries/java/jakarta-bcel {
4712     regexp = jakartaregexp;
4713     inherit fetchurl stdenv;
4714   };
4716   jakartaregexp = import ../development/libraries/java/jakarta-regexp {
4717     inherit fetchurl stdenv;
4718   };
4720   javaCup = import ../development/libraries/java/cup {
4721     inherit stdenv fetchurl jdk;
4722   };
4724   javasvn = import ../development/libraries/java/javasvn {
4725     inherit stdenv fetchurl unzip;
4726   };
4728   jclasslib = import ../development/tools/java/jclasslib {
4729     inherit fetchurl stdenv xpf jre;
4730     ant = apacheAnt14;
4731   };
4733   jdom = import ../development/libraries/java/jdom {
4734     inherit stdenv fetchurl;
4735   };
4737   jflex = import ../development/libraries/java/jflex {
4738     inherit stdenv fetchurl;
4739   };
4741   jjtraveler = import ../development/libraries/java/jjtraveler {
4742     inherit fetchurl jdk;
4743     stdenv = overrideInStdenv stdenv [gnumake380];
4744   };
4746   junit = import ../development/libraries/java/junit {
4747     inherit stdenv fetchurl unzip;
4748   };
4750   lucene = import ../development/libraries/java/lucene {
4751     inherit stdenv fetchurl;
4752   };
4754   mockobjects = import ../development/libraries/java/mockobjects {
4755     inherit stdenv fetchurl;
4756   };
4758   saxon = import ../development/libraries/java/saxon {
4759     inherit fetchurl stdenv unzip;
4760   };
4762   saxonb = import ../development/libraries/java/saxon/default8.nix {
4763     inherit fetchurl stdenv unzip jre;
4764   };
4766   sharedobjects = import ../development/libraries/java/shared-objects {
4767     inherit fetchurl jdk;
4768     stdenv = overrideInStdenv stdenv [gnumake380];
4769   };
4771   smack = import ../development/libraries/java/smack {
4772     inherit stdenv fetchurl;
4773   };
4775   swt = import ../development/libraries/java/swt {
4776     inherit stdenv fetchurl unzip jdk pkgconfig;
4777     inherit (gtkLibs) gtk;
4778     inherit (xlibs) libXtst;
4779   };
4781   xalanj = xalanJava;
4782   xalanJava = import ../development/libraries/java/xalanj {
4783     inherit fetchurl stdenv;
4784     ant    = apacheAntGcj;  # for bootstrap purposes
4785     javac  = gcj;
4786     jvm    = gcj;
4787     xerces = xercesJava;
4788   };
4790   zziplib = import ../development/libraries/zziplib {
4791     inherit fetchurl stdenv perl python zip xmlto zlib;
4792   };
4795   ### DEVELOPMENT / PERL MODULES
4797   buildPerlPackage = import ../development/perl-modules/generic perl;
4799   perlPackages = recurseIntoAttrs (import ./perl-packages.nix {
4800     inherit pkgs;
4801   });
4803   perlXMLParser = perlPackages.XMLParser;
4806   ### DEVELOPMENT / PYTHON MODULES
4808   buildPythonPackage =
4809     import ../development/python-modules/generic {
4810       inherit python setuptools makeWrapper lib;
4811     };
4813   pythonPackages = recurseIntoAttrs (import ./python-packages.nix {
4814     inherit pkgs;
4815   });
4817   foursuite = import ../development/python-modules/4suite {
4818     inherit fetchurl stdenv python;
4819   };
4821   bsddb3 = import ../development/python-modules/bsddb3 {
4822     inherit fetchurl stdenv python db4;
4823   };
4825   flup = builderDefsPackage (selectVersion ../development/python-modules/flup "r2311")
4826   (let python=python25; in
4827   {
4828     inherit python;
4829     setuptools = setuptools.passthru.function {inherit python;};
4830   });
4832   numeric = import ../development/python-modules/numeric {
4833     inherit fetchurl stdenv python;
4834   };
4836   pil = import ../development/python-modules/pil {
4837     inherit fetchurl stdenv python zlib libjpeg freetype;
4838   };
4840   psyco = import ../development/python-modules/psyco {
4841       inherit fetchurl stdenv python;
4842     };
4844   pycairo = import ../development/python-modules/pycairo {
4845     inherit fetchurl stdenv python pkgconfig cairo x11;
4846   };
4848   pycrypto = import ../development/python-modules/pycrypto {
4849     inherit fetchurl stdenv python gmp;
4850   };
4852   pycups = import ../development/python-modules/pycups {
4853     inherit stdenv fetchurl python cups;
4854   };
4856   pygame = import ../development/python-modules/pygame {
4857     inherit fetchurl stdenv python pkgconfig SDL SDL_image
4858       SDL_mixer SDL_ttf numeric;
4859   };
4861   pygobject = import ../development/python-modules/pygobject {
4862     inherit fetchurl stdenv python pkgconfig glib;
4863   };
4865   pygtk = import ../development/python-modules/pygtk {
4866     inherit fetchurl stdenv python pkgconfig pygobject pycairo;
4867     inherit (gtkLibs) glib gtk;
4868   };
4870   pyGtkGlade = import ../development/python-modules/pygtk {
4871     inherit fetchurl stdenv python pkgconfig pygobject pycairo;
4872     inherit (gtkLibs) glib gtk;
4873     inherit (gnome) libglade;
4874   };
4876   pyopengl = import ../development/python-modules/pyopengl {
4877     inherit fetchurl stdenv setuptools mesa freeglut pil python;
4878   };
4880   pyopenssl = builderDefsPackage (import ../development/python-modules/pyopenssl) {
4881     inherit python openssl;
4882   };
4884   pythonSip = builderDefsPackage (selectVersion ../development/python-modules/python-sip "4.7.4") {
4885     inherit python;
4886   };
4888   rhpl = import ../development/python-modules/rhpl {
4889     inherit stdenv fetchurl rpm cpio python wirelesstools gettext;
4890   };
4892   sip = import ../development/python-modules/python-sip {
4893     inherit stdenv fetchurl lib python;
4894   };
4896   pyqt = builderDefsPackage (selectVersion ../development/python-modules/pyqt "4.3.3") {
4897     inherit pkgconfig python pythonSip glib;
4898     inherit (xlibs) libX11 libXext;
4899     qt = qt4;
4900   };
4902   pyqt4 = import ../development/python-modules/pyqt {
4903     inherit stdenv fetchurl lib python sip;
4904     qt4 = qt45;
4905   };
4907   pyx = import ../development/python-modules/pyx {
4908     inherit fetchurl stdenv python makeWrapper;
4909   };
4911   pyxml = import ../development/python-modules/pyxml {
4912     inherit fetchurl stdenv python makeWrapper;
4913   };
4915   setuptools = builderDefsPackage (import ../development/python-modules/setuptools) {
4916     inherit python makeWrapper;
4917   };
4919   wxPython = wxPython26;
4921   wxPython26 = import ../development/python-modules/wxPython/2.6.nix {
4922     inherit fetchurl stdenv pkgconfig python;
4923     wxGTK = wxGTK26;
4924   };
4926   wxPython28 = import ../development/python-modules/wxPython/2.8.nix {
4927     inherit fetchurl stdenv pkgconfig python;
4928     inherit wxGTK;
4929   };
4931   twisted = pythonPackages.twisted;
4933   ZopeInterface = import ../development/python-modules/ZopeInterface {
4934     inherit fetchurl stdenv python;
4935   };
4937   zope = import ../development/python-modules/zope {
4938     inherit fetchurl stdenv;
4939     python = python24;
4940   };
4942   ### SERVERS
4945   apacheHttpd = makeOverridable (import ../servers/http/apache-httpd) {
4946     inherit (pkgsOverriden) fetchurl stdenv perl openssl zlib apr aprutil pcre;
4947     sslSupport = true;
4948   };
4950   sabnzbd = import ../servers/sabnzbd {
4951     inherit fetchurl stdenv python cheetahTemplate makeWrapper par2cmdline unzip unrar;
4952   };
4954   bind = builderDefsPackage (selectVersion ../servers/dns/bind "9.5.0") {
4955     inherit openssl libtool;
4956   };
4958   dico = import ../servers/dico {
4959     inherit fetchurl stdenv libtool gettext zlib readline guile python;
4960   };
4962   dict = composedArgsAndFun (selectVersion ../servers/dict "1.9.15") {
4963     inherit builderDefs which bison;
4964     flex=flex2534;
4965   };
4967   dictdDBs = recurseIntoAttrs (import ../servers/dict/dictd-db.nix {
4968     inherit builderDefs;
4969   });
4971   dictDBCollector = import ../servers/dict/dictd-db-collector.nix {
4972     inherit stdenv lib dict;
4973   };
4975   dovecot = import ../servers/mail/dovecot {
4976     inherit fetchurl stdenv openssl pam;
4977   };
4978   dovecot_1_1_1 = import ../servers/mail/dovecot/1.1.1.nix {
4979     inherit fetchurl stdenv openssl pam;
4980   };
4982   ejabberd = import ../servers/xmpp/ejabberd {
4983     inherit fetchurl stdenv expat erlang zlib openssl
4984       pam fetchsvn;
4985   };
4987   couchdb = import ../servers/http/couchdb {
4988     inherit fetchurl stdenv erlang spidermonkey icu getopt; 
4989   };
4991   fingerd_bsd = import ../servers/fingerd/bsd-fingerd {
4992     inherit fetchurl stdenv;
4993   };
4995   ircdHybrid = import ../servers/irc/ircd-hybrid {
4996     inherit fetchurl stdenv openssl zlib;
4997   };
4999   jboss = import ../servers/http/jboss {
5000     inherit fetchurl stdenv jdk5 jdk;
5001   };
5003   jboss_mysql_jdbc = import ../servers/http/jboss/jdbc/mysql {
5004     inherit stdenv jboss mysql_jdbc;
5005   };
5007   jetty = import ../servers/http/jetty {
5008     inherit fetchurl stdenv unzip;
5009   };
5011   jetty61 = import ../servers/http/jetty/6.1 {
5012     inherit fetchurl stdenv unzip;
5013   };
5015   lighttpd = import ../servers/http/lighttpd {
5016     inherit fetchurl stdenv pcre libxml2 zlib attr bzip2;
5017   };
5019   mod_python = makeOverridable (import ../servers/http/apache-modules/mod_python) {
5020     inherit (pkgsOverriden) fetchurl stdenv apacheHttpd python;
5021   };
5023   myserver = import ../servers/http/myserver {
5024     inherit fetchurl stdenv libgcrypt libevent libidn gnutls libxml2
5025       zlib texinfo cppunit;
5026   };
5028   nginx = builderDefsPackage (import ../servers/http/nginx) {
5029     inherit openssl pcre zlib libxml2 libxslt;
5030   };
5032   postfix = import ../servers/mail/postfix {
5033     inherit fetchurl stdenv db4 openssl cyrus_sasl glibc;
5034   };
5036   pulseaudio = makeOverridable (import ../servers/pulseaudio) {
5037     inherit fetchurl stdenv pkgconfig gnum4 gdbm
5038       dbus hal avahi liboil libsamplerate libsndfile speex
5039       intltool gettext glib;
5040     inherit (xlibs) libX11 libICE libSM;
5041     inherit alsaLib;    # Needs ALSA >= 1.0.17.
5042     gconf = gnome.GConf;
5044     # Work around Libtool 1.5 interaction with Ltdl 2.x
5045     # ("undefined reference to lt__PROGRAM__LTX_preloaded_symbols").
5046     libtool = libtool_1_5;
5047   };
5049   tomcat_connectors = import ../servers/http/apache-modules/tomcat-connectors {
5050     inherit fetchurl stdenv apacheHttpd jdk;
5051   };
5053   portmap = makeOverridable (import ../servers/portmap) {
5054     inherit fetchurl stdenv lib tcpWrapper;
5055   };
5057   monetdb = import ../servers/sql/monetdb {
5058     inherit composableDerivation getConfig;
5059     inherit fetchurl stdenv pcre openssl readline libxml2 geos apacheAnt jdk5;
5060   };
5062   mysql4 = import ../servers/sql/mysql {
5063     inherit fetchurl stdenv ncurses zlib perl;
5064     ps = procps; /* !!! Linux only */
5065   };
5067   mysql5 = import ../servers/sql/mysql5 {
5068     inherit fetchurl stdenv ncurses zlib perl openssl;
5069     ps = procps; /* !!! Linux only */
5070   };
5072   mysql = mysql5;
5074   mysql_jdbc = import ../servers/sql/mysql/jdbc {
5075     inherit fetchurl stdenv ant;
5076   };
5078   nagios = import ../servers/monitoring/nagios {
5079     inherit fetchurl stdenv perl gd libpng zlib;
5080     gdSupport = true;
5081   };
5083   nagiosPluginsOfficial = import ../servers/monitoring/nagios/plugins/official {
5084     inherit fetchurl stdenv openssh;
5085   };
5087   openfire = composedArgsAndFun (import ../servers/xmpp/openfire) {
5088     inherit builderDefs jre;
5089   };
5091   postgresql = postgresql83;
5093   postgresql83 = import ../servers/sql/postgresql/8.3.x.nix {
5094     inherit fetchurl stdenv readline ncurses zlib;
5095   };
5097   postgresql84 = import ../servers/sql/postgresql/8.4.x.nix {
5098     inherit fetchurl stdenv readline ncurses zlib;
5099   };
5101   postgresql_jdbc = import ../servers/sql/postgresql/jdbc {
5102     inherit fetchurl stdenv ant;
5103   };
5105   pyIRCt = builderDefsPackage (import ../servers/xmpp/pyIRCt) {
5106     inherit xmpppy pythonIRClib python makeWrapper;
5107   };
5109   pyMAILt = builderDefsPackage (import ../servers/xmpp/pyMAILt) {
5110     inherit xmpppy python makeWrapper fetchcvs;
5111   };
5113   samba = makeOverridable (import ../servers/samba) {
5114     inherit stdenv fetchurl readline openldap pam kerberos popt iniparser
5115   libunwind acl fam;
5116   };
5118   squids = recurseIntoAttrs( import ../servers/squid/squids.nix {
5119     inherit fetchurl stdenv perl lib composableDerivation;
5120   });
5121   squid = squids.squid3Beta; # has ipv6 support
5123   tomcat5 = import ../servers/http/tomcat {
5124     inherit fetchurl stdenv jdk;
5125   };
5127   tomcat6 = import ../servers/http/tomcat/6.0.nix {
5128     inherit fetchurl stdenv jdk;
5129   };
5131   tomcat_mysql_jdbc = import ../servers/http/tomcat/jdbc/mysql {
5132     inherit stdenv tomcat6 mysql_jdbc;
5133   };
5135   axis2 = import ../servers/http/tomcat/axis2 {
5136     inherit fetchurl stdenv jdk apacheAnt unzip;
5137   };
5139   vsftpd = import ../servers/ftp/vsftpd {
5140     inherit fetchurl openssl stdenv libcap pam;
5141   };
5143   xinetd = import ../servers/xinetd {
5144     inherit fetchurl stdenv;
5145   };
5147   xorg = recurseIntoAttrs (import ../servers/x11/xorg/default.nix {
5148     inherit fetchurl fetchsvn stdenv pkgconfig freetype fontconfig
5149       libxslt expat libdrm libpng zlib perl mesa mesaHeaders
5150       xkeyboard_config dbus hal libuuid openssl gperf m4
5151       automake autoconf libtool;
5153     # !!! pythonBase is use instead of python because this cause an infinite
5154     # !!! recursion when the flag python.full is set to true.  Packages
5155     # !!! contained in the loop are python, tk, xlibs-wrapper, libX11,
5156     # !!! libxcd (and xcb-proto).
5157     python =  pythonBase;
5158   });
5160   xorgReplacements = composedArgsAndFun (import ../servers/x11/xorg/replacements.nix) {
5161     inherit fetchurl stdenv automake autoconf libtool xorg composedArgsAndFun;
5162   };
5164   xorgVideoUnichrome = import ../servers/x11/xorg/unichrome/default.nix {
5165     inherit stdenv fetchgit pkgconfig libdrm mesa automake autoconf libtool;
5166     inherit (xorg) fontsproto libpciaccess randrproto renderproto videoproto
5167       libX11 xextproto xf86driproto xorgserver xproto libXvMC glproto
5168       libXext utilmacros;
5169   };
5171   zabbixAgent = import ../servers/monitoring/zabbix {
5172     inherit fetchurl stdenv;
5173     enableServer = false;
5174   };
5176   zabbixServer = import ../servers/monitoring/zabbix {
5177     inherit fetchurl stdenv postgresql curl;
5178     enableServer = true;
5179   };
5182   ### OS-SPECIFIC
5184   autofs5 = import ../os-specific/linux/autofs/autofs-v5.nix {
5185     inherit bleedingEdgeRepos fetchurl stdenv flex bison kernelHeaders;
5186   };
5188   _915resolution = import ../os-specific/linux/915resolution {
5189     inherit fetchurl stdenv;
5190   };
5192   nfsUtils = import ../os-specific/linux/nfs-utils {
5193     inherit fetchurl stdenv tcpWrapper libuuid;
5194   };
5196   acpi = import ../os-specific/linux/acpi {
5197     inherit fetchurl stdenv;
5198   };
5200   acpid = import ../os-specific/linux/acpid {
5201     inherit fetchurl stdenv;
5202   };
5204   acpitool = import ../os-specific/linux/acpitool {
5205     inherit fetchurl stdenv;
5206   };
5208   alsaLib = import ../os-specific/linux/alsa-lib {
5209     inherit stdenv fetchurl;
5210   };
5212   alsaPlugins = import ../os-specific/linux/alsa-plugins {
5213     inherit fetchurl stdenv lib pkgconfig alsaLib pulseaudio jackaudio;
5214   };
5215   alsaPluginWrapper = import ../os-specific/linux/alsa-plugins/wrapper.nix {
5216     inherit stdenv alsaPlugins writeScriptBin;
5217   };
5219   alsaUtils = import ../os-specific/linux/alsa-utils {
5220     inherit stdenv fetchurl alsaLib gettext ncurses;
5221   };
5223   /*
5224   # Will maybe move to kernelPackages properly later.
5226   blcr = builderDefsPackage (selectVersion ../os-specific/linux/blcr "0.6.5"){
5227     inherit perl;
5228   };
5230   blcrCurrent = kernel : (blcr.passthru.function {
5231     inherit kernel;
5232   });
5233   */
5235   bluez = import ../os-specific/linux/bluez {
5236     inherit fetchurl stdenv pkgconfig dbus libusb alsaLib glib;
5237   };
5239   bridge_utils = import ../os-specific/linux/bridge_utils {
5240     inherit fetchurl stdenv autoconf automake;
5241   };
5243   btrfsProgs = builderDefsPackage (import ../os-specific/linux/btrfsprogs) {
5244     inherit libuuid zlib acl;
5245   };
5247   cpufrequtils = (
5248     import ../os-specific/linux/cpufrequtils {
5249     inherit fetchurl stdenv libtool gettext;
5250     glibc = stdenv.gcc.libc;
5251     kernelHeaders = stdenv.gcc.libc.kernelHeaders;
5252   });
5254   cryopid = import ../os-specific/linux/cryopid {
5255     inherit fetchurl stdenv zlibStatic;
5256   };
5258   cryptsetup = import ../os-specific/linux/cryptsetup {
5259     inherit stdenv fetchurl libuuid popt devicemapper udev;
5260   };
5262   cramfsswap = import ../os-specific/linux/cramfsswap {
5263     inherit fetchurl stdenv zlib;
5264   };
5266   davfs2 = import ../os-specific/linux/davfs2 {
5267     inherit fetchurl stdenv zlib;
5268     neon = neon028;
5269   };
5271   devicemapper = import ../os-specific/linux/device-mapper {
5272     inherit fetchurl stdenv;
5273   };
5275   dmidecode = import ../os-specific/linux/dmidecode {
5276     inherit fetchurl stdenv;
5277   };
5279   dietlibc = import ../os-specific/linux/dietlibc {
5280     inherit fetchurl glibc;
5281     # Dietlibc 0.30 doesn't compile on PPC with GCC 4.1, bus GCC 3.4 works.
5282     stdenv = if stdenv.system == "powerpc-linux" then overrideGCC stdenv gcc34 else stdenv;
5283   };
5285   directvnc = builderDefsPackage ../os-specific/linux/directvnc {
5286     inherit libjpeg pkgconfig zlib directfb;
5287     inherit (xlibs) xproto;
5288   };
5290   dmraid = builderDefsPackage ../os-specific/linux/dmraid {
5291     inherit devicemapper;
5292   };
5294   libuuid = if stdenv.system != "i686-darwin" then utillinuxng else null;
5296   e2fsprogs = import ../os-specific/linux/e2fsprogs/default.nix {
5297     inherit fetchurl stdenv pkgconfig libuuid;
5298   };
5300   e3cfsprogs = import ../os-specific/linux/e3cfsprogs {
5301     inherit stdenv fetchurl gettext;
5302   };
5304   eject = import ../os-specific/linux/eject {
5305     inherit fetchurl stdenv gettext;
5306   };
5308   fbterm = builderDefsPackage (import ../os-specific/linux/fbterm) {
5309     inherit fontconfig gpm freetype pkgconfig ncurses;
5310   };
5312   fuse = import ../os-specific/linux/fuse {
5313     inherit fetchurl stdenv utillinux;
5314   };
5316   fxload = import ../os-specific/linux/fxload {
5317     inherit fetchurl stdenv;
5318   };
5320   genext2fs = import ../os-specific/linux/genext2fs {
5321     inherit fetchurl stdenv;
5322   };
5324   gpm = builderDefsPackage (selectVersion ../servers/gpm "1.20.6") {
5325     inherit lzma ncurses bison;
5326     flex = flex2535;
5327   };
5329   hal = makeOverridable (import ../os-specific/linux/hal) {
5330     inherit fetchurl stdenv pkgconfig python pciutils usbutils expat
5331       libusb dbus dbus_glib libuuid perl perlXMLParser
5332       gettext zlib eject libsmbios udev gperf dmidecode utillinuxng
5333       consolekit policykit pmutils glib;
5334   };
5336   halevt = import ../os-specific/linux/hal/hal-evt.nix {
5337     inherit fetchurl stdenv lib libxml2 pkgconfig boolstuff hal dbus_glib;
5338   };
5340   hal_info = import ../os-specific/linux/hal/info.nix {
5341     inherit fetchurl stdenv pkgconfig;
5342   };
5344   hal_info_synaptics = import ../os-specific/linux/hal/synaptics.nix {
5345     inherit stdenv;
5346   };
5348   hdparm = import ../os-specific/linux/hdparm {
5349     inherit fetchurl stdenv;
5350   };
5352   hibernate = import ../os-specific/linux/hibernate {
5353     inherit fetchurl stdenv gawk;
5354   };
5356   htop = import ../os-specific/linux/htop {
5357     inherit fetchurl stdenv ncurses;
5358   };
5360   hwdata = import ../os-specific/linux/hwdata {
5361     inherit fetchurl stdenv;
5362   };
5364   ifplugd = import ../os-specific/linux/ifplugd {
5365     inherit fetchurl stdenv pkgconfig libdaemon;
5366   };
5368   iproute = import ../os-specific/linux/iproute {
5369     inherit fetchurl stdenv flex bison db4;
5370   };
5372   iputils = (
5373     import ../os-specific/linux/iputils {
5374     inherit fetchurl stdenv;
5375     glibc = stdenv.gcc.libc;
5376     kernelHeaders = stdenv.gcc.libc.kernelHeaders;
5377   });
5379   iptables = import ../os-specific/linux/iptables {
5380     inherit fetchurl stdenv;
5381   };
5383   ipw2200fw = import ../os-specific/linux/firmware/ipw2200 {
5384     inherit fetchurl stdenv;
5385   };
5387   iwlwifi3945ucode = import ../os-specific/linux/firmware/iwlwifi-3945-ucode {
5388     inherit fetchurl stdenv;
5389   };
5391   iwlwifi4965ucodeV1 = import ../os-specific/linux/firmware/iwlwifi-4965-ucode {
5392     inherit fetchurl stdenv;
5393   };
5395   iwlwifi4965ucodeV2 = import ../os-specific/linux/firmware/iwlwifi-4965-ucode/version-2.nix {
5396     inherit fetchurl stdenv;
5397   };
5399   iwlwifi5000ucode = import ../os-specific/linux/firmware/iwlwifi-5000-ucode {
5400     inherit fetchurl stdenv;
5401   };
5403   jfsrec = builderDefsPackage (selectVersion ../os-specific/linux/jfsrec "svn-7"){
5404     inherit boost;
5405   };
5407   jfsutils = import ../os-specific/linux/jfsutils/default.nix {
5408     inherit fetchurl stdenv libuuid;
5409   };
5411   kbd = import ../os-specific/linux/kbd {
5412     inherit fetchurl stdenv bison flex;
5413   };
5415   kernelHeaders = kernelHeaders_2_6_28;
5417   kernelHeaders_2_6_18 = import ../os-specific/linux/kernel-headers/2.6.18.5.nix {
5418     inherit fetchurl stdenv unifdef;
5419   };
5421   kernelHeaders_2_6_23 = import ../os-specific/linux/kernel-headers/2.6.23.16.nix {
5422     inherit fetchurl stdenv;
5423   };
5425   kernelHeaders_2_6_26 = import ../os-specific/linux/kernel-headers/2.6.26.2.nix {
5426     inherit fetchurl stdenv;
5427   };
5429   kernelHeaders_2_6_27 = import ../os-specific/linux/kernel-headers/2.6.27.8.nix {
5430     inherit fetchurl stdenv;
5431   };
5433   kernelHeaders_2_6_28 = import ../os-specific/linux/kernel-headers/2.6.28.nix {
5434     inherit fetchurl stdenv perl;
5435   };
5437   kernelHeadersArm = import ../os-specific/linux/kernel-headers-cross {
5438     inherit fetchurl stdenv;
5439     cross = "arm-linux";
5440   };
5442   kernelHeadersMips = import ../os-specific/linux/kernel-headers-cross {
5443     inherit fetchurl stdenv;
5444     cross = "mips-linux";
5445   };
5447   kernelHeadersSparc = import ../os-specific/linux/kernel-headers-cross {
5448     inherit fetchurl stdenv;
5449     cross = "sparc-linux";
5450   };
5452   kernel_2_6_25 = import ../os-specific/linux/kernel/linux-2.6.25.nix {
5453     inherit fetchurl stdenv perl mktemp module_init_tools;
5454     kernelPatches = [
5455       { name = "fbcondecor-0.9.4-2.6.25-rc6";
5456         patch = fetchurl {
5457           url = http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch;
5458           sha256 = "1wm94n7f0qyb8xvafip15r158z5pzw7zb7q8hrgddb092c6ibmq8";
5459         };
5460         extraConfig = "CONFIG_FB_CON_DECOR=y";
5461         features = { fbConDecor = true; };
5462       }
5463       { name = "sec_perm-2.6.24";
5464         patch = ../os-specific/linux/kernel/sec_perm-2.6.24.patch;
5465         features = { secPermPatch = true; };
5466       }
5467     ];
5468     extraConfig =
5469       lib.optional (getConfig ["kernel" "timer_stats"] false) "CONFIG_TIMER_STATS=y" ++
5470       lib.optional (getConfig ["kernel" "no_irqbalance"] false) "# CONFIG_IRQBALANCE is not set" ++
5471       [(getConfig ["kernel" "addConfig"] "")];
5472   };
5474   kernel_2_6_26 = import ../os-specific/linux/kernel/linux-2.6.26.nix {
5475     inherit fetchurl stdenv perl mktemp module_init_tools;
5476     kernelPatches = [
5477       { name = "fbcondecor-0.9.4-2.6.25-rc6";
5478         patch = fetchurl {
5479           url = http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch;
5480           sha256 = "1wm94n7f0qyb8xvafip15r158z5pzw7zb7q8hrgddb092c6ibmq8";
5481         };
5482         extraConfig = "CONFIG_FB_CON_DECOR=y";
5483         features = { fbConDecor = true; };
5484       }
5485       { name = "sec_perm-2.6.24";
5486         patch = ../os-specific/linux/kernel/sec_perm-2.6.24.patch;
5487         features = { secPermPatch = true; };
5488       }
5489     ];
5490     extraConfig =
5491       lib.optional (getConfig ["kernel" "no_irqbalance"] false) "# CONFIG_IRQBALANCE is not set" ++
5492       [(getConfig ["kernel" "addConfig"] "")];
5493   };
5495   kernel_2_6_27 = import ../os-specific/linux/kernel/linux-2.6.27.nix {
5496     inherit fetchurl stdenv perl mktemp module_init_tools;
5497     kernelPatches = [
5498       { name = "fbcondecor-0.9.4-2.6.27";
5499         patch = fetchurl {
5500           url = http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.27.patch;
5501           sha256 = "170l9l5fvbgjrr4klqcwbgjg4kwvrrhjpmgbfpqj0scq0s4q4vk6";
5502         };
5503         extraConfig = "CONFIG_FB_CON_DECOR=y";
5504         features = { fbConDecor = true; };
5505       }
5506       { name = "sec_perm-2.6.24";
5507         patch = ../os-specific/linux/kernel/sec_perm-2.6.24.patch;
5508         features = { secPermPatch = true; };
5509       }
5510     ];
5511     extraConfig =
5512       lib.optional (getConfig ["kernel" "no_irqbalance"] false) "# CONFIG_IRQBALANCE is not set" ++
5513       [(getConfig ["kernel" "addConfig"] "")];
5514   };
5516   kernel_2_6_28 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.28.nix) {
5517     inherit fetchurl stdenv perl mktemp module_init_tools;
5518     kernelPatches = [
5519       { name = "fbcondecor-0.9.5-2.6.28";
5520         patch = fetchurl {
5521           url = http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.5-2.6.28.patch;
5522           sha256 = "105q2dwrwi863r7nhlrvljim37aqv67mjc3lgg529jzqgny3fjds";
5523         };
5524         extraConfig = "CONFIG_FB_CON_DECOR=y";
5525         features = { fbConDecor = true; };
5526       }
5527       { name = "sec_perm-2.6.24";
5528         patch = ../os-specific/linux/kernel/sec_perm-2.6.24.patch;
5529         features = { secPermPatch = true; };
5530       }
5531       { # http://patchwork.kernel.org/patch/19495/
5532         name = "ext4-softlockups-fix";
5533         patch = fetchurl {
5534           url = http://patchwork.kernel.org/patch/19495/raw;
5535           sha256 = "0vqcj9qs7jajlvmwm97z8cljr4vb277aqhsjqrakbxfdiwlhrzzf";
5536         };
5537       }
5538     ];
5539     extraConfig =
5540       lib.optional (getConfig ["kernel" "no_irqbalance"] false) "# CONFIG_IRQBALANCE is not set" ++
5541       [(getConfig ["kernel" "addConfig"] "")];
5542   };
5544   kernel_2_6_29 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.29.nix) {
5545     inherit fetchurl stdenv perl mktemp module_init_tools;
5546     kernelPatches = [
5547       { name = "fbcondecor-0.9.5-2.6.28";
5548         patch = fetchurl {
5549           url = http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.6-2.6.29.2.patch;
5550           sha256 = "1yppvji13sgnql62h4wmskzl9l198pp1pbixpbymji7mr4a0ylx1";
5551         };
5552         extraConfig = "CONFIG_FB_CON_DECOR=y";
5553         features = { fbConDecor = true; };
5554       }
5555       { name = "sec_perm-2.6.24";
5556         patch = ../os-specific/linux/kernel/sec_perm-2.6.24.patch;
5557         features = { secPermPatch = true; };
5558       }
5559     ];
5560   };
5562   kernel_2_6_31 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.31.nix) {
5563     inherit fetchurl stdenv perl mktemp module_init_tools;
5564     kernelPatches = [];
5565   };
5567   kernel_2_6_31_zen5 = makeOverridable (import ../os-specific/linux/zen-kernel/2.6.31-zen5.nix) {
5568     inherit fetchurl stdenv perl mktemp module_init_tools
5569       lib builderDefs;
5570   };
5572   kernel_2_6_31_zen5_bfs = kernel_2_6_31_zen5.override {
5573     ckSched = true;
5574   };
5576   kernel_2_6_31_zen7 = makeOverridable (import ../os-specific/linux/zen-kernel/zen-stable.nix) {
5577     inherit fetchurl stdenv perl mktemp module_init_tools
5578       lib builderDefs;
5579   };
5581   kernel_2_6_31_zen7_bfs = kernel_2_6_31_zen7.override {
5582     ckSched = true;
5583   };
5585   kernel_2_6_31_zen = kernel_2_6_31_zen7;
5586   kernel_2_6_31_zen_bfs = kernel_2_6_31_zen7_bfs;
5588   /* Kernel modules are inherently tied to a specific kernel.  So
5589      rather than provide specific instances of those packages for a
5590      specific kernel, we have a function that builds those packages
5591      for a specific kernel.  This function can then be called for
5592      whatever kernel you're using. */
5594   kernelPackagesFor = kernel: rec {
5596     inherit kernel;
5598     aufs = import ../os-specific/linux/aufs {
5599       inherit fetchurl stdenv kernel;
5600     };
5602     # Currently it is broken
5603     # Build requires exporting some symbols from kernel
5604     # Go to package homepage to learn about the needed
5605     # patch. Feel free to take over the package.
5606     aufs2 = import ../os-specific/linux/aufs2 {
5607       inherit fetchgit stdenv kernel perl;
5608     };
5610     aufs2Utils = if lib.attrByPath ["features" "aufs"] false kernel then
5611       builderDefsPackage ../os-specific/linux/aufs2-utils {
5612         inherit kernel;
5613       }
5614     else null;
5616     exmap = import ../os-specific/linux/exmap {
5617       inherit fetchurl stdenv kernel boost pcre pkgconfig;
5618       inherit (gtkLibs) gtkmm;
5619     };
5621     iwlwifi = import ../os-specific/linux/iwlwifi {
5622       inherit fetchurl stdenv kernel;
5623     };
5625     iwlwifi4965ucode =
5626       (if (builtins.compareVersions kernel.version "2.6.27" == 0)
5627           || (builtins.compareVersions kernel.version "2.6.27" == 1)
5628        then iwlwifi4965ucodeV2
5629        else iwlwifi4965ucodeV1);
5631     atheros = composedArgsAndFun (selectVersion ../os-specific/linux/atheros "0.9.4") {
5632       inherit fetchurl stdenv builderDefs kernel lib;
5633     };
5635     nvidia_x11 = import ../os-specific/linux/nvidia-x11 {
5636       inherit stdenv fetchurl kernel xlibs gtkLibs zlib;
5637     };
5639     nvidia_x11_legacy = import ../os-specific/linux/nvidia-x11/legacy.nix {
5640       inherit stdenv fetchurl kernel xlibs gtkLibs zlib;
5641     };
5643     wis_go7007 = import ../os-specific/linux/wis-go7007 {
5644       inherit fetchurl stdenv kernel ncurses fxload;
5645     };
5647     kqemu = builderDefsPackage (selectVersion ../os-specific/linux/kqemu "1.4.0pre1") {
5648       inherit kernel perl;
5649     };
5651     splashutils =
5652       # Splashutils 1.3 is broken, so disable splash on older kernels.
5653       if kernel.features ? fbSplash then /* splashutils_13 */ null else
5654       if kernel.features ? fbConDecor then splashutils_15 else
5655       null;
5657     ext3cowtools = import ../os-specific/linux/ext3cow-tools {
5658       inherit stdenv fetchurl;
5659       kernel_ext3cowpatched = kernel;
5660     };
5662     /* compiles but has to be integrated into the kernel somehow
5663       Let's have it uncommented and finish it..
5664     */
5665     ndiswrapper = import ../os-specific/linux/ndiswrapper {
5666       inherit fetchurl stdenv;
5667       inherit kernel perl;
5668     };
5670     ov511 = import ../os-specific/linux/ov511 {
5671       inherit fetchurl kernel;
5672       stdenv = overrideGCC stdenv gcc34;
5673     };
5675     # State Nix
5676     snix = import ../tools/package-management/snix {
5677       inherit fetchurl stdenv perl curl bzip2 openssl bison;
5678       inherit libtool automake autoconf docbook5 docbook5_xsl libxslt docbook_xml_dtd_43 w3m;
5680       aterm = aterm242fixes;
5681       db4 = db45;
5683       flex = flex2533;
5685       inherit ext3cowtools e3cfsprogs rsync;
5686       ext3cow_kernel = kernel;
5687     };
5689     sysprof = import ../development/tools/profiling/sysprof {
5690       inherit fetchurl stdenv binutils pkgconfig kernel;
5691       inherit (gnome) gtk glib pango libglade;
5692     };
5694     virtualbox = import ../applications/virtualization/virtualbox {
5695       stdenv = stdenv_32bit;
5696       inherit fetchurl lib iasl dev86 libxslt libxml2 SDL hal
5697           libcap libpng zlib kernel python which alsaLib curl glib;
5698       qt4 = qt45;
5699       inherit (xlibs) xproto libX11 libXext libXcursor;
5700       inherit (gnome) libIDL;
5701     };
5703     virtualboxGuestAdditions = import ../applications/virtualization/virtualbox/guest-additions {
5704       inherit stdenv fetchurl lib patchelf cdrkit kernel;
5705       inherit (xlibs) libX11 libXt libXext libXmu libXcomposite libXfixes;
5706     };
5707   };
5709   # Build the kernel modules for the some of the kernels.
5710   kernelPackages_2_6_25 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_25);
5711   kernelPackages_2_6_26 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_26);
5712   kernelPackages_2_6_27 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_27);
5713   kernelPackages_2_6_28 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_28);
5714   kernelPackages_2_6_29 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_29);
5715   kernelPackages_2_6_31_zen5 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_31_zen5);
5716   kernelPackages_2_6_31_zen = recurseIntoAttrs (kernelPackagesFor kernel_2_6_31_zen);
5717   kernelPackages_2_6_31_zen_bfs = recurseIntoAttrs (kernelPackagesFor kernel_2_6_31_zen_bfs);
5718   kernelPackages_2_6_31 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_31);
5720   # The current default kernel / kernel modules.
5721   kernelPackages = kernelPackages_2_6_28;
5723   customKernel = composedArgsAndFun (lib.sumTwoArgs (import ../os-specific/linux/kernel/generic.nix) {
5724     inherit fetchurl stdenv perl mktemp module_init_tools;
5725   });
5727   libselinux = import ../os-specific/linux/libselinux {
5728     inherit fetchurl stdenv libsepol;
5729   };
5731   libraw1394 = import ../development/libraries/libraw1394 {
5732     inherit fetchurl stdenv;
5733   };
5735   libsexy = import ../development/libraries/libsexy {
5736     inherit stdenv fetchurl pkgconfig libxml2;
5737     inherit (gtkLibs) glib gtk pango;
5738   };
5740   librsvg = gnome.librsvg;
5742   libsepol = import ../os-specific/linux/libsepol {
5743     inherit fetchurl stdenv;
5744   };
5746   libsmbios = import ../os-specific/linux/libsmbios {
5747     inherit fetchurl stdenv pkgconfig libxml2 perl;
5748   };
5750   lm_sensors = import ../os-specific/linux/lm_sensors {
5751     inherit fetchurl stdenv bison flex perl;
5752   };
5754   klibc = makeOverridable (import ../os-specific/linux/klibc) {
5755     inherit fetchurl stdenv perl bison mktemp;
5756     kernelHeaders = glibc.kernelHeaders;
5757   };
5759   # Old version; needed in vmtools for insmod.  Should use
5760   # module_init_tools instead.
5761   klibc_15 = makeOverridable (import ../os-specific/linux/klibc/1.5.nix) {
5762     inherit fetchurl stdenv perl bison mktemp;
5763     kernelHeaders = glibc.kernelHeaders;
5764   };
5766   klibcShrunk = makeOverridable (import ../os-specific/linux/klibc/shrunk.nix) {
5767     inherit stdenv klibc;
5768   };
5770   kvm = kvm76;
5772   kvm76 = import ../os-specific/linux/kvm/76.nix {
5773     inherit fetchurl stdenv zlib e2fsprogs SDL alsaLib pkgconfig rsync;
5774     inherit (glibc) kernelHeaders;
5775   };
5777   kvm86 = import ../os-specific/linux/kvm/86.nix {
5778     inherit fetchurl stdenv zlib SDL alsaLib pkgconfig pciutils;
5779     inherit (glibc) kernelHeaders;
5780   };
5782   kvm88 = import ../os-specific/linux/kvm/88.nix {
5783     inherit fetchurl stdenv zlib SDL alsaLib pkgconfig pciutils;
5784     inherit (glibc) kernelHeaders;
5785   };
5787   libcap = import ../os-specific/linux/libcap {
5788     inherit fetchurl stdenv attr;
5789   };
5791   libnscd = import ../os-specific/linux/libnscd {
5792     inherit fetchurl stdenv;
5793   };
5795   libnotify = import ../development/libraries/libnotify {
5796     inherit stdenv fetchurl pkgconfig dbus dbus_glib;
5797     inherit (gtkLibs) gtk glib;
5798   };
5800   libvolume_id = import ../os-specific/linux/libvolume_id {
5801     inherit fetchurl stdenv;
5802   };
5804   lvm2 = import ../os-specific/linux/lvm2 {
5805     inherit fetchurl stdenv devicemapper;
5806   };
5808   mdadm = import ../os-specific/linux/mdadm {
5809     inherit fetchurl stdenv groff;
5810   };
5812   mingetty = import ../os-specific/linux/mingetty {
5813     inherit fetchurl stdenv;
5814   };
5816   module_init_tools = import ../os-specific/linux/module-init-tools {
5817     inherit fetchurl stdenv;
5818   };
5820   mount_cifs = import ../os-specific/linux/mount-cifs {
5821     inherit fetchurl stdenv;
5822   };
5824   aggregateModules = modules:
5825     import ../os-specific/linux/module-init-tools/aggregator.nix {
5826       inherit stdenv module_init_tools modules buildEnv;
5827     };
5829   modutils = import ../os-specific/linux/modutils {
5830     inherit fetchurl bison flex;
5831     stdenv = overrideGCC stdenv gcc34;
5832   };
5834   nettools = import ../os-specific/linux/net-tools {
5835     inherit fetchurl stdenv;
5836   };
5838   neverball = import ../games/neverball {
5839     inherit stdenv fetchurl SDL mesa libpng libjpeg SDL_ttf libvorbis
5840       gettext physfs;
5841   };
5843   numactl = import ../os-specific/linux/numactl {
5844     inherit fetchurl stdenv;
5845   };
5847   gw6c = builderDefsPackage (import ../os-specific/linux/gw6c) {
5848     inherit fetchurl stdenv nettools openssl procps iproute;
5849   };
5851   nss_ldap = import ../os-specific/linux/nss_ldap {
5852     inherit fetchurl stdenv openldap;
5853   };
5855   pam = import ../os-specific/linux/pam {
5856     inherit stdenv fetchurl cracklib flex;
5857   };
5859   pam_console = import ../os-specific/linux/pam_console {
5860     inherit stdenv fetchurl pam autoconf automake pkgconfig bison glib;
5861     libtool = libtool_1_5;
5862     flex = if stdenv.system == "i686-linux" then flex else flex2533;
5863   };
5865   pam_devperm = import ../os-specific/linux/pam_devperm {
5866     inherit stdenv fetchurl pam;
5867   };
5869   pam_ldap = import ../os-specific/linux/pam_ldap {
5870     inherit stdenv fetchurl pam openldap;
5871   };
5873   pam_login = import ../os-specific/linux/pam_login {
5874     inherit stdenv fetchurl pam;
5875   };
5877   pam_unix2 = import ../os-specific/linux/pam_unix2 {
5878     inherit stdenv fetchurl pam libxcrypt;
5879   };
5881   pcmciaUtils = composedArgsAndFun (import ../os-specific/linux/pcmciautils) {
5882     inherit stdenv fetchurl udev yacc flex;
5883     inherit sysfsutils module_init_tools;
5885     firmware = getConfig ["pcmciaUtils" "firmware"] [];
5886     config = getConfig ["pcmciaUtils" "config"] null;
5887     inherit lib;
5888   };
5890   pmutils = import ../os-specific/linux/pm-utils {
5891     inherit fetchurl stdenv;
5892   };
5894   powertop = import ../os-specific/linux/powertop {
5895     inherit fetchurl stdenv ncurses gettext;
5896   };
5898   procps = import ../os-specific/linux/procps {
5899     inherit fetchurl stdenv ncurses;
5900   };
5902   pwdutils = import ../os-specific/linux/pwdutils {
5903     inherit fetchurl stdenv pam openssl libnscd;
5904   };
5906   qemu_kvm = import ../os-specific/linux/qemu-kvm {
5907     inherit fetchurl stdenv zlib SDL alsaLib pkgconfig pciutils;
5908   };
5910   reiserfsprogs = import ../os-specific/linux/reiserfsprogs {
5911     inherit fetchurl stdenv;
5912   };
5914   reiser4progs = import ../os-specific/linux/reiser4progs {
5915     inherit fetchurl stdenv libaal;
5916   };
5918   radeontools = import ../os-specific/linux/radeontools {
5919     inherit pciutils;
5920     inherit fetchurl stdenv;
5921   };
5923   rt73fw = import ../os-specific/linux/firmware/rt73 {
5924     inherit fetchurl stdenv unzip;
5925   };
5927   sdparm = import ../os-specific/linux/sdparm {
5928     inherit fetchurl stdenv;
5929   };
5931   shadowutils = import ../os-specific/linux/shadow {
5932     inherit fetchurl stdenv;
5933   };
5935   splashutils_13 = import ../os-specific/linux/splashutils/1.3.nix {
5936     inherit fetchurl stdenv klibc;
5937     zlib = zlibStatic;
5938     libjpeg = libjpegStatic;
5939   };
5941   splashutils_15 = import ../os-specific/linux/splashutils/1.5.nix {
5942     inherit fetchurl stdenv klibc;
5943     zlib = zlibStatic;
5944     libjpeg = libjpegStatic;
5945   };
5947   squashfsTools = import ../os-specific/linux/squashfs {
5948     inherit fetchurl stdenv zlib;
5949   };
5951   statifier = builderDefsPackage (import ../os-specific/linux/statifier) {
5952   };
5954   sysfsutils = import ../os-specific/linux/sysfsutils {
5955     inherit fetchurl stdenv;
5956   };
5958   # Provided with sysfsutils.
5959   libsysfs = sysfsutils;
5960   systool = sysfsutils;
5962   sysklogd = import ../os-specific/linux/sysklogd {
5963     inherit fetchurl stdenv;
5964   };
5966   syslinux = import ../os-specific/linux/syslinux {
5967     inherit fetchurl stdenv nasm perl;
5968   };
5970   sysstat = import ../os-specific/linux/sysstat {
5971     inherit fetchurl stdenv gettext;
5972   };
5974   sysvinit = import ../os-specific/linux/sysvinit {
5975     inherit fetchurl stdenv;
5976   };
5978   sysvtools = import ../os-specific/linux/sysvinit {
5979     inherit fetchurl stdenv;
5980     withoutInitTools = true;
5981   };
5983   # FIXME: `tcp-wrapper' is actually not OS-specific.
5984   tcpWrapper = import ../os-specific/linux/tcp-wrapper {
5985     inherit fetchurl stdenv;
5986   };
5988   trackballs = import ../games/trackballs {
5989     inherit stdenv fetchurl SDL mesa SDL_ttf gettext zlib SDL_mixer SDL_image guile;
5990     debug = false;
5991   };
5993   tunctl = import ../os-specific/linux/tunctl {
5994     inherit stdenv fetchurl;
5995   };
5997   /*tuxracer = builderDefsPackage (import ../games/tuxracer) {
5998     inherit mesa tcl freeglut;
5999     inherit (xlibs) libX11 xproto;
6000   };*/
6002   udev = makeOverridable (import ../os-specific/linux/udev) {
6003     inherit fetchurl stdenv gperf pkgconfig acl libusb usbutils pciutils glib;
6004   };
6006   uml = import ../os-specific/linux/kernel/linux-2.6.20.nix {
6007     inherit fetchurl stdenv perl mktemp module_init_tools;
6008     userModeLinux = true;
6009   };
6011   umlutilities = import ../os-specific/linux/uml-utilities {
6012     inherit fetchurl kernelHeaders stdenv readline lib;
6013     tunctl = true; mconsole = true;
6014   };
6016   upstart = import ../os-specific/linux/upstart {
6017     inherit fetchurl stdenv;
6018   };
6020   upstart06 = import ../os-specific/linux/upstart/0.6.nix {
6021     inherit fetchurl stdenv pkgconfig dbus expat;
6022   };
6024   upstartJobControl = import ../os-specific/linux/upstart/jobcontrol.nix {
6025     inherit stdenv;
6026   };
6028   usbutils = import ../os-specific/linux/usbutils {
6029     inherit fetchurl stdenv pkgconfig libusb;
6030   };
6032   utillinux = utillinuxng;
6034   utillinuxCurses = utillinuxngCurses;
6036   utillinuxng = makeOverridable (import ../os-specific/linux/util-linux-ng) {
6037     inherit fetchurl stdenv;
6038   };
6040   utillinuxngCurses = utillinuxng.override {
6041     inherit ncurses;
6042   };
6044   wesnoth = import ../games/wesnoth {
6045     inherit fetchurl stdenv SDL SDL_image SDL_mixer SDL_net gettext zlib boost freetype;
6046   };
6048   wirelesstools = import ../os-specific/linux/wireless-tools {
6049     inherit fetchurl stdenv;
6050   };
6052   wpa_supplicant = import ../os-specific/linux/wpa_supplicant {
6053     inherit fetchurl stdenv openssl;
6054   };
6056   wpa_supplicant_gui_qt4 = import ../os-specific/linux/wpa_supplicant/gui-qt4.nix {
6057     inherit fetchurl stdenv qt4 imagemagick inkscape;
6058   };
6060   xfsprogs = import ../os-specific/linux/xfsprogs/default.nix {
6061     inherit fetchurl stdenv libtool gettext libuuid;
6062   };
6064   xmoto = builderDefsPackage (import ../games/xmoto) {
6065     inherit chipmunk sqlite curl zlib bzip2 libjpeg libpng
6066       freeglut mesa SDL SDL_mixer SDL_image SDL_net SDL_ttf
6067       lua5 ode;
6068   };
6070   xorg_sys_opengl = import ../os-specific/linux/opengl/xorg-sys {
6071     inherit stdenv xlibs expat libdrm;
6072   };
6074   zd1211fw = import ../os-specific/linux/firmware/zd1211 {
6075     inherit stdenv fetchurl;
6076   };
6078   ### DATA
6080   arkpandora_ttf = builderDefsPackage (import ../data/fonts/arkpandora) {
6081   };
6083   bakoma_ttf = import ../data/fonts/bakoma-ttf {
6084     inherit fetchurl stdenv;
6085   };
6087   corefonts = import ../data/fonts/corefonts {
6088     inherit fetchurl stdenv cabextract;
6089   };
6091   wrapFonts = paths : ((import ../data/fonts/fontWrap) {
6092     inherit fetchurl stdenv builderDefs paths ttmkfdir;
6093     inherit (xorg) mkfontdir mkfontscale;
6094   });
6096   clearlyU = composedArgsAndFun (selectVersion ../data/fonts/clearlyU "1.9") {
6097     inherit builderDefs;
6098     inherit (xorg) mkfontdir mkfontscale;
6099   };
6101   dejavu_fonts = import ../data/fonts/dejavu-fonts {
6102     inherit fetchurl stdenv fontforge perl fontconfig;
6103     inherit (perlPackages) FontTTF;
6104   };
6106   docbook5 = import ../data/sgml+xml/schemas/docbook-5.0 {
6107     inherit fetchurl stdenv unzip;
6108   };
6110   docbook_xml_dtd_412 = import ../data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix {
6111     inherit fetchurl stdenv unzip;
6112   };
6114   docbook_xml_dtd_42 = import ../data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix {
6115     inherit fetchurl stdenv unzip;
6116   };
6118   docbook_xml_dtd_43 = import ../data/sgml+xml/schemas/xml-dtd/docbook/4.3.nix {
6119     inherit fetchurl stdenv unzip;
6120   };
6122   docbook_xml_dtd_45 = import ../data/sgml+xml/schemas/xml-dtd/docbook/4.5.nix {
6123     inherit fetchurl stdenv unzip;
6124   };
6126   docbook_xml_ebnf_dtd = import ../data/sgml+xml/schemas/xml-dtd/docbook-ebnf {
6127     inherit fetchurl stdenv unzip;
6128   };
6130   docbook_xml_xslt = docbook_xsl;
6132   docbook_xsl = import ../data/sgml+xml/stylesheets/xslt/docbook-xsl {
6133     inherit fetchurl stdenv;
6134   };
6136   docbook5_xsl = docbook_xsl_ns;
6138   docbook_xsl_ns = import ../data/sgml+xml/stylesheets/xslt/docbook-xsl-ns {
6139     inherit fetchurl stdenv;
6140   };
6142   junicode = composedArgsAndFun (selectVersion ../data/fonts/junicode "0.6.15") {
6143     inherit builderDefs fontforge unzip;
6144     inherit (xorg) mkfontdir mkfontscale;
6145   };
6147   freefont_ttf = import ../data/fonts/freefont-ttf {
6148     inherit fetchurl stdenv;
6149   };
6151   liberation_ttf = import ../data/fonts/redhat-liberation-fonts {
6152     inherit fetchurl stdenv;
6153   };
6155   libertine = builderDefsPackage (selectVersion ../data/fonts/libertine "2.7") {
6156     inherit fontforge;
6157   };
6158   libertineBin = builderDefsPackage (selectVersion ../data/fonts/libertine "2.7.bin") {
6159   };
6161   lmodern = builderDefsPackage (selectVersion ../data/fonts/lmodern "1.010") {
6162   };
6164   manpages = import ../data/documentation/man-pages {
6165     inherit fetchurl stdenv;
6166   };
6168   miscfiles = import ../data/misc/miscfiles {
6169     inherit fetchurl stdenv;
6170   };
6172   mph_2b_damase = import ../data/fonts/mph-2b-damase {
6173     inherit fetchurl stdenv unzip;
6174   };
6176   pthreadmanpages = lowPrio (import ../data/documentation/pthread-man-pages {
6177     inherit fetchurl stdenv perl;
6178   });
6180   shared_mime_info = import ../data/misc/shared-mime-info {
6181     inherit fetchurl stdenv pkgconfig gettext
6182       intltool perl perlXMLParser libxml2 glib;
6183   };
6185   stdmanpages = import ../data/documentation/std-man-pages {
6186     inherit fetchurl stdenv;
6187   };
6189   iana_etc = import ../data/misc/iana-etc {
6190     inherit fetchurl stdenv;
6191   };
6193   popplerData = import ../data/misc/poppler-data {
6194     inherit fetchurl stdenv;
6195   };
6197   r3rs = import ../data/documentation/rnrs/r3rs.nix {
6198     inherit fetchurl stdenv texinfo;
6199   };
6201   r4rs = import ../data/documentation/rnrs/r4rs.nix {
6202     inherit fetchurl stdenv texinfo;
6203   };
6205   r5rs = import ../data/documentation/rnrs/r5rs.nix {
6206     inherit fetchurl stdenv texinfo;
6207   };
6209   themes = name: import (../data/misc/themes + ("/" + name + ".nix")) {
6210     inherit fetchurl;
6211   };
6213   ttf_bitstream_vera = import ../data/fonts/ttf-bitstream-vera {
6214     inherit fetchurl stdenv;
6215   };
6217   ucsFonts = import ../data/fonts/ucs-fonts {
6218     inherit fetchurl stdenv wrapFonts;
6219   };
6221   unifont = import ../data/fonts/unifont {
6222     inherit debPackage perl;
6223     inherit (xorg) mkfontdir mkfontscale bdftopcf fontutil;
6224   };
6226   vistafonts = import ../data/fonts/vista-fonts {
6227     inherit fetchurl stdenv cabextract;
6228   };
6230   wqy_zenhei = composedArgsAndFun (selectVersion ../data/fonts/wqy_zenhei "0.4.23-1") {
6231     inherit builderDefs;
6232   };
6234   xhtml1 = import ../data/sgml+xml/schemas/xml-dtd/xhtml1 {
6235     inherit fetchurl stdenv libxml2;
6236   };
6238   xkeyboard_config = import ../data/misc/xkeyboard-config {
6239     inherit fetchurl stdenv perl perlXMLParser gettext intltool;
6240     inherit (xlibs) xkbcomp;
6241   };
6244   ### APPLICATIONS
6247   aangifte2005 = import ../applications/taxes/aangifte-2005 {
6248     inherit stdenv fetchurl;
6249     inherit (xlibs) libX11 libXext;
6250   };
6252   aangifte2006 = import ../applications/taxes/aangifte-2006 {
6253     inherit stdenv fetchurl;
6254     inherit (xlibs) libX11 libXext;
6255   };
6257   aangifte2007 = import ../applications/taxes/aangifte-2007 {
6258     inherit stdenv fetchurl;
6259     inherit (xlibs) libX11 libXext libSM;
6260   };
6262   aangifte2008 = import ../applications/taxes/aangifte-2008 {
6263     inherit stdenv fetchurl;
6264     inherit (xlibs) libX11 libXext libSM;
6265   };
6267   abcde = import ../applications/audio/abcde {
6268     inherit fetchurl stdenv libcdio cddiscid wget bash vorbisTools
6269             makeWrapper;
6270   };
6272   abiword = import ../applications/office/abiword {
6273     inherit fetchurl stdenv pkgconfig fribidi libpng popt libgsf enchant wv;
6274     inherit (gtkLibs) gtk;
6275     inherit (gnome) libglade libgnomeprint libgnomeprintui libgnomecanvas;
6276   };
6278   adobeReader = import ../applications/misc/adobe-reader {
6279     inherit fetchurl stdenv zlib libxml2 cups;
6280     inherit (xlibs) libX11;
6281     inherit (gtkLibs) glib pango atk gtk;
6282   };
6284   amsn = import ../applications/networking/instant-messengers/amsn {
6285     inherit fetchurl stdenv which tcl tk x11;
6286     libstdcpp = gcc33.gcc;
6287   };
6289   ardour = import ../applications/audio/ardour {
6290     inherit fetchurl stdenv lib pkgconfig scons boost redland librdf_raptor
6291       librdf_rasqal jackaudio flac libsamplerate alsaLib libxml2 libxslt
6292       libsndfile libsigcxx libusb cairomm librdf liblo fftw fftwSinglePrec
6293       aubio libmad;
6294     inherit (gtkLibs) glib pango gtk glibmm gtkmm;
6295     inherit (gnome) libgnomecanvas;
6296   };
6298   audacious = import ../applications/audio/audacious/player.nix {
6299     inherit fetchurl stdenv pkgconfig libmowgli libmcs gettext xlibs dbus_glib;
6300     inherit (gnome) libglade;
6301     inherit (gtkLibs) glib gtk;
6302   };
6304   audacious_plugins = import ../applications/audio/audacious/plugins.nix {
6305     inherit fetchurl stdenv pkgconfig audacious dbus_glib gettext
6306       libmad xlibs alsaLib taglib libmpcdec libogg libvorbis
6307       libcdio libcddb libxml2;
6308   };
6310   audacity = import ../applications/audio/audacity {
6311     inherit fetchurl stdenv gettext pkgconfig zlib perl intltool libogg
6312       libvorbis libmad;
6313     inherit (gtkLibs) gtk glib;
6314     inherit wxGTK;
6315   };
6317   aumix = import ../applications/audio/aumix {
6318     inherit fetchurl stdenv ncurses pkgconfig gettext;
6319     inherit (gtkLibs) gtk;
6320     gtkGUI = false;
6321   };
6323   autopanosiftc = import ../applications/graphics/autopanosiftc {
6324     inherit fetchurl stdenv cmake libpng libtiff libjpeg panotools libxml2;
6325   };
6327   batik = import ../applications/graphics/batik {
6328     inherit fetchurl stdenv unzip;
6329   };
6331   bazaar = import ../applications/version-management/bazaar {
6332     inherit fetchurl stdenv makeWrapper;
6333     python = pythonFull;
6334   };
6336   bazaarTools = builderDefsPackage (import ../applications/version-management/bazaar/tools.nix) {
6337     inherit bazaar;
6338   };
6340   beast = import ../applications/audio/beast {
6341 # stdenv = overrideGCC stdenv gcc34;
6342     inherit stdenv fetchurl zlib guile pkgconfig intltool libogg libvorbis python libxml2 bash perl gettext;
6343     inherit (bleedingEdgeRepos) sourceByName;
6344     inherit (gtkLibs) gtk glib;
6345     inherit (gnome) libgnomecanvas libart_lgpl;
6346     inherit automake autoconf;
6347   };
6349   bitlbee = import ../applications/networking/instant-messengers/bitlbee {
6350     inherit fetchurl stdenv gnutls pkgconfig glib;
6351   };
6353   bitlbeeOtr = import ../applications/networking/instant-messengers/bitlbee-otr {
6354     inherit fetchbzr stdenv gnutls pkgconfig libotr libgcrypt
6355       libxslt xmlto docbook_xsl docbook_xml_dtd_42 perl glib;
6356   };
6358   # commented out because it's using the new configuration style proposal which is unstable
6359   #biew = import ../applications/misc/biew {
6360   #  inherit lib stdenv fetchurl ncurses;
6361   #};
6363   # only to be able to compile blender - I couldn't compile the default openal software
6364   # Perhaps this can be removed - don't know which one openal{,soft} is better
6365   freealut_soft = import ../development/libraries/freealut {
6366     inherit fetchurl stdenv;
6367     openal = openalSoft;
6368   };
6370   blender = import ../applications/misc/blender {
6371     inherit cmake mesa gettext freetype SDL libtiff fetchurl glibc scons x11 lib
6372       libjpeg libpng zlib /* smpeg sdl */ python;
6373     inherit (xlibs) inputproto libXi;
6374     freealut = freealut_soft;
6375     openal = openalSoft;
6376     openexr = openexr_1_4_0;
6377     # using gcc43 makes blender segfault when pressing p then esc.
6378     # is this related to the PHP bug? I'm to lazy to try recompilng it without optimizations
6379     stdenv = overrideGCC stdenv gcc42;
6380   };
6382   bmp = import ../applications/audio/bmp {
6383     inherit fetchurl stdenv pkgconfig libogg libvorbis alsaLib id3lib;
6384     inherit (gnome) esound libglade;
6385     inherit (gtkLibs) glib gtk;
6386   };
6388   bmp_plugin_musepack = import ../applications/audio/bmp-plugins/musepack {
6389     inherit fetchurl stdenv pkgconfig bmp libmpcdec taglib;
6390   };
6392   bmp_plugin_wma = import ../applications/audio/bmp-plugins/wma {
6393     inherit fetchurl stdenv pkgconfig bmp;
6394   };
6396   bvi = import ../applications/editors/bvi {
6397     inherit fetchurl stdenv ncurses;
6398   };
6400   carrier = builderDefsPackage (selectVersion ../applications/networking/instant-messengers/carrier "2.5.0") {
6401     inherit fetchurl stdenv pkgconfig perl perlXMLParser libxml2 openssl nss
6402       gtkspell aspell gettext ncurses avahi dbus dbus_glib python
6403       libtool automake autoconf;
6404     GStreamer = gst_all.gstreamer;
6405     inherit (gtkLibs) gtk glib;
6406     inherit (gnome) startupnotification GConf ;
6407     inherit (xlibs) libXScrnSaver scrnsaverproto libX11 xproto kbproto;
6408   };
6409   funpidgin = carrier;
6411   cddiscid = import ../applications/audio/cd-discid {
6412     inherit fetchurl stdenv;
6413   };
6415   cdparanoia = cdparanoiaIII;
6417   cdparanoiaIII = import ../applications/audio/cdparanoia {
6418     inherit fetchurl stdenv;
6419   };
6421   cdrtools = import ../applications/misc/cdrtools {
6422     inherit fetchurl stdenv;
6423   };
6425   chatzilla =
6426     xulrunnerWrapper {
6427       launcher = "chatzilla";
6428       application = import ../applications/networking/irc/chatzilla {
6429         inherit fetchurl stdenv unzip;
6430       };
6431     };
6433   chrome = import ../applications/networking/browsers/chromium {
6434     inherit stdenv fetchurl ffmpeg cairo nspr nss fontconfig freetype alsaLib makeWrapper unzip expat zlib; 
6435     inherit (xlibs) libX11 libXext libXrender libXt ;
6436     inherit (gtkLibs) gtk glib pango atk;
6437     inherit (gnome) GConf;
6438   };
6440   chromeWrapper = wrapFirefox chrome "chrome" "";
6443   cinelerra = import ../applications/video/cinelerra {
6444     inherit fetchurl stdenv
6445       automake autoconf libtool
6446       a52dec alsaLib   lame libavc1394 libiec61883 libraw1394 libsndfile
6447       libvorbis libogg libjpeg libtiff freetype mjpegtools x264
6448       gettext faad2 faac libtheora libpng libdv perl nasm e2fsprogs
6449       pkgconfig;
6450       openexr = openexr_1_6_1;
6451     fftw = fftwSinglePrec;
6452     inherit (xorg) libXxf86vm libXv;
6453     inherit (bleedingEdgeRepos) sourceByName;
6454     inherit (gnome) esound;
6455   };
6457   compizBase = (builderDefsPackage (import ../applications/window-managers/compiz/0.8.0.nix)) {
6458     inherit lib stringsWithDeps builderDefs;
6459     inherit fetchurl stdenv pkgconfig libpng mesa perl perlXMLParser libxslt gettext
6460       intltool binutils;
6461     inherit (xorg) libXcomposite libXfixes libXdamage libXrandr
6462       libXinerama libICE libSM libXrender xextproto compositeproto fixesproto
6463       damageproto randrproto xineramaproto renderproto kbproto xproto libX11
6464       libxcb;
6465     inherit (gnome) startupnotification libwnck GConf;
6466     inherit (gtkLibs) gtk;
6467     inherit (gnome) libgnome libgnomeui metacity
6468       glib pango libglade libgtkhtml gtkhtml
6469       libgnomecanvas libgnomeprint
6470       libgnomeprintui gnomepanel;
6471     gnomegtk = gnome.gtk;
6472     inherit librsvg fuse;
6473     inherit dbus dbus_glib;
6474   };
6476   compiz = compizBase.passthru.function (x : x // {
6477     extraConfigureFlags = getConfig ["compiz" "extraConfigureFlags"] [];
6478   });
6480   compizFusion = import ../applications/window-managers/compiz-fusion {
6481     version = getConfig ["compizFusion" "version"] "0.7.8";
6482     inherit compiz;
6483     inherit stringsWithDeps lib builderDefs;
6484     inherit fetchurl stdenv pkgconfig libpng mesa perl perlXMLParser libxslt libxml2;
6485     inherit (xorg) libXcomposite libXfixes libXdamage libXrandr
6486       libXinerama libICE libSM libXrender xextproto;
6487     inherit (gnome) startupnotification libwnck GConf;
6488     inherit (gtkLibs) gtk;
6489     inherit (gnome) libgnome libgnomeui metacity
6490       glib pango libglade libgtkhtml gtkhtml
6491       libgnomecanvas libgnomeprint
6492       libgnomeprintui gnomepanel gnomedesktop;
6493     gnomegtk = gnome.gtk;
6494     inherit librsvg fuse dbus dbus_glib git;
6495     inherit automake autoconf libtool intltool python pyrex gettext;
6496     inherit pygtk pycairo getopt libjpeg glxinfo;
6497     inherit (xorg) xvinfo xdpyinfo;
6498   };
6500   compizExtra = import ../applications/window-managers/compiz/extra.nix {
6501     inherit fetchurl stdenv pkgconfig compiz perl perlXMLParser dbus;
6502     inherit (gnome) GConf;
6503     inherit (gtkLibs) gtk;
6504   };
6506   cinepaint = import ../applications/graphics/cinepaint {
6507     inherit stdenv fetchcvs cmake pkgconfig freetype fontconfig lcms flex libtiff
6508       libjpeg libpng libexif zlib perl mesa perlXMLParser python pygtk gettext
6509       intltool babl gegl automake autoconf libtool;
6510     inherit (xlibs) makedepend libX11 xf86vidmodeproto xineramaproto libXmu
6511       libXext libXpm libXxf86vm;
6512     inherit (gtkLibs) gtk glib;
6513     openexr = openexr_1_6_1;
6514     fltk = fltk11;
6515   };
6517   codeville = builderDefsPackage (selectVersion ../applications/version-management/codeville "0.8.0") {
6518     inherit makeWrapper;
6519     python = pythonFull;
6520   };
6522   comical = import ../applications/graphics/comical {
6523     inherit stdenv fetchurl utillinux zlib;
6524     wxGTK = wxGTK26;
6525   };
6527   cuneiform = builderDefsPackage (import ../tools/graphics/cuneiform) {
6528     inherit cmake patchelf;
6529     imagemagick=imagemagick;
6530   };
6532   cvs = import ../applications/version-management/cvs {
6533     inherit fetchurl stdenv nano;
6534   };
6536   cvsps = import ../applications/version-management/cvsps {
6537     inherit fetchurl stdenv cvs zlib;
6538   };
6540   cvs2svn = import ../applications/version-management/cvs2svn {
6541     inherit fetchurl stdenv python makeWrapper;
6542   };
6544   d4x = import ../applications/misc/d4x {
6545     inherit fetchurl stdenv pkgconfig openssl boost;
6546     inherit (gtkLibs) gtk glib;
6547   };
6549   darcs = haskellPackages.darcs;
6551   dia = import ../applications/graphics/dia {
6552     inherit stdenv fetchurl pkgconfig perl perlXMLParser
6553       libxml2 gettext python libxml2Python docbook5 docbook_xsl
6554       libxslt;
6555     inherit (gtkLibs) gtk glib;
6556   };
6558   djvulibre = import ../applications/misc/djvulibre {
6559     inherit stdenv fetchurl libjpeg libtiff libungif zlib
6560       ghostscript libpng x11 mesa;
6561     qt = if (getConfig ["djvulibre" "qt3Frontend"] true) then qt3 else null;
6562     inherit (xlibs) libX11;
6563   };
6565   djview4 = import ../applications/graphics/djview {
6566     inherit fetchurl stdenv qt4 djvulibre;
6567   };
6569   dmenu = import ../applications/misc/dmenu {
6570     inherit lib fetchurl stdenv;
6571     inherit (xlibs) libX11 libXinerama;
6572   };
6574   dmtx = builderDefsPackage (import ../tools/graphics/dmtx) {
6575     inherit libpng libtiff libjpeg imagemagick librsvg
6576       pkgconfig bzip2 zlib libtool;
6577     inherit (xlibs) libX11;
6578   };
6580   dvdauthor = import ../applications/video/dvdauthor {
6581     inherit fetchurl stdenv freetype libpng fribidi libxml2 libdvdread imagemagick;
6582   };
6584   dwm = import ../applications/window-managers/dwm {
6585     inherit fetchurl stdenv;
6586     inherit (xlibs) libX11 libXinerama;
6587   };
6589   eaglemode = import ../applications/misc/eaglemode {
6590     inherit fetchurl stdenv perl xineLib libjpeg libpng libtiff;
6591     inherit (xlibs) libX11;
6592   };
6594   eclipseRunner = import ../applications/editors/eclipse/runner.nix {
6595     inherit stdenv lib jre;
6596     inherit (gtkLibs) gtk glib;
6597     inherit (xlibs) libXtst;
6598   };
6600   eclipseNewer = import ../applications/editors/eclipse-classic {
6601     inherit stdenv fetchurl patchelf makeDesktopItem freetype fontconfig jre;
6602     inherit (gtkLibs) glib gtk;
6603     inherit (xlibs) libX11 libXext libXrender libXtst;
6604   };
6606   /* commenting out eclipse - Have a look at eclipseRunner - Marc Weber
6608     Reason: You can get Eclipse in many prepacked variations on eclipse.org
6609     No need to duplicate efforts.
6610     To make Equinox p2 work you have to create a local copy of Eclipse anyway (AFAIK).
6611     Maybe there is a solution. I don't have time to investigate. I want to prevent
6612     people from using old crappy Eclipse versions.
6614   # put something like this into your ~/.nixpkgs/config.nix file
6615   #eclipse = {
6616   # plugins = {eclipse, version, plugins } : let p = plugins; in
6617   #   [  p.pdt # PHP developement
6618   #      p.viPlugin # vim keybindings (see license)
6619   #   ];
6620   #};
6621   eclipseNew = (selectVersion ../applications/editors/eclipse-new "3.3.1.1" {
6622     # outdated, but 3.3.1.1 does already compile on nix, feel free to work 3.4
6623     inherit fetchurl stdenv makeWrapper jdk unzip ant selectVersion buildEnv
6624     getConfig lib zip writeTextFile runCommand;
6625     inherit (gtkLibs) gtk glib;
6626     inherit (xlibs) libXtst;
6627   });
6630   eclipse = plugins:
6631     import ../applications/editors/eclipse {
6632       inherit fetchurl stdenv jdk;
6633       inherit (gtkLibs) gtk glib;
6634       inherit (xlibs) libXtst;
6635       inherit plugins makeOverridable unzip;
6636     };
6638   eclipsesdk = eclipse [];
6640 #   eclipseSpoofax = lowPrio (appendToName "with-spoofax" (eclipse [eclipsePlugins.spoofax]));
6641 #   eclipseCDT = import ../applications/editors/eclipse/eclipse-cdt.nix {
6642 #     inherit fetchurl stdenv eclipse;
6643 #   };
6644 #   # quinox p2 installer
6645 #   eclipseMinimal = import ../applications/editors/eclipse/eclipse-p2-installer.nix {
6646 #     inherit fetchurl stdenv eclipse;
6647 #   };
6649 #   eclipsePlugins = import ../applications/editors/eclipse/plugins.nix {
6650 #     inherit fetchurl stdenv;
6651 #   };
6652   */
6654   ed = import ../applications/editors/ed {
6655     inherit fetchurl stdenv;
6656   };
6658   elinks = import ../applications/networking/browsers/elinks {
6659     inherit stdenv fetchurl python perl ncurses x11 zlib openssl spidermonkey
6660       guile bzip2;
6661   };
6663   elvis = import ../applications/editors/elvis {
6664     inherit fetchurl stdenv ncurses;
6665   };
6667   emacs = emacs22;
6669   emacs21 = import ../applications/editors/emacs-21 {
6670     inherit fetchurl stdenv ncurses x11 Xaw3d;
6671     inherit (xlibs) libXaw libXpm;
6672     xaw3dSupport = true;
6673   };
6675   emacs22 = import ../applications/editors/emacs-22 {
6676     inherit fetchurl stdenv ncurses pkgconfig x11 Xaw3d;
6677     inherit (xlibs) libXaw libXpm;
6678     inherit (gtkLibs) gtk;
6679     xaw3dSupport = getPkgConfig "emacs" "xaw3dSupport" false;
6680     gtkGUI = getPkgConfig "emacs" "gtkSupport" true;
6681   };
6683   emacs23 = import ../applications/editors/emacs-23 {
6684     inherit fetchurl stdenv ncurses pkgconfig x11 Xaw3d
6685       libpng libjpeg libungif libtiff texinfo dbus;
6686     inherit (xlibs) libXaw libXpm libXft;
6687     inherit (gtkLibs) gtk;
6688     xawSupport = system == "i686-darwin" || getPkgConfig "emacs" "xawSupport" false;
6689     xaw3dSupport = getPkgConfig "emacs" "xaw3dSupport" false;
6690     gtkGUI = getPkgConfig "emacs" "gtkSupport" true;
6691     xftSupport = getPkgConfig "emacs" "xftSupport" true;
6692     dbusSupport = getPkgConfig "emacs" "dbusSupport" true;
6693   };
6695   emacsSnapshot = lowPrio (import ../applications/editors/emacs-snapshot {
6696     inherit fetchcvs stdenv ncurses pkgconfig x11 Xaw3d
6697       libpng libjpeg libungif libtiff texinfo dbus
6698       autoconf automake;
6699     inherit (xlibs) libXaw libXpm libXft;
6700     inherit (gtkLibs) gtk;
6701     xawSupport = getPkgConfig "emacs" "xawSupport" false;
6702     xaw3dSupport = getPkgConfig "emacs" "xaw3dSupport" false;
6703     gtkGUI = getPkgConfig "emacs" "gtkSupport" true;
6704     xftSupport = getPkgConfig "emacs" "xftSupport" true;
6705     dbusSupport = getPkgConfig "emacs" "dbusSupport" true;
6706   });
6708   emacsPackages = emacs: recurseIntoAttrs (rec {
6709     bbdb = import ../applications/editors/emacs-modes/bbdb {
6710       inherit fetchurl stdenv emacs texinfo ctags;
6711     };
6713     cedet = import ../applications/editors/emacs-modes/cedet {
6714       inherit fetchurl stdenv emacs;
6715     };
6717     cua = import ../applications/editors/emacs-modes/cua {
6718       inherit fetchurl stdenv;
6719     };
6721     ecb = import ../applications/editors/emacs-modes/ecb {
6722       inherit fetchurl stdenv emacs cedet jdee texinfo;
6723     };
6725     emacsSessionManagement = import ../applications/editors/emacs-modes/session-management-for-emacs {
6726       inherit fetchurl stdenv emacs;
6727     };
6729     emacsw3m = import ../applications/editors/emacs-modes/emacs-w3m {
6730       inherit fetchcvs stdenv emacs w3m imagemagick texinfo autoconf;
6731     };
6733     emms = import ../applications/editors/emacs-modes/emms {
6734       inherit fetchurl stdenv emacs texinfo mpg321 vorbisTools taglib
6735         alsaUtils;
6736     };
6738     jdee = import ../applications/editors/emacs-modes/jdee {
6739       # Requires Emacs 23, for `avl-tree'.
6740       inherit fetchsvn stdenv cedet ant emacs;
6741     };
6743     stratego = import ../applications/editors/emacs-modes/stratego {
6744       inherit fetchsvn stdenv;
6745     };
6747     haskellMode = import ../applications/editors/emacs-modes/haskell {
6748       inherit fetchurl stdenv emacs;
6749     };
6751     magit = import ../applications/editors/emacs-modes/magit {
6752       inherit fetchurl stdenv emacs texinfo;
6753     };
6755     maudeMode = import ../applications/editors/emacs-modes/maude {
6756       inherit fetchurl stdenv emacs;
6757     };
6759     nxml = import ../applications/editors/emacs-modes/nxml {
6760       inherit fetchurl stdenv;
6761     };
6763     quack = import ../applications/editors/emacs-modes/quack {
6764       inherit fetchurl stdenv emacs;
6765     };
6767     remember = import ../applications/editors/emacs-modes/remember {
6768       inherit fetchurl stdenv texinfo emacs bbdb;
6769     };
6771     scalaMode = import ../applications/editors/emacs-modes/scala-mode {
6772       inherit fetchsvn stdenv emacs;
6773     };
6774   });
6776   emacs22Packages = emacsPackages emacs22;
6777   emacs23Packages = emacsPackages emacs23;
6779   # The forthcoming GNU Emacs 23 used to be referred to as `emacsUnicode' here.
6780   emacsUnicode = emacs23;
6782   evince = makeOverridable (import ../applications/misc/evince) {
6783     inherit fetchurl stdenv perl perlXMLParser gettext intltool
6784       pkgconfig poppler libspectre djvulibre libxslt
6785       dbus dbus_glib shared_mime_info which makeWrapper;
6786     inherit (gnome) gnomedocutils gnomeicontheme libgnome
6787       libgnomeui libglade glib gtk scrollkeeper gnome_keyring;
6788   };
6790   exrdisplay = import ../applications/graphics/exrdisplay {
6791     inherit fetchurl stdenv pkgconfig mesa which openexr_ctl;
6792     fltk = fltk20;
6793     openexr = openexr_1_6_1;
6794   };
6796   fbpanel = composedArgsAndFun (selectVersion ../applications/window-managers/fbpanel "4.12") {
6797     inherit fetchurl stdenv builderDefs pkgconfig libpng libjpeg libtiff librsvg;
6798     inherit (gtkLibs) gtk;
6799     inherit (xlibs) libX11 libXmu libXpm;
6800   };
6802   fetchmail = import ../applications/misc/fetchmail {
6803     inherit stdenv fetchurl openssl;
6804   };
6806   grip = import ../applications/misc/grip {
6807     inherit fetchurl stdenv lib grip pkgconfig curl cdparanoia libid3tag;
6808     inherit (gtkLibs) gtk glib;
6809     inherit (gnome) libgnome libgnomeui vte;
6810   };
6812   gwenview = import ../applications/graphics/gwenview {
6813     inherit stdenv fetchurl exiv2 zlib libjpeg perl libpng expat qt3;
6814     inherit (kde3) kdelibs;
6815     inherit (xlibs) libXt libXext;
6816   };
6818   wavesurfer = import ../applications/misc/audio/wavesurfer {
6819     inherit fetchurl stdenv tcl tk snack makeWrapper;
6820   };
6822   wireshark = import ../applications/networking/sniffers/wireshark {
6823     inherit fetchurl stdenv perl pkgconfig libpcap flex bison;
6824     inherit (gtkLibs) gtk;
6825   };
6827   fbida = builderDefsPackage ../applications/graphics/fbida {
6828     inherit libjpeg libexif giflib libtiff libpng
6829       imagemagick ghostscript which curl pkgconfig
6830       freetype fontconfig;
6831   };
6833   fdupes = import ../tools/misc/fdupes {
6834     inherit fetchurl stdenv;
6835   };
6837   feh = import ../applications/graphics/feh {
6838     inherit fetchurl stdenv x11 imlib2 libjpeg libpng giblib;
6839   };
6841   firefox = firefox35;
6843   firefoxWrapper = firefox35Wrapper;
6845   firefox2 = lowPrio (import ../applications/networking/browsers/firefox/2.0.nix {
6846     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo;
6847     inherit (gtkLibs) gtk;
6848     inherit (gnome) libIDL;
6849     inherit (xlibs) libXi;
6850   });
6852   firefox2Wrapper = wrapFirefox firefox2 "firefox" "";
6854   firefox3Pkgs = lowPrio (import ../applications/networking/browsers/firefox/3.0.nix {
6855     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo
6856       python dbus dbus_glib freetype fontconfig bzip2 xlibs file;
6857     inherit (gtkLibs) gtk pango;
6858     inherit (gnome) libIDL;
6859   });
6861   firefox3 = firefox3Pkgs.firefox;
6862   xulrunner3 = firefox3Pkgs.xulrunner;
6863   firefox3Wrapper = wrapFirefox firefox3 "firefox" "";
6865   firefox35Pkgs = lowPrio (import ../applications/networking/browsers/firefox/3.5.nix {
6866     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo
6867       python dbus dbus_glib freetype fontconfig bzip2 xlibs file alsaLib
6868       nspr nss;
6869     inherit (gtkLibs) gtk pango;
6870     inherit (gnome) libIDL;
6871   });
6873   firefox35 = firefox35Pkgs.firefox;
6874   xulrunner35 = firefox35Pkgs.xulrunner;
6875   firefox35Wrapper = wrapFirefox firefox35 "firefox" "";
6877   flac = import ../applications/audio/flac {
6878     inherit fetchurl stdenv libogg;
6879   };
6881   flashplayer = flashplayer10;
6883   flashplayer9 = (
6884     import ../applications/networking/browsers/mozilla-plugins/flashplayer-9 {
6885       inherit fetchurl stdenv zlib alsaLib nss nspr fontconfig freetype expat;
6886       inherit (xlibs) libX11 libXext libXrender libXt ;
6887       inherit (gtkLibs) gtk glib pango atk;
6888     });
6890   flashplayer10 = (
6891     import ../applications/networking/browsers/mozilla-plugins/flashplayer-10 {
6892       inherit fetchurl stdenv zlib alsaLib curl nss nspr fontconfig freetype expat;
6893       inherit (xlibs) libX11 libXext libXrender libXt ;
6894       inherit (gtkLibs) gtk glib pango atk;
6895     });
6897   flite = import ../applications/misc/flite {
6898     inherit fetchurl stdenv;
6899   };
6901   freemind = import ../applications/misc/freemind {
6902     inherit fetchurl stdenv ant coreutils gnugrep;
6903     jdk = jdk;
6904     jre = jdk;
6905   };
6907   freepv = import ../applications/graphics/freepv {
6908     inherit fetchurl stdenv mesa freeglut libjpeg zlib cmake libxml2 libpng;
6909     inherit (xlibs) libX11 libXxf86vm;
6910   };
6912   fspot = import ../applications/graphics/f-spot {
6913     inherit fetchurl stdenv perl perlXMLParser pkgconfig mono
6914             libexif libjpeg sqlite lcms libgphoto2 monoDLLFixer;
6915     inherit (gnome) libgnome libgnomeui;
6916     gtksharp = gtksharp1;
6917   };
6919   gimp = import ../applications/graphics/gimp {
6920     inherit fetchurl stdenv pkgconfig freetype fontconfig
6921       libtiff libjpeg libpng libexif zlib perl perlXMLParser
6922       python pygtk gettext xlibs intltool babl gegl;
6923     inherit (gnome) gtk libart_lgpl;
6924   };
6925   
6926   gimpPlugins = import ../applications/graphics/gimp/plugins { inherit pkgs gimp; };
6928   gitAndTools = recurseIntoAttrs (import ../applications/version-management/git-and-tools {
6929     inherit pkgs;
6930   });
6931   git = gitAndTools.git;
6933   gnucash = import ../applications/office/gnucash {
6934     inherit fetchurl stdenv pkgconfig libxml2 goffice enchant
6935       gettext intltool perl guile slibGuile swig isocodes bzip2 makeWrapper;
6936     inherit (gnome) gtk glib libglade libgnomeui libgtkhtml gtkhtml
6937       libgnomeprint;
6938     gconf = gnome.GConf;
6939   };
6941   qcad = import ../applications/misc/qcad {
6942     inherit fetchurl stdenv qt3 libpng;
6943     inherit (xlibs) libXext libX11;
6944   };
6946   qjackctl = import ../applications/audio/qjackctl {
6947     inherit fetchurl stdenv alsaLib jackaudio;
6948     qt4 = qt4;
6949   };
6951   gkrellm = import ../applications/misc/gkrellm {
6952     inherit fetchurl stdenv gettext pkgconfig;
6953     inherit (gtkLibs) glib gtk;
6954     inherit (xlibs) libX11 libICE libSM;
6955   };
6957   gnash = import ../applications/video/gnash {
6958     inherit fetchurl stdenv SDL SDL_mixer libogg libxml2 libjpeg mesa libpng
6959             boost freetype agg dbus curl pkgconfig x11 libtool lib libungif
6960             gettext makeWrapper ming dejagnu python;
6961     inherit (gtkLibs) glib gtk;
6962     inherit (gst_all) gstreamer gstPluginsBase gstFfmpeg;
6963   };
6965   gnome_mplayer = import ../applications/video/gnome-mplayer {
6966     inherit fetchurl stdenv pkgconfig dbus dbus_glib;
6967     inherit (gtkLibs) glib gtk;
6968     inherit (gnome) GConf;
6969   };
6971   gnunet = import ../applications/networking/p2p/gnunet {
6972     inherit fetchurl stdenv libextractor libmicrohttpd libgcrypt
6973       gmp curl libtool guile adns sqlite gettext zlib pkgconfig
6974       libxml2 ncurses findutils makeWrapper;
6975     inherit (gnome) gtk libglade;
6976     gtkSupport = getConfig [ "gnunet" "gtkSupport" ] true;
6977   };
6979   gocr = composedArgsAndFun (selectVersion ../applications/graphics/gocr "0.44") {
6980     inherit builderDefs fetchurl stdenv;
6981   };
6983   gphoto2 = import ../applications/misc/gphoto2 {
6984     inherit fetchurl stdenv pkgconfig libgphoto2 libexif popt gettext
6985       libjpeg readline libtool;
6986   };
6988   gphoto2fs = builderDefsPackage ../applications/misc/gphoto2/gphotofs.nix {
6989     inherit libgphoto2 fuse pkgconfig glib;
6990   };
6992   gtkpod = import ../applications/audio/gtkpod {
6993     inherit stdenv fetchurl pkgconfig libgpod gettext perl perlXMLParser flex libid3tag libvorbis;
6994     inherit (gtkLibs) gtk glib;
6995     inherit (gnome) libglade;
6996   };
6998   qrdecode = builderDefsPackage (import ../tools/graphics/qrdecode) {
6999     inherit libpng libcv;
7000   };
7002   qrencode = builderDefsPackage (import ../tools/graphics/qrencode) {
7003     inherit libpng pkgconfig;
7004   };
7006   gecko_mediaplayer = import ../applications/networking/browsers/mozilla-plugins/gecko-mediaplayer {
7007     inherit fetchurl stdenv pkgconfig dbus dbus_glib x11 gnome_mplayer MPlayer glib;
7008     inherit (gnome) GConf;
7009     browser = firefox35;
7010   };
7012   gqview = import ../applications/graphics/gqview {
7013     inherit fetchurl stdenv pkgconfig libpng;
7014     inherit (gtkLibs) gtk;
7015   };
7017   googleearth = import ../applications/misc/googleearth {
7018       inherit stdenv fetchurl glibc mesa freetype zlib glib;
7019       inherit (xlibs) libSM libICE libXi libXv libXrender libXrandr libXfixes
7020         libXcursor libXinerama libXext libX11;
7021       inherit patchelf05;
7022     };
7024   gpsbabel = import ../applications/misc/gpsbabel {
7025     inherit fetchurl stdenv zlib expat;
7026   };
7028   gpscorrelate = import ../applications/misc/gpscorrelate {
7029     inherit fetchurl stdenv pkgconfig exiv2 libxml2
7030       libxslt docbook_xsl docbook_xml_dtd_42;
7031     inherit (gtkLibs) gtk;
7032   };
7034   gpsd = import ../servers/gpsd {
7035     inherit fetchurl stdenv pkgconfig dbus dbus_glib
7036       ncurses makeWrapper libxslt xmlto;
7037     inherit (xlibs) libX11 libXt libXpm libXaw libXext;
7039     # We need a Python with NCurses bindings.
7040     python = pythonFull;
7041   };
7043   gv = import ../applications/misc/gv {
7044     inherit fetchurl stdenv Xaw3d ghostscriptX;
7045   };
7047   hello = makeOverridable (import ../applications/misc/hello/ex-2) {
7048     inherit fetchurl stdenv;
7049   };
7051   hugin = import ../applications/graphics/hugin {
7052     inherit stdenv fetchurl cmake panotools libtiff libpng boost pkgconfig
7053       exiv2 gettext ilmbase enblendenfuse autopanosiftc;
7054     inherit wxGTK;
7055     openexr = openexr_1_6_1;
7056   };
7058   i810switch = import ../applications/misc/i810 {
7059     inherit fetchurl stdenv pciutils;
7060   };
7062   icecat3 = lowPrio (import ../applications/networking/browsers/icecat-3 {
7063     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo
7064       python dbus dbus_glib freetype fontconfig bzip2 xlibs alsaLib;
7065     inherit (gnome) libIDL libgnomeui gnomevfs gtk pango;
7066     inherit (pythonPackages) ply;
7067   });
7069   icecatXulrunner3 = lowPrio (import ../applications/networking/browsers/icecat-3 {
7070     application = "xulrunner";
7071     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo
7072       python dbus dbus_glib freetype fontconfig bzip2 xlibs alsaLib;
7073     inherit (gnome) libIDL libgnomeui gnomevfs gtk pango;
7074     inherit (pythonPackages) ply;
7075   });
7077   icecat3Xul =
7078     (symlinkJoin "icecat-with-xulrunner-${icecat3.version}"
7079        [ icecat3 icecatXulrunner3 ])
7080     // { inherit (icecat3) gtk isFirefox3Like meta; };
7082   icecatWrapper = wrapFirefox icecat3Xul "icecat" "";
7084   icewm = import ../applications/window-managers/icewm {
7085     inherit fetchurl stdenv gettext libjpeg libtiff libungif libpng imlib;
7086     inherit (xlibs) libX11 libXft libXext libXinerama libXrandr;
7087   };
7089   ikiwiki = makeOverridable (import ../applications/misc/ikiwiki) {
7090     inherit fetchurl stdenv perl gettext makeWrapper lib;
7091     inherit (perlPackages) TextMarkdown URI HTMLParser HTMLScrubber
7092       HTMLTemplate TimeDate CGISession DBFile CGIFormBuilder;
7093     inherit git; # The RCS should be optional
7094     monotone = null;
7095     extraUtils = [];
7096   };
7098   imagemagick = import ../applications/graphics/ImageMagick {
7099     inherit stdenv fetchurl bzip2 freetype graphviz ghostscript
7100       libjpeg libpng libtiff libxml2 zlib libtool;
7101     inherit (xlibs) libX11;
7102   };
7104   imagemagickBig = import ../applications/graphics/ImageMagick {
7105     inherit stdenv fetchurl bzip2 freetype graphviz ghostscript
7106       libjpeg libpng libtiff libxml2 zlib tetex librsvg libtool;
7107     inherit (xlibs) libX11;
7108   };
7110   # Impressive, formerly known as "KeyJNote".
7111   impressive = import ../applications/office/impressive {
7112     inherit fetchurl stdenv xpdf pil pyopengl pygame makeWrapper lib python;
7114     # XXX These are the PyOpenGL dependencies, which we need here.
7115     inherit setuptools mesa freeglut;
7116   };
7118   inkscape = import ../applications/graphics/inkscape {
7119     inherit fetchurl stdenv perl perlXMLParser pkgconfig zlib
7120       popt libxml2 libxslt libpng boehmgc fontconfig
7121       libsigcxx lcms boost gettext cairomm
7122       python pyxml makeWrapper;
7123     inherit (pythonPackages) lxml;
7124     inherit (gtkLibs) gtk glib glibmm gtkmm;
7125     inherit (xlibs) libXft;
7126   };
7128   ion3 = import ../applications/window-managers/ion-3 {
7129     inherit fetchurl stdenv x11 gettext groff;
7130     lua = lua5;
7131   };
7133   iptraf = import ../applications/networking/iptraf {
7134     inherit fetchurl stdenv ncurses;
7135   };
7137   irssi = import ../applications/networking/irc/irssi {
7138     inherit stdenv fetchurl pkgconfig ncurses openssl glib;
7139   };
7141   jackmeter = import ../applications/audio/jackmeter {
7142     inherit fetchurl stdenv lib jackaudio pkgconfig;
7143   };
7145   jedit = import ../applications/editors/jedit {
7146     inherit fetchurl stdenv ant;
7147   };
7149   jigdo = import ../applications/misc/jigdo {
7150     inherit fetchurl stdenv db45 libwpd bzip2;
7151     inherit (gtkLibs) gtk;
7152   };
7154   joe = import ../applications/editors/joe {
7155     inherit stdenv fetchurl;
7156   };
7158   jwm = import ../applications/window-managers/jwm {
7159     inherit fetchurl stdenv;
7160     inherit (xlibs) libX11 libXext libXinerama libXpm libXft;
7161   };
7163   k3b = import ../applications/misc/k3b {
7164     inherit stdenv fetchurl kdelibs x11 zlib libpng libjpeg perl qt3;
7165   };
7167   kbasket = import ../applications/misc/kbasket {
7168     inherit stdenv fetchurl kdelibs x11 zlib libpng libjpeg
7169       perl qt3 gpgme libgpgerror;
7170   };
7172   kermit = import ../tools/misc/kermit {
7173     inherit fetchurl stdenv ncurses;
7174   };
7176   kino = import ../applications/video/kino {
7177     inherit fetchurl stdenv pkgconfig libxml2 perl perlXMLParser
7178       libdv libraw1394 libavc1394 libiec61883 x11 gettext cairo; /* libavformat */
7179     inherit libsamplerate ffmpeg;
7180     inherit (gnome) libglade gtk glib;
7181     inherit (xlibs) libXv libX11;
7182     inherit (gtkLibs) pango;
7183     # #  optional
7184     #  inherit ffmpeg2theora sox, vorbis-tools lame mjpegtools dvdauthor 'Q'dvdauthor growisofs mencoder;
7185   };
7187   kile = import ../applications/editors/kile {
7188     inherit stdenv fetchurl perl arts kdelibs zlib libpng libjpeg freetype expat;
7189     inherit (xlibs) libX11 libXt libXext libXrender libXft;
7190     qt = qt3;
7191   };
7193   /*kiwixBuilderFun = lib.sumArgs (import ../applications/misc/kiwixbuilder) {
7194     inherit builderDefs;
7195     inherit (gnome) glib;
7196     zlib = zlibStatic;
7197   };
7199   kiwixBuilder = kiwixBuilderFun null;*/
7201   konversation = import ../applications/networking/irc/konversation {
7202     inherit fetchurl stdenv perl arts kdelibs zlib libpng libjpeg expat;
7203     inherit (xlibs) libX11 libXt libXext libXrender libXft;
7204     qt = qt3;
7205   };
7207   kphone = import ../applications/networking/kphone {
7208     inherit fetchurl lib autoconf automake libtool pkgconfig openssl libpng alsaLib;
7209     qt = qt3;
7210     inherit (xlibs) libX11 libXext libXt libICE libSM;
7211     stdenv = overrideGCC stdenv gcc42; # I'm to lazy to clean up header files
7212   };
7214   kuickshow = import ../applications/graphics/kuickshow {
7215     inherit fetchurl stdenv kdelibs arts libpng libjpeg libtiff libungif imlib expat perl;
7216     inherit (xlibs) libX11 libXext libSM;
7217     qt = qt3;
7218   };
7220   lame = import ../applications/audio/lame {
7221     inherit fetchurl stdenv;
7222   };
7224   ladspaH = import ../applications/audio/ladspa-plugins/ladspah.nix {
7225     inherit fetchurl stdenv builderDefs stringsWithDeps;
7226   };
7228   ladspaPlugins = import ../applications/audio/ladspa-plugins {
7229     inherit fetchurl stdenv builderDefs stringsWithDeps fftw ladspaH pkgconfig;
7230   };
7232   ldcpp = composedArgsAndFun (import ../applications/networking/p2p/ldcpp/1.0.3.nix) {
7233     inherit builderDefs scons pkgconfig bzip2 openssl;
7234     inherit (gtkLibs) gtk;
7235     inherit (gnome) libglade;
7236     inherit (xlibs) libX11;
7237   };
7239   links = import ../applications/networking/browsers/links {
7240     inherit fetchurl stdenv;
7241   };
7243   ledger = import ../applications/office/ledger {
7244     inherit stdenv fetchurl emacs gmp pcre;
7245   };
7247   links2 = (builderDefsPackage ../applications/networking/browsers/links2) {
7248     inherit fetchurl stdenv bzip2 zlib libjpeg libpng libtiff
7249       gpm openssl SDL SDL_image SDL_net pkgconfig;
7250     inherit (xlibs) libX11 libXau xproto libXt;
7251   };
7253   lynx = import ../applications/networking/browsers/lynx {
7254     inherit fetchurl stdenv ncurses openssl;
7255   };
7257   lyx = import ../applications/misc/lyx {
7258    inherit fetchurl stdenv texLive python;
7259    qt = qt4;
7260   };
7262   mercurial = import ../applications/version-management/mercurial {
7263     inherit fetchurl stdenv python makeWrapper getConfig tk;
7264     guiSupport = getConfig ["mercurial" "guiSupport"] false; # for hgk (gitk gui for hg)
7265   };
7267   meshlab = import ../applications/graphics/meshlab {
7268     inherit fetchurl stdenv bzip2;
7269     qt = qt4;
7270   };
7272   midori = builderDefsPackage (import ../applications/networking/browsers/midori) {
7273     inherit imagemagick intltool python pkgconfig webkit libxml2
7274       which gettext makeWrapper file libidn sqlite docutils libnotify;
7275     inherit (gtkLibs) gtk glib;
7276     inherit (gnome28) gtksourceview libsoup;
7277   };
7279   minicom = builderDefsPackage (selectVersion ../tools/misc/minicom "2.3") {
7280     inherit ncurses;
7281   };
7283   monodevelop = import ../applications/editors/monodevelop {
7284     inherit fetchurl stdenv file mono gtksourceviewsharp
7285             gtkmozembedsharp monodoc perl perlXMLParser pkgconfig;
7286     inherit (gnome) gnomevfs libbonobo libglade libgnome GConf glib gtk;
7287     mozilla = firefox;
7288     gtksharp = gtksharp2;
7289   };
7291   monodoc = import ../applications/editors/monodoc {
7292     inherit fetchurl stdenv mono pkgconfig;
7293     gtksharp = gtksharp1;
7294   };
7296   mozilla = import ../applications/networking/browsers/mozilla {
7297     inherit fetchurl pkgconfig stdenv perl zip;
7298     inherit (gtkLibs) gtk;
7299     inherit (gnome) libIDL;
7300     inherit (xlibs) libXi;
7301   };
7303   mozplugger = builderDefsPackage (import ../applications/networking/browsers/mozilla-plugins/mozplugger) {
7304     inherit firefox;
7305     inherit (xlibs) libX11 xproto;
7306   };
7308   mpg321 = import ../applications/audio/mpg321 {
7309     inherit stdenv fetchurl libao libmad libid3tag zlib;
7310   };
7312   MPlayer = import ../applications/video/MPlayer {
7313     inherit fetchurl stdenv freetype x11 zlib libtheora libcaca freefont_ttf libdvdnav
7314       cdparanoia mesa pkgconfig unzip amrnb amrwb;
7315     inherit (xlibs) libX11 libXv libXinerama libXrandr;
7316     alsaSupport = true;
7317     alsa = alsaLib;
7318     theoraSupport = true;
7319     cacaSupport = true;
7320     xineramaSupport = true;
7321     randrSupport = true;
7322     cddaSupport = true;
7323     amrSupport = getConfig [ "MPlayer" "amr" ] false;
7324   };
7326   MPlayerPlugin = browser:
7327     import ../applications/networking/browsers/mozilla-plugins/mplayerplug-in {
7328       inherit browser;
7329       inherit fetchurl stdenv pkgconfig gettext;
7330       inherit (xlibs) libXpm;
7331       # !!! should depend on MPlayer
7332     };
7334   MPlayerTrunk = import ../applications/video/MPlayer/trunk.nix {
7335     inherit (bleedingEdgeRepos) sourceByName;
7336     inherit fetchurl stdenv freetype x11 zlib libtheora libcaca freefont_ttf libdvdnav
7337       cdparanoia mesa pkgconfig jackaudio;
7338     inherit (xlibs) libX11 libXv libXinerama libXrandr;
7339     alsaSupport = true;
7340     alsa = alsaLib;
7341     theoraSupport = true;
7342     cacaSupport = true;
7343     xineramaSupport = true;
7344     randrSupport = true;
7345     cddaSupport = true;
7346   };
7348   mrxvt = import ../applications/misc/mrxvt {
7349     inherit lib fetchurl stdenv freetype pkgconfig which;
7350     inherit (xlibs) libXaw xproto libXt libX11 libSM libICE libXft
7351       libXi inputproto;
7352   };
7354   multisync = import ../applications/misc/multisync {
7355     inherit fetchurl stdenv autoconf automake libtool pkgconfig;
7356     inherit (gnome) gtk glib ORBit2 libbonobo libgnomeui GConf;
7357   };
7359   mutt = import ../applications/networking/mailreaders/mutt {
7360     inherit fetchurl stdenv ncurses which openssl gdbm;
7361   };
7363   msmtp = import ../applications/networking/msmtp {
7364     inherit fetchurl stdenv;
7365   };
7367   mythtv = import ../applications/video/mythtv {
7368     inherit fetchurl stdenv which x11 xlibs lame zlib mesa freetype perl alsaLib;
7369     qt3 = qt3mysql;
7370   };
7372   nano = import ../applications/editors/nano {
7373     inherit fetchurl stdenv ncurses gettext;
7374   };
7376   nedit = import ../applications/editors/nedit {
7377       inherit fetchurl stdenv x11;
7378       inherit (xlibs) libXpm;
7379       motif = lesstif;
7380     };
7382   netsurfBrowser = netsurf.browser;
7383   netsurf = recurseIntoAttrs (import ../applications/networking/browsers/netsurf { inherit pkgs; });
7385   nvi = import ../applications/editors/nvi {
7386     inherit fetchurl stdenv ncurses;
7387   };
7389   openoffice = import ../applications/office/openoffice {
7390     inherit fetchurl stdenv pam python tcsh libxslt perl zlib libjpeg
7391       expat pkgconfig freetype fontconfig libwpd libxml2 db4 sablotron
7392       curl libsndfile flex zip unzip libmspack getopt file neon cairo
7393       which icu jdk ant cups openssl bison boost gperf cppunit;
7394     inherit (xlibs) libXaw libXext libX11 libXtst libXi libXinerama;
7395     inherit (gtkLibs) gtk;
7396     inherit (perlPackages) ArchiveZip CompressZlib;
7397     inherit (gnome) GConf ORBit2;
7398   };
7400   opera = import ../applications/networking/browsers/opera {
7401     inherit fetchurl zlib glibc stdenv makeDesktopItem;
7402     inherit (xlibs) libX11 libSM libICE libXt libXext;
7403     qt = qt3;
7404   };
7406   pan = import ../applications/networking/newsreaders/pan {
7407     inherit fetchurl stdenv pkgconfig perl pcre gmime gettext;
7408     inherit (gtkLibs) gtk;
7409     spellChecking = false;
7410   };
7412   panotools = import ../applications/graphics/panotools {
7413     inherit stdenv fetchsvn libpng libjpeg libtiff automake libtool autoconf;
7414   };
7416   pavucontrol = import ../applications/audio/pavucontrol {
7417     inherit fetchurl stdenv pkgconfig pulseaudio libsigcxx
7418       libcanberra intltool gettext;
7419     inherit (gtkLibs) gtkmm;
7420     inherit (gnome) libglademm;
7421   };
7423   paraview = import ../applications/graphics/paraview {
7424     inherit fetchurl stdenv cmake qt4;
7425   };
7427   partitionManager = import ../tools/misc/partition-manager {
7428     inherit fetchurl stdenv lib cmake pkgconfig gettext parted libuuid perl;
7429     kde = kde43;
7430     qt = qt4;
7431   };
7433   pidgin = import ../applications/networking/instant-messengers/pidgin {
7434     inherit fetchurl stdenv pkgconfig perl perlXMLParser libxml2 nss nspr
7435       gtkspell aspell gettext ncurses avahi dbus dbus_glib lib intltool;
7436     openssl = if (getConfig ["pidgin" "openssl"] true) then openssl else null;
7437     gnutls = if (getConfig ["pidgin" "gnutls"] false) then gnutls else null;
7438     GStreamer = gst_all.gstreamer;
7439     inherit (gtkLibs) gtk;
7440     inherit (gnome) startupnotification;
7441     inherit (xlibs) libXScrnSaver;
7442   };
7444   pidginlatex = composedArgsAndFun (import ../applications/networking/instant-messengers/pidgin-plugins/pidgin-latex) {
7445     inherit fetchurl stdenv pkgconfig ghostscript pidgin texLive;
7446     imagemagick = imagemagickBig;
7447     inherit (gtkLibs) glib gtk;
7448   };
7450   pidginlatexSF = builderDefsPackage
7451     (import ../applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix)
7452     {
7453       inherit pkgconfig pidgin texLive imagemagick which;
7454       inherit (gtkLibs) glib gtk;
7455     };
7457   pidginotr = import ../applications/networking/instant-messengers/pidgin-plugins/otr {
7458     inherit fetchurl stdenv libotr pidgin;
7459   };
7461   pinfo = import ../applications/misc/pinfo {
7462     inherit fetchurl stdenv ncurses readline;
7463   };
7465   pqiv = import ../applications/graphics/pqiv {
7466     inherit fetchurl stdenv getopt which pkgconfig;
7467     inherit (gtkLibs) gtk;
7468   };
7470   # perhaps there are better apps for this task? It's how I had configured my preivous system.
7471   # And I don't want to rewrite all rules
7472   procmail = import ../applications/misc/procmail {
7473     inherit fetchurl stdenv autoconf;
7474   };
7476   pstree = import ../applications/misc/pstree {
7477     inherit stdenv fetchurl;
7478   };
7480   pythonmagick = import ../applications/graphics/PythonMagick {
7481     inherit fetchurl stdenv pkgconfig imagemagick boost python;
7482   };
7484   qemu = import ../applications/virtualization/qemu/0.11.0.nix {
7485     inherit stdenv fetchurl SDL zlib which;
7486   };
7488   qemuSVN = import ../applications/virtualization/qemu/svn-6642.nix {
7489     inherit fetchsvn SDL zlib which stdenv;
7490   };
7492   qemuImage = composedArgsAndFun
7493     (selectVersion ../applications/virtualization/qemu/linux-img "0.2") {
7494     inherit builderDefs fetchurl stdenv;
7495   };
7497   qtpfsgui = import ../applications/graphics/qtpfsgui {
7498     inherit fetchurl stdenv exiv2 libtiff fftw qt4 ilmbase;
7499     openexr = openexr_1_6_1;
7500   };
7502   ratpoison = import ../applications/window-managers/ratpoison {
7503     inherit fetchurl stdenv fontconfig readline;
7504     inherit (xlibs) libX11 inputproto libXt libXpm libXft
7505       libXtst xextproto libXi;
7506   };
7508   rcs = import ../applications/version-management/rcs {
7509     inherit fetchurl stdenv;
7510   };
7512   rdesktop = import ../applications/networking/remote/rdesktop {
7513     inherit fetchurl stdenv openssl;
7514     inherit (xlibs) libX11;
7515   };
7517   RealPlayer =
7518     (import ../applications/video/RealPlayer {
7519       inherit fetchurl stdenv;
7520       inherit (gtkLibs) glib pango atk gtk;
7521       inherit (xlibs) libX11;
7522       libstdcpp5 = gcc33.gcc;
7523     });
7525   rsync = import ../applications/networking/sync/rsync {
7526     inherit fetchurl stdenv acl;
7527     enableACLs = system != "i686-darwin";
7528   };
7530   rxvt = import ../applications/misc/rxvt {
7531     inherit lib fetchurl stdenv;
7532     inherit (xlibs) libXt libX11;
7533   };
7535   # = urxvt
7536   rxvt_unicode = makeOverridable (import ../applications/misc/rxvt_unicode) {
7537     inherit lib fetchurl stdenv perl ncurses;
7538     inherit (xlibs) libXt libX11 libXft;
7539     perlSupport = false;
7540   };
7542   sbagen = import ../applications/misc/sbagen {
7543     inherit fetchurl stdenv;
7544   };
7546   scribus = import ../applications/office/scribus {
7547     inherit fetchurl stdenv lib cmake pkgconfig freetype lcms libtiff libxml2
7548       cairo python cups fontconfig zlib libjpeg libpng;
7549     inherit (gnome) libart_lgpl;
7550     inherit (xlibs) libXaw libXext libX11 libXtst libXi libXinerama;
7551     qt = qt3;
7552   };
7554   skype_linux = import ../applications/networking/skype {
7555     inherit fetchurl stdenv;
7556     inherit glibc alsaLib freetype fontconfig libsigcxx gcc;
7557     inherit (xlibs) libSM libICE libXi libXrender libXrandr libXfixes libXcursor
7558                     libXinerama libXext libX11 libXv libXScrnSaver;
7559   };
7561   slim = import ../applications/display-managers/slim {
7562     inherit fetchurl stdenv x11 libjpeg libpng freetype pam;
7563     inherit (xlibs) libXmu;
7564   };
7566   sndBase = builderDefsPackage (import ../applications/audio/snd) {
7567     inherit fetchurl stdenv stringsWithDeps lib fftw;
7568     inherit pkgconfig gmp gettext;
7569     inherit (xlibs) libXpm libX11;
7570     inherit (gtkLibs) gtk glib;
7571   };
7573   snd = sndBase.passthru.function {
7574     inherit guile mesa libtool jackaudio alsaLib;
7575   };
7577   sonicVisualizer = import ../applications/audio/sonic-visualizer {
7578     inherit fetchurl stdenv lib libsndfile libsamplerate bzip2 librdf
7579       rubberband jackaudio pulseaudio libmad
7580       libogg liblo alsaLib librdf_raptor librdf_rasqal redland fftw;
7581     inherit (vamp) vampSDK;
7582     qt = qt4;
7583   };
7585   sox = import ../applications/misc/audio/sox {
7586     inherit fetchurl stdenv lib composableDerivation;
7587     # optional features
7588     inherit alsaLib libao ffmpeg;
7589     inherit libsndfile libogg flac libmad lame libsamplerate;
7590     # Using the default nix ffmpeg I get this error when linking
7591     # .libs/libsox_la-ffmpeg.o: In function `audio_decode_frame':
7592     # /tmp/nix-7957-1/sox-14.0.0/src/ffmpeg.c:130: undefined reference to `avcodec_decode_audio2
7593     # That's why I'v added ffmpeg_svn
7594   };
7596   stumpwm = builderDefsPackage (import ../applications/window-managers/stumpwm) {
7597     inherit texinfo;
7598     clisp = clisp_2_44_1;
7599   };
7601   subversion = makeOverridable (import ../applications/version-management/subversion/default.nix) {
7602     inherit (pkgsOverriden) fetchurl stdenv apr aprutil expat swig zlib jdk python perl sqlite;
7603     neon = neon028;
7604     bdbSupport = getConfig ["subversion" "bdbSupport"] true;
7605     httpServer = getConfig ["subversion" "httpServer"] false;
7606     httpSupport = getConfig ["subversion" "httpSupport"] true;
7607     sslSupport = getConfig ["subversion" "sslSupport"] true;
7608     pythonBindings = getConfig ["subversion" "pythonBindings"] false;
7609     perlBindings = getConfig ["subversion" "perlBindings"] false;
7610     javahlBindings = supportsJDK && getConfig ["subversion" "javahlBindings"] false;
7611     compressionSupport = getConfig ["subversion" "compressionSupport"] true;
7612     httpd = pkgsOverriden.apacheHttpd;
7613   };
7615   svk = perlPackages.SVK;
7617   sylpheed = import ../applications/networking/mailreaders/sylpheed {
7618     inherit fetchurl stdenv pkgconfig openssl gpgme;
7619     inherit (gtkLibs) gtk;
7620     sslSupport = true;
7621     gpgSupport = true;
7622   };
7624   # linux only by now
7625   synergy = import ../applications/misc/synergy {
7626     inherit fetchurl bleedingEdgeRepos stdenv x11;
7627     inherit (xlibs) xextproto libXtst inputproto;
7628   };
7630   tahoelafs = import ../tools/networking/p2p/tahoe-lafs {
7631     inherit fetchurl lib unzip nettools buildPythonPackage;
7632     inherit (pythonPackages) twisted foolscap simplejson nevow zfec
7633       pycryptopp pysqlite;
7634   };
7636   tailor = builderDefsPackage (import ../applications/version-management/tailor) {
7637     inherit makeWrapper python;
7638   };
7640   tangogps = import ../applications/misc/tangogps {
7641     inherit fetchurl stdenv pkgconfig gettext curl libexif sqlite;
7642     inherit (gtkLibs) gtk;
7643     gconf = gnome.GConf;
7644   };
7646   /* does'nt work yet i686-linux only (32bit version)
7647   teamspeak_client = import ../applications/networking/instant-messengers/teamspeak/client.nix {
7648     inherit fetchurl stdenv;
7649     inherit glibc x11;
7650   };
7651   */
7653   taskJuggler = import ../applications/misc/taskjuggler {
7654     inherit stdenv fetchurl;
7655     inherit zlib libpng perl expat;
7656     qt = qt3;
7658     inherit (xlibs) libX11 libXext libSM libICE;
7660     # KDE support is not working yet.
7661     inherit kdelibs kdebase;
7662     withKde = pkgs.getConfig ["taskJuggler" "kde"] false;
7663   };
7665   thinkingRock = import ../applications/misc/thinking-rock {
7666     inherit fetchurl stdenv;
7667   };
7669   thunderbird = import ../applications/networking/mailreaders/thunderbird-2.x {
7670     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo;
7671     inherit (gtkLibs) gtk;
7672     inherit (gnome) libIDL;
7673     inherit (xlibs) libXi;
7674     #enableOfficialBranding = true;
7675   };
7677   /*
7678   Despaired. Looks like ThunderBird-on-Firefox's-Xulrunner is non-trivial
7680   thunderbird3 = lowPrio (import ../applications/networking/mailreaders/thunderbird-3.x {
7681     inherit fetchurl stdenv pkgconfig perl zip libjpeg zlib cairo
7682       python dbus dbus_glib freetype fontconfig bzip2 libpng alsaLib sqlite
7683       patchelf;
7684     inherit (gtkLibs) gtk pango;
7685     inherit (gnome) libIDL;
7686     #enableOfficialBranding = true;
7687     xulrunner = xulrunner3;
7688     autoconf = autoconf213;
7689   });*/
7691   timidity = import ../tools/misc/timidity {
7692     inherit fetchurl stdenv lib alsaLib composableDerivation jackaudio ncurses;
7693   };
7695   tkcvs = import ../applications/version-management/tkcvs {
7696     inherit stdenv fetchurl tcl tk;
7697   };
7699   tla = import ../applications/version-management/arch {
7700     inherit fetchurl stdenv diffutils gnutar gnupatch which;
7701   };
7703   twinkle = import ../applications/networking/twinkle {
7704     inherit fetchurl stdenv lib pkgconfig commoncpp2 ccrtp openssl speex libjpeg perl
7705       libzrtpcpp libsndfile libxml2 file readline alsaLib;
7706     qt = qt3;
7707     boost = boostFull;
7708     inherit (xlibs) libX11 libXaw libICE libXext;
7709   };
7711   unison = import ../applications/networking/sync/unison {
7712     inherit fetchurl stdenv ocaml lablgtk makeWrapper;
7713     inherit (xorg) xset fontschumachermisc;
7714   };
7716   uucp = builderDefsPackage (selectVersion ../tools/misc/uucp "1.07") {
7717   };
7719   uzbl = builderDefsPackage (import ../applications/networking/browsers/uzbl) {
7720     inherit pkgconfig webkit makeWrapper;
7721     inherit (gtkLibs) gtk glib;
7722     libsoup = gnome28.libsoup;
7723   };
7725   uzblExperimental = builderDefsPackage
7726         (import ../applications/networking/browsers/uzbl/experimental.nix) {
7727     inherit pkgconfig webkit makeWrapper;
7728     inherit (gtkLibs) gtk glib;
7729     libsoup = gnome28.libsoup;
7730   };
7732   valknut = import ../applications/networking/p2p/valknut {
7733     inherit fetchurl stdenv perl x11 libxml2 libjpeg libpng openssl dclib;
7734     qt = qt3;
7735   };
7737   vim = import ../applications/editors/vim {
7738     inherit fetchurl stdenv ncurses lib;
7739   };
7741   vimHugeX = import ../applications/editors/vim {
7742     inherit fetchurl stdenv lib ncurses pkgconfig
7743       perl python tcl;
7744     inherit (xlibs) libX11 libXext libSM libXpm
7745       libXt libXaw libXau;
7746     inherit (gtkLibs) glib gtk;
7748     # Looks like python and perl can conflict
7749     flags = ["hugeFeatures" "gtkGUI" "x11Support"
7750       /*"perlSupport"*/ "pythonSupport" "tclSupport"];
7751   };
7753   vim_configurable = import ../applications/editors/vim/configurable.nix {
7754     inherit fetchurl stdenv ncurses pkgconfig composableDerivation lib;
7755     inherit (xlibs) libX11 libXext libSM libXpm
7756         libXt libXaw libXau libXmu;
7757     inherit (gtkLibs) glib gtk;
7758     features = "huge"; # one of  tiny, small, normal, big or huge
7759     # optional features by passing
7760     # python
7761     # TODO mzschemeinterp perlinterp
7762     inherit python perl tcl ruby /*x11*/;
7764     # optional features by flags
7765     flags = [ "X11" ]; # only flag "X11" by now
7766   };
7768   vlc = import ../applications/video/vlc {
7769     inherit fetchurl stdenv perl xlibs zlib a52dec libmad faad2
7770       ffmpeg libdvdnav pkgconfig hal fribidi qt4 freefont_ttf;
7771     dbus = dbus.libs;
7772     alsa = alsaLib;
7773   };
7775   vnstat = import ../applications/networking/vnstat {
7776     inherit fetchurl stdenv ncurses;
7777   };
7779   vorbisTools = import ../applications/audio/vorbis-tools {
7780     inherit fetchurl stdenv libogg libvorbis libao pkgconfig curl glibc
7781       speex flac;
7782   };
7784   vwm = import ../applications/window-managers/vwm {
7785     inherit fetchurl stdenv ncurses pkgconfig libviper libpseudo gpm glib libvterm;
7786   };
7788   w3m = import ../applications/networking/browsers/w3m {
7789     inherit fetchurl stdenv ncurses openssl boehmgc gettext zlib imlib2 x11;
7790     graphicsSupport = false;
7791   };
7793   # I'm keen on wmiimenu only  >wmii-3.5 no longer has it...
7794   wmiimenu = import ../applications/window-managers/wmii31 {
7795     libixp = libixp_for_wmii;
7796     inherit fetchurl /* fetchhg */ stdenv gawk;
7797     inherit (xlibs) libX11;
7798   };
7800   wmiiSnap = import ../applications/window-managers/wmii {
7801     libixp = libixp_for_wmii;
7802     inherit fetchurl /* fetchhg */ stdenv gawk;
7803     inherit (xlibs) libX11 xextproto libXt libXext;
7804     includeUnpack = getConfig ["stdenv" "includeUnpack"] false;
7805   };
7807   wordnet = import ../applications/misc/wordnet {
7808     inherit stdenv fetchurl tcl tk x11 makeWrapper;
7809   };
7811   wrapFirefox = browser: browserName: nameSuffix: import ../applications/networking/browsers/firefox/wrapper.nix {
7812     inherit stdenv nameSuffix makeWrapper makeDesktopItem browser browserName;
7813     plugins =
7814       let enableAdobeFlash = getConfig [ browserName "enableAdobeFlash" ] true;
7815       in
7816        ([]
7817         ++ lib.optional (!enableAdobeFlash) gnash
7818         ++ lib.optional enableAdobeFlash flashplayer
7819         # RealPlayer is disabled by default for legal reasons.
7820         ++ lib.optional (system != "i686-linux" && getConfig [browserName "enableRealPlayer"] false) RealPlayer
7821         ++ lib.optional (getConfig [browserName "enableMPlayer"] false) (MPlayerPlugin browser)
7822         ++ lib.optional (getConfig [browserName "enableGeckoMediaPlayer"] false) gecko_mediaplayer
7823         ++ lib.optional (supportsJDK && getConfig [browserName "jre"] false && jrePlugin ? mozillaPlugin) jrePlugin
7824        );
7825   };
7827   x11vnc = composedArgsAndFun (selectVersion ../tools/X11/x11vnc "0.9.3") {
7828     inherit builderDefs openssl zlib libjpeg ;
7829     inherit (xlibs) libXfixes fixesproto libXdamage damageproto
7830       libX11 xproto libXtst libXinerama xineramaproto libXrandr randrproto
7831       libXext xextproto inputproto recordproto libXi renderproto
7832       libXrender;
7833   };
7835   x2vnc = composedArgsAndFun (selectVersion ../tools/X11/x2vnc "1.7.2") {
7836     inherit builderDefs;
7837     inherit (xlibs) libX11 xproto xextproto libXext libXrandr randrproto;
7838   };
7840   xaos = builderDefsPackage (import ../applications/graphics/xaos) {
7841     inherit (xlibs) libXt libX11 libXext xextproto xproto;
7842     inherit gsl aalib zlib libpng intltool gettext perl;
7843   };
7845   xara = import ../applications/graphics/xara {
7846     inherit fetchurl stdenv autoconf automake libtool gettext cvs
7847       pkgconfig libxml2 zip libpng libjpeg shebangfix perl freetype;
7848     inherit (gtkLibs) gtk;
7849     wxGTK = wxGTK26;
7850   };
7852   xawtv = import ../applications/video/xawtv {
7853     inherit fetchurl stdenv ncurses libjpeg perl;
7854     inherit (xlibs) libX11 libXt libXft xproto libFS fontsproto libXaw libXpm libXext libSM libICE xextproto;
7855   };
7857   xchat = import ../applications/networking/irc/xchat {
7858     inherit fetchurl stdenv pkgconfig tcl;
7859     inherit (gtkLibs) gtk;
7860   };
7862   xchm = import ../applications/misc/xchm {
7863     inherit fetchurl stdenv chmlib wxGTK;
7864   };
7866   /* Doesn't work yet
7868   xen = builderDefsPackage (import ../applications/virtualization/xen) {
7869     inherit python e2fsprogs gnutls pkgconfig libjpeg
7870       ncurses SDL libvncserver zlib;
7871     texLive = if (getConfig ["xen" "texLive"] false) then texLive else null;
7872     graphviz = if (getConfig ["xen" "graphviz"] false) then graphviz else null;
7873     ghostscript = if (getConfig ["xen" "ghostscript"] false) then ghostscript else null;
7874   }; */
7876   xfig = import ../applications/graphics/xfig {
7877     stdenv = overrideGCC stdenv gcc34;
7878     inherit fetchurl makeWrapper x11 Xaw3d libpng libjpeg;
7879     inherit (xlibs) imake libXpm libXmu libXi libXp;
7880   };
7882   xineUI = import ../applications/video/xine-ui {
7883     inherit fetchurl stdenv pkgconfig xlibs xineLib libpng readline ncurses curl;
7884   };
7886   xmms = import ../applications/audio/xmms {
7887     inherit fetchurl libogg libvorbis alsaLib;
7888     inherit (gnome) esound;
7889     inherit (gtkLibs1x) glib gtk;
7890     stdenv = overrideGCC stdenv gcc34; # due to problems with gcc 4.x
7891   };
7893   xneur = import ../applications/misc/xneur {
7894     inherit fetchurl stdenv pkgconfig pcre libxml2 aspell imlib2
7895       xosd libnotify cairo;
7896     GStreamer=gst_all.gstreamer;
7897     inherit (xlibs) libX11 libXpm libXt libXext libXi;
7898     inherit (gtkLibs) glib gtk pango atk;
7899   };
7901   xneur_0_8 = import ../applications/misc/xneur/0.8.nix {
7902     inherit fetchurl stdenv pkgconfig pcre libxml2 aspell imlib2 xosd glib;
7903     GStreamer = gst_all.gstreamer;
7904     inherit (xlibs) libX11 libXpm libXt libXext;
7905   };
7907   xournal = builderDefsPackage (import ../applications/graphics/xournal) {
7908     inherit ghostscript fontconfig freetype zlib
7909       poppler popplerData autoconf automake
7910       libtool pkgconfig;
7911     inherit (xlibs) xproto libX11;
7912     inherit (gtkLibs) gtk atk pango glib;
7913     inherit (gnome) libgnomeprint libgnomeprintui
7914       libgnomecanvas;
7915   };
7917   xpdf = import ../applications/misc/xpdf {
7918     inherit fetchurl stdenv x11 freetype t1lib;
7919     motif = lesstif;
7920     base14Fonts = "${ghostscript}/share/ghostscript/fonts";
7921   };
7923   xpra = import ../tools/X11/xpra {
7924     inherit stdenv fetchurl pkgconfig python pygtk xlibs makeWrapper;
7925     inherit (gtkLibs) gtk;
7926     pyrex = pyrex095;
7927   };
7929   xscreensaverBase = composedArgsAndFun (import ../applications/graphics/xscreensaver) {
7930     inherit stdenv fetchurl builderDefs lib pkgconfig bc perl intltool;
7931     inherit (xlibs) libX11 libXmu;
7932   };
7934   xscreensaver = xscreensaverBase.passthru.function {
7935     flags = ["GL" "gdkpixbuf" "DPMS" "gui" "jpeg"];
7936     inherit mesa libxml2 libjpeg;
7937     inherit (gtkLibs) gtk;
7938     inherit (gnome) libglade;
7939   };
7941   xterm = import ../applications/misc/xterm {
7942     inherit fetchurl stdenv ncurses freetype pkgconfig;
7943     inherit (xlibs) libXaw xproto libXt libX11 libSM libICE libXext libXft luit;
7944   };
7946   xlaunch = import ../tools/X11/xlaunch {
7947     inherit stdenv;
7948     inherit (xorg) xorgserver;
7949   };
7951   xmacro = import ../tools/X11/xmacro {
7952     inherit fetchurl stdenv;
7953     inherit (xlibs) libX11 libXi libXtst xextproto inputproto;
7954   };
7956   xmove = import ../applications/misc/xmove {
7957     inherit fetchurl stdenv;
7958     inherit (xlibs) libX11 libXi imake libXau;
7959     inherit (xorg) xauth;
7960   };
7962   xnee = builderDefsPackage (import ../tools/X11/xnee) {
7963     inherit (gtkLibs) gtk;
7964     inherit (xlibs) libX11 libXtst xextproto libXext
7965       inputproto libXi xproto recordproto;
7966     inherit pkgconfig;
7967   };
7969   xvidcap = import ../applications/video/xvidcap {
7970     inherit fetchurl stdenv perl perlXMLParser pkgconfig gettext lame;
7971     inherit (gtkLibs) gtk;
7972     inherit (gnome) scrollkeeper libglade;
7973     inherit (xlibs) libXmu libXext libXfixes libXdamage libX11;
7974   };
7976   yate = import ../applications/misc/yate {
7977     inherit sox speex openssl automake autoconf pkgconfig;
7978     inherit fetchurl stdenv lib composableDerivation;
7979     qt = qt4;
7980   };
7982   # doesn't compile yet - in case someone else want's to continue ..
7983   qgis =  (selectVersion ../applications/misc/qgis "1.0.1-2") {
7984     inherit composableDerivation fetchsvn stdenv flex lib
7985             ncurses fetchurl perl cmake gdal geos proj x11
7986             gsl libpng zlib bison
7987             sqlite glibc fontconfig freetype /* use libc from stdenv ? - to lazy now - Marc */;
7988     inherit (xlibs) libSM libXcursor libXinerama libXrandr libXrender;
7989     inherit (xorg) libICE;
7990     qt = qt4;
7992     # optional features
7993     # grass = "not yet supported" # cmake -D WITH_GRASS=TRUE  and GRASS_PREFX=..
7994   };
7996   zapping = import ../applications/video/zapping {
7997     inherit fetchurl stdenv pkgconfig perl python
7998             gettext zvbi libjpeg libpng x11
7999             rte perlXMLParser;
8000     inherit (gnome) scrollkeeper libgnomeui libglade esound;
8001     inherit (xlibs) libXv libXmu libXext;
8002     teletextSupport = true;
8003     jpegSupport = true;
8004     pngSupport = true;
8005     recordingSupport = true;
8006   };
8009   ### GAMES
8011   ballAndPaddle = import ../games/ball-and-paddle {
8012     inherit fetchurl stdenv SDL SDL_image SDL_mixer SDL_ttf guile gettext;
8013   };
8015   bsdgames = import ../games/bsdgames {
8016     inherit fetchurl stdenv ncurses openssl flex bison miscfiles;
8017   };
8019   castleCombat = import ../games/castle-combat {
8020     inherit fetchurl stdenv python pygame twisted lib numeric makeWrapper;
8021   };
8023   construoBase = composedArgsAndFun (selectVersion ../games/construo "0.2.2") {
8024     inherit stdenv fetchurl builderDefs
8025       zlib;
8026     inherit (xlibs) libX11 xproto;
8027   };
8029   construo = construoBase.passthru.function {
8030     inherit mesa freeglut;
8031   };
8033   eduke32 = import ../games/eduke32 {
8034     inherit stdenv fetchurl SDL SDL_mixer unzip libvorbis mesa pkgconfig nasm makeDesktopItem;
8035     inherit (gtkLibs) gtk;
8036   };
8038   exult = import ../games/exult {
8039     inherit fetchurl SDL SDL_mixer zlib libpng unzip;
8040     stdenv = overrideGCC stdenv gcc42;
8041   };
8043   /*
8044   exultSnapshot = lowPrio (import ../games/exult/snapshot.nix {
8045     inherit fetchurl stdenv SDL SDL_mixer zlib libpng unzip
8046       autoconf automake libtool flex bison;
8047   });
8048   */
8050   fsg = import ../games/fsg {
8051     inherit stdenv fetchurl pkgconfig mesa;
8052     inherit (gtkLibs) glib gtk;
8053     inherit (xlibs) libX11 xproto;
8054     wxGTK = wxGTK28deps {unicode = false;};
8055   };
8057   fsgAltBuild = import ../games/fsg/alt-builder.nix {
8058     inherit stdenv fetchurl mesa;
8059     wxGTK = wxGTK28deps {unicode = false;};
8060     inherit (xlibs) libX11 xproto;
8061     inherit stringsWithDeps builderDefs;
8062   };
8064   gemrb = import ../games/gemrb {
8065     inherit fetchurl stdenv SDL openal freealut zlib libpng python;
8066   };
8068   gnuchess = builderDefsPackage (import ../games/gnuchess) {
8069     flex = flex2535;
8070   };
8072   gparted = import ../tools/misc/gparted {
8073     inherit fetchurl stdenv parted intltool gettext libuuid pkgconfig libxml2;
8074     inherit (gtkLibs) gtk glib gtkmm;
8075     inherit (gnome) gnomedocutils;
8076   };
8078   hexen = import ../games/hexen {
8079     inherit stdenv fetchurl SDL;
8080   };
8082   kobodeluxe = import ../games/kobodeluxe {
8083     inherit stdenv fetchurl SDL SDL_image;
8084   };
8086   lincity = builderDefsPackage (import ../games/lincity) {
8087     inherit (xlibs) libX11 libXext xextproto
8088       libICE libSM xproto;
8089     inherit libpng zlib;
8090   };
8092   micropolis = import ../games/micropolis {
8093     inherit lib fetchurl stdenv;
8094     inherit (xlibs) libX11 libXpm libXext xextproto;
8095     inherit byacc bash;
8096   };
8098   openttd = import ../games/openttd {
8099     inherit fetchurl stdenv SDL libpng;
8100     zlib = zlibStatic;
8101   };
8103   quake3demo = import ../games/quake3/wrapper {
8104     name = "quake3-demo-${quake3game.name}";
8105     description = "Demo of Quake 3 Arena, a classic first-person shooter";
8106     inherit fetchurl stdenv mesa makeWrapper;
8107     game = quake3game;
8108     paks = [quake3demodata];
8109   };
8111   quake3demodata = import ../games/quake3/demo {
8112     inherit fetchurl stdenv;
8113   };
8115   quake3game = import ../games/quake3/game {
8116     inherit fetchurl stdenv x11 SDL mesa openal;
8117   };
8119   rogue = import ../games/rogue {
8120     inherit fetchurl stdenv ncurses;
8121   };
8123   scummvm = import ../games/scummvm {
8124     inherit fetchurl stdenv SDL zlib mpeg2dec;
8125   };
8127   scorched3d = import ../games/scorched3d {
8128     inherit stdenv fetchurl mesa openal autoconf automake libtool freealut freetype fftw SDL SDL_net zlib libpng libjpeg;
8129     wxGTK = wxGTK26;
8130   };
8132   sgtpuzzles = builderDefsPackage (import ../games/sgt-puzzles) {
8133     inherit (gtkLibs) gtk glib;
8134     inherit pkgconfig;
8135     inherit (xlibs) libX11;
8136   };
8138   # You still can override by passing more arguments.
8139   spaceOrbit = composedArgsAndFun (selectVersion ../games/orbit "1.01") {
8140     inherit fetchurl stdenv builderDefs mesa freeglut;
8141     inherit (gnome) esound;
8142     inherit (xlibs) libXt libX11 libXmu libXi libXext;
8143   };
8145   superTuxKart = import ../games/super-tux-kart {
8146     inherit fetchurl stdenv plib SDL openal freealut mesa
8147       libvorbis libogg gettext;
8148   };
8150   teeworlds = import ../games/teeworlds {
8151     inherit fetchurl stdenv python alsaLib mesa SDL;
8152     inherit (xlibs) libX11;
8153   };
8155   /*tpm = import ../games/thePenguinMachine {
8156     inherit stdenv fetchurl pil pygame SDL;
8157     python24 = python;
8158   };*/
8160   ut2004demo = import ../games/ut2004demo {
8161     inherit fetchurl stdenv xlibs mesa;
8162   };
8164   xboard = builderDefsPackage (import ../games/xboard) {
8165     inherit (xlibs) libX11 xproto libXt libXaw libSM
8166       libICE libXmu libXext;
8167     inherit gnuchess;
8168   };
8170   xsokoban = builderDefsPackage (import ../games/xsokoban) {
8171     inherit (xlibs) libX11 xproto libXpm libXt;
8172   };
8174   zdoom = import ../games/zdoom {
8175     inherit cmake stdenv fetchsvn SDL nasm p7zip zlib flac fmod libjpeg;
8176   };
8178   zoom = import ../games/zoom {
8179     inherit fetchurl stdenv perl expat freetype;
8180     inherit (xlibs) xlibs;
8181   };
8183   keen4 = import ../games/keen4 {
8184     inherit fetchurl stdenv dosbox unzip;
8185   };
8188   ### DESKTOP ENVIRONMENTS
8191   enlightenment = import ../desktops/enlightenment {
8192     inherit stdenv fetchurl pkgconfig x11 xlibs dbus imlib2 freetype;
8193   };
8195   gnome28 = import ../desktops/gnome-2.28 pkgs;
8197   gnome = gnome28;
8199   kde3 = {
8201     kdelibs = import ../desktops/kde-3/kdelibs {
8202       inherit
8203         fetchurl stdenv xlibs zlib perl openssl pcre pkgconfig
8204         libjpeg libpng libtiff libxml2 libxslt libtool
8205         expat freetype bzip2 cups attr acl;
8206       qt = qt3;
8207     };
8209     kdebase = import ../desktops/kde-3/kdebase {
8210       inherit
8211         fetchurl stdenv pkgconfig x11 xlibs zlib libpng libjpeg perl
8212         kdelibs openssl bzip2 fontconfig pam hal dbus glib;
8213       qt = qt3;
8214     };
8216   };
8218   kde4 = kde43;
8220   kde43 = import ../desktops/kde-4.3 (pkgs // {
8221     openexr = openexr_1_6_1;
8222     qt4 = qt45;
8223     popplerQt4 = popplerQt45;
8224   });
8226   kdelibs = kde3.kdelibs;
8227   kdebase = kde3.kdebase;
8229   ### SCIENCE
8231   xplanet = import ../applications/science/xplanet {
8232     inherit stdenv fetchurl lib pkgconfig freetype libpng libjpeg giflib libtiff;
8233     inherit (gtkLibs) pango;
8234   };
8236   ### SCIENCE/GEOMETRY
8238   drgeo = builderDefsPackage (import ../applications/science/geometry/drgeo) {
8239     inherit (gnome) libglade gtk;
8240     inherit libxml2 guile perl intltool libtool pkgconfig;
8241   };
8244   ### SCIENCE/BIOLOGY
8246   alliance = import ../applications/science/electronics/alliance {
8247     inherit fetchurl stdenv bison flex;
8248     inherit (xlibs) xproto libX11 libXt libXpm;
8249     motif = lesstif;
8250   };
8252   arb = import ../applications/science/biology/arb {
8253     inherit fetchurl stdenv readline libpng zlib x11 lesstif93 freeglut perl;
8254     inherit (xlibs) libXpm libXaw libX11 libXext libXt;
8255     inherit mesa glew libtiff lynx rxp sablotron jdk transfig gv gnuplot;
8256     lesstif = lesstif93;
8257   };
8259   biolib = import ../development/libraries/science/biology/biolib {
8260     inherit fetchurl stdenv readline perl cmake rLang zlib;
8261   };
8263   emboss = import ../applications/science/biology/emboss {
8264     inherit fetchurl stdenv readline perl libpng zlib;
8265     inherit (xorg) libX11 libXt;
8266   };
8268   mrbayes = import ../applications/science/biology/mrbayes {
8269     inherit fetchurl stdenv readline;
8270   };
8272   ncbi_tools = import ../applications/science/biology/ncbi-tools {
8273     inherit fetchurl stdenv cpio;
8274   };
8276   paml = import ../applications/science/biology/paml {
8277     inherit fetchurl stdenv;
8278   };
8280   /* slr = import ../applications/science/biology/slr {
8281     inherit fetchurl stdenv liblapack;
8282   }; */
8284   pal2nal = import ../applications/science/biology/pal2nal {
8285     inherit fetchurl stdenv perl paml;
8286   };
8289   ### SCIENCE/MATH
8291   atlas = import ../development/libraries/science/math/atlas {
8292     inherit fetchurl stdenv gfortran;
8293   };
8295   /* liblapack = import ../development/libraries/science/math/liblapack {
8296     inherit fetchurl stdenv gfortran;
8297   }; */
8300   ### SCIENCE/LOGIC
8302   coq = import ../applications/science/logic/coq {
8303     inherit stdenv fetchurl ocaml lablgtk ncurses;
8304     camlp5 = camlp5_transitional;
8305   };
8307   ssreflect = import ../applications/science/logic/ssreflect {
8308     inherit stdenv fetchurl ocaml coq;
8309     camlp5 = camlp5_transitional;
8310   };
8312   ### SCIENCE / ELECTRONICS
8314   ngspice = import ../applications/science/electronics/ngspice {
8315     inherit fetchurl stdenv readline;
8316   };
8319   ### SCIENCE / MATH
8321   maxima = import ../applications/science/math/maxima {
8322     inherit fetchurl stdenv clisp;
8323   };
8325   wxmaxima = import ../applications/science/math/wxmaxima {
8326     inherit fetchurl stdenv maxima;
8327     inherit wxGTK;
8328   };
8330   scilab = (import ../applications/science/math/scilab) {
8331     inherit stdenv fetchurl lib gfortran;
8332     inherit (gtkLibs) gtk;
8333     inherit ncurses Xaw3d tcl tk ocaml x11;
8335     withXaw3d = false;
8336     withTk = true;
8337     withGtk = false;
8338     withOCaml = true;
8339     withX = true;
8340   };
8343   ### MISC
8345   atari800 = import ../misc/emulators/atari800 {
8346     inherit fetchurl stdenv unzip zlib SDL;
8347   };
8349   ataripp = import ../misc/emulators/atari++ {
8350     inherit fetchurl stdenv x11 SDL;
8351   };
8353   auctex = import ../misc/tex/auctex {
8354     inherit stdenv fetchurl emacs texLive;
8355   };
8357   busybox = import ../misc/busybox {
8358     inherit fetchurl stdenv;
8359   };
8361   cups = import ../misc/cups {
8362     inherit fetchurl stdenv pkgconfig zlib libjpeg libpng libtiff pam openssl dbus;
8363   };
8365   gutenprint = import ../misc/drivers/gutenprint {
8366     inherit fetchurl stdenv lib pkgconfig composableDerivation cups libtiff libpng
8367       openssl git gimp;
8368   };
8370   gutenprintBin = import ../misc/drivers/gutenprint/bin.nix {
8371     inherit fetchurl stdenv rpm cpio zlib;
8372   };
8374   cupsBjnp = import ../misc/cups/drivers/cups-bnjp {
8375     inherit fetchurl stdenv cups;
8376   };
8378   dblatex = import ../misc/tex/dblatex {
8379     inherit fetchurl stdenv python libxslt tetex;
8380   };
8382   dosbox = import ../misc/emulators/dosbox {
8383     inherit fetchurl stdenv SDL makeDesktopItem;
8384   };
8386   dpkg = import ../tools/package-management/dpkg {
8387     inherit fetchurl stdenv perl zlib bzip2;
8388   };
8390   electricsheep = import ../misc/screensavers/electricsheep {
8391     inherit fetchurl stdenv pkgconfig expat zlib libpng libjpeg xlibs;
8392   };
8394   foldingathome = import ../misc/foldingathome {
8395       inherit fetchurl stdenv;
8396     };
8398   freestyle = import ../misc/freestyle {
8399     inherit fetchurl freeglut qt4 libpng lib3ds libQGLViewer swig;
8400     inherit (xlibs) libXi;
8401     #stdenv = overrideGCC stdenv gcc41;
8402     inherit stdenv python;
8403   };
8405   gajim = builderDefsPackage (import ../applications/networking/instant-messengers/gajim) {
8406     inherit perl intltool pyGtkGlade gettext pkgconfig makeWrapper pygobject
8407       pyopenssl gtkspell libsexy pycrypto aspell pythonDBus pythonSexy
8408       docutils;
8409     dbus = dbus.libs;
8410     inherit (gnome) gtk libglade;
8411     inherit (xlibs) libXScrnSaver libXt xproto libXext xextproto libX11
8412       scrnsaverproto;
8413     python = pythonFull;
8414   };
8416   generator = import ../misc/emulators/generator {
8417     inherit fetchurl stdenv SDL nasm zlib bzip2 libjpeg;
8418     inherit (gtkLibs1x) gtk;
8419   };
8421   ghostscript = makeOverridable (import ../misc/ghostscript) {
8422     inherit fetchurl stdenv libjpeg libpng libtiff zlib x11 pkgconfig
8423       fontconfig cups openssl;
8424     x11Support = false;
8425     cupsSupport = getPkgConfig "ghostscript" "cups" true;
8426   };
8428   ghostscriptX = lowPrio (appendToName "with-X" (ghostscript.override {
8429     x11Support = true;
8430   }));
8432   gxemul = (import ../misc/gxemul) {
8433     inherit lib stdenv fetchurl composableDerivation;
8434     inherit (xlibs) libX11;
8435   };
8437   # using the new configuration style proposal which is unstable
8438   jackaudio = import ../misc/jackaudio {
8439     inherit composableDerivation
8440            ncurses lib stdenv fetchurl alsaLib pkgconfig;
8441     flags = [ "posix_shm" "timestamps" "alsa"];
8442   };
8444   keynav = import ../tools/X11/keynav {
8445     inherit stdenv fetchurl;
8446     inherit (xlibs) libX11 xextproto libXtst imake libXi libXext;
8447   };
8449   lazylist = import ../misc/tex/lazylist {
8450     inherit fetchurl stdenv tetex;
8451   };
8453   lilypond = import ../misc/lilypond {
8454     inherit (bleedingEdgeRepos) sourceByName;
8455     inherit fetchurl stdenv lib automake autoconf
8456       ghostscript texinfo imagemagick texi2html guile python gettext
8457       perl bison pkgconfig texLive fontconfig freetype fontforge help2man;
8458     inherit (gtkLibs) pango;
8459     flex = flex2535;
8460   };
8462   linuxwacom = import ../misc/linuxwacom {
8463     inherit fetchurl stdenv ncurses pkgconfig;
8464     inherit (xorg) libX11 libXi xproto inputproto xorgserver;
8465   };
8467   martyr = import ../development/libraries/martyr {
8468     inherit stdenv fetchurl apacheAnt;
8469   };
8471   maven = import ../misc/maven/maven-1.0.nix {
8472     inherit stdenv fetchurl jdk;
8473   };
8475   # don't have time for the source build right now
8476   # maven2
8477   mvn_bin = import ../misc/maven/maven-2.nix {
8478     inherit fetchurl stdenv unzip;
8479   };
8481   nix = import ../tools/package-management/nix {
8482     inherit fetchurl stdenv perl curl bzip2 openssl;
8483     aterm = aterm242fixes;
8484     db4 = db45;
8485     supportOldDBs = getPkgConfig "nix" "OldDBSupport" true;
8486     storeDir = getPkgConfig "nix" "storeDir" "/nix/store";
8487     stateDir = getPkgConfig "nix" "stateDir" "/nix/var";
8488   };
8490   # The bleeding edge.
8491   nixUnstable = nix;
8492   /*
8493   nixUnstable = makeOverridable (import ../tools/package-management/nix/unstable.nix) {
8494     inherit fetchurl stdenv perl curl bzip2 openssl;
8495     aterm = aterm242fixes;
8496     db4 = db45;
8497     supportOldDBs = getPkgConfig "nix" "OldDBSupport" true;
8498     storeDir = getPkgConfig "nix" "storeDir" "/nix/store";
8499     stateDir = getPkgConfig "nix" "stateDir" "/nix/var";
8500   };
8501   */
8503   nixCustomFun = src: preConfigure: enableScripts: configureFlags:
8504     import ../tools/package-management/nix/custom.nix {
8505       inherit fetchurl stdenv perl curl bzip2 openssl src preConfigure automake
8506         autoconf libtool configureFlags enableScripts lib bison libxml2;
8507       flex = flex2533;
8508       aterm = aterm242fixes;
8509       db4 = db45;
8510       inherit docbook5_xsl libxslt docbook5 docbook_xml_dtd_43 w3m;
8511     };
8513   disnix = import ../tools/package-management/disnix {
8514     inherit stdenv fetchsvn openssl autoconf automake libtool pkgconfig dbus_glib libxml2;
8515   };
8517   disnix_activation_scripts = import ../tools/package-management/disnix/activation-scripts {
8518     inherit stdenv fetchsvn autoconf automake;
8519   };
8521   DisnixService = import ../tools/package-management/disnix/DisnixService {
8522     inherit stdenv fetchsvn apacheAnt jdk axis2 shebangfix;
8523   };
8525   ntfs3g = import ../misc/ntfs-3g {
8526     inherit fetchurl stdenv utillinux;
8527   };
8529   ntfsprogs = import ../misc/ntfsprogs {
8530     inherit fetchurl stdenv libuuid;
8531   };
8533   pgadmin = import ../applications/misc/pgadmin {
8534     inherit fetchurl stdenv postgresql libxml2 libxslt openssl;
8535     inherit wxGTK;
8536   };
8538   pgf = pgf2;
8540   # Keep the old PGF since some documents don't render properly with
8541   # the new one.
8542   pgf1 = import ../misc/tex/pgf/1.x.nix {
8543     inherit fetchurl stdenv;
8544   };
8546   pgf2 = import ../misc/tex/pgf/2.x.nix {
8547     inherit fetchurl stdenv;
8548   };
8550   polytable = import ../misc/tex/polytable {
8551     inherit fetchurl stdenv tetex lazylist;
8552   };
8554   psi = (selectVersion ../applications/networking/instant-messengers/psi "0.12.1")
8555     {
8556       inherit stdenv fetchurl zlib aspell sox openssl qt4;
8557       inherit (xlibs) xproto libX11 libSM libICE;
8558       qca2 = kde4.qca2;
8559     };
8561   putty = import ../applications/networking/remote/putty {
8562     inherit stdenv fetchurl ncurses;
8563     inherit (gtkLibs1x) gtk;
8564   };
8566   rssglx = import ../misc/screensavers/rss-glx {
8567     inherit fetchurl stdenv x11 mesa pkgconfig imagemagick libtiff bzip2;
8568   };
8570   xlockmore = import ../misc/screensavers/xlockmore {
8571     inherit fetchurl stdenv x11 freetype;
8572     pam = if getPkgConfig "xlockmore" "pam" true then pam else null;
8573   };
8575   saneBackends = import ../misc/sane-backends {
8576     inherit fetchurl stdenv libusb;
8577     gt68xxFirmware = getConfig ["sane" "gt68xxFirmware"] null;
8578   };
8580   saneFrontends = import ../misc/sane-front {
8581     inherit fetchurl stdenv pkgconfig libusb saneBackends;
8582     inherit (gtkLibs) gtk;
8583     inherit (xlibs) libX11;
8584   };
8586   sourceAndTags = import ../misc/source-and-tags {
8587     inherit pkgs stdenv unzip lib ctags;
8588     hasktags = haskellPackages.myhasktags;
8589   };
8591   synaptics = import ../misc/synaptics {
8592     inherit fetchurl stdenv pkgconfig;
8593     inherit (xlibs) libX11 libXi libXext pixman xf86inputevdev;
8594     inherit (xorg) xorgserver;
8595   };
8597   tetex = import ../misc/tex/tetex {
8598     inherit fetchurl stdenv flex bison zlib libpng ncurses ed;
8599   };
8601   texFunctions = import ../misc/tex/nix {
8602     inherit stdenv perl tetex graphviz ghostscript makeFontsConf imagemagick runCommand lib;
8603     inherit (haskellPackages) lhs2tex;
8604   };
8606   texLive = builderDefsPackage (import ../misc/tex/texlive) {
8607     inherit builderDefs zlib bzip2 ncurses libpng ed
8608       gd t1lib freetype icu perl ruby expat curl
8609       libjpeg bison;
8610     inherit (xlibs) libXaw libX11 xproto libXt libXpm
8611       libXmu libXext xextproto libSM libICE;
8612     flex = flex2535;
8613     ghostscript = ghostscriptX;
8614   };
8616   /* Look in configurations/misc/raskin.nix for usage example (around revisions
8617   where TeXLive was added)
8619   (texLiveAggregationFun {
8620     paths = [texLive texLiveExtra texLiveCMSuper
8621       texLiveBeamer
8622     ];
8623   })
8625   You need to use texLiveAggregationFun to regenerate, say, ls-R (TeX-related file list)
8626   Just installing a few packages doesn't work.
8627   */
8628   texLiveAggregationFun =
8629     (builderDefsPackage (import ../misc/tex/texlive/aggregate.nix));
8631   texLiveContext = builderDefsPackage (import ../misc/tex/texlive/context.nix) {
8632     inherit texLive;
8633   };
8635   texLiveExtra = builderDefsPackage (import ../misc/tex/texlive/extra.nix) {
8636     inherit texLive;
8637   };
8639   texLiveCMSuper = builderDefsPackage (import ../misc/tex/texlive/cm-super.nix) {
8640     inherit texLive;
8641   };
8643   texLiveLatexXColor = builderDefsPackage (import ../misc/tex/texlive/xcolor.nix) {
8644     inherit texLive;
8645   };
8647   texLivePGF = builderDefsPackage (import ../misc/tex/texlive/pgf.nix) {
8648     inherit texLiveLatexXColor texLive;
8649   };
8651   texLiveBeamer = builderDefsPackage (import ../misc/tex/texlive/beamer.nix) {
8652     inherit texLiveLatexXColor texLivePGF texLive;
8653   };
8655   toolbuslib = import ../development/libraries/toolbuslib {
8656     inherit stdenv fetchurl aterm;
8657   };
8659   trac = import ../misc/trac {
8660     inherit stdenv fetchurl python clearsilver makeWrapper
8661       sqlite subversion;
8662     inherit (pythonPackages) pysqlite;
8663   };
8665    vice = import ../misc/emulators/vice {
8666      inherit stdenv fetchurl lib perl gettext libpng giflib libjpeg alsaLib readline mesa;
8667      inherit pkgconfig SDL makeDesktopItem autoconf automake;
8668      inherit (gtkLibs) gtk;
8669    };
8671   wine =
8672     if system == "x86_64-linux" then
8673       # Can't build this in 64-bit; use a 32-bit build instead.
8674       (import ./all-packages.nix {system = "i686-linux";}).wine
8675       # some hackery to make nix-env show this package on x86_64...
8676       // {system = "x86_64-linux";}
8677     else
8678       import ../misc/emulators/wine {
8679         inherit fetchurl stdenv flex bison mesa ncurses
8680           libpng libjpeg alsaLib lcms xlibs freetype
8681           fontconfig fontforge libxml2 libxslt openssl;
8682       };
8684   xosd = import ../misc/xosd {
8685     inherit fetchurl stdenv;
8686     inherit (xlibs) libX11 libXext libXt xextproto xproto;
8687   };
8689   xsane = import ../misc/xsane {
8690     inherit fetchurl stdenv pkgconfig libusb
8691       saneBackends saneFrontends;
8692     inherit (gtkLibs) gtk;
8693     inherit (xlibs) libX11;
8694   };
8696   yafc = import ../applications/networking/yafc {
8697     inherit fetchurl stdenv readline openssh;
8698   };
8700   myEnvFun = import ../misc/my-env {
8701     inherit substituteAll pkgs;
8702     inherit (stdenv) mkDerivation;
8703   };
8705   misc = import ../misc/misc.nix { inherit pkgs stdenv; };
8707 }; in pkgs