Package: src:zlib Version: 1.2.6.dfsg-2 Severity: wishlist Tags: patch Hi Mark,
Matthias Klose is working on building the Python Windows distutils installers using MinGW-w64, and doing this requires having zlib built for Windows targets. Would it be at all possible for you to add this to the existing zlib package? The attached patch contains the necessary changes. I know this is a slippery slope to set out on, as one could imagine adding this kind of support to all kinds of libraries. I'd like to avoid having to repackage zlib just for this though! Thanks in advance, Stephen -- System Information: Debian Release: wheezy/sid APT prefers testing APT policy: (500, 'testing'), (500, 'stable'), (200, 'unstable'), (1, 'experimental') Architecture: i386 (i686) Kernel: Linux 3.2.0-2-686-pae (SMP w/2 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash
diff -urN zlib-1.2.6.dfsg.orig/debian/control zlib-1.2.6.dfsg/debian/control --- zlib-1.2.6.dfsg.orig/debian/control 2012-02-24 00:28:23.000000000 +0100 +++ zlib-1.2.6.dfsg/debian/control 2012-05-04 01:48:53.000000000 +0200 @@ -5,6 +5,7 @@ Standards-Version: 3.8.3 Homepage: http://zlib.net/ Build-Depends: debhelper (>= 8.1.3~), binutils (>= 2.18.1~cvs20080103-2) [mips mipsel], gcc-multilib [amd64 i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390 sparc], dpkg-dev (>= 1.16.0) +Build-Depends-Indep: gcc-mingw-w64 Package: zlib1g Architecture: any @@ -120,3 +121,19 @@ zlib is a library implementing the deflate compression method found in gzip and PKZIP. This package includes the development support files for building n32 applications. + +Package: libz-mingw-w64-i686-dev +Section: libdevel +Architecture: all +Description: compression library - Windows x86 development + zlib is a library implementing the deflate compression method found + in gzip and PKZIP. This package include the development support + files for building Windows x86 applications using MinGW-w64. + +Package: libz-mingw-w64-x86-64-dev +Section: libdevel +Architecture: all +Description: compression library - Windows x64 development + zlib is a library implementing the deflate compression method found + in gzip and PKZIP. This package include the development support + files for building Windows x64 applications using MinGW-w64. diff -urN zlib-1.2.6.dfsg.orig/debian/libz-mingw-w64-i686-dev.install zlib-1.2.6.dfsg/debian/libz-mingw-w64-i686-dev.install --- zlib-1.2.6.dfsg.orig/debian/libz-mingw-w64-i686-dev.install 1970-01-01 01:00:00.000000000 +0100 +++ zlib-1.2.6.dfsg/debian/libz-mingw-w64-i686-dev.install 2012-05-04 01:41:16.000000000 +0200 @@ -0,0 +1,3 @@ +usr/i686-w64-mingw32/include/* +usr/i686-w64-mingw32/lib/* +usr/i686-w64-mingw32/lib/pkgconfig/* diff -urN zlib-1.2.6.dfsg.orig/debian/libz-mingw-w64-x86-64-dev.install zlib-1.2.6.dfsg/debian/libz-mingw-w64-x86-64-dev.install --- zlib-1.2.6.dfsg.orig/debian/libz-mingw-w64-x86-64-dev.install 1970-01-01 01:00:00.000000000 +0100 +++ zlib-1.2.6.dfsg/debian/libz-mingw-w64-x86-64-dev.install 2012-05-04 01:45:03.000000000 +0200 @@ -0,0 +1,3 @@ +usr/x86_64-w64-mingw32/include/* +usr/x86_64-w64-mingw32/lib/* +usr/x86_64-w64-mingw32/lib/pkgconfig/* diff -urN zlib-1.2.6.dfsg.orig/debian/rules zlib-1.2.6.dfsg/debian/rules --- zlib-1.2.6.dfsg.orig/debian/rules 2012-02-12 02:43:33.000000000 +0100 +++ zlib-1.2.6.dfsg/debian/rules 2012-05-04 01:48:01.000000000 +0200 @@ -105,7 +105,26 @@ uname=GNU ./configure --shared --prefix=/usr --libdir=\$${prefix}/usr/lib32 touch $@ -build: build-stamp $(EXTRA_BUILD) +configurew32-stamp: + dh_testdir + + mkdir -p debian/w32 + cp -r $(COPYLIST) win32 debian/w32 + # No configuration required for Windows targets + + touch $@ + +configurew64-stamp: + dh_testdir + + mkdir -p debian/w64 + cp -r $(COPYLIST) win32 debian/w64 + # No configuration required for Windows targets + + touch $@ + +build: build-arch build-indep +build-arch: build-stamp $(EXTRA_BUILD) build-stamp: configure-stamp dh_testdir @@ -130,6 +149,18 @@ make -C debian/n32 touch $@ +build-indep: buildw32-stamp buildw64-stamp + +buildw32-stamp: configurew32-stamp + dh_testdir + $(MAKE) -C debian/w32 -fwin32/Makefile.gcc PREFIX=i686-w64-mingw32- + touch $@ + +buildw64-stamp: configurew64-stamp + dh_testdir + $(MAKE) -C debian/w64 -fwin32/Makefile.gcc PREFIX=x86_64-w64-mingw32- + touch $@ + clean: dh_testdir dh_testroot @@ -141,6 +172,8 @@ rm -rf debian/64 build64-stamp configure64-stamp rm -rf debian/32 build32-stamp configure32-stamp rm -rf debian/n32 buildn32-stamp configuren32-stamp + rm -rf debian/w32 buildw32-stamp configurew32-stamp + rm -rf debian/w64 buildw64-stamp configurew64-stamp -mv Makefile.stash Makefile -mv zlibdefs.h.stash zlibdefs.h @@ -163,12 +196,33 @@ installn32: install buildn32-stamp $(MAKE) -C debian/n32 prefix=$(CURDIR)/debian/tmp install +installw32: buildw32-stamp + $(MAKE) -C debian/w32 -f$(CURDIR)/win32/Makefile.gcc prefix=$(CURDIR)/debian/tmp/usr/i686-w64-mingw32 INCLUDE_PATH=$(CURDIR)/debian/tmp/usr/i686-w64-mingw32/include LIBRARY_PATH=$(CURDIR)/debian/tmp/usr/i686-w64-mingw32/lib BINARY_PATH=$(CURDIR)/debian/tmp/usr/i686-w64-mingw32/lib SHARED_MODE=1 install + sed -i 's|$(CURDIR)/debian/tmp||g' $(CURDIR)/debian/tmp/usr/i686-w64-mingw32/lib/pkgconfig/zlib.pc + +installw64: buildw64-stamp + $(MAKE) -C debian/w32 -f$(CURDIR)/win32/Makefile.gcc prefix=$(CURDIR)/debian/tmp/usr/x86_64-w64-mingw32 INCLUDE_PATH=$(CURDIR)/debian/tmp/usr/x86_64-w64-mingw32/include LIBRARY_PATH=$(CURDIR)/debian/tmp/usr/x86_64-w64-mingw32/lib BINARY_PATH=$(CURDIR)/debian/tmp/usr/x86_64-w64-mingw32/lib SHARED_MODE=1 install + sed -i 's|$(CURDIR)/debian/tmp||g' $(CURDIR)/debian/tmp/usr/x86_64-w64-mingw32/lib/pkgconfig/zlib.pc + # Build architecture-independent files here. -binary-indep: build install -# We have nothing to do by default. +binary-indep: build-indep installw32 installw64 + dh_testdir -i + dh_testroot -i + dh_installchangelogs -i ChangeLog + dh_installdocs -i + dh_install -i --sourcedir=debian/tmp + dh_lintian -i + dh_link -i + dh_compress -i + dh_fixperms -i + dh_installdeb -i + dh_shlibdeps -i + dh_gencontrol -i + dh_md5sums -i + dh_builddeb -i # Build architecture-dependent files here. -binary-arch: build install $(EXTRA_INSTALL) +binary-arch: build-arch install $(EXTRA_INSTALL) dh_testdir dh_testroot dh_installchangelogs -s ChangeLog