Add USE=static-libs support, and USE=minizip to control building of the minizip code...
authorMike Frysinger <vapier@gentoo.org>
Wed, 21 Sep 2011 19:36:25 +0000 (19:36 +0000)
committerMike Frysinger <vapier@gentoo.org>
Wed, 21 Sep 2011 19:36:25 +0000 (19:36 +0000)
Package-Manager: portage-2.2.0_alpha58/cvs/Linux x86_64

sys-libs/zlib/ChangeLog
sys-libs/zlib/Manifest
sys-libs/zlib/files/zlib-1.2.4-minizip-autotools.patch [new file with mode: 0644]
sys-libs/zlib/metadata.xml
sys-libs/zlib/zlib-1.2.5.1-r2.ebuild [new file with mode: 0644]

index eb1c72932801346128630d15f0d973b0b0d60e19..11fae272abf771696456f5ff03afa6b54bb61f2a 100644 (file)
@@ -1,6 +1,14 @@
 # ChangeLog for sys-libs/zlib
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/zlib/ChangeLog,v 1.94 2011/09/16 21:40:42 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/zlib/ChangeLog,v 1.95 2011/09/21 19:36:25 vapier Exp $
+
+*zlib-1.2.5.1-r2 (21 Sep 2011)
+
+  21 Sep 2011; Mike Frysinger <vapier@gentoo.org>
+  +files/zlib-1.2.4-minizip-autotools.patch, +zlib-1.2.5.1-r2.ebuild,
+  metadata.xml:
+  Add USE=static-libs support, and USE=minizip to control building of the
+  minizip code as a library for other apps to link against (like vlc) #383351.
 
 *zlib-1.2.5.1-r1 (16 Sep 2011)
 
index ad25d00f2de0ee0d5d7b38a67c707445ad3af7fa..68a7f33f54895125b7e538128c508f06a61c10e7 100644 (file)
@@ -10,6 +10,7 @@ AUX zlib-1.2.3-build.patch 1525 RMD160 4282e2acca68f6c9301bd8881f6c2a12bfbe7820
 AUX zlib-1.2.3-mingw-implib.patch 245 RMD160 a80d95f2c3563e21f813f805e13a005c6e3832ec SHA1 5cc94c2ee9f0c66098721ca4b98a01a0b2f8c00b SHA256 27f8a0f15dd2a04771875e248fe311854d3880ef61fd9d2fbdcea8326427fd95
 AUX zlib-1.2.3-r1-bsd-soname.patch 572 RMD160 40351d687838d4889ee1cb47aa594f0f9beefca2 SHA1 fea13311c55b87ee17362e329517200c9e18af73 SHA256 20ad1fce102236f6fcec2d825cdd4261011b4cb01f4f57b91cdecac227f9600d
 AUX zlib-1.2.3-visibility-support.patch 1016 RMD160 39492a1537bad731fd568a0af0ad39e93ceb3a07 SHA1 326e03782ed533a480115b9bcd5e96773f7570df SHA256 77acaffa3dccf2d48cfde0f9a30d10a55b4d9aad7c9c3b51c50925b6dadc8df6
+AUX zlib-1.2.4-minizip-autotools.patch 1584 RMD160 3ce936574704abf75e33263d98561baab29851b0 SHA1 2f9b28ee19df3e6c6b42b4a7278a8cd892e95566 SHA256 adf77c7c57de45c974f211a72cdee7496824557299dbd5db3f0e4b5c2f811fce
 AUX zlib-1.2.5-fbsd_chosts.patch 574 RMD160 6671a57d237db1ed78cdce8886c180aa4cf386d2 SHA1 f5a9b7c3127314720874fc7a00971db159808330 SHA256 a717f7d4f08a86f2ea4f0d926c2944b270948a879e3c5585a4f4fdef4fd95908
 AUX zlib-1.2.5-ldflags.patch 879 RMD160 027ea24420f1e768c2fac995136ca26c9d874faf SHA1 3b867f0d6b212f78a2d654cd8d4371d0453d7524 SHA256 4eedfead8dc883649050be09fc112ad6b67b45605ccf805dde292636e5b2b953
 AUX zlib-1.2.5-lfs-decls.patch 519 RMD160 2b9eee4022f6344c1bc61a4e2065651085979f4c SHA1 6cf544f50ac6fb8635725d253e24d531dc2bb203 SHA256 8953fea34d7eb2bf0a5393e5aeacb6c6c17f25fa2524c5f557f459184e2e20d8
