summary refs log tree commit diff
path: root/pkgs/development/libraries
diff options
context:
space:
mode:
authorYury G. Kudryashov <urkud.urkud@gmail.com>2011-09-20 16:18:12 +0000
committerYury G. Kudryashov <urkud.urkud@gmail.com>2011-09-20 16:18:12 +0000
commitde8958223842edb17527f1a2427be72929f0a64a (patch)
treec641c530ce52a9112a6c7f08241232101ad9d720 /pkgs/development/libraries
parent03e747c41ab9057f8203a3f77b4e52b5d3c868c6 (diff)
downloadnixlib-de8958223842edb17527f1a2427be72929f0a64a.tar
nixlib-de8958223842edb17527f1a2427be72929f0a64a.tar.gz
nixlib-de8958223842edb17527f1a2427be72929f0a64a.tar.bz2
nixlib-de8958223842edb17527f1a2427be72929f0a64a.tar.lz
nixlib-de8958223842edb17527f1a2427be72929f0a64a.tar.xz
nixlib-de8958223842edb17527f1a2427be72929f0a64a.tar.zst
nixlib-de8958223842edb17527f1a2427be72929f0a64a.zip
Add gtk-3.x libraries
Let hydra build it but do not show in nix-env -qa

svn path=/nixpkgs/trunk/; revision=29398
Diffstat (limited to 'pkgs/development/libraries')
-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
4 files changed, 178 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;
+  };
+}