summary refs log tree commit diff
path: root/pkgs/desktops/gnome-2/platform
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops/gnome-2/platform')
-rw-r--r--pkgs/desktops/gnome-2/platform/ORBit2/default.nix4
-rw-r--r--pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix2
-rw-r--r--pkgs/desktops/gnome-2/platform/gtkglext/default.nix5
-rw-r--r--pkgs/desktops/gnome-2/platform/intltool/default.nix13
-rw-r--r--pkgs/desktops/gnome-2/platform/libbonobo/default.nix4
-rw-r--r--pkgs/desktops/gnome-2/platform/libgnome/default.nix4
-rw-r--r--pkgs/desktops/gnome-2/platform/libgnome/new-glib.patch65
7 files changed, 80 insertions, 17 deletions
diff --git a/pkgs/desktops/gnome-2/platform/ORBit2/default.nix b/pkgs/desktops/gnome-2/platform/ORBit2/default.nix
index ec6931724bc2..22c22c6bcf50 100644
--- a/pkgs/desktops/gnome-2/platform/ORBit2/default.nix
+++ b/pkgs/desktops/gnome-2/platform/ORBit2/default.nix
@@ -9,6 +9,10 @@ stdenv.mkDerivation rec {
     sha256 = "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam";
   };
 
+  preBuild = ''
+    sed 's/-DG_DISABLE_DEPRECATED//' -i linc2/src/Makefile
+  '';
+
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ glib libIDL ];
 }
diff --git a/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix b/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix
index 0215b341f934..55daa496afc7 100644
--- a/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix
+++ b/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix
@@ -16,4 +16,6 @@ stdenv.mkDerivation rec {
     ];
 
   propagatedBuildInputs = [ GConf glib ];
+
+  postPatch = "find . -name Makefile.in | xargs sed 's/-DG_DISABLE_DEPRECATED//g' -i ";
 }
diff --git a/pkgs/desktops/gnome-2/platform/gtkglext/default.nix b/pkgs/desktops/gnome-2/platform/gtkglext/default.nix
index 4eab4b8213c6..903387f50b14 100644
--- a/pkgs/desktops/gnome-2/platform/gtkglext/default.nix
+++ b/pkgs/desktops/gnome-2/platform/gtkglext/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gtk, mesa, pango }:
+{ stdenv, fetchurl, pkgconfig, glib, gtk, mesa, pango, pangox_compat, xlibs }:
 
 stdenv.mkDerivation rec {
   name = "gtkglext-1.2.0";
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "0lbz96jwz57hnn52b8rfj54inwpwcc9fkdq6ya043cgnfih77g8n";
   };
 
-  buildInputs = [ pkgconfig gtk mesa pango ];
+  buildInputs = with xlibs;
+    [ pkgconfig glib gtk mesa pango pangox_compat libX11 libXmu ];
 
   # The library uses `GTK_WIDGET_REALIZED', `GTK_WIDGET_TOPLEVEL', and
   # `GTK_WIDGET_NO_WINDOW', all of which appear to be deprecated nowadays.
diff --git a/pkgs/desktops/gnome-2/platform/intltool/default.nix b/pkgs/desktops/gnome-2/platform/intltool/default.nix
deleted file mode 100644
index 51eaa4a2cf48..000000000000
--- a/pkgs/desktops/gnome-2/platform/intltool/default.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{stdenv, fetchurl, pkgconfig, perl, perlXMLParser, gettext}:
-
-stdenv.mkDerivation rec {
-  name = "intltool-0.40.6";
-
-  src = fetchurl {
-    url = mirror://gnome/sources/intltool/0.40/intltool-0.40.6.tar.bz2;
-    sha256 = "0r1vkvy5xzqk01yl6a0xlrry39bra24alkrx6279b77hc62my7jd";
-  };
-
-  buildInputs = [ pkgconfig ];
-  propagatedBuildInputs = [ perl perlXMLParser gettext ];
-}
diff --git a/pkgs/desktops/gnome-2/platform/libbonobo/default.nix b/pkgs/desktops/gnome-2/platform/libbonobo/default.nix
index 79c41f924d3f..2303fb15a6f1 100644
--- a/pkgs/desktops/gnome-2/platform/libbonobo/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libbonobo/default.nix
@@ -10,7 +10,9 @@ stdenv.mkDerivation rec {
     sha256 = "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i";
   };
 
