Summary(zh_CN.UTF-8): 实用工具函数库
%define realname glib
Name: crossmingw32-glib2
-Version: 2.60.7
-Release: 1
+Version: 2.66.8
+Release: 2
License: LGPL v2+
Group: Development/Libraries
-Source0: http://ftp.gnome.org/pub/GNOME/sources/glib/2.60/glib-%{version}.tar.xz
-# Source0-md5: f036f78a7fca330d9f7d939fcf794bde
+Source0: https://download.gnome.org/sources/glib/2.66/glib-%{version}.tar.xz
+# Source0-md5: 705dd46a43d339e8aea19e946e71c32a
Patch0: glib2-win32.patch
-URL: http://www.gtk.org/
-BuildRequires: crossmingw32-gcc
+URL: https://www.gtk.org/
+BuildRequires: crossmingw32-gcc-c++
BuildRequires: crossmingw32-gettext
BuildRequires: crossmingw32-libffi >= 3.0.0
BuildRequires: crossmingw32-libiconv
# rand_s()
BuildRequires: crossmingw32-runtime >= 1:4.0.3-2
# SetThreadErrorMode and more
-BuildRequires: crossmingw32-w32api >= 1:5.0.2-4
+BuildRequires: crossmingw32-w32api >= 1:5.0.2-9
BuildRequires: crossmingw32-zlib
# host glib-genmarshall and glib-compile-schemas are needed for cross-compiling
-BuildRequires: glib2 >= 1:2.32.0
+BuildRequires: glib2 >= 1:2.62.0
BuildRequires: gtk-doc >= 1.20
BuildRequires: meson >= 0.50.0-2
-BuildRequires: ninja
+BuildRequires: ninja >= 1.5
BuildRequires: pkgconfig >= 1:0.16
-BuildRequires: python3 >= 1:3.4
+BuildRequires: python3 >= 1:3.5
BuildRequires: rpmbuild(macros) >= 1.736
BuildRequires: tar >= 1:1.22
BuildRequires: xz
Requires: crossmingw32-gettext
+Requires: crossmingw32-libffi >= 3.0.0
Requires: crossmingw32-pcre >= 8.31
ExcludeArch: i386
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define no_install_post_strip 1
+%define _enable_debug_packages 0
%define target i386-mingw32
%define host %{target}
%define _dlldir /usr/share/wine/windows/system
%define __pkgconfig_provides %{nil}
%define __pkgconfig_requires %{nil}
+
# for meson 0.50+, keep __cc/__cxx as host compiler and pass %{target}-* in meson-cross.txt
-%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, most of -f options are Linux-specific
%define filterout_ld -Wl,-z,.*
%define filterout_c -f[-a-z0-9=]*
windres = '%{target}-windres'
pkgconfig = 'pkg-config'
[properties]
+%ifarch %{ix86}
c_args = ['%(echo %{rpmcflags} | sed -e "s/ \+/ /g;s/ /', '/g")']
+%else
+# arch-specific flags (like alpha's -mieee) are not valid for i386 gcc.
+# now at least i486 is required for atomic operations
+c_args = ['-O2', '-march=i486']
+%endif
EOF
%build
%{target}-strip -g -R.comment -R.note $RPM_BUILD_ROOT%{_libdir}/*.a
%endif
+# adjust for system tools
+%{__sed} -i -e '/^\(gio\|gio_querymodules\|glib_compile_schemas\|glib_compile_resources\|gdbus\|gdbus_codegen\|gresource\|gsettings\|glib_genmarshal\|gobject_query\|glib_mkenums\)=/ s,\${bindir},/usr/bin,' $RPM_BUILD_ROOT%{_pkgconfigdir}/{gio,glib}-2.0.pc
+
# use system glib2-devel instead
%{__rm} $RPM_BUILD_ROOT%{_bindir}/{gdbus-codegen,glib-genmarshal,glib-gettextize,glib-mkenums,gtester-report,*.exe}
%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/{aclocal,bash-completion,gettext,glib-2.0}