Summary(tr.UTF-8): Yararlı ufak yordamlar kitaplığı
Summary(zh_CN.UTF-8): 实用工具函数库
%define realname glib
-Name: crossmingw32-%{realname}2
-Version: 2.24.2
+Name: crossmingw32-glib2
+Version: 2.36.3
Release: 1
License: LGPL v2+
Group: Development/Libraries
-Source0: http://ftp.gnome.org/pub/GNOME/sources/glib/2.24/glib-%{version}.tar.bz2
-# Source0-md5: 8a6e45d7840460ed84288ebfd75782d4
+Source0: http://ftp.gnome.org/pub/GNOME/sources/glib/2.36/glib-%{version}.tar.xz
+# Source0-md5: 89180c7354b0acd3efb0a36ac05ca39c
Patch0: %{name}-stacktest.patch
+Patch1: glib2-cross.patch
+Patch2: glib2-win32.patch
URL: http://www.gtk.org/
-BuildRequires: autoconf >= 2.54
-BuildRequires: automake >= 1:1.7
+BuildRequires: autoconf >= 2.62
+BuildRequires: automake >= 1:1.11
BuildRequires: crossmingw32-gcc
BuildRequires: crossmingw32-gettext
+BuildRequires: crossmingw32-libffi >= 3.0.0
BuildRequires: crossmingw32-libiconv
-BuildRequires: crossmingw32-pcre >= 7.8
-BuildRequires: libtool
-BuildRequires: pkgconfig >= 1:0.16.0
+BuildRequires: crossmingw32-pcre >= 8.13
+BuildRequires: crossmingw32-zlib
+# host glib-genmarshall and glib-compile-schemas are needed for cross-compiling
+BuildRequires: glib2 >= 1:2.32.0
+BuildRequires: gtk-doc >= 1.15
+BuildRequires: libtool >= 2:2.2
+BuildRequires: pkgconfig >= 1:0.16
+BuildRequires: python >= 1:2.5
+BuildRequires: tar >= 1:1.22
+BuildRequires: xz
Requires: crossmingw32-gettext
-Requires: crossmingw32-pcre >= 7.8
+Requires: crossmingw32-pcre >= 8.13
+ExcludeArch: i386
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define no_install_post_strip 1
%define _dlldir /usr/share/wine/windows/system
%define __cc %{target}-gcc
%define __cxx %{target}-g++
+%define __pkgconfig_provides %{nil}
+%define __pkgconfig_requires %{nil}
%ifnarch %{ix86}
-# arch-specific flags (like alpha's -mieee) are not valid for i386 gcc
-%define optflags -O2
+# arch-specific flags (like alpha's -mieee) are not valid for i386 gcc.
+# now at least i486 is required for atomic operations
+%define optflags -O2 -march=i486
%endif
-# -z options are invalid for mingw linker
+# -z options are invalid for mingw linker, most of -f options are Linux-specific
%define filterout_ld -Wl,-z,.*
+%define filterout_c -f[-a-z0-9=]*
%description
GLib, is a library which includes support routines for C such as
Summary(pl.UTF-8): Biblioteki DLL glib2 dla Windows
Group: Applications/Emulators
Requires: crossmingw32-gettext-dll
-Requires: crossmingw32-pcre-dll >= 7.8
+Requires: crossmingw32-libffi-dll >= 3.0.0
+Requires: crossmingw32-pcre-dll >= 8.13
Requires: wine
%description dll
%prep
%setup -q -n %{realname}-%{version}
%patch0 -p1
+%patch1 -p1
+%patch2 -p1
%build
export PKG_CONFIG_LIBDIR=%{_prefix}/lib/pkgconfig
%{__autoheader}
%{__automake}
%configure \
+ DBUS_DAEMON=no \
--target=%{target} \
--host=%{target} \
--disable-gtk-doc \
+ --disable-silent-rules \
--enable-shared \
--with-pcre=system
%{target}-strip -g -R.comment -R.note $RPM_BUILD_ROOT%{_libdir}/*.a
%endif
-rm -f $RPM_BUILD_ROOT%{_libdir}/charset.alias
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/charset.alias
# use system glib2-devel instead
-rm -rf $RPM_BUILD_ROOT%{_datadir}/{aclocal,glib-2.0,gtk-doc,man}
+%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/{aclocal,bash-completion,gdb,glib-2.0,gtk-doc,man}
# runtime
-rm -rf $RPM_BUILD_ROOT%{_datadir}/locale
+%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/locale
%clean
rm -rf $RPM_BUILD_ROOT
%{_libdir}/libgmodule-2.0.la
%{_libdir}/libgobject-2.0.la
%{_libdir}/libgthread-2.0.la
-%{_libdir}/gio-2.0.def
-%{_libdir}/glib-2.0.def
-%{_libdir}/gmodule-2.0.def
-%{_libdir}/gobject-2.0.def
%{_libdir}/gthread-2.0.def
+%{_includedir}/gio-win32-2.0
%{_includedir}/glib-2.0
%dir %{_libdir}/glib-2.0
%dir %{_libdir}/glib-2.0/include
%{_libdir}/glib-2.0/include/glibconfig.h
%{_pkgconfigdir}/gio-2.0.pc
+%{_pkgconfigdir}/gio-windows-2.0.pc
%{_pkgconfigdir}/glib-2.0.pc
%{_pkgconfigdir}/gmodule-2.0.pc
%{_pkgconfigdir}/gmodule-export-2.0.pc