@@ -21,13 +22,14 @@ DIST zlib-1.2.5.tar.bz2 486374 RMD160 c6c4c2a2a205061b21487e69234106f5517b4b32 S
 EBUILD zlib-1.2.3-r1.ebuild 2108 RMD160 86035d0567fbd74c1e4f066a8650a235824527c1 SHA1 f329bb4098c9b4d526bed79ef2d3932d178004e7 SHA256 1826babce8086b210791956f9a698909e5aea6ad695d18a15d5fbb774e058552
 EBUILD zlib-1.2.5-r2.ebuild 1985 RMD160 51991cece3b068936d37ba832d51813536888d13 SHA1 785858d4dee04e3ac110f6bdfc29e2dc76276683 SHA256 0a99b2f2b02be7316b92390f0b7d2f3654b9e9e4cad2616f96a6c304ea3ac598
 EBUILD zlib-1.2.5.1-r1.ebuild 2120 RMD160 f8eb787ce206bafafae3cba50f4982b4beea60e4 SHA1 3cb35b8e30ea41fdf6029274862ace3922f3ff14 SHA256 d4211f602ec3fb4f7f18655af3a49b22bd7e247b551328f35fd599cb2223f56c
+EBUILD zlib-1.2.5.1-r2.ebuild 2696 RMD160 9904a4be5e26602d3c2e1b59bce474ecd675e524 SHA1 77544b9a70d37cce5a9af1d62eeb386ad6e704d0 SHA256 8aadaca399bf8ad5b45e93e4d03ee17aac2c610a27ae723e75bf4542aa6856b9
 EBUILD zlib-1.2.5.1.ebuild 1969 RMD160 fd7596c2f8d93859ae68329622b93b3c2cb3eca6 SHA1 4fb8715b7b760e8e8bd8d7558f2c61791dc1bf38 SHA256 6e6f0643c77d90a425c288f1e6097bff27cb5bac8ce2070ec3c0526d69ef6280
-MISC ChangeLog 13502 RMD160 f5ae7a198b422e26642039210d5477e8181173b6 SHA1 bd45967f51627a7a523a0b890073200aef5d3a3e SHA256 af58db7d7039c03b910ba4568295afd2e97ee2a262d49b0179ac4c68738895fe
-MISC metadata.xml 164 RMD160 f43cbec30b7074319087c9acffdb9354b17b0db3 SHA1 9c213f5803676c56439df3716be07d6692588856 SHA256 f5f2891f2a4791cd31350bb2bb572131ad7235cd0eeb124c9912c187ac10ce92
+MISC ChangeLog 13824 RMD160 1ac4447f211b65f7585c6f9488612108f05d23b4 SHA1 15f01d7978c9765350ec31060475afa5bf4e868b SHA256 0038a9e4c2eaf5e51e04b2e41a1c8f55f72a09ffc11a6fc1358fca6919fd25e5
+MISC metadata.xml 269 RMD160 63bbf881a18eb43b70b7ffb6af5558192058ee53 SHA1 9ba95b82087621f9e7cb966b00ce81b367e39ac9 SHA256 ff07e786e28da9cde8f02f75cae044a5f640ce396f3e62419d48da1367f0014c
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.17 (GNU/Linux)
 
