summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/libraries/atk/2.1.x.nix37
-rw-r--r--pkgs/development/libraries/glib/2.29.x.nix49
-rw-r--r--pkgs/development/libraries/gtk+/3.1.x.nix55
-rw-r--r--pkgs/development/libraries/pango/1.29.x.nix37
-rw-r--r--pkgs/top-level/all-packages.nix17
5 files changed, 195 insertions, 0 deletions
diff --git a/pkgs/development/libraries/atk/2.1.x.nix b/pkgs/development/libraries/atk/2.1.x.nix
new file mode 100644
index 000000000000..28619a85c036
--- /dev/null
+++ b/pkgs/development/libraries/atk/2.1.x.nix
@@ -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;
+ };
+
+}
diff --git a/pkgs/development/libraries/glib/2.29.x.nix b/pkgs/development/libraries/glib/2.29.x.nix
new file mode 100644
index 000000000000..589ec625dcc2
--- /dev/null
+++ b/pkgs/development/libraries/glib/2.29.x.nix
@@ -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;
+ };
+}
diff --git a/pkgs/development/libraries/gtk+/3.1.x.nix b/pkgs/development/libraries/gtk+/3.1.x.nix
new file mode 100644
index 000000000000..5b473d44e7ea
--- /dev/null
+++ b/pkgs/development/libraries/gtk+/3.1.x.nix
@@ -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;
+ };
+}
diff --git a/pkgs/development/libraries/pango/1.29.x.nix b/pkgs/development/libraries/pango/1.29.x.nix
new file mode 100644
index 000000000000..14dd3d8c5a5e
--- /dev/null
+++ b/pkgs/development/libraries/pango/1.29.x.nix
@@ -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;
+ };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index ba91b42d67b3..0547f5c12164 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -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;