-%define _realname libxml2
-Summary: libXML library - cross Mingw32 version
-Summary(pl.UTF-8): Biblioteka libXML wersja 2 - wersja skrośna dla Mingw32
-Name: crossmingw32-%{_realname}
-Version: 2.6.28
+%define realname libxml2
+Summary: libXML library - cross MinGW32 version
+Summary(pl.UTF-8): Biblioteka libXML wersja 2 - wersja skrośna dla MinGW32
+Name: crossmingw32-%{realname}
+Version: 2.9.8
Release: 1
License: MIT
Group: Development/Libraries
#Source0: http://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/%{name}-%{version}.tar.bz2
-Source0: ftp://xmlsoft.org/libxml2/%{_realname}-%{version}.tar.gz
-# Source0-md5: ddf3c369964980a238fad0b6ad40532c
-Patch0: %{_realname}-man_fixes.patch
-Patch1: %{_realname}-open.gz.patch
-Patch2: %{_realname}-DESTDIR.patch
+Source0: ftp://xmlsoft.org/libxml2/%{realname}-%{version}.tar.gz
+# Source0-md5: b786e353e2aa1b872d70d5d1ca0c740d
+Patch0: %{realname}-man_fixes.patch
+Patch1: %{realname}-open.gz.patch
+Patch2: %{realname}-largefile.patch
URL: http://xmlsoft.org/
-BuildRequires: autoconf >= 2.2
-BuildRequires: automake
+BuildRequires: autoconf >= 2.68
+BuildRequires: automake >= 1.4
BuildRequires: crossmingw32-gcc
-BuildRequires: crossmingw32-zlib
-BuildRequires: libtool >= 1:1.4.2-9
+BuildRequires: crossmingw32-zlib >= 1.2.4-3
+BuildRequires: crossmingw32-xz
+BuildRequires: libtool >= 2:2.0
BuildRequires: sed >= 4.0
-Requires: crossmingw32-zlib
+Requires: crossmingw32-zlib >= 1.2.4-3
+Requires: crossmingw32-xz
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define no_install_post_strip 1
%define target i386-mingw32
%define target_platform i386-pc-mingw32
-%define arch %{_prefix}/%{target}
%define _sysprefix /usr
%define _prefix %{_sysprefix}/%{target}
+%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}
+
+%ifnarch %{ix86}
+# arch-specific flags (like alpha's -mieee) are not valid for i386 gcc
+%define optflags -O2
+%endif
+# -z options are invalid for mingw linker, most of -f options are Linux-specific
+%define filterout_ld -Wl,--as-needed -Wl,-z,relro -Wl,-z,combreloc
+%define filterout_c -f[-a-z0-9=]*
%description
This library allows you to manipulate XML files.
Ten pakiet zawiera wersję skrośną dla Win32.
%package static
-Summary: Static libxml2 library (cross mingw32 version)
-Summary(pl.UTF-8): Statyczna biblioteka libxml2 (wersja skrośna mingw32)
+Summary: Static libxml2 library (cross MinGW32 version)
+Summary(pl.UTF-8): Statyczna biblioteka libxml2 (wersja skrośna MinGW32)
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description static
-Static libxml2 library (cross mingw32 version).
+Static libxml2 library (cross MinGW32 version).
%description static -l pl.UTF-8
-Statyczna biblioteka libxml2 (wersja skrośna mingw32).
+Statyczna biblioteka libxml2 (wersja skrośna MinGW32).
%package dll
Summary: DLL libxml2 library for Windows
Summary(pl.UTF-8): Biblioteka DLL libxml2 dla Windows
Group: Applications/Emulators
-Requires: crossmingw32-zlib-dll
+Requires: crossmingw32-zlib-dll >= 1.2.4-3
+Requires: crossmingw32-xz-dll
Requires: wine
%description dll
Biblioteka DLL libxml2 dla Windows.
%prep
-%setup -q -n %{_realname}-%{version}
+%setup -q -n %{realname}-%{version}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%build
-export PKG_CONFIG_PATH=%{_prefix}/lib/pkgconfig
%{__libtoolize}
%{__aclocal}
%{__autoconf}
%{__autoheader}
%{__automake}
+# MinGW32 headers don't define this
+CPPFLAGS="%{rpmcppflags} -D_WINSOCKAPI_"
%configure \
--target=%{target} \
--host=%{target} \
+ --disable-silent-rules \
--without-python
%{__make}
DESTDIR=$RPM_BUILD_ROOT
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 -rf $RPM_BUILD_ROOT%{_datadir}/{aclocal,doc,gtk-doc,man}
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/{*.exe,xml2-config}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/xml2Conf.sh
+%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/cmake
+%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/{aclocal,doc,gtk-doc,man}
%clean
rm -rf $RPM_BUILD_ROOT