Enable multiple python ABI support, bug #312193. Clean up old revision.
authorGilles Dartiguelongue <eva@gentoo.org>
Tue, 6 Apr 2010 22:44:40 +0000 (22:44 +0000)
committerGilles Dartiguelongue <eva@gentoo.org>
Tue, 6 Apr 2010 22:44:40 +0000 (22:44 +0000)
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64

dev-libs/libxml2/ChangeLog
dev-libs/libxml2/Manifest
dev-libs/libxml2/files/libxml2-2.7.4-parser-grow.patch [deleted file]
dev-libs/libxml2/libxml2-2.7.4-r1.ebuild [deleted file]
dev-libs/libxml2/libxml2-2.7.7.ebuild

index 560518f1be4b71e047612b6e8f438acfbbe5671b..7bd9de2df1fbe69d812e0c5cd8896cf09c043059 100644 (file)
@@ -1,6 +1,11 @@
 # ChangeLog for dev-libs/libxml2
 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/libxml2/ChangeLog,v 1.281 2010/03/24 18:17:32 ranger Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/libxml2/ChangeLog,v 1.282 2010/04/06 22:44:40 eva Exp $
+
+  06 Apr 2010; Gilles Dartiguelongue <eva@gentoo.org>
+  -libxml2-2.7.4-r1.ebuild, -files/libxml2-2.7.4-parser-grow.patch,
+  libxml2-2.7.7.ebuild:
+  Enable multiple python ABI support, bug #312193. Clean up old revision.
 
   24 Mar 2010; Brent Baude <ranger@gentoo.org> libxml2-2.7.6.ebuild:
   stable ppc, bug 309949
index 3915753b493d9ae98bdf65fefd73762e33d2f4fd..4ed5bfb144e3186a10ffd324cf3096f1b254b8a3 100644 (file)
@@ -1,15 +1,22 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
 AUX libxml2-2.7.3-CVE-2009-2414-CVE-2009-2416.patch 6356 RMD160 a8c9086e5f0c1816ae1f8de8e27ae828c05c6a04 SHA1 28c2219b8e3b3a693d7e2553d239863ad21b41d5 SHA256 03f26db3f24e7fb91c489208f992f327c767135949e8e25d180df8b76065e7ef
 AUX libxml2-2.7.3-printf-rename.patch 17280 RMD160 920065d543127026c526f00856e9a2a8fb41e42d SHA1 9a9515a1ea7c7313aa8e6bb607f987560504aaed SHA256 a7206cbd8a675e2d944f330255d648502d143472a2d96daa4753e422614b8520
-AUX libxml2-2.7.4-parser-grow.patch 1309 RMD160 7364ec69b3929ed5976d8faf3c6cdb2359d2fce6 SHA1 6f703b7a3e32ad2728827a0ca976b93953719d27 SHA256 0003cf89dc6de0ea8be4e063745f4f585b329ab47bfdc71c81e4918dfd461584
 DIST libxml2-2.7.3.tar.gz 4789450 RMD160 14018347531fd135366cee9fd9d760a1988546e2 SHA1 fd4e427fb55c977876bc74c0e552ef7d3d794a07 SHA256 432464d8c9bd8060d9c1fdef1cfa75803c1a363ceac20b21f8c7e34e056e5a98
-DIST libxml2-2.7.4.tar.gz 4835073 RMD160 c1d29b6b869cb07cfd78a93ac9b8dd24c2b801b1 SHA1 5db9fd452d465422f576592c9e5bcf17ce1b53a2 SHA256 f10ff01a25750913828b69625ac9d1f1f82039aa8401ca843c1d335763cbf5b1
 DIST libxml2-2.7.6.tar.gz 4854591 RMD160 849ded7b61f88e75ef0dacf0e5647ce8ad951261 SHA1 b0f6bf8408e759ac4b8b9650005ee8adea911e1d SHA256 238c4f0203c012e5776522640c0fb3ac532c4064981c1ce3e74c00b75501d761
 DIST libxml2-2.7.7.tar.gz 4868502 RMD160 9f72c778c3e9e348a68eada0cf624c012658c085 SHA1 8592824a2788574a172cbddcdc72f734ff87abe3 SHA256 af5b781418ba4fff556fa43c50086658ea8a2f31909c2b625c2ce913a1d9eb68
 DIST xsts-2002-01-16.tar.gz 6894439 RMD160 e8905fe1451a1c367b0104af24edca73bad1db08 SHA1 ca6344e6c47f8c28231f5b213d0c8deb0311a409 SHA256 55e5c08db29946a91ea8e70e8f2418d3fd30d8b6777941dfba7f54726ffd9914
 DIST xsts-2004-01-14.tar.gz 2761085 RMD160 faff2d7826e47ae9968564bc83dab1b54c5e4bf6 SHA1 5896c2aa2cda464246306c5cf0577ed506eefaab SHA256 09bdf9f81f381ebf9bc158a9472e498e896f7a02eb7461146e9abe1b9493ca17
 EBUILD libxml2-2.7.3-r2.ebuild 4457 RMD160 a88ba8bf4844dee50a72ea5f1a0d6c6a5b55f8a4 SHA1 9e55595b368a863bd7cf4b96f272f1ed0da3faf7 SHA256 f7cf9157bfd0afe55edff5365980939edf5fa07c5a9fb72cff7b196f89b809ed
