diff options
Diffstat (limited to 'nixpkgs/pkgs/desktops/gnome-2')
17 files changed, 580 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/desktops/gnome-2/default.nix b/nixpkgs/pkgs/desktops/gnome-2/default.nix new file mode 100644 index 000000000000..76cb60f9f5f1 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-2/default.nix @@ -0,0 +1,77 @@ +{ config, stdenv, pkgs, lib }: + +lib.makeScope pkgs.newScope (self: with self; { + +#### PLATFORM + + libIDL = callPackage ./platform/libIDL { + gettext = if stdenv.isDarwin then pkgs.gettext else null; + }; + + ORBit2 = callPackage ./platform/ORBit2 { }; + + libart_lgpl = callPackage ./platform/libart_lgpl { }; + + libglade = callPackage ./platform/libglade { }; + + GConf = callPackage ./platform/GConf { }; + + libgnomecanvas = callPackage ./platform/libgnomecanvas { }; + + # for git-head builds + gnome-common = callPackage platform/gnome-common { }; + + gnome_mime_data = callPackage ./platform/gnome-mime-data { }; + + gnome_vfs = callPackage ./platform/gnome-vfs { }; + + libgnome = callPackage ./platform/libgnome { }; + + libgnomeui = callPackage ./platform/libgnomeui { }; + + libbonobo = callPackage ./platform/libbonobo { }; + + libbonoboui = callPackage ./platform/libbonoboui { }; + + gtkglext = callPackage ./platform/gtkglext { }; + +#### DESKTOP + + gtksourceview = callPackage ./desktop/gtksourceview { + autoreconfHook = pkgs.autoreconfHook269; + }; + +} // lib.optionalAttrs config.allowAliases { + inherit (pkgs) + # GTK Libs + glib glibmm atk atkmm cairo pango pangomm gtkmm2 libcanberra-gtk2 + + # Included for backwards compatibility + libsoup libwnck2 gtk-doc gnome-doc-utils + + gvfs # added 2019-09-03 + ; + + gtk = pkgs.gtk2; + gtkmm = pkgs.gtkmm2; + + gtkdoc = pkgs.gtk-doc; + startup_notification = pkgs.libstartup_notification; + startupnotification = pkgs.libstartup_notification; + gnomedocutils = pkgs.gnome-doc-utils; + gnome-icon-theme = pkgs.gnome-icon-theme; + gnome_icon_theme = self.gnome-icon-theme; + gnomeicontheme = self.gnome-icon-theme; + gnome_common = gnome-common; + gnome_python = throw "gnome2.gnome_python has been removed"; # 2023-01-14 + gnome_python_desktop = throw "gnome2.gnome_python_desktop has been removed"; # 2023-01-14 + gtkhtml = throw "gnome2.gtkhtml has been removed"; # 2023-01-15 + gtkhtml4 = throw "gnome2.gtkhtml4 has been removed"; # 2023-01-15 + libglademm = throw "gnome2.libglademm has been removed"; # 2022-01-15 + libgnomecanvasmm = "gnome2.libgnomecanvasmm has been removed"; # 2022-01-15 + libgnomecups = throw "gnome2.libgnomecups has been removed"; # 2023-01-15 + libgnomeprint = throw "gnome2.libgnomeprint has been removed"; # 2023-01-15 + libgnomeprintui = throw "gnome2.libgnomeprintui has been removed"; # 2023-01-15 + libgtkhtml = throw "gnome2.libgtkhtml has been removed"; # 2023-01-15 + python_rsvg = throw "gnome2.python_rsvg has been removed"; # 2023-01-14 +}) diff --git a/nixpkgs/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix b/nixpkgs/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix new file mode 100644 index 000000000000..902178d16706 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix @@ -0,0 +1,51 @@ +{lib, stdenv, fetchpatch, fetchurl, autoreconfHook, pkg-config, atk, cairo, glib +, gnome-common, gtk2, pango +, libxml2Python, perl, intltool, gettext, gtk-mac-integration-gtk2 +, testers +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "gtksourceview"; + version = "2.10.5"; + + src = let + inherit (finalAttrs) pname version; + in fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "c585773743b1df8a04b1be7f7d90eecdf22681490d6810be54c81a7ae152191e"; + }; + + patches = lib.optionals stdenv.isDarwin [ + (fetchpatch { + name = "change-igemacintegration-to-gtkosxapplication.patch"; + url = "https://gitlab.gnome.org/GNOME/gtksourceview/commit/e88357c5f210a8796104505c090fb6a04c213902.patch"; + sha256 = "0h5q79q9dqbg46zcyay71xn1pm4aji925gjd5j93v4wqn41wj5m7"; + }) + (fetchpatch { + name = "update-to-gtk-mac-integration-2.0-api.patch"; + url = "https://gitlab.gnome.org/GNOME/gtksourceview/commit/ab46e552e1d0dae73f72adac8d578e40bdadaf95.patch"; + sha256 = "0qzrbv4hpa0v8qbmpi2vp575n13lkrvp3cgllwrd2pslw1v9q3aj"; + }) + ]; + + nativeBuildInputs = [ pkg-config intltool ] ++ lib.optionals stdenv.isDarwin [ autoreconfHook ]; + buildInputs = [ + atk cairo glib gtk2 + pango libxml2Python perl + gettext + ] ++ lib.optionals stdenv.isDarwin [ + gnome-common gtk-mac-integration-gtk2 + ]; + + preConfigure = lib.optionalString stdenv.isDarwin '' + intltoolize --force + ''; + + doCheck = false; # requires X11 daemon + + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + + meta = { + pkgConfigModules = [ "gtksourceview-2.0" ]; + }; +}) diff --git a/nixpkgs/pkgs/desktops/gnome-2/platform/GConf/default.nix b/nixpkgs/pkgs/desktops/gnome-2/platform/GConf/default.nix new file mode 100644 index 000000000000..8419c1a7d730 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-2/platform/GConf/default.nix @@ -0,0 +1,36 @@ +{ lib, stdenv, fetchurl, pkg-config, dbus-glib, glib, ORBit2, libxml2, polkit, python3, intltool }: + +stdenv.mkDerivation rec { + pname = "gconf"; + version = "3.2.6"; + + src = fetchurl { + url = "mirror://gnome/sources/GConf/${lib.versions.majorMinor version}/GConf-${version}.tar.xz"; + sha256 = "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"; + }; + + outputs = [ "out" "dev" "man" ]; + + buildInputs = [ ORBit2 libxml2 python3 ] + # polkit requires pam, which requires shadow.h, which is not available on + # darwin + ++ lib.optional (!stdenv.isDarwin) polkit; + + propagatedBuildInputs = [ glib dbus-glib ]; + + nativeBuildInputs = [ pkg-config intltool ]; + + configureFlags = + # fixes the "libgconfbackend-oldxml.so is not portable" error on darwin + lib.optionals stdenv.isDarwin [ "--enable-static" ]; + + postPatch = '' + 2to3 --write --nobackup gsettings/gsettings-schema-convert + ''; + + meta = with lib; { + homepage = "https://projects.gnome.org/gconf/"; + description = "Deprecated system for storing application preferences"; + platforms = platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome-2/platform/ORBit2/default.nix b/nixpkgs/pkgs/desktops/gnome-2/platform/ORBit2/default.nix new file mode 100644 index 000000000000..a45095ba4978 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-2/platform/ORBit2/default.nix @@ -0,0 +1,51 @@ +{ lib, stdenv, fetchurl, pkg-config, glib, libIDL, libintl }: + +stdenv.mkDerivation rec { + pname = "ORBit2"; + version = "2.14.19"; + + src = fetchurl { + url = "mirror://gnome/sources/ORBit2/${lib.versions.majorMinor version}/ORBit2-${version}.tar.bz2"; + sha256 = "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"; + }; + + nativeBuildInputs = [ pkg-config libintl ]; + propagatedBuildInputs = [ glib libIDL ]; + + outputs = [ "out" "dev" ]; + + preBuild = '' + sed 's/-DG_DISABLE_DEPRECATED//' -i linc2/src/Makefile + ''; + + preFixup = '' + moveToOutput "bin/orbit2-config" "$dev" + ''; + + # Parallel build fails due to missing internal library dependency: + # libtool --tag=CC --mode=link gcc ... -o orbit-name-server-2 ... + # ld: cannot find libname-server-2.a: No such file or directory + # It happens because orbit-name-server-2 should have libname-server-2.a + # in _DEPENDENCIES but does not. Instead of fixing it and regenerating + # Makefile.in let's just disable parallel build. + enableParallelBuilding = false; + + meta = with lib; { + homepage = "https://developer-old.gnome.org/ORBit2/"; + description = "A CORBA 2.4-compliant Object Request Broker"; + platforms = platforms.unix; + maintainers = with maintainers; [ lovek323 ]; + + longDescription = '' + ORBit2 is a CORBA 2.4-compliant Object Request Broker (ORB) featuring + mature C, C++ and Python bindings. Bindings (in various degrees of + completeness) are also available for Perl, Lisp, Pascal, Ruby, and TCL; + others are in-progress. It supports POA, DII, DSI, TypeCode, Any, IR and + IIOP. Optional features including INS and threading are available. ORBit2 + is engineered for the desktop workstation environment, with a focus on + performance, low resource usage, and security. The core ORB is written in + C, and runs under Linux, UNIX (BSD, Solaris, HP-UX, ...), and Windows. + ORBit2 is developed and released as open source software under GPL/LGPL. + ''; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome-2/platform/gnome-common/default.nix b/nixpkgs/pkgs/desktops/gnome-2/platform/gnome-common/default.nix new file mode 100644 index 000000000000..eba913c80c2d --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-2/platform/gnome-common/default.nix @@ -0,0 +1,19 @@ +{ lib, stdenv, fetchurl, which }: + +stdenv.mkDerivation rec { + pname = "gnome-common"; + version = "2.34.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-common/${lib.versions.majorMinor version}/gnome-common-${version}.tar.bz2"; + sha256 = "1pz13mpp09q5s3bikm8ml92s1g0scihsm4iipqv1ql3mp6d4z73s"; + }; + + propagatedBuildInputs = [ which ]; # autogen.sh which is using gnome-common tends to require which + + patches = [(fetchurl { + name = "gnome-common-patch"; + url = "https://bug697543.bugzilla-attachments.gnome.org/attachment.cgi?id=240935"; + sha256 = "17abp7czfzirjm7qsn2czd03hdv9kbyhk3lkjxg2xsf5fky7z7jl"; + })]; +} diff --git a/nixpkgs/pkgs/desktops/gnome-2/platform/gnome-mime-data/default.nix b/nixpkgs/pkgs/desktops/gnome-2/platform/gnome-mime-data/default.nix new file mode 100644 index 000000000000..1604dbe0cf08 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-2/platform/gnome-mime-data/default.nix @@ -0,0 +1,11 @@ +{ lib, stdenv, fetchurl, intltool }: + +stdenv.mkDerivation rec { + pname = "gnome-mime-data"; + version = "2.18.0"; + src = fetchurl { + url = "mirror://gnome/sources/gnome-mime-data/${lib.versions.majorMinor version}/gnome-mime-data-${version}.tar.bz2"; + sha256 = "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"; + }; + nativeBuildInputs = [ intltool ]; +} diff --git a/nixpkgs/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix b/nixpkgs/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix new file mode 100644 index 000000000000..7ce615fb3c71 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix @@ -0,0 +1,48 @@ +{ lib, stdenv, fetchurl, fetchpatch, pkg-config, libxml2, bzip2, openssl, dbus-glib +, glib, gamin, cdparanoia, intltool, GConf, gnome_mime_data, avahi, acl +, testers +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "gnome-vfs"; + version = "2.24.4"; + + src = let + inherit (finalAttrs) pname version; + in fetchurl { + url = "mirror://gnome/sources/gnome-vfs/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"; + }; + + outputs = [ "out" "dev" ]; + + nativeBuildInputs = [ intltool pkg-config ]; + buildInputs = + [ libxml2 bzip2 openssl dbus-glib gamin cdparanoia + gnome_mime_data avahi acl + ]; + + propagatedBuildInputs = [ GConf glib ]; + + # struct SSL is opaque in openssl-1.1; and the SSL_free() man page + # says that one should not free members of it manually (in both + # the openssl-1.0 and openssl-1.1 man pages). + # https://bugs.gentoo.org/592540 + patches = [ (fetchpatch { + name = "gnome-vfs-2.24.4-openssl-1.1.patch"; + url = "https://bugs.gentoo.org/attachment.cgi?id=535944"; + sha256 = "1q4icapvmwmd5rjah7rr0bqazzk5cg36znmjlpra20n9y27nz040"; + extraPrefix = ""; + }) + ]; + + postPatch = "find . -name Makefile.in | xargs sed 's/-DG_DISABLE_DEPRECATED//g' -i "; + + doCheck = false; # needs dbus daemon + + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + + meta = { + pkgConfigModules = [ "gnome-vfs-2.0" "gnome-vfs-module-2.0" ]; + }; +}) diff --git a/nixpkgs/pkgs/desktops/gnome-2/platform/gtkglext/default.nix b/nixpkgs/pkgs/desktops/gnome-2/platform/gtkglext/default.nix new file mode 100644 index 000000000000..ed0971b7131b --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-2/platform/gtkglext/default.nix @@ -0,0 +1,69 @@ +{ lib, stdenv +, fetchFromGitLab +, pkg-config +, gtk-doc +, autoconf +, automake +, which +, libtool +, gobject-introspection +, glib +, gtk2 +, libGLU +, libGL +, pango +, xorg +}: + +stdenv.mkDerivation rec { + pname = "gtkglext"; + version = "unstable-2019-12-19"; + + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "Archive"; + repo = pname; + # build fixes + # https://gitlab.gnome.org/Archive/gtkglext/merge_requests/1 + rev = "ad95fbab68398f81d7a5c895276903b0695887e2"; + sha256 = "1d1bp4635nla7d07ci40c7w4drkagdqk8wg93hywvdipmjfb4yqb"; + }; + + nativeBuildInputs = [ + pkg-config + gtk-doc + autoconf + automake + which + libtool + gobject-introspection + ]; + + buildInputs = [ + glib + gtk2 + libGLU + libGL + pango + xorg.libX11 + xorg.libXmu + ]; + + preConfigure = '' + NOCONFIGURE=1 ./autogen.sh + ''; + + meta = with lib; { + homepage = "https://projects.gnome.org/gtkglext/"; + description = "GtkGLExt, an OpenGL extension to GTK"; + longDescription = '' + GtkGLExt is an OpenGL extension to GTK. It provides additional GDK + objects which support OpenGL rendering in GTK and GtkWidget API + add-ons to make GTK widgets OpenGL-capable. In contrast to Janne + Löf's GtkGLArea, GtkGLExt provides a GtkWidget API that enables + OpenGL drawing for standard and custom GTK widgets. + ''; + license = licenses.lgpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome-2/platform/libIDL/default.nix b/nixpkgs/pkgs/desktops/gnome-2/platform/libIDL/default.nix new file mode 100644 index 000000000000..61b21ba88c01 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-2/platform/libIDL/default.nix @@ -0,0 +1,15 @@ +{ lib, stdenv, fetchurl, flex, bison, pkg-config, glib, gettext }: + +stdenv.mkDerivation rec { + pname = "libIDL"; + version = "0.8.14"; + + src = fetchurl { + url = "mirror://gnome/sources/libIDL/${lib.versions.majorMinor version}/libIDL-${version}.tar.bz2"; + sha256 = "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"; + }; + + buildInputs = [ glib gettext ]; + + nativeBuildInputs = [ flex bison pkg-config ]; +} diff --git a/nixpkgs/pkgs/desktops/gnome-2/platform/libart_lgpl/default.nix b/nixpkgs/pkgs/desktops/gnome-2/platform/libart_lgpl/default.nix new file mode 100644 index 000000000000..80ea3d02d939 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-2/platform/libart_lgpl/default.nix @@ -0,0 +1,10 @@ +{ lib, stdenv, fetchurl }: + +stdenv.mkDerivation rec { + pname = "libart_lgpl"; + version = "2.3.21"; + src = fetchurl { + url = "mirror://gnome/sources/libart_lgpl/${lib.versions.majorMinor version}/libart_lgpl-${version}.tar.bz2"; + sha256 = "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome-2/platform/libbonobo/default.nix b/nixpkgs/pkgs/desktops/gnome-2/platform/libbonobo/default.nix new file mode 100644 index 000000000000..e928052a4764 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-2/platform/libbonobo/default.nix @@ -0,0 +1,21 @@ +{ lib, stdenv, fetchurl, flex, bison, pkg-config, glib, libxml2, popt +, intltool, ORBit2, procps }: + +stdenv.mkDerivation rec { + pname = "libbonobo"; + version = "2.32.1"; + + src = fetchurl { + url = "mirror://gnome/sources/libbonobo/${lib.versions.majorMinor version}/libbonobo-${version}.tar.bz2"; + sha256 = "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"; + }; + + outputs = [ "out" "dev" ]; + + preConfigure = # still using stuff deprecated in new glib versions + "sed 's/-DG_DISABLE_DEPRECATED//g' -i configure activation-server/Makefile.in"; + + nativeBuildInputs = [ flex bison pkg-config intltool procps ]; + buildInputs = [ libxml2 ]; + propagatedBuildInputs = [ popt glib ORBit2 ]; +} diff --git a/nixpkgs/pkgs/desktops/gnome-2/platform/libbonoboui/default.nix b/nixpkgs/pkgs/desktops/gnome-2/platform/libbonoboui/default.nix new file mode 100644 index 000000000000..36ab293f5f12 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-2/platform/libbonoboui/default.nix @@ -0,0 +1,18 @@ +{ lib, stdenv, fetchurl, bison, pkg-config, popt, libxml2, gtk2, libtool +, intltool, libbonobo, GConf, libgnomecanvas, libgnome, libglade }: + +stdenv.mkDerivation rec { + pname = "libbonoboui"; + version = "2.24.5"; + + src = fetchurl { + url = "mirror://gnome/sources/libbonoboui/${lib.versions.majorMinor version}/libbonoboui-${version}.tar.bz2"; + sha256 = "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"; + }; + + outputs = [ "out" "dev" ]; + + nativeBuildInputs = [ pkg-config intltool ]; + buildInputs = [ bison popt gtk2 libxml2 GConf libglade libtool ]; + propagatedBuildInputs = [ libbonobo libgnomecanvas libgnome ]; +} diff --git a/nixpkgs/pkgs/desktops/gnome-2/platform/libglade/default.nix b/nixpkgs/pkgs/desktops/gnome-2/platform/libglade/default.nix new file mode 100644 index 000000000000..2f2641a9a5c8 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-2/platform/libglade/default.nix @@ -0,0 +1,20 @@ +{ lib, stdenv, fetchurl, pkg-config, gtk2, libxml2, gettext }: + +stdenv.mkDerivation rec { + pname = "libglade"; + version = "2.6.4"; + + src = fetchurl { + url = "mirror://gnome/sources/libglade/${lib.versions.majorMinor version}/libglade-${version}.tar.bz2"; + sha256 = "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"; + }; + + outputs = [ "out" "dev" ]; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ gtk2 gettext ]; + + NIX_LDFLAGS = "-lgmodule-2.0"; + + propagatedBuildInputs = [ libxml2 ]; +} diff --git a/nixpkgs/pkgs/desktops/gnome-2/platform/libgnome/default.nix b/nixpkgs/pkgs/desktops/gnome-2/platform/libgnome/default.nix new file mode 100644 index 000000000000..56145980a5d2 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-2/platform/libgnome/default.nix @@ -0,0 +1,23 @@ +{ lib, stdenv, fetchurl, pkg-config, glib, popt, zlib, libcanberra-gtk2 +, intltool, libbonobo, GConf, gnome_vfs, libtool, libogg +}: + +stdenv.mkDerivation rec { + pname = "libgnome"; + version = "2.32.1"; + + src = fetchurl { + url = "mirror://gnome/sources/libgnome/${lib.versions.majorMinor version}/libgnome-${version}.tar.bz2"; + sha256 = "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"; + }; + + patches = [ ./new-glib.patch ]; + /* There's a comment containing an invalid utf-8 sequence, breaking glib-mkenums. */ + postPatch = "sed '/returns the true filename/d' -i libgnome/gnome-config.h"; + + outputs = [ "out" "dev" ]; + + nativeBuildInputs = [ pkg-config intltool ]; + buildInputs = [ popt zlib GConf gnome_vfs libcanberra-gtk2 libtool ]; + propagatedBuildInputs = [ glib libbonobo libogg ]; +} diff --git a/nixpkgs/pkgs/desktops/gnome-2/platform/libgnome/new-glib.patch b/nixpkgs/pkgs/desktops/gnome-2/platform/libgnome/new-glib.patch new file mode 100644 index 000000000000..ceabfbdd158e --- /dev/null +++ b/nixpkgs/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); diff --git a/nixpkgs/pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix b/nixpkgs/pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix new file mode 100644 index 000000000000..b856442290a4 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix @@ -0,0 +1,17 @@ +{ lib, stdenv, fetchurl, pkg-config, gtk2, intltool, libart_lgpl, libglade }: + +stdenv.mkDerivation rec { + pname = "libgnomecanvas"; + version = "2.30.3"; + + src = fetchurl { + url = "mirror://gnome/sources/libgnomecanvas/${lib.versions.majorMinor version}/libgnomecanvas-${version}.tar.bz2"; + sha256 = "0h6xvswbqspdifnyh5pm2pqq55yp3kn6yrswq7ay9z49hkh7i6w5"; + }; + + outputs = [ "out" "dev" ]; + + buildInputs = [ libglade ]; + nativeBuildInputs = [ pkg-config intltool ]; + propagatedBuildInputs = [ libart_lgpl gtk2 ]; +} diff --git a/nixpkgs/pkgs/desktops/gnome-2/platform/libgnomeui/default.nix b/nixpkgs/pkgs/desktops/gnome-2/platform/libgnomeui/default.nix new file mode 100644 index 000000000000..29ed44431c31 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-2/platform/libgnomeui/default.nix @@ -0,0 +1,29 @@ +{ lib, stdenv, fetchurl, fetchpatch, pkg-config, libxml2, xorg, glib, pango +, intltool, libgnome, libgnomecanvas, libbonoboui, GConf, libtool +, gnome_vfs, libgnome-keyring, libglade }: + +stdenv.mkDerivation rec { + pname = "libgnomeui"; + version = "2.24.5"; + + src = fetchurl { + url = "mirror://gnome/sources/libgnomeui/${lib.versions.majorMinor version}/libgnomeui-${version}.tar.bz2"; + sha256 = "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"; + }; + + outputs = [ "out" "dev" ]; + + patches = [ + (fetchpatch { + name = "0001-gnome-scores.h-Convert-to-UTF-8.patch"; + url = "https://gitlab.gnome.org/Archive/libgnomeui/-/commit/30334c28794ef85d8973f4ed0779b5ceed6594f2.diff"; + sha256 = "1sn8j8dkam14wfkpw8nga3gk63wniff243mzv3jp0fvv52q8sqhk"; + }) + ]; + + nativeBuildInputs = [ pkg-config intltool ]; + buildInputs = + [ xorg.libX11 xorg.libSM xorg.libICE libxml2 GConf pango glib libgnome-keyring libglade libtool ]; + + propagatedBuildInputs = [ libgnome libbonoboui libgnomecanvas gnome_vfs ]; +} |