[mingw-glib2] Fix compile failure while building static library
Erik van Pienbroek
epienbro at fedoraproject.org
Sat May 5 17:35:44 UTC 2012
commit 3c3eb79fc3ee4f7e256559acbdc1737c774f6baf
Author: Erik van Pienbroek <epienbro at fedoraproject.org>
Date: Sat May 5 19:35:31 2012 +0200
Fix compile failure while building static library
...rt-a-DBus-server-when-built-as-static-lib.patch | 47 ++++++++++++++++++++
mingw-glib2.spec | 10 ++++-
2 files changed, 56 insertions(+), 1 deletions(-)
---
diff --git a/0001-Don-t-start-a-DBus-server-when-built-as-static-lib.patch b/0001-Don-t-start-a-DBus-server-when-built-as-static-lib.patch
new file mode 100644
index 0000000..a44de7d
--- /dev/null
+++ b/0001-Don-t-start-a-DBus-server-when-built-as-static-lib.patch
@@ -0,0 +1,47 @@
+From f40b1bdb92a2a1d77bc7b451add6a587cc270100 Mon Sep 17 00:00:00 2001
+From: Erik van Pienbroek <epienbro at fedoraproject.org>
+Date: Sat, 5 May 2012 18:10:47 +0200
+Subject: [PATCH] Don't start a DBus server when built as static lib
+
+The new Win32 DBus server code which was recently introduced works
+by retrieving the path of the gio DLL and using rundll32.exe to
+create a new process which starts a DBus server using the gio DLL.
+
+This doesn't work when GLib is built as a static library as there is no
+gio DLL available in that case. Therefore the code which tries to start
+a DBus server using the above steps doesn't have to be executed as it
+will always fail.
+
+This commit makes sure that no attempt is done to start a DBus server when
+using a static compiled GLib and that a proper error message is automatically
+returned to the caller. This also fixes a compilation failure which occurs
+when GLib is compiled as static library
+---
+ gio/gdbusaddress.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/gio/gdbusaddress.c b/gio/gdbusaddress.c
+index 4aa13b9..5fba139 100644
+--- a/gio/gdbusaddress.c
++++ b/gio/gdbusaddress.c
+@@ -1390,6 +1390,8 @@ get_session_address_dbus_launch (GError **error)
+
+ release_mutex (init_mutex);
+
++#ifdef DLL_EXPORT
++
+ if (address == NULL)
+ {
+ gio_path[MAX_PATH] = 0;
+@@ -1428,6 +1430,8 @@ get_session_address_dbus_launch (GError **error)
+ }
+ }
+
++#endif
++
+ release_mutex (autolaunch_mutex);
+
+ if (address == NULL)
+--
+1.7.10.1
+
diff --git a/mingw-glib2.spec b/mingw-glib2.spec
index 8c93e2a..ee2b5fb 100644
--- a/mingw-glib2.spec
+++ b/mingw-glib2.spec
@@ -2,7 +2,7 @@
Name: mingw-glib2
Version: 2.32.2
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: MinGW Windows GLib2 library
License: LGPLv2+
@@ -35,6 +35,10 @@ BuildRequires: gettext
# Native version required for glib-genmarshal
BuildRequires: glib2-devel >= 2.31.20
+# https://bugzilla.gnome.org/show_bug.cgi?id=675516
+Patch0: 0001-Don-t-start-a-DBus-server-when-built-as-static-lib.patch
+
+
%description
MinGW Windows Glib2 library.
@@ -74,6 +78,7 @@ Static version of the MinGW Windows GLib2 library.
%prep
%setup -q -n glib-%{version}
+%patch0 -p1
%build
@@ -252,6 +257,9 @@ find $RPM_BUILD_ROOT -name "*.la" -delete
%changelog
+* Sat May 05 2012 Erik van Pienbroek <epienbro at fedoraproject.org> - 2.32.2-2
+- Fix compile failure while building static library (GNOME BZ #675516)
+
* Tue May 01 2012 Kalev Lember <kalevlember at gmail.com> - 2.32.2-1
- Update to 2.32.2
- Dropped upstreamed patches
More information about the mingw
mailing list