about summary refs log tree commit diff
path: root/pkgs/top-level/all-packages.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/top-level/all-packages.nix')
-rw-r--r--pkgs/top-level/all-packages.nix103
1 files changed, 75 insertions, 28 deletions
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 8ae536ed2be93..ac1f4daf6ba9c 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -204,15 +204,20 @@ let
 
   stdenv =
     if bootStdenv != null then (bootStdenv // {inherit platform;}) else
-      let changer = getConfig ["replaceStdenv"] null;
-      in if changer != null then
-        changer {
-          stdenv = stdenvCross;
-          overrideSetup = overrideSetup;
-        }
-      else if crossSystem != null then
+      if crossSystem != null then
         stdenvCross
       else
+        let
+            changer = getConfig ["replaceStdenv"] null;
+        in if changer != null then
+          changer {
+            # We import again all-packages to avoid recursivities.
+            pkgs = import ./all-packages.nix {
+              # We remove packageOverrides to avoid recursivities
+              config = removeAttrs config [ "replaceStdenv" ];
+            };
+          }
+      else
         defaultStdenv;
 
   forceBuildDrv = drv : if (crossSystem == null) then drv else
@@ -2827,6 +2832,8 @@ let
     gcj = gcj.gcc; # use the raw GCJ, which has ${gcj}/lib/jvm
   };
 
+  astyle = callPackage ../development/tools/misc/astyle { };
+
   autobuild = callPackage ../development/tools/misc/autobuild { };
 
   autoconf = callPackage ../development/tools/misc/autoconf { };
@@ -2891,6 +2898,24 @@ let
 
   ccache = callPackage ../development/tools/misc/ccache { };
 
+  # Wrapper that works as gcc or g++
+  # It can be used by setting in nixpkgs config like this, for example:
+  #    replaceStdenv = { pkgs }: pkgs.ccacheStdenv;
+  # But if you build in chroot, you should have that path in chroot
+  # If instantiated directly, it will use the HOME/.ccache as cache directory.
+  # You can use an override in packageOverrides to set extraConfig:
+  #    packageOverrides = pkgs: {
+  #     ccacheWrapper = pkgs.ccacheWrapper.override {
+  #       extraConfig = ''
+  #         CCACHE_COMPRESS=1
+  #         CCACHE_DIR=/bin/.ccache
+  #       '';
+  #     };
+  #
+  ccacheWrapper = makeOverridable ({ extraConfig ? "" }:
+     wrapGCC (ccache.links extraConfig)) {};
+  ccacheStdenv = overrideGCC stdenv ccacheWrapper;
+
   complexity = callPackage ../development/tools/misc/complexity { };
 
   ctags = callPackage ../development/tools/misc/ctags { };
@@ -4998,9 +5023,7 @@ let
   dovecot_1_1_1 = callPackage ../servers/mail/dovecot/1.1.1.nix { };
   dovecot_2_0 = callPackage ../servers/mail/dovecot/2.0.nix { };
 
-  ejabberd = callPackage ../servers/xmpp/ejabberd {
-    erlang = erlangR13B ;
-  };
+  ejabberd = callPackage ../servers/xmpp/ejabberd { };
 
   couchdb = callPackage ../servers/http/couchdb {
     spidermonkey = spidermonkey_185;
@@ -5772,6 +5795,8 @@ let
 
     acpi_call = callPackage ../os-specific/linux/acpi-call {};
 
+    bbswitch = callPackage ../os-specific/linux/bbswitch {};
+
     ati_drivers_x11 = callPackage ../os-specific/linux/ati-drivers { };
 
     aufs =
@@ -6614,12 +6639,17 @@ let
     librsvg = null /* if stdenv.isDarwin then null else librsvg */;
   };
 
