Add package OpenAFS
[nixpkgs-libre.git] / pkgs / top-level / all-packages.nix
blob8aa946bfb78528f581312f65bb2a794401ca4700
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   openafsClient = import ../servers/openafs-client {
2884     inherit stdenv fetchurl autoconf automake flex yacc;
2885     inherit kernel_2_6_28 glibc ncurses perl krb5;
2886   };
2888   openocd = import ../development/tools/misc/openocd {
2889     inherit fetchurl stdenv libftdi;
2890   };
2892   oprofile = import ../development/tools/profiling/oprofile {
2893     inherit fetchurl stdenv binutils popt;
2894     inherit makeWrapper gawk which gnugrep;
2895   };
2897   patchelf = useFromStdenv "patchelf"
2898     (import ../development/tools/misc/patchelf {
2899       inherit fetchurl stdenv;
2900     });
2902   patchelf05 = import ../development/tools/misc/patchelf/0.5.nix {
2903     inherit fetchurl stdenv;
2904   };
2906   pmccabe = import ../development/tools/misc/pmccabe {
2907     inherit fetchurl stdenv;
2908   };
2910   /**
2911    * pkgconfig is optionally taken from the stdenv to allow bootstrapping
2912    * of glib and pkgconfig itself on MinGW.
2913    */
2914   pkgconfig = useFromStdenv "pkgconfig"
2915     (import ../development/tools/misc/pkgconfig {
2916       inherit fetchurl stdenv;
2917     });
2919   radare = import ../development/tools/analysis/radare {
2920     inherit stdenv fetchurl pkgconfig libusb readline gtkdialog python
2921       ruby libewf perl;
2922     inherit (gtkLibs) gtk;
2923     inherit (gnome) vte;
2924     lua = lua5;
2925     useX11 = getConfig ["radare" "useX11"] false;
2926     pythonBindings = getConfig ["radare" "pythonBindings"] false;
2927     rubyBindings = getConfig ["radare" "rubyBindings"] false;
2928     luaBindings = getConfig ["radare" "luaBindings"] false;
2929   };
2931   ragel = import ../development/tools/parsing/ragel {
2932     inherit composableDerivation fetchurl transfig texLive;
2933   };
2935   remake = import ../development/tools/build-managers/remake {
2936       inherit fetchurl stdenv;
2937     };
2939   # couldn't find the source yet
2940   seleniumRCBin = import ../development/tools/selenium/remote-control {
2941     inherit fetchurl stdenv unzip;
2942     jre = jdk;
2943   };
2945   scons = import ../development/tools/build-managers/scons {
2946     inherit fetchurl stdenv python makeWrapper;
2947   };
2949   sloccount = import ../development/tools/misc/sloccount {
2950     inherit fetchurl stdenv perl;
2951   };
2953   sparse = import ../development/tools/analysis/sparse {
2954     inherit fetchurl stdenv pkgconfig;
2955   };
2957   spin = import ../development/tools/analysis/spin {
2958     inherit fetchurl stdenv flex yacc tk;
2959   };
2961   splint = import ../development/tools/analysis/splint {
2962     inherit fetchurl stdenv flex;
2963   };
2965   strace = import ../development/tools/misc/strace {
2966     inherit fetchurl stdenv;
2967   };
2969   swig = import ../development/tools/misc/swig {
2970     inherit fetchurl stdenv boost;
2971   };
2973   swigWithJava = swig;
2975   swftools = import ../tools/video/swftools {
2976     inherit fetchurl stdenv x264 zlib libjpeg freetype giflib;
2977   };
2979   texinfo49 = import ../development/tools/misc/texinfo/4.9.nix {
2980     inherit fetchurl stdenv ncurses;
2981   };
2983   texinfo = import ../development/tools/misc/texinfo {
2984     inherit fetchurl stdenv ncurses lzma;
2985   };
2987   texi2html = import ../development/tools/misc/texi2html {
2988     inherit fetchurl stdenv perl;
2989   };
2991   uisp = import ../development/tools/misc/uisp {
2992     inherit fetchurl stdenv;
2993   };
2995   gdb = import ../development/tools/misc/gdb {
2996     inherit fetchurl stdenv ncurses gmp mpfr expat texinfo;
2997     readline = readline5;
2998   };
3000   valgrind = import ../development/tools/analysis/valgrind {
3001     inherit fetchurl stdenv perl gdb;
3002   };
3004   xxdiff = builderDefsPackage (selectVersion ../development/tools/misc/xxdiff "3.2") {
3005     flex = flex2535;
3006     qt = qt3;
3007     inherit pkgconfig makeWrapper bison python;
3008     inherit (xlibs) libXext libX11;
3009   };
3011   yacc = bison;
3013   yodl = import ../development/tools/misc/yodl {
3014     inherit stdenv fetchurl perl;
3015   };
3018   ### DEVELOPMENT / LIBRARIES
3021   a52dec = import ../development/libraries/a52dec {
3022     inherit fetchurl stdenv;
3023   };
3025   aalib = import ../development/libraries/aalib {
3026     inherit fetchurl stdenv ncurses;
3027   };
3029   acl = useFromStdenv "acl"
3030     (import ../development/libraries/acl {
3031       inherit stdenv fetchurl gettext attr libtool;
3032     });
3034   adns = selectVersion ../development/libraries/adns "1.4" {
3035     inherit stdenv fetchurl;
3036     static = getPkgConfig "adns" "static" (stdenv ? isStatic || stdenv ? isDietLibC);
3037   };
3039   agg = import ../development/libraries/agg {
3040     inherit fetchurl stdenv autoconf automake libtool pkgconfig
3041       freetype SDL;
3042     inherit (xlibs) libX11;
3043   };
3045   amrnb = import ../development/libraries/amrnb {
3046     inherit fetchurl stdenv unzip;
3047   };
3049   amrwb = import ../development/libraries/amrwb {
3050     inherit fetchurl stdenv unzip;
3051   };
3053   apr = makeOverridable (import ../development/libraries/apr) {
3054     inherit (pkgsOverriden) fetchurl stdenv;
3055   };
3057   aprutil = makeOverridable (import ../development/libraries/apr-util) {
3058     inherit (pkgsOverriden) fetchurl stdenv apr expat db4;
3059     bdbSupport = true;
3060   };
3062   arts = import ../development/libraries/arts {
3063     inherit fetchurl stdenv pkgconfig;
3064     inherit (xlibs) libX11 libXext;
3065     inherit kdelibs zlib libjpeg libpng perl;
3066     qt = qt3;
3067     inherit (gnome) glib;
3068   };
3070   aspell = import ../development/libraries/aspell {
3071     inherit fetchurl stdenv perl;
3072   };
3074   aspellDicts = recurseIntoAttrs (import ../development/libraries/aspell/dictionaries.nix {
3075     inherit fetchurl stdenv aspell which;
3076   });
3078   aterm = aterm25;
3080   aterm242fixes = lowPrio (import ../development/libraries/aterm/2.4.2-fixes.nix {
3081     inherit fetchurl stdenv;
3082   });
3084   aterm25 = makeOverridable (import ../development/libraries/aterm/2.5.nix) {
3085     inherit fetchurl stdenv;
3086   };
3088   aterm28 = lowPrio (import ../development/libraries/aterm/2.8.nix {
3089     inherit fetchurl stdenv;
3090   });
3092   attr = useFromStdenv "attr"
3093     (import ../development/libraries/attr {
3094       inherit stdenv fetchurl gettext libtool;
3095     });
3097   aubio = import ../development/libraries/aubio {
3098     inherit fetchurl stdenv pkgconfig fftw libsndfile libsamplerate python
3099       alsaLib jackaudio;
3100   };
3102   axis = import ../development/libraries/axis {
3103     inherit fetchurl stdenv;
3104   };
3106   babl = import ../development/libraries/babl {
3107     inherit fetchurl stdenv;
3108   };
3110   beecrypt = import ../development/libraries/beecrypt {
3111     inherit fetchurl stdenv m4;
3112   };
3114   boehmgc = import ../development/libraries/boehm-gc {
3115     inherit fetchurl stdenv;
3116   };
3118   boolstuff = import ../development/libraries/boolstuff {
3119     inherit fetchurl stdenv lib pkgconfig;
3120   };
3122   boost_1_36_0 = import ../development/libraries/boost/1.36.0.nix {
3123     inherit fetchurl stdenv icu expat zlib bzip2 python;
3124   };
3126   boost = makeOverridable (import ../development/libraries/boost/1.40.0.nix) {
3127     inherit fetchurl stdenv icu expat zlib bzip2 python;
3128   };
3130   # A Boost build with all library variants enabled.  Very large (about 250 MB).
3131   boostFull = appendToName "full" (boost.override {
3132     enableDebug = true;
3133     enableSingleThreaded = true;
3134     enableStatic = true;
3135   });
3137   botan = builderDefsPackage (import ../development/libraries/botan) {
3138     inherit perl;
3139   };
3141   buddy = import ../development/libraries/buddy {
3142     inherit fetchurl stdenv bison;
3143   };
3145   cairo = import ../development/libraries/cairo {
3146     inherit fetchurl stdenv pkgconfig x11 fontconfig freetype zlib libpng;
3147     inherit (xlibs) pixman libxcb xcbutil;
3148   };
3150   cairomm = import ../development/libraries/cairomm {
3151     inherit fetchurl stdenv pkgconfig cairo x11 fontconfig freetype libsigcxx;
3152   };
3154   ccrtp = import ../development/libraries/ccrtp {
3155     inherit fetchurl stdenv lib pkgconfig openssl libgcrypt commoncpp2;
3156   };
3158   chipmunk = builderDefsPackage (import ../development/libraries/chipmunk) {
3159     inherit cmake freeglut mesa;
3160     inherit (xlibs) libX11 xproto inputproto libXi libXmu;
3161   };
3163   chmlib = import ../development/libraries/chmlib {
3164     inherit fetchurl stdenv;
3165   };
3167   cil = import ../development/libraries/cil {
3168     inherit stdenv fetchurl ocaml perl;
3169   };
3171   cilaterm = import ../development/libraries/cil-aterm {
3172     stdenv = overrideInStdenv stdenv [gnumake380];
3173     inherit fetchurl perl ocaml;
3174   };
3176   clanlib = import ../development/libraries/clanlib {
3177     inherit fetchurl stdenv zlib libpng libjpeg libvorbis libogg mesa;
3178     inherit (xlibs) libX11 xf86vidmodeproto libXmu libXxf86vm;
3179   };
3181   classpath = import ../development/libraries/java/classpath {
3182     javac = gcj;
3183     jvm = gcj;
3184     inherit fetchurl stdenv pkgconfig antlr;
3185     inherit (gtkLibs) gtk;
3186     gconf = gnome.GConf;
3187   };
3189   clearsilver = import ../development/libraries/clearsilver {
3190     inherit fetchurl stdenv python;
3191   };
3193   clppcre = builderDefsPackage (import ../development/libraries/cl-ppcre) {
3194   };
3196   cluceneCore = (import ../development/libraries/clucene-core) {
3197     inherit fetchurl stdenv;
3198   };
3200   commoncpp2 = import ../development/libraries/commoncpp2 {
3201     inherit stdenv fetchurl lib;
3202   };
3204   consolekit = makeOverridable (import ../development/libraries/consolekit) {
3205     inherit stdenv fetchurl pkgconfig dbus_glib zlib pam policykit expat glib;
3206     inherit (xlibs) libX11;
3207   };
3209   coredumper = import ../development/libraries/coredumper {
3210     inherit fetchurl stdenv;
3211   };
3213   ctl = import ../development/libraries/ctl {
3214     inherit fetchurl stdenv ilmbase;
3215   };
3217   cppunit = import ../development/libraries/cppunit {
3218     inherit fetchurl stdenv;
3219   };
3221   cracklib = import ../development/libraries/cracklib {
3222     inherit fetchurl stdenv;
3223   };
3225   cryptopp = import ../development/libraries/crypto++ {
3226     inherit fetchurl stdenv unzip libtool;
3227   };
3229   cyrus_sasl = import ../development/libraries/cyrus-sasl {
3230     inherit fetchurl stdenv openssl db4 gettext;
3231   };
3233   db4 = db45;
3235   db44 = import ../development/libraries/db4/db4-4.4.nix {
3236     inherit fetchurl stdenv;
3237   };
3239   db45 = import ../development/libraries/db4/db4-4.5.nix {
3240     inherit fetchurl stdenv;
3241   };
3243   dbus = import ../development/libraries/dbus {
3244     inherit fetchurl stdenv pkgconfig expat;
3245     inherit (xlibs) libX11 libICE libSM;
3246     useX11 = true; # !!! `false' doesn't build
3247   };
3249   dbus_glib = makeOverridable (import ../development/libraries/dbus-glib) {
3250     inherit fetchurl stdenv pkgconfig gettext dbus expat glib;
3251   };
3253   dclib = import ../development/libraries/dclib {
3254     inherit fetchurl stdenv libxml2 openssl bzip2;
3255   };
3257   directfb = import ../development/libraries/directfb {
3258     inherit fetchurl stdenv perl zlib libjpeg freetype
3259       SDL libpng giflib;
3260     inherit (xlibs) libX11 libXext xproto xextproto renderproto
3261       libXrender;
3262   };
3264   enchant = makeOverridable
3265       (selectVersion ../development/libraries/enchant "1.3.0")
3266   {
3267     inherit fetchurl stdenv aspell pkgconfig;
3268     inherit (gnome) glib;
3269   };
3271   exiv2 = import ../development/libraries/exiv2 {
3272     inherit fetchurl stdenv zlib;
3273   };
3275   expat = import ../development/libraries/expat {
3276     inherit fetchurl stdenv;
3277   };
3279   extremetuxracer = builderDefsPackage (import ../games/extremetuxracer) {
3280     inherit mesa tcl freeglut SDL SDL_mixer pkgconfig
3281         libpng gettext intltool;
3282     inherit (xlibs) libX11 xproto libXi inputproto
3283         libXmu libXext xextproto libXt libSM libICE;
3284   };
3286   eventlog = import ../development/libraries/eventlog {
3287     inherit fetchurl stdenv;
3288   };
3290   facile = import ../development/libraries/facile {
3291     inherit fetchurl stdenv;
3292     # Actually, we don't need this version but we need native-code compilation
3293     ocaml = ocaml_3_10_0;
3294   };
3296   faac = import ../development/libraries/faac {
3297     inherit fetchurl stdenv autoconf automake libtool;
3298   };
3300   faad2 = import ../development/libraries/faad2 {
3301     inherit fetchurl stdenv;
3302   };
3304   fcgi = import ../development/libraries/fcgi {
3305       inherit fetchurl stdenv;
3306   };
3308   ffmpeg = import ../development/libraries/ffmpeg {
3309     inherit fetchurl stdenv faad2;
3310   };
3312   fftw = import ../development/libraries/fftw {
3313     inherit fetchurl stdenv builderDefs stringsWithDeps;
3314     singlePrecision = false;
3315   };
3317   fftwSinglePrec = import ../development/libraries/fftw {
3318     inherit fetchurl stdenv builderDefs stringsWithDeps;
3319     singlePrecision = true;
3320   };
3322   fltk11 = (import ../development/libraries/fltk/fltk11.nix) {
3323     inherit composableDerivation x11 lib pkgconfig freeglut;
3324     inherit fetchurl stdenv mesa mesaHeaders libpng libjpeg zlib ;
3325     inherit (xlibs) inputproto libXi libXinerama libXft;
3326     flags = [ "useNixLibs" "threads" "shared" "gl" ];
3327   };
3329   fltk20 = (import ../development/libraries/fltk) {
3330     inherit composableDerivation x11 lib pkgconfig freeglut;
3331     inherit fetchurl stdenv mesa mesaHeaders libpng libjpeg zlib ;
3332     inherit (xlibs) inputproto libXi libXinerama libXft;
3333     flags = [ "useNixLibs" "threads" "shared" "gl" ];
3334   };
3336   fmod = import ../development/libraries/fmod {
3337     inherit stdenv fetchurl;
3338   };
3340   freeimage = import ../development/libraries/freeimage {
3341     inherit fetchurl stdenv unzip;
3342   };
3344   freetts = import ../development/libraries/freetts {
3345     inherit stdenv fetchurl apacheAnt unzip sharutils lib;
3346   };
3348   cfitsio = import ../development/libraries/cfitsio {
3349     inherit fetchurl stdenv;
3350   };
3352   fontconfig = import ../development/libraries/fontconfig {
3353     inherit fetchurl stdenv freetype expat;
3354   };
3356   makeFontsConf = let fontconfig_ = fontconfig; in {fontconfig ? fontconfig_, fontDirectories}:
3357     import ../development/libraries/fontconfig/make-fonts-conf.nix {
3358       inherit runCommand libxslt fontconfig fontDirectories;
3359     };
3361   freealut = import ../development/libraries/freealut {
3362     inherit fetchurl stdenv openal;
3363   };
3365   freeglut = import ../development/libraries/freeglut {
3366     inherit fetchurl stdenv x11 mesa;
3367   };
3369   freetype = import ../development/libraries/freetype {
3370     inherit fetchurl stdenv;
3371   };
3373   fribidi = import ../development/libraries/fribidi {
3374     inherit fetchurl stdenv;
3375   };
3377   fam = gamin;
3379   gamin = import ../development/libraries/gamin {
3380     inherit fetchurl stdenv python pkgconfig glib;
3381   };
3383   gav = import ../games/gav {
3384     inherit fetchurl SDL SDL_image SDL_mixer SDL_net;
3385     stdenv = overrideGCC stdenv gcc41;
3386   };
3388   gdbm = import ../development/libraries/gdbm {
3389     inherit fetchurl stdenv;
3390   };
3392   gdk_pixbuf = import ../development/libraries/gdk-pixbuf {
3393     inherit fetchurl stdenv libtiff libjpeg libpng;
3394     inherit (gtkLibs1x) gtk;
3395   };
3397   gegl = import ../development/libraries/gegl {
3398     inherit fetchurl stdenv libpng pkgconfig babl;
3399     openexr = openexr_1_6_1;
3400     #  avocodec avformat librsvg
3401     inherit cairo libjpeg librsvg;
3402     inherit (gtkLibs) pango glib gtk;
3403   };
3405   geoip = builderDefsPackage ../development/libraries/geoip {
3406     inherit zlib;
3407   };
3409   geos = import ../development/libraries/geos {
3410     inherit fetchurl fetchsvn stdenv autoconf
3411       automake libtool swig which lib composableDerivation python ruby;
3412     use_svn = stdenv.system == "x86_64-linux";
3413   };
3415   gettext = import ../development/libraries/gettext {
3416     inherit fetchurl stdenv libiconv;
3417   };
3419   gd = import ../development/libraries/gd {
3420     inherit fetchurl stdenv zlib libpng freetype libjpeg fontconfig;
3421   };
3423   gdal = stdenv.mkDerivation {
3424     name = "gdal-1.6.1-rc1";
3425     src = fetchurl {
3426       url = ftp://ftp.remotesensing.org/gdal/gdal-1.6.1-RC1.tar.gz;
3427       sha256 = "0f7da588yvb1d3l3gk5m0hrqlhg8m4gw93aip3dwkmnawz9r0qcw";
3428     };
3429   };
3431   giblib = import ../development/libraries/giblib {
3432     inherit fetchurl stdenv x11 imlib2;
3433   };
3435   glew = import ../development/libraries/glew {
3436     inherit fetchurl stdenv mesa x11 libtool;
3437     inherit (xlibs) libXmu libXi;
3438   };
3440   glibc =
3441     let haveRedHatKernel       = system == "i686-linux" || system == "x86_64-linux";
3442         haveBrokenRedHatKernel = haveRedHatKernel && getConfig ["brokenRedHatKernel"] false;
3443     in
3444     useFromStdenv "glibc" (if haveBrokenRedHatKernel then glibc25 else glibc29);
3446   glibc25 = import ../development/libraries/glibc-2.5 {
3447     inherit fetchurl stdenv kernelHeaders;
3448     installLocales = getPkgConfig "glibc" "locales" false;
3449   };
3451   glibc27 = import ../development/libraries/glibc-2.7 {
3452     inherit fetchurl stdenv kernelHeaders;
3453     #installLocales = false;
3454   };
3456   glibc29 = import ../development/libraries/glibc-2.9 {
3457     inherit fetchurl stdenv kernelHeaders;
3458     installLocales = getPkgConfig "glibc" "locales" false;
3459   };
3461   glibcLocales = makeOverridable (import ../development/libraries/glibc-2.9/locales.nix) {
3462     inherit fetchurl stdenv;
3463   };
3465   glibcInfo = import ../development/libraries/glibc-2.9/info.nix {
3466     inherit fetchurl stdenv texinfo perl;
3467   };
3469   glibc_multi =
3470       runCommand "${glibc.name}-multi"
3471         { glibc64 = glibc;
3472           glibc32 = (import ./all-packages.nix {system = "i686-linux";}).glibc;
3473         }
3474         ''
3475           ensureDir $out
3476           ln -s $glibc64/* $out/
3478           rm $out/lib $out/lib64
3479           ensureDir $out/lib
3480           ln -s $glibc64/lib/* $out/lib
3481           ln -s $glibc32/lib $out/lib/32
3482           ln -s lib $out/lib64
3484           rm $out/include
3485           cp -rs $glibc32/include $out
3486           chmod -R u+w $out/include
3487           cp -rsf $glibc64/include $out
3488         '' # */
3489         ;
3491   gmime = import ../development/libraries/gmime {
3492     inherit fetchurl stdenv pkgconfig zlib glib;
3493   };
3495   gmm = import ../development/libraries/gmm {
3496     inherit fetchurl stdenv;
3497   };
3499   gmp = import ../development/libraries/gmp {
3500     inherit fetchurl stdenv m4;
3501     cxx = false;
3502   };
3504   gmpxx = import ../development/libraries/gmp {
3505     inherit fetchurl stdenv m4;
3506     cxx = true;
3507   };
3509   goffice = import ../development/libraries/goffice {
3510     inherit fetchurl stdenv pkgconfig libgsf libxml2 cairo
3511       intltool gettext bzip2;
3512     inherit (gnome) glib gtk libglade libgnomeui pango;
3513     gconf = gnome.GConf;
3514     libart = gnome.libart_lgpl;
3515   };
3517   goocanvas = import ../development/libraries/goocanvas {
3518     inherit fetchurl stdenv pkgconfig cairo;
3519     inherit (gnome) gtk glib;
3520   };
3522   #GMP ex-satellite, so better keep it near gmp
3523   mpfr = import ../development/libraries/mpfr {
3524     inherit fetchurl stdenv gmp;
3525   };
3527   gst_all = recurseIntoAttrs (import ../development/libraries/gstreamer {
3528     inherit lib selectVersion stdenv fetchurl perl bison pkgconfig libxml2
3529       python alsaLib cdparanoia libogg libvorbis libtheora freetype liboil
3530       libjpeg zlib speex libpng libdv aalib cairo libcaca flac hal libiec61883
3531       dbus libavc1394 ladspaH taglib pulseaudio gdbm bzip2 which makeOverridable;
3532     flex = flex2535;
3533     inherit (xorg) libX11 libXv libXext;
3534     inherit (gtkLibs) glib pango gtk;
3535     inherit (gnome) gnomevfs /* <- only passed for the no longer used older versions
3536              it is deprecated and didn't build on amd64 due to samba dependency */ gtkdoc
3537              libsoup;
3538   });
3540   gnet = import ../development/libraries/gnet {
3541     inherit fetchurl stdenv pkgconfig glib;
3542   };
3544   gnutls = import ../development/libraries/gnutls {
3545     inherit fetchurl stdenv libgcrypt zlib lzo libtasn1 guile;
3546     guileBindings = getConfig ["gnutls" "guile"] true;
3547   };
3549   gpgme = import ../development/libraries/gpgme {
3550     inherit fetchurl stdenv libgpgerror pkgconfig pth gnupg gnupg2 glib;
3551   };
3553   # gnu scientific library
3554   gsl = import ../development/libraries/gsl {
3555     inherit fetchurl stdenv;
3556   };
3558   gtkimageview = import ../development/libraries/gtkimageview {
3559     inherit fetchurl stdenv pkgconfig;
3560     inherit (gnome) gtk;
3561   };
3563   gtkLibs = recurseIntoAttrs gtkLibs218;
3565   glib = gtkLibs.glib;
3567   gtkLibs1x = rec {
3569     glib = import ../development/libraries/glib/1.2.x.nix {
3570       inherit fetchurl stdenv;
3571     };
3573     gtk = import ../development/libraries/gtk+/1.2.x.nix {
3574       inherit fetchurl stdenv x11 glib;
3575     };
3577   };
3579   gtkLibs216 = rec {
3581     glib = import ../development/libraries/glib/2.20.x.nix {
3582       inherit fetchurl stdenv pkgconfig gettext perl;
3583     };
3585     glibmm = import ../development/libraries/glibmm/2.18.x.nix {
3586       inherit fetchurl stdenv pkgconfig glib libsigcxx;
3587     };
3589     atk = import ../development/libraries/atk/1.24.x.nix {
3590       inherit fetchurl stdenv pkgconfig perl glib;
3591     };
3593     pango = import ../development/libraries/pango/1.24.x.nix {
3594       inherit fetchurl stdenv pkgconfig gettext x11 glib cairo libpng;
3595     };
3597     pangomm = import ../development/libraries/pangomm/2.14.x.nix {
3598       inherit fetchurl stdenv pkgconfig pango glibmm cairomm libpng;
3599     };
3601     gtk = import ../development/libraries/gtk+/2.16.x.nix {
3602       inherit fetchurl stdenv pkgconfig perl jasper x11 glib atk pango
3603         libtiff libjpeg libpng cairo xlibs;
3604     };
3606     gtkmm = import ../development/libraries/gtkmm/2.14.x.nix {
3607       inherit fetchurl stdenv pkgconfig gtk atk glibmm cairomm pangomm;
3608     };
3610   };
3612   gtkLibs218 = rec {
3614     glib = import ../development/libraries/glib/2.22.x.nix {
3615       inherit fetchurl stdenv pkgconfig gettext perl;
3616     };
3618     glibmm = import ../development/libraries/glibmm/2.22.x.nix {
3619       inherit fetchurl stdenv pkgconfig glib libsigcxx;
3620     };
3622     atk = import ../development/libraries/atk/1.28.x.nix {
3623       inherit fetchurl stdenv pkgconfig perl glib;
3624     };
3626     pango = import ../development/libraries/pango/1.26.x.nix {
3627       inherit fetchurl stdenv pkgconfig gettext x11 glib cairo libpng;
3628     };
3630     pangomm = import ../development/libraries/pangomm/2.26.x.nix {
3631       inherit fetchurl stdenv pkgconfig pango glibmm cairomm libpng;
3632     };
3634     gtk = import ../development/libraries/gtk+/2.18.x.nix {
3635       inherit fetchurl stdenv pkgconfig perl jasper glib atk pango
3636         libtiff libjpeg libpng cairo xlibs cups;
3637     };
3639     gtkmm = import ../development/libraries/gtkmm/2.18.x.nix {
3640       inherit fetchurl stdenv pkgconfig gtk atk glibmm cairomm pangomm;
3641     };
3643   };
3645   gtkmozembedsharp = import ../development/libraries/gtkmozembed-sharp {
3646     inherit fetchurl stdenv mono pkgconfig monoDLLFixer;
3647     inherit (gnome) gtk;
3648     gtksharp = gtksharp2;
3649   };
3651   gtksharp1 = import ../development/libraries/gtk-sharp-1 {
3652     inherit fetchurl stdenv mono pkgconfig libxml2 monoDLLFixer;
3653     inherit (gnome) gtk glib pango libglade libgtkhtml gtkhtml
3654               libgnomecanvas libgnomeui libgnomeprint
3655               libgnomeprintui GConf;
3656   };
3658   gtksharp2 = import ../development/libraries/gtk-sharp-2 {
3659     inherit fetchurl stdenv mono pkgconfig libxml2 monoDLLFixer;
3660     inherit (gnome) gtk glib pango libglade libgtkhtml gtkhtml
3661               libgnomecanvas libgnomeui libgnomeprint
3662               libgnomeprintui GConf gnomepanel;
3663   };
3665   gtksourceviewsharp = import ../development/libraries/gtksourceview-sharp {
3666     inherit fetchurl stdenv mono pkgconfig monoDLLFixer;
3667     inherit (gnome) gtksourceview;
3668     gtksharp = gtksharp2;
3669   };
3671   gtkspell = import ../development/libraries/gtkspell {
3672     inherit fetchurl stdenv pkgconfig;
3673     inherit (gtkLibs) gtk;
3674     inherit aspell;
3675   };
3677   # TODO : Add MIT Kerberos and let admin choose.
3678   kerberos = heimdal;
3680   heimdal = import ../development/libraries/kerberos/heimdal.nix {
3681     inherit fetchurl stdenv readline db4 openssl openldap cyrus_sasl;
3682   };
3684   hsqldb = import ../development/libraries/java/hsqldb {
3685     inherit stdenv fetchurl unzip;
3686   };
3688   hwloc = import ../development/libraries/hwloc {
3689     inherit fetchurl stdenv pkgconfig cairo expat;
3690   };
3692   icu = import ../development/libraries/icu {
3693     inherit fetchurl stdenv;
3694   };
3696   id3lib = import ../development/libraries/id3lib {
3697     inherit fetchurl stdenv;
3698   };
3700   ilbc = import ../development/libraries/ilbc {
3701     inherit stdenv msilbc;
3702   };
3704   ilmbase = import ../development/libraries/ilmbase {
3705     inherit fetchurl stdenv;
3706   };
3708   imlib = import ../development/libraries/imlib {
3709     inherit fetchurl stdenv libjpeg libtiff libungif libpng;
3710     inherit (xlibs) libX11 libXext xextproto;
3711   };
3713   imlib2 = import ../development/libraries/imlib2 {
3714     inherit fetchurl stdenv x11 libjpeg libtiff libungif libpng bzip2;
3715   };
3717   indilib = import ../development/libraries/indilib {
3718     inherit fetchurl stdenv cfitsio libusb zlib;
3719   };
3721   iniparser = import ../development/libraries/iniparser {
3722     inherit fetchurl stdenv;
3723   };
3725   intltool = gnome.intltool;
3727   isocodes = import ../development/libraries/iso-codes {
3728     inherit stdenv fetchurl gettext python;
3729   };
3731   jasper = import ../development/libraries/jasper {
3732     inherit fetchurl stdenv unzip xlibs libjpeg;
3733   };
3735   jetty_gwt = import ../development/libraries/java/jetty-gwt {
3736     inherit stdenv fetchurl;
3737   };
3739   jetty_util = import ../development/libraries/java/jetty-util {
3740     inherit stdenv fetchurl;
3741   };
3743   krb5 = import ../development/libraries/kerberos/krb5.nix {
3744     inherit stdenv fetchurl perl ncurses yacc;
3745   };
3747   lablgtk = import ../development/libraries/lablgtk {
3748     inherit fetchurl stdenv ocaml pkgconfig;
3749     inherit (gtkLibs) gtk;
3750     inherit (gnome) libgnomecanvas;
3751   };
3753   lcms = import ../development/libraries/lcms {
3754     inherit fetchurl stdenv;
3755   };
3757   lesstif = import ../development/libraries/lesstif {
3758     inherit fetchurl stdenv x11;
3759     inherit (xlibs) libXp libXau;
3760   };
3762   lesstif93 = import ../development/libraries/lesstif-0.93 {
3763     inherit fetchurl stdenv x11;
3764     inherit (xlibs) libXp libXau;
3765   };
3767   lib3ds = import ../development/libraries/lib3ds {
3768     inherit fetchurl stdenv unzip;
3769   };
3771   libaal = import ../development/libraries/libaal {
3772     inherit fetchurl stdenv;
3773   };
3775   libao = import ../development/libraries/libao {
3776     inherit stdenv fetchurl pkgconfig pulseaudio;
3777   };
3779   libarchive = import ../development/libraries/libarchive {
3780     inherit fetchurl stdenv zlib bzip2 e2fsprogs sharutils;
3781   };
3783   libassuan = import ../development/libraries/libassuan {
3784     inherit fetchurl stdenv pth;
3785   };
3787   libavc1394 = import ../development/libraries/libavc1394 {
3788     inherit fetchurl stdenv pkgconfig libraw1394;
3789   };
3791   libcaca = import ../development/libraries/libcaca {
3792     inherit fetchurl stdenv ncurses;
3793   };
3795   libcanberra = import ../development/libraries/libcanberra {
3796     inherit fetchurl stdenv pkgconfig libtool alsaLib pulseaudio libvorbis;
3797     inherit (gtkLibs) gtk gthread;
3798     gstreamer = gst_all.gstreamer;
3799   };
3801   libcdaudio = import ../development/libraries/libcdaudio {
3802     inherit fetchurl stdenv;
3803   };
3805   libcddb = import ../development/libraries/libcddb {
3806     inherit fetchurl stdenv;
3807   };
3809   libcdio = import ../development/libraries/libcdio {
3810     inherit fetchurl stdenv libcddb pkgconfig ncurses help2man;
3811   };
3813   libcm = import ../development/libraries/libcm {
3814     inherit fetchurl stdenv pkgconfig xlibs mesa glib;
3815   };
3817   libcv = builderDefsPackage (import ../development/libraries/libcv) {
3818     inherit libtiff libjpeg libpng pkgconfig;
3819     inherit (gtkLibs) gtk glib;
3820   };
3822   libdaemon = import ../development/libraries/libdaemon {
3823     inherit fetchurl stdenv;
3824   };
3826   libdbi = composedArgsAndFun (selectVersion ../development/libraries/libdbi "0.8.2") {
3827     inherit stdenv fetchurl builderDefs;
3828   };
3830   libdbiDriversBase = composedArgsAndFun
3831     (selectVersion ../development/libraries/libdbi-drivers "0.8.2-1")
3832     {
3833       inherit stdenv fetchurl builderDefs libdbi;
3834     };
3836   libdbiDrivers = libdbiDriversBase.passthru.function {
3837     inherit sqlite mysql;
3838   };
3840   libdv = import ../development/libraries/libdv {
3841     inherit fetchurl stdenv lib composableDerivation;
3842   };
3844   libdrm = import ../development/libraries/libdrm {
3845     inherit fetchurl stdenv pkgconfig;
3846     inherit (xorg) libpthreadstubs;
3847   };
3849   libdvdcss = import ../development/libraries/libdvdcss {
3850     inherit fetchurl stdenv;
3851   };
3853   libdvdnav = import ../development/libraries/libdvdnav {
3854     inherit fetchurl stdenv libdvdread;
3855   };
3857   libdvdread = import ../development/libraries/libdvdread {
3858     inherit fetchurl stdenv libdvdcss;
3859   };
3861   libedit = import ../development/libraries/libedit {
3862     inherit fetchurl stdenv ncurses;
3863   };
3865   liblo = import ../development/libraries/liblo {
3866     inherit fetchurl stdenv;
3867   };
3869   libev = builderDefsPackage ../development/libraries/libev {
3870   };
3872   libevent = import ../development/libraries/libevent {
3873     inherit fetchurl stdenv;
3874   };
3876   libewf = import ../development/libraries/libewf {
3877     inherit fetchurl stdenv zlib openssl libuuid;
3878   };
3880   libexif = import ../development/libraries/libexif {
3881     inherit fetchurl stdenv gettext;
3882   };
3884   libextractor = composedArgsAndFun (selectVersion ../development/libraries/libextractor "0.5.18") {
3885     inherit fetchurl stdenv builderDefs zlib;
3886   };
3888   libffcall = builderDefsPackage (import ../development/libraries/libffcall) {
3889     inherit fetchcvs;
3890   };
3892   libffi = import ../development/libraries/libffi {
3893     inherit fetchurl stdenv;
3894   };
3896   libftdi = import ../development/libraries/libftdi {
3897     inherit fetchurl stdenv libusb;
3898   };
3900   libgcrypt = import ../development/libraries/libgcrypt {
3901     inherit fetchurl stdenv libgpgerror;
3902   };
3904   libgpgerror = import ../development/libraries/libgpg-error {
3905     inherit fetchurl stdenv;
3906   };
3908   libgphoto2 = import ../development/libraries/libgphoto2 {
3909     inherit fetchurl stdenv pkgconfig libusb libtool libexif libjpeg gettext;
3910   };
3912   libgpod = import ../development/libraries/libgpod {
3913     inherit fetchurl stdenv gettext perl perlXMLParser pkgconfig libxml2 glib;
3914   };
3916   libharu = import ../development/libraries/libharu {
3917     inherit fetchurl stdenv lib zlib libpng;
3918   };
3920   libical = import ../development/libraries/libical {
3921     inherit stdenv fetchurl perl;
3922   };
3924   libQGLViewer = import ../development/libraries/libqglviewer {
3925     inherit fetchurl stdenv;
3926     inherit qt4;
3927   };
3929   libsamplerate = import ../development/libraries/libsamplerate {
3930     inherit fetchurl stdenv pkgconfig lib;
3931   };
3933   libspectre = import ../development/libraries/libspectre {
3934     inherit fetchurl stdenv;
3935     ghostscript = ghostscriptX;
3936   };
3938   libgsf = import ../development/libraries/libgsf {
3939     inherit fetchurl stdenv perl perlXMLParser pkgconfig libxml2
3940       intltool gettext bzip2 python;
3941     inherit (gnome) glib gnomevfs libbonobo;
3942   };
3944   libiconv = import ../development/libraries/libiconv {
3945     inherit fetchurl stdenv;
3946   };
3948   libid3tag = import ../development/libraries/libid3tag {
3949     inherit fetchurl stdenv zlib;
3950   };
3952   libidn = import ../development/libraries/libidn {
3953     inherit fetchurl stdenv;
3954   };
3956   libiec61883 = import ../development/libraries/libiec61883 {
3957     inherit fetchurl stdenv pkgconfig libraw1394;
3958   };
3960   libjingle = selectVersion ../development/libraries/libjingle "0.3.11" {
3961     inherit fetchurl stdenv mediastreamer;
3962   };
3964   libjpeg = makeOverridable (import ../development/libraries/libjpeg) {
3965     inherit fetchurl stdenv;
3966     libtool = libtool_1_5;
3967   };
3969   libjpegStatic = lowPrio (appendToName "static" (libjpeg.override {
3970     static = true;
3971   }));
3973   libksba = import ../development/libraries/libksba {
3974     inherit fetchurl stdenv libgpgerror;
3975   };
3977   libmad = import ../development/libraries/libmad {
3978     inherit fetchurl stdenv;
3979   };
3981   libmcs = import ../development/libraries/libmcs {
3982     inherit fetchurl stdenv pkgconfig libmowgli;
3983   };
3985   libmicrohttpd = import ../development/libraries/libmicrohttpd {
3986     inherit fetchurl stdenv curl;
3987   };
3989   libmowgli = import ../development/libraries/libmowgli {
3990     inherit fetchurl stdenv;
3991   };
3993   libmng = import ../development/libraries/libmng {
3994     inherit fetchurl stdenv lib zlib libpng libjpeg lcms automake autoconf libtool;
3995   };
3997   libmpcdec = import ../development/libraries/libmpcdec {
3998     inherit fetchurl stdenv;
3999   };
4001   libmsn = import ../development/libraries/libmsn {
4002     inherit stdenv fetchurl cmake openssl;
4003   };
4005   libmspack = import ../development/libraries/libmspack {
4006     inherit fetchurl stdenv;
4007   };
4009   libnova = import ../development/libraries/libnova {
4010     inherit fetchurl stdenv;
4011   };
4013   libogg = import ../development/libraries/libogg {
4014     inherit fetchurl stdenv;
4015   };
4017   liboil = makeOverridable (import ../development/libraries/liboil) {
4018     inherit fetchurl stdenv pkgconfig glib;
4019   };
4021   liboop = import ../development/libraries/liboop {
4022     inherit fetchurl stdenv;
4023   };
4025   libotr = import ../development/libraries/libotr {
4026     inherit fetchurl stdenv libgcrypt;
4027   };
4029   libpcap = import ../development/libraries/libpcap {
4030     inherit fetchurl stdenv flex bison;
4031   };
4033   libpng = import ../development/libraries/libpng {
4034     inherit fetchurl stdenv zlib;
4035   };
4037   libproxy = import ../development/libraries/libproxy {
4038     inherit stdenv fetchurl;
4039   };
4041   libpseudo = import ../development/libraries/libpseudo {
4042     inherit fetchurl stdenv pkgconfig ncurses glib;
4043   };
4045   /*libscdFun = lib.sumArgs (selectVersion ../development/libraries/libscd "0.4.2") {
4046     inherit stdenv fetchurl builderDefs libextractor perl pkgconfig;
4047   };
4049   libscd = libscdFun null;*/
4051   libsigcxx = import ../development/libraries/libsigcxx {
4052     inherit fetchurl stdenv pkgconfig;
4053   };
4055   libsigsegv = import ../development/libraries/libsigsegv {
4056     inherit fetchurl stdenv;
4057   };
4059   # To bootstrap SBCL, I need CLisp 2.44.1; it needs libsigsegv 2.5
4060   libsigsegv_25 =  import ../development/libraries/libsigsegv/2.5.nix {
4061     inherit fetchurl stdenv;
4062   };
4064   libsndfile = import ../development/libraries/libsndfile {
4065     inherit fetchurl stdenv;
4066   };
4068   libtasn1 = import ../development/libraries/libtasn1 {
4069     inherit fetchurl stdenv;
4070   };
4072   libtheora = import ../development/libraries/libtheora {
4073     inherit fetchurl stdenv libogg libvorbis;
4074   };
4076   libtiff = import ../development/libraries/libtiff {
4077     inherit fetchurl stdenv zlib libjpeg;
4078   };
4080   libtommath = import ../development/libraries/libtommath {
4081     inherit fetchurl stdenv libtool;
4082   };
4084   libunistring = import ../development/libraries/libunistring {
4085     inherit fetchurl stdenv libiconv;
4086   };
4088   libupnp = import ../development/libraries/pupnp {
4089     inherit fetchurl stdenv;
4090   };
4092   giflib = import ../development/libraries/giflib {
4093     inherit fetchurl stdenv;
4094   };
4096   libungif = import ../development/libraries/giflib/libungif.nix {
4097     inherit fetchurl stdenv;
4098   };
4100   libusb = import ../development/libraries/libusb {
4101     inherit fetchurl stdenv;
4102   };
4104   libunwind = import ../development/libraries/libunwind {
4105     inherit fetchurl stdenv;
4106   };
4108   libvncserver = builderDefsPackage (import ../development/libraries/libvncserver) {
4109     inherit libtool libjpeg openssl zlib;
4110     inherit (xlibs) xproto libX11 damageproto libXdamage
4111       libXext xextproto fixesproto libXfixes xineramaproto
4112       libXinerama libXrandr randrproto libXtst;
4113   };
4115   libviper = import ../development/libraries/libviper {
4116     inherit fetchurl stdenv pkgconfig ncurses gpm glib;
4117   };
4119   libvterm = import ../development/libraries/libvterm {
4120     inherit fetchurl stdenv pkgconfig ncurses glib;
4121   };
4123   libvorbis = import ../development/libraries/libvorbis {
4124     inherit fetchurl stdenv libogg;
4125   };
4127   libwmf = import ../development/libraries/libwmf {
4128     inherit fetchurl stdenv pkgconfig imagemagick
4129       zlib libpng freetype libjpeg libxml2 glib;
4130   };
4132   libwpd = import ../development/libraries/libwpd {
4133     inherit fetchurl stdenv pkgconfig libgsf libxml2 bzip2;
4134     inherit (gnome) glib;
4135   };
4137   libx86 = builderDefsPackage ../development/libraries/libx86 {};
4139   libxcrypt = import ../development/libraries/libxcrypt {
4140     inherit fetchurl stdenv;
4141   };
4143   libxklavier = import ../development/libraries/libxklavier {
4144     inherit fetchurl stdenv xkeyboard_config pkgconfig libxml2 isocodes glib;
4145     inherit (xorg) libX11 libICE libXi libxkbfile;
4146   };
4148   libxmi = import ../development/libraries/libxmi {
4149     inherit fetchurl stdenv libtool;
4150   };
4152   libxml2 = makeOverridable (import ../development/libraries/libxml2) {
4153     inherit fetchurl stdenv zlib python;
4154     pythonSupport = false;
4155   };
4157   libxml2Python = libxml2.override {
4158     pythonSupport = true;
4159   };
4161   libxslt = makeOverridable (import ../development/libraries/libxslt) {
4162     inherit fetchurl stdenv libxml2;
4163   };
4165   libixp_for_wmii = lowPrio (import ../development/libraries/libixp_for_wmii {
4166     inherit fetchurl stdenv;
4167   });
4169   libzip = import ../development/libraries/libzip {
4170     inherit fetchurl stdenv zlib;
4171   };
4173   libzrtpcpp = import ../development/libraries/libzrtpcpp {
4174     inherit fetchurl stdenv lib commoncpp2 openssl pkgconfig ccrtp;
4175   };
4177   lightning = import ../development/libraries/lightning {
4178     inherit fetchurl stdenv;
4179   };
4181   log4cxx = import ../development/libraries/log4cxx {
4182     inherit fetchurl stdenv automake autoconf libtool cppunit libxml2 boost;
4183     inherit apr aprutil db45 expat;
4184   };
4186   loudmouth = import ../development/libraries/loudmouth {
4187     inherit fetchurl stdenv libidn openssl pkgconfig zlib glib;
4188   };
4190   lzo = import ../development/libraries/lzo {
4191     inherit fetchurl stdenv;
4192   };
4194   # failed to build
4195   mediastreamer = composedArgsAndFun (selectVersion
4196       ../development/libraries/mediastreamer "2.2.0-cvs20080207") {
4197     inherit fetchurl stdenv automake libtool autoconf alsaLib pkgconfig speex
4198       ortp ffmpeg;
4199   };
4201   mesaSupported =
4202     system == "i686-linux" ||
4203     system == "x86_64-linux" ||
4204     system == "i686-darwin";
4206   mesa = import ../development/libraries/mesa {
4207     inherit fetchurl stdenv pkgconfig expat x11 xlibs libdrm;
4208   };
4210   mesaHeaders = import ../development/libraries/mesa/headers.nix {
4211     inherit stdenv;
4212     mesaSrc = mesa.src;
4213   };
4215   ming = import ../development/libraries/ming {
4216     inherit fetchurl stdenv flex bison freetype zlib libpng perl;
4217   };
4219   mpeg2dec = import ../development/libraries/mpeg2dec {
4220     inherit fetchurl stdenv;
4221   };
4223   msilbc = selectVersion ../development/libraries/msilbc "2.0.0" {
4224     inherit fetchurl stdenv ilbc mediastreamer pkgconfig;
4225   };
4227   mpich2 = import ../development/libraries/mpich2 {
4228     inherit fetchurl stdenv python;
4229   };
4231   muparser = import ../development/libraries/muparser {
4232     inherit fetchurl stdenv;
4233   };
4235   ncurses = composedArgsAndFun (import ../development/libraries/ncurses) {
4236     inherit fetchurl stdenv;
4237     unicode = (system != "i686-cygwin");
4238   };
4240   neon = neon026;
4242   neon026 = import ../development/libraries/neon/0.26.nix {
4243     inherit fetchurl stdenv libxml2 zlib openssl;
4244     compressionSupport = true;
4245     sslSupport = true;
4246   };
4248   neon028 = import ../development/libraries/neon/0.28.nix {
4249     inherit fetchurl stdenv libxml2 zlib openssl;
4250     compressionSupport = true;
4251     sslSupport = true;
4252   };
4254   nethack = builderDefsPackage (import ../games/nethack) {
4255     inherit ncurses flex bison;
4256   };
4258   nettle = import ../development/libraries/nettle {
4259     inherit fetchurl stdenv gmp gnum4;
4260   };
4262   nspr = import ../development/libraries/nspr {
4263     inherit fetchurl stdenv;
4264   };
4266   nss = import ../development/libraries/nss {
4267     inherit fetchurl stdenv nspr perl zlib;
4268   };
4270   ode = builderDefsPackage (import ../development/libraries/ode) {
4271   };
4273   openal = import ../development/libraries/openal {
4274     inherit fetchurl stdenv cmake alsaLib;
4275   };
4277   # added because I hope that it has been easier to compile on x86 (for blender)
4278   openalSoft = import ../development/libraries/openalSoft {
4279     inherit fetchurl stdenv alsaLib libtool cmake;
4280   };
4282   openbabel = import ../development/libraries/openbabel {
4283     inherit fetchurl stdenv zlib libxml2;
4284   };
4286   opencascade = import ../development/libraries/opencascade {
4287     inherit fetchurl stdenv mesa qt4 tcl tk;
4288   };
4290   # this ctl version is needed by openexr_viewers
4291   openexr_ctl = import ../development/libraries/openexr_ctl {
4292     inherit fetchurl stdenv ilmbase ctl;
4293     openexr = openexr_1_6_1;
4294   };
4296   openexr_1_6_1 = import ../development/libraries/openexr {
4297     inherit fetchurl stdenv ilmbase zlib pkgconfig lib;
4298     version = "1.6.1";
4299     # optional features:
4300     inherit ctl;
4301   };
4303   # This older version is needed by blender (it complains about missing half.h )
4304   openexr_1_4_0 = import ../development/libraries/openexr {
4305     inherit fetchurl stdenv ilmbase zlib pkgconfig lib;
4306     version = "1.4.0";
4307   };
4309   openldap = import ../development/libraries/openldap {
4310     inherit fetchurl stdenv openssl cyrus_sasl db4 groff;
4311   };
4313   openlierox = builderDefsPackage ../games/openlierox {
4314     inherit (xlibs) libX11 xproto;
4315     inherit gd SDL SDL_image SDL_mixer zlib libxml2
4316       pkgconfig;
4317   };
4319   openssl = import ../development/libraries/openssl {
4320     fetchurl = fetchurlBoot;
4321     inherit stdenv perl;
4322   };
4324   ortp = import ../development/libraries/ortp {
4325     inherit fetchurl stdenv;
4326   };
4328   pangoxsl = import ../development/libraries/pangoxsl {
4329     inherit fetchurl stdenv pkgconfig;
4330     inherit (gtkLibs) glib pango;
4331   };
4333   pcre = makeOverridable (import ../development/libraries/pcre) {
4334     inherit fetchurl stdenv;
4335     unicodeSupport = getConfig ["pcre" "unicode"] false;
4336     cplusplusSupport = !stdenv ? isDietLibC;
4337   };
4339   physfs = import ../development/libraries/physfs {
4340     inherit fetchurl stdenv cmake;
4341   };
4343   plib = import ../development/libraries/plib {
4344     inherit fetchurl stdenv mesa freeglut SDL;
4345     inherit (xlibs) libXi libSM libXmu libXext libX11;
4346   };
4348   polkit = import ../development/libraries/polkit {
4349     inherit stdenv fetchurl pkgconfig eggdbus expat pam intltool gettext glib;
4350   };
4352   policykit = makeOverridable (import ../development/libraries/policykit) {
4353     inherit stdenv fetchurl pkgconfig dbus dbus_glib expat pam
4354       intltool gettext libxslt docbook_xsl glib;
4355   };
4357   poppler = makeOverridable (import ../development/libraries/poppler) {
4358     inherit fetchurl stdenv cairo freetype fontconfig zlib libjpeg pkgconfig;
4359     inherit (gtkLibs) glib gtk;
4360     qt4Support = false;
4361   };
4363   popplerQt44 = poppler.override {
4364     qt4Support = true;
4365     qt4 = qt44;
4366   };
4368   popplerQt45 = poppler.override {
4369     qt4Support = true;
4370     qt4 = qt45;
4371   };
4373   popt = import ../development/libraries/popt {
4374     inherit fetchurl stdenv;
4375   };
4377   proj = import ../development/libraries/proj.4 {
4378     inherit fetchurl stdenv;
4379   };
4381   pth = import ../development/libraries/pth {
4382     inherit fetchurl stdenv;
4383   };
4385   qt3 = makeOverridable (import ../development/libraries/qt-3) {
4386     inherit fetchurl stdenv x11 zlib libjpeg libpng which mysql mesa;
4387     inherit (xlibs) xextproto libXft libXrender libXrandr randrproto
4388       libXmu libXinerama libXcursor;
4389     openglSupport = mesaSupported;
4390     mysqlSupport = getConfig ["qt" "mysql"] false;
4391   };
4393   qt3mysql = qt3.override {
4394     mysqlSupport = true;
4395   };
4397   qt4 = qt44;
4399   qt44 = import ../development/libraries/qt-4.4 {
4400     inherit fetchurl stdenv fetchsvn zlib libjpeg libpng which mysql mesa openssl cups dbus
4401       fontconfig freetype pkgconfig libtiff;
4402     inherit (xlibs) xextproto libXft libXrender libXrandr randrproto
4403       libXmu libXinerama xineramaproto libXcursor libICE libSM libX11 libXext
4404       inputproto fixesproto libXfixes;
4405     inherit (gnome) glib;
4406   };
4408   qt45 = import ../development/libraries/qt-4.5 {
4409     inherit fetchurl stdenv lib zlib libjpeg libpng which mysql mesa openssl cups dbus
4410       fontconfig freetype pkgconfig libtiff;
4411     inherit (xlibs) xextproto libXft libXrender libXrandr randrproto
4412       libXmu libXinerama xineramaproto libXcursor libXext
4413       inputproto fixesproto libXfixes;
4414     inherit (gnome) glib;
4415   };
4417   qtscriptgenerator = import ../development/libraries/qtscriptgenerator {
4418     inherit stdenv fetchurl;
4419     qt4 = qt45;
4420   };
4422   readline = readline6;
4424   readline4 = import ../development/libraries/readline/readline4.nix {
4425     inherit fetchurl stdenv ncurses;
4426   };
4428   readline5 = import ../development/libraries/readline/readline5.nix {
4429     inherit fetchurl stdenv ncurses;
4430   };
4432   readline6 = import ../development/libraries/readline/readline6.nix {
4433     inherit fetchurl stdenv ncurses;
4434   };
4436   librdf_raptor = import ../development/libraries/librdf/raptor.nix {
4437     inherit fetchurl stdenv lib libxml2 curl;
4438   };
4439   librdf_rasqal = import ../development/libraries/librdf/rasqal.nix {
4440     inherit fetchurl stdenv lib pcre libxml2 gmp librdf_raptor;
4441   };
4442   librdf = import ../development/libraries/librdf {
4443     inherit fetchurl stdenv lib pkgconfig librdf_raptor ladspaH openssl zlib;
4444   };
4446   # Also known as librdf, includes raptor and rasqal
4447   redland = composedArgsAndFun (selectVersion ../development/libraries/redland "1.0.9") {
4448     inherit fetchurl stdenv openssl libxml2 pkgconfig perl postgresql sqlite
4449       mysql libxslt curl pcre librdf_rasqal librdf_raptor;
4450     bdb = db4;
4451   };
4452   redland_1_0_8 = redland.passthru.function { version = "1.0.8"; };
4454   rhino = import ../development/libraries/java/rhino {
4455     inherit fetchurl stdenv unzip;
4456     ant = apacheAntGcj;
4457     javac = gcj;
4458     jvm = gcj;
4459   };
4461   rte = import ../development/libraries/rte {
4462     inherit fetchurl stdenv;
4463   };
4465   rubberband = import ../development/libraries/rubberband {
4466     inherit fetchurl stdenv lib pkgconfig libsamplerate libsndfile ladspaH;
4467     fftw = fftwSinglePrec;
4468     inherit (vamp) vampSDK;
4469   };
4471   schroedinger = import ../development/libraries/schroedinger {
4472     inherit fetchurl stdenv liboil pkgconfig;
4473   };
4475   SDL = makeOverridable (import ../development/libraries/SDL) {
4476     inherit fetchurl stdenv pkgconfig x11 mesa alsaLib pulseaudio;
4477     inherit (xlibs) libXrandr;
4478     openglSupport = mesaSupported;
4479     alsaSupport = true;
4480     pulseaudioSupport = false; # better go through ALSA
4481   };
4483   SDL_image = import ../development/libraries/SDL_image {
4484     inherit fetchurl stdenv SDL libjpeg libungif libtiff libpng;
4485     inherit (xlibs) libXpm;
4486   };
4488   SDL_mixer = import ../development/libraries/SDL_mixer {
4489     inherit fetchurl stdenv SDL libogg libvorbis;
4490   };
4492   SDL_net = import ../development/libraries/SDL_net {
4493     inherit fetchurl stdenv SDL;
4494   };
4496   SDL_ttf = import ../development/libraries/SDL_ttf {
4497     inherit fetchurl stdenv SDL freetype;
4498   };
4500   slang = import ../development/libraries/slang {
4501     inherit fetchurl stdenv ncurses pcre libpng zlib readline;
4502   };
4504   slibGuile = import ../development/libraries/slib {
4505     inherit fetchurl stdenv unzip texinfo;
4506     scheme = guile;
4507   };
4509   snack = import ../development/libraries/snack {
4510     inherit fetchurl stdenv tcl tk pkgconfig x11;
4511         # optional
4512     inherit alsaLib vorbisTools python;
4513   };
4515   speex = import ../development/libraries/speex {
4516     inherit fetchurl stdenv libogg;
4517   };
4519   sqlite = import ../development/libraries/sqlite {
4520     inherit fetchurl stdenv readline tcl;
4521   };
4523   stlport =  import ../development/libraries/stlport {
4524     inherit fetchurl stdenv;
4525   };
4527   t1lib = import ../development/libraries/t1lib {
4528     inherit fetchurl stdenv x11;
4529     inherit (xlibs) libXaw libXpm;
4530   };
4532   taglib = import ../development/libraries/taglib {
4533     inherit fetchurl stdenv zlib;
4534   };
4536   taglib_extras = import ../development/libraries/taglib-extras {
4537     inherit stdenv fetchurl cmake taglib;
4538   };
4540   tapioca_qt = import ../development/libraries/tapioca-qt {
4541     inherit stdenv fetchurl cmake qt4 telepathy_qt;
4542   };
4544   tecla = import ../development/libraries/tecla {
4545     inherit fetchurl stdenv;
4546   };
4548   telepathy_gabble = import ../development/libraries/telepathy-gabble {
4549     inherit fetchurl stdenv pkgconfig libxslt telepathy_glib loudmouth;
4550   };
4552   telepathy_glib = import ../development/libraries/telepathy-glib {
4553     inherit fetchurl stdenv dbus_glib pkgconfig libxslt python glib;
4554   };
4556   telepathy_qt = import ../development/libraries/telepathy-qt {
4557     inherit stdenv fetchurl cmake qt4;
4558   };
4560   tk = composedArgsAndFun (selectVersion ../development/libraries/tk "8.5.7") {
4561     inherit fetchurl stdenv tcl x11;
4562   };
4564   unixODBC = import ../development/libraries/unixODBC {
4565     inherit fetchurl stdenv;
4566   };
4568   unixODBCDrivers = recurseIntoAttrs (import ../development/libraries/unixODBCDrivers {
4569     inherit fetchurl stdenv unixODBC glibc libtool openssl zlib;
4570     inherit postgresql mysql sqlite;
4571   });
4573   vamp = import ../development/libraries/audio/vamp {
4574     inherit fetchurl stdenv lib pkgconfig libsndfile;
4575   };
4577   vtk = import ../development/libraries/vtk {
4578     inherit stdenv fetchurl cmake mesa;
4579     inherit (xlibs) libX11 xproto libXt;
4580   };
4582   vxl = import ../development/libraries/vxl {
4583    inherit fetchurl stdenv cmake unzip libtiff expat zlib libpng libjpeg;
4584   };
4586   webkit = builderDefsPackage (import ../development/libraries/webkit) {
4587     inherit (gnome28) gtkdoc libsoup;
4588     inherit (gtkLibs) gtk atk pango glib;
4589     inherit freetype fontconfig gettext gperf curl
4590       libjpeg libtiff libpng libxml2 libxslt sqlite
4591       icu cairo perl intltool automake libtool
4592       pkgconfig autoconf bison libproxy enchant;
4593     inherit (gst_all) gstreamer gstPluginsBase gstFfmpeg
4594       gstPluginsGood;
4595     flex = flex2535;
4596     inherit (xlibs) libXt;
4597   };
4599   wxGTK = wxGTK28;
4601   wxGTK26 = import ../development/libraries/wxGTK-2.6 {
4602     inherit fetchurl stdenv pkgconfig;
4603     inherit (gtkLibs216) gtk;
4604     inherit (xlibs) libXinerama libSM libXxf86vm xf86vidmodeproto;
4605   };
4607   wxGTK28fun = lib.sumArgs (import ../development/libraries/wxGTK-2.8);
4609   wxGTK28deps = wxGTK28fun {
4610     inherit fetchurl stdenv pkgconfig mesa;
4611     inherit (gtkLibs216) gtk;
4612     inherit (xlibs) libXinerama libSM libXxf86vm xf86vidmodeproto;
4613   };
4615   wxGTK28 = wxGTK28deps null;
4617   wtk = import ../development/libraries/wtk {
4618       inherit fetchurl stdenv unzip xlibs;
4619     };
4621   x264 = import ../development/libraries/x264 {
4622     inherit fetchurl stdenv;
4623   };
4626   xapian = makeOverridable (selectVersion ../development/libraries/xapian "1.0.14") {
4627     inherit fetchurl stdenv zlib;
4628   };
4630   xapianBindings = (selectVersion ../development/libraries/xapian/bindings "1.0.14") {
4631     inherit fetchurl stdenv xapian composableDerivation pkgconfig;
4632     inherit ruby perl php tcl python; # TODO perl php Java, tcl, C#, python
4633   };
4635   Xaw3d = import ../development/libraries/Xaw3d {
4636     inherit fetchurl stdenv x11 bison;
4637     flex = flex2533;
4638     inherit (xlibs) imake gccmakedep libXmu libXpm libXp;
4639   };
4641   xineLib = import ../development/libraries/xine-lib {
4642     inherit fetchurl stdenv zlib libdvdcss alsaLib pkgconfig mesa aalib
4643       libvorbis libtheora speex xlibs perl ffmpeg;
4644   };
4646   xautolock = import ../misc/screensavers/xautolock {
4647     inherit fetchurl stdenv x11;
4648     inherit (xorg) imake;
4649     inherit (xlibs) libXScrnSaver scrnsaverproto;
4650   };
4652   xercesJava = import ../development/libraries/java/xerces {
4653     inherit fetchurl stdenv;
4654     ant   = apacheAntGcj;  # for bootstrap purposes
4655     javac = gcj;
4656     jvm   = gcj;
4657   };
4659   xlibsWrapper = import ../development/libraries/xlibs-wrapper {
4660     inherit stdenv;
4661     packages = [
4662       freetype fontconfig xlibs.xproto xlibs.libX11 xlibs.libXt
4663       xlibs.libXft xlibs.libXext xlibs.libSM xlibs.libICE
4664       xlibs.xextproto
4665     ];
4666   };
4668   zangband = builderDefsPackage (import ../games/zangband) {
4669     inherit ncurses flex bison autoconf automake m4 coreutils;
4670   };
4672   zlib = import ../development/libraries/zlib {
4673     fetchurl = fetchurlBoot;
4674     inherit stdenv;
4675   };
4677   zlibStatic = lowPrio (appendToName "static" (import ../development/libraries/zlib {
4678     inherit fetchurl stdenv;
4679     static = true;
4680   }));
4682   zvbi = import ../development/libraries/zvbi {
4683     inherit fetchurl stdenv libpng x11;
4684     pngSupport = true;
4685   };
4688   ### DEVELOPMENT / LIBRARIES / JAVA
4691   atermjava = import ../development/libraries/java/aterm {
4692     inherit fetchurl sharedobjects jjtraveler jdk;
4693     stdenv = overrideInStdenv stdenv [gnumake380];
4694   };
4696   commonsFileUpload = import ../development/libraries/java/jakarta-commons/file-upload {
4697     inherit stdenv fetchurl;
4698   };
4700   fastjar = import ../development/tools/java/fastjar {
4701     inherit fetchurl stdenv zlib;
4702   };
4704   httpunit = import ../development/libraries/java/httpunit {
4705     inherit stdenv fetchurl unzip;
4706   };
4708   gwtdragdrop = import ../development/libraries/java/gwt-dragdrop {
4709     inherit stdenv fetchurl;
4710   };
4712   gwtwidgets = import ../development/libraries/java/gwt-widgets {
4713     inherit stdenv fetchurl;
4714   };
4716   jakartabcel = import ../development/libraries/java/jakarta-bcel {
4717     regexp = jakartaregexp;
4718     inherit fetchurl stdenv;
4719   };
4721   jakartaregexp = import ../development/libraries/java/jakarta-regexp {
4722     inherit fetchurl stdenv;
4723   };
4725   javaCup = import ../development/libraries/java/cup {
4726     inherit stdenv fetchurl jdk;
4727   };
4729   javasvn = import ../development/libraries/java/javasvn {
4730     inherit stdenv fetchurl unzip;
4731   };
4733   jclasslib = import ../development/tools/java/jclasslib {
4734     inherit fetchurl stdenv xpf jre;
4735     ant = apacheAnt14;
4736   };
4738   jdom = import ../development/libraries/java/jdom {
4739     inherit stdenv fetchurl;
4740   };
4742   jflex = import ../development/libraries/java/jflex {
4743     inherit stdenv fetchurl;
4744   };
4746   jjtraveler = import ../development/libraries/java/jjtraveler {
4747     inherit fetchurl jdk;
4748     stdenv = overrideInStdenv stdenv [gnumake380];
4749   };
4751   junit = import ../development/libraries/java/junit {
4752     inherit stdenv fetchurl unzip;
4753   };
4755   lucene = import ../development/libraries/java/lucene {
4756     inherit stdenv fetchurl;
4757   };
4759   mockobjects = import ../development/libraries/java/mockobjects {
4760     inherit stdenv fetchurl;
4761   };
4763   saxon = import ../development/libraries/java/saxon {
4764     inherit fetchurl stdenv unzip;
4765   };
4767   saxonb = import ../development/libraries/java/saxon/default8.nix {
4768     inherit fetchurl stdenv unzip jre;
4769   };
4771   sharedobjects = import ../development/libraries/java/shared-objects {
4772     inherit fetchurl jdk;
4773     stdenv = overrideInStdenv stdenv [gnumake380];
4774   };
4776   smack = import ../development/libraries/java/smack {
4777     inherit stdenv fetchurl;
4778   };
4780   swt = import ../development/libraries/java/swt {
4781     inherit stdenv fetchurl unzip jdk pkgconfig;
4782     inherit (gtkLibs) gtk;
4783     inherit (xlibs) libXtst;
4784   };
4786   xalanj = xalanJava;
4787   xalanJava = import ../development/libraries/java/xalanj {
4788     inherit fetchurl stdenv;
4789     ant    = apacheAntGcj;  # for bootstrap purposes
4790     javac  = gcj;
4791     jvm    = gcj;
4792     xerces = xercesJava;
4793   };
4795   zziplib = import ../development/libraries/zziplib {
4796     inherit fetchurl stdenv perl python zip xmlto zlib;
4797   };
4800   ### DEVELOPMENT / PERL MODULES
4802   buildPerlPackage = import ../development/perl-modules/generic perl;
4804   perlPackages = recurseIntoAttrs (import ./perl-packages.nix {
4805     inherit pkgs;
4806   });
4808   perlXMLParser = perlPackages.XMLParser;
4811   ### DEVELOPMENT / PYTHON MODULES
4813   buildPythonPackage =
4814     import ../development/python-modules/generic {
4815       inherit python setuptools makeWrapper lib;
4816     };
4818   pythonPackages = recurseIntoAttrs (import ./python-packages.nix {
4819     inherit pkgs;
4820   });
4822   foursuite = import ../development/python-modules/4suite {
4823     inherit fetchurl stdenv python;
4824   };
4826   bsddb3 = import ../development/python-modules/bsddb3 {
4827     inherit fetchurl stdenv python db4;
4828   };
4830   flup = builderDefsPackage (selectVersion ../development/python-modules/flup "r2311")
4831   (let python=python25; in
4832   {
4833     inherit python;
4834     setuptools = setuptools.passthru.function {inherit python;};
4835   });
4837   numeric = import ../development/python-modules/numeric {
4838     inherit fetchurl stdenv python;
4839   };
4841   pil = import ../development/python-modules/pil {
4842     inherit fetchurl stdenv python zlib libjpeg freetype;
4843   };
4845   psyco = import ../development/python-modules/psyco {
4846       inherit fetchurl stdenv python;
4847     };
4849   pycairo = import ../development/python-modules/pycairo {
4850     inherit fetchurl stdenv python pkgconfig cairo x11;
4851   };
4853   pycrypto = import ../development/python-modules/pycrypto {
4854     inherit fetchurl stdenv python gmp;
4855   };
4857   pycups = import ../development/python-modules/pycups {
4858     inherit stdenv fetchurl python cups;
4859   };
4861   pygame = import ../development/python-modules/pygame {
4862     inherit fetchurl stdenv python pkgconfig SDL SDL_image
4863       SDL_mixer SDL_ttf numeric;
4864   };
4866   pygobject = import ../development/python-modules/pygobject {
4867     inherit fetchurl stdenv python pkgconfig glib;
4868   };
4870   pygtk = import ../development/python-modules/pygtk {
4871     inherit fetchurl stdenv python pkgconfig pygobject pycairo;
4872     inherit (gtkLibs) glib gtk;
4873   };
4875   pyGtkGlade = import ../development/python-modules/pygtk {
4876     inherit fetchurl stdenv python pkgconfig pygobject pycairo;
4877     inherit (gtkLibs) glib gtk;
4878     inherit (gnome) libglade;
4879   };
4881   pyopengl = import ../development/python-modules/pyopengl {
4882     inherit fetchurl stdenv setuptools mesa freeglut pil python;
4883   };
4885   pyopenssl = builderDefsPackage (import ../development/python-modules/pyopenssl) {
4886     inherit python openssl;
4887   };
4889   pythonSip = builderDefsPackage (selectVersion ../development/python-modules/python-sip "4.7.4") {
4890     inherit python;
4891   };
4893   rhpl = import ../development/python-modules/rhpl {
4894     inherit stdenv fetchurl rpm cpio python wirelesstools gettext;
4895   };
4897   sip = import ../development/python-modules/python-sip {
4898     inherit stdenv fetchurl lib python;
4899   };
4901   pyqt = builderDefsPackage (selectVersion ../development/python-modules/pyqt "4.3.3") {
4902     inherit pkgconfig python pythonSip glib;
4903     inherit (xlibs) libX11 libXext;
4904     qt = qt4;
4905   };
4907   pyqt4 = import ../development/python-modules/pyqt {
4908     inherit stdenv fetchurl lib python sip;
4909     qt4 = qt45;
4910   };
4912   pyx = import ../development/python-modules/pyx {
4913     inherit fetchurl stdenv python makeWrapper;
4914   };
4916   pyxml = import ../development/python-modules/pyxml {
4917     inherit fetchurl stdenv python makeWrapper;
4918   };
4920   setuptools = builderDefsPackage (import ../development/python-modules/setuptools) {
4921     inherit python makeWrapper;
4922   };
4924   wxPython = wxPython26;
4926   wxPython26 = import ../development/python-modules/wxPython/2.6.nix {
4927     inherit fetchurl stdenv pkgconfig python;
4928     wxGTK = wxGTK26;
4929   };
4931   wxPython28 = import ../development/python-modules/wxPython/2.8.nix {
4932     inherit fetchurl stdenv pkgconfig python;
4933     inherit wxGTK;
4934   };
4936   twisted = pythonPackages.twisted;
4938   ZopeInterface = import ../development/python-modules/ZopeInterface {
4939     inherit fetchurl stdenv python;
4940   };
4942   zope = import ../development/python-modules/zope {
4943     inherit fetchurl stdenv;
4944     python = python24;
4945   };
4947   ### SERVERS
4950   apacheHttpd = makeOverridable (import ../servers/http/apache-httpd) {
4951     inherit (pkgsOverriden) fetchurl stdenv perl openssl zlib apr aprutil pcre;
4952     sslSupport = true;
4953   };
4955   sabnzbd = import ../servers/sabnzbd {
4956     inherit fetchurl stdenv python cheetahTemplate makeWrapper par2cmdline unzip unrar;
4957   };
4959   bind = builderDefsPackage (selectVersion ../servers/dns/bind "9.5.0") {
4960     inherit openssl libtool;
4961   };
4963   dico = import ../servers/dico {
4964     inherit fetchurl stdenv libtool gettext zlib readline guile python;
4965   };
4967   dict = composedArgsAndFun (selectVersion ../servers/dict "1.9.15") {
4968     inherit builderDefs which bison;
4969     flex=flex2534;
4970   };
4972   dictdDBs = recurseIntoAttrs (import ../servers/dict/dictd-db.nix {
4973     inherit builderDefs;
4974   });
4976   dictDBCollector = import ../servers/dict/dictd-db-collector.nix {
4977     inherit stdenv lib dict;
4978   };
4980   dovecot = import ../servers/mail/dovecot {
4981     inherit fetchurl stdenv openssl pam;
4982   };
4983   dovecot_1_1_1 = import ../servers/mail/dovecot/1.1.1.nix {
4984     inherit fetchurl stdenv openssl pam;
4985   };
4987   ejabberd = import ../servers/xmpp/ejabberd {
4988     inherit fetchurl stdenv expat erlang zlib openssl
4989       pam fetchsvn;
4990   };
4992   couchdb = import ../servers/http/couchdb {
4993     inherit fetchurl stdenv erlang spidermonkey icu getopt; 
4994   };
4996   fingerd_bsd = import ../servers/fingerd/bsd-fingerd {
4997     inherit fetchurl stdenv;
4998   };
5000   ircdHybrid = import ../servers/irc/ircd-hybrid {
5001     inherit fetchurl stdenv openssl zlib;
5002   };
5004   jboss = import ../servers/http/jboss {
5005     inherit fetchurl stdenv jdk5 jdk;
5006   };
5008   jboss_mysql_jdbc = import ../servers/http/jboss/jdbc/mysql {
5009     inherit stdenv jboss mysql_jdbc;
5010   };
5012   jetty = import ../servers/http/jetty {
5013     inherit fetchurl stdenv unzip;
5014   };
5016   jetty61 = import ../servers/http/jetty/6.1 {
5017     inherit fetchurl stdenv unzip;
5018   };
5020   lighttpd = import ../servers/http/lighttpd {
5021     inherit fetchurl stdenv pcre libxml2 zlib attr bzip2;
5022   };
5024   mod_python = makeOverridable (import ../servers/http/apache-modules/mod_python) {
5025     inherit (pkgsOverriden) fetchurl stdenv apacheHttpd python;
5026   };
5028   myserver = import ../servers/http/myserver {
5029     inherit fetchurl stdenv libgcrypt libevent libidn gnutls libxml2
5030       zlib texinfo cppunit;
5031   };
5033   nginx = builderDefsPackage (import ../servers/http/nginx) {
5034     inherit openssl pcre zlib libxml2 libxslt;
5035   };
5037   postfix = import ../servers/mail/postfix {
5038     inherit fetchurl stdenv db4 openssl cyrus_sasl glibc;
5039   };
5041   pulseaudio = makeOverridable (import ../servers/pulseaudio) {
5042     inherit fetchurl stdenv pkgconfig gnum4 gdbm
5043       dbus hal avahi liboil libsamplerate libsndfile speex
5044       intltool gettext glib;
5045     inherit (xlibs) libX11 libICE libSM;
5046     inherit alsaLib;    # Needs ALSA >= 1.0.17.
5047     gconf = gnome.GConf;
5049     # Work around Libtool 1.5 interaction with Ltdl 2.x
5050     # ("undefined reference to lt__PROGRAM__LTX_preloaded_symbols").
5051     libtool = libtool_1_5;
5052   };
5054   tomcat_connectors = import ../servers/http/apache-modules/tomcat-connectors {
5055     inherit fetchurl stdenv apacheHttpd jdk;
5056   };
5058   portmap = makeOverridable (import ../servers/portmap) {
5059     inherit fetchurl stdenv lib tcpWrapper;
5060   };
5062   monetdb = import ../servers/sql/monetdb {
5063     inherit composableDerivation getConfig;
5064     inherit fetchurl stdenv pcre openssl readline libxml2 geos apacheAnt jdk5;
5065   };
5067   mysql4 = import ../servers/sql/mysql {
5068     inherit fetchurl stdenv ncurses zlib perl;
5069     ps = procps; /* !!! Linux only */
5070   };
5072   mysql5 = import ../servers/sql/mysql5 {
5073     inherit fetchurl stdenv ncurses zlib perl openssl;
5074     ps = procps; /* !!! Linux only */
5075   };
5077   mysql = mysql5;
5079   mysql_jdbc = import ../servers/sql/mysql/jdbc {
5080     inherit fetchurl stdenv ant;
5081   };
5083   nagios = import ../servers/monitoring/nagios {
5084     inherit fetchurl stdenv perl gd libpng zlib;
5085     gdSupport = true;
5086   };
5088   nagiosPluginsOfficial = import ../servers/monitoring/nagios/plugins/official {
5089     inherit fetchurl stdenv openssh;
5090   };
5092   openfire = composedArgsAndFun (import ../servers/xmpp/openfire) {
5093     inherit builderDefs jre;
5094   };
5096   postgresql = postgresql83;
5098   postgresql83 = import ../servers/sql/postgresql/8.3.x.nix {
5099     inherit fetchurl stdenv readline ncurses zlib;
5100   };
5102   postgresql84 = import ../servers/sql/postgresql/8.4.x.nix {
5103     inherit fetchurl stdenv readline ncurses zlib;
5104   };
5106   postgresql_jdbc = import ../servers/sql/postgresql/jdbc {
5107     inherit fetchurl stdenv ant;
5108   };
5110   pyIRCt = builderDefsPackage (import ../servers/xmpp/pyIRCt) {
5111     inherit xmpppy pythonIRClib python makeWrapper;
5112   };
5114   pyMAILt = builderDefsPackage (import ../servers/xmpp/pyMAILt) {
5115     inherit xmpppy python makeWrapper fetchcvs;
5116   };
5118   samba = makeOverridable (import ../servers/samba) {
5119     inherit stdenv fetchurl readline openldap pam kerberos popt iniparser
5120   libunwind acl fam;
5121   };
5123   squids = recurseIntoAttrs( import ../servers/squid/squids.nix {
5124     inherit fetchurl stdenv perl lib composableDerivation;
5125   });
5126   squid = squids.squid3Beta; # has ipv6 support
5128   tomcat5 = import ../servers/http/tomcat {
5129     inherit fetchurl stdenv jdk;
5130   };
5132   tomcat6 = import ../servers/http/tomcat/6.0.nix {
5133     inherit fetchurl stdenv jdk;
5134   };
5136   tomcat_mysql_jdbc = import ../servers/http/tomcat/jdbc/mysql {
5137     inherit stdenv tomcat6 mysql_jdbc;
5138   };
5140   axis2 = import ../servers/http/tomcat/axis2 {
5141     inherit fetchurl stdenv jdk apacheAnt unzip;
5142   };
5144   vsftpd = import ../servers/ftp/vsftpd {
5145     inherit fetchurl openssl stdenv libcap pam;
5146   };
5148   xinetd = import ../servers/xinetd {
5149     inherit fetchurl stdenv;
5150   };
5152   xorg = recurseIntoAttrs (import ../servers/x11/xorg/default.nix {
5153     inherit fetchurl fetchsvn stdenv pkgconfig freetype fontconfig
5154       libxslt expat libdrm libpng zlib perl mesa mesaHeaders
5155       xkeyboard_config dbus hal libuuid openssl gperf m4
5156       automake autoconf libtool;
5158     # !!! pythonBase is use instead of python because this cause an infinite
5159     # !!! recursion when the flag python.full is set to true.  Packages
5160     # !!! contained in the loop are python, tk, xlibs-wrapper, libX11,
5161     # !!! libxcd (and xcb-proto).
5162     python =  pythonBase;
5163   });
5165   xorgReplacements = composedArgsAndFun (import ../servers/x11/xorg/replacements.nix) {
5166     inherit fetchurl stdenv automake autoconf libtool xorg composedArgsAndFun;
5167   };
5169   xorgVideoUnichrome = import ../servers/x11/xorg/unichrome/default.nix {
5170     inherit stdenv fetchgit pkgconfig libdrm mesa automake autoconf libtool;
5171     inherit (xorg) fontsproto libpciaccess randrproto renderproto videoproto
5172       libX11 xextproto xf86driproto xorgserver xproto libXvMC glproto
5173       libXext utilmacros;
5174   };
5176   zabbixAgent = import ../servers/monitoring/zabbix {
5177     inherit fetchurl stdenv;
5178     enableServer = false;
5179   };
5181   zabbixServer = import ../servers/monitoring/zabbix {
5182     inherit fetchurl stdenv postgresql curl;
5183     enableServer = true;
5184   };
5187   ### OS-SPECIFIC
5189   autofs5 = import ../os-specific/linux/autofs/autofs-v5.nix {
5190     inherit bleedingEdgeRepos fetchurl stdenv flex bison kernelHeaders;
5191   };
5193   _915resolution = import ../os-specific/linux/915resolution {
5194     inherit fetchurl stdenv;
5195   };
5197   nfsUtils = import ../os-specific/linux/nfs-utils {
5198     inherit fetchurl stdenv tcpWrapper libuuid;
5199   };
5201   acpi = import ../os-specific/linux/acpi {
5202     inherit fetchurl stdenv;
5203   };
5205   acpid = import ../os-specific/linux/acpid {
5206     inherit fetchurl stdenv;
5207   };
5209   acpitool = import ../os-specific/linux/acpitool {
5210     inherit fetchurl stdenv;
5211   };
5213   alsaLib = import ../os-specific/linux/alsa-lib {
5214     inherit stdenv fetchurl;
5215   };
5217   alsaPlugins = import ../os-specific/linux/alsa-plugins {
5218     inherit fetchurl stdenv lib pkgconfig alsaLib pulseaudio jackaudio;
5219   };
5220   alsaPluginWrapper = import ../os-specific/linux/alsa-plugins/wrapper.nix {
5221     inherit stdenv alsaPlugins writeScriptBin;
5222   };
5224   alsaUtils = import ../os-specific/linux/alsa-utils {
5225     inherit stdenv fetchurl alsaLib gettext ncurses;
5226   };
5228   /*
5229   # Will maybe move to kernelPackages properly later.
5231   blcr = builderDefsPackage (selectVersion ../os-specific/linux/blcr "0.6.5"){
5232     inherit perl;
5233   };
5235   blcrCurrent = kernel : (blcr.passthru.function {
5236     inherit kernel;
5237   });
5238   */
5240   bluez = import ../os-specific/linux/bluez {
5241     inherit fetchurl stdenv pkgconfig dbus libusb alsaLib glib;
5242   };
5244   bridge_utils = import ../os-specific/linux/bridge_utils {
5245     inherit fetchurl stdenv autoconf automake;
5246   };
5248   btrfsProgs = builderDefsPackage (import ../os-specific/linux/btrfsprogs) {
5249     inherit libuuid zlib acl;
5250   };
5252   cpufrequtils = (
5253     import ../os-specific/linux/cpufrequtils {
5254     inherit fetchurl stdenv libtool gettext;
5255     glibc = stdenv.gcc.libc;
5256     kernelHeaders = stdenv.gcc.libc.kernelHeaders;
5257   });
5259   cryopid = import ../os-specific/linux/cryopid {
5260     inherit fetchurl stdenv zlibStatic;
5261   };
5263   cryptsetup = import ../os-specific/linux/cryptsetup {
5264     inherit stdenv fetchurl libuuid popt devicemapper udev;
5265   };
5267   cramfsswap = import ../os-specific/linux/cramfsswap {
5268     inherit fetchurl stdenv zlib;
5269   };
5271   davfs2 = import ../os-specific/linux/davfs2 {
5272     inherit fetchurl stdenv zlib;
5273     neon = neon028;
5274   };
5276   devicemapper = import ../os-specific/linux/device-mapper {
5277     inherit fetchurl stdenv;
5278   };
5280   dmidecode = import ../os-specific/linux/dmidecode {
5281     inherit fetchurl stdenv;
5282   };
5284   dietlibc = import ../os-specific/linux/dietlibc {
5285     inherit fetchurl glibc;
5286     # Dietlibc 0.30 doesn't compile on PPC with GCC 4.1, bus GCC 3.4 works.
5287     stdenv = if stdenv.system == "powerpc-linux" then overrideGCC stdenv gcc34 else stdenv;
5288   };
5290   directvnc = builderDefsPackage ../os-specific/linux/directvnc {
5291     inherit libjpeg pkgconfig zlib directfb;
5292     inherit (xlibs) xproto;
5293   };
5295   dmraid = builderDefsPackage ../os-specific/linux/dmraid {
5296     inherit devicemapper;
5297   };
5299   libuuid = if stdenv.system != "i686-darwin" then utillinuxng else null;
5301   e2fsprogs = import ../os-specific/linux/e2fsprogs/default.nix {
5302     inherit fetchurl stdenv pkgconfig libuuid;
5303   };
5305   e3cfsprogs = import ../os-specific/linux/e3cfsprogs {
5306     inherit stdenv fetchurl gettext;
5307   };
5309   eject = import ../os-specific/linux/eject {
5310     inherit fetchurl stdenv gettext;
5311   };
5313   fbterm = builderDefsPackage (import ../os-specific/linux/fbterm) {
5314     inherit fontconfig gpm freetype pkgconfig ncurses;
5315   };
5317   fuse = import ../os-specific/linux/fuse {
5318     inherit fetchurl stdenv utillinux;
5319   };
5321   fxload = import ../os-specific/linux/fxload {
5322     inherit fetchurl stdenv;
5323   };
5325   genext2fs = import ../os-specific/linux/genext2fs {
5326     inherit fetchurl stdenv;
5327   };
5329   gpm = builderDefsPackage (selectVersion ../servers/gpm "1.20.6") {
5330     inherit lzma ncurses bison;
5331     flex = flex2535;
5332   };
5334   hal = makeOverridable (import ../os-specific/linux/hal) {
5335     inherit fetchurl stdenv pkgconfig python pciutils usbutils expat
5336       libusb dbus dbus_glib libuuid perl perlXMLParser
5337       gettext zlib eject libsmbios udev gperf dmidecode utillinuxng
5338       consolekit policykit pmutils glib;
5339   };
5341   halevt = import ../os-specific/linux/hal/hal-evt.nix {
5342     inherit fetchurl stdenv lib libxml2 pkgconfig boolstuff hal dbus_glib;
5343   };
5345   hal_info = import ../os-specific/linux/hal/info.nix {
5346     inherit fetchurl stdenv pkgconfig;
5347   };
5349   hal_info_synaptics = import ../os-specific/linux/hal/synaptics.nix {
5350     inherit stdenv;
5351   };
5353   hdparm = import ../os-specific/linux/hdparm {
5354     inherit fetchurl stdenv;
5355   };
5357   hibernate = import ../os-specific/linux/hibernate {
5358     inherit fetchurl stdenv gawk;
5359   };
5361   htop = import ../os-specific/linux/htop {
5362     inherit fetchurl stdenv ncurses;
5363   };
5365   hwdata = import ../os-specific/linux/hwdata {
5366     inherit fetchurl stdenv;
5367   };
5369   ifplugd = import ../os-specific/linux/ifplugd {
5370     inherit fetchurl stdenv pkgconfig libdaemon;
5371   };
5373   iproute = import ../os-specific/linux/iproute {
5374     inherit fetchurl stdenv flex bison db4;
5375   };
5377   iputils = (
5378     import ../os-specific/linux/iputils {
5379     inherit fetchurl stdenv;
5380     glibc = stdenv.gcc.libc;
5381     kernelHeaders = stdenv.gcc.libc.kernelHeaders;
5382   });
5384   iptables = import ../os-specific/linux/iptables {
5385     inherit fetchurl stdenv;
5386   };
5388   ipw2200fw = import ../os-specific/linux/firmware/ipw2200 {
5389     inherit fetchurl stdenv;
5390   };
5392   iwlwifi3945ucode = import ../os-specific/linux/firmware/iwlwifi-3945-ucode {
5393     inherit fetchurl stdenv;
5394   };
5396   iwlwifi4965ucodeV1 = import ../os-specific/linux/firmware/iwlwifi-4965-ucode {
5397     inherit fetchurl stdenv;
5398   };
5400   iwlwifi4965ucodeV2 = import ../os-specific/linux/firmware/iwlwifi-4965-ucode/version-2.nix {
5401     inherit fetchurl stdenv;
5402   };
5404   iwlwifi5000ucode = import ../os-specific/linux/firmware/iwlwifi-5000-ucode {
5405     inherit fetchurl stdenv;
5406   };
5408   jfsrec = builderDefsPackage (selectVersion ../os-specific/linux/jfsrec "svn-7"){
5409     inherit boost;
5410   };
5412   jfsutils = import ../os-specific/linux/jfsutils/default.nix {
5413     inherit fetchurl stdenv libuuid;
5414   };
5416   kbd = import ../os-specific/linux/kbd {
5417     inherit fetchurl stdenv bison flex;
5418   };
5420   kernelHeaders = kernelHeaders_2_6_28;
5422   kernelHeaders_2_6_18 = import ../os-specific/linux/kernel-headers/2.6.18.5.nix {
5423     inherit fetchurl stdenv unifdef;
5424   };
5426   kernelHeaders_2_6_23 = import ../os-specific/linux/kernel-headers/2.6.23.16.nix {
5427     inherit fetchurl stdenv;
5428   };
5430   kernelHeaders_2_6_26 = import ../os-specific/linux/kernel-headers/2.6.26.2.nix {
5431     inherit fetchurl stdenv;
5432   };
5434   kernelHeaders_2_6_27 = import ../os-specific/linux/kernel-headers/2.6.27.8.nix {
5435     inherit fetchurl stdenv;
5436   };
5438   kernelHeaders_2_6_28 = import ../os-specific/linux/kernel-headers/2.6.28.nix {
5439     inherit fetchurl stdenv perl;
5440   };
5442   kernelHeadersArm = import ../os-specific/linux/kernel-headers-cross {
5443     inherit fetchurl stdenv;
5444     cross = "arm-linux";
5445   };
5447   kernelHeadersMips = import ../os-specific/linux/kernel-headers-cross {
5448     inherit fetchurl stdenv;
5449     cross = "mips-linux";
5450   };
5452   kernelHeadersSparc = import ../os-specific/linux/kernel-headers-cross {
5453     inherit fetchurl stdenv;
5454     cross = "sparc-linux";
5455   };
5457   kernel_2_6_25 = import ../os-specific/linux/kernel/linux-2.6.25.nix {
5458     inherit fetchurl stdenv perl mktemp module_init_tools;
5459     kernelPatches = [
5460       { name = "fbcondecor-0.9.4-2.6.25-rc6";
5461         patch = fetchurl {
5462           url = http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch;
5463           sha256 = "1wm94n7f0qyb8xvafip15r158z5pzw7zb7q8hrgddb092c6ibmq8";
5464         };
5465         extraConfig = "CONFIG_FB_CON_DECOR=y";
5466         features = { fbConDecor = true; };
5467       }
5468       { name = "sec_perm-2.6.24";
5469         patch = ../os-specific/linux/kernel/sec_perm-2.6.24.patch;
5470         features = { secPermPatch = true; };
5471       }
5472     ];
5473     extraConfig =
5474       lib.optional (getConfig ["kernel" "timer_stats"] false) "CONFIG_TIMER_STATS=y" ++
5475       lib.optional (getConfig ["kernel" "no_irqbalance"] false) "# CONFIG_IRQBALANCE is not set" ++
5476       [(getConfig ["kernel" "addConfig"] "")];
5477   };
5479   kernel_2_6_26 = import ../os-specific/linux/kernel/linux-2.6.26.nix {
5480     inherit fetchurl stdenv perl mktemp module_init_tools;
5481     kernelPatches = [
5482       { name = "fbcondecor-0.9.4-2.6.25-rc6";
5483         patch = fetchurl {
5484           url = http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch;
5485           sha256 = "1wm94n7f0qyb8xvafip15r158z5pzw7zb7q8hrgddb092c6ibmq8";
5486         };
5487         extraConfig = "CONFIG_FB_CON_DECOR=y";
5488         features = { fbConDecor = true; };
5489       }
5490       { name = "sec_perm-2.6.24";
5491         patch = ../os-specific/linux/kernel/sec_perm-2.6.24.patch;
5492         features = { secPermPatch = true; };
5493       }
5494     ];
5495     extraConfig =
5496       lib.optional (getConfig ["kernel" "no_irqbalance"] false) "# CONFIG_IRQBALANCE is not set" ++
5497       [(getConfig ["kernel" "addConfig"] "")];
5498   };
5500   kernel_2_6_27 = import ../os-specific/linux/kernel/linux-2.6.27.nix {
5501     inherit fetchurl stdenv perl mktemp module_init_tools;
5502     kernelPatches = [
5503       { name = "fbcondecor-0.9.4-2.6.27";
5504         patch = fetchurl {
5505           url = http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.27.patch;
5506           sha256 = "170l9l5fvbgjrr4klqcwbgjg4kwvrrhjpmgbfpqj0scq0s4q4vk6";
5507         };
5508         extraConfig = "CONFIG_FB_CON_DECOR=y";
5509         features = { fbConDecor = true; };
5510       }
5511       { name = "sec_perm-2.6.24";
5512         patch = ../os-specific/linux/kernel/sec_perm-2.6.24.patch;
5513         features = { secPermPatch = true; };
5514       }
5515     ];
5516     extraConfig =
5517       lib.optional (getConfig ["kernel" "no_irqbalance"] false) "# CONFIG_IRQBALANCE is not set" ++
5518       [(getConfig ["kernel" "addConfig"] "")];
5519   };
5521   kernel_2_6_28 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.28.nix) {
5522     inherit fetchurl stdenv perl mktemp module_init_tools;
5523     kernelPatches = [
5524       { name = "fbcondecor-0.9.5-2.6.28";
5525         patch = fetchurl {
5526           url = http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.5-2.6.28.patch;
5527           sha256 = "105q2dwrwi863r7nhlrvljim37aqv67mjc3lgg529jzqgny3fjds";
5528         };
5529         extraConfig = "CONFIG_FB_CON_DECOR=y";
5530         features = { fbConDecor = true; };
5531       }
5532       { name = "sec_perm-2.6.24";
5533         patch = ../os-specific/linux/kernel/sec_perm-2.6.24.patch;
5534         features = { secPermPatch = true; };
5535       }
5536       { # http://patchwork.kernel.org/patch/19495/
5537         name = "ext4-softlockups-fix";
5538         patch = fetchurl {
5539           url = http://patchwork.kernel.org/patch/19495/raw;
5540           sha256 = "0vqcj9qs7jajlvmwm97z8cljr4vb277aqhsjqrakbxfdiwlhrzzf";
5541         };
5542       }
5543     ];
5544     extraConfig =
5545       lib.optional (getConfig ["kernel" "no_irqbalance"] false) "# CONFIG_IRQBALANCE is not set" ++
5546       [(getConfig ["kernel" "addConfig"] "")];
5547   };
5549   kernel_2_6_29 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.29.nix) {
5550     inherit fetchurl stdenv perl mktemp module_init_tools;
5551     kernelPatches = [
5552       { name = "fbcondecor-0.9.5-2.6.28";
5553         patch = fetchurl {
5554           url = http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.6-2.6.29.2.patch;
5555           sha256 = "1yppvji13sgnql62h4wmskzl9l198pp1pbixpbymji7mr4a0ylx1";
5556         };
5557         extraConfig = "CONFIG_FB_CON_DECOR=y";
5558         features = { fbConDecor = true; };
5559       }
5560       { name = "sec_perm-2.6.24";
5561         patch = ../os-specific/linux/kernel/sec_perm-2.6.24.patch;
5562         features = { secPermPatch = true; };
5563       }
5564     ];
5565   };
5567   kernel_2_6_31 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.31.nix) {
5568     inherit fetchurl stdenv perl mktemp module_init_tools;
5569     kernelPatches = [];
5570   };
5572   kernel_2_6_31_zen5 = makeOverridable (import ../os-specific/linux/zen-kernel/2.6.31-zen5.nix) {
5573     inherit fetchurl stdenv perl mktemp module_init_tools
5574       lib builderDefs;
5575   };
5577   kernel_2_6_31_zen5_bfs = kernel_2_6_31_zen5.override {
5578     ckSched = true;
5579   };
5581   kernel_2_6_31_zen7 = makeOverridable (import ../os-specific/linux/zen-kernel/zen-stable.nix) {
5582     inherit fetchurl stdenv perl mktemp module_init_tools
5583       lib builderDefs;
5584   };
5586   kernel_2_6_31_zen7_bfs = kernel_2_6_31_zen7.override {
5587     ckSched = true;
5588   };
5590   kernel_2_6_31_zen = kernel_2_6_31_zen7;
5591   kernel_2_6_31_zen_bfs = kernel_2_6_31_zen7_bfs;
5593   /* Kernel modules are inherently tied to a specific kernel.  So
5594      rather than provide specific instances of those packages for a
5595      specific kernel, we have a function that builds those packages
5596      for a specific kernel.  This function can then be called for
5597      whatever kernel you're using. */
5599   kernelPackagesFor = kernel: rec {
5601     inherit kernel;
5603     aufs = import ../os-specific/linux/aufs {
5604       inherit fetchurl stdenv kernel;
5605     };
5607     # Currently it is broken
5608     # Build requires exporting some symbols from kernel
5609     # Go to package homepage to learn about the needed
5610     # patch. Feel free to take over the package.
5611     aufs2 = import ../os-specific/linux/aufs2 {
5612       inherit fetchgit stdenv kernel perl;
5613     };
5615     aufs2Utils = if lib.attrByPath ["features" "aufs"] false kernel then
5616       builderDefsPackage ../os-specific/linux/aufs2-utils {
5617         inherit kernel;
5618       }
5619     else null;
5621     exmap = import ../os-specific/linux/exmap {
5622       inherit fetchurl stdenv kernel boost pcre pkgconfig;
5623       inherit (gtkLibs) gtkmm;
5624     };
5626     iwlwifi = import ../os-specific/linux/iwlwifi {
5627       inherit fetchurl stdenv kernel;
5628     };
5630     iwlwifi4965ucode =
5631       (if (builtins.compareVersions kernel.version "2.6.27" == 0)
5632           || (builtins.compareVersions kernel.version "2.6.27" == 1)
5633        then iwlwifi4965ucodeV2
5634        else iwlwifi4965ucodeV1);
5636     atheros = composedArgsAndFun (selectVersion ../os-specific/linux/atheros "0.9.4") {
5637       inherit fetchurl stdenv builderDefs kernel lib;
5638     };
5640     nvidia_x11 = import ../os-specific/linux/nvidia-x11 {
5641       inherit stdenv fetchurl kernel xlibs gtkLibs zlib;
5642     };
5644     nvidia_x11_legacy = import ../os-specific/linux/nvidia-x11/legacy.nix {
5645       inherit stdenv fetchurl kernel xlibs gtkLibs zlib;
5646     };
5648     wis_go7007 = import ../os-specific/linux/wis-go7007 {
5649       inherit fetchurl stdenv kernel ncurses fxload;
5650     };
5652     kqemu = builderDefsPackage (selectVersion ../os-specific/linux/kqemu "1.4.0pre1") {
5653       inherit kernel perl;
5654     };
5656     splashutils =
5657       # Splashutils 1.3 is broken, so disable splash on older kernels.
5658       if kernel.features ? fbSplash then /* splashutils_13 */ null else
5659       if kernel.features ? fbConDecor then splashutils_15 else
5660       null;
5662     ext3cowtools = import ../os-specific/linux/ext3cow-tools {
5663       inherit stdenv fetchurl;
5664       kernel_ext3cowpatched = kernel;
5665     };
5667     /* compiles but has to be integrated into the kernel somehow
5668       Let's have it uncommented and finish it..
5669     */
5670     ndiswrapper = import ../os-specific/linux/ndiswrapper {
5671       inherit fetchurl stdenv;
5672       inherit kernel perl;
5673     };
5675     ov511 = import ../os-specific/linux/ov511 {
5676       inherit fetchurl kernel;
5677       stdenv = overrideGCC stdenv gcc34;
5678     };
5680     # State Nix
5681     snix = import ../tools/package-management/snix {
5682       inherit fetchurl stdenv perl curl bzip2 openssl bison;
5683       inherit libtool automake autoconf docbook5 docbook5_xsl libxslt docbook_xml_dtd_43 w3m;
5685       aterm = aterm242fixes;
5686       db4 = db45;
5688       flex = flex2533;
5690       inherit ext3cowtools e3cfsprogs rsync;
5691       ext3cow_kernel = kernel;
5692     };
5694     sysprof = import ../development/tools/profiling/sysprof {
5695       inherit fetchurl stdenv binutils pkgconfig kernel;
5696       inherit (gnome) gtk glib pango libglade;
5697     };
5699     virtualbox = import ../applications/virtualization/virtualbox {
5700       stdenv = stdenv_32bit;
5701       inherit fetchurl lib iasl dev86 libxslt libxml2 SDL hal
5702           libcap libpng zlib kernel python which alsaLib curl glib;
5703       qt4 = qt45;
5704       inherit (xlibs) xproto libX11 libXext libXcursor;
5705       inherit (gnome) libIDL;
5706     };
5708     virtualboxGuestAdditions = import ../applications/virtualization/virtualbox/guest-additions {
5709       inherit stdenv fetchurl lib patchelf cdrkit kernel;
5710       inherit (xlibs) libX11 libXt libXext libXmu libXcomposite libXfixes;
5711     };
5712   };
5714   # Build the kernel modules for the some of the kernels.
5715   kernelPackages_2_6_25 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_25);
5716   kernelPackages_2_6_26 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_26);
5717   kernelPackages_2_6_27 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_27);
5718   kernelPackages_2_6_28 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_28);
5719   kernelPackages_2_6_29 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_29);
5720   kernelPackages_2_6_31_zen5 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_31_zen5);
5721   kernelPackages_2_6_31_zen = recurseIntoAttrs (kernelPackagesFor kernel_2_6_31_zen);
5722   kernelPackages_2_6_31_zen_bfs = recurseIntoAttrs (kernelPackagesFor kernel_2_6_31_zen_bfs);
5723   kernelPackages_2_6_31 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_31);
5725   # The current default kernel / kernel modules.
5726   kernelPackages = kernelPackages_2_6_28;
5728   customKernel = composedArgsAndFun (lib.sumTwoArgs (import ../os-specific/linux/kernel/generic.nix) {
5729     inherit fetchurl stdenv perl mktemp module_init_tools;
5730   });
5732   libselinux = import ../os-specific/linux/libselinux {
5733     inherit fetchurl stdenv libsepol;
5734   };
5736   libraw1394 = import ../development/libraries/libraw1394 {
5737     inherit fetchurl stdenv;
5738   };
5740   libsexy = import ../development/libraries/libsexy {
5741     inherit stdenv fetchurl pkgconfig libxml2;
5742     inherit (gtkLibs) glib gtk pango;
5743   };
5745   librsvg = gnome.librsvg;
5747   libsepol = import ../os-specific/linux/libsepol {
5748     inherit fetchurl stdenv;
5749   };
5751   libsmbios = import ../os-specific/linux/libsmbios {
5752     inherit fetchurl stdenv pkgconfig libxml2 perl;
5753   };
5755   lm_sensors = import ../os-specific/linux/lm_sensors {
5756     inherit fetchurl stdenv bison flex perl;
5757   };
5759   klibc = makeOverridable (import ../os-specific/linux/klibc) {
5760     inherit fetchurl stdenv perl bison mktemp;
5761     kernelHeaders = glibc.kernelHeaders;
5762   };
5764   # Old version; needed in vmtools for insmod.  Should use
5765   # module_init_tools instead.
5766   klibc_15 = makeOverridable (import ../os-specific/linux/klibc/1.5.nix) {
5767     inherit fetchurl stdenv perl bison mktemp;
5768     kernelHeaders = glibc.kernelHeaders;
5769   };
5771   klibcShrunk = makeOverridable (import ../os-specific/linux/klibc/shrunk.nix) {
5772     inherit stdenv klibc;
5773   };
5775   kvm = kvm76;
5777   kvm76 = import ../os-specific/linux/kvm/76.nix {
5778     inherit fetchurl stdenv zlib e2fsprogs SDL alsaLib pkgconfig rsync;
5779     inherit (glibc) kernelHeaders;
5780   };
5782   kvm86 = import ../os-specific/linux/kvm/86.nix {
5783     inherit fetchurl stdenv zlib SDL alsaLib pkgconfig pciutils;
5784     inherit (glibc) kernelHeaders;
5785   };
5787   kvm88 = import ../os-specific/linux/kvm/88.nix {
5788     inherit fetchurl stdenv zlib SDL alsaLib pkgconfig pciutils;
5789     inherit (glibc) kernelHeaders;
5790   };
5792   libcap = import ../os-specific/linux/libcap {
5793     inherit fetchurl stdenv attr;
5794   };
5796   libnscd = import ../os-specific/linux/libnscd {
5797     inherit fetchurl stdenv;
5798   };
5800   libnotify = import ../development/libraries/libnotify {
5801     inherit stdenv fetchurl pkgconfig dbus dbus_glib;
5802     inherit (gtkLibs) gtk glib;
5803   };
5805   libvolume_id = import ../os-specific/linux/libvolume_id {
5806     inherit fetchurl stdenv;
5807   };
5809   lvm2 = import ../os-specific/linux/lvm2 {
5810     inherit fetchurl stdenv devicemapper;
5811   };
5813   mdadm = import ../os-specific/linux/mdadm {
5814     inherit fetchurl stdenv groff;
5815   };
5817   mingetty = import ../os-specific/linux/mingetty {
5818     inherit fetchurl stdenv;
5819   };
5821   module_init_tools = import ../os-specific/linux/module-init-tools {
5822     inherit fetchurl stdenv;
5823   };
5825   mount_cifs = import ../os-specific/linux/mount-cifs {
5826     inherit fetchurl stdenv;
5827   };
5829   aggregateModules = modules:
5830     import ../os-specific/linux/module-init-tools/aggregator.nix {
5831       inherit stdenv module_init_tools modules buildEnv;
5832     };
5834   modutils = import ../os-specific/linux/modutils {
5835     inherit fetchurl bison flex;
5836     stdenv = overrideGCC stdenv gcc34;
5837   };
5839   nettools = import ../os-specific/linux/net-tools {
5840     inherit fetchurl stdenv;
5841   };
5843   neverball = import ../games/neverball {
5844     inherit stdenv fetchurl SDL mesa libpng libjpeg SDL_ttf libvorbis
5845       gettext physfs;
5846   };
5848   numactl = import ../os-specific/linux/numactl {
5849     inherit fetchurl stdenv;
5850   };
5852   gw6c = builderDefsPackage (import ../os-specific/linux/gw6c) {
5853     inherit fetchurl stdenv nettools openssl procps iproute;
5854   };
5856   nss_ldap = import ../os-specific/linux/nss_ldap {
5857     inherit fetchurl stdenv openldap;
5858   };
5860   pam = import ../os-specific/linux/pam {
5861     inherit stdenv fetchurl cracklib flex;
5862   };
5864   pam_console = import ../os-specific/linux/pam_console {
5865     inherit stdenv fetchurl pam autoconf automake pkgconfig bison glib;
5866     libtool = libtool_1_5;
5867     flex = if stdenv.system == "i686-linux" then flex else flex2533;
5868   };
5870   pam_devperm = import ../os-specific/linux/pam_devperm {
5871     inherit stdenv fetchurl pam;
5872   };
5874   pam_ldap = import ../os-specific/linux/pam_ldap {
5875     inherit stdenv fetchurl pam openldap;
5876   };
5878   pam_login = import ../os-specific/linux/pam_login {
5879     inherit stdenv fetchurl pam;
5880   };
5882   pam_unix2 = import ../os-specific/linux/pam_unix2 {
5883     inherit stdenv fetchurl pam libxcrypt;
5884   };
5886   pcmciaUtils = composedArgsAndFun (import ../os-specific/linux/pcmciautils) {
5887     inherit stdenv fetchurl udev yacc flex;
5888     inherit sysfsutils module_init_tools;
5890     firmware = getConfig ["pcmciaUtils" "firmware"] [];
5891     config = getConfig ["pcmciaUtils" "config"] null;
5892     inherit lib;
5893   };
5895   pmutils = import ../os-specific/linux/pm-utils {
5896     inherit fetchurl stdenv;
5897   };
5899   powertop = import ../os-specific/linux/powertop {
5900     inherit fetchurl stdenv ncurses gettext;
5901   };
5903   procps = import ../os-specific/linux/procps {
5904     inherit fetchurl stdenv ncurses;
5905   };
5907   pwdutils = import ../os-specific/linux/pwdutils {
5908     inherit fetchurl stdenv pam openssl libnscd;
5909   };
5911   qemu_kvm = import ../os-specific/linux/qemu-kvm {
5912     inherit fetchurl stdenv zlib SDL alsaLib pkgconfig pciutils;
5913   };
5915   reiserfsprogs = import ../os-specific/linux/reiserfsprogs {
5916     inherit fetchurl stdenv;
5917   };
5919   reiser4progs = import ../os-specific/linux/reiser4progs {
5920     inherit fetchurl stdenv libaal;
5921   };
5923   radeontools = import ../os-specific/linux/radeontools {
5924     inherit pciutils;
5925     inherit fetchurl stdenv;
5926   };
5928   rt73fw = import ../os-specific/linux/firmware/rt73 {
5929     inherit fetchurl stdenv unzip;
5930   };
5932   sdparm = import ../os-specific/linux/sdparm {
5933     inherit fetchurl stdenv;
5934   };
5936   shadowutils = import ../os-specific/linux/shadow {
5937     inherit fetchurl stdenv;
5938   };
5940   splashutils_13 = import ../os-specific/linux/splashutils/1.3.nix {
5941     inherit fetchurl stdenv klibc;
5942     zlib = zlibStatic;
5943     libjpeg = libjpegStatic;
5944   };
5946   splashutils_15 = import ../os-specific/linux/splashutils/1.5.nix {
5947     inherit fetchurl stdenv klibc;
5948     zlib = zlibStatic;
5949     libjpeg = libjpegStatic;
5950   };
5952   squashfsTools = import ../os-specific/linux/squashfs {
5953     inherit fetchurl stdenv zlib;
5954   };
5956   statifier = builderDefsPackage (import ../os-specific/linux/statifier) {
5957   };
5959   sysfsutils = import ../os-specific/linux/sysfsutils {
5960     inherit fetchurl stdenv;
5961   };
5963   # Provided with sysfsutils.
5964   libsysfs = sysfsutils;
5965   systool = sysfsutils;
5967   sysklogd = import ../os-specific/linux/sysklogd {
5968     inherit fetchurl stdenv;
5969   };
5971   syslinux = import ../os-specific/linux/syslinux {
5972     inherit fetchurl stdenv nasm perl;
5973   };
5975   sysstat = import ../os-specific/linux/sysstat {
5976     inherit fetchurl stdenv gettext;
5977   };
5979   sysvinit = import ../os-specific/linux/sysvinit {
5980     inherit fetchurl stdenv;
5981   };
5983   sysvtools = import ../os-specific/linux/sysvinit {
5984     inherit fetchurl stdenv;
5985     withoutInitTools = true;
5986   };
5988   # FIXME: `tcp-wrapper' is actually not OS-specific.
5989   tcpWrapper = import ../os-specific/linux/tcp-wrapper {
5990     inherit fetchurl stdenv;
5991   };
5993   trackballs = import ../games/trackballs {
5994     inherit stdenv fetchurl SDL mesa SDL_ttf gettext zlib SDL_mixer SDL_image guile;
5995     debug = false;
5996   };
5998   tunctl = import ../os-specific/linux/tunctl {
5999     inherit stdenv fetchurl;
6000   };
6002   /*tuxracer = builderDefsPackage (import ../games/tuxracer) {
6003     inherit mesa tcl freeglut;
6004     inherit (xlibs) libX11 xproto;
6005   };*/
6007   udev = makeOverridable (import ../os-specific/linux/udev) {
6008     inherit fetchurl stdenv gperf pkgconfig acl libusb usbutils pciutils glib;
6009   };
6011   uml = import ../os-specific/linux/kernel/linux-2.6.20.nix {
6012     inherit fetchurl stdenv perl mktemp module_init_tools;
6013     userModeLinux = true;
6014   };
6016   umlutilities = import ../os-specific/linux/uml-utilities {
6017     inherit fetchurl kernelHeaders stdenv readline lib;
6018     tunctl = true; mconsole = true;
6019   };
6021   upstart = import ../os-specific/linux/upstart {
6022     inherit fetchurl stdenv;
6023   };
6025   upstart06 = import ../os-specific/linux/upstart/0.6.nix {
6026     inherit fetchurl stdenv pkgconfig dbus expat;
6027   };
6029   upstartJobControl = import ../os-specific/linux/upstart/jobcontrol.nix {
6030     inherit stdenv;
6031   };
6033   usbutils = import ../os-specific/linux/usbutils {
6034     inherit fetchurl stdenv pkgconfig libusb;
6035   };
6037   utillinux = utillinuxng;
6039   utillinuxCurses = utillinuxngCurses;
6041   utillinuxng = makeOverridable (import ../os-specific/linux/util-linux-ng) {
6042     inherit fetchurl stdenv;
6043   };
6045   utillinuxngCurses = utillinuxng.override {
6046     inherit ncurses;
6047   };
6049   wesnoth = import ../games/wesnoth {
6050     inherit fetchurl stdenv SDL SDL_image SDL_mixer SDL_net gettext zlib boost freetype;
6051   };
6053   wirelesstools = import ../os-specific/linux/wireless-tools {
6054     inherit fetchurl stdenv;
6055   };
6057   wpa_supplicant = import ../os-specific/linux/wpa_supplicant {
6058     inherit fetchurl stdenv openssl;
6059   };
6061   wpa_supplicant_gui_qt4 = import ../os-specific/linux/wpa_supplicant/gui-qt4.nix {
6062     inherit fetchurl stdenv qt4 imagemagick inkscape;
6063   };
6065   xfsprogs = import ../os-specific/linux/xfsprogs/default.nix {
6066     inherit fetchurl stdenv libtool gettext libuuid;
6067   };
6069   xmoto = builderDefsPackage (import ../games/xmoto) {
6070     inherit chipmunk sqlite curl zlib bzip2 libjpeg libpng
6071       freeglut mesa SDL SDL_mixer SDL_image SDL_net SDL_ttf
6072       lua5 ode;
6073   };
6075   xorg_sys_opengl = import ../os-specific/linux/opengl/xorg-sys {
6076     inherit stdenv xlibs expat libdrm;
6077   };
6079   zd1211fw = import ../os-specific/linux/firmware/zd1211 {
6080     inherit stdenv fetchurl;
6081   };
6083   ### DATA
6085   arkpandora_ttf = builderDefsPackage (import ../data/fonts/arkpandora) {
6086   };
6088   bakoma_ttf = import ../data/fonts/bakoma-ttf {
6089     inherit fetchurl stdenv;
6090   };
6092   corefonts = import ../data/fonts/corefonts {
6093     inherit fetchurl stdenv cabextract;
6094   };
6096   wrapFonts = paths : ((import ../data/fonts/fontWrap) {
6097     inherit fetchurl stdenv builderDefs paths ttmkfdir;
6098     inherit (xorg) mkfontdir mkfontscale;
6099   });
6101   clearlyU = composedArgsAndFun (selectVersion ../data/fonts/clearlyU "1.9") {
6102     inherit builderDefs;
6103     inherit (xorg) mkfontdir mkfontscale;
6104   };
6106   dejavu_fonts = import ../data/fonts/dejavu-fonts {
6107     inherit fetchurl stdenv fontforge perl fontconfig;
6108     inherit (perlPackages) FontTTF;
6109   };
6111   docbook5 = import ../data/sgml+xml/schemas/docbook-5.0 {
6112     inherit fetchurl stdenv unzip;
6113   };
6115   docbook_xml_dtd_412 = import ../data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix {
6116     inherit fetchurl stdenv unzip;
6117   };
6119   docbook_xml_dtd_42 = import ../data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix {
6120     inherit fetchurl stdenv unzip;
6121   };
6123   docbook_xml_dtd_43 = import ../data/sgml+xml/schemas/xml-dtd/docbook/4.3.nix {
6124     inherit fetchurl stdenv unzip;
6125   };
6127   docbook_xml_dtd_45 = import ../data/sgml+xml/schemas/xml-dtd/docbook/4.5.nix {
6128     inherit fetchurl stdenv unzip;
6129   };
6131   docbook_xml_ebnf_dtd = import ../data/sgml+xml/schemas/xml-dtd/docbook-ebnf {
6132     inherit fetchurl stdenv unzip;
6133   };
6135   docbook_xml_xslt = docbook_xsl;
6137   docbook_xsl = import ../data/sgml+xml/stylesheets/xslt/docbook-xsl {
6138     inherit fetchurl stdenv;
6139   };
6141   docbook5_xsl = docbook_xsl_ns;
6143   docbook_xsl_ns = import ../data/sgml+xml/stylesheets/xslt/docbook-xsl-ns {
6144     inherit fetchurl stdenv;
6145   };
6147   junicode = composedArgsAndFun (selectVersion ../data/fonts/junicode "0.6.15") {
6148     inherit builderDefs fontforge unzip;
6149     inherit (xorg) mkfontdir mkfontscale;
6150   };
6152   freefont_ttf = import ../data/fonts/freefont-ttf {
6153     inherit fetchurl stdenv;
6154   };
6156   liberation_ttf = import ../data/fonts/redhat-liberation-fonts {
6157     inherit fetchurl stdenv;
6158   };
6160   libertine = builderDefsPackage (selectVersion ../data/fonts/libertine "2.7") {
6161     inherit fontforge;
6162   };
6163   libertineBin = builderDefsPackage (selectVersion ../data/fonts/libertine "2.7.bin") {
6164   };
6166   lmodern = builderDefsPackage (selectVersion ../data/fonts/lmodern "1.010") {
6167   };
6169   manpages = import ../data/documentation/man-pages {
6170     inherit fetchurl stdenv;
6171   };
6173   miscfiles = import ../data/misc/miscfiles {
6174     inherit fetchurl stdenv;
6175   };
6177   mph_2b_damase = import ../data/fonts/mph-2b-damase {
6178     inherit fetchurl stdenv unzip;
6179   };
6181   pthreadmanpages = lowPrio (import ../data/documentation/pthread-man-pages {
6182     inherit fetchurl stdenv perl;
6183   });
6185   shared_mime_info = import ../data/misc/shared-mime-info {
6186     inherit fetchurl stdenv pkgconfig gettext
6187       intltool perl perlXMLParser libxml2 glib;
6188   };
6190   stdmanpages = import ../data/documentation/std-man-pages {
6191     inherit fetchurl stdenv;
6192   };
6194   iana_etc = import ../data/misc/iana-etc {
6195     inherit fetchurl stdenv;
6196   };
6198   popplerData = import ../data/misc/poppler-data {
6199     inherit fetchurl stdenv;
6200   };
6202   r3rs = import ../data/documentation/rnrs/r3rs.nix {
6203     inherit fetchurl stdenv texinfo;
6204   };
6206   r4rs = import ../data/documentation/rnrs/r4rs.nix {
6207     inherit fetchurl stdenv texinfo;
6208   };
6210   r5rs = import ../data/documentation/rnrs/r5rs.nix {
6211     inherit fetchurl stdenv texinfo;
6212   };
6214   themes = name: import (../data/misc/themes + ("/" + name + ".nix")) {
6215     inherit fetchurl;
6216   };
6218   ttf_bitstream_vera = import ../data/fonts/ttf-bitstream-vera {
6219     inherit fetchurl stdenv;
6220   };
6222   ucsFonts = import ../data/fonts/ucs-fonts {
6223     inherit fetchurl stdenv wrapFonts;
6224   };
6226   unifont = import ../data/fonts/unifont {
6227     inherit debPackage perl;
6228     inherit (xorg) mkfontdir mkfontscale bdftopcf fontutil;
6229   };
6231   vistafonts = import ../data/fonts/vista-fonts {
6232     inherit fetchurl stdenv cabextract;
6233   };
6235   wqy_zenhei = composedArgsAndFun (selectVersion ../data/fonts/wqy_zenhei "0.4.23-1") {
6236     inherit builderDefs;
6237   };
6239   xhtml1 = import ../data/sgml+xml/schemas/xml-dtd/xhtml1 {
6240     inherit fetchurl stdenv libxml2;
6241   };
6243   xkeyboard_config = import ../data/misc/xkeyboard-config {
6244     inherit fetchurl stdenv perl perlXMLParser gettext intltool;
6245     inherit (xlibs) xkbcomp;
6246   };
6249   ### APPLICATIONS
6252   aangifte2005 = import ../applications/taxes/aangifte-2005 {
6253     inherit stdenv fetchurl;
6254     inherit (xlibs) libX11 libXext;
6255   };
6257   aangifte2006 = import ../applications/taxes/aangifte-2006 {
6258     inherit stdenv fetchurl;
6259     inherit (xlibs) libX11 libXext;
6260   };
6262   aangifte2007 = import ../applications/taxes/aangifte-2007 {
6263     inherit stdenv fetchurl;
6264     inherit (xlibs) libX11 libXext libSM;
6265   };
6267   aangifte2008 = import ../applications/taxes/aangifte-2008 {
6268     inherit stdenv fetchurl;
6269     inherit (xlibs) libX11 libXext libSM;
6270   };
6272   abcde = import ../applications/audio/abcde {
6273     inherit fetchurl stdenv libcdio cddiscid wget bash vorbisTools
6274             makeWrapper;
6275   };
6277   abiword = import ../applications/office/abiword {
6278     inherit fetchurl stdenv pkgconfig fribidi libpng popt libgsf enchant wv;
6279     inherit (gtkLibs) gtk;
6280     inherit (gnome) libglade libgnomeprint libgnomeprintui libgnomecanvas;
6281   };
6283   adobeReader = import ../applications/misc/adobe-reader {
6284     inherit fetchurl stdenv zlib libxml2 cups;
6285     inherit (xlibs) libX11;
6286     inherit (gtkLibs) glib pango atk gtk;
6287   };
6289   amsn = import ../applications/networking/instant-messengers/amsn {
6290     inherit fetchurl stdenv which tcl tk x11;
6291     libstdcpp = gcc33.gcc;
6292   };
6294   ardour = import ../applications/audio/ardour {
6295     inherit fetchurl stdenv lib pkgconfig scons boost redland librdf_raptor
6296       librdf_rasqal jackaudio flac libsamplerate alsaLib libxml2 libxslt
6297       libsndfile libsigcxx libusb cairomm librdf liblo fftw fftwSinglePrec
6298       aubio libmad;
6299     inherit (gtkLibs) glib pango gtk glibmm gtkmm;
6300     inherit (gnome) libgnomecanvas;
6301   };
6303   audacious = import ../applications/audio/audacious/player.nix {
6304     inherit fetchurl stdenv pkgconfig libmowgli libmcs gettext xlibs dbus_glib;
6305     inherit (gnome) libglade;
6306     inherit (gtkLibs) glib gtk;
6307   };
6309   audacious_plugins = import ../applications/audio/audacious/plugins.nix {
6310     inherit fetchurl stdenv pkgconfig audacious dbus_glib gettext
6311       libmad xlibs alsaLib taglib libmpcdec libogg libvorbis
6312       libcdio libcddb libxml2;
6313   };
6315   audacity = import ../applications/audio/audacity {
6316     inherit fetchurl stdenv gettext pkgconfig zlib perl intltool libogg
6317       libvorbis libmad;
6318     inherit (gtkLibs) gtk glib;
6319     inherit wxGTK;
6320   };
6322   aumix = import ../applications/audio/aumix {
6323     inherit fetchurl stdenv ncurses pkgconfig gettext;
6324     inherit (gtkLibs) gtk;
6325     gtkGUI = false;
6326   };
6328   autopanosiftc = import ../applications/graphics/autopanosiftc {
6329     inherit fetchurl stdenv cmake libpng libtiff libjpeg panotools libxml2;
6330   };
6332   batik = import ../applications/graphics/batik {
6333     inherit fetchurl stdenv unzip;
6334   };
6336   bazaar = import ../applications/version-management/bazaar {
6337     inherit fetchurl stdenv makeWrapper;
6338     python = pythonFull;
6339   };
6341   bazaarTools = builderDefsPackage (import ../applications/version-management/bazaar/tools.nix) {
6342     inherit bazaar;
6343   };
6345   beast = import ../applications/audio/beast {
6346 # stdenv = overrideGCC stdenv gcc34;
6347     inherit stdenv fetchurl zlib guile pkgconfig intltool libogg libvorbis python libxml2 bash perl gettext;
6348     inherit (bleedingEdgeRepos) sourceByName;
6349     inherit (gtkLibs) gtk glib;
6350     inherit (gnome) libgnomecanvas libart_lgpl;
6351     inherit automake autoconf;
6352   };
6354   bitlbee = import ../applications/networking/instant-messengers/bitlbee {
6355     inherit fetchurl stdenv gnutls pkgconfig glib;
6356   };
6358   bitlbeeOtr = import ../applications/networking/instant-messengers/bitlbee-otr {
6359     inherit fetchbzr stdenv gnutls pkgconfig libotr libgcrypt
6360       libxslt xmlto docbook_xsl docbook_xml_dtd_42 perl glib;
6361   };
6363   # commented out because it's using the new configuration style proposal which is unstable
6364   #biew = import ../applications/misc/biew {
6365   #  inherit lib stdenv fetchurl ncurses;
6366   #};
6368   # only to be able to compile blender - I couldn't compile the default openal software
6369   # Perhaps this can be removed - don't know which one openal{,soft} is better
6370   freealut_soft = import ../development/libraries/freealut {
6371     inherit fetchurl stdenv;
6372     openal = openalSoft;
6373   };
6375   blender = import ../applications/misc/blender {
6376     inherit cmake mesa gettext freetype SDL libtiff fetchurl glibc scons x11 lib
6377       libjpeg libpng zlib /* smpeg sdl */ python;
6378     inherit (xlibs) inputproto libXi;
6379     freealut = freealut_soft;
6380     openal = openalSoft;
6381     openexr = openexr_1_4_0;
6382     # using gcc43 makes blender segfault when pressing p then esc.
6383     # is this related to the PHP bug? I'm to lazy to try recompilng it without optimizations
6384     stdenv = overrideGCC stdenv gcc42;
6385   };
6387   bmp = import ../applications/audio/bmp {
6388     inherit fetchurl stdenv pkgconfig libogg libvorbis alsaLib id3lib;
6389     inherit (gnome) esound libglade;
6390     inherit (gtkLibs) glib gtk;
6391   };
6393   bmp_plugin_musepack = import ../applications/audio/bmp-plugins/musepack {
6394     inherit fetchurl stdenv pkgconfig bmp libmpcdec taglib;
6395   };
6397   bmp_plugin_wma = import ../applications/audio/bmp-plugins/wma {
6398     inherit fetchurl stdenv pkgconfig bmp;
6399   };
6401   bvi = import ../applications/editors/bvi {
6402     inherit fetchurl stdenv ncurses;
6403   };
6405   carrier = builderDefsPackage (selectVersion ../applications/networking/instant-messengers/carrier "2.5.0") {
6406     inherit fetchurl stdenv pkgconfig perl perlXMLParser libxml2 openssl nss
6407       gtkspell aspell gettext ncurses avahi dbus dbus_glib python
6408       libtool automake autoconf;
6409     GStreamer = gst_all.gstreamer;
6410     inherit (gtkLibs) gtk glib;
6411     inherit (gnome) startupnotification GConf ;
6412     inherit (xlibs) libXScrnSaver scrnsaverproto libX11 xproto kbproto;
6413   };
6414   funpidgin = carrier;
6416   cddiscid = import ../applications/audio/cd-discid {
6417     inherit fetchurl stdenv;
6418   };
6420   cdparanoia = cdparanoiaIII;
6422   cdparanoiaIII = import ../applications/audio/cdparanoia {
6423     inherit fetchurl stdenv;
6424   };
6426   cdrtools = import ../applications/misc/cdrtools {
6427     inherit fetchurl stdenv;
6428   };
6430   chatzilla =
6431     xulrunnerWrapper {
6432       launcher = "chatzilla";
6433       application = import ../applications/networking/irc/chatzilla {
6434         inherit fetchurl stdenv unzip;
6435       };
6436     };
6438   chrome = import ../applications/networking/browsers/chromium {
6439     inherit stdenv fetchurl ffmpeg cairo nspr nss fontconfig freetype alsaLib makeWrapper unzip expat zlib; 
6440     inherit (xlibs) libX11 libXext libXrender libXt ;
6441     inherit (gtkLibs) gtk glib pango atk;
6442     inherit (gnome) GConf;
6443   };
6445   chromeWrapper = wrapFirefox chrome "chrome" "";
6448   cinelerra = import ../applications/video/cinelerra {
6449     inherit fetchurl stdenv
6450       automake autoconf libtool
6451       a52dec alsaLib   lame libavc1394 libiec61883 libraw1394 libsndfile
6452       libvorbis libogg libjpeg libtiff freetype mjpegtools x264
6453       gettext faad2 faac libtheora libpng libdv perl nasm e2fsprogs
6454       pkgconfig;
6455       openexr = openexr_1_6_1;
6456     fftw = fftwSinglePrec;
6457     inherit (xorg) libXxf86vm libXv;
6458     inherit (bleedingEdgeRepos) sourceByName;
6459     inherit (gnome) esound;
6460   };
6462   compizBase = (builderDefsPackage (import ../applications/window-managers/compiz/0.8.0.nix)) {
6463     inherit lib stringsWithDeps builderDefs;
6464     inherit fetchurl stdenv pkgconfig libpng mesa perl perlXMLParser libxslt gettext
6465       intltool binutils;
6466     inherit (xorg) libXcomposite libXfixes libXdamage libXrandr
6467       libXinerama libICE libSM libXrender xextproto compositeproto fixesproto
6468       damageproto randrproto xineramaproto renderproto kbproto xproto libX11
6469       libxcb;
6470     inherit (gnome) startupnotification libwnck GConf;
6471     inherit (gtkLibs) gtk;
6472     inherit (gnome) libgnome libgnomeui metacity
6473       glib pango libglade libgtkhtml gtkhtml
6474       libgnomecanvas libgnomeprint
6475       libgnomeprintui gnomepanel;
6476     gnomegtk = gnome.gtk;
6477     inherit librsvg fuse;
6478     inherit dbus dbus_glib;
6479   };
6481   compiz = compizBase.passthru.function (x : x // {
6482     extraConfigureFlags = getConfig ["compiz" "extraConfigureFlags"] [];
6483   });
6485   compizFusion = import ../applications/window-managers/compiz-fusion {
6486     version = getConfig ["compizFusion" "version"] "0.7.8";
6487     inherit compiz;
6488     inherit stringsWithDeps lib builderDefs;
6489     inherit fetchurl stdenv pkgconfig libpng mesa perl perlXMLParser libxslt libxml2;
6490     inherit (xorg) libXcomposite libXfixes libXdamage libXrandr
6491       libXinerama libICE libSM libXrender xextproto;
6492     inherit (gnome) startupnotification libwnck GConf;
6493     inherit (gtkLibs) gtk;
6494     inherit (gnome) libgnome libgnomeui metacity
6495       glib pango libglade libgtkhtml gtkhtml
6496       libgnomecanvas libgnomeprint
6497       libgnomeprintui gnomepanel gnomedesktop;
6498     gnomegtk = gnome.gtk;
6499     inherit librsvg fuse dbus dbus_glib git;
6500     inherit automake autoconf libtool intltool python pyrex gettext;
6501     inherit pygtk pycairo getopt libjpeg glxinfo;
6502     inherit (xorg) xvinfo xdpyinfo;
6503   };
6505   compizExtra = import ../applications/window-managers/compiz/extra.nix {
6506     inherit fetchurl stdenv pkgconfig compiz perl perlXMLParser dbus;
6507     inherit (gnome) GConf;
6508     inherit (gtkLibs) gtk;
6509   };
6511   cinepaint = import ../applications/graphics/cinepaint {
6512     inherit stdenv fetchcvs cmake pkgconfig freetype fontconfig lcms flex libtiff
6513       libjpeg libpng libexif zlib perl mesa perlXMLParser python pygtk gettext
6514       intltool babl gegl automake autoconf libtool;
6515     inherit (xlibs) makedepend libX11 xf86vidmodeproto xineramaproto libXmu
6516       libXext libXpm libXxf86vm;
6517     inherit (gtkLibs) gtk glib;
6518     openexr = openexr_1_6_1;
6519     fltk = fltk11;
6520   };
6522   codeville = builderDefsPackage (selectVersion ../applications/version-management/codeville "0.8.0") {
6523     inherit makeWrapper;
6524     python = pythonFull;
6525   };
6527   comical = import ../applications/graphics/comical {
6528     inherit stdenv fetchurl utillinux zlib;
6529     wxGTK = wxGTK26;
6530   };
6532   cuneiform = builderDefsPackage (import ../tools/graphics/cuneiform) {
6533     inherit cmake patchelf;
6534     imagemagick=imagemagick;
6535   };
6537   cvs = import ../applications/version-management/cvs {
6538     inherit fetchurl stdenv nano;
6539   };
6541   cvsps = import ../applications/version-management/cvsps {
6542     inherit fetchurl stdenv cvs zlib;
6543   };
6545   cvs2svn = import ../applications/version-management/cvs2svn {
6546     inherit fetchurl stdenv python makeWrapper;
6547   };
6549   d4x = import ../applications/misc/d4x {
6550     inherit fetchurl stdenv pkgconfig openssl boost;
6551     inherit (gtkLibs) gtk glib;
6552   };
6554   darcs = haskellPackages.darcs;
6556   dia = import ../applications/graphics/dia {
6557     inherit stdenv fetchurl pkgconfig perl perlXMLParser
6558       libxml2 gettext python libxml2Python docbook5 docbook_xsl
6559       libxslt;
6560     inherit (gtkLibs) gtk glib;
6561   };
6563   djvulibre = import ../applications/misc/djvulibre {
6564     inherit stdenv fetchurl libjpeg libtiff libungif zlib
6565       ghostscript libpng x11 mesa;
6566     qt = if (getConfig ["djvulibre" "qt3Frontend"] true) then qt3 else null;
6567     inherit (xlibs) libX11;
6568   };
6570   djview4 = import ../applications/graphics/djview {
6571     inherit fetchurl stdenv qt4 djvulibre;
6572   };
6574   dmenu = import ../applications/misc/dmenu {
6575     inherit lib fetchurl stdenv;
6576     inherit (xlibs) libX11 libXinerama;
6577   };
6579   dmtx = builderDefsPackage (import ../tools/graphics/dmtx) {
6580     inherit libpng libtiff libjpeg imagemagick librsvg
6581       pkgconfig bzip2 zlib libtool;
6582     inherit (xlibs) libX11;
6583   };
6585   dvdauthor = import ../applications/video/dvdauthor {
6586     inherit fetchurl stdenv freetype libpng fribidi libxml2 libdvdread imagemagick;
6587   };
6589   dwm = import ../applications/window-managers/dwm {
6590     inherit fetchurl stdenv;
6591     inherit (xlibs) libX11 libXinerama;
6592   };
6594   eaglemode = import ../applications/misc/eaglemode {
6595     inherit fetchurl stdenv perl xineLib libjpeg libpng libtiff;
6596     inherit (xlibs) libX11;
6597   };
6599   eclipseRunner = import ../applications/editors/eclipse/runner.nix {
6600     inherit stdenv lib jre;
6601     inherit (gtkLibs) gtk glib;
6602     inherit (xlibs) libXtst;
6603   };
6605   eclipseNewer = import ../applications/editors/eclipse-classic {
6606     inherit stdenv fetchurl patchelf makeDesktopItem freetype fontconfig jre;
6607     inherit (gtkLibs) glib gtk;
6608     inherit (xlibs) libX11 libXext libXrender libXtst;
6609   };
6611   /* commenting out eclipse - Have a look at eclipseRunner - Marc Weber
6613     Reason: You can get Eclipse in many prepacked variations on eclipse.org
6614     No need to duplicate efforts.
6615     To make Equinox p2 work you have to create a local copy of Eclipse anyway (AFAIK).
6616     Maybe there is a solution. I don't have time to investigate. I want to prevent
6617     people from using old crappy Eclipse versions.
6619   # put something like this into your ~/.nixpkgs/config.nix file
6620   #eclipse = {
6621   # plugins = {eclipse, version, plugins } : let p = plugins; in
6622   #   [  p.pdt # PHP developement
6623   #      p.viPlugin # vim keybindings (see license)
6624   #   ];
6625   #};
6626   eclipseNew = (selectVersion ../applications/editors/eclipse-new "3.3.1.1" {
6627     # outdated, but 3.3.1.1 does already compile on nix, feel free to work 3.4
6628     inherit fetchurl stdenv makeWrapper jdk unzip ant selectVersion buildEnv
6629     getConfig lib zip writeTextFile runCommand;
6630     inherit (gtkLibs) gtk glib;
6631     inherit (xlibs) libXtst;
6632   });
6635   eclipse = plugins:
6636     import ../applications/editors/eclipse {
6637       inherit fetchurl stdenv jdk;
6638       inherit (gtkLibs) gtk glib;
6639       inherit (xlibs) libXtst;
6640       inherit plugins makeOverridable unzip;
6641     };
6643   eclipsesdk = eclipse [];
6645 #   eclipseSpoofax = lowPrio (appendToName "with-spoofax" (eclipse [eclipsePlugins.spoofax]));
6646 #   eclipseCDT = import ../applications/editors/eclipse/eclipse-cdt.nix {
6647 #     inherit fetchurl stdenv eclipse;
6648 #   };
6649 #   # quinox p2 installer
6650 #   eclipseMinimal = import ../applications/editors/eclipse/eclipse-p2-installer.nix {
6651 #     inherit fetchurl stdenv eclipse;
6652 #   };
6654 #   eclipsePlugins = import ../applications/editors/eclipse/plugins.nix {
6655 #     inherit fetchurl stdenv;
6656 #   };
6657   */
6659   ed = import ../applications/editors/ed {
6660     inherit fetchurl stdenv;
6661   };
6663   elinks = import ../applications/networking/browsers/elinks {
6664     inherit stdenv fetchurl python perl ncurses x11 zlib openssl spidermonkey
6665       guile bzip2;
6666   };
6668   elvis = import ../applications/editors/elvis {
6669     inherit fetchurl stdenv ncurses;
6670   };
6672   emacs = emacs22;
6674   emacs21 = import ../applications/editors/emacs-21 {
6675     inherit fetchurl stdenv ncurses x11 Xaw3d;
6676     inherit (xlibs) libXaw libXpm;
6677     xaw3dSupport = true;
6678   };
6680   emacs22 = import ../applications/editors/emacs-22 {
6681     inherit fetchurl stdenv ncurses pkgconfig x11 Xaw3d;
6682     inherit (xlibs) libXaw libXpm;
6683     inherit (gtkLibs) gtk;
6684     xaw3dSupport = getPkgConfig "emacs" "xaw3dSupport" false;
6685     gtkGUI = getPkgConfig "emacs" "gtkSupport" true;
6686   };
6688   emacs23 = import ../applications/editors/emacs-23 {
6689     inherit fetchurl stdenv ncurses pkgconfig x11 Xaw3d
6690       libpng libjpeg libungif libtiff texinfo dbus;
6691     inherit (xlibs) libXaw libXpm libXft;
6692     inherit (gtkLibs) gtk;
6693     xawSupport = system == "i686-darwin" || getPkgConfig "emacs" "xawSupport" false;
6694     xaw3dSupport = getPkgConfig "emacs" "xaw3dSupport" false;
6695     gtkGUI = getPkgConfig "emacs" "gtkSupport" true;
6696     xftSupport = getPkgConfig "emacs" "xftSupport" true;
6697     dbusSupport = getPkgConfig "emacs" "dbusSupport" true;
6698   };
6700   emacsSnapshot = lowPrio (import ../applications/editors/emacs-snapshot {
6701     inherit fetchcvs stdenv ncurses pkgconfig x11 Xaw3d
6702       libpng libjpeg libungif libtiff texinfo dbus
6703       autoconf automake;
6704     inherit (xlibs) libXaw libXpm libXft;
6705     inherit (gtkLibs) gtk;
6706     xawSupport = getPkgConfig "emacs" "xawSupport" false;
6707     xaw3dSupport = getPkgConfig "emacs" "xaw3dSupport" false;
6708     gtkGUI = getPkgConfig "emacs" "gtkSupport" true;
6709     xftSupport = getPkgConfig "emacs" "xftSupport" true;
6710     dbusSupport = getPkgConfig "emacs" "dbusSupport" true;
6711   });
6713   emacsPackages = emacs: recurseIntoAttrs (rec {
6714     bbdb = import ../applications/editors/emacs-modes/bbdb {
6715       inherit fetchurl stdenv emacs texinfo ctags;
6716     };
6718     cedet = import ../applications/editors/emacs-modes/cedet {
6719       inherit fetchurl stdenv emacs;
6720     };
6722     cua = import ../applications/editors/emacs-modes/cua {
6723       inherit fetchurl stdenv;
6724     };
6726     ecb = import ../applications/editors/emacs-modes/ecb {
6727       inherit fetchurl stdenv emacs cedet jdee texinfo;
6728     };
6730     emacsSessionManagement = import ../applications/editors/emacs-modes/session-management-for-emacs {
6731       inherit fetchurl stdenv emacs;
6732     };
6734     emacsw3m = import ../applications/editors/emacs-modes/emacs-w3m {
6735       inherit fetchcvs stdenv emacs w3m imagemagick texinfo autoconf;
6736     };
6738     emms = import ../applications/editors/emacs-modes/emms {
6739       inherit fetchurl stdenv emacs texinfo mpg321 vorbisTools taglib
6740         alsaUtils;
6741     };
6743     jdee = import ../applications/editors/emacs-modes/jdee {
6744       # Requires Emacs 23, for `avl-tree'.
6745       inherit fetchsvn stdenv cedet ant emacs;
6746     };
6748     stratego = import ../applications/editors/emacs-modes/stratego {
6749       inherit fetchsvn stdenv;
6750     };
6752     haskellMode = import ../applications/editors/emacs-modes/haskell {
6753       inherit fetchurl stdenv emacs;
6754     };
6756     magit = import ../applications/editors/emacs-modes/magit {
6757       inherit fetchurl stdenv emacs texinfo;
6758     };
6760     maudeMode = import ../applications/editors/emacs-modes/maude {
6761       inherit fetchurl stdenv emacs;
6762     };
6764     nxml = import ../applications/editors/emacs-modes/nxml {
6765       inherit fetchurl stdenv;
6766     };
6768     quack = import ../applications/editors/emacs-modes/quack {
6769       inherit fetchurl stdenv emacs;
6770     };
6772     remember = import ../applications/editors/emacs-modes/remember {
6773       inherit fetchurl stdenv texinfo emacs bbdb;
6774     };
6776     scalaMode = import ../applications/editors/emacs-modes/scala-mode {
6777       inherit fetchsvn stdenv emacs;
6778     };
6779   });
6781   emacs22Packages = emacsPackages emacs22;
6782   emacs23Packages = emacsPackages emacs23;
6784   # The forthcoming GNU Emacs 23 used to be referred to as `emacsUnicode' here.
6785   emacsUnicode = emacs23;
6787   evince = makeOverridable (import ../applications/misc/evince) {
6788     inherit fetchurl stdenv perl perlXMLParser gettext intltool
6789       pkgconfig poppler libspectre djvulibre libxslt
6790       dbus dbus_glib shared_mime_info which makeWrapper;
6791     inherit (gnome) gnomedocutils gnomeicontheme libgnome
6792       libgnomeui libglade glib gtk scrollkeeper gnome_keyring;
6793   };
6795   exrdisplay = import ../applications/graphics/exrdisplay {
6796     inherit fetchurl stdenv pkgconfig mesa which openexr_ctl;
6797     fltk = fltk20;
6798     openexr = openexr_1_6_1;
6799   };
6801   fbpanel = composedArgsAndFun (selectVersion ../applications/window-managers/fbpanel "4.12") {
6802     inherit fetchurl stdenv builderDefs pkgconfig libpng libjpeg libtiff librsvg;
6803     inherit (gtkLibs) gtk;
6804     inherit (xlibs) libX11 libXmu libXpm;
6805   };
6807   fetchmail = import ../applications/misc/fetchmail {
6808     inherit stdenv fetchurl openssl;
6809   };
6811   grip = import ../applications/misc/grip {
6812     inherit fetchurl stdenv lib grip pkgconfig curl cdparanoia libid3tag;
6813     inherit (gtkLibs) gtk glib;
6814     inherit (gnome) libgnome libgnomeui vte;
6815   };
6817   gwenview = import ../applications/graphics/gwenview {
6818     inherit stdenv fetchurl exiv2 zlib libjpeg perl libpng expat qt3;
6819     inherit (kde3) kdelibs;
6820     inherit (xlibs) libXt libXext;
6821   };
6823   wavesurfer = import ../applications/misc/audio/wavesurfer {
6824     inherit fetchurl stdenv tcl tk snack makeWrapper;
6825   };
6827   wireshark = import ../applications/networking/sniffers/wireshark {
6828     inherit fetchurl stdenv perl pkgconfig libpcap flex bison;
6829     inherit (gtkLibs) gtk;
6830   };
6832   fbida = builderDefsPackage ../applications/graphics/fbida {
6833     inherit libjpeg libexif giflib libtiff libpng
6834       imagemagick ghostscript which curl pkgconfig
6835       freetype fontconfig;
6836   };
6838   fdupes = import ../tools/misc/fdupes {
6839     inherit fetchurl stdenv;
6840   };
6842   feh = import ../applications/graphics/feh {
6843     inherit fetchurl stdenv x11 imlib2 libjpeg libpng giblib;
6844   };
6846   firefox = firefox35;
6848   firefoxWrapper = firefox35Wrapper;
6850   firefox2 = lowPrio (import ../applications/networking/browsers/firefox/2.0.nix {
6851     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo;
6852     inherit (gtkLibs) gtk;
6853     inherit (gnome) libIDL;
6854     inherit (xlibs) libXi;
6855   });
6857   firefox2Wrapper = wrapFirefox firefox2 "firefox" "";
6859   firefox3Pkgs = lowPrio (import ../applications/networking/browsers/firefox/3.0.nix {
6860     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo
6861       python dbus dbus_glib freetype fontconfig bzip2 xlibs file;
6862     inherit (gtkLibs) gtk pango;
6863     inherit (gnome) libIDL;
6864   });
6866   firefox3 = firefox3Pkgs.firefox;
6867   xulrunner3 = firefox3Pkgs.xulrunner;
6868   firefox3Wrapper = wrapFirefox firefox3 "firefox" "";
6870   firefox35Pkgs = lowPrio (import ../applications/networking/browsers/firefox/3.5.nix {
6871     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo
6872       python dbus dbus_glib freetype fontconfig bzip2 xlibs file alsaLib
6873       nspr nss;
6874     inherit (gtkLibs) gtk pango;
6875     inherit (gnome) libIDL;
6876   });
6878   firefox35 = firefox35Pkgs.firefox;
6879   xulrunner35 = firefox35Pkgs.xulrunner;
6880   firefox35Wrapper = wrapFirefox firefox35 "firefox" "";
6882   flac = import ../applications/audio/flac {
6883     inherit fetchurl stdenv libogg;
6884   };
6886   flashplayer = flashplayer10;
6888   flashplayer9 = (
6889     import ../applications/networking/browsers/mozilla-plugins/flashplayer-9 {
6890       inherit fetchurl stdenv zlib alsaLib nss nspr fontconfig freetype expat;
6891       inherit (xlibs) libX11 libXext libXrender libXt ;
6892       inherit (gtkLibs) gtk glib pango atk;
6893     });
6895   flashplayer10 = (
6896     import ../applications/networking/browsers/mozilla-plugins/flashplayer-10 {
6897       inherit fetchurl stdenv zlib alsaLib curl nss nspr fontconfig freetype expat;
6898       inherit (xlibs) libX11 libXext libXrender libXt ;
6899       inherit (gtkLibs) gtk glib pango atk;
6900     });
6902   flite = import ../applications/misc/flite {
6903     inherit fetchurl stdenv;
6904   };
6906   freemind = import ../applications/misc/freemind {
6907     inherit fetchurl stdenv ant coreutils gnugrep;
6908     jdk = jdk;
6909     jre = jdk;
6910   };
6912   freepv = import ../applications/graphics/freepv {
6913     inherit fetchurl stdenv mesa freeglut libjpeg zlib cmake libxml2 libpng;
6914     inherit (xlibs) libX11 libXxf86vm;
6915   };
6917   fspot = import ../applications/graphics/f-spot {
6918     inherit fetchurl stdenv perl perlXMLParser pkgconfig mono
6919             libexif libjpeg sqlite lcms libgphoto2 monoDLLFixer;
6920     inherit (gnome) libgnome libgnomeui;
6921     gtksharp = gtksharp1;
6922   };
6924   gimp = import ../applications/graphics/gimp {
6925     inherit fetchurl stdenv pkgconfig freetype fontconfig
6926       libtiff libjpeg libpng libexif zlib perl perlXMLParser
6927       python pygtk gettext xlibs intltool babl gegl;
6928     inherit (gnome) gtk libart_lgpl;
6929   };
6930   
6931   gimpPlugins = import ../applications/graphics/gimp/plugins { inherit pkgs gimp; };
6933   gitAndTools = recurseIntoAttrs (import ../applications/version-management/git-and-tools {
6934     inherit pkgs;
6935   });
6936   git = gitAndTools.git;
6938   gnucash = import ../applications/office/gnucash {
6939     inherit fetchurl stdenv pkgconfig libxml2 goffice enchant
6940       gettext intltool perl guile slibGuile swig isocodes bzip2 makeWrapper;
6941     inherit (gnome) gtk glib libglade libgnomeui libgtkhtml gtkhtml
6942       libgnomeprint;
6943     gconf = gnome.GConf;
6944   };
6946   qcad = import ../applications/misc/qcad {
6947     inherit fetchurl stdenv qt3 libpng;
6948     inherit (xlibs) libXext libX11;
6949   };
6951   qjackctl = import ../applications/audio/qjackctl {
6952     inherit fetchurl stdenv alsaLib jackaudio;
6953     qt4 = qt4;
6954   };
6956   gkrellm = import ../applications/misc/gkrellm {
6957     inherit fetchurl stdenv gettext pkgconfig;
6958     inherit (gtkLibs) glib gtk;
6959     inherit (xlibs) libX11 libICE libSM;
6960   };
6962   gnash = import ../applications/video/gnash {
6963     inherit fetchurl stdenv SDL SDL_mixer libogg libxml2 libjpeg mesa libpng
6964             boost freetype agg dbus curl pkgconfig x11 libtool lib libungif
6965             gettext makeWrapper ming dejagnu python;
6966     inherit (gtkLibs) glib gtk;
6967     inherit (gst_all) gstreamer gstPluginsBase gstFfmpeg;
6968   };
6970   gnome_mplayer = import ../applications/video/gnome-mplayer {
6971     inherit fetchurl stdenv pkgconfig dbus dbus_glib;
6972     inherit (gtkLibs) glib gtk;
6973     inherit (gnome) GConf;
6974   };
6976   gnunet = import ../applications/networking/p2p/gnunet {
6977     inherit fetchurl stdenv libextractor libmicrohttpd libgcrypt
6978       gmp curl libtool guile adns sqlite gettext zlib pkgconfig
6979       libxml2 ncurses findutils makeWrapper;
6980     inherit (gnome) gtk libglade;
6981     gtkSupport = getConfig [ "gnunet" "gtkSupport" ] true;
6982   };
6984   gocr = composedArgsAndFun (selectVersion ../applications/graphics/gocr "0.44") {
6985     inherit builderDefs fetchurl stdenv;
6986   };
6988   gphoto2 = import ../applications/misc/gphoto2 {
6989     inherit fetchurl stdenv pkgconfig libgphoto2 libexif popt gettext
6990       libjpeg readline libtool;
6991   };
6993   gphoto2fs = builderDefsPackage ../applications/misc/gphoto2/gphotofs.nix {
6994     inherit libgphoto2 fuse pkgconfig glib;
6995   };
6997   gtkpod = import ../applications/audio/gtkpod {
6998     inherit stdenv fetchurl pkgconfig libgpod gettext perl perlXMLParser flex libid3tag libvorbis;
6999     inherit (gtkLibs) gtk glib;
7000     inherit (gnome) libglade;
7001   };
7003   qrdecode = builderDefsPackage (import ../tools/graphics/qrdecode) {
7004     inherit libpng libcv;
7005   };
7007   qrencode = builderDefsPackage (import ../tools/graphics/qrencode) {
7008     inherit libpng pkgconfig;
7009   };
7011   gecko_mediaplayer = import ../applications/networking/browsers/mozilla-plugins/gecko-mediaplayer {
7012     inherit fetchurl stdenv pkgconfig dbus dbus_glib x11 gnome_mplayer MPlayer glib;
7013     inherit (gnome) GConf;
7014     browser = firefox35;
7015   };
7017   gqview = import ../applications/graphics/gqview {
7018     inherit fetchurl stdenv pkgconfig libpng;
7019     inherit (gtkLibs) gtk;
7020   };
7022   googleearth = import ../applications/misc/googleearth {
7023       inherit stdenv fetchurl glibc mesa freetype zlib glib;
7024       inherit (xlibs) libSM libICE libXi libXv libXrender libXrandr libXfixes
7025         libXcursor libXinerama libXext libX11;
7026       inherit patchelf05;
7027     };
7029   gpsbabel = import ../applications/misc/gpsbabel {
7030     inherit fetchurl stdenv zlib expat;
7031   };
7033   gpscorrelate = import ../applications/misc/gpscorrelate {
7034     inherit fetchurl stdenv pkgconfig exiv2 libxml2
7035       libxslt docbook_xsl docbook_xml_dtd_42;
7036     inherit (gtkLibs) gtk;
7037   };
7039   gpsd = import ../servers/gpsd {
7040     inherit fetchurl stdenv pkgconfig dbus dbus_glib
7041       ncurses makeWrapper libxslt xmlto;
7042     inherit (xlibs) libX11 libXt libXpm libXaw libXext;
7044     # We need a Python with NCurses bindings.
7045     python = pythonFull;
7046   };
7048   gv = import ../applications/misc/gv {
7049     inherit fetchurl stdenv Xaw3d ghostscriptX;
7050   };
7052   hello = makeOverridable (import ../applications/misc/hello/ex-2) {
7053     inherit fetchurl stdenv;
7054   };
7056   hugin = import ../applications/graphics/hugin {
7057     inherit stdenv fetchurl cmake panotools libtiff libpng boost pkgconfig
7058       exiv2 gettext ilmbase enblendenfuse autopanosiftc;
7059     inherit wxGTK;
7060     openexr = openexr_1_6_1;
7061   };
7063   i810switch = import ../applications/misc/i810 {
7064     inherit fetchurl stdenv pciutils;
7065   };
7067   icecat3 = lowPrio (import ../applications/networking/browsers/icecat-3 {
7068     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo
7069       python dbus dbus_glib freetype fontconfig bzip2 xlibs alsaLib;
7070     inherit (gnome) libIDL libgnomeui gnomevfs gtk pango;
7071     inherit (pythonPackages) ply;
7072   });
7074   icecatXulrunner3 = lowPrio (import ../applications/networking/browsers/icecat-3 {
7075     application = "xulrunner";
7076     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo
7077       python dbus dbus_glib freetype fontconfig bzip2 xlibs alsaLib;
7078     inherit (gnome) libIDL libgnomeui gnomevfs gtk pango;
7079     inherit (pythonPackages) ply;
7080   });
7082   icecat3Xul =
7083     (symlinkJoin "icecat-with-xulrunner-${icecat3.version}"
7084        [ icecat3 icecatXulrunner3 ])
7085     // { inherit (icecat3) gtk isFirefox3Like meta; };
7087   icecatWrapper = wrapFirefox icecat3Xul "icecat" "";
7089   icewm = import ../applications/window-managers/icewm {
7090     inherit fetchurl stdenv gettext libjpeg libtiff libungif libpng imlib;
7091     inherit (xlibs) libX11 libXft libXext libXinerama libXrandr;
7092   };
7094   ikiwiki = makeOverridable (import ../applications/misc/ikiwiki) {
7095     inherit fetchurl stdenv perl gettext makeWrapper lib;
7096     inherit (perlPackages) TextMarkdown URI HTMLParser HTMLScrubber
7097       HTMLTemplate TimeDate CGISession DBFile CGIFormBuilder;
7098     inherit git; # The RCS should be optional
7099     monotone = null;
7100     extraUtils = [];
7101   };
7103   imagemagick = import ../applications/graphics/ImageMagick {
7104     inherit stdenv fetchurl bzip2 freetype graphviz ghostscript
7105       libjpeg libpng libtiff libxml2 zlib libtool;
7106     inherit (xlibs) libX11;
7107   };
7109   imagemagickBig = import ../applications/graphics/ImageMagick {
7110     inherit stdenv fetchurl bzip2 freetype graphviz ghostscript
7111       libjpeg libpng libtiff libxml2 zlib tetex librsvg libtool;
7112     inherit (xlibs) libX11;
7113   };
7115   # Impressive, formerly known as "KeyJNote".
7116   impressive = import ../applications/office/impressive {
7117     inherit fetchurl stdenv xpdf pil pyopengl pygame makeWrapper lib python;
7119     # XXX These are the PyOpenGL dependencies, which we need here.
7120     inherit setuptools mesa freeglut;
7121   };
7123   inkscape = import ../applications/graphics/inkscape {
7124     inherit fetchurl stdenv perl perlXMLParser pkgconfig zlib
7125       popt libxml2 libxslt libpng boehmgc fontconfig
7126       libsigcxx lcms boost gettext cairomm
7127       python pyxml makeWrapper;
7128     inherit (pythonPackages) lxml;
7129     inherit (gtkLibs) gtk glib glibmm gtkmm;
7130     inherit (xlibs) libXft;
7131   };
7133   ion3 = import ../applications/window-managers/ion-3 {
7134     inherit fetchurl stdenv x11 gettext groff;
7135     lua = lua5;
7136   };
7138   iptraf = import ../applications/networking/iptraf {
7139     inherit fetchurl stdenv ncurses;
7140   };
7142   irssi = import ../applications/networking/irc/irssi {
7143     inherit stdenv fetchurl pkgconfig ncurses openssl glib;
7144   };
7146   jackmeter = import ../applications/audio/jackmeter {
7147     inherit fetchurl stdenv lib jackaudio pkgconfig;
7148   };
7150   jedit = import ../applications/editors/jedit {
7151     inherit fetchurl stdenv ant;
7152   };
7154   jigdo = import ../applications/misc/jigdo {
7155     inherit fetchurl stdenv db45 libwpd bzip2;
7156     inherit (gtkLibs) gtk;
7157   };
7159   joe = import ../applications/editors/joe {
7160     inherit stdenv fetchurl;
7161   };
7163   jwm = import ../applications/window-managers/jwm {
7164     inherit fetchurl stdenv;
7165     inherit (xlibs) libX11 libXext libXinerama libXpm libXft;
7166   };
7168   k3b = import ../applications/misc/k3b {
7169     inherit stdenv fetchurl kdelibs x11 zlib libpng libjpeg perl qt3;
7170   };
7172   kbasket = import ../applications/misc/kbasket {
7173     inherit stdenv fetchurl kdelibs x11 zlib libpng libjpeg
7174       perl qt3 gpgme libgpgerror;
7175   };
7177   kermit = import ../tools/misc/kermit {
7178     inherit fetchurl stdenv ncurses;
7179   };
7181   kino = import ../applications/video/kino {
7182     inherit fetchurl stdenv pkgconfig libxml2 perl perlXMLParser
7183       libdv libraw1394 libavc1394 libiec61883 x11 gettext cairo; /* libavformat */
7184     inherit libsamplerate ffmpeg;
7185     inherit (gnome) libglade gtk glib;
7186     inherit (xlibs) libXv libX11;
7187     inherit (gtkLibs) pango;
7188     # #  optional
7189     #  inherit ffmpeg2theora sox, vorbis-tools lame mjpegtools dvdauthor 'Q'dvdauthor growisofs mencoder;
7190   };
7192   kile = import ../applications/editors/kile {
7193     inherit stdenv fetchurl perl arts kdelibs zlib libpng libjpeg freetype expat;
7194     inherit (xlibs) libX11 libXt libXext libXrender libXft;
7195     qt = qt3;
7196   };
7198   /*kiwixBuilderFun = lib.sumArgs (import ../applications/misc/kiwixbuilder) {
7199     inherit builderDefs;
7200     inherit (gnome) glib;
7201     zlib = zlibStatic;
7202   };
7204   kiwixBuilder = kiwixBuilderFun null;*/
7206   konversation = import ../applications/networking/irc/konversation {
7207     inherit fetchurl stdenv perl arts kdelibs zlib libpng libjpeg expat;
7208     inherit (xlibs) libX11 libXt libXext libXrender libXft;
7209     qt = qt3;
7210   };
7212   kphone = import ../applications/networking/kphone {
7213     inherit fetchurl lib autoconf automake libtool pkgconfig openssl libpng alsaLib;
7214     qt = qt3;
7215     inherit (xlibs) libX11 libXext libXt libICE libSM;
7216     stdenv = overrideGCC stdenv gcc42; # I'm to lazy to clean up header files
7217   };
7219   kuickshow = import ../applications/graphics/kuickshow {
7220     inherit fetchurl stdenv kdelibs arts libpng libjpeg libtiff libungif imlib expat perl;
7221     inherit (xlibs) libX11 libXext libSM;
7222     qt = qt3;
7223   };
7225   lame = import ../applications/audio/lame {
7226     inherit fetchurl stdenv;
7227   };
7229   ladspaH = import ../applications/audio/ladspa-plugins/ladspah.nix {
7230     inherit fetchurl stdenv builderDefs stringsWithDeps;
7231   };
7233   ladspaPlugins = import ../applications/audio/ladspa-plugins {
7234     inherit fetchurl stdenv builderDefs stringsWithDeps fftw ladspaH pkgconfig;
7235   };
7237   ldcpp = composedArgsAndFun (import ../applications/networking/p2p/ldcpp/1.0.3.nix) {
7238     inherit builderDefs scons pkgconfig bzip2 openssl;
7239     inherit (gtkLibs) gtk;
7240     inherit (gnome) libglade;
7241     inherit (xlibs) libX11;
7242   };
7244   links = import ../applications/networking/browsers/links {
7245     inherit fetchurl stdenv;
7246   };
7248   ledger = import ../applications/office/ledger {
7249     inherit stdenv fetchurl emacs gmp pcre;
7250   };
7252   links2 = (builderDefsPackage ../applications/networking/browsers/links2) {
7253     inherit fetchurl stdenv bzip2 zlib libjpeg libpng libtiff
7254       gpm openssl SDL SDL_image SDL_net pkgconfig;
7255     inherit (xlibs) libX11 libXau xproto libXt;
7256   };
7258   lynx = import ../applications/networking/browsers/lynx {
7259     inherit fetchurl stdenv ncurses openssl;
7260   };
7262   lyx = import ../applications/misc/lyx {
7263    inherit fetchurl stdenv texLive python;
7264    qt = qt4;
7265   };
7267   mercurial = import ../applications/version-management/mercurial {
7268     inherit fetchurl stdenv python makeWrapper getConfig tk;
7269     guiSupport = getConfig ["mercurial" "guiSupport"] false; # for hgk (gitk gui for hg)
7270   };
7272   meshlab = import ../applications/graphics/meshlab {
7273     inherit fetchurl stdenv bzip2;
7274     qt = qt4;
7275   };
7277   midori = builderDefsPackage (import ../applications/networking/browsers/midori) {
7278     inherit imagemagick intltool python pkgconfig webkit libxml2
7279       which gettext makeWrapper file libidn sqlite docutils libnotify;
7280     inherit (gtkLibs) gtk glib;
7281     inherit (gnome28) gtksourceview libsoup;
7282   };
7284   minicom = builderDefsPackage (selectVersion ../tools/misc/minicom "2.3") {
7285     inherit ncurses;
7286   };
7288   monodevelop = import ../applications/editors/monodevelop {
7289     inherit fetchurl stdenv file mono gtksourceviewsharp
7290             gtkmozembedsharp monodoc perl perlXMLParser pkgconfig;
7291     inherit (gnome) gnomevfs libbonobo libglade libgnome GConf glib gtk;
7292     mozilla = firefox;
7293     gtksharp = gtksharp2;
7294   };
7296   monodoc = import ../applications/editors/monodoc {
7297     inherit fetchurl stdenv mono pkgconfig;
7298     gtksharp = gtksharp1;
7299   };
7301   mozilla = import ../applications/networking/browsers/mozilla {
7302     inherit fetchurl pkgconfig stdenv perl zip;
7303     inherit (gtkLibs) gtk;
7304     inherit (gnome) libIDL;
7305     inherit (xlibs) libXi;
7306   };
7308   mozplugger = builderDefsPackage (import ../applications/networking/browsers/mozilla-plugins/mozplugger) {
7309     inherit firefox;
7310     inherit (xlibs) libX11 xproto;
7311   };
7313   mpg321 = import ../applications/audio/mpg321 {
7314     inherit stdenv fetchurl libao libmad libid3tag zlib;
7315   };
7317   MPlayer = import ../applications/video/MPlayer {
7318     inherit fetchurl stdenv freetype x11 zlib libtheora libcaca freefont_ttf libdvdnav
7319       cdparanoia mesa pkgconfig unzip amrnb amrwb;
7320     inherit (xlibs) libX11 libXv libXinerama libXrandr;
7321     alsaSupport = true;
7322     alsa = alsaLib;
7323     theoraSupport = true;
7324     cacaSupport = true;
7325     xineramaSupport = true;
7326     randrSupport = true;
7327     cddaSupport = true;
7328     amrSupport = getConfig [ "MPlayer" "amr" ] false;
7329   };
7331   MPlayerPlugin = browser:
7332     import ../applications/networking/browsers/mozilla-plugins/mplayerplug-in {
7333       inherit browser;
7334       inherit fetchurl stdenv pkgconfig gettext;
7335       inherit (xlibs) libXpm;
7336       # !!! should depend on MPlayer
7337     };
7339   MPlayerTrunk = import ../applications/video/MPlayer/trunk.nix {
7340     inherit (bleedingEdgeRepos) sourceByName;
7341     inherit fetchurl stdenv freetype x11 zlib libtheora libcaca freefont_ttf libdvdnav
7342       cdparanoia mesa pkgconfig jackaudio;
7343     inherit (xlibs) libX11 libXv libXinerama libXrandr;
7344     alsaSupport = true;
7345     alsa = alsaLib;
7346     theoraSupport = true;
7347     cacaSupport = true;
7348     xineramaSupport = true;
7349     randrSupport = true;
7350     cddaSupport = true;
7351   };
7353   mrxvt = import ../applications/misc/mrxvt {
7354     inherit lib fetchurl stdenv freetype pkgconfig which;
7355     inherit (xlibs) libXaw xproto libXt libX11 libSM libICE libXft
7356       libXi inputproto;
7357   };
7359   multisync = import ../applications/misc/multisync {
7360     inherit fetchurl stdenv autoconf automake libtool pkgconfig;
7361     inherit (gnome) gtk glib ORBit2 libbonobo libgnomeui GConf;
7362   };
7364   mutt = import ../applications/networking/mailreaders/mutt {
7365     inherit fetchurl stdenv ncurses which openssl gdbm;
7366   };
7368   msmtp = import ../applications/networking/msmtp {
7369     inherit fetchurl stdenv;
7370   };
7372   mythtv = import ../applications/video/mythtv {
7373     inherit fetchurl stdenv which x11 xlibs lame zlib mesa freetype perl alsaLib;
7374     qt3 = qt3mysql;
7375   };
7377   nano = import ../applications/editors/nano {
7378     inherit fetchurl stdenv ncurses gettext;
7379   };
7381   nedit = import ../applications/editors/nedit {
7382       inherit fetchurl stdenv x11;
7383       inherit (xlibs) libXpm;
7384       motif = lesstif;
7385     };
7387   netsurfBrowser = netsurf.browser;
7388   netsurf = recurseIntoAttrs (import ../applications/networking/browsers/netsurf { inherit pkgs; });
7390   nvi = import ../applications/editors/nvi {
7391     inherit fetchurl stdenv ncurses;
7392   };
7394   openoffice = import ../applications/office/openoffice {
7395     inherit fetchurl stdenv pam python tcsh libxslt perl zlib libjpeg
7396       expat pkgconfig freetype fontconfig libwpd libxml2 db4 sablotron
7397       curl libsndfile flex zip unzip libmspack getopt file neon cairo
7398       which icu jdk ant cups openssl bison boost gperf cppunit;
7399     inherit (xlibs) libXaw libXext libX11 libXtst libXi libXinerama;
7400     inherit (gtkLibs) gtk;
7401     inherit (perlPackages) ArchiveZip CompressZlib;
7402     inherit (gnome) GConf ORBit2;
7403   };
7405   opera = import ../applications/networking/browsers/opera {
7406     inherit fetchurl zlib glibc stdenv makeDesktopItem;
7407     inherit (xlibs) libX11 libSM libICE libXt libXext;
7408     qt = qt3;
7409   };
7411   pan = import ../applications/networking/newsreaders/pan {
7412     inherit fetchurl stdenv pkgconfig perl pcre gmime gettext;
7413     inherit (gtkLibs) gtk;
7414     spellChecking = false;
7415   };
7417   panotools = import ../applications/graphics/panotools {
7418     inherit stdenv fetchsvn libpng libjpeg libtiff automake libtool autoconf;
7419   };
7421   pavucontrol = import ../applications/audio/pavucontrol {
7422     inherit fetchurl stdenv pkgconfig pulseaudio libsigcxx
7423       libcanberra intltool gettext;
7424     inherit (gtkLibs) gtkmm;
7425     inherit (gnome) libglademm;
7426   };
7428   paraview = import ../applications/graphics/paraview {
7429     inherit fetchurl stdenv cmake qt4;
7430   };
7432   partitionManager = import ../tools/misc/partition-manager {
7433     inherit fetchurl stdenv lib cmake pkgconfig gettext parted libuuid perl;
7434     kde = kde43;
7435     qt = qt4;
7436   };
7438   pidgin = import ../applications/networking/instant-messengers/pidgin {
7439     inherit fetchurl stdenv pkgconfig perl perlXMLParser libxml2 nss nspr
7440       gtkspell aspell gettext ncurses avahi dbus dbus_glib lib intltool;
7441     openssl = if (getConfig ["pidgin" "openssl"] true) then openssl else null;
7442     gnutls = if (getConfig ["pidgin" "gnutls"] false) then gnutls else null;
7443     GStreamer = gst_all.gstreamer;
7444     inherit (gtkLibs) gtk;
7445     inherit (gnome) startupnotification;
7446     inherit (xlibs) libXScrnSaver;
7447   };
7449   pidginlatex = composedArgsAndFun (import ../applications/networking/instant-messengers/pidgin-plugins/pidgin-latex) {
7450     inherit fetchurl stdenv pkgconfig ghostscript pidgin texLive;
7451     imagemagick = imagemagickBig;
7452     inherit (gtkLibs) glib gtk;
7453   };
7455   pidginlatexSF = builderDefsPackage
7456     (import ../applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix)
7457     {
7458       inherit pkgconfig pidgin texLive imagemagick which;
7459       inherit (gtkLibs) glib gtk;
7460     };
7462   pidginotr = import ../applications/networking/instant-messengers/pidgin-plugins/otr {
7463     inherit fetchurl stdenv libotr pidgin;
7464   };
7466   pinfo = import ../applications/misc/pinfo {
7467     inherit fetchurl stdenv ncurses readline;
7468   };
7470   pqiv = import ../applications/graphics/pqiv {
7471     inherit fetchurl stdenv getopt which pkgconfig;
7472     inherit (gtkLibs) gtk;
7473   };
7475   # perhaps there are better apps for this task? It's how I had configured my preivous system.
7476   # And I don't want to rewrite all rules
7477   procmail = import ../applications/misc/procmail {
7478     inherit fetchurl stdenv autoconf;
7479   };
7481   pstree = import ../applications/misc/pstree {
7482     inherit stdenv fetchurl;
7483   };
7485   pythonmagick = import ../applications/graphics/PythonMagick {
7486     inherit fetchurl stdenv pkgconfig imagemagick boost python;
7487   };
7489   qemu = import ../applications/virtualization/qemu/0.11.0.nix {
7490     inherit stdenv fetchurl SDL zlib which;
7491   };
7493   qemuSVN = import ../applications/virtualization/qemu/svn-6642.nix {
7494     inherit fetchsvn SDL zlib which stdenv;
7495   };
7497   qemuImage = composedArgsAndFun
7498     (selectVersion ../applications/virtualization/qemu/linux-img "0.2") {
7499     inherit builderDefs fetchurl stdenv;
7500   };
7502   qtpfsgui = import ../applications/graphics/qtpfsgui {
7503     inherit fetchurl stdenv exiv2 libtiff fftw qt4 ilmbase;
7504     openexr = openexr_1_6_1;
7505   };
7507   ratpoison = import ../applications/window-managers/ratpoison {
7508     inherit fetchurl stdenv fontconfig readline;
7509     inherit (xlibs) libX11 inputproto libXt libXpm libXft
7510       libXtst xextproto libXi;
7511   };
7513   rcs = import ../applications/version-management/rcs {
7514     inherit fetchurl stdenv;
7515   };
7517   rdesktop = import ../applications/networking/remote/rdesktop {
7518     inherit fetchurl stdenv openssl;
7519     inherit (xlibs) libX11;
7520   };
7522   RealPlayer =
7523     (import ../applications/video/RealPlayer {
7524       inherit fetchurl stdenv;
7525       inherit (gtkLibs) glib pango atk gtk;
7526       inherit (xlibs) libX11;
7527       libstdcpp5 = gcc33.gcc;
7528     });
7530   rsync = import ../applications/networking/sync/rsync {
7531     inherit fetchurl stdenv acl;
7532     enableACLs = system != "i686-darwin";
7533   };
7535   rxvt = import ../applications/misc/rxvt {
7536     inherit lib fetchurl stdenv;
7537     inherit (xlibs) libXt libX11;
7538   };
7540   # = urxvt
7541   rxvt_unicode = makeOverridable (import ../applications/misc/rxvt_unicode) {
7542     inherit lib fetchurl stdenv perl ncurses;
7543     inherit (xlibs) libXt libX11 libXft;
7544     perlSupport = false;
7545   };
7547   sbagen = import ../applications/misc/sbagen {
7548     inherit fetchurl stdenv;
7549   };
7551   scribus = import ../applications/office/scribus {
7552     inherit fetchurl stdenv lib cmake pkgconfig freetype lcms libtiff libxml2
7553       cairo python cups fontconfig zlib libjpeg libpng;
7554     inherit (gnome) libart_lgpl;
7555     inherit (xlibs) libXaw libXext libX11 libXtst libXi libXinerama;
7556     qt = qt3;
7557   };
7559   skype_linux = import ../applications/networking/skype {
7560     inherit fetchurl stdenv;
7561     inherit glibc alsaLib freetype fontconfig libsigcxx gcc;
7562     inherit (xlibs) libSM libICE libXi libXrender libXrandr libXfixes libXcursor
7563                     libXinerama libXext libX11 libXv libXScrnSaver;
7564   };
7566   slim = import ../applications/display-managers/slim {
7567     inherit fetchurl stdenv x11 libjpeg libpng freetype pam;
7568     inherit (xlibs) libXmu;
7569   };
7571   sndBase = builderDefsPackage (import ../applications/audio/snd) {
7572     inherit fetchurl stdenv stringsWithDeps lib fftw;
7573     inherit pkgconfig gmp gettext;
7574     inherit (xlibs) libXpm libX11;
7575     inherit (gtkLibs) gtk glib;
7576   };
7578   snd = sndBase.passthru.function {
7579     inherit guile mesa libtool jackaudio alsaLib;
7580   };
7582   sonicVisualizer = import ../applications/audio/sonic-visualizer {
7583     inherit fetchurl stdenv lib libsndfile libsamplerate bzip2 librdf
7584       rubberband jackaudio pulseaudio libmad
7585       libogg liblo alsaLib librdf_raptor librdf_rasqal redland fftw;
7586     inherit (vamp) vampSDK;
7587     qt = qt4;
7588   };
7590   sox = import ../applications/misc/audio/sox {
7591     inherit fetchurl stdenv lib composableDerivation;
7592     # optional features
7593     inherit alsaLib libao ffmpeg;
7594     inherit libsndfile libogg flac libmad lame libsamplerate;
7595     # Using the default nix ffmpeg I get this error when linking
7596     # .libs/libsox_la-ffmpeg.o: In function `audio_decode_frame':
7597     # /tmp/nix-7957-1/sox-14.0.0/src/ffmpeg.c:130: undefined reference to `avcodec_decode_audio2
7598     # That's why I'v added ffmpeg_svn
7599   };
7601   stumpwm = builderDefsPackage (import ../applications/window-managers/stumpwm) {
7602     inherit texinfo;
7603     clisp = clisp_2_44_1;
7604   };
7606   subversion = makeOverridable (import ../applications/version-management/subversion/default.nix) {
7607     inherit (pkgsOverriden) fetchurl stdenv apr aprutil expat swig zlib jdk python perl sqlite;
7608     neon = neon028;
7609     bdbSupport = getConfig ["subversion" "bdbSupport"] true;
7610     httpServer = getConfig ["subversion" "httpServer"] false;
7611     httpSupport = getConfig ["subversion" "httpSupport"] true;
7612     sslSupport = getConfig ["subversion" "sslSupport"] true;
7613     pythonBindings = getConfig ["subversion" "pythonBindings"] false;
7614     perlBindings = getConfig ["subversion" "perlBindings"] false;
7615     javahlBindings = supportsJDK && getConfig ["subversion" "javahlBindings"] false;
7616     compressionSupport = getConfig ["subversion" "compressionSupport"] true;
7617     httpd = pkgsOverriden.apacheHttpd;
7618   };
7620   svk = perlPackages.SVK;
7622   sylpheed = import ../applications/networking/mailreaders/sylpheed {
7623     inherit fetchurl stdenv pkgconfig openssl gpgme;
7624     inherit (gtkLibs) gtk;
7625     sslSupport = true;
7626     gpgSupport = true;
7627   };
7629   # linux only by now
7630   synergy = import ../applications/misc/synergy {
7631     inherit fetchurl bleedingEdgeRepos stdenv x11;
7632     inherit (xlibs) xextproto libXtst inputproto;
7633   };
7635   tahoelafs = import ../tools/networking/p2p/tahoe-lafs {
7636     inherit fetchurl lib unzip nettools buildPythonPackage;
7637     inherit (pythonPackages) twisted foolscap simplejson nevow zfec
7638       pycryptopp pysqlite;
7639   };
7641   tailor = builderDefsPackage (import ../applications/version-management/tailor) {
7642     inherit makeWrapper python;
7643   };
7645   tangogps = import ../applications/misc/tangogps {
7646     inherit fetchurl stdenv pkgconfig gettext curl libexif sqlite;
7647     inherit (gtkLibs) gtk;
7648     gconf = gnome.GConf;
7649   };
7651   /* does'nt work yet i686-linux only (32bit version)
7652   teamspeak_client = import ../applications/networking/instant-messengers/teamspeak/client.nix {
7653     inherit fetchurl stdenv;
7654     inherit glibc x11;
7655   };
7656   */
7658   taskJuggler = import ../applications/misc/taskjuggler {
7659     inherit stdenv fetchurl;
7660     inherit zlib libpng perl expat;
7661     qt = qt3;
7663     inherit (xlibs) libX11 libXext libSM libICE;
7665     # KDE support is not working yet.
7666     inherit kdelibs kdebase;
7667     withKde = pkgs.getConfig ["taskJuggler" "kde"] false;
7668   };
7670   thinkingRock = import ../applications/misc/thinking-rock {
7671     inherit fetchurl stdenv;
7672   };
7674   thunderbird = import ../applications/networking/mailreaders/thunderbird-2.x {
7675     inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo;
7676     inherit (gtkLibs) gtk;
7677     inherit (gnome) libIDL;
7678     inherit (xlibs) libXi;
7679     #enableOfficialBranding = true;
7680   };
7682   /*
7683   Despaired. Looks like ThunderBird-on-Firefox's-Xulrunner is non-trivial
7685   thunderbird3 = lowPrio (import ../applications/networking/mailreaders/thunderbird-3.x {
7686     inherit fetchurl stdenv pkgconfig perl zip libjpeg zlib cairo
7687       python dbus dbus_glib freetype fontconfig bzip2 libpng alsaLib sqlite
7688       patchelf;
7689     inherit (gtkLibs) gtk pango;
7690     inherit (gnome) libIDL;
7691     #enableOfficialBranding = true;
7692     xulrunner = xulrunner3;
7693     autoconf = autoconf213;
7694   });*/
7696   timidity = import ../tools/misc/timidity {
7697     inherit fetchurl stdenv lib alsaLib composableDerivation jackaudio ncurses;
7698   };
7700   tkcvs = import ../applications/version-management/tkcvs {
7701     inherit stdenv fetchurl tcl tk;
7702   };
7704   tla = import ../applications/version-management/arch {
7705     inherit fetchurl stdenv diffutils gnutar gnupatch which;
7706   };
7708   twinkle = import ../applications/networking/twinkle {
7709     inherit fetchurl stdenv lib pkgconfig commoncpp2 ccrtp openssl speex libjpeg perl
7710       libzrtpcpp libsndfile libxml2 file readline alsaLib;
7711     qt = qt3;
7712     boost = boostFull;
7713     inherit (xlibs) libX11 libXaw libICE libXext;
7714   };
7716   unison = import ../applications/networking/sync/unison {
7717     inherit fetchurl stdenv ocaml lablgtk makeWrapper;
7718     inherit (xorg) xset fontschumachermisc;
7719   };
7721   uucp = builderDefsPackage (selectVersion ../tools/misc/uucp "1.07") {
7722   };
7724   uzbl = builderDefsPackage (import ../applications/networking/browsers/uzbl) {
7725     inherit pkgconfig webkit makeWrapper;
7726     inherit (gtkLibs) gtk glib;
7727     libsoup = gnome28.libsoup;
7728   };
7730   uzblExperimental = builderDefsPackage
7731         (import ../applications/networking/browsers/uzbl/experimental.nix) {
7732     inherit pkgconfig webkit makeWrapper;
7733     inherit (gtkLibs) gtk glib;
7734     libsoup = gnome28.libsoup;
7735   };
7737   valknut = import ../applications/networking/p2p/valknut {
7738     inherit fetchurl stdenv perl x11 libxml2 libjpeg libpng openssl dclib;
7739     qt = qt3;
7740   };
7742   vim = import ../applications/editors/vim {
7743     inherit fetchurl stdenv ncurses lib;
7744   };
7746   vimHugeX = import ../applications/editors/vim {
7747     inherit fetchurl stdenv lib ncurses pkgconfig
7748       perl python tcl;
7749     inherit (xlibs) libX11 libXext libSM libXpm
7750       libXt libXaw libXau;
7751     inherit (gtkLibs) glib gtk;
7753     # Looks like python and perl can conflict
7754     flags = ["hugeFeatures" "gtkGUI" "x11Support"
7755       /*"perlSupport"*/ "pythonSupport" "tclSupport"];
7756   };
7758   vim_configurable = import ../applications/editors/vim/configurable.nix {
7759     inherit fetchurl stdenv ncurses pkgconfig composableDerivation lib;
7760     inherit (xlibs) libX11 libXext libSM libXpm
7761         libXt libXaw libXau libXmu;
7762     inherit (gtkLibs) glib gtk;
7763     features = "huge"; # one of  tiny, small, normal, big or huge
7764     # optional features by passing
7765     # python
7766     # TODO mzschemeinterp perlinterp
7767     inherit python perl tcl ruby /*x11*/;
7769     # optional features by flags
7770     flags = [ "X11" ]; # only flag "X11" by now
7771   };
7773   vlc = import ../applications/video/vlc {
7774     inherit fetchurl stdenv perl xlibs zlib a52dec libmad faad2
7775       ffmpeg libdvdnav pkgconfig hal fribidi qt4 freefont_ttf;
7776     dbus = dbus.libs;
7777     alsa = alsaLib;
7778   };
7780   vnstat = import ../applications/networking/vnstat {
7781     inherit fetchurl stdenv ncurses;
7782   };
7784   vorbisTools = import ../applications/audio/vorbis-tools {
7785     inherit fetchurl stdenv libogg libvorbis libao pkgconfig curl glibc
7786       speex flac;
7787   };
7789   vwm = import ../applications/window-managers/vwm {
7790     inherit fetchurl stdenv ncurses pkgconfig libviper libpseudo gpm glib libvterm;
7791   };
7793   w3m = import ../applications/networking/browsers/w3m {
7794     inherit fetchurl stdenv ncurses openssl boehmgc gettext zlib imlib2 x11;
7795     graphicsSupport = false;
7796   };
7798   # I'm keen on wmiimenu only  >wmii-3.5 no longer has it...
7799   wmiimenu = import ../applications/window-managers/wmii31 {
7800     libixp = libixp_for_wmii;
7801     inherit fetchurl /* fetchhg */ stdenv gawk;
7802     inherit (xlibs) libX11;
7803   };
7805   wmiiSnap = import ../applications/window-managers/wmii {
7806     libixp = libixp_for_wmii;
7807     inherit fetchurl /* fetchhg */ stdenv gawk;
7808     inherit (xlibs) libX11 xextproto libXt libXext;
7809     includeUnpack = getConfig ["stdenv" "includeUnpack"] false;
7810   };
7812   wordnet = import ../applications/misc/wordnet {
7813     inherit stdenv fetchurl tcl tk x11 makeWrapper;
7814   };
7816   wrapFirefox = browser: browserName: nameSuffix: import ../applications/networking/browsers/firefox/wrapper.nix {
7817     inherit stdenv nameSuffix makeWrapper makeDesktopItem browser browserName;
7818     plugins =
7819       let enableAdobeFlash = getConfig [ browserName "enableAdobeFlash" ] true;
7820       in
7821        ([]
7822         ++ lib.optional (!enableAdobeFlash) gnash
7823         ++ lib.optional enableAdobeFlash flashplayer
7824         # RealPlayer is disabled by default for legal reasons.
7825         ++ lib.optional (system != "i686-linux" && getConfig [browserName "enableRealPlayer"] false) RealPlayer
7826         ++ lib.optional (getConfig [browserName "enableMPlayer"] false) (MPlayerPlugin browser)
7827         ++ lib.optional (getConfig [browserName "enableGeckoMediaPlayer"] false) gecko_mediaplayer
7828         ++ lib.optional (supportsJDK && getConfig [browserName "jre"] false && jrePlugin ? mozillaPlugin) jrePlugin
7829        );
7830   };
7832   x11vnc = composedArgsAndFun (selectVersion ../tools/X11/x11vnc "0.9.3") {
7833     inherit builderDefs openssl zlib libjpeg ;
7834     inherit (xlibs) libXfixes fixesproto libXdamage damageproto
7835       libX11 xproto libXtst libXinerama xineramaproto libXrandr randrproto
7836       libXext xextproto inputproto recordproto libXi renderproto
7837       libXrender;
7838   };
7840   x2vnc = composedArgsAndFun (selectVersion ../tools/X11/x2vnc "1.7.2") {
7841     inherit builderDefs;
7842     inherit (xlibs) libX11 xproto xextproto libXext libXrandr randrproto;
7843   };
7845   xaos = builderDefsPackage (import ../applications/graphics/xaos) {
7846     inherit (xlibs) libXt libX11 libXext xextproto xproto;
7847     inherit gsl aalib zlib libpng intltool gettext perl;
7848   };
7850   xara = import ../applications/graphics/xara {
7851     inherit fetchurl stdenv autoconf automake libtool gettext cvs
7852       pkgconfig libxml2 zip libpng libjpeg shebangfix perl freetype;
7853     inherit (gtkLibs) gtk;
7854     wxGTK = wxGTK26;
7855   };
7857   xawtv = import ../applications/video/xawtv {
7858     inherit fetchurl stdenv ncurses libjpeg perl;
7859     inherit (xlibs) libX11 libXt libXft xproto libFS fontsproto libXaw libXpm libXext libSM libICE xextproto;
7860   };
7862   xchat = import ../applications/networking/irc/xchat {
7863     inherit fetchurl stdenv pkgconfig tcl;
7864     inherit (gtkLibs) gtk;
7865   };
7867   xchm = import ../applications/misc/xchm {
7868     inherit fetchurl stdenv chmlib wxGTK;
7869   };
7871   /* Doesn't work yet
7873   xen = builderDefsPackage (import ../applications/virtualization/xen) {
7874     inherit python e2fsprogs gnutls pkgconfig libjpeg
7875       ncurses SDL libvncserver zlib;
7876     texLive = if (getConfig ["xen" "texLive"] false) then texLive else null;
7877     graphviz = if (getConfig ["xen" "graphviz"] false) then graphviz else null;
7878     ghostscript = if (getConfig ["xen" "ghostscript"] false) then ghostscript else null;
7879   }; */
7881   xfig = import ../applications/graphics/xfig {
7882     stdenv = overrideGCC stdenv gcc34;
7883     inherit fetchurl makeWrapper x11 Xaw3d libpng libjpeg;
7884     inherit (xlibs) imake libXpm libXmu libXi libXp;
7885   };
7887   xineUI = import ../applications/video/xine-ui {
7888     inherit fetchurl stdenv pkgconfig xlibs xineLib libpng readline ncurses curl;
7889   };
7891   xmms = import ../applications/audio/xmms {
7892     inherit fetchurl libogg libvorbis alsaLib;
7893     inherit (gnome) esound;
7894     inherit (gtkLibs1x) glib gtk;
7895     stdenv = overrideGCC stdenv gcc34; # due to problems with gcc 4.x
7896   };
7898   xneur = import ../applications/misc/xneur {
7899     inherit fetchurl stdenv pkgconfig pcre libxml2 aspell imlib2
7900       xosd libnotify cairo;
7901     GStreamer=gst_all.gstreamer;
7902     inherit (xlibs) libX11 libXpm libXt libXext libXi;
7903     inherit (gtkLibs) glib gtk pango atk;
7904   };
7906   xneur_0_8 = import ../applications/misc/xneur/0.8.nix {
7907     inherit fetchurl stdenv pkgconfig pcre libxml2 aspell imlib2 xosd glib;
7908     GStreamer = gst_all.gstreamer;
7909     inherit (xlibs) libX11 libXpm libXt libXext;
7910   };
7912   xournal = builderDefsPackage (import ../applications/graphics/xournal) {
7913     inherit ghostscript fontconfig freetype zlib
7914       poppler popplerData autoconf automake
7915       libtool pkgconfig;
7916     inherit (xlibs) xproto libX11;
7917     inherit (gtkLibs) gtk atk pango glib;
7918     inherit (gnome) libgnomeprint libgnomeprintui
7919       libgnomecanvas;
7920   };
7922   xpdf = import ../applications/misc/xpdf {
7923     inherit fetchurl stdenv x11 freetype t1lib;
7924     motif = lesstif;
7925     base14Fonts = "${ghostscript}/share/ghostscript/fonts";
7926   };
7928   xpra = import ../tools/X11/xpra {
7929     inherit stdenv fetchurl pkgconfig python pygtk xlibs makeWrapper;
7930     inherit (gtkLibs) gtk;
7931     pyrex = pyrex095;
7932   };
7934   xscreensaverBase = composedArgsAndFun (import ../applications/graphics/xscreensaver) {
7935     inherit stdenv fetchurl builderDefs lib pkgconfig bc perl intltool;
7936     inherit (xlibs) libX11 libXmu;
7937   };
7939   xscreensaver = xscreensaverBase.passthru.function {
7940     flags = ["GL" "gdkpixbuf" "DPMS" "gui" "jpeg"];
7941     inherit mesa libxml2 libjpeg;
7942     inherit (gtkLibs) gtk;
7943     inherit (gnome) libglade;
7944   };
7946   xterm = import ../applications/misc/xterm {
7947     inherit fetchurl stdenv ncurses freetype pkgconfig;
7948     inherit (xlibs) libXaw xproto libXt libX11 libSM libICE libXext libXft luit;
7949   };
7951   xlaunch = import ../tools/X11/xlaunch {
7952     inherit stdenv;
7953     inherit (xorg) xorgserver;
7954   };
7956   xmacro = import ../tools/X11/xmacro {
7957     inherit fetchurl stdenv;
7958     inherit (xlibs) libX11 libXi libXtst xextproto inputproto;
7959   };
7961   xmove = import ../applications/misc/xmove {
7962     inherit fetchurl stdenv;
7963     inherit (xlibs) libX11 libXi imake libXau;
7964     inherit (xorg) xauth;
7965   };
7967   xnee = builderDefsPackage (import ../tools/X11/xnee) {
7968     inherit (gtkLibs) gtk;
7969     inherit (xlibs) libX11 libXtst xextproto libXext
7970       inputproto libXi xproto recordproto;
7971     inherit pkgconfig;
7972   };
7974   xvidcap = import ../applications/video/xvidcap {
7975     inherit fetchurl stdenv perl perlXMLParser pkgconfig gettext lame;
7976     inherit (gtkLibs) gtk;
7977     inherit (gnome) scrollkeeper libglade;
7978     inherit (xlibs) libXmu libXext libXfixes libXdamage libX11;
7979   };
7981   yate = import ../applications/misc/yate {
7982     inherit sox speex openssl automake autoconf pkgconfig;
7983     inherit fetchurl stdenv lib composableDerivation;
7984     qt = qt4;
7985   };
7987   # doesn't compile yet - in case someone else want's to continue ..
7988   qgis =  (selectVersion ../applications/misc/qgis "1.0.1-2") {
7989     inherit composableDerivation fetchsvn stdenv flex lib
7990             ncurses fetchurl perl cmake gdal geos proj x11
7991             gsl libpng zlib bison
7992             sqlite glibc fontconfig freetype /* use libc from stdenv ? - to lazy now - Marc */;
7993     inherit (xlibs) libSM libXcursor libXinerama libXrandr libXrender;
7994     inherit (xorg) libICE;
7995     qt = qt4;
7997     # optional features
7998     # grass = "not yet supported" # cmake -D WITH_GRASS=TRUE  and GRASS_PREFX=..
7999   };
8001   zapping = import ../applications/video/zapping {
8002     inherit fetchurl stdenv pkgconfig perl python
8003             gettext zvbi libjpeg libpng x11
8004             rte perlXMLParser;
8005     inherit (gnome) scrollkeeper libgnomeui libglade esound;
8006     inherit (xlibs) libXv libXmu libXext;
8007     teletextSupport = true;
8008     jpegSupport = true;
8009     pngSupport = true;
8010     recordingSupport = true;
8011   };
8014   ### GAMES
8016   ballAndPaddle = import ../games/ball-and-paddle {
8017     inherit fetchurl stdenv SDL SDL_image SDL_mixer SDL_ttf guile gettext;
8018   };
8020   bsdgames = import ../games/bsdgames {
8021     inherit fetchurl stdenv ncurses openssl flex bison miscfiles;
8022   };
8024   castleCombat = import ../games/castle-combat {
8025     inherit fetchurl stdenv python pygame twisted lib numeric makeWrapper;
8026   };
8028   construoBase = composedArgsAndFun (selectVersion ../games/construo "0.2.2") {
8029     inherit stdenv fetchurl builderDefs
8030       zlib;
8031     inherit (xlibs) libX11 xproto;
8032   };
8034   construo = construoBase.passthru.function {
8035     inherit mesa freeglut;
8036   };
8038   eduke32 = import ../games/eduke32 {
8039     inherit stdenv fetchurl SDL SDL_mixer unzip libvorbis mesa pkgconfig nasm makeDesktopItem;
8040     inherit (gtkLibs) gtk;
8041   };
8043   exult = import ../games/exult {
8044     inherit fetchurl SDL SDL_mixer zlib libpng unzip;
8045     stdenv = overrideGCC stdenv gcc42;
8046   };
8048   /*
8049   exultSnapshot = lowPrio (import ../games/exult/snapshot.nix {
8050     inherit fetchurl stdenv SDL SDL_mixer zlib libpng unzip
8051       autoconf automake libtool flex bison;
8052   });
8053   */
8055   fsg = import ../games/fsg {
8056     inherit stdenv fetchurl pkgconfig mesa;
8057     inherit (gtkLibs) glib gtk;
8058     inherit (xlibs) libX11 xproto;
8059     wxGTK = wxGTK28deps {unicode = false;};
8060   };
8062   fsgAltBuild = import ../games/fsg/alt-builder.nix {
8063     inherit stdenv fetchurl mesa;
8064     wxGTK = wxGTK28deps {unicode = false;};
8065     inherit (xlibs) libX11 xproto;
8066     inherit stringsWithDeps builderDefs;
8067   };
8069   gemrb = import ../games/gemrb {
8070     inherit fetchurl stdenv SDL openal freealut zlib libpng python;
8071   };
8073   gnuchess = builderDefsPackage (import ../games/gnuchess) {
8074     flex = flex2535;
8075   };
8077   gparted = import ../tools/misc/gparted {
8078     inherit fetchurl stdenv parted intltool gettext libuuid pkgconfig libxml2;
8079     inherit (gtkLibs) gtk glib gtkmm;
8080     inherit (gnome) gnomedocutils;
8081   };
8083   hexen = import ../games/hexen {
8084     inherit stdenv fetchurl SDL;
8085   };
8087   kobodeluxe = import ../games/kobodeluxe {
8088     inherit stdenv fetchurl SDL SDL_image;
8089   };
8091   lincity = builderDefsPackage (import ../games/lincity) {
8092     inherit (xlibs) libX11 libXext xextproto
8093       libICE libSM xproto;
8094     inherit libpng zlib;
8095   };
8097   micropolis = import ../games/micropolis {
8098     inherit lib fetchurl stdenv;
8099     inherit (xlibs) libX11 libXpm libXext xextproto;
8100     inherit byacc bash;
8101   };
8103   openttd = import ../games/openttd {
8104     inherit fetchurl stdenv SDL libpng;
8105     zlib = zlibStatic;
8106   };
8108   quake3demo = import ../games/quake3/wrapper {
8109     name = "quake3-demo-${quake3game.name}";
8110     description = "Demo of Quake 3 Arena, a classic first-person shooter";
8111     inherit fetchurl stdenv mesa makeWrapper;
8112     game = quake3game;
8113     paks = [quake3demodata];
8114   };
8116   quake3demodata = import ../games/quake3/demo {
8117     inherit fetchurl stdenv;
8118   };
8120   quake3game = import ../games/quake3/game {
8121     inherit fetchurl stdenv x11 SDL mesa openal;
8122   };
8124   rogue = import ../games/rogue {
8125     inherit fetchurl stdenv ncurses;
8126   };
8128   scummvm = import ../games/scummvm {
8129     inherit fetchurl stdenv SDL zlib mpeg2dec;
8130   };
8132   scorched3d = import ../games/scorched3d {
8133     inherit stdenv fetchurl mesa openal autoconf automake libtool freealut freetype fftw SDL SDL_net zlib libpng libjpeg;
8134     wxGTK = wxGTK26;
8135   };
8137   sgtpuzzles = builderDefsPackage (import ../games/sgt-puzzles) {
8138     inherit (gtkLibs) gtk glib;
8139     inherit pkgconfig;
8140     inherit (xlibs) libX11;
8141   };
8143   # You still can override by passing more arguments.
8144   spaceOrbit = composedArgsAndFun (selectVersion ../games/orbit "1.01") {
8145     inherit fetchurl stdenv builderDefs mesa freeglut;
8146     inherit (gnome) esound;
8147     inherit (xlibs) libXt libX11 libXmu libXi libXext;
8148   };
8150   superTuxKart = import ../games/super-tux-kart {
8151     inherit fetchurl stdenv plib SDL openal freealut mesa
8152       libvorbis libogg gettext;
8153   };
8155   teeworlds = import ../games/teeworlds {
8156     inherit fetchurl stdenv python alsaLib mesa SDL;
8157     inherit (xlibs) libX11;
8158   };
8160   /*tpm = import ../games/thePenguinMachine {
8161     inherit stdenv fetchurl pil pygame SDL;
8162     python24 = python;
8163   };*/
8165   ut2004demo = import ../games/ut2004demo {
8166     inherit fetchurl stdenv xlibs mesa;
8167   };
8169   xboard = builderDefsPackage (import ../games/xboard) {
8170     inherit (xlibs) libX11 xproto libXt libXaw libSM
8171       libICE libXmu libXext;
8172     inherit gnuchess;
8173   };
8175   xsokoban = builderDefsPackage (import ../games/xsokoban) {
8176     inherit (xlibs) libX11 xproto libXpm libXt;
8177   };
8179   zdoom = import ../games/zdoom {
8180     inherit cmake stdenv fetchsvn SDL nasm p7zip zlib flac fmod libjpeg;
8181   };
8183   zoom = import ../games/zoom {
8184     inherit fetchurl stdenv perl expat freetype;
8185     inherit (xlibs) xlibs;
8186   };
8188   keen4 = import ../games/keen4 {
8189     inherit fetchurl stdenv dosbox unzip;
8190   };
8193   ### DESKTOP ENVIRONMENTS
8196   enlightenment = import ../desktops/enlightenment {
8197     inherit stdenv fetchurl pkgconfig x11 xlibs dbus imlib2 freetype;
8198   };
8200   gnome28 = import ../desktops/gnome-2.28 pkgs;
8202   gnome = gnome28;
8204   kde3 = {
8206     kdelibs = import ../desktops/kde-3/kdelibs {
8207       inherit
8208         fetchurl stdenv xlibs zlib perl openssl pcre pkgconfig
8209         libjpeg libpng libtiff libxml2 libxslt libtool
8210         expat freetype bzip2 cups attr acl;
8211       qt = qt3;
8212     };
8214     kdebase = import ../desktops/kde-3/kdebase {
8215       inherit
8216         fetchurl stdenv pkgconfig x11 xlibs zlib libpng libjpeg perl
8217         kdelibs openssl bzip2 fontconfig pam hal dbus glib;
8218       qt = qt3;
8219     };
8221   };
8223   kde4 = kde43;
8225   kde43 = import ../desktops/kde-4.3 (pkgs // {
8226     openexr = openexr_1_6_1;
8227     qt4 = qt45;
8228     popplerQt4 = popplerQt45;
8229   });
8231   kdelibs = kde3.kdelibs;
8232   kdebase = kde3.kdebase;
8234   ### SCIENCE
8236   xplanet = import ../applications/science/xplanet {
8237     inherit stdenv fetchurl lib pkgconfig freetype libpng libjpeg giflib libtiff;
8238     inherit (gtkLibs) pango;
8239   };
8241   ### SCIENCE/GEOMETRY
8243   drgeo = builderDefsPackage (import ../applications/science/geometry/drgeo) {
8244     inherit (gnome) libglade gtk;
8245     inherit libxml2 guile perl intltool libtool pkgconfig;
8246   };
8249   ### SCIENCE/BIOLOGY
8251   alliance = import ../applications/science/electronics/alliance {
8252     inherit fetchurl stdenv bison flex;
8253     inherit (xlibs) xproto libX11 libXt libXpm;
8254     motif = lesstif;
8255   };
8257   arb = import ../applications/science/biology/arb {
8258     inherit fetchurl stdenv readline libpng zlib x11 lesstif93 freeglut perl;
8259     inherit (xlibs) libXpm libXaw libX11 libXext libXt;
8260     inherit mesa glew libtiff lynx rxp sablotron jdk transfig gv gnuplot;
8261     lesstif = lesstif93;
8262   };
8264   biolib = import ../development/libraries/science/biology/biolib {
8265     inherit fetchurl stdenv readline perl cmake rLang zlib;
8266   };
8268   emboss = import ../applications/science/biology/emboss {
8269     inherit fetchurl stdenv readline perl libpng zlib;
8270     inherit (xorg) libX11 libXt;
8271   };
8273   mrbayes = import ../applications/science/biology/mrbayes {
8274     inherit fetchurl stdenv readline;
8275   };
8277   ncbi_tools = import ../applications/science/biology/ncbi-tools {
8278     inherit fetchurl stdenv cpio;
8279   };
8281   paml = import ../applications/science/biology/paml {
8282     inherit fetchurl stdenv;
8283   };
8285   /* slr = import ../applications/science/biology/slr {
8286     inherit fetchurl stdenv liblapack;
8287   }; */
8289   pal2nal = import ../applications/science/biology/pal2nal {
8290     inherit fetchurl stdenv perl paml;
8291   };
8294   ### SCIENCE/MATH
8296   atlas = import ../development/libraries/science/math/atlas {
8297     inherit fetchurl stdenv gfortran;
8298   };
8300   /* liblapack = import ../development/libraries/science/math/liblapack {
8301     inherit fetchurl stdenv gfortran;
8302   }; */
8305   ### SCIENCE/LOGIC
8307   coq = import ../applications/science/logic/coq {
8308     inherit stdenv fetchurl ocaml lablgtk ncurses;
8309     camlp5 = camlp5_transitional;
8310   };
8312   ssreflect = import ../applications/science/logic/ssreflect {
8313     inherit stdenv fetchurl ocaml coq;
8314     camlp5 = camlp5_transitional;
8315   };
8317   ### SCIENCE / ELECTRONICS
8319   ngspice = import ../applications/science/electronics/ngspice {
8320     inherit fetchurl stdenv readline;
8321   };
8324   ### SCIENCE / MATH
8326   maxima = import ../applications/science/math/maxima {
8327     inherit fetchurl stdenv clisp;
8328   };
8330   wxmaxima = import ../applications/science/math/wxmaxima {
8331     inherit fetchurl stdenv maxima;
8332     inherit wxGTK;
8333   };
8335   scilab = (import ../applications/science/math/scilab) {
8336     inherit stdenv fetchurl lib gfortran;
8337     inherit (gtkLibs) gtk;
8338     inherit ncurses Xaw3d tcl tk ocaml x11;
8340     withXaw3d = false;
8341     withTk = true;
8342     withGtk = false;
8343     withOCaml = true;
8344     withX = true;
8345   };
8348   ### MISC
8350   atari800 = import ../misc/emulators/atari800 {
8351     inherit fetchurl stdenv unzip zlib SDL;
8352   };
8354   ataripp = import ../misc/emulators/atari++ {
8355     inherit fetchurl stdenv x11 SDL;
8356   };
8358   auctex = import ../misc/tex/auctex {
8359     inherit stdenv fetchurl emacs texLive;
8360   };
8362   busybox = import ../misc/busybox {
8363     inherit fetchurl stdenv;
8364   };
8366   cups = import ../misc/cups {
8367     inherit fetchurl stdenv pkgconfig zlib libjpeg libpng libtiff pam openssl dbus;
8368   };
8370   gutenprint = import ../misc/drivers/gutenprint {
8371     inherit fetchurl stdenv lib pkgconfig composableDerivation cups libtiff libpng
8372       openssl git gimp;
8373   };
8375   gutenprintBin = import ../misc/drivers/gutenprint/bin.nix {
8376     inherit fetchurl stdenv rpm cpio zlib;
8377   };
8379   cupsBjnp = import ../misc/cups/drivers/cups-bnjp {
8380     inherit fetchurl stdenv cups;
8381   };
8383   dblatex = import ../misc/tex/dblatex {
8384     inherit fetchurl stdenv python libxslt tetex;
8385   };
8387   dosbox = import ../misc/emulators/dosbox {
8388     inherit fetchurl stdenv SDL makeDesktopItem;
8389   };
8391   dpkg = import ../tools/package-management/dpkg {
8392     inherit fetchurl stdenv perl zlib bzip2;
8393   };
8395   electricsheep = import ../misc/screensavers/electricsheep {
8396     inherit fetchurl stdenv pkgconfig expat zlib libpng libjpeg xlibs;
8397   };
8399   foldingathome = import ../misc/foldingathome {
8400       inherit fetchurl stdenv;
8401     };
8403   freestyle = import ../misc/freestyle {
8404     inherit fetchurl freeglut qt4 libpng lib3ds libQGLViewer swig;
8405     inherit (xlibs) libXi;
8406     #stdenv = overrideGCC stdenv gcc41;
8407     inherit stdenv python;
8408   };
8410   gajim = builderDefsPackage (import ../applications/networking/instant-messengers/gajim) {
8411     inherit perl intltool pyGtkGlade gettext pkgconfig makeWrapper pygobject
8412       pyopenssl gtkspell libsexy pycrypto aspell pythonDBus pythonSexy
8413       docutils;
8414     dbus = dbus.libs;
8415     inherit (gnome) gtk libglade;
8416     inherit (xlibs) libXScrnSaver libXt xproto libXext xextproto libX11
8417       scrnsaverproto;
8418     python = pythonFull;
8419   };
8421   generator = import ../misc/emulators/generator {
8422     inherit fetchurl stdenv SDL nasm zlib bzip2 libjpeg;
8423     inherit (gtkLibs1x) gtk;
8424   };
8426   ghostscript = makeOverridable (import ../misc/ghostscript) {
8427     inherit fetchurl stdenv libjpeg libpng libtiff zlib x11 pkgconfig
8428       fontconfig cups openssl;
8429     x11Support = false;
8430     cupsSupport = getPkgConfig "ghostscript" "cups" true;
8431   };
8433   ghostscriptX = lowPrio (appendToName "with-X" (ghostscript.override {
8434     x11Support = true;
8435   }));
8437   gxemul = (import ../misc/gxemul) {
8438     inherit lib stdenv fetchurl composableDerivation;
8439     inherit (xlibs) libX11;
8440   };
8442   # using the new configuration style proposal which is unstable
8443   jackaudio = import ../misc/jackaudio {
8444     inherit composableDerivation
8445            ncurses lib stdenv fetchurl alsaLib pkgconfig;
8446     flags = [ "posix_shm" "timestamps" "alsa"];
8447   };
8449   keynav = import ../tools/X11/keynav {
8450     inherit stdenv fetchurl;
8451     inherit (xlibs) libX11 xextproto libXtst imake libXi libXext;
8452   };
8454   lazylist = import ../misc/tex/lazylist {
8455     inherit fetchurl stdenv tetex;
8456   };
8458   lilypond = import ../misc/lilypond {
8459     inherit (bleedingEdgeRepos) sourceByName;
8460     inherit fetchurl stdenv lib automake autoconf
8461       ghostscript texinfo imagemagick texi2html guile python gettext
8462       perl bison pkgconfig texLive fontconfig freetype fontforge help2man;
8463     inherit (gtkLibs) pango;
8464     flex = flex2535;
8465   };
8467   linuxwacom = import ../misc/linuxwacom {
8468     inherit fetchurl stdenv ncurses pkgconfig;
8469     inherit (xorg) libX11 libXi xproto inputproto xorgserver;
8470   };
8472   martyr = import ../development/libraries/martyr {
8473     inherit stdenv fetchurl apacheAnt;
8474   };
8476   maven = import ../misc/maven/maven-1.0.nix {
8477     inherit stdenv fetchurl jdk;
8478   };
8480   # don't have time for the source build right now
8481   # maven2
8482   mvn_bin = import ../misc/maven/maven-2.nix {
8483     inherit fetchurl stdenv unzip;
8484   };
8486   nix = import ../tools/package-management/nix {
8487     inherit fetchurl stdenv perl curl bzip2 openssl;
8488     aterm = aterm242fixes;
8489     db4 = db45;
8490     supportOldDBs = getPkgConfig "nix" "OldDBSupport" true;
8491     storeDir = getPkgConfig "nix" "storeDir" "/nix/store";
8492     stateDir = getPkgConfig "nix" "stateDir" "/nix/var";
8493   };
8495   # The bleeding edge.
8496   nixUnstable = nix;
8497   /*
8498   nixUnstable = makeOverridable (import ../tools/package-management/nix/unstable.nix) {
8499     inherit fetchurl stdenv perl curl bzip2 openssl;
8500     aterm = aterm242fixes;
8501     db4 = db45;
8502     supportOldDBs = getPkgConfig "nix" "OldDBSupport" true;
8503     storeDir = getPkgConfig "nix" "storeDir" "/nix/store";
8504     stateDir = getPkgConfig "nix" "stateDir" "/nix/var";
8505   };
8506   */
8508   nixCustomFun = src: preConfigure: enableScripts: configureFlags:
8509     import ../tools/package-management/nix/custom.nix {
8510       inherit fetchurl stdenv perl curl bzip2 openssl src preConfigure automake
8511         autoconf libtool configureFlags enableScripts lib bison libxml2;
8512       flex = flex2533;
8513       aterm = aterm242fixes;
8514       db4 = db45;
8515       inherit docbook5_xsl libxslt docbook5 docbook_xml_dtd_43 w3m;
8516     };
8518   disnix = import ../tools/package-management/disnix {
8519     inherit stdenv fetchsvn openssl autoconf automake libtool pkgconfig dbus_glib libxml2;
8520   };
8522   disnix_activation_scripts = import ../tools/package-management/disnix/activation-scripts {
8523     inherit stdenv fetchsvn autoconf automake;
8524   };
8526   DisnixService = import ../tools/package-management/disnix/DisnixService {
8527     inherit stdenv fetchsvn apacheAnt jdk axis2 shebangfix;
8528   };
8530   ntfs3g = import ../misc/ntfs-3g {
8531     inherit fetchurl stdenv utillinux;
8532   };
8534   ntfsprogs = import ../misc/ntfsprogs {
8535     inherit fetchurl stdenv libuuid;
8536   };
8538   pgadmin = import ../applications/misc/pgadmin {
8539     inherit fetchurl stdenv postgresql libxml2 libxslt openssl;
8540     inherit wxGTK;
8541   };
8543   pgf = pgf2;
8545   # Keep the old PGF since some documents don't render properly with
8546   # the new one.
8547   pgf1 = import ../misc/tex/pgf/1.x.nix {
8548     inherit fetchurl stdenv;
8549   };
8551   pgf2 = import ../misc/tex/pgf/2.x.nix {
8552     inherit fetchurl stdenv;
8553   };
8555   polytable = import ../misc/tex/polytable {
8556     inherit fetchurl stdenv tetex lazylist;
8557   };
8559   psi = (selectVersion ../applications/networking/instant-messengers/psi "0.12.1")
8560     {
8561       inherit stdenv fetchurl zlib aspell sox openssl qt4;
8562       inherit (xlibs) xproto libX11 libSM libICE;
8563       qca2 = kde4.qca2;
8564     };
8566   putty = import ../applications/networking/remote/putty {
8567     inherit stdenv fetchurl ncurses;
8568     inherit (gtkLibs1x) gtk;
8569   };
8571   rssglx = import ../misc/screensavers/rss-glx {
8572     inherit fetchurl stdenv x11 mesa pkgconfig imagemagick libtiff bzip2;
8573   };
8575   xlockmore = import ../misc/screensavers/xlockmore {
8576     inherit fetchurl stdenv x11 freetype;
8577     pam = if getPkgConfig "xlockmore" "pam" true then pam else null;
8578   };
8580   saneBackends = import ../misc/sane-backends {
8581     inherit fetchurl stdenv libusb;
8582     gt68xxFirmware = getConfig ["sane" "gt68xxFirmware"] null;
8583   };
8585   saneFrontends = import ../misc/sane-front {
8586     inherit fetchurl stdenv pkgconfig libusb saneBackends;
8587     inherit (gtkLibs) gtk;
8588     inherit (xlibs) libX11;
8589   };
8591   sourceAndTags = import ../misc/source-and-tags {
8592     inherit pkgs stdenv unzip lib ctags;
8593     hasktags = haskellPackages.myhasktags;
8594   };
8596   synaptics = import ../misc/synaptics {
8597     inherit fetchurl stdenv pkgconfig;
8598     inherit (xlibs) libX11 libXi libXext pixman xf86inputevdev;
8599     inherit (xorg) xorgserver;
8600   };
8602   tetex = import ../misc/tex/tetex {
8603     inherit fetchurl stdenv flex bison zlib libpng ncurses ed;
8604   };
8606   texFunctions = import ../misc/tex/nix {
8607     inherit stdenv perl tetex graphviz ghostscript makeFontsConf imagemagick runCommand lib;
8608     inherit (haskellPackages) lhs2tex;
8609   };
8611   texLive = builderDefsPackage (import ../misc/tex/texlive) {
8612     inherit builderDefs zlib bzip2 ncurses libpng ed
8613       gd t1lib freetype icu perl ruby expat curl
8614       libjpeg bison;
8615     inherit (xlibs) libXaw libX11 xproto libXt libXpm
8616       libXmu libXext xextproto libSM libICE;
8617     flex = flex2535;
8618     ghostscript = ghostscriptX;
8619   };
8621   /* Look in configurations/misc/raskin.nix for usage example (around revisions
8622   where TeXLive was added)
8624   (texLiveAggregationFun {
8625     paths = [texLive texLiveExtra texLiveCMSuper
8626       texLiveBeamer
8627     ];
8628   })
8630   You need to use texLiveAggregationFun to regenerate, say, ls-R (TeX-related file list)
8631   Just installing a few packages doesn't work.
8632   */
8633   texLiveAggregationFun =
8634     (builderDefsPackage (import ../misc/tex/texlive/aggregate.nix));
8636   texLiveContext = builderDefsPackage (import ../misc/tex/texlive/context.nix) {
8637     inherit texLive;
8638   };
8640   texLiveExtra = builderDefsPackage (import ../misc/tex/texlive/extra.nix) {
8641     inherit texLive;
8642   };
8644   texLiveCMSuper = builderDefsPackage (import ../misc/tex/texlive/cm-super.nix) {
8645     inherit texLive;
8646   };
8648   texLiveLatexXColor = builderDefsPackage (import ../misc/tex/texlive/xcolor.nix) {
8649     inherit texLive;
8650   };
8652   texLivePGF = builderDefsPackage (import ../misc/tex/texlive/pgf.nix) {
8653     inherit texLiveLatexXColor texLive;
8654   };
8656   texLiveBeamer = builderDefsPackage (import ../misc/tex/texlive/beamer.nix) {
8657     inherit texLiveLatexXColor texLivePGF texLive;
8658   };
8660   toolbuslib = import ../development/libraries/toolbuslib {
8661     inherit stdenv fetchurl aterm;
8662   };
8664   trac = import ../misc/trac {
8665     inherit stdenv fetchurl python clearsilver makeWrapper
8666       sqlite subversion;
8667     inherit (pythonPackages) pysqlite;
8668   };
8670    vice = import ../misc/emulators/vice {
8671      inherit stdenv fetchurl lib perl gettext libpng giflib libjpeg alsaLib readline mesa;
8672      inherit pkgconfig SDL makeDesktopItem autoconf automake;
8673      inherit (gtkLibs) gtk;
8674    };
8676   wine =
8677     if system == "x86_64-linux" then
8678       # Can't build this in 64-bit; use a 32-bit build instead.
8679       (import ./all-packages.nix {system = "i686-linux";}).wine
8680       # some hackery to make nix-env show this package on x86_64...
8681       // {system = "x86_64-linux";}
8682     else
8683       import ../misc/emulators/wine {
8684         inherit fetchurl stdenv flex bison mesa ncurses
8685           libpng libjpeg alsaLib lcms xlibs freetype
8686           fontconfig fontforge libxml2 libxslt openssl;
8687       };
8689   xosd = import ../misc/xosd {
8690     inherit fetchurl stdenv;
8691     inherit (xlibs) libX11 libXext libXt xextproto xproto;
8692   };
8694   xsane = import ../misc/xsane {
8695     inherit fetchurl stdenv pkgconfig libusb
8696       saneBackends saneFrontends;
8697     inherit (gtkLibs) gtk;
8698     inherit (xlibs) libX11;
8699   };
8701   yafc = import ../applications/networking/yafc {
8702     inherit fetchurl stdenv readline openssh;
8703   };
8705   myEnvFun = import ../misc/my-env {
8706     inherit substituteAll pkgs;
8707     inherit (stdenv) mkDerivation;
8708   };
8710   misc = import ../misc/misc.nix { inherit pkgs stdenv; };
8712 }; in pkgs