-iF4EAREIAAYFAk5zwmEACgkQaC/OocHi7JY7wgD8DutbmDZePkm2GZEeqfoIo0T4
-l8rhU0fC28L5FFGXrW4A/3IoRp2/9LtFXbdYBhhDw94n8frlmEJIx6kPDRQQI0Tm
-=/Ghc
+iF4EAREIAAYFAk56PMAACgkQaC/OocHi7JYSBwD/b7XxB/Kz7ZD88KwkvuGt2TTr
+i5UV0IWc8UbO9lNJweUA/iVz9O639KBv+8RMs5sAz3tndqb+S93FdGe1GwWKwKHE
+=kxTm
 -----END PGP SIGNATURE-----
diff --git a/sys-libs/zlib/files/zlib-1.2.4-minizip-autotools.patch b/sys-libs/zlib/files/zlib-1.2.4-minizip-autotools.patch
new file mode 100644 (file)
index 0000000..81a62f0
--- /dev/null
@@ -0,0 +1,64 @@
+sniped & improved from Fedora
+
+--- zlib-1.2.4/contrib/minizip/configure.ac
++++ zlib-1.2.4/contrib/minizip/configure.ac
+@@ -0,0 +1,12 @@
++#                                               -*- Autoconf -*-
++# Process this file with autoconf to produce a configure script.
++
++AC_INIT([minizip], [@ZLIB_VER@], [bugzilla.redhat.com])
++AC_CONFIG_SRCDIR([minigzip.c])
++AM_INIT_AUTOMAKE([foreign])
++LT_INIT
++
++AC_SUBST([HAVE_UNISTD_H], [0])
++AC_CHECK_HEADER([unistd.h], [HAVE_UNISTD_H=1], [])
++AC_CONFIG_FILES([Makefile minizip.pc])
++AC_OUTPUT
+--- zlib-1.2.4/contrib/minizip/Makefile.am
++++ zlib-1.2.4/contrib/minizip/Makefile.am
+@@ -0,0 +1,28 @@
++lib_LTLIBRARIES = libminizip.la
++
++libminizip_la_SOURCES = \
++      ioapi.c \
++      mztools.c \
++      unzip.c \
++      zip.c
++
++libminizip_la_CFLAGS = -I../.. -L../..
++libminizip_la_LDFLAGS = -version-info 1:0:0 -lz
++
++minizip_includedir = $(includedir)/minizip
++minizip_include_HEADERS = \
++      crypt.h \
++      ioapi.h \
++      mztools.h \
++      unzip.h \
++      zip.h
++
++pkgconfigdir = $(libdir)/pkgconfig
++pkgconfig_DATA = minizip.pc
++
++EXTRA_PROGRAMS = miniunzip minizip
++
++miniunzip_SOURCES = miniunz.c
++miniunzip_LDADD = libminizip.la
++
++minizip_SOURCES = minizip.c
++minizip_LDADD = libminizip.la
+--- zlib-1.2.4/contrib/minizip/minizip.pc.in
++++ zlib-1.2.4/contrib/minizip/minizip.pc.in
+@@ -0,0 +1,12 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@/minizip
++
++Name: minizip
++Description: Minizip zip file manipulation library
++Requires:
++Version: @PACKAGE_VERSION@
++Libs: -L${libdir} -lminizip
++Libs.private: -lz
++Cflags: -I${includedir}
index 96a2d586367db7ac21a29fd459fdc264e9bba260..cfdad4c916fd0f695c838f58b74dcac97bfd4f73 100644 (file)
@@ -2,4 +2,7 @@
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
 <herd>base-system</herd>
+<use>
+ <flag name='minizip'>include the minizip library for quick and dirty zip extraction</flag>
+</use>
 </pkgmetadata>
