summary refs log tree commit diff
path: root/pkgs/development/libraries
diff options
context:
space:
mode:
authorMartin Bravenboer <martin.bravenboer@logicblox.com>2005-02-26 23:45:19 +0000
committerMartin Bravenboer <martin.bravenboer@logicblox.com>2005-02-26 23:45:19 +0000
commit51ce4ea2f7b2338afca99f3e1427e20f341fa947 (patch)
treeb271ae034d8d62919aff1fc7bd7476c330f3658d /pkgs/development/libraries
parentca968d823ca70231de2080752cddd9971aae2494 (diff)
downloadnixpkgs-51ce4ea2f7b2338afca99f3e1427e20f341fa947.tar
nixpkgs-51ce4ea2f7b2338afca99f3e1427e20f341fa947.tar.gz
nixpkgs-51ce4ea2f7b2338afca99f3e1427e20f341fa947.tar.bz2
nixpkgs-51ce4ea2f7b2338afca99f3e1427e20f341fa947.tar.lz
nixpkgs-51ce4ea2f7b2338afca99f3e1427e20f341fa947.tar.xz
nixpkgs-51ce4ea2f7b2338afca99f3e1427e20f341fa947.tar.zst
nixpkgs-51ce4ea2f7b2338afca99f3e1427e20f341fa947.zip
* development/libraries/gnome/*: upgraded all gnome packages
	to 2.8.3.

	* development/libraries/gnome/*: copied gtk packages to gnome
	directory. gnome 2.8.3 did not work on gtk 2.4 nor gtk
	2.6. Using the specific version of the gnome platform 2.8.3 directory
	'solved' the issue.

	* development/libraries/gnome/gnome-icon-theme: new packag
	* development/libraries/gnome/libgtkhtml: new package
	* development/libraries/gnome/gtkhtml: new package
	* development/libraries/gnome/libgnomeprint: new package
	* development/libraries/gnome/libgnomeprintui: new package
	* development/libraries/gnome/gnome-keyring: new package
	* development/libraries/gnome/gail: new package
	* applications/editors/monodoc: new package

svn path=/nixpkgs/trunk/; revision=2312
Diffstat (limited to 'pkgs/development/libraries')
-rw-r--r--pkgs/development/libraries/gnome/GConf/default.nix9
-rw-r--r--pkgs/development/libraries/gnome/ORBit2/default.nix8
-rw-r--r--pkgs/development/libraries/gnome/atk/default.nix9
-rw-r--r--pkgs/development/libraries/gnome/default.nix117
-rw-r--r--pkgs/development/libraries/gnome/esound/default.nix8
-rw-r--r--pkgs/development/libraries/gnome/gail/default.nix7
-rw-r--r--pkgs/development/libraries/gnome/glib/default.nix8
-rw-r--r--pkgs/development/libraries/gnome/gnome-icon-theme/default.nix13
-rw-r--r--pkgs/development/libraries/gnome/gnome-keyring/default.nix9
-rw-r--r--pkgs/development/libraries/gnome/gnome-mime-data/default.nix13
-rw-r--r--pkgs/development/libraries/gnome/gnome-vfs/default.nix12
-rw-r--r--pkgs/development/libraries/gnome/gtk+/default.nix17
-rw-r--r--pkgs/development/libraries/gnome/gtkhtml/default.nix28
-rw-r--r--pkgs/development/libraries/gnome/libIDL/default.nix8
-rw-r--r--pkgs/development/libraries/gnome/libart_lgpl/default.nix8
-rw-r--r--pkgs/development/libraries/gnome/libbonobo/default.nix10
-rw-r--r--pkgs/development/libraries/gnome/libbonoboui/default.nix13
-rw-r--r--pkgs/development/libraries/gnome/libglade/default.nix8
-rw-r--r--pkgs/development/libraries/gnome/libgnome/default.nix20
-rw-r--r--pkgs/development/libraries/gnome/libgnomecanvas/default.nix8
-rw-r--r--pkgs/development/libraries/gnome/libgnomeprint/default.nix14
-rw-r--r--pkgs/development/libraries/gnome/libgnomeprintui/default.nix12
-rw-r--r--pkgs/development/libraries/gnome/libgnomeui/default.nix11
-rw-r--r--pkgs/development/libraries/gnome/libgtkhtml/default.nix18
-rw-r--r--pkgs/development/libraries/gnome/pango/default.nix10
-rw-r--r--pkgs/development/libraries/gnome/src-gnome-desktop-2.8.3.nix34
-rw-r--r--pkgs/development/libraries/gnome/src-gnome-platform-2.8.3.nix171
-rw-r--r--pkgs/development/libraries/gtk-sharp/default.nix23
28 files changed, 521 insertions, 105 deletions
diff --git a/pkgs/development/libraries/gnome/GConf/default.nix b/pkgs/development/libraries/gnome/GConf/default.nix
index 2b1c4fea8cc..74b646f6cc3 100644
--- a/pkgs/development/libraries/gnome/GConf/default.nix
+++ b/pkgs/development/libraries/gnome/GConf/default.nix
@@ -1,15 +1,12 @@
-{stdenv, fetchurl, pkgconfig, perl, glib, gtk, libxml2, ORBit2, popt}:
+{input, stdenv, fetchurl, pkgconfig, perl, glib, gtk, libxml2, ORBit2, popt}:
 
 assert pkgconfig != null && perl != null
   && glib != null && gtk != null
   && libxml2 != null && ORBit2 != null && popt != null;
 
 stdenv.mkDerivation {
-  name = "GConf-2.4.0.1";
-  src = fetchurl {
-    url = http://catamaran.labs.cs.uu.nl/dist/tarballs/GConf-2.4.0.1.tar.bz2;
-    md5 = "2f7548d0bad24d7c4beba54d0ec98a20";
-  };
+  inherit (input) name src;
+
   # Perl is not `supposed' to be required, but it is.
   buildInputs = [pkgconfig perl glib gtk libxml2 popt];
   propagatedBuildInputs = [ORBit2];
diff --git a/pkgs/development/libraries/gnome/ORBit2/default.nix b/pkgs/development/libraries/gnome/ORBit2/default.nix
index adb214929ac..69f62fb79a6 100644
--- a/pkgs/development/libraries/gnome/ORBit2/default.nix
+++ b/pkgs/development/libraries/gnome/ORBit2/default.nix
@@ -1,14 +1,10 @@
-{stdenv, fetchurl, pkgconfig, glib, libIDL, popt}:
+{input, stdenv, fetchurl, pkgconfig, glib, libIDL, popt}:
 
 assert pkgconfig != null && glib != null && libIDL != null
   && popt != null;
 
 stdenv.mkDerivation {
-  name = "ORBit2-2.8.3";
-  src = fetchurl {
-    url = http://catamaran.labs.cs.uu.nl/dist/tarballs/ORBit2-2.8.3.tar.bz2;
-    md5 = "c6c4b63de2f70310e33a52a37257ddaf";
-  };
+  inherit (input) name src;
   buildInputs = [pkgconfig libIDL popt];
   propagatedBuildInputs = [glib];
 }
diff --git a/pkgs/development/libraries/gnome/atk/default.nix b/pkgs/development/libraries/gnome/atk/default.nix
new file mode 100644
index 00000000000..72aef00555d
--- /dev/null
+++ b/pkgs/development/libraries/gnome/atk/default.nix
@@ -0,0 +1,9 @@
+{input, stdenv, fetchurl, pkgconfig, glib, perl}:
+
+assert pkgconfig != null && glib != null && perl != null;
+
+stdenv.mkDerivation {
+  inherit (input) name src;
+  buildInputs = [pkgconfig perl];
+  propagatedBuildInputs = [glib];
+}
diff --git a/pkgs/development/libraries/gnome/default.nix b/pkgs/development/libraries/gnome/default.nix
index 75bd6d57030..ac52efc0f8a 100644
--- a/pkgs/development/libraries/gnome/default.nix
+++ b/pkgs/development/libraries/gnome/default.nix
@@ -1,72 +1,157 @@
-{ stdenv, fetchurl, pkgconfig, audiofile, gtkLibs
+# todo audiofile is also part of the gnome platform. Move it to this collection?
+
+{ stdenv, fetchurl, pkgconfig, audiofile
 , flex, bison, popt, perl, zlib, libxml2, bzip2
-, perlXMLParser
+, perlXMLParser, gettext, x11, libtiff, libjpeg
+, libpng
 }:
 
 rec {
 
-  glib = gtkLibs.glib;
-  gtk = gtkLibs.gtk;
+  # Platform
+
+  platform = (import ./src-gnome-platform-2.8.3.nix) {
+    inherit stdenv fetchurl;
+  };
+
+  glib = (import ./glib) {
+    inherit fetchurl stdenv pkgconfig gettext perl;
+    input = platform.glib;
+  };
+
+  atk = (import ./atk) {
+    inherit fetchurl stdenv pkgconfig glib perl;
+    input = platform.atk;
+  };
+
+  pango = (import ./pango) {
+    inherit fetchurl stdenv pkgconfig glib x11;
+    input = platform.pango;
+  };
+
+  gtk = (import ./gtk+) {
+    inherit fetchurl stdenv pkgconfig glib atk pango perl
+            libtiff libjpeg libpng x11;
+    input = platform.gtk;
+  };
 
   esound = (import ./esound) {
     inherit fetchurl stdenv audiofile;
+    input = platform.esound;
   };
 
   libIDL = (import ./libIDL) {
     inherit fetchurl stdenv pkgconfig glib;
+    input = platform.libIDL;
     lex = flex;
     yacc = bison;
   };
 
   ORBit2 = (import ./ORBit2) {
     inherit fetchurl stdenv pkgconfig glib libIDL popt;
+    input = platform.ORBit2;
   };
 
-  GConf = (import ./GConf) {
+  gconf = (import ./GConf) {
     inherit fetchurl stdenv pkgconfig perl glib gtk libxml2 ORBit2 popt;
-  };
-
-  libbonobo = (import ./libbonobo) {
-    inherit fetchurl stdenv pkgconfig perl ORBit2 libxml2 popt flex;
-    yacc = bison;
+    input = platform.gconf;
   };
 
   gnomemimedata = (import ./gnome-mime-data) {
-    inherit fetchurl stdenv pkgconfig perl;
+    inherit fetchurl stdenv pkgconfig perl perlXMLParser;
+    input = platform.gnomemimedata;
   };
 
   gnomevfs = (import ./gnome-vfs) {
-    inherit fetchurl stdenv pkgconfig perl glib libxml2 GConf
+    inherit fetchurl stdenv pkgconfig perl glib libxml2 gconf
             libbonobo gnomemimedata popt bzip2 perlXMLParser;
     # !!! use stdenv.bzip2
+    input = platform.gnomevfs;
+  };
+
+  gail = (import ./gail) {
+    inherit fetchurl stdenv pkgconfig;
+    inherit gtk atk libgnomecanvas;
+    input = platform.gail;
   };
 
   libgnome = (import ./libgnome) {
-    inherit fetchurl stdenv pkgconfig perl glib gnomevfs
-            libbonobo GConf popt zlib;
+    inherit fetchurl stdenv pkgconfig perl perlXMLParser glib gnomevfs
+            libbonobo gconf popt zlib;
+    input = platform.libgnome;
+  };
+
+  libgnomeprint = (import ./libgnomeprint) {
+    inherit fetchurl stdenv libxml2 perl perlXMLParser pkgconfig popt;
+    inherit glib pango;
+    libart = libart_lgpl;
+    input = platform.libgnomeprint;
+  };
+
+  libgnomeprintui = (import ./libgnomeprintui) {
+    inherit fetchurl stdenv perl perlXMLParser pkgconfig;
+    inherit gtk libgnomeprint libgnomecanvas gnomeicontheme;
+    input = platform.libgnomeprintui;
   };
 
   libart_lgpl = (import ./libart_lgpl) {
     inherit fetchurl stdenv;
+    input = platform.libart_lgpl;
   };
 
   libglade = (import ./libglade) {
     inherit fetchurl stdenv pkgconfig gtk libxml2;
+    input = platform.libglade;
   };
 
   libgnomecanvas = (import ./libgnomecanvas) {
     inherit fetchurl stdenv pkgconfig gtk libglade;
     libart = libart_lgpl;
+    input = platform.libgnomecanvas;
+  };
+
+  libbonobo = (import ./libbonobo) {
+    inherit fetchurl stdenv pkgconfig perl perlXMLParser ORBit2 libxml2 popt flex;
+    yacc = bison;
+    input = platform.libbonobo;
   };
 
   libbonoboui = (import ./libbonoboui) {
-    inherit fetchurl stdenv pkgconfig perl libxml2 libglade
+    inherit fetchurl stdenv pkgconfig perl perlXMLParser libxml2 libglade
             libgnome libgnomecanvas;
+    input = platform.libbonoboui;
   };
 
   libgnomeui = (import ./libgnomeui) {
     inherit fetchurl stdenv pkgconfig libgnome libgnomecanvas
-            libbonoboui libglade;
+            libbonoboui libglade libjpeg esound gnomekeyring;
+    input = platform.libgnomeui;
+  };
+
+  # Desktop
+
+  desktop = (import ./src-gnome-desktop-2.8.3.nix) {
+    inherit stdenv fetchurl;
   };
 
+  gtkhtml = (import ./gtkhtml) {
+    inherit fetchurl stdenv pkgconfig perl perlXMLParser libjpeg;
+    inherit gtk atk gail libgnomeprint libgnomeprintui libgnomeui libglade gnomeicontheme;
+    input = desktop.gtkhtml;
+  };
+
+  libgtkhtml = (import ./libgtkhtml) {
+    inherit fetchurl stdenv pkgconfig perl perlXMLParser gtk libxml2 gail;
+    input = desktop.libgtkhtml;
+  };
+
+  gnomeicontheme = (import ./gnome-icon-theme) {
+    inherit fetchurl stdenv pkgconfig perl perlXMLParser;
+    input = desktop.gnomeicontheme;
+  };
+
+  gnomekeyring = (import ./gnome-keyring) {
+    inherit fetchurl stdenv pkgconfig glib gtk;
+    input = desktop.gnomekeyring;
+  };
 }
\ No newline at end of file
diff --git a/pkgs/development/libraries/gnome/esound/default.nix b/pkgs/development/libraries/gnome/esound/default.nix
index e6eff85eaf0..eb3727bc1c2 100644
--- a/pkgs/development/libraries/gnome/esound/default.nix
+++ b/pkgs/development/libraries/gnome/esound/default.nix
@@ -1,12 +1,8 @@
-{stdenv, fetchurl, audiofile}:
+{input, stdenv, fetchurl, audiofile}:
 
 assert audiofile != null;
 
 stdenv.mkDerivation {
-  name = "esound-0.2.32";
-  src = fetchurl {
-    url = http://catamaran.labs.cs.uu.nl/dist/tarballs/esound-0.2.32.tar.bz2;
-    md5 = "b2a5e71ec8220fea1c22cc042f5f6e63";
-  };
+  inherit (input) name src;
   propagatedBuildInputs = [audiofile];
 }
diff --git a/pkgs/development/libraries/gnome/gail/default.nix b/pkgs/development/libraries/gnome/gail/default.nix
new file mode 100644
index 00000000000..2957aa90de5
--- /dev/null
+++ b/pkgs/development/libraries/gnome/gail/default.nix
@@ -0,0 +1,7 @@
+{input, stdenv, fetchurl, pkgconfig, atk, gtk, libgnomecanvas}:
+
+stdenv.mkDerivation {
+  inherit (input) name src;
+  buildInputs = [pkgconfig atk gtk libgnomecanvas];
+  propagatedBuildInputs = [libgnomecanvas];
+}
diff --git a/pkgs/development/libraries/gnome/glib/default.nix b/pkgs/development/libraries/gnome/glib/default.nix
new file mode 100644
index 00000000000..91e155f67d7
--- /dev/null
+++ b/pkgs/development/libraries/gnome/glib/default.nix
@@ -0,0 +1,8 @@
+{input, stdenv, fetchurl, pkgconfig, gettext, perl}:
+
+assert pkgconfig != null && gettext != null && perl != null;
+
+stdenv.mkDerivation {
+  inherit (input) name src;
+  buildInputs = [pkgconfig gettext perl];
+}
diff --git a/pkgs/development/libraries/gnome/gnome-icon-theme/default.nix b/pkgs/development/libraries/gnome/gnome-icon-theme/default.nix
new file mode 100644
index 00000000000..b96da831b84
--- /dev/null
+++ b/pkgs/development/libraries/gnome/gnome-icon-theme/default.nix
@@ -0,0 +1,13 @@
+{input, stdenv, fetchurl, pkgconfig, perl, perlXMLParser}:
+
+assert pkgconfig != null && perl != null;
+
+stdenv.mkDerivation {
+  inherit (input) name src;
+  buildInputs = [pkgconfig perl perlXMLParser];
+
+  # TODO: maybe this package as dependency on gnome-themes?
+  configureFlags = "--disable-hicolor-check";
+
+  PERL5LIB = perlXMLParser ~ "/lib/site_perl";
+}
diff --git a/pkgs/development/libraries/gnome/gnome-keyring/default.nix b/pkgs/development/libraries/gnome/gnome-keyring/default.nix
new file mode 100644
index 00000000000..d781cbbb523
--- /dev/null
+++ b/pkgs/development/libraries/gnome/gnome-keyring/default.nix
@@ -0,0 +1,9 @@
+# gnome-keyring
+
+{input, stdenv, fetchurl, pkgconfig, glib, gtk}:
+
+stdenv.mkDerivation {
+  inherit (input) name src;
+  buildInputs = [pkgconfig gtk glib];
+  CFLAGS = "-DENABLE_NLS=0";
+}
diff --git a/pkgs/development/libraries/gnome/gnome-mime-data/default.nix b/pkgs/development/libraries/gnome/gnome-mime-data/default.nix
index 4d82b6fec97..1b423283e13 100644
--- a/pkgs/development/libraries/gnome/gnome-mime-data/default.nix
+++ b/pkgs/development/libraries/gnome/gnome-mime-data/default.nix
@@ -1,12 +1,11 @@
-{stdenv, fetchurl, pkgconfig, perl}:
+{input, stdenv, fetchurl, pkgconfig, perl, perlXMLParser}:
 
 assert pkgconfig != null && perl != null;
 
 stdenv.mkDerivation {
-  name = "gnome-mime-data-2.4.0";
-  src = fetchurl {
-    url = http://catamaran.labs.cs.uu.nl/dist/tarballs/gnome-mime-data-2.4.0.tar.bz2;
-    md5 = "b8f1b383a23d734bec8bc33a03cb3690";
-  };
-  buildInputs = [pkgconfig perl];
+  inherit (input) name src;
+  buildInputs = [pkgconfig perl perlXMLParser];
+
+  PERL5LIB = perlXMLParser ~ "/lib/site_perl";
 }
+
diff --git a/pkgs/development/libraries/gnome/gnome-vfs/default.nix b/pkgs/development/libraries/gnome/gnome-vfs/default.nix
index d6efbb40942..3e3f46a9abe 100644
--- a/pkgs/development/libraries/gnome/gnome-vfs/default.nix
+++ b/pkgs/development/libraries/gnome/gnome-vfs/default.nix
@@ -1,18 +1,14 @@
-{ stdenv, fetchurl, pkgconfig, perl, glib, libxml2, GConf
+{input, stdenv, fetchurl, pkgconfig, perl, glib, libxml2, gconf
 , libbonobo, gnomemimedata, popt, bzip2, perlXMLParser }:
 
 assert pkgconfig != null && perl != null && glib != null
-  && libxml2 != null && GConf != null && libbonobo != null
+  && libxml2 != null && gconf != null && libbonobo != null
   && gnomemimedata != null && bzip2 != null;
 
 stdenv.mkDerivation {
-  name = "gnome-vfs-2.4.2";
-  src = fetchurl {
-    url = http://catamaran.labs.cs.uu.nl/dist/tarballs/gnome-vfs-2.4.2.tar.bz2;
-    md5 = "a0f0e40739214143bbf3050311ff10cd";
-  };
+  inherit (input) name src;
   buildInputs = [
-    pkgconfig perl glib libxml2 GConf libbonobo
+    pkgconfig perl glib libxml2 gconf libbonobo
     gnomemimedata popt bzip2 perlXMLParser
   ];
   PERL5LIB = perlXMLParser ~ "/lib/site_perl";
diff --git a/pkgs/development/libraries/gnome/gtk+/default.nix b/pkgs/development/libraries/gnome/gtk+/default.nix
new file mode 100644
index 00000000000..3ffdd4517c2
--- /dev/null
+++ b/pkgs/development/libraries/gnome/gtk+/default.nix
@@ -0,0 +1,17 @@
+{input, 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 {
+  inherit (input) name src;
+  buildInputs = [pkgconfig perl libtiff libjpeg libpng];
+  propagatedBuildInputs = [x11 glib atk pango];
+  inherit libtiff libjpeg libpng;
+}
diff --git a/pkgs/development/libraries/gnome/gtkhtml/default.nix b/pkgs/development/libraries/gnome/gtkhtml/default.nix
new file mode 100644
index 00000000000..0ec09f86c24
--- /dev/null
+++ b/pkgs/development/libraries/gnome/gtkhtml/default.nix
@@ -0,0 +1,28 @@
+{input, stdenv, fetchurl, perl, perlXMLParser, pkgconfig, atk, gail, gtk,
+  libgnomeprint, libgnomeprintui, libgnomeui, libglade, gnomeicontheme, libjpeg}:
+
+# TODO build complains about missing libsoup and soup. Optional dependency?
+
+assert
+     null != pkgconfig
+  && null != perl
+  && null != perlXMLParser
+  && null != pkgconfig
+  && null != atk
+  && null != gail
+  && null != gtk
+  ;
+
+stdenv.mkDerivation {
+  inherit (input) name src;
+
+  buildInputs = [
+      perl perlXMLParser pkgconfig libjpeg
+      atk gail gtk
+      libglade libgnomeprint libgnomeprintui libgnomeui
+      gnomeicontheme
+    ];
+
+  PERL5LIB = perlXMLParser ~ "/lib/site_perl";
+}
+
diff --git a/pkgs/development/libraries/gnome/libIDL/default.nix b/pkgs/development/libraries/gnome/libIDL/default.nix
index 9d6ad61621d..2a2dd49e2d1 100644
--- a/pkgs/development/libraries/gnome/libIDL/default.nix
+++ b/pkgs/development/libraries/gnome/libIDL/default.nix
@@ -1,12 +1,8 @@
-{stdenv, fetchurl, pkgconfig, glib, lex, yacc}:
+{input, stdenv, fetchurl, pkgconfig, glib, lex, yacc}:
 
 assert pkgconfig != null && glib != null && lex != null && yacc != null;
 
 stdenv.mkDerivation {
-  name = "libIDL-0.8.2";
-  src = fetchurl {
-    url = http://catamaran.labs.cs.uu.nl/dist/tarballs/libIDL-0.8.2.tar.bz2;
-    md5 = "a75d2dbf3a3c66b567047c94245f8b82";
-  };
+  inherit (input) name src;
   buildInputs = [pkgconfig glib lex yacc];
 }
diff --git a/pkgs/development/libraries/gnome/libart_lgpl/default.nix b/pkgs/development/libraries/gnome/libart_lgpl/default.nix
index fa388c2d2ff..4f05f788b4d 100644
--- a/pkgs/development/libraries/gnome/libart_lgpl/default.nix
+++ b/pkgs/development/libraries/gnome/libart_lgpl/default.nix
@@ -1,9 +1,5 @@
-{stdenv, fetchurl}:
+{input, stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "libart_lgpl-2.3.16";
-  src = fetchurl {
-    url = http://catamaran.labs.cs.uu.nl/dist/tarballs/libart_lgpl-2.3.16.tar.bz2;
-    md5 = "6bb13292b00649d01400a5b29a6c87cb";
-  };
+  inherit (input) name src;
 }
diff --git a/pkgs/development/libraries/gnome/libbonobo/default.nix b/pkgs/development/libraries/gnome/libbonobo/default.nix
index dee3191f8e3..d50e505b2b7 100644
--- a/pkgs/development/libraries/gnome/libbonobo/default.nix
+++ b/pkgs/development/libraries/gnome/libbonobo/default.nix
@@ -1,14 +1,12 @@
-{stdenv, fetchurl, pkgconfig, perl, ORBit2, libxml2, popt, yacc, flex}:
+{input, stdenv, fetchurl, pkgconfig, perl, perlXMLParser, ORBit2, libxml2, popt, yacc, flex}:
 
 assert pkgconfig != null && perl != null && ORBit2 != null
   && libxml2 != null && popt != null && yacc != null && flex != null;
 
+# todo 2.8.1 doesn;t work
 stdenv.mkDerivation {
-  name = "libbonobo-2.4.2";
-  src = fetchurl {
-    url = http://catamaran.labs.cs.uu.nl/dist/tarballs/libbonobo-2.4.2.tar.bz2;
-    md5 = "78200cc6ed588c93f0d29177a5f3e003";
-  };
+  inherit (input) name src;
   buildInputs = [pkgconfig perl libxml2 yacc flex];
   propagatedBuildInputs = [ORBit2 popt];
+  PERL5LIB = perlXMLParser ~ "/lib/site_perl";
 }
diff --git a/pkgs/development/libraries/gnome/libbonoboui/default.nix b/pkgs/development/libraries/gnome/libbonoboui/default.nix
index d74d3a46969..51263a33075 100644
--- a/pkgs/development/libraries/gnome/libbonoboui/default.nix
+++ b/pkgs/development/libraries/gnome/libbonoboui/default.nix
@@ -1,15 +1,16 @@
-{stdenv, fetchurl, pkgconfig, perl, libxml2, libglade, libgnome
+{input, stdenv, fetchurl, pkgconfig, perl, perlXMLParser, libxml2, libglade, libgnome
 , libgnomecanvas}:
 
 assert pkgconfig != null && perl != null && libxml2 != null
   && libglade != null && libgnome != null && libgnomecanvas != null;
 
+# todo 2.8.1 doesn;t work
 stdenv.mkDerivation {
-  name = "libbonoboui-2.4.1";
-  src = fetchurl {
-    url = http://catamaran.labs.cs.uu.nl/dist/tarballs/libbonoboui-2.4.1.tar.bz2;
-    md5 = "943a2d0e9fc7b9f0e97ba869de0c5f2a";
-  };
+  inherit (input) name src;
   buildInputs = [pkgconfig perl libglade];
   propagatedBuildInputs = [libxml2 libgnome libgnomecanvas];
+
+  PERL5LIB = perlXMLParser ~ "/lib/site_perl";
+
+  LDFLAGS="-lglib-2.0";
 }
diff --git a/pkgs/development/libraries/gnome/libglade/default.nix b/pkgs/development/libraries/gnome/libglade/default.nix
index ec4d5bb1cc6..2719379359c 100644
--- a/pkgs/development/libraries/gnome/libglade/default.nix
+++ b/pkgs/development/libraries/gnome/libglade/default.nix
@@ -1,13 +1,9 @@
-{stdenv, fetchurl, pkgconfig, gtk, libxml2}:
+{input, stdenv, fetchurl, pkgconfig, gtk, libxml2}:
 
 assert pkgconfig != null && gtk != null && libxml2 != null;
 
 stdenv.mkDerivation {
-  name = "libglade-2.0.1";
-  src = fetchurl {
-    url = http://catamaran.labs.cs.uu.nl/dist/tarballs/libglade-2.0.1.tar.bz2;
-    md5 = "4d93f6b01510013ae429e91af432cfe2";
-  };
+  inherit (input) name src;
   buildInputs = [pkgconfig];
   propagatedBuildInputs = [gtk libxml2];
 }
diff --git a/pkgs/development/libraries/gnome/libgnome/default.nix b/pkgs/development/libraries/gnome/libgnome/default.nix
index 676a7769052..34a1ff8a339 100644
--- a/pkgs/development/libraries/gnome/libgnome/default.nix
+++ b/pkgs/development/libraries/gnome/libgnome/default.nix
@@ -1,21 +1,19 @@
-{ stdenv, fetchurl, pkgconfig, perl, glib, gnomevfs, libbonobo
-, GConf, popt, zlib }:
+{input, stdenv, fetchurl, pkgconfig, perl, perlXMLParser, glib, gnomevfs, libbonobo
+, gconf, popt, zlib }:
 
 assert pkgconfig != null && perl != null && glib != null
-  && gnomevfs != null && libbonobo != null && GConf != null
+  && gnomevfs != null && libbonobo != null && gconf != null
   && popt != null && zlib != null;
 
-# !!! TO CHECK:
+# !!! TODO CHECK:
 # libgnome tries to install stuff into GConf (which fails):
 # "WARNING: failed to install schema `/schemas/desktop/gnome/url-handlers/https/need-terminal' locale `is': Failed:
 # Failed to create file `/nix/store/14d4fc76451786eba9dea087d56dc719-GConf-2.4.0/etc/gconf/gconf.xml.defaults/%gconf.xml': Permission denied"
 
 stdenv.mkDerivation {
-  name = "libgnome-2.0.6";
-  src = fetchurl {
-    url = http://catamaran.labs.cs.uu.nl/dist/tarballs/libgnome-2.4.0.tar.bz2;
-    md5 = "caec1e12d64b98a2925a4317ac16429f";
-  };
-  buildInputs = [pkgconfig perl popt zlib];
-  propagatedBuildInputs = [glib gnomevfs libbonobo GConf];
+  inherit (input) name src;
+  buildInputs = [pkgconfig perl perlXMLParser popt zlib];
+  propagatedBuildInputs = [glib gnomevfs libbonobo gconf];
+
+  PERL5LIB = perlXMLParser ~ "/lib/site_perl";
 }
diff --git a/pkgs/development/libraries/gnome/libgnomecanvas/default.nix b/pkgs/development/libraries/gnome/libgnomecanvas/default.nix
index 9abc721a24a..6602cf43ebc 100644
--- a/pkgs/development/libraries/gnome/libgnomecanvas/default.nix
+++ b/pkgs/development/libraries/gnome/libgnomecanvas/default.nix
@@ -1,14 +1,10 @@
-{stdenv, fetchurl, pkgconfig, gtk, libart, libglade}:
+{input, stdenv, fetchurl, pkgconfig, gtk, libart, libglade}:
 
 assert pkgconfig != null && gtk != null && libart != null
   && libglade != null;
 
 stdenv.mkDerivation {
-  name = "libgnomecanvas-2.4.0";
-  src = fetchurl {
-    url = http://catamaran.labs.cs.uu.nl/dist/tarballs/libgnomecanvas-2.4.0.tar.bz2;
-    md5 = "c212a7cac06b7f9e68ed2de38df6e54d";
-  };
+  inherit (input) name src;
   buildInputs = [pkgconfig libglade];
   propagatedBuildInputs = [gtk libart];
 }
diff --git a/pkgs/development/libraries/gnome/libgnomeprint/default.nix b/pkgs/development/libraries/gnome/libgnomeprint/default.nix
new file mode 100644
index 00000000000..0792571b98a
--- /dev/null
+++ b/pkgs/development/libraries/gnome/libgnomeprint/default.nix
@@ -0,0 +1,14 @@
+{input, stdenv, fetchurl, perl, perlXMLParser, pkgconfig, glib, pango, libart, libxml2, popt}:
+
+stdenv.mkDerivation {
+  inherit (input) name src;
+
+  buildInputs = [
+      perl perlXMLParser pkgconfig popt libxml2
+      glib pango libart
+    ];
+
+  propagatedBuildInputs = [libxml2];  
+
+  PERL5LIB = perlXMLParser ~ "/lib/site_perl";
+}
diff --git a/pkgs/development/libraries/gnome/libgnomeprintui/default.nix b/pkgs/development/libraries/gnome/libgnomeprintui/default.nix
new file mode 100644
index 00000000000..5ae7a59c206
--- /dev/null
+++ b/pkgs/development/libraries/gnome/libgnomeprintui/default.nix
@@ -0,0 +1,12 @@
+{input, stdenv, fetchurl, perl, perlXMLParser, pkgconfig, gtk, libgnomeprint, libgnomecanvas, gnomeicontheme}:
+
+stdenv.mkDerivation {
+  inherit (input) name src;
+
+  buildInputs = [
+      perl perlXMLParser pkgconfig
+      gtk libgnomeprint libgnomecanvas gnomeicontheme
+    ];
+
+  PERL5LIB = perlXMLParser ~ "/lib/site_perl";
+}
diff --git a/pkgs/development/libraries/gnome/libgnomeui/default.nix b/pkgs/development/libraries/gnome/libgnomeui/default.nix
index 9cf62c67bdf..f7260aa178e 100644
--- a/pkgs/development/libraries/gnome/libgnomeui/default.nix
+++ b/pkgs/development/libraries/gnome/libgnomeui/default.nix
@@ -1,14 +1,11 @@
-{ stdenv, fetchurl, pkgconfig, libgnome, libgnomecanvas, libbonoboui, libglade }:
+{input, stdenv, fetchurl, pkgconfig, libgnome, libgnomecanvas,
+libbonoboui, libglade, esound, libjpeg, gnomekeyring}:
 
 assert pkgconfig != null && libgnome != null && libgnomecanvas != null
   && libbonoboui != null && libglade != null;
 
 stdenv.mkDerivation {
-  name = "libgnomeui-2.4.0.1";
-  src = fetchurl {
-    url = http://catamaran.labs.cs.uu.nl/dist/tarballs/libgnomeui-2.4.0.1.tar.bz2;
-    md5 = "196f4a3f1f4a531ff57acaa879e98dd2";
-  };
-  buildInputs = [pkgconfig libglade];
+  inherit (input) name src;
+  buildInputs = [pkgconfig libglade esound libjpeg gnomekeyring];
   propagatedBuildInputs = [libgnome libgnomecanvas libbonoboui];
 }
diff --git a/pkgs/development/libraries/gnome/libgtkhtml/default.nix b/pkgs/development/libraries/gnome/libgtkhtml/default.nix
new file mode 100644
index 00000000000..f34ea0d5810
--- /dev/null
+++ b/pkgs/development/libraries/gnome/libgtkhtml/default.nix
@@ -0,0 +1,18 @@
+{input, stdenv, fetchurl, perl, perlXMLParser, pkgconfig, gtk, gail, libxml2}:
+
+assert
+     null != pkgconfig
+  && null != perl
+  && null != perlXMLParser
+  ;
+
+stdenv.mkDerivation {
+  inherit (input) name src;
+
+  buildInputs = [
+      perl perlXMLParser pkgconfig gtk libxml2 gail
+    ];
+
+  PERL5LIB = perlXMLParser ~ "/lib/site_perl";
+}
+
diff --git a/pkgs/development/libraries/gnome/pango/default.nix b/pkgs/development/libraries/gnome/pango/default.nix
new file mode 100644
index 00000000000..2c7b67ad996
--- /dev/null
+++ b/pkgs/development/libraries/gnome/pango/default.nix
@@ -0,0 +1,10 @@
+{input, stdenv, fetchurl, pkgconfig, x11, glib}:
+
+assert pkgconfig != null && x11 != null && glib != null;
+assert x11.buildClientLibs;
+
+stdenv.mkDerivation {
+  inherit (input) name src;
+  buildInputs = [pkgconfig];
+  propagatedBuildInputs = [x11 glib];
+}
diff --git a/pkgs/development/libraries/gnome/src-gnome-desktop-2.8.3.nix b/pkgs/development/libraries/gnome/src-gnome-desktop-2.8.3.nix
new file mode 100644
index 00000000000..fbb87f1b3d3
--- /dev/null
+++ b/pkgs/development/libraries/gnome/src-gnome-desktop-2.8.3.nix
@@ -0,0 +1,34 @@
+{stdenv, fetchurl} : {
+
+  gnomeicontheme = {
+    name = "gnome-icon-theme-2.8.0";
+    src = fetchurl {
+      url = ftp://ftp.gnome.org/Public/gnome/desktop/2.8/2.8.3/sources/gnome-icon-theme-2.8.0.tar.bz2;
+      md5 = "7be016337c44c024fb22f7b94b689d7b";
+    };
+  };
+
+  gnomekeyring = {
+    name = "gnome-keyring-0.4.1";
+    src = fetchurl {
+      url = ftp://ftp.gnome.org/Public/gnome/desktop/2.8/2.8.3/sources/gnome-keyring-0.4.1.tar.bz2;
+      md5 = "031901a50273cc5a39b1305924613a1b";
+    };
+  };
+
+  gtkhtml = {
+    name = "gtkhtml-3.2.5";
+    src = fetchurl {
+      url = ftp://ftp.gnome.org/Public/gnome/desktop/2.8/2.8.3/sources/gtkhtml-3.2.5.tar.bz2;
+      md5 = "86e1ce32fed536bce5b2d6e8d41b0c65";
+    };
+  };
+
+  libgtkhtml = {
+    name = "libgtkhtml-2.6.3";
+    src = fetchurl {
+      url = ftp://ftp.gnome.org/Public/gnome/desktop/2.8/2.8.3/sources/libgtkhtml-2.6.3.tar.bz2;
+      md5 = "c77789241d725e189ffc0391eda94361";
+    };
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/libraries/gnome/src-gnome-platform-2.8.3.nix b/pkgs/development/libraries/gnome/src-gnome-platform-2.8.3.nix
new file mode 100644
index 00000000000..3332fb1b9e7
--- /dev/null
+++ b/pkgs/development/libraries/gnome/src-gnome-platform-2.8.3.nix
@@ -0,0 +1,171 @@
+# this file can (and should) be generated from an FTP listing
+
+{stdenv, fetchurl} : {
+  gconf = {
+    name = "GConf-2.8.1";
+    src = fetchurl {
+      url = ftp://ftp.gnome.org/Public/gnome/platform/2.8/2.8.3/sources/GConf-2.8.1.tar.bz2;
+      md5 = "b1173cbe33404bcbcc15710ce2a28f67";
+    };
+  };
+
+  ORBit2 = {
+    name = "ORBit2-2.12.1";
+    src = fetchurl {
+      url = ftp://ftp.gnome.org/Public/gnome/platform/2.8/2.8.3/sources/ORBit2-2.12.1.tar.bz2;
+      md5 = "30ede62e194f692f2dd3daa09c752196";
+    };
+  };
+
+  atk = {
+    name = "atk-1.8.0";
+    src = fetchurl {
+      url = ftp://ftp.gnome.org/Public/gnome/platform/2.8/2.8.3/sources/atk-1.8.0.tar.bz2;
+      md5 = "fc46940febb0e91427b77457e6356f3d";
+    };
+  };
+
+  audiofile = {
+    name = "audiofile-0.2.6";
+    src = fetchurl {
+      url = ftp://ftp.gnome.org/Public/gnome/platform/2.8/2.8.3/sources/audiofile-0.2.6.tar.bz2;
+      md5 = "3d01302834660850b6141cac1e6f5501";
+    };
+  };
+
+  esound = {
+    name = "esound-0.2.35";
+    src = fetchurl {
+      url = ftp://ftp.gnome.org/Public/gnome/platform/2.8/2.8.3/sources/esound-0.2.35.tar.bz2;
+      md5 = "1566344f80a8909b5e6e4d6b6520c2c1";
+    };
+  };
+
+  gail = {
+    name = "gail-1.8.2";
+    src = fetchurl {
+      url = ftp://ftp.gnome.org/Public/gnome/platform/2.8/2.8.3/sources/gail-1.8.2.tar.bz2;
+      md5 = "3b8be198ccb8a0d92cfb0c3cdd519c1f";
+    };
+  };
+
+  glib = {
+    name = "glib-2.4.8";
+    src = fetchurl {
+      url = ftp://ftp.gnome.org/Public/gnome/platform/2.8/2.8.3/sources/glib-2.4.8.tar.bz2;
+      md5 = "e160a5feecf46e0fbb36db09c356953c";
+    };
+  };
+
+  gnomemimedata = {
+    name = "gnome-mime-data-2.4.2";
+    src = fetchurl {
+      url = ftp://ftp.gnome.org/Public/gnome/platform/2.8/2.8.3/sources/gnome-mime-data-2.4.2.tar.bz2;
+      md5 = "37242776b08625fa10c73c18b790e552";
+    };
+  };
+
+  gnomevfs = {
+    name = "gnome-vfs-2.8.4";
+    src = fetchurl {
+      url = ftp://ftp.gnome.org/Public/gnome/platform/2.8/2.8.3/sources/gnome-vfs-2.8.4.tar.bz2;
+      md5 = "42d3505e9ef9c26a7aae4e511b9b4c34";
+    };
+  };
+
+  gtk = {
+    name = "gtk+-2.4.14";
+    src = fetchurl {
+      url = ftp://ftp.gnome.org/Public/gnome/platform/2.8/2.8.3/sources/gtk+-2.4.14.tar.bz2;
+      md5 = "10470d574933460809e4ac488e579e26";
+    };
+  };
+
+  libIDL = {
+    name = "libIDL-0.8.5.tar.bz2";
+    src = fetchurl {
+      url = ftp://ftp.gnome.org/Public/gnome/platform/2.8/2.8.3/sources/libIDL-0.8.5.tar.bz2;
+      md5 = "c63f6513dc7789d0575bea02d62d58d7";
+    };
+  };
+
+  libart_lgpl = {
+    name = "libart_lgpl-2.3.17";
+    src = fetchurl {
+      url = ftp://ftp.gnome.org/Public/gnome/platform/2.8/2.8.3/sources/libart_lgpl-2.3.17.tar.bz2;
+      md5 = "dfca42529393c8a8f59dc4dc10675a46";
+    };
+  };
+
+  libbonobo = {
+    name = "libbonobo-2.8.1";
+    src = fetchurl {
+      url = ftp://ftp.gnome.org/Public/gnome/platform/2.8/2.8.3/sources/libbonobo-2.8.1.tar.bz2;
+      md5 = "54f863c20016cf8a2cf25056f6c7cda7";
+    };
+  };
+
+  libbonoboui = {
+    name = "libbonoboui-2.8.1";
+    src = fetchurl {
+      url = ftp://ftp.gnome.org/Public/gnome/platform/2.8/2.8.3/sources/libbonoboui-2.8.1.tar.bz2;
+      md5 = "b23daafa8344a88696d497f20285ef55";
+    };
+  };
+
+  libglade = {
+    name = "libglade-2.4.2";
+    src = fetchurl {
+      url = ftp://ftp.gnome.org/Public/gnome/platform/2.8/2.8.3/sources/libglade-2.4.2.tar.bz2;
+      md5 = "83d08f9ab485a10454bd5171d2d53fb0";
+    };
+  };
+
+  libgnome = {
+    name = "libgnome-2.8.1";
+    src = fetchurl {
+      url = ftp://ftp.gnome.org/Public/gnome/platform/2.8/2.8.3/sources/libgnome-2.8.1.tar.bz2;
+      md5 = "17577198f5086c48f69c361be2f4806c";
+    };
+  };
+
+  libgnomecanvas = {
+    name = "libgnomecanvas-2.8.0";
+    src = fetchurl {
+      url = ftp://ftp.gnome.org/Public/gnome/platform/2.8/2.8.3/sources/libgnomecanvas-2.8.0.tar.bz2;
+      md5 = "2bf10396a92777e7b64b6052a8a232f1";
+    };
+  };
+
+  libgnomeprint = {
+    name = "libgnomeprint-2.8.2";
+    src = fetchurl {
+      url = ftp://ftp.gnome.org/Public/gnome/platform/2.8/2.8.3/sources/libgnomeprint-2.8.2.tar.bz2;
+      md5 = "8361c4e1bc3d87b91435807d0c06a3e4";
+    };
+  };
+
+  libgnomeprintui = {
+    name = "libgnomeprintui-2.8.2";
+    src = fetchurl {
+      url = ftp://ftp.gnome.org/Public/gnome/platform/2.8/2.8.3/sources/libgnomeprintui-2.8.2.tar.bz2;
+      md5 = "b38d1f6813dd52879ba4174ddc3f1b1c";
+    };
+  };
+
+  libgnomeui = {
+    name = "libgnomeui-2.8.1";
+    src = fetchurl {
+      url = ftp://ftp.gnome.org/Public/gnome/platform/2.8/2.8.3/sources/libgnomeui-2.8.1.tar.bz2;
+      md5 = "d46a2b34bdfbc1b36464176fa8bef03c";
+    };
+  };
+
+  pango = {
+    name = "pango-1.6.0";
+    src = fetchurl {
+      url = ftp://ftp.gnome.org/Public/gnome/platform/2.8/2.8.3/sources/pango-1.6.0.tar.bz2;
+      md5 = "6c732bbc5fba5a0f1f8086e8aa4f490d";
+    };
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/libraries/gtk-sharp/default.nix b/pkgs/development/libraries/gtk-sharp/default.nix
index 760a623b3e3..8d8f27ee8ba 100644
--- a/pkgs/development/libraries/gtk-sharp/default.nix
+++ b/pkgs/development/libraries/gtk-sharp/default.nix
@@ -1,4 +1,16 @@
-{stdenv, fetchurl, pkgconfig, glib, pango, mono, gtk, libxml2}:
+{ stdenv, fetchurl, pkgconfig, mono
+, glib
+, pango
+, gtk
+, gconf ? null
+, libglade ? null
+, libgtkhtml ? null
+, gtkhtml ? null
+, libgnomecanvas ? null
+, libgnomeui ? null
+, libgnomeprint ? null
+, libgnomeprintui ? null
+, libxml2 } :
 
 stdenv.mkDerivation {
   name = "gtk-sharp-1.0.6";
@@ -8,5 +20,12 @@ stdenv.mkDerivation {
     md5 = "2651d14fe77174ab20b8af53d150ee11";
   };
 
-  buildInputs = [pkgconfig mono glib pango gtk libxml2];
+  buildInputs = [
+
+    pkgconfig mono glib pango gtk gconf libglade libgnomecanvas
+    libgtkhtml libgnomeui libgnomeprint libgnomeprintui gtkhtml libxml2
+
+  ];
 }
+
+