diff options
author | 2012-12-18 07:48:27 +0000 | |
---|---|---|
committer | 2012-12-18 07:48:27 +0000 | |
commit | f7eb90c40bb279184a21c2fe6a2545d2dfb62417 (patch) | |
tree | 3b86afa86bcc524d9d492144ff23ce36d6e6f61a /dev-libs/libxml2 | |
parent | Initial commit, wrt bug #184263 (diff) | |
download | historical-f7eb90c40bb279184a21c2fe6a2545d2dfb62417.tar.gz historical-f7eb90c40bb279184a21c2fe6a2545d2dfb62417.tar.bz2 historical-f7eb90c40bb279184a21c2fe6a2545d2dfb62417.zip |
Update to EAPI5 and python-r1.eclass. Always install pre-built docs in a devhelp-compatible location. Add a patch for cleaner multiple python ABI support.
Package-Manager: portage-2.2.0_alpha149/cvs/Linux x86_64
Manifest-Sign-Key: 0xCF0ADD61
Diffstat (limited to 'dev-libs/libxml2')
-rw-r--r-- | dev-libs/libxml2/ChangeLog | 12 | ||||
-rw-r--r-- | dev-libs/libxml2/Manifest | 16 | ||||
-rw-r--r-- | dev-libs/libxml2/files/libxml2-2.9.0-manual-python.patch | 45 | ||||
-rw-r--r-- | dev-libs/libxml2/libxml2-2.8.0-r4.ebuild (renamed from dev-libs/libxml2/libxml2-2.8.0-r2.ebuild) | 146 | ||||
-rw-r--r-- | dev-libs/libxml2/libxml2-2.9.0-r1.ebuild | 197 |
5 files changed, 323 insertions, 93 deletions
diff --git a/dev-libs/libxml2/ChangeLog b/dev-libs/libxml2/ChangeLog index becaa863259b..069770915ef6 100644 --- a/dev-libs/libxml2/ChangeLog +++ b/dev-libs/libxml2/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for dev-libs/libxml2 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/libxml2/ChangeLog,v 1.371 2012/12/15 17:42:56 armin76 Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-libs/libxml2/ChangeLog,v 1.372 2012/12/18 07:48:21 tetromino Exp $ + +*libxml2-2.9.0-r1 (18 Dec 2012) +*libxml2-2.8.0-r4 (18 Dec 2012) + + 18 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> + -libxml2-2.8.0-r2.ebuild, +libxml2-2.8.0-r4.ebuild, +libxml2-2.9.0-r1.ebuild, + +files/libxml2-2.9.0-manual-python.patch: + Update to EAPI5 and python-r1.eclass. Always install pre-built docs in a + devhelp-compatible location. Add a patch for cleaner multiple python ABI + support. 15 Dec 2012; Raúl Porcel <armin76@gentoo.org> libxml2-2.8.0-r3.ebuild: alpha/ia64/m68k/s390/sh/sparc stable wrt #444836 diff --git a/dev-libs/libxml2/Manifest b/dev-libs/libxml2/Manifest index 6fa5d49f1f18..97dbd8421da8 100644 --- a/dev-libs/libxml2/Manifest +++ b/dev-libs/libxml2/Manifest @@ -8,6 +8,7 @@ AUX libxml2-2.8.0-xmlParseAttValueComplex-underflow.patch 692 SHA256 fd86a145f57 AUX libxml2-2.8.0_rc1-winnt.patch 2392 SHA256 c18b2c15550b3ff4709a85cd18d16368928319b1b7fd8875dc34acd67076b134 SHA512 e78d010c82f18386b4f0ff84497585755b43416563bccd11f8e4dbf0153ca8842934fe05dce6c2373d8360574a2165795a78ea991682aed9610000d2bfcb0164 WHIRLPOOL a87eefa17ad113ae4aed14744715b4e1781e0869a3bb789bdf4f243bdb3687d0d4b6ee2addc85bf5b2f86b9d1cc442d946f0329011f033e3a7855ae0ad79b745 AUX libxml2-2.9.0-disable_static_modules.patch 837 SHA256 745a4c7006874fbbbf30bd4ed07622a496445bf848a60f5ad5100889016f482a SHA512 7ced4510bcd3380f2910cac7420ab727de931939b9012f4ba034b66b32803f4e773fd81850451aa8a24530cc2d0898cebb3a329b42ab3c5daa41be63ae4303ec WHIRLPOOL 1584c94b2f8c583caa84a2ee8e2b23e31a3ef7060dba7f6c0c73fcdf7ec529e9cdc33294781465779ca7d7e6ef5265d7c0d158947ca5b3a7ba0a083333453a67 AUX libxml2-2.9.0-large-file-parse.patch 1597 SHA256 c7ae7c9e94720f7ef1adfc5e60b0559a7a0ca0b302e8058b994f0b84b97f9ab6 SHA512 e049379b2e8cc26f6a6e348842eaa3955005834f61d56c53538ee0bd8a7cdda5cc51df8ed590a37799b1e04e692c2ef0954fb5728fb848a2e9d62162e5a761db WHIRLPOOL e360313cbf9b88f3fb6e80da44232a4d5ca84a43a9528fd2c5f102a4b47cee2da093fef24733afd958fb1c57df89d2ed30d079262b75be747e6e5ead8b3f2976 +AUX libxml2-2.9.0-manual-python.patch 1409 SHA256 647023249861bece60c719c49421a539342ab11a9c9023ee3175e29faaa24974 SHA512 1e06c52c729752d5bb72ac57ec0aa5c384eed49f79d38088eb9514c0a15c0f433309cd60ebfabbe75bf6166d93d1c7eb2a5ba6fd44a18bea8583590fdbcb3f11 WHIRLPOOL ec9653cab65af8833fef1264fe96ceeb8863047a3f699b8e69afbe8e5e47ef50e4e589a62d305d58352f560507cb606e45e1be5603b3b3758474fa192bb51506 AUX libxml2-2.9.0-nsclean.patch 806 SHA256 3f135045a44423e7e50269bbc2464af50a86f33beef08bb0af6922091b39c9f2 SHA512 6cdf243fe5424a0506645930c7fa1fe38bb43d712bec6f5d88ffb3abfb70ce9af1414ddbde3c5266af53bd3a6a8ef26c5322ae701853ec008a53b9f6dc8b79c5 WHIRLPOOL 92ff510b095214b1a548abe0c19b475cf5d8885a8feec5e804e5e351a468bf5e30af9bacc2744da66b6a488661d9763f8fba1e6ee1de60f7e7602a45415561e0 AUX libxml2-2.9.0-rand_seed.patch 845 SHA256 3a7c229c664aade8eb454da19f90cae3d9927d4c76859c85070da13c36565f7a SHA512 caca91890785959317943aae8b21dbed4bbc3a93cbee8d52101ee38f554ca464bb423962c4f52adf515361bdaf655b6bd3a664ff7503e8777f0cb9d4938d6eed WHIRLPOOL a3404a6311b433927c44467263235faf407437efbb52fc95d8fc65b42e1ad44b8c0c7181b07e0251aa186c07e74d6350b3568407c0e09a185659740bbe5e668d AUX libxml2-2.9.0-streaming-validation.patch 1639 SHA256 295f3012c24d96fca5c38ca32449e3651ed85e1592db910631c7ef380b515d26 SHA512 efa42db1bae6cef4ad078d8550939a18f2e796499d428038ac1c1028466b8472963f26ade3142e89a4475c9a0c54daec0909510e7080b34538ff89ad2e82a3f1 WHIRLPOOL 188cc683b6631bb0d01ba941cf2405802cbd02ea7eb8b1a772a8511f948467f53e5a60e0463fab516c4fb11517eb7fa1e4e2d1856a537348ccbf473deae2b2fe @@ -19,15 +20,20 @@ DIST libxml2-2.9.0.tar.gz 5161069 SHA256 ad25d91958b7212abdc12b9611cfb4dc4e5cddb DIST xmlts20080827.tar.gz 638940 SHA256 96151685cec997e1f9f3387e3626d61e6284d4d6e66e0e440c209286c03e9cc7 SHA512 7325d0977c4427fc4944b291ccf896a665f654cc24399e5565c12a849c2bc3aef4fa3ee42a09ac115abcb6570c51a8fbd052c38d64d164279ecdecad5a4e884d WHIRLPOOL 50835380c3ea208df0bf9ce032ed2df69c4c6cb5a53ffdd39a08fb4f1d166f311b2ef2fe0d9911ae1ebff92aeb42f6ea55e727dfe0b7a3b95e6c7240315b3eda DIST xsts-2002-01-16.tar.gz 6894439 SHA256 55e5c08db29946a91ea8e70e8f2418d3fd30d8b6777941dfba7f54726ffd9914 SHA512 43300af6d39c1e2221b0ed7318fe14c7464eeb6eb030ed1e22eb29b4ab17f014e2a4c8887c3a46ae5d243e3072da27f00f4e285498ae6f1288177d38d1108288 WHIRLPOOL 84dd51959460a4f8aa582d57ad39229c546ca7fe155012c57c368b59f5d31400d8b940a343a7320058330ca611303139cacdffed514783f96406ac5366026b11 DIST xsts-2004-01-14.tar.gz 2761085 SHA256 09bdf9f81f381ebf9bc158a9472e498e896f7a02eb7461146e9abe1b9493ca17 SHA512 32854388d7e720ad67156baf50bf2bae7bd878ca3e35fd7e44e57cad3f434f69d56bbbedd61509f8a1faf01c9eae74a078df8fe130780b182c05c05cb1c39ebe WHIRLPOOL c46a3bf7d6dd771757f4304995cc177cf51c6cdd0e9778851fc13d3809c7b984690b4f273b3e075abe018110968eb7fc78f5b83170d3e18bacf00a4ed64b213d -EBUILD libxml2-2.8.0-r2.ebuild 6637 SHA256 3bae77607c49613e859770bbef3bfa4410021aeb5e4b5c60e2ad14009b889b10 SHA512 8803a32751ea33dff4ba28276815fdeecf6860225584916b1c9c2923bf99fd1d77d81815b1d986e9b803da2b18a7e8363d0da1daddc149eb010d46ef583adfc8 WHIRLPOOL b43e4aa7f78f3ce995de3c091acdd0713d97bab3a0680db145bf27d72930b5536867d4c29bbd4794970b7ac0a1f8456d6208e7efa9fbdb37fc8426f8eaeba79c EBUILD libxml2-2.8.0-r3.ebuild 6787 SHA256 1afcbec83bf17d8792aea3dc965e6a0ac63cb4434442e93ff33cf67d9d2ba0f2 SHA512 e4cba7a6230f759043001f7c7bca8b9feced7af6007140e6a3a3d4ec7224cce423f14561b591385b24836ac7304c1e64f79f24b32c9fb3368ea04f0259c247b0 WHIRLPOOL 175651d0eb8f217bcfb702677ae473b1c3ac802ac46bf2f00407af232c15894f9480adf4915f3ba2af61ffa9ed16a61ce318d8c367f5df74a5cab3c593059ef9 +EBUILD libxml2-2.8.0-r4.ebuild 6283 SHA256 21a9eb54ca7369ab0cf16e39e2c6c22d6ce52dcfd9325e660efbe5c03f736004 SHA512 bfd2b51676405e6ade1d8f324fb139ec046c7acddaaafdd60b3e81a1266a92bff61d6ec8626a54c3838da249f65a4356316c07f29ffe3eeeaeb5cedd02e5991b WHIRLPOOL a28c56cefc801a5bca6a63685d098c322136987c1dee0e96d33615aa210a4c433d267002a49e1aaf636e3b08e37244dca00e271c951d03ac59421bf2319b0e08 +EBUILD libxml2-2.9.0-r1.ebuild 6252 SHA256 59dcc7aabf53a7d4ca4f44f16c1e2bb4826019296e90c587ea695005bf77c04d SHA512 1a2442497e2b75d64c270c30c5b66e848ad1b0b6fd26cc5ea320bbb7332ff686af32dec0e901e69fbe0e37ba1da052cc150cd73f3da7a2a0ac8959f3540f4f62 WHIRLPOOL 604489ba471231532c266ee2f10d8945e9b770850fcecc0729256db3cf68713722683548e93d068f0f3ffc3fcb4edb07be682c479be4d34de3bf67b4f4ce6014 EBUILD libxml2-2.9.0.ebuild 6709 SHA256 bd8797034f93eec971d5ab022b04e322f885da1a2b0dbe6679ced1ec59cf59d5 SHA512 9bd9dd5edfcac75a7d270adb8b0a0b1bd8901a235581ace3bee69bf8119454ba08cb22881b11de9bd9946d27be53cd57087e25597c7379eb4e486814068cda50 WHIRLPOOL d79ec012de245dc17b349d112a0ce05400b70a3f4fbff79a2b8eec43ce0d0740abd9f53d55bfa8c480d12f19e9da644e0e0f5131112ff703247193af6203f9fd -MISC ChangeLog 52314 SHA256 9fee0b05fa41efe6a81460ed039ddeb20fa155cace12da3c7af36d17aa2c3307 SHA512 079404b0846f52ccbab9d20ff9ce1c2cab2ef417679b6db614b4562a38cf2ca034196f49cd378f89decdf52cd804477e782a6088cf5cfb23c962e0816ad71e7f WHIRLPOOL 46bf39aa55d2f33caaaeefa92d5d5bcec6fa4cff5ba24a4cf7a229ade3460ca5e17c64eda61e491004264a6be3d6467ca481682d9d87e35281fffa804512da40 +MISC ChangeLog 52726 SHA256 1005e7dac38c8fadcf5911d553c0b622f641f44a52beb651ca8cbad2b8e2c6ec SHA512 b735e9d9221b333dd86bf7ca397c3af67c86f6c7aeda73c5d61790806061c807d2d44a46528499721c07db2841e5829c0958a3ca01698dda1830805e03375b3c WHIRLPOOL 30502f01927de02246c9bdaf9a68192a1e7e3c881aa639448e3d888d072a9076e58c20c7cafcb47f0e4a91e051e92fef020a70f9b115d5fe3c8e193a2ffe2cd7 MISC metadata.xml 158 SHA256 3a7dbca0fdc557de69783e0663e2d76ddab129ea8a19b2d0ef6d3e5d1b947ce1 SHA512 7fbfbd2b3ed1b81867d55648509f778fdbe2091af53727b3426a3c7f453ae7e1663a99fdd2101508b8d6c85b3158459c93551b77a6a394f02d7e11cbc8a5ecf4 WHIRLPOOL 4bcd5662974877d42ebc4361b6eb412bfeea2af7144b436ce7ed152327d554afc321c376625ba0bb85a704b70d86e3c4882dff3573047acddd8ffccf655d4f7e -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) -iEYEAREIAAYFAlDMtqEACgkQuQc30/atMkBf1gCgkE0Pg+mjKbIx6PzgZePwCgjc -e54An1u5KRT4vZta5Pz0SJHuUT/PAmES -=jYBc +iQEcBAEBCAAGBQJQ0B/HAAoJEJ0WA1zPCt1hld8IAIzrzcSfqx45uMET/vQZqjZG +SWHrPKeEgXFxYpZiX3dpwj3/XMk+e2lMoNRj+gWpQLG86uHhHoEtmrG2iUsrXrOQ +Hi2p5VAbTfdvMLcHOQDPog/geiWxmird6Qq0WKuL8vLlJVwe6uDkbNPYYVLhrbvA +SxrSsqss7oQnB/Jei5l3w1Xe/fNatKbpyZ6wJbArwGVSwgzWl/zuD+R4VHgVsTqx +Tmxr++pXG6bMCEUZNq1tlZiMjnqIL2r5dLkS0u/Uvrudnn+W5QjLbwj/KC0E3xxL +KgqkMpnu4kO012KT3YEbmE15xDX965M+oROni368QSXnfIHBw05/ji43OwMEg0o= +=gm7x -----END PGP SIGNATURE----- diff --git a/dev-libs/libxml2/files/libxml2-2.9.0-manual-python.patch b/dev-libs/libxml2/files/libxml2-2.9.0-manual-python.patch new file mode 100644 index 000000000000..2ebb4f040ada --- /dev/null +++ b/dev-libs/libxml2/files/libxml2-2.9.0-manual-python.patch @@ -0,0 +1,45 @@ +From 2a74d41325c9e8043a2beec8b957ddf66f57cfd5 Mon Sep 17 00:00:00 2001 +From: Alexandre Rostovtsev <tetromino@gentoo.org> +Date: Tue, 18 Dec 2012 02:09:14 -0500 +Subject: [PATCH] build/test/install python bindings manually + +To support building for multiple python ABIs, we want to skip checks for +python in configure, and build/test/install python bindings manually. +--- + configure.in | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/configure.in b/configure.in +index 3d5f48b..b467c51 100644 +--- a/configure.in ++++ b/configure.in +@@ -748,7 +748,7 @@ PYTHON_INCLUDES= + PYTHON_SITE_PACKAGES= + PYTHON_TESTS= + pythondir= +-if test "$with_python" != "no" ; then ++if false ; then + if test -x "$with_python/bin/python" + then + echo Found python in $with_python/bin/python +@@ -823,7 +823,7 @@ if test "$with_python" != "no" ; then + else + PYTHON= + fi +-AM_CONDITIONAL(WITH_PYTHON, test "$PYTHON_INCLUDES" != "") ++AM_CONDITIONAL(WITH_PYTHON, test "$with_python" != "no") + if test "$PYTHON_INCLUDES" != "" + then + PYTHON_SUBDIR=python +@@ -1429,7 +1429,7 @@ else + echo "Enabled Schemas/Relax-NG support" + WITH_SCHEMAS=1 + TEST_SCHEMAS="Schemastests Relaxtests" +- if test "$PYTHON_INCLUDES" != "" ; then ++ if test "$with_python" != "no" ; then + PYTHON_TESTS="$PYTHON_TESTS RelaxNGPythonTests SchemasPythonTests" + fi + with_regexps=yes +-- +1.8.0.2 + diff --git a/dev-libs/libxml2/libxml2-2.8.0-r2.ebuild b/dev-libs/libxml2/libxml2-2.8.0-r4.ebuild index 990bcca9d821..a13d8a632b71 100644 --- a/dev-libs/libxml2/libxml2-2.8.0-r2.ebuild +++ b/dev-libs/libxml2/libxml2-2.8.0-r4.ebuild @@ -1,50 +1,47 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/libxml2/libxml2-2.8.0-r2.ebuild,v 1.7 2012/09/18 01:31:33 blueness Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-libs/libxml2/libxml2-2.8.0-r4.ebuild,v 1.1 2012/12/18 07:48:21 tetromino Exp $ -EAPI="4" -PYTHON_DEPEND="python? 2" -PYTHON_USE_WITH="xml" -PYTHON_USE_WITH_OPT="python" -SUPPORT_PYTHON_ABIS="1" -RESTRICT_PYTHON_ABIS="3.* *-jython 2.7-pypy-*" +EAPI="5" +PYTHON_COMPAT=( python{2_5,2_6,2_7} ) +PYTHON_REQ_USE="xml" -inherit libtool flag-o-matic eutils python autotools prefix +inherit libtool flag-o-matic eutils python-r1 autotools prefix 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 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" -IUSE="debug doc examples icu ipv6 lzma python readline static-libs test" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" +IUSE="debug examples icu ipv6 lzma python readline static-libs 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" +XMLCONF_TARBALL="xmlts20080827.tar.gz" SRC_URI="ftp://xmlsoft.org/${PN}/${PN}-${PV/_rc/-rc}.tar.gz test? ( ${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1} - ${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2} ) + ${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2} + http://www.w3.org/XML/Test/${XMLCONF_TARBALL} ) http://dev.gentoo.org/~tetromino/distfiles/${PN}/${P}-namespace-node-patches.tar.bz2" -RDEPEND="sys-libs/zlib - icu? ( dev-libs/icu ) - lzma? ( app-arch/xz-utils ) - readline? ( sys-libs/readline )" +RDEPEND="sys-libs/zlib:= + icu? ( dev-libs/icu:= ) + lzma? ( app-arch/xz-utils:= ) + python? ( ${PYTHON_DEPS} ) + readline? ( sys-libs/readline:= )" DEPEND="${RDEPEND} + dev-util/gtk-doc-am hppa? ( >=sys-devel/binutils-2.15.92.0.2 )" S="${WORKDIR}/${PN}-${PV%_rc*}" -pkg_setup() { - use python && python_pkg_setup -} - 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 @@ -57,6 +54,7 @@ src_unpack() { "${DISTDIR}/${XSTS_TARBALL_2}" \ "${S}"/xstc/ \ || die "Failed to install test tarballs" + unpack ${XMLCONF_TARBALL} fi } @@ -77,22 +75,24 @@ src_prepare() { # Namespace nodes require special treatment, bug #434344 epatch ../patch/*.patch + # Buffer underflow in xmlParseAttValueComplex, bug #444836; fixed in 2.9.1 + epatch "${FILESDIR}/${PN}-2.8.0-xmlParseAttValueComplex-underflow.patch" + # Please do not remove, as else we get references to PORTAGE_TMPDIR # in /usr/lib/python?.?/site-packages/libxml2mod.la among things. # We now need to run eautoreconf at the end to prevent maintainer mode. # elibtoolize # Python bindings are built/tested/installed manually. - sed -e "s/@PYTHON_SUBDIR@//" -i Makefile.am || die "sed 1 failed" - - # Use Gentoo's python-config naming scheme - sed -e 's/python$PYTHON_VERSION-config/python-config-$PYTHON_VERSION/' \ - -i configure.in || die "sed 2 failed" + epatch "${FILESDIR}/${PN}-2.9.0-manual-python.patch" eautoreconf } src_configure() { + # filter seemingly problematic CFLAGS (#26320) + filter-flags -fprefetch-loop-arrays -funroll-loops + # USE zlib support breaks gnome2 # (libgnomeprint for instance fails to compile with # fresh install, and existing) - <azarah@gentoo.org> (22 Dec 2002). @@ -101,53 +101,35 @@ src_configure() { # switch (enabling the libxml2 debug module). See bug #100898. # --with-mem-debug causes unusual segmentation faults (bug #105120). - - local myconf=( - --with-html-subdir=${PF}/html - --docdir="${EPREFIX}/usr/share/doc/${PF}" - $(use_with debug run-debug) - $(use_with icu) - $(use_with lzma) - $(use_with python) - $(use_with readline) - $(use_with readline history) - $(use_enable ipv6) - $(use_enable static-libs static) ) - - # filter seemingly problematic CFLAGS (#26320) - filter-flags -fprefetch-loop-arrays -funroll-loops - - econf "${myconf[@]}" + econf \ + -with-html-subdir=${PF}/html \ + --docdir="${EPREFIX}/usr/share/doc/${PF}" \ + $(use_with debug run-debug) \ + $(use_with icu) \ + $(use_with lzma) \ + $(use_with python) \ + $(use_with readline) \ + $(use_with readline history) \ + $(use_enable ipv6) \ + $(use_enable static-libs static) } src_compile() { default - if use python; then - python_copy_sources python - building() { - emake PYTHON_INCLUDES="${EPREFIX}$(python_get_includedir)" \ - PYTHON_SITE_PACKAGES="${EPREFIX}$(python_get_sitedir)" - } - python_execute_function -s --source-dir python building + python_copy_sources + python_foreach_impl libxml2_py_emake fi } src_test() { default - - if use python; then - testing() { - emake test - } - python_execute_function -s --source-dir python testing - fi + use python && python_foreach_impl libxml2_py_emake test } src_install() { emake DESTDIR="${D}" \ - EXAMPLES_DIR="${EPREFIX}"/usr/share/doc/${PF}/examples \ - install || die "Installation failed" + EXAMPLES_DIR="${EPREFIX}"/usr/share/doc/${PF}/examples install # on windows, xmllint is installed by interix libxml2 in parent prefix. # this is the version to use. the native winnt version does not support @@ -159,16 +141,11 @@ src_install() { fi if use python; then - installation() { - emake DESTDIR="${D}" \ - PYTHON_SITE_PACKAGES="${EPREFIX}$(python_get_sitedir)" \ - docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \ - exampledir="${EPREFIX}"/usr/share/doc/${PF}/python/examples \ - install - } - python_execute_function -s --source-dir python installation - - python_clean_installation_image + python_foreach_impl libxml2_py_emake DESTDIR="${D}" \ + docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \ + exampledir="${EPREFIX}"/usr/share/doc/${PF}/python/examples \ + install + python_foreach_impl python_optimize fi rm -rf "${ED}"/usr/share/doc/${P} @@ -179,29 +156,18 @@ src_install() { rm -rf "${ED}"/usr/share/doc/${PN}-python-${PV} fi - if ! use doc; then - rm -rf "${ED}"/usr/share/gtk-doc - rm -rf "${ED}"/usr/share/doc/${PF}/html - fi - if ! use examples; then rm -rf "${ED}/usr/share/doc/${PF}/examples" rm -rf "${ED}/usr/share/doc/${PF}/python/examples" fi - # Always remove useless .la files - find "${D}" -name '*.la' -exec rm -f {} + || die "la file removal failed" + prune_libtool_files --modules } pkg_postinst() { - if use python; then - python_mod_optimize drv_libxml2.py libxml2.py - 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 + 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 @@ -210,16 +176,22 @@ pkg_postinst() { # we dont want to clobber an existing catalog though, # only ensure that one is there # <obz@gentoo.org> - if [ ! -e ${CATALOG} ]; then - [ -d "${EROOT}etc/xml" ] || mkdir -p "${EROOT}etc/xml" - "${EPREFIX}"/usr/bin/xmlcatalog --create > ${CATALOG} + if [[ ! -e ${CATALOG} ]]; then + [[ -d "${EROOT}etc/xml" ]] || mkdir -p "${EROOT}etc/xml" + "${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}" einfo "Created XML catalog in ${CATALOG}" fi fi } -pkg_postrm() { - if use python; then - python_mod_cleanup drv_libxml2.py libxml2.py - fi +libxml2_py_emake() { + pushd "${BUILD_DIR}/python" > /dev/null || die + emake \ + PYTHON="${PYTHON}" \ + PYTHON_INCLUDES="${EPREFIX}/usr/include/${EPYTHON}" \ + PYTHON_LIBS="$(python-config --ldflags)" \ + PYTHON_SITE_PACKAGES="$(python_get_sitedir)" \ + pythondir="$(python_get_sitedir)" \ + PYTHON_VERSION=${EPYTHON/python} "$@" + popd > /dev/null } diff --git a/dev-libs/libxml2/libxml2-2.9.0-r1.ebuild b/dev-libs/libxml2/libxml2-2.9.0-r1.ebuild new file mode 100644 index 000000000000..59046c3957fb --- /dev/null +++ b/dev-libs/libxml2/libxml2-2.9.0-r1.ebuild @@ -0,0 +1,197 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/libxml2/libxml2-2.9.0-r1.ebuild,v 1.1 2012/12/18 07:48:21 tetromino Exp $ + +EAPI="5" +PYTHON_COMPAT=( python{2_5,2_6,2_7} ) +PYTHON_REQ_USE="xml" + +inherit libtool flag-o-matic eutils python-r1 autotools prefix + +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 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" +IUSE="debug examples icu ipv6 lzma python readline static-libs 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" +XMLCONF_TARBALL="xmlts20080827.tar.gz" + +SRC_URI="ftp://xmlsoft.org/${PN}/${PN}-${PV/_rc/-rc}.tar.gz + test? ( + ${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1} + ${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2} + http://www.w3.org/XML/Test/${XMLCONF_TARBALL} )" + +RDEPEND="sys-libs/zlib:= + icu? ( dev-libs/icu:= ) + lzma? ( app-arch/xz-utils:= ) + python? ( ${PYTHON_DEPS} ) + readline? ( sys-libs/readline:= )" + +DEPEND="${RDEPEND} + dev-util/gtk-doc-am + hppa? ( >=sys-devel/binutils-2.15.92.0.2 )" + +S="${WORKDIR}/${PN}-${PV%_rc*}" + +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/_rc/-rc}.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" + unpack ${XMLCONF_TARBALL} + fi +} + +src_prepare() { + # Patches needed for prefix support + epatch "${FILESDIR}"/${PN}-2.7.1-catalog_path.patch + epatch "${FILESDIR}"/${PN}-2.8.0_rc1-winnt.patch + + eprefixify catalog.c xmlcatalog.c runtest.c xmllint.c + + epunt_cxx + + epatch "${FILESDIR}/${PN}-2.9.0-disable_static_modules.patch" + + # Important patches from 2.9.1 + epatch "${FILESDIR}/${P}-rand_seed.patch" \ + "${FILESDIR}/${P}-thread-portability.patch" \ + "${FILESDIR}/${P}-streaming-validation.patch" \ + "${FILESDIR}/${P}-nsclean.patch" \ + "${FILESDIR}/${P}-large-file-parse.patch" \ + "${FILESDIR}/${P}-thread-alloc.patch" + + # Buffer underflow in xmlParseAttValueComplex, bug #444836; fixed in 2.9.1 + epatch "${FILESDIR}/${PN}-2.8.0-xmlParseAttValueComplex-underflow.patch" + + # Please do not remove, as else we get references to PORTAGE_TMPDIR + # in /usr/lib/python?.?/site-packages/libxml2mod.la among things. + # We now need to run eautoreconf at the end to prevent maintainer mode. +# elibtoolize + + # Python bindings are built/tested/installed manually. + epatch "${FILESDIR}/${PN}-2.9.0-manual-python.patch" + + eautoreconf +} + +src_configure() { + # filter seemingly problematic CFLAGS (#26320) + filter-flags -fprefetch-loop-arrays -funroll-loops + + # 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). + econf \ + -with-html-subdir=${PF}/html \ + --docdir="${EPREFIX}/usr/share/doc/${PF}" \ + $(use_with debug run-debug) \ + $(use_with icu) \ + $(use_with lzma) \ + $(use_with python) \ + $(use_with readline) \ + $(use_with readline history) \ + $(use_enable ipv6) \ + $(use_enable static-libs static) +} + +src_compile() { + default + if use python; then + python_copy_sources + python_foreach_impl libxml2_py_emake + fi +} + +src_test() { + default + use python && python_foreach_impl libxml2_py_emake test +} + +src_install() { + emake DESTDIR="${D}" \ + EXAMPLES_DIR="${EPREFIX}"/usr/share/doc/${PF}/examples install + + # on windows, xmllint is installed by interix libxml2 in parent prefix. + # this is the version to use. the native winnt version does not support + # symlinks, which makes repoman fail if the portage tree is linked in + # from another location (which is my default). -- mduft + if [[ ${CHOST} == *-winnt* ]]; then + rm -rf "${ED}"/usr/bin/xmllint + rm -rf "${ED}"/usr/bin/xmlcatalog + fi + + if use python; then + python_foreach_impl libxml2_py_emake DESTDIR="${D}" \ + docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \ + exampledir="${EPREFIX}"/usr/share/doc/${PF}/python/examples \ + install + python_foreach_impl python_optimize + fi + + rm -rf "${ED}"/usr/share/doc/${P} + dodoc AUTHORS ChangeLog Copyright NEWS README* TODO* + + if ! use python; then + rm -rf "${ED}"/usr/share/doc/${PF}/python + rm -rf "${ED}"/usr/share/doc/${PN}-python-${PV} + fi + + if ! use examples; then + rm -rf "${ED}/usr/share/doc/${PF}/examples" + rm -rf "${ED}/usr/share/doc/${PF}/python/examples" + fi + + prune_libtool_files --modules +} + +pkg_postinst() { + # 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="${EROOT}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 "${EROOT}etc/xml" ]] || mkdir -p "${EROOT}etc/xml" + "${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}" + einfo "Created XML catalog in ${CATALOG}" + fi + fi +} + +libxml2_py_emake() { + pushd "${BUILD_DIR}/python" > /dev/null || die + emake \ + PYTHON="${PYTHON}" \ + PYTHON_INCLUDES="${EPREFIX}/usr/include/${EPYTHON}" \ + PYTHON_LIBS="$(python-config --ldflags)" \ + PYTHON_SITE_PACKAGES="$(python_get_sitedir)" \ + pythondir="$(python_get_sitedir)" \ + PYTHON_VERSION=${EPYTHON/python} "$@" + popd > /dev/null +} |