-  preConfigure = "export USER=`whoami`";
+  preConfigure = # still using stuff deprecated in new glib versions
+    "sed 's/-DG_DISABLE_DEPRECATED//g' -i configure activation-server/Makefile.in";
+
   nativeBuildInputs = [ flex bison pkgconfig intltool procps ];
   buildInputs = [ libxml2 ];
   propagatedBuildInputs = [ popt glib ORBit2 ];
diff --git a/pkgs/desktops/gnome-2/platform/libgnome/default.nix b/pkgs/desktops/gnome-2/platform/libgnome/default.nix
index 37dbfd129611..5ab6d5e813d6 100644
--- a/pkgs/desktops/gnome-2/platform/libgnome/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libgnome/default.nix
@@ -9,7 +9,9 @@ stdenv.mkDerivation rec {
     major = "2"; minor = "32"; patchlevel = "1";
     sha256 = "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj";
   };
-  
+
+  patches = [ ./new-glib.patch ];
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ popt zlib intltool GConf gnome_vfs libcanberra libtool ];
   propagatedBuildInputs = [ glib libbonobo ];
diff --git a/pkgs/desktops/gnome-2/platform/libgnome/new-glib.patch b/pkgs/desktops/gnome-2/platform/libgnome/new-glib.patch
new file mode 100644
index 000000000000..ceabfbdd158e
--- /dev/null
+++ b/pkgs/desktops/gnome-2/platform/libgnome/new-glib.patch
@@ -0,0 +1,65 @@
+Porting libgnome to newer glib:
+ * remove g_thread_init and g_thread_supported, which are longer needed
+   https://developer.gnome.org/glib/2.36/glib-Deprecated-Thread-APIs.html#g-thread-init
+ * replace GStaticRecMutex by GRecMutex
+   https://developer.gnome.org/glib/2.36/glib-Deprecated-Thread-APIs.html#GStaticRecMutex
+
+diff --git a/libgnome/gnome-i18n.c b/libgnome/gnome-i18n.c
+index 531c56c..f13d61e 100644
+--- a/libgnome/gnome-i18n.c
++++ b/libgnome/gnome-i18n.c
+@@ -55,12 +55,14 @@
+ const GList *
+ gnome_i18n_get_language_list (const gchar *ignored)
+ {
+-  static GStaticRecMutex lang_list_lock = G_STATIC_REC_MUTEX_INIT;
++  static GRecMutex lang_list_lock;
++  g_rec_mutex_init (&lang_list_lock);
++
+   static GList *list = NULL;
+   const char * const* langs;
+   int i;
+ 
+-  g_static_rec_mutex_lock (&lang_list_lock);
++  g_rec_mutex_lock (&lang_list_lock);
+ 
+   if (list == NULL) {
+     langs = g_get_language_names ();
+@@ -71,7 +73,7 @@ gnome_i18n_get_language_list (const gchar *ignored)
+     list = g_list_reverse (list);
+   }
+ 
+-  g_static_rec_mutex_unlock (&lang_list_lock);
++  g_rec_mutex_unlock (&lang_list_lock);
+ 
+   return list;
+ }
+diff --git a/libgnome/gnome-init.c b/libgnome/gnome-init.c
+index fe3efd4..c6619af 100644
+--- a/libgnome/gnome-init.c
++++ b/libgnome/gnome-init.c
+@@ -115,9 +115,6 @@ gnome_bonobo_module_info_get (void)
+ static void
+ bonobo_activation_pre_args_parse (GnomeProgram *program, GnomeModuleInfo *mod_info)
+ {
+-        if (!g_thread_supported ())
+-		g_thread_init (NULL);
+-
+ 	if (!bonobo_activation_is_initialized ())
+ 		bonobo_activation_preinit (program, mod_info);
+ }
+diff --git a/libgnome/gnome-program.c b/libgnome/gnome-program.c
+index 739765e..cd14999 100644
+--- a/libgnome/gnome-program.c
++++ b/libgnome/gnome-program.c
+@@ -1878,10 +1878,6 @@ gnome_program_init (const char *app_id, const char *app_version,
+     GnomeProgram *program;
+     va_list args;
+ 
+-    /* g_thread_init() has to be the first GLib function called ever */
+-    if (!g_threads_got_initialized)
+-        g_thread_init (NULL);
+-
+     g_type_init ();
+ 
+     va_start(args, first_property_name);