-  emacsSnapshot = lowPrio (callPackage ../applications/editors/emacs-snapshot {
-    xawSupport = getConfig [ "emacs" "xawSupport" ] false;
-    xaw3dSupport = getConfig [ "emacs" "xaw3dSupport" ] false;
-    gtkGUI = getConfig [ "emacs" "gtkSupport" ] true;
-    xftSupport = getConfig [ "emacs" "xftSupport" ] true;
-    dbusSupport = getConfig [ "emacs" "dbusSupport" ] true;
+  emacs24 = lowPrio (callPackage ../applications/editors/emacs-24 {
+    # use override to select the appropriate gui toolkit
+    libXaw = if stdenv.isDarwin then xlibs.libXaw else null;
+    Xaw3d = null;
+    gtk = if stdenv.isDarwin then null else gtkLibs.gtk;
+    # TODO: these packages don't build on Darwin.
+    gconf = null /* if stdenv.isDarwin then null else gnome.GConf */;
+    librsvg = if stdenv.isDarwin then null else librsvg;
+    # alsa only on linux
+    alsaLib = if stdenv.isLinux then alsaLib else null;
+    imagemagick = imagemagickBig;
   });
 
   emacsPackages = emacs: self: let callPackage = newScope self; in rec {
@@ -6657,6 +6687,8 @@ let
 
     maudeMode = callPackage ../applications/editors/emacs-modes/maude { };
 
+    notmuch = callPackage ../applications/networking/mailreaders/notmuch { };
+
     nxml = callPackage ../applications/editors/emacs-modes/nxml { };
 
     # This is usually a newer version of Org-Mode than that found in GNU Emacs, so
@@ -6667,7 +6699,11 @@ let
 
     prologMode = callPackage ../applications/editors/emacs-modes/prolog { };
 
-    proofgeneral = callPackage ../applications/editors/emacs-modes/proofgeneral { };
+    proofgeneral = callPackage ../applications/editors/emacs-modes/proofgeneral {
+      texLive = pkgs.texLiveAggregationFun {
+                  paths = [ pkgs.texLive pkgs.texLiveCMSuper ];
+                };
+    };
 
     quack = callPackage ../applications/editors/emacs-modes/quack { };
 
@@ -6680,6 +6716,7 @@ let
 
   emacs22Packages = emacsPackages emacs22 pkgs.emacs22Packages;
   emacs23Packages = recurseIntoAttrs (emacsPackages emacs23 pkgs.emacs23Packages);
+  emacs24Packages = recurseIntoAttrs (emacsPackages emacs24 pkgs.emacs24Packages);
 
   epdfview = callPackage ../applications/misc/epdfview { };
 
@@ -7029,6 +7066,8 @@ let
 
   jwm = callPackage ../applications/window-managers/jwm { };
 
+  k3d = callPackage ../applications/graphics/k3d {};
+
   keepnote = callPackage ../applications/office/keepnote {
     pygtk = pyGtkGlade;
   };
@@ -7059,13 +7098,18 @@ let
 
   librecad = callPackage ../applications/misc/librecad { };
 
+  libreoffice = callPackage ../applications/office/openoffice/libreoffice.nix {
+    inherit (perlPackages) ArchiveZip CompressZlib;
+    inherit (gnome) GConf ORBit2;
+  };
+
   lingot = callPackage ../applications/audio/lingot {
     inherit (gnome) libglade;
   };
 
   links = callPackage ../applications/networking/browsers/links { };
 
-  ledger = callPackage ../applications/office/ledger { };
+  ledger = callPackage ../applications/office/ledger/2.6.3.nix { };
   ledger3 = callPackage ../applications/office/ledger/3.0.nix { };
 
   links2 = (builderDefsPackage ../applications/networking/browsers/links2) {
@@ -7100,14 +7144,12 @@ let
   };
 
   mercurial = callPackage ../applications/version-management/mercurial {
-    guiSupport = getConfig ["mercurial" "guiSupport"] false; # for hgk (gitk gui for hg)
     inherit (pythonPackages) ssl curses;
-    # when used with hg-fast-export (git) mercurials files are using
-    # httplib.FakeSocket which is not provided after python 2.6.  (httplib2
-    # has removed it from its interface).
-    python = python27;
+    guiSupport = false;		# use mercurialFull to get hgk GUI
   };
 
+  mercurialFull = appendToName "full" (pkgs.mercurial.override { guiSupport = true; });
+
   merkaartor = callPackage ../applications/misc/merkaartor { };
 
   meshlab = callPackage ../applications/graphics/meshlab {
@@ -7215,7 +7257,10 @@ let
   netsurfBrowser = netsurf.browser;
   netsurf = recurseIntoAttrs (import ../applications/networking/browsers/netsurf { inherit pkgs; });
 
-  notmuch = callPackage ../applications/networking/mailreaders/notmuch { };
+  notmuch = callPackage ../applications/networking/mailreaders/notmuch {
+      # use emacsPackages.notmuch if you want emacs support
+      emacs = null;
+  };
 
   nova = callPackage ../applications/virtualization/nova { };
 
@@ -7587,9 +7632,7 @@ let
     inherit (xlibs) libX11;
   };
 
-  vlc = callPackage ../applications/video/vlc {
-    lua = lua5;
-  };
+  vlc = callPackage ../applications/video/vlc { };
 
   vnstat = callPackage ../applications/networking/vnstat { };
 
@@ -8160,7 +8203,9 @@ let
 
       polkit_kde_agent = callPackage ../tools/security/polkit-kde-agent { };
 
-      psi = callPackage ../applications/networking/instant-messengers/psi { };
+      psi = callPackage ../applications/networking/instant-messengers/psi {
+        inherit (gtkLibs) glib;
+      };
 
       quassel = callPackage ../applications/networking/irc/quassel { };
 
@@ -8185,6 +8230,8 @@ let
       yakuake = callPackage ../applications/misc/yakuake { };
 
       zanshin = callPackage ../applications/office/zanshin { };
+
+      kwooty = callPackage ../applications/networking/newsreaders/kwooty { };
     };
 
   redshift = callPackage ../applications/misc/redshift {