about summary refs log tree commit diff
path: root/pkgs/development/libraries/gtk-libs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/gtk-libs')
-rw-r--r--pkgs/development/libraries/gtk-libs/1.x/default.nix17
-rw-r--r--pkgs/development/libraries/gtk-libs/1.x/gdk-pixbuf/default.nix16
-rw-r--r--pkgs/development/libraries/gtk-libs/1.x/glib/default.nix12
-rw-r--r--pkgs/development/libraries/gtk-libs/1.x/glib/gcc34.patch20
-rw-r--r--pkgs/development/libraries/gtk-libs/1.x/gtk+/builder.sh7
-rw-r--r--pkgs/development/libraries/gtk-libs/1.x/gtk+/default.nix17
-rw-r--r--pkgs/development/libraries/gtk-libs/2.10/atk/default.nix11
-rw-r--r--pkgs/development/libraries/gtk-libs/2.10/default.nix16
-rw-r--r--pkgs/development/libraries/gtk-libs/2.10/glib/default.nix10
-rw-r--r--pkgs/development/libraries/gtk-libs/2.10/glibmm/default.nix13
-rw-r--r--pkgs/development/libraries/gtk-libs/2.10/gtk+/default.nix13
-rw-r--r--pkgs/development/libraries/gtk-libs/2.10/gtkmm/default.nix13
-rw-r--r--pkgs/development/libraries/gtk-libs/2.10/pango/default.nix11
-rw-r--r--pkgs/development/libraries/gtk-libs/2.6/atk/default.nix13
-rw-r--r--pkgs/development/libraries/gtk-libs/2.6/default.nix23
-rw-r--r--pkgs/development/libraries/gtk-libs/2.6/glib/default.nix12
-rw-r--r--pkgs/development/libraries/gtk-libs/2.6/glibmm/default.nix12
-rw-r--r--pkgs/development/libraries/gtk-libs/2.6/gtk+/default.nix21
-rw-r--r--pkgs/development/libraries/gtk-libs/2.6/gtkmm/default.nix12
-rw-r--r--pkgs/development/libraries/gtk-libs/2.6/pango/default.nix14
-rw-r--r--pkgs/development/libraries/gtk-libs/2.8/atk/default.nix13
-rw-r--r--pkgs/development/libraries/gtk-libs/2.8/default.nix26
-rw-r--r--pkgs/development/libraries/gtk-libs/2.8/glib/default.nix13
-rw-r--r--pkgs/development/libraries/gtk-libs/2.8/glibmm/default.nix12
-rw-r--r--pkgs/development/libraries/gtk-libs/2.8/gtk+/default.nix22
-rw-r--r--pkgs/development/libraries/gtk-libs/2.8/gtkmm/default.nix12
-rw-r--r--pkgs/development/libraries/gtk-libs/2.8/pango/default.nix13
27 files changed, 394 insertions, 0 deletions
diff --git a/pkgs/development/libraries/gtk-libs/1.x/default.nix b/pkgs/development/libraries/gtk-libs/1.x/default.nix
new file mode 100644
index 0000000000000..0e86abd788b59
--- /dev/null
+++ b/pkgs/development/libraries/gtk-libs/1.x/default.nix
@@ -0,0 +1,17 @@
+{stdenv, fetchurl, x11, libtiff, libjpeg, libpng}:
+
+rec {
+
+  glib = (import ./glib) {
+    inherit fetchurl stdenv;
+  };
+
+  gtk = (import ./gtk+) {
+    inherit fetchurl stdenv x11 glib;
+  };
+
+  gdkpixbuf = (import ./gdk-pixbuf) {
+    inherit fetchurl stdenv gtk libtiff libjpeg libpng;
+  };
+
+}
\ No newline at end of file
diff --git a/pkgs/development/libraries/gtk-libs/1.x/gdk-pixbuf/default.nix b/pkgs/development/libraries/gtk-libs/1.x/gdk-pixbuf/default.nix
new file mode 100644
index 0000000000000..4e28a78930fc2
--- /dev/null
+++ b/pkgs/development/libraries/gtk-libs/1.x/gdk-pixbuf/default.nix
@@ -0,0 +1,16 @@
+{stdenv, fetchurl, gtk, libtiff, libjpeg, libpng}:
+
+assert gtk != null && libtiff != null
+  && libjpeg != null && libpng != null;
+
+stdenv.mkDerivation {
+  name = "gdk-pixbuf-0.22.0";
+
+  src = fetchurl {
+    url = ftp://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/0.22/gdk-pixbuf-0.22.0.tar.bz2;
+    md5 = "05fcb68ceaa338614ab650c775efc2f2";
+  };
+
+  buildInputs = [libtiff libjpeg libpng];
+  propagatedBuildInputs = [gtk];
+}
diff --git a/pkgs/development/libraries/gtk-libs/1.x/glib/default.nix b/pkgs/development/libraries/gtk-libs/1.x/glib/default.nix
new file mode 100644
index 0000000000000..8aa5005b61719
--- /dev/null
+++ b/pkgs/development/libraries/gtk-libs/1.x/glib/default.nix
@@ -0,0 +1,12 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation {
+  name = "glib-1.2.10";
+  src = fetchurl {
+    url = ftp://ftp.gtk.org/pub/gtk/v1.2/glib-1.2.10.tar.gz;
+    md5 = "6fe30dad87c77b91b632def29dd69ef9";
+  };
+  # Patch for gcc 3.4 compatibility.  Based on
+  # http://cvs.openpkg.org/chngview?cn=16208.
+  patches = [./gcc34.patch];
+}
diff --git a/pkgs/development/libraries/gtk-libs/1.x/glib/gcc34.patch b/pkgs/development/libraries/gtk-libs/1.x/glib/gcc34.patch
new file mode 100644
index 0000000000000..13d35c822099c
--- /dev/null
+++ b/pkgs/development/libraries/gtk-libs/1.x/glib/gcc34.patch
@@ -0,0 +1,20 @@
+diff -rc glib-orig/glib.h glib-1.2.10/glib.h
+*** glib-orig/glib.h	2001-02-27 04:44:38.000000000 +0100
+--- glib-1.2.10/glib.h	2004-09-22 10:22:01.000000000 +0200
+***************
+*** 272,278 ****
+  /* Wrap the gcc __PRETTY_FUNCTION__ and __FUNCTION__ variables with
+   * macros, so we can refer to them as strings unconditionally.
+   */
+! #ifdef	__GNUC__
+  #define	G_GNUC_FUNCTION		__FUNCTION__
+  #define	G_GNUC_PRETTY_FUNCTION	__PRETTY_FUNCTION__
+  #else	/* !__GNUC__ */
+--- 272,278 ----
+  /* Wrap the gcc __PRETTY_FUNCTION__ and __FUNCTION__ variables with
+   * macros, so we can refer to them as strings unconditionally.
+   */
+! #if   defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ < 4)
+  #define	G_GNUC_FUNCTION		__FUNCTION__
+  #define	G_GNUC_PRETTY_FUNCTION	__PRETTY_FUNCTION__
+  #else	/* !__GNUC__ */
diff --git a/pkgs/development/libraries/gtk-libs/1.x/gtk+/builder.sh b/pkgs/development/libraries/gtk-libs/1.x/gtk+/builder.sh
new file mode 100644
index 0000000000000..da9b8dc6128f9
--- /dev/null
+++ b/pkgs/development/libraries/gtk-libs/1.x/gtk+/builder.sh
@@ -0,0 +1,7 @@
+source $stdenv/setup
+genericBuild
+
+if test -n "$_propagatedBuildInputs"; then
+    if ! test -x $out/nix-support; then mkdir $out/nix-support; fi
+    echo "$_propagatedBuildInputs" > $out/nix-support/propagated-build-inputs
+fi
diff --git a/pkgs/development/libraries/gtk-libs/1.x/gtk+/default.nix b/pkgs/development/libraries/gtk-libs/1.x/gtk+/default.nix
new file mode 100644
index 0000000000000..7762ee57b77e4
--- /dev/null
+++ b/pkgs/development/libraries/gtk-libs/1.x/gtk+/default.nix
@@ -0,0 +1,17 @@
+{stdenv, fetchurl, x11, glib}:
+
+assert x11 != null && glib != null;
+assert x11.buildClientLibs;
+
+stdenv.mkDerivation {
+  name = "gtk+-1.2.10";
+
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = ftp://ftp.gtk.org/pub/gtk/v1.2/gtk+-1.2.10.tar.gz;
+    md5 = "4d5cb2fc7fb7830e4af9747a36bfce20";
+  };
+
+  buildInputs = [x11 glib];
+  _propagatedBuildInputs = [x11 glib];
+}
diff --git a/pkgs/development/libraries/gtk-libs/2.10/atk/default.nix b/pkgs/development/libraries/gtk-libs/2.10/atk/default.nix
new file mode 100644
index 0000000000000..1dae480423f85
--- /dev/null
+++ b/pkgs/development/libraries/gtk-libs/2.10/atk/default.nix
@@ -0,0 +1,11 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "atk-1.12.4";
+  src = fetchurl {
+    url = http://ftp.gnome.org/pub/gnome/sources/atk/1.12/atk-1.12.4.tar.bz2;
+    md5 = "0a2c6a7bbc380e3a3d94e9061f76a849";
+  };
+  buildInputs = [pkgconfig perl];
+  propagatedBuildInputs = [glib];
+}
diff --git a/pkgs/development/libraries/gtk-libs/2.10/default.nix b/pkgs/development/libraries/gtk-libs/2.10/default.nix
new file mode 100644
index 0000000000000..0fc77dde6274c
--- /dev/null
+++ b/pkgs/development/libraries/gtk-libs/2.10/default.nix
@@ -0,0 +1,16 @@
+args: with args;
+
+rec {
+
+  glib = (import ./glib) args;
+
+  atk = (import ./atk) (args // { inherit glib; });
+
+  pango = (import ./pango) (args // { inherit glib; });
+
+  gtk = (import ./gtk+) (args // { inherit glib atk pango; } );
+
+  glibmm = (import ./glibmm) (args // { inherit glib; });
+
+  gtkmm = (import ./gtkmm) (args // { inherit gtk atk glibmm; });
+}
diff --git a/pkgs/development/libraries/gtk-libs/2.10/glib/default.nix b/pkgs/development/libraries/gtk-libs/2.10/glib/default.nix
new file mode 100644
index 0000000000000..9af2ab959b125
--- /dev/null
+++ b/pkgs/development/libraries/gtk-libs/2.10/glib/default.nix
@@ -0,0 +1,10 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "glib-2.12.13"; # <- sic! gtk 2.10 needs glib 2.12
+  src = fetchurl {
+    url = ftp://ftp.gtk.org/pub/glib/2.12/glib-2.12.13.tar.gz;
+    sha256 = "1aa3jq7l6qv2pm4y0zn9zjnh1sbkynibybmiydghj02c89d3d000";
+  };
+  buildInputs = [pkgconfig gettext perl];
+}
diff --git a/pkgs/development/libraries/gtk-libs/2.10/glibmm/default.nix b/pkgs/development/libraries/gtk-libs/2.10/glibmm/default.nix
new file mode 100644
index 0000000000000..bbdde49b75d0b
--- /dev/null
+++ b/pkgs/development/libraries/gtk-libs/2.10/glibmm/default.nix
@@ -0,0 +1,13 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "glibmm-2.12.10";
+  src = fetchurl {
+    url = http://ftp.gnome.org/pub/GNOME/sources/glibmm/2.12/glibmm-2.12.10.tar.bz2;
+    sha256 = "02rjjdh0f6kafa1sn4y5ykvm4f2qn3yh4kr4lngcv7vzasqn1dr1";
+  };
+
+  buildInputs = [pkgconfig];
+  propagatedBuildInputs = [glib libsigcxx];
+}
+
diff --git a/pkgs/development/libraries/gtk-libs/2.10/gtk+/default.nix b/pkgs/development/libraries/gtk-libs/2.10/gtk+/default.nix
new file mode 100644
index 0000000000000..a819c1fc2755a
--- /dev/null
+++ b/pkgs/development/libraries/gtk-libs/2.10/gtk+/default.nix
@@ -0,0 +1,13 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "gtk+-2.10.14";
+  src = fetchurl {
+    url = ftp://ftp.gtk.org/pub/gtk/v2.10/gtk+-2.10.14.tar.bz2;
+    sha256 = "1qjdx9kdc533dajdy1kv3ssxzh7gz7j7vzgw0ax910q4klil88yh";
+  };
+  buildInputs = [ pkgconfig perl ];
+  propagatedBuildInputs = [x11 glib atk pango libtiff libjpeg libpng cairo
+    libXrandr (if xineramaSupport then libXinerama else null)];
+  passthru = { inherit libtiff libjpeg libpng; };
+}
diff --git a/pkgs/development/libraries/gtk-libs/2.10/gtkmm/default.nix b/pkgs/development/libraries/gtk-libs/2.10/gtkmm/default.nix
new file mode 100644
index 0000000000000..9a44e9a6ba228
--- /dev/null
+++ b/pkgs/development/libraries/gtk-libs/2.10/gtkmm/default.nix
@@ -0,0 +1,13 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "gtkmm-2.10.11";
+  src = fetchurl {
+    url = http://ftp.gnome.org/pub/GNOME/sources/gtkmm/2.10/gtkmm-2.10.11.tar.bz2;
+    sha256 = "1bri9r0k69dmi5xgzrlfllp3adfzhz8dh9zkcvi6sjkgfwi594vx";
+  };
+
+  buildInputs = [pkgconfig];
+  propagatedBuildInputs = [glibmm gtk atk cairomm];
+}
+
diff --git a/pkgs/development/libraries/gtk-libs/2.10/pango/default.nix b/pkgs/development/libraries/gtk-libs/2.10/pango/default.nix
new file mode 100644
index 0000000000000..faf5ffb47240e
--- /dev/null
+++ b/pkgs/development/libraries/gtk-libs/2.10/pango/default.nix
@@ -0,0 +1,11 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "pango-1.14.10";
+  src = fetchurl {
+    url = ftp://ftp.gtk.org/pub/pango/1.14/pango-1.14.10.tar.bz2;
+    md5 = "e9fc2f8168e74e2fa0aa8238ee0e9c06";
+  };
+  buildInputs = [pkgconfig];
+  propagatedBuildInputs = [x11 glib cairo libpng];
+}
diff --git a/pkgs/development/libraries/gtk-libs/2.6/atk/default.nix b/pkgs/development/libraries/gtk-libs/2.6/atk/default.nix
new file mode 100644
index 0000000000000..66720d4dbebef
--- /dev/null
+++ b/pkgs/development/libraries/gtk-libs/2.6/atk/default.nix
@@ -0,0 +1,13 @@
+{stdenv, fetchurl, pkgconfig, glib, perl}:
+
+assert pkgconfig != null && glib != null && perl != null;
+
+stdenv.mkDerivation {
+  name = "atk-1.9.0";
+  src = fetchurl {
+    url = http://nix.cs.uu.nl/dist/tarballs/atk-1.9.0.tar.bz2;
+    md5 = "7f41bd9c6dcd83c8df391dc1805be653";
+  };
+  buildInputs = [pkgconfig perl];
+  propagatedBuildInputs = [glib];
+}
diff --git a/pkgs/development/libraries/gtk-libs/2.6/default.nix b/pkgs/development/libraries/gtk-libs/2.6/default.nix
new file mode 100644
index 0000000000000..dc01a534d814f
--- /dev/null
+++ b/pkgs/development/libraries/gtk-libs/2.6/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, gettext, perl, x11
+, libtiff, libjpeg, libpng}:
+
+rec {
+
+  glib = (import ./glib) {
+    inherit fetchurl stdenv pkgconfig gettext perl;
+  };
+
+  atk = (import ./atk) {
+    inherit fetchurl stdenv pkgconfig glib perl;
+  };
+
+  pango = (import ./pango) {
+    inherit fetchurl stdenv pkgconfig glib x11;
+  };
+
+  gtk = (import ./gtk+) {
+    inherit fetchurl stdenv pkgconfig glib atk pango perl
+            libtiff libjpeg libpng x11;
+  };
+
+}
diff --git a/pkgs/development/libraries/gtk-libs/2.6/glib/default.nix b/pkgs/development/libraries/gtk-libs/2.6/glib/default.nix
new file mode 100644
index 0000000000000..1dc3407a76e81
--- /dev/null
+++ b/pkgs/development/libraries/gtk-libs/2.6/glib/default.nix
@@ -0,0 +1,12 @@
+{stdenv, fetchurl, pkgconfig, gettext, perl}:
+
+assert pkgconfig != null && gettext != null && perl != null;
+
+stdenv.mkDerivation {
+  name = "glib-2.6.6";
+  src = fetchurl {
+    url = ftp://ftp.gtk.org/pub/gtk/v2.6/glib-2.6.6.tar.bz2;
+    md5 = "6e22b0639d314536f23ee118f29b43de";
+  };
+  buildInputs = [pkgconfig gettext perl];
+}
diff --git a/pkgs/development/libraries/gtk-libs/2.6/glibmm/default.nix b/pkgs/development/libraries/gtk-libs/2.6/glibmm/default.nix
new file mode 100644
index 0000000000000..957c596fc7b11
--- /dev/null
+++ b/pkgs/development/libraries/gtk-libs/2.6/glibmm/default.nix
@@ -0,0 +1,12 @@
+{stdenv, fetchurl, pkgconfig, glib, libsigcxx}:
+
+stdenv.mkDerivation {
+  name = "glibmm-2.6.4";
+  src = fetchurl {
+    url = http://ftp.gnome.org/pub/GNOME/sources/glibmm/2.6/glibmm-2.6.1.tar.bz2;
+    md5 = "e37da352bf581503c5866f0231fd4a74";
+  };
+
+  buildInputs = [pkgconfig glib libsigcxx];
+}
+
diff --git a/pkgs/development/libraries/gtk-libs/2.6/gtk+/default.nix b/pkgs/development/libraries/gtk-libs/2.6/gtk+/default.nix
new file mode 100644
index 0000000000000..06e37f070da2a
--- /dev/null
+++ b/pkgs/development/libraries/gtk-libs/2.6/gtk+/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, pkgconfig, x11, glib, atk
+, pango, perl, libtiff, libjpeg, libpng}:
+
+assert pkgconfig != null && x11 != null && glib != null && atk != null
+  && pango != null && perl != null && perl != null && libtiff != null
+  && libjpeg != null && libpng != null;
+assert x11.buildClientLibs;
+#assert glib == atk.glib;
+#assert glib == pango.glib;
+#assert x11 == pango.x11;
+
+stdenv.mkDerivation {
+  name = "gtk+-2.6.10";
+  src = fetchurl {
+    url = ftp://ftp.gtk.org/pub/gtk/v2.6/gtk+-2.6.10.tar.bz2;
+    md5 = "520090ef291e35ba93397060e20f5025";
+  };
+  buildInputs = [pkgconfig perl libtiff libjpeg libpng];
+  propagatedBuildInputs = [x11 glib atk pango];
+  inherit libtiff libjpeg libpng;
+}
diff --git a/pkgs/development/libraries/gtk-libs/2.6/gtkmm/default.nix b/pkgs/development/libraries/gtk-libs/2.6/gtkmm/default.nix
new file mode 100644
index 0000000000000..ebc1e881c471f
--- /dev/null
+++ b/pkgs/development/libraries/gtk-libs/2.6/gtkmm/default.nix
@@ -0,0 +1,12 @@
+{ stdenv, fetchurl, pkgconfig, gtk, atk, glibmm, libsigcxx}:
+
+stdenv.mkDerivation {
+  name = "gtkmm-2.6.4";
+  src = fetchurl {
+    url = http://ftp.gnome.org/pub/GNOME/sources/gtkmm/2.6/gtkmm-2.6.4.tar.bz2;
+    md5 = "f71d1c4a89c4f9e054400f12a82dec5f";
+  };
+
+  buildInputs = [pkgconfig gtk atk glibmm libsigcxx];
+}
+
diff --git a/pkgs/development/libraries/gtk-libs/2.6/pango/default.nix b/pkgs/development/libraries/gtk-libs/2.6/pango/default.nix
new file mode 100644
index 0000000000000..6b9391e0a0b15
--- /dev/null
+++ b/pkgs/development/libraries/gtk-libs/2.6/pango/default.nix
@@ -0,0 +1,14 @@
+{stdenv, fetchurl, pkgconfig, x11, glib}:
+
+assert pkgconfig != null && x11 != null && glib != null;
+assert x11.buildClientLibs;
+
+stdenv.mkDerivation {
+  name = "pango-1.8.2";
+  src = fetchurl {
+    url = ftp://ftp.gtk.org/pub/gtk/v2.6/pango-1.8.2.tar.bz2;
+    md5 = "f5b5da7a173f0566d8217ec112fde993";
+  };
+  buildInputs = [pkgconfig];
+  propagatedBuildInputs = [x11 glib];
+}
diff --git a/pkgs/development/libraries/gtk-libs/2.8/atk/default.nix b/pkgs/development/libraries/gtk-libs/2.8/atk/default.nix
new file mode 100644
index 0000000000000..075375675203e
--- /dev/null
+++ b/pkgs/development/libraries/gtk-libs/2.8/atk/default.nix
@@ -0,0 +1,13 @@
+{stdenv, fetchurl, pkgconfig, glib, perl}:
+
+assert pkgconfig != null && glib != null && perl != null;
+
+stdenv.mkDerivation {
+  name = "atk-1.10.3";
+  src = fetchurl {
+    url = ftp://ftp.gtk.org/pub/gtk/v2.8/atk-1.10.3.tar.bz2;
+    md5 = "c84a01fea567b365c0d44b227fead948";
+  };
+  buildInputs = [pkgconfig perl];
+  propagatedBuildInputs = [glib];
+}
diff --git a/pkgs/development/libraries/gtk-libs/2.8/default.nix b/pkgs/development/libraries/gtk-libs/2.8/default.nix
new file mode 100644
index 0000000000000..ee5abd562b1e8
--- /dev/null
+++ b/pkgs/development/libraries/gtk-libs/2.8/default.nix
@@ -0,0 +1,26 @@
+{ xineramaSupport ? false
+, stdenv, fetchurl, pkgconfig, gettext, perl, x11
+, libtiff, libjpeg, libpng, cairo, libXinerama ? null
+}:
+
+rec {
+
+  glib = (import ./glib) {
+    inherit fetchurl stdenv pkgconfig gettext perl;
+  };
+
+  atk = (import ./atk) {
+    inherit fetchurl stdenv pkgconfig glib perl;
+  };
+
+  pango = (import ./pango) {
+    inherit fetchurl stdenv pkgconfig glib x11 cairo;
+  };
+
+  gtk = (import ./gtk+) {
+    inherit fetchurl stdenv pkgconfig glib atk pango perl
+            libtiff libjpeg libpng x11 cairo libXinerama
+            xineramaSupport;
+  };
+
+}
diff --git a/pkgs/development/libraries/gtk-libs/2.8/glib/default.nix b/pkgs/development/libraries/gtk-libs/2.8/glib/default.nix
new file mode 100644
index 0000000000000..f73a1f388f4e0
--- /dev/null
+++ b/pkgs/development/libraries/gtk-libs/2.8/glib/default.nix
@@ -0,0 +1,13 @@
+{stdenv, fetchurl, pkgconfig, gettext, perl}:
+
+assert pkgconfig != null && gettext != null && perl != null;
+
+stdenv.mkDerivation {
+  name = "glib-2.10.3";
+  src = fetchurl {
+    url = ftp://ftp.gtk.org/pub/glib/2.10/glib-2.10.3.tar.bz2;
+    md5 = "87206e721c12d185d17dd9ecd7e30369";
+  };
+  buildInputs = [pkgconfig perl];
+  propagatedBuildInputs = [gettext];
+}
diff --git a/pkgs/development/libraries/gtk-libs/2.8/glibmm/default.nix b/pkgs/development/libraries/gtk-libs/2.8/glibmm/default.nix
new file mode 100644
index 0000000000000..957c596fc7b11
--- /dev/null
+++ b/pkgs/development/libraries/gtk-libs/2.8/glibmm/default.nix
@@ -0,0 +1,12 @@
+{stdenv, fetchurl, pkgconfig, glib, libsigcxx}:
+
+stdenv.mkDerivation {
+  name = "glibmm-2.6.4";
+  src = fetchurl {
+    url = http://ftp.gnome.org/pub/GNOME/sources/glibmm/2.6/glibmm-2.6.1.tar.bz2;
+    md5 = "e37da352bf581503c5866f0231fd4a74";
+  };
+
+  buildInputs = [pkgconfig glib libsigcxx];
+}
+
diff --git a/pkgs/development/libraries/gtk-libs/2.8/gtk+/default.nix b/pkgs/development/libraries/gtk-libs/2.8/gtk+/default.nix
new file mode 100644
index 0000000000000..c5a012d9baaa7
--- /dev/null
+++ b/pkgs/development/libraries/gtk-libs/2.8/gtk+/default.nix
@@ -0,0 +1,22 @@
+{ xineramaSupport ? false
+, stdenv, fetchurl, pkgconfig, x11, glib, atk
+, pango, perl, libtiff, libjpeg, libpng, cairo, libXinerama ? null
+}:
+
+assert x11.buildClientLibs;
+assert xineramaSupport -> libXinerama != null;
+
+
+stdenv.mkDerivation {
+  name = "gtk+-2.8.20";
+  src = fetchurl {
+    url = ftp://ftp.gtk.org/pub/gtk/v2.8/gtk+-2.8.20.tar.bz2;
+    md5 = "74e7ca98194f1fadfe906e66d763d05d";
+  };
+  buildInputs = [
+    pkgconfig perl libtiff libjpeg libpng cairo
+    (if xineramaSupport then libXinerama else null)
+  ];
+  propagatedBuildInputs = [x11 glib atk pango];
+  inherit libtiff libjpeg libpng;
+}
diff --git a/pkgs/development/libraries/gtk-libs/2.8/gtkmm/default.nix b/pkgs/development/libraries/gtk-libs/2.8/gtkmm/default.nix
new file mode 100644
index 0000000000000..ebc1e881c471f
--- /dev/null
+++ b/pkgs/development/libraries/gtk-libs/2.8/gtkmm/default.nix
@@ -0,0 +1,12 @@
+{ stdenv, fetchurl, pkgconfig, gtk, atk, glibmm, libsigcxx}:
+
+stdenv.mkDerivation {
+  name = "gtkmm-2.6.4";
+  src = fetchurl {
+    url = http://ftp.gnome.org/pub/GNOME/sources/gtkmm/2.6/gtkmm-2.6.4.tar.bz2;
+    md5 = "f71d1c4a89c4f9e054400f12a82dec5f";
+  };
+
+  buildInputs = [pkgconfig gtk atk glibmm libsigcxx];
+}
+
diff --git a/pkgs/development/libraries/gtk-libs/2.8/pango/default.nix b/pkgs/development/libraries/gtk-libs/2.8/pango/default.nix
new file mode 100644
index 0000000000000..9e3296e00a1c1
--- /dev/null
+++ b/pkgs/development/libraries/gtk-libs/2.8/pango/default.nix
@@ -0,0 +1,13 @@
+{stdenv, fetchurl, pkgconfig, x11, glib, cairo}:
+
+assert x11.buildClientLibs;
+
+stdenv.mkDerivation {
+  name = "pango-1.12.4";
+  src = fetchurl {
+    url = ftp://ftp.gtk.org/pub/pango/1.12/pango-1.12.4.tar.bz2;
+    md5 = "8f6749fe961e41dbeed72d1efcd55224";
+  };
+  buildInputs = [pkgconfig];
+  propagatedBuildInputs = [x11 glib cairo];
+}