Summary(zh_CN.UTF-8): 实用工具函数库
%define realname glib
Name: crossmingw32-glib2
-Version: 2.32.1
+Version: 2.46.1
Release: 1
License: LGPL v2+
Group: Development/Libraries
-Source0: http://ftp.gnome.org/pub/GNOME/sources/glib/2.32/glib-%{version}.tar.xz
-# Source0-md5: 032c7cf9868c9aa186b490b155a41144
-Patch0: %{name}-stacktest.patch
-Patch1: %{name}-errno.patch
-Patch2: %{name}-nonunix.patch
+Source0: http://ftp.gnome.org/pub/GNOME/sources/glib/2.46/glib-%{version}.tar.xz
+# Source0-md5: c90e93ceb45100ffc1d40ec5d2ca3248
+Patch0: glib2-win32.patch
URL: http://www.gtk.org/
BuildRequires: autoconf >= 2.62
BuildRequires: automake >= 1:1.11
BuildRequires: crossmingw32-gettext
BuildRequires: crossmingw32-libffi >= 3.0.0
BuildRequires: crossmingw32-libiconv
-BuildRequires: crossmingw32-pcre >= 8.11
+BuildRequires: crossmingw32-pcre >= 8.13
+# rand_s()
+BuildRequires: crossmingw32-runtime >= 1:4.0.3-2
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: gtk-doc >= 1.20
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 >= 8.11
+Requires: crossmingw32-pcre >= 8.13
ExcludeArch: i386
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%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.
# 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
Group: Applications/Emulators
Requires: crossmingw32-gettext-dll
Requires: crossmingw32-libffi-dll >= 3.0.0
-Requires: crossmingw32-pcre-dll >= 8.11
+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-dtrace \
--disable-gtk-doc \
--disable-silent-rules \
--enable-shared \
%{target}-strip -g -R.comment -R.note $RPM_BUILD_ROOT%{_libdir}/*.a
%endif
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/charset.alias
# use system glib2-devel instead
-%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/{aclocal,gdb,glib-2.0,gtk-doc,man} \
- $RPM_BUILD_ROOT%{_libdir}/gdbus-2.0/codegen \
- $RPM_BUILD_ROOT/etc/bash_completion.d
+%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/{aclocal,bash-completion,gdb,glib-2.0,gtk-doc,man}
# runtime
%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/locale
%{_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