* Latest Glib, ATK, Pango and GTK+.

* Added gdk-pixbuf, which has been revived and is required by GTK+.
* Don't install the documentation of aforementioned packages.  This
  cuts 56 MiB off the closure of GTK+-based packages.  It wasn't
  really useful anyway because it's not installed in a way that allows
  users to find it easily on NixOS.  And if you want it, it's faster
  to Google it.

svn path=/nixpkgs/branches/x-updates/; revision=25853
This commit is contained in:
Eelco Dolstra 2011-02-09 15:09:29 +00:00
parent 51fe520113
commit 6a59d1a98f
8 changed files with 180 additions and 2 deletions

View File

@ -0,0 +1,35 @@
{ stdenv, fetchurl, pkgconfig, perl, glib }:
stdenv.mkDerivation rec {
name = "atk-1.32.0";
src = fetchurl {
url = "mirror://gnome/sources/atk/1.32/${name}.tar.bz2";
sha256 = "e9a3e598f75c4db1af914f8b052dd9f7e89e920a96cc187c18eb06b8339cb16e";
};
buildInputs = [ pkgconfig perl ];
propagatedBuildInputs = [ glib ];
postInstall = "rm -rf $out/share/gtk-doc";
meta = {
description = "ATK, the accessibility toolkit";
longDescription = ''
ATK is the Accessibility Toolkit. It provides a set of generic
interfaces allowing accessibility technologies such as screen
readers to interact with a graphical user interface. Using the
ATK interfaces, accessibility tools have full access to view and
control running applications.
'';
homepage = http://library.gnome.org/devel/atk/;
license = "LGPLv2+";
maintainers = [stdenv.lib.maintainers.raskin];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -0,0 +1,23 @@
{ stdenv, fetchurl, pkgconfig, glib, libtiff, libjpeg, libpng }:
stdenv.mkDerivation rec {
name = "gdk-pixbuf-2.22.1";
src = fetchurl {
url = "mirror://gnome/sources/gdk-pixbuf/2.22/${name}.tar.bz2";
sha256 = "6ce87eda24af9362307b2593c154d0b660f4e26d0abf2e71d46d0ddd55fd953d";
};
buildInputs = [ pkgconfig glib libtiff libjpeg libpng ];
postInstall = "rm -rf $out/share/gtk-doc";
meta = {
description = "A library for image loading and manipulation";
homepage = http://library.gnome.org/devel/gdk-pixbuf/;
maintainers = [ stdenv.lib.maintainers.eelco ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -0,0 +1,36 @@
{ stdenv, fetchurl, pkgconfig, gettext, perl, libiconv, zlib }:
stdenv.mkDerivation rec {
name = "glib-2.28.0";
src = fetchurl {
url = "mirror://gnome/sources/glib/2.28/${name}.tar.bz2";
sha256 = "0605f538e5c022c237c97a34496979ba71d33c7b10b8d8edb84435498a651fb3";
};
buildInputs = [ pkgconfig gettext ]
++ stdenv.lib.optional (!stdenv.isLinux) libiconv;
buildNativeInputs = [ perl ];
propagatedBuildInputs = [ zlib ];
postInstall = "rm -rf $out/share/gtk-doc";
meta = {
description = "GLib, a C library of programming buildings blocks";
longDescription = ''
GLib provides the core application building blocks for libraries
and applications written in C. It provides the core object
system used in GNOME, the main loop implementation, and a large
set of utility functions for strings and common data structures.
'';
homepage = http://www.gtk.org/;
license = "LGPLv2+";
maintainers = [stdenv.lib.maintainers.raskin];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -0,0 +1,53 @@
{ stdenv, fetchurl, pkgconfig, glib, atk, pango, libtiff, libjpeg
, libpng, cairo, perl, jasper, xlibs, gdk_pixbuf
, xineramaSupport ? true
, cupsSupport ? true, cups ? null
}:
assert xineramaSupport -> xlibs.libXinerama != null;
assert cupsSupport -> cups != null;
stdenv.mkDerivation rec {
name = "gtk+-2.24.0";
src = fetchurl {
url = "mirror://gnome/sources/gtk+/2.24/${name}.tar.bz2";
sha256 = "cbed1a7b8cd1e471388a00f22557dd061334698a0c1aece11b7ed6541d115606";
};
buildNativeInputs = [ perl ];
buildInputs = [ pkgconfig jasper ];
propagatedBuildInputs =
[ xlibs.xlibs glib atk pango gdk_pixbuf /* libtiff libjpeg libpng */ cairo
xlibs.libXrandr xlibs.libXrender xlibs.libXcomposite
]
++ stdenv.lib.optional xineramaSupport xlibs.libXinerama
++ stdenv.lib.optionals cupsSupport [ cups ];
postInstall = "rm -rf $out/share/gtk-doc";
passthru = { inherit libtiff libjpeg libpng; };
meta = {
description = "A multi-platform toolkit for creating graphical user interfaces";
longDescription = ''
GTK+ is a highly usable, feature rich toolkit for creating
graphical user interfaces which boasts cross platform
compatibility and an easy to use API. GTK+ it is written in C,
but has bindings to many other popular programming languages
such as C++, Python and C# among others. GTK+ is licensed
under the GNU LGPL 2.1 allowing development of both free and
proprietary software with GTK+ without any license fees or
royalties.
'';
homepage = http://www.gtk.org/;
license = "LGPLv2+";
maintainers = [stdenv.lib.maintainers.raskin];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
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

@ -63,11 +63,20 @@ in
preConfigure = setMalloc0ReturnsNullCrossCompiling;
};
# Propagate some build inputs because of header file dependencies.
libXt = attrs: attrs // {
preConfigure = setMalloc0ReturnsNullCrossCompiling;
propagatedBuildInputs = [ xorg.libSM ];
};
compositeproto = attrs: attrs // {
propagatedBuildInputs = [ xorg.fixesproto ];
};
libXcomposite = attrs: attrs // {
propagatedBuildInputs = [ xorg.libXfixes ];
};
libXft = attrs: attrs // {
buildInputs = attrs.buildInputs ++ [ xorg.xproto xorg.libX11
xorg.renderproto ];

View File

@ -2989,7 +2989,7 @@ let
gdbm = callPackage ../development/libraries/gdbm { };
gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf {
gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf/0.22.x.nix {
inherit (gtkLibs1x) gtk;
};
@ -3185,7 +3185,7 @@ let
gtkmathview = callPackage ../development/libraries/gtkmathview { };
gtkLibs = gtkLibs220;
gtkLibs = gtkLibs224;
glib = gtkLibs.glib;
gtk = gtkLibs.gtk;
@ -3235,6 +3235,26 @@ let
});
gtkLibs224 = recurseIntoAttrs (let callPackage = pkgs.newScope pkgs.gtkLibs224; in rec {
glib = callPackage ../development/libraries/glib/2.28.x.nix { };
glibmm = callPackage ../development/libraries/glibmm/2.22.x.nix { };
atk = callPackage ../development/libraries/atk/1.32.x.nix { };
pango = callPackage ../development/libraries/pango/1.28.x.nix { };
pangomm = callPackage ../development/libraries/pangomm/2.26.x.nix { };
gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf/2.22.x.nix { };
gtk = callPackage ../development/libraries/gtk+/2.24.x.nix { };
gtkmm = callPackage ../development/libraries/gtkmm/2.18.x.nix { };
});
gtkmozembedsharp = callPackage ../development/libraries/gtkmozembed-sharp {
inherit (gnome) gtk;
gtksharp = gtksharp2;