Split some GTK/X11-related packages

The closure of the Pan newsreader is now down from 344 MiB to 195 MiB.
This commit is contained in:
Eelco Dolstra 2012-08-26 22:53:19 -04:00
parent 3d32657782
commit 61129e1ee9
14 changed files with 107 additions and 60 deletions

View file

@ -2,13 +2,16 @@
with stdenv.lib;
{ outputs, ... } @ args:
{ outputs ? [ "out" ], ... } @ args:
stdenv.mkDerivation (args // {
#postPhases = [ "fixupOutputsPhase" ] ++ args.postPhases or [];
preHook =
optionalString (elem "man" outputs) ''
configureFlags="--mandir=$man/share/man $configureFlags"
'' +
''
${optionalString (elem "bin" outputs) ''
configureFlags="--bindir=$bin/bin --mandir=$bin/share/man $configureFlags"
@ -43,7 +46,7 @@ stdenv.mkDerivation (args // {
echo "$propagatedBuildInputs" > "$dev/nix-support/propagated-build-inputs"
propagatedBuildInputs=
fi
echo "$out $lib $propagatedBuildNativeInputs" > "$dev/nix-support/propagated-build-native-inputs"
echo "$out $lib $bin $propagatedBuildNativeInputs" > "$dev/nix-support/propagated-build-native-inputs"
propagatedBuildNativeInputs=
elif [ -n "$out" ]; then
propagatedBuildNativeInputs="$lib $propagatedBuildNativeInputs"

View file

@ -8,12 +8,14 @@ stdenv.mkDerivation rec {
sha256 = "17bkqg89l9hxbkgc76cxlin1bwczk7m6ikbccx677lrxh3kz08lb";
};
enableParallelBuilding = true;
outputs = [ "dev" "out" "doc" ];
buildNativeInputs = [ pkgconfig perl ];
propagatedBuildInputs = [ glib ];
postInstall = "rm -rf $out/share/gtk-doc";
meta = {
description = "ATK, the accessibility toolkit";

View file

@ -14,12 +14,16 @@ assert xcbSupport -> libxcb != null && xcbutil != null;
stdenv.mkDerivation rec {
name = "cairo-1.10.2";
src = fetchurl {
url = "http://cairographics.org/releases/${name}.tar.gz";
sha1 = "ccce5ae03f99c505db97c286a0c9a90a926d3c6e";
};
enableParallelBuilding = true;
outputs = [ "dev" "out" "bin" "doc" ];
buildInputs =
[ pkgconfig x11 fontconfig xlibs.libXrender ]
++ stdenv.lib.optionals xcbSupport [ libxcb xcbutil ]
@ -32,7 +36,7 @@ stdenv.mkDerivation rec {
stdenv.lib.optional gobjectSupport glib ++
stdenv.lib.optional postscriptSupport zlib ++
stdenv.lib.optional pngSupport libpng;
configureFlags =
[ "--enable-tee" ]
++ stdenv.lib.optional xcbSupport "--enable-xcb"
@ -45,9 +49,6 @@ stdenv.mkDerivation rec {
-es'|^Cflags:\(.*\)$|Cflags: \1 -I${freetype}/include/freetype2 -I${freetype}/include|g'
'';
# The default `--disable-gtk-doc' is ignored.
postInstall = "rm -rf $out/share/gtk-doc";
meta = {
description = "A 2D graphics library with support for multiple output devices";

View file

@ -5,15 +5,20 @@
useEncumberedCode ? false
}:
stdenv.mkDerivation (rec {
stdenv.mkDerivation rec {
name = "freetype-2.4.4";
src = fetchurl {
url = "mirror://sourceforge/freetype/${name}.tar.bz2";
sha256 = "1vqg93473j6jma1bxms7mczk32j8is0g9inkcmmmqdsdvk3q30jb";
};
configureFlags = "--disable-static";
outputs = [ "dev" "out" ];
configureFlags = "--disable-static --bindir=$(dev)/bin";
# FreeType requires GNU Make, which is not part of stdenv on FreeBSD.
buildInputs = stdenv.lib.optional (stdenv.system == "i686-freebsd") gnumake;
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString useEncumberedCode
"-DFT_CONFIG_OPTION_SUBPIXEL_RENDERING=1";
@ -21,16 +26,15 @@ stdenv.mkDerivation (rec {
# The asm for armel is written with the 'asm' keyword.
CFLAGS = stdenv.lib.optionalString stdenv.isArm "-std=gnu99";
postInstall =
''
mkdir $dev/lib
mv $out/lib/pkgconfig $dev/lib/
'';
meta = {
description = "A font rendering engine";
homepage = http://www.freetype.org/;
license = "GPLv2+"; # or the FreeType License (BSD + advertising clause)
};
}
//
# FreeType requires GNU Make, which is not part of stdenv on FreeBSD.
(if stdenv.system == "i686-freebsd"
then { buildInputs = [ gnumake ]; }
else {}))

View file

@ -9,6 +9,10 @@ stdenv.mkDerivation {
sha256 = "1qdywh1r75lalb7z6s9pm6pmqx82chrrxqb8cdqi629nvc03yyns";
};
outputs = [ "dev" "out" "bin" "doc" ];
enableParallelBuilding = true;
# !!! We might want to factor out the gdk-pixbuf-xlib subpackage.
buildInputs = [ libX11 ];
@ -18,8 +22,6 @@ stdenv.mkDerivation {
configureFlags = "--with-libjasper --with-x11";
postInstall = "rm -rf $out/share/gtk-doc";
meta = {
description = "A library for image loading and manipulation";

View file

@ -2,12 +2,14 @@
stdenv.mkDerivation rec {
name = "gmime-2.4.24";
src = fetchurl {
url = "mirror://gnome/sources/gmime/2.4/${name}.tar.gz";
sha256 = "2f538d68e215f075d16575a6da9acb87983db9e2df0d7d403858048881a0dd15";
};
outputs = [ "dev" "out" "bin" "doc" ];
buildInputs = [ pkgconfig glib zlib ];
meta = {

View file

@ -21,10 +21,12 @@ stdenv.mkDerivation {
./old-icons.patch
];
outputs = [ "dev" "out" "bin" "doc" ];
enableParallelBuilding = true;
buildNativeInputs = [ perl pkgconfig ];
propagatedBuildInputs =
[ xlibs.xlibs glib atk pango gdk_pixbuf cairo
xlibs.libXrandr xlibs.libXrender xlibs.libXcomposite xlibs.libXi
@ -34,8 +36,6 @@ stdenv.mkDerivation {
configureFlags = "--with-xinput=yes";
postInstall = "rm -rf $out/share/gtk-doc";
meta = {
description = "A multi-platform toolkit for creating graphical user interfaces";

View file

@ -2,7 +2,7 @@
stdenv.mkDerivation {
name = "libtiff-3.9.4";
src = fetchurl {
urls =
[ ftp://ftp.remotesensing.org/pub/libtiff/tiff-3.9.4.tar.gz
@ -10,7 +10,11 @@ stdenv.mkDerivation {
];
sha256 = "19hxd773yxcs4lxlc3zfdkz5aiv705vj2jvy5srpqkxpbw3nvdv7";
};
outputs = [ "dev" "out" "bin" "doc" ];
enableParallelBuilding = true;
propagatedBuildInputs = [ zlib libjpeg ];
meta = {

View file

@ -8,14 +8,16 @@ stdenv.mkDerivation rec {
sha256 = "0zqjq6ccv6mbah74rcvb03ksq1jwan21z37mdmqa56307sax3s3s";
};
enableParallelBuilding = true;
outputs = [ "dev" "out" "bin" "doc" ];
buildInputs = stdenv.lib.optional stdenv.isDarwin gettext;
buildNativeInputs = [ pkgconfig ];
propagatedBuildInputs = [ x11 glib cairo libpng ];
postInstall = "rm -rf $out/share/gtk-doc";
meta = {
description = "A library for laying out and rendering of text, with an emphasis on internationalization";

View file

@ -1,9 +1,8 @@
{ stdenv, fetchurl, pkgconfig, zlib, libjpeg, libpng, libtiff, pam, openssl
, dbus, libusb, acl }:
let
version = "1.5.2";
in
let version = "1.5.2"; in
stdenv.mkDerivation {
name = "cups-${version}";

View file

@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
sha256 = "1q5vjcvw4f067c63vj2n3xggvk5prm11571x6vnqiav47vdbqvni";
};
outputs = [ "dev" "out" "bin" ];
patches = [ ./linux-specific-header.patch ];
crossAttrs = {

View file

@ -9,7 +9,7 @@ postInstall() {
if test -n "$origPostInstall"; then eval "$origPostInstall"; fi
local r p requires
requires=$(grep "Requires:" $out/lib/pkgconfig/*.pc | \
requires=$(grep "Requires:" ${dev:-$out}/lib/pkgconfig/*.pc | \
sed "s/Requires://" | sed "s/,/ /g")
echo "propagating requisites $requires"
@ -31,10 +31,6 @@ postInstall() {
done
fi
done
mkdir -p "$out/nix-support"
echo "$propagatedBuildInputs" > "$out/nix-support/propagated-build-inputs"
echo "$propagatedBuildNativeInputs" > "$out/nix-support/propagated-build-native-inputs"
}

View file

@ -577,13 +577,14 @@ let
buildInputs = [pkgconfig windowswmproto libX11 libXext xextproto ];
})) // {inherit windowswmproto libX11 libXext xextproto ;};
libX11 = (stdenv.mkDerivation ((if overrides ? libX11 then overrides.libX11 else x: x) {
libX11 = (stdenvMulti.mkDerivation ((if overrides ? libX11 then overrides.libX11 else x: x) {
name = "libX11-1.4.1";
builder = ./builder.sh;
src = fetchurl {
url = mirror://xorg/individual/lib/libX11-1.4.1.tar.bz2;
sha256 = "1qiwyqaf9vfn52nwp7nxlbixld3r9jyzsarnkwk0ynk4k3vy1x3h";
};
outputs = [ "dev" "out" "man" ];
buildInputs = [pkgconfig inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ];
})) // {inherit inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ;};
@ -597,13 +598,14 @@ let
buildInputs = [pkgconfig scrnsaverproto libX11 libXext xextproto ];
})) // {inherit scrnsaverproto libX11 libXext xextproto ;};
libXau = (stdenv.mkDerivation ((if overrides ? libXau then overrides.libXau else x: x) {
libXau = (stdenvMulti.mkDerivation ((if overrides ? libXau then overrides.libXau else x: x) {
name = "libXau-1.0.6";
builder = ./builder.sh;
src = fetchurl {
url = mirror://xorg/X11R7.6/src/everything/libXau-1.0.6.tar.bz2;
sha256 = "1z3h07wj2kg2hnzj4gd9pc3rkj4n0mfw6f9skg9w1hfwzrgl317f";
};
outputs = [ "dev" "out" "man" ];
buildInputs = [pkgconfig xproto ];
})) // {inherit xproto ;};
@ -617,13 +619,14 @@ let
buildInputs = [pkgconfig libX11 libXext xextproto libXmu libXpm xproto libXt ];
})) // {inherit libX11 libXext xextproto libXmu libXpm xproto libXt ;};
libXcomposite = (stdenv.mkDerivation ((if overrides ? libXcomposite then overrides.libXcomposite else x: x) {
libXcomposite = (stdenvMulti.mkDerivation ((if overrides ? libXcomposite then overrides.libXcomposite else x: x) {
name = "libXcomposite-0.4.3";
builder = ./builder.sh;
src = fetchurl {
url = mirror://xorg/X11R7.6/src/everything/libXcomposite-0.4.3.tar.bz2;
sha256 = "1b8sniijb85v4my6v30ma9yqnwl4hkclci9l1hqxnipfyhl4sa9j";
};
outputs = [ "dev" "out" "man" ];
buildInputs = [pkgconfig compositeproto libX11 libXfixes xproto ];
})) // {inherit compositeproto libX11 libXfixes xproto ;};
@ -647,33 +650,36 @@ let
buildInputs = [pkgconfig damageproto fixesproto libX11 xextproto libXfixes xproto ];
})) // {inherit damageproto fixesproto libX11 xextproto libXfixes xproto ;};
libXdmcp = (stdenv.mkDerivation ((if overrides ? libXdmcp then overrides.libXdmcp else x: x) {
libXdmcp = (stdenvMulti.mkDerivation ((if overrides ? libXdmcp then overrides.libXdmcp else x: x) {
name = "libXdmcp-1.1.0";
builder = ./builder.sh;
src = fetchurl {
url = mirror://xorg/X11R7.6/src/everything/libXdmcp-1.1.0.tar.bz2;
sha256 = "0wh0q4ih9p3nsxsjjj9a3d03nhiyjggpl7gbavdzsfia36iyk85q";
};
outputs = [ "dev" "out" "doc" ];
buildInputs = [pkgconfig xproto ];
})) // {inherit xproto ;};
libXext = (stdenv.mkDerivation ((if overrides ? libXext then overrides.libXext else x: x) {
libXext = (stdenvMulti.mkDerivation ((if overrides ? libXext then overrides.libXext else x: x) {
name = "libXext-1.2.0";
builder = ./builder.sh;
src = fetchurl {
url = mirror://xorg/X11R7.6/src/everything/libXext-1.2.0.tar.bz2;
sha256 = "1xvgvrbg9lc812zi44hsyr461hiiwy05alckq847ki213qhkxvaa";
};
outputs = [ "dev" "out" "man" "doc" ];
buildInputs = [pkgconfig libX11 xextproto xproto ];
})) // {inherit libX11 xextproto xproto ;};
libXfixes = (stdenv.mkDerivation ((if overrides ? libXfixes then overrides.libXfixes else x: x) {
libXfixes = (stdenvMulti.mkDerivation ((if overrides ? libXfixes then overrides.libXfixes else x: x) {
name = "libXfixes-4.0.5";
builder = ./builder.sh;
src = fetchurl {
url = mirror://xorg/X11R7.6/src/everything/libXfixes-4.0.5.tar.bz2;
sha256 = "0x4drdxrslxf4vgcfyba0f0fbxg98c8x5dfrl7azakhf8qhd0v1f";
};
outputs = [ "dev" "out" "man" ];
buildInputs = [pkgconfig fixesproto libX11 xextproto xproto ];
})) // {inherit fixesproto libX11 xextproto xproto ;};
@ -687,33 +693,36 @@ let
buildInputs = [pkgconfig libfontenc fontsproto freetype xproto xtrans zlib ];
})) // {inherit libfontenc fontsproto freetype xproto xtrans zlib ;};
libXft = (stdenv.mkDerivation ((if overrides ? libXft then overrides.libXft else x: x) {
libXft = (stdenvMulti.mkDerivation ((if overrides ? libXft then overrides.libXft else x: x) {
name = "libXft-2.2.0";
builder = ./builder.sh;
src = fetchurl {
url = mirror://xorg/X11R7.6/src/everything/libXft-2.2.0.tar.bz2;
sha256 = "1cprbz7xnxkb7axblw8sdaw9ibkngmz60d0ypk1drhd0dpjmls68";
};
outputs = [ "dev" "out" "man" ];
buildInputs = [pkgconfig fontconfig freetype xproto libXrender ];
})) // {inherit fontconfig freetype xproto libXrender ;};
libXi = (stdenv.mkDerivation ((if overrides ? libXi then overrides.libXi else x: x) {
libXi = (stdenvMulti.mkDerivation ((if overrides ? libXi then overrides.libXi else x: x) {
name = "libXi-1.4.1";
builder = ./builder.sh;
src = fetchurl {
url = mirror://xorg/individual/lib/libXi-1.4.1.tar.bz2;
sha256 = "19i92if8anv5pg2mwyy93jcllk1mgxx5gchi8zkjlk7r604ir7sr";
};
outputs = [ "dev" "out" "man" "doc" ];
buildInputs = [pkgconfig inputproto libX11 libXext xextproto xproto ];
})) // {inherit inputproto libX11 libXext xextproto xproto ;};
libXinerama = (stdenv.mkDerivation ((if overrides ? libXinerama then overrides.libXinerama else x: x) {
libXinerama = (stdenvMulti.mkDerivation ((if overrides ? libXinerama then overrides.libXinerama else x: x) {
name = "libXinerama-1.1.1";
builder = ./builder.sh;
src = fetchurl {
url = mirror://xorg/X11R7.6/src/everything/libXinerama-1.1.1.tar.bz2;
sha256 = "17vpsscracg1hza0avrczm9fc7xx3229qhicy101mw6cx2hb9qmv";
};
outputs = [ "dev" "out" "man" ];
buildInputs = [pkgconfig libX11 libXext xextproto xineramaproto ];
})) // {inherit libX11 libXext xextproto xineramaproto ;};
@ -747,23 +756,25 @@ let
buildInputs = [pkgconfig libX11 libXext xextproto xproto libXt ];
})) // {inherit libX11 libXext xextproto xproto libXt ;};
libXrandr = (stdenv.mkDerivation ((if overrides ? libXrandr then overrides.libXrandr else x: x) {
libXrandr = (stdenvMulti.mkDerivation ((if overrides ? libXrandr then overrides.libXrandr else x: x) {
name = "libXrandr-1.3.1";
builder = ./builder.sh;
src = fetchurl {
url = mirror://xorg/X11R7.6/src/everything/libXrandr-1.3.1.tar.bz2;
sha256 = "0qf6aywqk2mgd5hw0nr24xxp5k015aa11sax5yycn14wch4agfv2";
};
outputs = [ "dev" "out" "man" ];
buildInputs = [pkgconfig randrproto renderproto libX11 libXext xextproto xproto libXrender ];
})) // {inherit randrproto renderproto libX11 libXext xextproto xproto libXrender ;};
libXrender = (stdenv.mkDerivation ((if overrides ? libXrender then overrides.libXrender else x: x) {
libXrender = (stdenvMulti.mkDerivation ((if overrides ? libXrender then overrides.libXrender else x: x) {
name = "libXrender-0.9.6";
builder = ./builder.sh;
src = fetchurl {
url = mirror://xorg/X11R7.6/src/everything/libXrender-0.9.6.tar.bz2;
sha256 = "0s567qgys8m6782lbrpvpscm8fkk2jm2717g7s3hm7hhcgib2n3z";
};
outputs = [ "dev" "out" "doc" ];
buildInputs = [pkgconfig renderproto libX11 xproto ];
})) // {inherit renderproto libX11 xproto ;};
@ -887,13 +898,14 @@ let
buildInputs = [pkgconfig ];
})) // {inherit ;};
libxcb = (stdenv.mkDerivation ((if overrides ? libxcb then overrides.libxcb else x: x) {
libxcb = (stdenvMulti.mkDerivation ((if overrides ? libxcb then overrides.libxcb else x: x) {
name = "libxcb-1.7";
builder = ./builder.sh;
src = fetchurl {
url = mirror://xorg/X11R7.6/src/everything/libxcb-1.7.tar.bz2;
sha256 = "1pr40wa3i1f0iwx83c8alcycy9sfzd2y1qlc63kr8q56w8sxqxp7";
};
outputs = [ "dev" "out" "doc" ];
buildInputs = [pkgconfig libxslt libpthreadstubs python libXau xcbproto libXdmcp ];
})) // {inherit libxslt libpthreadstubs python libXau xcbproto libXdmcp ;};

View file

@ -3516,7 +3516,9 @@ let
freeglut = callPackage ../development/libraries/freeglut { };
freetype = callPackage ../development/libraries/freetype { };
freetype = callPackage ../development/libraries/freetype {
stdenv = stdenvMulti;
};
fribidi = callPackage ../development/libraries/fribidi { };
@ -3681,7 +3683,9 @@ let
glpk = callPackage ../development/libraries/glpk { };
gmime = callPackage ../development/libraries/gmime { };
gmime = callPackage ../development/libraries/gmime {
stdenv = stdenvMulti;
};
gmm = callPackage ../development/libraries/gmm { };
@ -3799,19 +3803,29 @@ let
glib_networking = callPackage ../development/libraries/glib-networking {};
atk = callPackage ../development/libraries/atk/2.2.x.nix { };
atk = callPackage ../development/libraries/atk/2.2.x.nix {
stdenv = stdenvMulti;
};
atkmm = callPackage ../development/libraries/atkmm/2.22.x.nix { };
cairo = callPackage ../development/libraries/cairo { };
cairo = callPackage ../development/libraries/cairo {
stdenv = stdenvMulti;
};
pango = callPackage ../development/libraries/pango/1.29.x.nix { };
pango = callPackage ../development/libraries/pango/1.29.x.nix {
stdenv = stdenvMulti;
};
pangomm = callPackage ../development/libraries/pangomm/2.28.x.nix { };
gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf/2.24.x.nix { };
gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf/2.24.x.nix {
stdenv = stdenvMulti;
};
gtk2 = callPackage ../development/libraries/gtk+/2.24.x.nix { };
gtk2 = callPackage ../development/libraries/gtk+/2.24.x.nix {
stdenv = stdenvMulti;
};
gtk = pkgs.gtk2;
@ -4297,7 +4311,9 @@ let
libtheora = callPackage ../development/libraries/libtheora { };
libtiff = callPackage ../development/libraries/libtiff { };
libtiff = callPackage ../development/libraries/libtiff {
stdenv = stdenvMulti;
};
libtiger = callPackage ../development/libraries/libtiger { };
@ -5432,7 +5448,7 @@ let
xinetd = callPackage ../servers/xinetd { };
xorg = recurseIntoAttrs (import ../servers/x11/xorg/default.nix {
inherit fetchurl fetchsvn stdenv pkgconfig freetype fontconfig
inherit fetchurl fetchsvn stdenv stdenvMulti pkgconfig freetype fontconfig
libxslt expat libdrm libpng zlib perl mesa
xkeyboard_config dbus libuuid openssl gperf m4
autoconf libtool xmlto asciidoc udev flex bison python;
@ -6174,10 +6190,12 @@ let
utillinux = lowPrio (callPackage ../os-specific/linux/util-linux {
ncurses = null;
perl = null;
stdenv = stdenvMulti;
});
utillinuxCurses = utillinux.override {
inherit ncurses perl;
stdenv = stdenvMulti;
};
v4l_utils = callPackage ../os-specific/linux/v4l-utils {