diff options
Diffstat (limited to 'pkgs/desktops/gnome-2/platform')
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); |