diff --git a/sys-libs/zlib/zlib-1.2.5.1-r2.ebuild b/sys-libs/zlib/zlib-1.2.5.1-r2.ebuild
new file mode 100644 (file)
index 0000000..4d8fbc7
--- /dev/null
@@ -0,0 +1,97 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/zlib/zlib-1.2.5.1-r2.ebuild,v 1.1 2011/09/21 19:36:25 vapier Exp $
+
+inherit autotools eutils toolchain-funcs
+
+DESCRIPTION="Standard (de)compression library"
+HOMEPAGE="http://www.zlib.net/"
+SRC_URI="http://www.gzip.org/zlib/${P}.tar.gz
+       http://www.zlib.net/current/beta/${P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="minizip static-libs"
+
+RDEPEND="!<dev-libs/libxml2-2.7.7" #309623
+
+src_unpack() {
+       unpack ${A}
+       cd "${S}"
+       # trust exit status of the compiler rather than stderr #55434
+       # -if test "`(...) 2>&1`" = ""; then
+       # +if (...) 2>/dev/null; then
+       sed -i 's|\<test "`\([^"]*\) 2>&1`" = ""|\1 2>/dev/null|' configure || die
+
+       epatch "${FILESDIR}"/${P}-version.patch
+       epatch "${FILESDIR}"/${P}-symlinks.patch
+       EPATCH_OPTS=-p1 epatch "${FILESDIR}"/${PN}-1.2.4-minizip-autotools.patch
+       if use minizip ; then
+               cd contrib/minizip
+               sed -i "s:@ZLIB_VER@:${PV}:" configure.ac || die
+               ln -s ../../minigzip.c || die
+               eautoreconf
+       fi
+}
+
+usex() { use $1 && echo ${2:-yes} || echo ${3:-no} ; }
+echoit() { echo "$@"; "$@"; }
+src_compile() {
+       case ${CHOST} in
+       *-mingw*|mingw*)
+               emake -f win32/Makefile.gcc STRIP=true PREFIX=${CHOST}- || die
+               sed \
+                       -e 's|@prefix@|/usr|g' \
+                       -e 's|@exec_prefix@|${prefix}|g' \
+                       -e 's|@libdir@|${exec_prefix}/'$(get_libdir)'|g' \
+                       -e 's|@sharedlibdir@|${exec_prefix}/'$(get_libdir)'|g' \
+                       -e 's|@includedir@|${prefix}/include|g' \
+                       -e 's|@VERSION@|'${PV}'|g' \
+                       zlib.pc.in > zlib.pc || die
+               ;;
+       *)      # not an autoconf script, so can't use econf
+               echoit ./configure --shared --prefix=/usr --libdir=/usr/$(get_libdir) || die
+               emake || die
+               ;;
+       esac
+       if use minizip ; then
+               cd contrib/minizip
+               econf $(use_enable static-libs static) || die
+               emake || die
+       fi
+}
+
+src_install() {
+       case ${CHOST} in
+       *-mingw*|mingw*)
+               emake -f win32/Makefile.gcc install \
+                       BINARY_PATH="${D}/usr/bin" \
+                       LIBRARY_PATH="${D}/usr/$(get_libdir)" \
+                       INCLUDE_PATH="${D}/usr/include" \
+                       SHARED_MODE=1 \
+                       || die
+               insinto /usr/share/pkgconfig
+               doins zlib.pc || die
+               ;;
+
+       *)
+               emake install DESTDIR="${D}" LDCONFIG=: || die
+               gen_usr_ldscript -a z
+               ;;
+       esac
+
+       # clean up namespace a little #383179
+       # we do it here so we only have to tweak 2 files
+       sed -i -r 's:\<(O[FN])\>:_Z_\1:g' "${D}"/usr/include/*.h
+
+       dodoc FAQ README ChangeLog doc/*.txt
+
+       if use minizip ; then
+               cd contrib/minizip
+               emake install DESTDIR="${D}" || die
+               dodoc *.txt
+       fi
+
+       use static-libs || rm -f "${D}"/usr/$(get_libdir)/*.{a,la}
+}