diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3e8b504 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/zlib-1.2.11.tar.xz diff --git a/.mingw-zlib.metadata b/.mingw-zlib.metadata new file mode 100644 index 0000000..e6edbe9 --- /dev/null +++ b/.mingw-zlib.metadata @@ -0,0 +1 @@ +e1cb0d5c92da8e9a8c2635dfa249c341dfd00322 SOURCES/zlib-1.2.11.tar.xz diff --git a/SOURCES/mingw32-zlib-1.2.7-autotools.patch b/SOURCES/mingw32-zlib-1.2.7-autotools.patch new file mode 100644 index 0000000..aef74e1 --- /dev/null +++ b/SOURCES/mingw32-zlib-1.2.7-autotools.patch @@ -0,0 +1,76 @@ +diff -rupN --no-dereference zlib-1.2.11/configure.ac zlib-1.2.11-new/configure.ac +--- zlib-1.2.11/configure.ac 1970-01-01 01:00:00.000000000 +0100 ++++ zlib-1.2.11-new/configure.ac 2020-11-12 22:09:58.320508742 +0100 +@@ -0,0 +1,13 @@ ++# -*- Autoconf -*- ++# Process this file with autoconf to produce a configure script. ++ ++AC_INIT([zlib], [1.2.11], [bugzilla.redhat.com]) ++AC_CONFIG_SRCDIR([gzlib.c]) ++AC_CONFIG_MACRO_DIR([m4]) ++AM_INIT_AUTOMAKE([foreign subdir-objects]) ++LT_INIT ++ ++AC_SUBST([HAVE_UNISTD_H], [0]) ++AC_CHECK_HEADER([unistd.h], [HAVE_UNISTD_H=1], []) ++AC_CONFIG_FILES([Makefile zlib.pc zconf.h:zconf.h.in]) ++AC_OUTPUT +diff -rupN --no-dereference zlib-1.2.11/Makefile.am zlib-1.2.11-new/Makefile.am +--- zlib-1.2.11/Makefile.am 1970-01-01 01:00:00.000000000 +0100 ++++ zlib-1.2.11-new/Makefile.am 2020-11-12 22:09:58.320508742 +0100 +@@ -0,0 +1,37 @@ ++ACLOCAL_AMFLAGS = -I m4 --install ++ ++lib_LTLIBRARIES = libz.la ++ ++libz_la_SOURCES = \ ++ adler32.c \ ++ compress.c \ ++ crc32.c \ ++ crc32.h \ ++ gzclose.c \ ++ gzlib.c \ ++ gzread.c \ ++ gzwrite.c \ ++ uncompr.c \ ++ deflate.c \ ++ deflate.h \ ++ trees.c \ ++ trees.h \ ++ zutil.c \ ++ zutil.h \ ++ inflate.c \ ++ inflate.h \ ++ infback.c \ ++ inftrees.c \ ++ inftrees.h \ ++ inffast.c \ ++ inffast.h \ ++ infflate.h ++ ++# Use -version-number to match the file name used before autoconfiscation. ++libz_la_LDFLAGS = -version-number 1:2:11 -no-undefined ++ ++include_HEADERS = zlib.h ++nodist_include_HEADERS = zconf.h ++ ++dist_man_MANS = zlib.3 ++ +diff -rupN --no-dereference zlib-1.2.11/zlib.pc.in zlib-1.2.11-new/zlib.pc.in +--- zlib-1.2.11/zlib.pc.in 2010-04-18 08:48:15.000000000 +0200 ++++ zlib-1.2.11-new/zlib.pc.in 2020-11-12 22:09:58.320508742 +0100 +@@ -1,7 +1,6 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ + libdir=@libdir@ +-sharedlibdir=@sharedlibdir@ + includedir=@includedir@ + + Name: zlib +@@ -9,5 +8,5 @@ Description: zlib compression library + Version: @VERSION@ + + Requires: +-Libs: -L${libdir} -L${sharedlibdir} -lz ++Libs: -L${libdir} -lz + Cflags: -I${includedir} diff --git a/SOURCES/mingw32-zlib-create-zlib1-dll.patch b/SOURCES/mingw32-zlib-create-zlib1-dll.patch new file mode 100644 index 0000000..9ee0935 --- /dev/null +++ b/SOURCES/mingw32-zlib-create-zlib1-dll.patch @@ -0,0 +1,10 @@ +--- ltmain.sh.orig 2010-10-13 23:11:05.164935359 +0200 ++++ ltmain.sh 2010-10-13 23:33:31.572557755 +0200 +@@ -7431,6 +7431,7 @@ + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else ++ if test "$soname" = "libz-1.dll" ; then soname=zlib1.dll; fi + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi diff --git a/SOURCES/zlib-1.2.7-use-correct-def-file.patch b/SOURCES/zlib-1.2.7-use-correct-def-file.patch new file mode 100644 index 0000000..021ff75 --- /dev/null +++ b/SOURCES/zlib-1.2.7-use-correct-def-file.patch @@ -0,0 +1,8 @@ +diff -rupN --no-dereference zlib-1.2.11/win32/zlib.def zlib-1.2.11-new/win32/zlib.def +--- zlib-1.2.11/win32/zlib.def 2017-01-01 08:37:10.000000000 +0100 ++++ zlib-1.2.11-new/win32/zlib.def 2020-11-12 22:09:58.338508692 +0100 +@@ -1,3 +1,4 @@ ++LIBRARY zlib1.dll + ; zlib data compression library + EXPORTS + ; basic functions diff --git a/SPECS/mingw-zlib.spec b/SPECS/mingw-zlib.spec new file mode 100644 index 0000000..858364b --- /dev/null +++ b/SPECS/mingw-zlib.spec @@ -0,0 +1,295 @@ +%{?mingw_package_header} + +Name: mingw-zlib +Version: 1.2.11 +Release: 7%{?dist} +Summary: MinGW Windows zlib compression library + +License: zlib +URL: http://www.zlib.net/ +Source0: http://www.zlib.net/zlib-%{version}.tar.xz +# Replace the zlib build system with an autotools based one +Patch3: mingw32-zlib-1.2.7-autotools.patch +# The .def file contains an empty LIBRARY line which isn't valid +Patch5: zlib-1.2.7-use-correct-def-file.patch +# Libtool tries to make a libz-1.dll while we expect zlib1.dll +# Force this by hacking the ltmain.sh +Patch6: mingw32-zlib-create-zlib1-dll.patch + +BuildArch: noarch + +BuildRequires: make +BuildRequires: mingw32-filesystem >= 95 +BuildRequires: mingw32-gcc +BuildRequires: mingw32-binutils + +BuildRequires: mingw64-filesystem >= 95 +BuildRequires: mingw64-gcc +BuildRequires: mingw64-binutils + +BuildRequires: perl-interpreter +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool + + +%description +MinGW Windows zlib compression library. + + +# Win32 +%package -n mingw32-zlib +Summary: MinGW Windows zlib compression library for the win32 target + +%description -n mingw32-zlib +MinGW Windows zlib compression library for the win32 target. + + +%package -n mingw32-zlib-static +Summary: Static libraries for mingw32-zlib development. +Requires: mingw32-zlib = %{version}-%{release} + +%description -n mingw32-zlib-static +The mingw32-zlib-static package contains static library for mingw32-zlib development. + + +# Win64 +%package -n mingw64-zlib +Summary: MinGW Windows zlib compression library for the win64 target + +%description -n mingw64-zlib +MinGW Windows zlib compression library for the win64 target. + +%package -n mingw64-zlib-static +Summary: Static libraries for mingw64-zlib development +Requires: mingw64-zlib = %{version}-%{release} + +%description -n mingw64-zlib-static +The mingw64-zlib-static package contains static library for mingw64-zlib development. + + +%{?mingw_debug_package} + + +%prep +%setup -q -n zlib-%{version} +%patch3 -p1 -b .atools +%patch5 -p1 -b .def +# patch cannot create an empty dir +mkdir m4 +iconv -f windows-1252 -t utf-8 ChangeLog.tmp + +autoreconf --install --force + +%patch6 -p0 -b .libtool + + +%build +%mingw_configure +%mingw_make_build + + +%install +# Libtool tries to install a file called libz-1.dll +# but this isn't created anymore due to patch #6 +# Fool libtool until a proper fix has been found +touch build_win32/.libs/libz-1.dll build_win64/.libs/libz-1.dll +%mingw_make_install + +# Manually install the correct zlib.dll +install -m 0644 build_win32/.libs/zlib1.dll %{buildroot}%{mingw32_bindir}/ +install -m 0644 build_win64/.libs/zlib1.dll %{buildroot}%{mingw64_bindir}/ + +# Install the pkgconfig file +install -Dm 0644 build_win32/zlib.pc %{buildroot}%{mingw32_libdir}/pkgconfig/zlib.pc +install -Dm 0644 build_win64/zlib.pc %{buildroot}%{mingw64_libdir}/pkgconfig/zlib.pc + +# Drop the fake libz-1.dll +rm -f %{buildroot}%{mingw32_bindir}/libz-1.dll +rm -f %{buildroot}%{mingw64_bindir}/libz-1.dll + +# Drop all .la files +find %{buildroot} -name "*.la" -delete + +# Drop the man pages +rm -rf %{buildroot}%{mingw32_mandir} +rm -rf %{buildroot}%{mingw64_mandir} + + +# Win32 +%files -n mingw32-zlib +%{mingw32_includedir}/zconf.h +%{mingw32_includedir}/zlib.h +%{mingw32_libdir}/libz.dll.a +%{mingw32_bindir}/zlib1.dll +%{mingw32_libdir}/pkgconfig/zlib.pc + +%files -n mingw32-zlib-static +%{mingw32_libdir}/libz.a + +# Win64 +%files -n mingw64-zlib +%{mingw64_includedir}/zconf.h +%{mingw64_includedir}/zlib.h +%{mingw64_libdir}/libz.dll.a +%{mingw64_bindir}/zlib1.dll +%{mingw64_libdir}/pkgconfig/zlib.pc + +%files -n mingw64-zlib-static +%{mingw64_libdir}/libz.a + + +%changelog +* Mon Aug 09 2021 Mohan Boddu - 1.2.11-7 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Fri Apr 16 2021 Mohan Boddu - 1.2.11-6 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Tue Jan 26 2021 Fedora Release Engineering - 1.2.11-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Thu Nov 12 2020 Sandro Mani - 1.2.11-4 +- Drop minizip subpackages, it's a separate package now + +* Tue Jul 28 2020 Fedora Release Engineering - 1.2.11-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jan 29 2020 Fedora Release Engineering - 1.2.11-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Aug 13 2019 Marc-André Lureau - 1.2.11-1 +- Update to 1.2.11 + +* Tue Aug 06 2019 Thomas Sailer - 1.2.8-12 +- update pkgconf file version to 1.2.8 + +* Thu Jul 25 2019 Fedora Release Engineering - 1.2.8-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Feb 01 2019 Fedora Release Engineering - 1.2.8-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 1.2.8-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Feb 08 2018 Fedora Release Engineering - 1.2.8-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.2.8-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 1.2.8-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Feb 04 2016 Fedora Release Engineering - 1.2.8-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 1.2.8-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 1.2.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sat Aug 03 2013 Fedora Release Engineering - 1.2.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Sat Jul 13 2013 Erik van Pienbroek - 1.2.8-1 +- Update to 1.2.8 + +* Thu Feb 14 2013 Fedora Release Engineering - 1.2.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Thu Nov 22 2012 Erik van Pienbroek - 1.2.7-1 +- Update to 1.2.7 + +* Fri Jul 20 2012 Fedora Release Engineering - 1.2.5-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sat Mar 10 2012 Erik van Pienbroek - 1.2.5-10 +- Added win64 support +- Simplified the build process by using autotools and a hacked version of libtool +- Made the package compliant with the new MinGW packaging guidelines + +* Tue Mar 06 2012 Kalev Lember - 1.2.5-9 +- Renamed the source package to mingw-zlib (#800415) +- Use mingw macros without leading underscore + +* Mon Feb 27 2012 Kalev Lember - 1.2.5-8 +- Remove the .la files +- Spec clean up + +* Mon Feb 27 2012 Erik van Pienbroek - 1.2.5-7 +- Rebuild against the mingw-w64 toolchain +- Use the correct RPM macros +- Fix FTBFS against the latest binutils caused by the use of an invalid .def file + +* Fri Feb 17 2012 David Tardon - 1.2.5-6 +- fix dlname in libz.la + +* Fri Jan 13 2012 Fedora Release Engineering - 1.2.5-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue May 10 2011 Kalev Lember - 1.2.5-4 +- Use the built .pc file instead of manually generating it + +* Tue Apr 26 2011 Kalev Lember - 1.2.5-3 +- Install zlib pkgconfig file + +* Tue Feb 08 2011 Fedora Release Engineering - 1.2.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Sun Sep 12 2010 Erik van Pienbroek - 1.2.5-1 +- Update to 1.2.5 +- Use %%global instead of %%define +- Automatically generate debuginfo subpackage +- Use correct %%defattr tag +- Merged the changes from the native Fedora package + +* Sat Jul 25 2009 Fedora Release Engineering - 1.2.3-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Fri Jun 12 2009 Richard W.M. Jones - 1.2.3-18 +- Cannot copy current directory into itself, so fix the copy command + which creates 'x' subdirectory. + +* Fri May 1 2009 Thomas Sailer - 1.2.3-17 +- BR autoconf, automake, libtool + +* Thu Apr 30 2009 Thomas Sailer - 1.2.3-16 +- use autotools build system from native package + +* Tue Mar 3 2009 W. Pilorz - 1.2.3-15 +- Add static subpackage. + +* Wed Feb 25 2009 Fedora Release Engineering - 1.2.3-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Fri Feb 20 2009 Richard W.M. Jones - 1.2.3-13 +- Rebuild for mingw32-gcc 4.4 + +* Mon Jan 19 2009 Richard W.M. Jones - 1.2.3-12 +- Force rebuild to test maintenance account. + +* Thu Dec 18 2008 Richard W.M. Jones - 1.2.3-11 +- Pass correct CFLAGS to build. + +* Thu Oct 16 2008 Richard W.M. Jones - 1.2.3-10 +- Consider native patches. + +* Wed Sep 24 2008 Richard W.M. Jones - 1.2.3-9 +- Rename mingw -> mingw32. + +* Sun Sep 21 2008 Richard W.M. Jones - 1.2.3-8 +- Remove manpage. + +* Wed Sep 10 2008 Richard W.M. Jones - 1.2.3-7 +- Remove static library. + +* Fri Sep 5 2008 Richard W.M. Jones - 1.2.3-5 +- Fix misnamed file: zlibdll.a -> zlib.dll.a +- Explicitly provide mingw(zlib1.dll). + +* Thu Sep 4 2008 Richard W.M. Jones - 1.2.3-3 +- Initial RPM release, largely based on earlier work from several sources.