%define realname libpng
-Summary: PNG library - Mingw32 cross version
-Summary(pl.UTF-8): Biblioteka PNG - wersja skrośna dla Mingw32
+Summary: PNG library - MinGW32 cross version
+Summary(pl.UTF-8): Biblioteka PNG - wersja skrośna dla MinGW32
Name: crossmingw32-%{realname}
-Version: 1.2.24
+Version: 1.6.43
Release: 1
License: distributable
Group: Development/Libraries
-Source0: http://dl.sourceforge.net/libpng/%{realname}-%{version}.tar.bz2
-# Source0-md5: 1e676c5cc7dfa4ef78affe8fb8f1011d
-Patch0: %{realname}-pngminus.patch
-Patch1: %{realname}-opt.patch
-Patch2: %{realname}-revert.patch
-Patch3: %{realname}-norpath.patch
-Patch4: %{name}-shared.patch
+Source0: https://downloads.sourceforge.net/libpng/%{realname}-%{version}.tar.xz
+# Source0-md5: 22b8362d16c3724eba9c1fb8d187320a
+Patch0: https://downloads.sourceforge.net/libpng-apng/%{realname}-%{version}-apng.patch.gz
+# Patch0-md5: fc21268c9c583c5d2e7ead8a9ec17240
+Patch1: %{realname}-pngminus.patch
URL: http://www.libpng.org/pub/png/libpng.html
BuildRequires: crossmingw32-gcc
BuildRequires: crossmingw32-zlib
-Requires: crossmingw32-zlib
+BuildRequires: sed >= 4.0
+BuildRequires: tar >= 1:1.22
+BuildRequires: xz >= 1:4.999.7
+Requires: crossmingw32-zlib >= 1.2.9
+Provides: crossmingw32-libpng(APNG) = 0.10
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define no_install_post_strip 1
+%define _enable_debug_packages 0
%define target i386-mingw32
%define target_platform i386-pc-mingw32
%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}
-%ifarch alpha sparc sparc64 sparcv9
+%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,-z,.*
+%define filterout_c -f[-a-z0-9=]*
%description
The PNG library is a collection of routines used to create and
Ten pakiet zawiera wersję skrośną dla Win32.
%package static
-Summary: Static libpng library (cross mingw32 version)
-Summary(pl.UTF-8): Statyczna biblioteka libpng (wersja skrośna mingw32)
+Summary: Static libpng library (cross MinGW32 version)
+Summary(pl.UTF-8): Statyczna biblioteka libpng (wersja skrośna MinGW32)
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
+Provides: crossmingw32-libpng-static(APNG) = 0.10
%description static
-Static libpng library (cross mingw32 version).
+Static libpng library (cross MinGW32 version).
%description static -l pl.UTF-8
-Statyczna biblioteka libpng (wersja skrośna mingw32).
+Statyczna biblioteka libpng (wersja skrośna MinGW32).
%package dll
Summary: libpng - DLL library for Windows
Summary(pl.UTF-8): libpng - biblioteka DLL dla Windows
Group: Applications/Emulators
-Requires: crossmingw32-zlib-dll
+Requires: crossmingw32-zlib-dll >= 1.2.9
Requires: wine
+Provides: crossmingw32-libpng-dll(APNG) = 0.10
%description dll
libpng - DLL library for Windows.
%setup -q -n %{realname}-%{version}
%patch0 -p1
%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
%build
%configure \
install -d $RPM_BUILD_ROOT%{_dlldir}
mv -f $RPM_BUILD_ROOT%{_prefix}/bin/*.dll $RPM_BUILD_ROOT%{_dlldir}
+ln -sf libpng16.dll.a $RPM_BUILD_ROOT%{_libdir}/libpng.dll.a
+
%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}/man
+%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/man
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
+%{_libdir}/libpng16.dll.a
%{_libdir}/libpng.dll.a
-%{_libdir}/libpng12.dll.a
+%{_libdir}/libpng16.la
%{_libdir}/libpng.la
-%{_libdir}/libpng12.la
-%dir %{_includedir}/libpng12
-%{_includedir}/libpng12/*
-%{_pkgconfigdir}/*.pc
+%{_includedir}/libpng16
+%{_includedir}/png*.h
+%{_pkgconfigdir}/libpng16.pc
+%{_pkgconfigdir}/libpng.pc
%files static
%defattr(644,root,root,755)
+%{_libdir}/libpng16.a
%{_libdir}/libpng.a
-%{_libdir}/libpng12.a
%files dll
%defattr(644,root,root,755)
-%{_dlldir}/libpng-*.dll
-%{_dlldir}/libpng12-*.dll
+%{_dlldir}/libpng16-*.dll