Add gtk-3.x libraries

Let hydra build it but do not show in nix-env -qa

svn path=/nixpkgs/trunk/; revision=29398
This commit is contained in:
Yury G. Kudryashov 2011-09-20 16:18:12 +00:00
parent 03e747c41a
commit de89582238
5 changed files with 195 additions and 0 deletions

View File

@ -0,0 +1,37 @@
{ stdenv, fetchurl_gnome, pkgconfig, perl, glib, xz }:
stdenv.mkDerivation rec {
name = src.pkgname;
src = fetchurl_gnome {
project = "atk";
major = "2"; minor = "1"; patchlevel = "5"; extension = "xz";
sha256 = "005b9sq8p9ykp4f35b59si3mcbw4p9hyxps1ij4x73p07rrbf0z9";
};
buildNativeInputs = [ pkgconfig perl xz ];
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 = with stdenv.lib.maintainers; [ raskin urkud ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -0,0 +1,49 @@
{ stdenv, fetchurl_gnome, pkgconfig, gettext, perl, libiconv, zlib, xz, libffi
, python }:
# TODO:
# * Add gio-module-fam
# Problem: cyclic dependency on gamin
# Possible solution: build as a standalone module, set env. vars
# * Make it build without python
# Problem: an example (test?) program needs it.
# Possible solution: disable compilation of this example somehow
# Reminder: add 'sed -e 's@python2\.[0-9]@python@' -i
# $out/bin/gtester-report' to postInstall if this is solved
stdenv.mkDerivation rec {
name = src.pkgname;
src = fetchurl_gnome {
project = "glib";
major = "2"; minor = "29"; patchlevel = "18"; extension = "xz";
sha256 = "1hc198x625w1w8if1xlvqyjs9aazc27s0l374kqc4sr51wcpbxpy";
};
# configure script looks for d-bus but it is only needed for tests
buildInputs = stdenv.lib.optional (!stdenv.isLinux) libiconv;
buildNativeInputs = [ perl pkgconfig gettext xz python ];
propagatedBuildInputs = [ zlib libffi ];
# glib buildsystem fails to find python, thus hardcodes python2.4 in #!
postInstall = ''rm -rvf $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 = with stdenv.lib.maintainers; [raskin urkud];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -0,0 +1,55 @@
{ stdenv, fetchurl_gnome, pkgconfig, glib, atk, pango, cairo, perl, xlibs
, gdk_pixbuf, xz
, xineramaSupport ? true
, cupsSupport ? true, cups ? null
}:
assert xineramaSupport -> xlibs.libXinerama != null;
assert cupsSupport -> cups != null;
stdenv.mkDerivation rec {
name = src.pkgname;
src = fetchurl_gnome {
project = "gtk+";
major = "3"; minor = "1"; patchlevel = "16"; extension = "xz";
sha256 = "15arbf75qpchr9wrawb3zkn52rzf5wm2qv4dq10zfzlflimrq2rg";
};
enableParallelBuilding = true;
buildNativeInputs = [ perl pkgconfig xz ];
propagatedBuildInputs =
[ xlibs.xlibs glib atk pango gdk_pixbuf cairo
xlibs.libXrandr xlibs.libXrender xlibs.libXcomposite xlibs.libXi
]
++ stdenv.lib.optional xineramaSupport xlibs.libXinerama
++ stdenv.lib.optionals cupsSupport [ cups ];
configureFlags = "--with-xinput=yes";
postInstall = "rm -rf $out/share/gtk-doc";
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 = with stdenv.lib.maintainers; [urkud raskin];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -0,0 +1,37 @@
{ stdenv, fetchurl_gnome, pkgconfig, gettext, x11, glib, cairo, libpng, xz }:
stdenv.mkDerivation rec {
name = src.pkgname;
src = fetchurl_gnome {
project = "pango";
major = "1"; minor = "29"; patchlevel = "3"; extension = "xz";
sha256 = "0vp88j3ghngkkc4dpya443qng0bb1g86g54bcwf4lf3zmk6r1nmh";
};
buildInputs = stdenv.lib.optional stdenv.isDarwin gettext;
buildNativeInputs = [ pkgconfig xz ];
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";
longDescription = ''
Pango is a library for laying out and rendering of text, with an
emphasis on internationalization. Pango can be used anywhere
that text layout is needed, though most of the work on Pango so
far has been done in the context of the GTK+ widget toolkit.
Pango forms the core of text and font handling for GTK+-2.x.
'';
homepage = http://www.pango.org/;
license = "LGPLv2+";
maintainers = with stdenv.lib.maintainers; [ raskin urkud ];
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -3564,6 +3564,23 @@ let
});
gtkLibs3x = let callPackage = newScope pkgs.gtkLibs3x; in {
glib = callPackage ../development/libraries/glib/2.29.x.nix { };
gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf/2.24.x.nix { };
atk = callPackage ../development/libraries/atk/2.1.x.nix { };
cairo = callPackage ../development/libraries/cairo { };
pango = callPackage ../development/libraries/pango/1.29.x.nix { };
gtk = callPackage ../development/libraries/gtk+/3.1.x.nix { };
# Let hydra build gtk-3.x but do not show this to users yet
recurseForRelease = true;
};
gtkmozembedsharp = callPackage ../development/libraries/gtkmozembed-sharp {
inherit (gnome) gtk;
gtksharp = gtksharp2;