-EBUILD libxml2-2.7.4-r1.ebuild 4090 RMD160 1bdefc83b7f4ee5573286dd5ef029901fa839028 SHA1 c0664d1e9460f53d28a33e70e58922cba968dafa SHA256 afbedea3fa670e227c5587c39675de3f27c3de517318c3c05db04b1245d2683f
 EBUILD libxml2-2.7.6.ebuild 3939 RMD160 358330a3f2c2c32abd21ac6ffe98e8240371422e SHA1 74b49d8313ea84deca3eae66e1aaa6a9806af176 SHA256 9a05d12d6d1f0905795ee68c94ad42fb05fac997a79e88218c47fd8c04a3bec1
-EBUILD libxml2-2.7.7.ebuild 3912 RMD160 e4465acb37d9471a4c50b5a1bf4082c0b68dffb3 SHA1 468d671c5ac4582b14e65da37be3440598cb7efc SHA256 99917b6ee8a738f8dce4370bab81f4d1cc552c1c4dcea928c482d708c587be60
-MISC ChangeLog 37766 RMD160 f5cbc9d93cac9be0defe5a0d0eafc30823a66980 SHA1 79360f34ed3bcc33260bc6e885e0a05ed34ca2f6 SHA256 2b8144ac59ae32730502ee2d788e3affa8c811c70d9c1c2178a40a3b24764a2b
+EBUILD libxml2-2.7.7.ebuild 4663 RMD160 9dac65453ad3e919feeed7fa52bf316cc4eb3b98 SHA1 ad4ff83ce18193f70fe67bca13503022a9dc233d SHA256 1a79f5539eb83ed6ac8cca0c1450d002b761965c3e98873b3420adfd249022a4
+MISC ChangeLog 37984 RMD160 81819705a4b405ccdbb839130f41fbf071c9904d SHA1 1bd260a6fdea0ed2f013ca6ce12d78594ad3d450 SHA256 f7e7f9bdf1bf1e6a38e68a838770aeb74663b679f420386eb8af066bcc5f1b4e
 MISC metadata.xml 158 RMD160 c0e2bae8e91bb6be8922bac5e4f597302e06587e SHA1 38f78e9790bcd4382b4a49aa226aa6dda1d3a3d7 SHA256 3a7dbca0fdc557de69783e0663e2d76ddab129ea8a19b2d0ef6d3e5d1b947ce1
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.14 (GNU/Linux)
+
+iEYEARECAAYFAku7uV4ACgkQ1fmVwcYIWAbMaACfZ/c06UaLZvXzxn1pwprktruf
+2BwAoMfTGEPcqpzeUwqUfSZebpfzWBOH
+=0VVl
+-----END PGP SIGNATURE-----
diff --git a/dev-libs/libxml2/files/libxml2-2.7.4-parser-grow.patch b/dev-libs/libxml2/files/libxml2-2.7.4-parser-grow.patch
deleted file mode 100644 (file)
index 8784a83..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-From 9d3d141c412baa5c713ad3df48f1a4d179e07b05 Mon Sep 17 00:00:00 2001
-From: Daniel Veillard <veillard@redhat.com>
-Date: Tue, 15 Sep 2009 16:41:30 +0000
-Subject: Fix a parsing problem with little data at startup
-
-* parser.c: inkscape extension loader (and possibly others) feed
-  data to the parser very slowly, 0 at start, 4 bytes on first GROW
-  and this broke after the fix for
-  https://bugzilla.gnome.org/show_bug.cgi?id=566012
-  http://git.gnome.org/cgit/libxml2/commit/?id=7e385bd4e28a0cc12b6b26ed178c620e3c3ab8d8
-  leading to another bug
-  https://bugzilla.redhat.com/show_bug.cgi?id=523002
-  this detects the situation and GROW when needed for proper processing.
----
-diff --git a/parser.c b/parser.c
-index e415339..b41dcc3 100644
---- a/parser.c
-+++ b/parser.c
-@@ -10130,8 +10130,12 @@ xmlParseDocument(xmlParserCtxtPtr ctxt) {
-     /*
-      * Check for the XMLDecl in the Prolog.
-      * do not GROW here to avoid the detected encoder to decode more
--     * than just the first line
-+     * than just the first line, unless the amount of data is really
-+     * too small to hold "<?xml version="1.0" encoding="foo"
-      */
-+    if ((ctxt->input->end - ctxt->input->cur) < 35) {
-+       GROW;
-+    }
-     if ((CMP5(CUR_PTR, '<', '?', 'x', 'm', 'l')) && (IS_BLANK_CH(NXT(5)))) {
- 
-       /*
---
-cgit v0.8.2
diff --git a/dev-libs/libxml2/libxml2-2.7.4-r1.ebuild b/dev-libs/libxml2/libxml2-2.7.4-r1.ebuild
deleted file mode 100644 (file)
index cfbb5b7..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/libxml2/libxml2-2.7.4-r1.ebuild,v 1.3 2010/03/08 22:30:16 zmedico Exp $
-
-EAPI="2"
-
-inherit libtool flag-o-matic eutils python
-
-DESCRIPTION="Version 2 of the library to manipulate XML files"
-HOMEPAGE="http://www.xmlsoft.org/"
-
-LICENSE="MIT"
-SLOT="2"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
-IUSE="debug doc examples ipv6 python readline test"
-
-XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
-XSTS_NAME_1="xmlschema2002-01-16"
-XSTS_NAME_2="xmlschema2004-01-14"
-XSTS_TARBALL_1="xsts-2002-01-16.tar.gz"
-XSTS_TARBALL_2="xsts-2004-01-14.tar.gz"
-
-SRC_URI="ftp://xmlsoft.org/${PN}/${P}.tar.gz
-       test? (
-               ${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1}
-               ${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2} )"
-
-RDEPEND="sys-libs/zlib
-       python? ( <dev-lang/python-3 )
-       readline? ( sys-libs/readline )"
-
-DEPEND="${RDEPEND}
-       hppa? ( >=sys-devel/binutils-2.15.92.0.2 )"
-
-src_unpack() {
-       # ${A} isn't used to avoid unpacking of test tarballs into $WORKDIR,
-       # as they are needed as tarballs in ${S}/xstc instead and not unpacked
-       unpack ${P}.tar.gz
-       cd "${S}"
-
-       if use test; then
-               cp "${DISTDIR}/${XSTS_TARBALL_1}" \
-                       "${DISTDIR}/${XSTS_TARBALL_2}" \
-                       "${S}"/xstc/ \
-                       || die "Failed to install test tarballs"
-       fi
-
-       # Fix inkscape extension loader problem, bug #285125,
-       # patch import from upstream bug #595128.
-       epatch "${FILESDIR}"/${P}-parser-grow.patch
-}
-
-src_prepare() {
-       epunt_cxx
-}
-
-src_configure() {
-       # USE zlib support breaks gnome2
-       # (libgnomeprint for instance fails to compile with
-       # fresh install, and existing) - <azarah@gentoo.org> (22 Dec 2002).
-
-       # The meaning of the 'debug' USE flag does not apply to the --with-debug
-       # switch (enabling the libxml2 debug module). See bug #100898.
-
-       # --with-mem-debug causes unusual segmentation faults (bug #105120).
-
-       local myconf="--with-zlib \
-               --with-html-subdir=${PF}/html \
-               --docdir=/usr/share/doc/${PF} \
-               $(use_with debug run-debug)  \
-               $(use_with python)           \
-               $(use_with readline)         \
-               $(use_with readline history) \
-               $(use_enable ipv6) \
-               PYTHON_SITE_PACKAGES=$(python_get_sitedir)"
-
-       # Please do not remove, as else we get references to PORTAGE_TMPDIR
-       # in /usr/lib/python?.?/site-packages/libxml2mod.la among things.
-       elibtoolize
-
-       # filter seemingly problematic CFLAGS (#26320)
-       filter-flags -fprefetch-loop-arrays -funroll-loops
-
-       econf $myconf
-}
-
-src_install() {
-       emake DESTDIR="${D}" \
-               EXAMPLES_DIR=/usr/share/doc/${PF}/examples \
-               docsdir=/usr/share/doc/${PF}/python \
-               exampledir=/usr/share/doc/${PF}/python/examples \
-               install || die "Installation failed"
-
-       rm -rf "${D}"/usr/share/doc/${P}
-       dodoc AUTHORS ChangeLog Copyright NEWS README* TODO* || die "dodoc failed"
-
-       if ! use python; then
-               rm -rf "${D}"/usr/share/doc/${PF}/python
-               rm -rf "${D}"/usr/share/doc/${PN}-python-${PV}
-       fi
-
-       if ! use doc; then
-               rm -rf "${D}"/usr/share/gtk-doc
-               rm -rf "${D}"/usr/share/doc/${PF}/html
-       fi
-
-       if ! use examples; then
-               rm -rf "${D}/usr/share/doc/${PF}/examples"
-               rm -rf "${D}/usr/share/doc/${PF}/python/examples"
-       fi
-}
-
-pkg_postinst() {
-       if use python; then
-               python_need_rebuild
-               python_mod_optimize $(python_get_sitedir)
-       fi
-
-       # We don't want to do the xmlcatalog during stage1, as xmlcatalog will not
-       # be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887.
-       if [ "${ROOT}" != "/" ]
-       then
-               elog "Skipping XML catalog creation for stage building (bug #208887)."
-       else
-               # need an XML catalog, so no-one writes to a non-existent one
-               CATALOG="${ROOT}etc/xml/catalog"
-
-               # we dont want to clobber an existing catalog though,
-               # only ensure that one is there
-               # <obz@gentoo.org>
-               if [ ! -e ${CATALOG} ]; then
-                       [ -d "${ROOT}etc/xml" ] || mkdir -p "${ROOT}etc/xml"
-                       /usr/bin/xmlcatalog --create > ${CATALOG}
-                       einfo "Created XML catalog in ${CATALOG}"
-               fi
-       fi
-}
-
-pkg_postrm() {
-       python_mod_cleanup /usr/$(get_libdir)/python*/site-packages
-}
index 879f1b19136fdb17dfbb973b0b7a507ed849862c..99c9a31c91a94991ec2a797bc8fd7629a9b00ea5 100644 (file)
@@ -1,8 +1,10 @@
 # Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/libxml2/libxml2-2.7.7.ebuild,v 1.1 2010/03/18 12:59:10 ssuominen Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/libxml2/libxml2-2.7.7.ebuild,v 1.2 2010/04/06 22:44:40 eva Exp $
 
 EAPI="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.*"
 
 inherit libtool flag-o-matic eutils python
 
@@ -52,6 +54,9 @@ src_prepare() {
        # Please do not remove, as else we get references to PORTAGE_TMPDIR
        # in /usr/lib/python?.?/site-packages/libxml2mod.la among things.
        elibtoolize
+
+       # Python bindings are built/tested/installed manually.
+       sed -e "s/@PYTHON_SUBDIR@//" -i Makefile.in || die "sed failed"
 }
 
 src_configure() {
@@ -71,22 +76,56 @@ src_configure() {
                $(use_with python)
                $(use_with readline)
                $(use_with readline history)
-               $(use_enable ipv6)
-               PYTHON_SITE_PACKAGES=$(python_get_sitedir)"
+               $(use_enable ipv6)"
 
        # filter seemingly problematic CFLAGS (#26320)
        filter-flags -fprefetch-loop-arrays -funroll-loops
 
-       econf ${myconf}
+       python_execute_function -f -q econf ${myconf}
+}
+
+src_compile() {
+       default
+
+       if use python; then
+               python_copy_sources python
+               building() {
+                       emake PYTHON_INCLUDES="$(python_get_includedir)" \
+                               PYTHON_SITE_PACKAGES="$(python_get_sitedir)"
+               }
+               python_execute_function -s --source-dir python building
+       fi
+}
+
+src_test() {
+       default
+
+       if use python; then
+               testing() {
+                       emake test
+               }
+               python_execute_function -s --source-dir python testing
+       fi
 }
 
 src_install() {
        emake DESTDIR="${D}" \
                EXAMPLES_DIR=/usr/share/doc/${PF}/examples \
-               docsdir=/usr/share/doc/${PF}/python \
-               exampledir=/usr/share/doc/${PF}/python/examples \
                install || die "Installation failed"
 
+       if use python; then
+               installation() {
+                       emake DESTDIR="${D}" \
+                               PYTHON_SITE_PACKAGES="$(python_get_sitedir)" \
+                               docsdir=/usr/share/doc/${PF}/python \
+                               exampledir=/usr/share/doc/${PF}/python/examples \
+                               install
+               }
+               python_execute_function -s --source-dir python installation
+
+               python_clean_sitedirs
+       fi
+
        rm -rf "${D}"/usr/share/doc/${P}
        dodoc AUTHORS ChangeLog Copyright NEWS README* TODO* || die "dodoc failed"
 
@@ -108,8 +147,7 @@ src_install() {
 
 pkg_postinst() {
        if use python; then
-               python_need_rebuild
-               python_mod_optimize $(python_get_sitedir)
+               python_mod_optimize drv_libxml2.py libxml2.py
        fi
 
        # We don't want to do the xmlcatalog during stage1, as xmlcatalog will not
@@ -133,5 +171,5 @@ pkg_postinst() {
 }
 
 pkg_postrm() {
-       python_mod_cleanup /usr/$(get_libdir)/python*/site-packages
+       python_mod_cleanup drv_libxml2.py libxml2.py
 }