diff --git a/.gitignore b/.gitignore index e69de29..52d8ac3 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,2 @@ +/dbus-1.4.1.tar.gz +/dbus-1.4.6.tar.gz diff --git a/dbus-1.4.6-path-is-absolute.patch b/dbus-1.4.6-path-is-absolute.patch new file mode 100644 index 0000000..895124f --- /dev/null +++ b/dbus-1.4.6-path-is-absolute.patch @@ -0,0 +1,56 @@ +diff --git a/dbus/dbus-sysdeps-util-win.c b/dbus/dbus-sysdeps-util-win.c +index f10100b..9b3421e 100644 +--- a/dbus/dbus-sysdeps-util-win.c ++++ b/dbus/dbus-sysdeps-util-win.c +@@ -682,23 +682,6 @@ _dbus_directory_close (DBusDirIter *iter) + dbus_free (iter); + } + +-/** +- * Checks whether the filename is an absolute path +- * +- * @param filename the filename +- * @returns #TRUE if an absolute path +- */ +-dbus_bool_t +-_dbus_path_is_absolute (const DBusString *filename) +-{ +- if (_dbus_string_get_length (filename) > 0) +- return _dbus_string_get_byte (filename, 1) == ':' +- || _dbus_string_get_byte (filename, 0) == '\\' +- || _dbus_string_get_byte (filename, 0) == '/'; +- else +- return FALSE; +-} +- + /** @} */ /* End of DBusInternalsUtils functions */ + + /** +diff --git a/dbus/dbus-sysdeps-win.c b/dbus/dbus-sysdeps-win.c +index b70ac6a..19f6fa0 100644 +--- a/dbus/dbus-sysdeps-win.c ++++ b/dbus/dbus-sysdeps-win.c +@@ -3557,6 +3557,23 @@ _dbus_delete_directory (const DBusString *filename, + return TRUE; + } + ++/** ++ * Checks whether the filename is an absolute path ++ * ++ * @param filename the filename ++ * @returns #TRUE if an absolute path ++ */ ++dbus_bool_t ++_dbus_path_is_absolute (const DBusString *filename) ++{ ++ if (_dbus_string_get_length (filename) > 0) ++ return _dbus_string_get_byte (filename, 1) == ':' ++ || _dbus_string_get_byte (filename, 0) == '\\' ++ || _dbus_string_get_byte (filename, 0) == '/'; ++ else ++ return FALSE; ++} ++ + /** @} end of sysdeps-win */ + /* tests in dbus-sysdeps-util.c */ + diff --git a/dbus-prevent-conflict-with-element-type-from-mingw-headers.patch b/dbus-prevent-conflict-with-element-type-from-mingw-headers.patch new file mode 100644 index 0000000..78b7b87 --- /dev/null +++ b/dbus-prevent-conflict-with-element-type-from-mingw-headers.patch @@ -0,0 +1,14 @@ +--- dbus/dbus-sysdeps-win.h.orig 2012-02-28 00:34:36.076115260 +0100 ++++ dbus/dbus-sysdeps-win.h 2012-02-28 00:35:13.562789154 +0100 +@@ -33,8 +33,11 @@ + #include "dbus-string.h" + #include + #include ++ ++#define ELEMENT_TYPE ELEMENT_TYPE_MS + #include + #undef interface ++#undef ELEMENT_TYPE + + #define DBUS_CONSOLE_DIR "/var/run/console/" + diff --git a/mingw32-dbus.spec b/mingw32-dbus.spec new file mode 100644 index 0000000..d0698cd --- /dev/null +++ b/mingw32-dbus.spec @@ -0,0 +1,127 @@ +%global __strip %{_mingw32_strip} +%global __objdump %{_mingw32_objdump} +%global _use_internal_dependency_generator 0 +%global __find_requires %{_mingw32_findrequires} +%global __find_provides %{_mingw32_findprovides} +%define __debug_install_post %{_mingw32_debug_install_post} + +Name: mingw32-dbus +Version: 1.4.6 +Release: 3%{?dist} +Summary: MinGW Windows port of D-Bus + +License: GPLv2+ or AFL +Group: Development/Libraries +URL: http://www.freedesktop.org/wiki/Software/dbus +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +Source0: http://dbus.freedesktop.org/releases/dbus/dbus-%{version}.tar.gz + +BuildArch: noarch + +BuildRequires: mingw32-filesystem >= 33 +BuildRequires: mingw32-gcc +BuildRequires: mingw32-binutils +BuildRequires: mingw32-glib2 +BuildRequires: mingw32-expat +BuildRequires: libtool, automake, autoconf + +Requires: pkgconfig + +# Upstream patch: sysdeps-win needs _dbus_path_is_absolute +Patch0: dbus-1.4.6-path-is-absolute.patch + +# One of the files uses ELEMENT_TYPE while this is already used in the mingw-w64 headers +Patch1: dbus-prevent-conflict-with-element-type-from-mingw-headers.patch + +%description +D-BUS is a system for sending messages between applications. It is +used both for the system wide message bus service, and as a +per-user-login-session messaging facility. + +%package static +Summary: Static version of MinGW Windows port of DBus library +Requires: %{name} = %{version}-%{release} +Group: Development/Libraries + +%description static +D-BUS is a system for sending messages between applications. It is +used both for the system wide message bus service, and as a +per-user-login-session messaging facility. + +Static version of MinGW Windows port of DBus library + +%{?_mingw32_debug_package} + +%prep +%setup -q -n dbus-%{version} +%patch0 -p1 +%patch1 -p0 + +%build +%{_mingw32_configure} +make %{?_smp_mflags} + +%install +make DESTDIR=$RPM_BUILD_ROOT install + +# Remove manpages because they duplicate what's in the +# Fedora native package already. +rm -r $RPM_BUILD_ROOT%{_mingw32_mandir}/man1 + +# The init.d script is unneeded for Win32 environments so it can be dropped +rm -r $RPM_BUILD_ROOT%{_mingw32_sysconfdir}/rc.d/init.d/messagebus + +%files +%defattr(-,root,root,-) +%doc COPYING +%{_mingw32_bindir}/dbus-daemon.exe +%{_mingw32_bindir}/dbus-launch.exe +%{_mingw32_bindir}/dbus-monitor.exe +%{_mingw32_bindir}/dbus-send.exe +%{_mingw32_bindir}/libdbus-1-3.dll +%{_mingw32_libdir}/libdbus-1.dll.a +%{_mingw32_libdir}/libdbus-1.la +%{_mingw32_libdir}/pkgconfig/dbus-1.pc +%{_mingw32_sysconfdir}/dbus-1/ +%{_mingw32_includedir}/dbus-1.0/ +%{_mingw32_libdir}/dbus-1.0/ + +%files static +%defattr(-,root,root,-) +%{_mingw32_libdir}/libdbus-1.a + +%changelog +* Mon Feb 27 2012 Erik van Pienbroek - 1.4.6-3 +- Rebuild against the mingw-w64 toolchain +- Added patch to prevent redeclaration of the symbol ELEMENT_TYPE + +* Fri Jan 13 2012 Fedora Release Engineering - 1.4.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Mon Mar 28 2011 Ivan Romanov - 1.4.6-1 +- New upstream version +- Removed clean stage +- Added dbus-1.4.6-path-is-absolute.patch patch + +* Tue Feb 08 2011 Fedora Release Engineering - 1.4.1-0.2.20101008git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Fri Oct 8 2010 Ivan Romanov - 1.4.1-0.1.20101008git +- Updated to 1.4.1 version from git +- windbus is now part of freedesktop dbus +- Removed mingw32-dbus-c++ package (c++ bindings it's not part of dbus) +- Removed mingw32-dbus-1.2.4-20081031-mingw32.patch +- Removed unusual dependencies +- Removed init.d script +- Changed define tags on the top to global tags +- Added static subpackage with static library +- Added debuginfo + +* Fri Feb 6 2009 Richard W.M. Jones - 1.2.4-0.3.20081031svn +- Include license. + +* Tue Jan 13 2009 Richard W.M. Jones - 1.2.4-0.2.20081031svn +- Requires pkgconfig. + +* Mon Nov 3 2008 Richard W.M. Jones - 1.2.4-0.1.20081031svn +- Initial RPM release. diff --git a/sources b/sources index e69de29..5328418 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +99b165f727dd8a5c4b7e2c20a8bf5db6 dbus-1.4.6.tar.gz