X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=crossmingw32-glib2.spec;h=d5b05d69697f3ebfec1c19f164f811d353c4df11;hb=73182f5;hp=21551e0d89aa68ff2c043bda1ecdba5455e10c98;hpb=71b3d73cde40ac4027ddcba5511c1afff237e97a;p=packages%2Fcrossmingw32-glib2.git diff --git a/crossmingw32-glib2.spec b/crossmingw32-glib2.spec index 21551e0..d5b05d6 100644 --- a/crossmingw32-glib2.spec +++ b/crossmingw32-glib2.spec @@ -12,28 +12,36 @@ Summary(tr.UTF-8): Yararlı ufak yordamlar kitaplığı Summary(zh_CN.UTF-8): 实用工具函数库 %define realname glib Name: crossmingw32-glib2 -Version: 2.28.7 +Version: 2.60.2 Release: 1 License: LGPL v2+ Group: Development/Libraries -Source0: http://ftp.gnome.org/pub/GNOME/sources/glib/2.28/glib-%{version}.tar.bz2 -# Source0-md5: feda1650c8646ad39c7b01d95b03766b -Patch0: %{name}-stacktest.patch +Source0: http://ftp.gnome.org/pub/GNOME/sources/glib/2.60/glib-%{version}.tar.xz +# Source0-md5: f28f2228e2b369cc866f18770baafe2b +Patch0: glib2-win32.patch URL: http://www.gtk.org/ -BuildRequires: autoconf >= 2.62 -BuildRequires: automake >= 1:1.10 BuildRequires: crossmingw32-gcc BuildRequires: crossmingw32-gettext +BuildRequires: crossmingw32-libffi >= 3.0.0 BuildRequires: crossmingw32-libiconv -BuildRequires: crossmingw32-pcre >= 8.11 +BuildRequires: crossmingw32-pcre >= 8.31 +# rand_s() +BuildRequires: crossmingw32-runtime >= 1:4.0.3-2 +# SetThreadErrorMode and more +BuildRequires: crossmingw32-w32api >= 1:5.0.2-4 BuildRequires: crossmingw32-zlib # host glib-genmarshall and glib-compile-schemas are needed for cross-compiling -BuildRequires: glib2 >= 1:2.28.0 -BuildRequires: gtk-doc >= 1.15 -BuildRequires: libtool >= 2:2.2 +BuildRequires: glib2 >= 1:2.32.0 +BuildRequires: gtk-doc >= 1.20 +BuildRequires: meson >= 0.50.0-2 +BuildRequires: ninja BuildRequires: pkgconfig >= 1:0.16 +BuildRequires: python3 >= 1:3.4 +BuildRequires: rpmbuild(macros) >= 1.736 +BuildRequires: tar >= 1:1.22 +BuildRequires: xz Requires: crossmingw32-gettext -Requires: crossmingw32-pcre >= 8.11 +Requires: crossmingw32-pcre >= 8.31 ExcludeArch: i386 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -48,16 +56,18 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _libdir %{_prefix}/lib %define _pkgconfigdir %{_prefix}/lib/pkgconfig %define _dlldir /usr/share/wine/windows/system -%define __cc %{target}-gcc -%define __cxx %{target}-g++ +%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 +# -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 @@ -112,60 +122,78 @@ arquivos de inclusão estão em glib-devel. Yararlı yordamlar kitaplığı. Geliştirme kitaplıkları ve başlık dosyaları glib-devel paketinde yer almaktadır. +%package static +Summary: Static GLib 2 libraries (cross MinGW32 version) +Summary(pl.UTF-8): Statyczne biblioteki GLib 2 (wersja skrośna MinGW32) +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} + +%description static +Static GLib 2 libraries (cross MinGW32 version). + +%description static -l pl.UTF-8 +Statyczne biblioteki GLib 2 (wersja skrośna MinGW32). + %package dll -Summary: DLL glib2 libraries for Windows -Summary(pl.UTF-8): Biblioteki DLL glib2 dla Windows +Summary: DLL GLib 2 libraries for Windows +Summary(pl.UTF-8): Biblioteki DLL GLib 2 dla Windows Group: Applications/Emulators Requires: crossmingw32-gettext-dll -Requires: crossmingw32-pcre-dll >= 8.11 +Requires: crossmingw32-libffi-dll >= 3.0.0 +Requires: crossmingw32-pcre-dll >= 8.31 Requires: wine %description dll -DLL glib2 libraries for Windows. +DLL GLib 2 libraries for Windows. %description dll -l pl.UTF-8 -Biblioteki DLL glib2 dla Windows. +Biblioteki DLL GLib 2 dla Windows. %prep %setup -q -n %{realname}-%{version} %patch0 -p1 +cat > meson-cross.txt <<'EOF' +[host_machine] +system = 'windows' +cpu_family = 'x86' +cpu = 'i386' +endian='little' +[binaries] +c = '%{target}-gcc' +cpp = '%{target}-g++' +ar = '%{target}-ar' +windres = '%{target}-windres' +pkgconfig = 'pkg-config' +[properties] +c_args = ['%(echo %{rpmcflags} | sed -e "s/ \+/ /g;s/ /', '/g")'] +EOF + %build export PKG_CONFIG_LIBDIR=%{_prefix}/lib/pkgconfig -%{__gtkdocize} -%{__libtoolize} -%{__aclocal} -I m4macros -%{__autoconf} -%{__autoheader} -%{__automake} -%configure \ - --target=%{target} \ - --host=%{target} \ - --disable-gtk-doc \ - --disable-silent-rules \ - --enable-shared \ - --with-pcre=system - -%{__make} +%meson build \ + --cross-file meson-cross.txt \ + %{?debug:--debug} \ + -Dselinux=disabled + +%ninja_build -C build %install rm -rf $RPM_BUILD_ROOT -%{__make} install \ - DESTDIR=$RPM_BUILD_ROOT +%ninja_install -C build install -d $RPM_BUILD_ROOT%{_dlldir} -mv -f $RPM_BUILD_ROOT%{_prefix}/bin/*.dll $RPM_BUILD_ROOT%{_dlldir} +%{__mv} $RPM_BUILD_ROOT%{_prefix}/bin/*.dll $RPM_BUILD_ROOT%{_dlldir} %if 0%{!?debug:1} %{target}-strip --strip-unneeded -R.comment -R.note $RPM_BUILD_ROOT%{_dlldir}/*.dll %{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,glib-2.0,gtk-doc,man} \ - $RPM_BUILD_ROOT/etc/bash_completion.d +%{__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} # runtime %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/locale @@ -179,16 +207,6 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/libgmodule-2.0.dll.a %{_libdir}/libgobject-2.0.dll.a %{_libdir}/libgthread-2.0.dll.a -%{_libdir}/libgio-2.0.la -%{_libdir}/libglib-2.0.la -%{_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 @@ -203,10 +221,18 @@ rm -rf $RPM_BUILD_ROOT %{_pkgconfigdir}/gobject-2.0.pc %{_pkgconfigdir}/gthread-2.0.pc +%files static +%defattr(644,root,root,755) +%{_libdir}/libgio-2.0.a +%{_libdir}/libglib-2.0.a +%{_libdir}/libgmodule-2.0.a +%{_libdir}/libgobject-2.0.a +%{_libdir}/libgthread-2.0.a + %files dll %defattr(644,root,root,755) -%{_dlldir}/libgio-2.0-*.dll -%{_dlldir}/libglib-2.0-*.dll -%{_dlldir}/libgmodule-2.0-*.dll -%{_dlldir}/libgobject-2.0-*.dll -%{_dlldir}/libgthread-2.0-*.dll +%{_dlldir}/libgio-2.0-0.dll +%{_dlldir}/libglib-2.0-0.dll +%{_dlldir}/libgmodule-2.0-0.dll +%{_dlldir}/libgobject-2.0-0.dll +%{_dlldir}/libgthread-2.0-0.dll