* Make GTK 2.18 the default, and get rid of the deep overrides. (BTW,

there seems to be a much cleaner solution than deepOverride, namely
  call all-packages.nix with an appropriate packageOverrides set.)

svn path=/nixpkgs/branches/xorg-7.5/; revision=18025
This commit is contained in:
Eelco Dolstra 2009-10-29 14:19:13 +00:00
parent f210a41f84
commit b90a6b4ba0

View File

@ -187,14 +187,15 @@ let
in in
import (dir + "/${pVersion}.nix") (args // { version = pVersion; }); import (dir + "/${pVersion}.nix") (args // { version = pVersion; });
# usage: (you can use override multiple times)
# let d = makeOverridable stdenv.mkDerivation { name = ..; buildInputs; }
# noBuildInputs = d.override { buildInputs = []; }
# additionalBuildInputs = d.override ( args : args // { buildInputs = args.buildInputs ++ [ additional ]; } )
deepOverride = newArgs: name: x: if builtins.isAttrs x then ( deepOverride = newArgs: name: x: if builtins.isAttrs x then (
if x ? deepOverride then (x.deepOverride newArgs) else if x ? deepOverride then (x.deepOverride newArgs) else
if x ? override then (x.override newArgs) else if x ? override then (x.override newArgs) else
x) else x; x) else x;
# usage: (you can use override multiple times)
# let d = makeOverridable stdenv.mkDerivation { name = ..; buildInputs; }
# noBuildInputs = d.override { buildInputs = []; }
# additionalBuildInputs = d.override ( args : args // { buildInputs = args.buildInputs ++ [ additional ]; } )
makeOverridable = f: origArgs: f origArgs // makeOverridable = f: origArgs: f origArgs //
{ override = newArgs: { override = newArgs:
makeOverridable f (origArgs // (if builtins.isFunction newArgs then newArgs origArgs else newArgs)); makeOverridable f (origArgs // (if builtins.isFunction newArgs then newArgs origArgs else newArgs));
@ -3541,7 +3542,7 @@ let
inherit (gnome) gtk; inherit (gnome) gtk;
}; };
gtkLibs = recurseIntoAttrs gtkLibs216; gtkLibs = recurseIntoAttrs gtkLibs218;
glib = gtkLibs.glib; glib = gtkLibs.glib;
@ -4557,17 +4558,9 @@ let
inherit fetchurl stdenv cmake unzip libtiff expat zlib libpng libjpeg; inherit fetchurl stdenv cmake unzip libtiff expat zlib libpng libjpeg;
}; };
webkit = builderDefsPackage (import ../development/libraries/webkit) webkit = builderDefsPackage (import ../development/libraries/webkit) {
(lib.mapAttrs (deepOverride
{
# It needs fresh GTK
inherit (gnome28) gtkdoc libsoup GConf;
inherit (gtkLibs218) gtk atk pango glib;
gconf = gnome28.GConf;
})
{
inherit (gnome28) gtkdoc libsoup; inherit (gnome28) gtkdoc libsoup;
inherit (gtkLibs218) gtk atk pango glib; inherit (gtkLibs) gtk atk pango glib;
inherit freetype fontconfig gettext gperf curl inherit freetype fontconfig gettext gperf curl
libjpeg libtiff libpng libxml2 libxslt sqlite libjpeg libtiff libpng libxml2 libxslt sqlite
icu cairo perl intltool automake libtool icu cairo perl intltool automake libtool
@ -4576,7 +4569,7 @@ let
gstPluginsGood; gstPluginsGood;
flex = flex2535; flex = flex2535;
inherit (xlibs) libXt; inherit (xlibs) libXt;
}); };
wxGTK = wxGTK26; wxGTK = wxGTK26;
@ -7390,7 +7383,7 @@ let
midori = builderDefsPackage (import ../applications/networking/browsers/midori) { midori = builderDefsPackage (import ../applications/networking/browsers/midori) {
inherit imagemagick intltool python pkgconfig webkit libxml2 inherit imagemagick intltool python pkgconfig webkit libxml2
which gettext makeWrapper file libidn sqlite docutils libnotify; which gettext makeWrapper file libidn sqlite docutils libnotify;
inherit (gtkLibs218) gtk glib; inherit (gtkLibs) gtk glib;
inherit (gnome28) gtksourceview libsoup; inherit (gnome28) gtksourceview libsoup;
}; };
@ -7837,14 +7830,14 @@ let
uzbl = builderDefsPackage (import ../applications/networking/browsers/uzbl) { uzbl = builderDefsPackage (import ../applications/networking/browsers/uzbl) {
inherit pkgconfig webkit makeWrapper; inherit pkgconfig webkit makeWrapper;
inherit (gtkLibs218) gtk glib; inherit (gtkLibs) gtk glib;
libsoup = gnome28.libsoup; libsoup = gnome28.libsoup;
}; };
uzblExperimental = builderDefsPackage uzblExperimental = builderDefsPackage
(import ../applications/networking/browsers/uzbl/experimental.nix) { (import ../applications/networking/browsers/uzbl/experimental.nix) {
inherit pkgconfig webkit makeWrapper; inherit pkgconfig webkit makeWrapper;
inherit (gtkLibs218) gtk glib; inherit (gtkLibs) gtk glib;
libsoup = gnome28.libsoup; libsoup = gnome28.libsoup;
}; };
@ -8324,18 +8317,7 @@ let
gnome26 = import ../desktops/gnome-2.26 pkgs; gnome26 = import ../desktops/gnome-2.26 pkgs;
gnome28 = import ../desktops/gnome-2.28 (pkgs// { gnome28 = import ../desktops/gnome-2.28 pkgs;
gtkLibs = gtkLibs218;
dbus_glib = dbus_glib.override {
inherit (gtkLibs218) glib;
};
policykit = policykit.deepOverride {
inherit (gtkLibs218) glib;
};
hal = hal.deepOverride {
inherit (gtkLibs218) glib;
};
});
kde3 = { kde3 = {