summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGilles Dartiguelongue <eva@gentoo.org>2008-07-31 20:47:41 +0000
committerGilles Dartiguelongue <eva@gentoo.org>2008-07-31 20:47:41 +0000
commit1f69305e4455f4c5c9747bbab1e6c2f523a5aff1 (patch)
tree6cad764346aeb473c00e13a2598d9e63a11ed3df /dev-libs
parentmask =net-www/nspluginwrapper-1.1.0 due to it crashing firefox (diff)
downloadhistorical-1f69305e4455f4c5c9747bbab1e6c2f523a5aff1.tar.gz
historical-1f69305e4455f4c5c9747bbab1e6c2f523a5aff1.tar.bz2
historical-1f69305e4455f4c5c9747bbab1e6c2f523a5aff1.zip
bump to r1. Apply patch from bug #232172.
Package-Manager: portage-2.2_rc3/cvs/Linux 2.6.24-gentoo-r8-mactel x86_64 RepoMan-Options: --force
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/libxslt/ChangeLog8
-rw-r--r--dev-libs/libxslt/Manifest10
-rw-r--r--dev-libs/libxslt/files/libxslt-1.1.24-exslt_crypt.patch152
-rw-r--r--dev-libs/libxslt/libxslt-1.1.24-r1.ebuild70
4 files changed, 235 insertions, 5 deletions
diff --git a/dev-libs/libxslt/ChangeLog b/dev-libs/libxslt/ChangeLog
index 12ea0df91a58..5a9b6092ade8 100644
--- a/dev-libs/libxslt/ChangeLog
+++ b/dev-libs/libxslt/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-libs/libxslt
# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/libxslt/ChangeLog,v 1.186 2008/05/23 20:57:33 maekke Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/libxslt/ChangeLog,v 1.187 2008/07/31 20:47:40 eva Exp $
+
+*libxslt-1.1.24-r1 (31 Jul 2008)
+
+ 31 Jul 2008; Gilles Dartiguelongue <eva@gentoo.org>
+ +files/libxslt-1.1.24-exslt_crypt.patch, +libxslt-1.1.24-r1.ebuild:
+ bump to r1. Apply patch from bug #232172.
23 May 2008; Markus Meier <maekke@gentoo.org> libxslt-1.1.24.ebuild:
amd64 stable, bug #222499
diff --git a/dev-libs/libxslt/Manifest b/dev-libs/libxslt/Manifest
index 98152fa71f03..b34768ab7dfe 100644
--- a/dev-libs/libxslt/Manifest
+++ b/dev-libs/libxslt/Manifest
@@ -3,19 +3,21 @@ Hash: SHA1
AUX libxslt-1.1.20-amd64.patch 1170 RMD160 ef955eeabc7797d3b6960106da7e98ab0a833cf4 SHA1 204d5d7187bd37de24da79c11211a37e85fa9c1f SHA256 74fc561c39c6507244b5ca8dc2bc758adc5e380dc013673c044bb7423509eb25
AUX libxslt-1.1.23-parallel-install.patch 547 RMD160 b5a4895a4a794e8a07264157998cb7a3524bf448 SHA1 fd740948ac12a1473f871899e4594ba01a88abbd SHA256 679db2f683f7a9f33c7088ca3c4786e5447bbd464740153ea12d33b35b081793
+AUX libxslt-1.1.24-exslt_crypt.patch 4906 RMD160 fbdbea30ec2180b3093cf71f9119ad0287fa8be4 SHA1 018183759b431aaabe094ecadbdb30df80613dd8 SHA256 d21b61608d4bd05e99270bbfaa46238157ae72e6869cac519bb11653d508f0dd
AUX libxslt.m4-libxslt-1.1.8.patch 1292 RMD160 0dcd21978aa0102784df670f2c9835da227f42c8 SHA1 ffa3c5ff84b0636ec4238167e324d377305c4d34 SHA256 0da59fb6cb50bf30e8ac79644df90394707ac07e60337aa3c0e53986781e9e0d
DIST libxslt-1.1.22.tar.gz 2783003 RMD160 bc2d32a4d7fea777c3d4b0ce3f5a70c8ea3f8969 SHA1 55ce4dc659681d9a5ba2322c45cbdfe75b46639c SHA256 4e1f39ee16596fd2a83d28d6c3b065f742254f3336f93ce8ed1cae48ecbe49da
DIST libxslt-1.1.23.tar.gz 2791463 RMD160 fcecbaddd9b35e4d5e44670f6bd6d9d5fff327bc SHA1 9b6bb279808893643d9116e514eafecb22eff76c SHA256 f98fc926b0965db0fcd7ff9e80f45436aac1adb130c542f6be44f9033143681c
DIST libxslt-1.1.24.tar.gz 3363961 RMD160 41e7721eeed722c45310877d045422b47ab32973 SHA1 b5402e24abff5545ed76f6a55049cbebc664bd58 SHA256 c0c10944841e9a79f29d409c6f8da0d1b1af0403eb3819c82c788dfa6a180b3e
EBUILD libxslt-1.1.22.ebuild 1981 RMD160 04b6c4dab0c192f5bbffff5f155ba12f2fd7c5c3 SHA1 fafb7f9583f0f19667fab6c5053a3973b44ed5b3 SHA256 ee4e94d504962efe1c63081d19c8bdc75007583cc03f324864a7a02852268822
EBUILD libxslt-1.1.23.ebuild 1675 RMD160 62da5b545f3d25f12cbbea024030239b0eda434f SHA1 03da0ba97791df42e1739347e17b261bf8647029 SHA256 6cd67ac614f44a1fa4222fb5afa4aa764c2912d3971e80c9b64d44f8e2039475
+EBUILD libxslt-1.1.24-r1.ebuild 2006 RMD160 b4539473c17696ef825f5cbcc0f24c1bc5588c73 SHA1 a37b6c5c08b4cf109c60791188a244ad4c0490bb SHA256 0b0374e90a6e0e50a5acbdcb442cdbdb907320510225f1557c06e06a65b4ce43
EBUILD libxslt-1.1.24.ebuild 1921 RMD160 41744278c6a54a23c385d2b2034d1261477d5375 SHA1 628296457c8cbcc64cfbce3fe991cddb81451b86 SHA256 4a0fb047c24b0a5f4591fd478511828ba3e10434aac323fe3273eeb80b0e180b
-MISC ChangeLog 22132 RMD160 b030298b54a8d3b1f5f9239f83be84d515e8d6f6 SHA1 599ab44d4ba780b083fbc42bac02abd0dce5b3d7 SHA256 f5513e30157c8872025dfcaf8385f31a7add9953a42b0995cf281c342904ee4e
+MISC ChangeLog 22332 RMD160 fabefe74f306a6aa27ebe0becb03a34f12abfc05 SHA1 a1d4b2d985e312cd64063668b2daf5e10a07e345 SHA256 6c13f61d3c7d23d84affeca2f71abaf5900d817417a3282c56ccb165faad8c3f
MISC metadata.xml 158 RMD160 c0e2bae8e91bb6be8922bac5e4f597302e06587e SHA1 38f78e9790bcd4382b4a49aa226aa6dda1d3a3d7 SHA256 3a7dbca0fdc557de69783e0663e2d76ddab129ea8a19b2d0ef6d3e5d1b947ce1
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)
-iEYEARECAAYFAkg3L/cACgkQkKaRLQcq0GJBbwCgtmUfzk00C9bdZ7HWIOHtkDJW
-C9QAoIjaeWIFCjUE3lcutUImqoUS7o3j
-=U2/k
+iEYEARECAAYFAkiSJQIACgkQ1fmVwcYIWAa/8wCfZEvZLJ85d2+LV2AyUzobjIAf
+MrQAnj7hLJK+Skxm7I3o9aRu0t2ZiWCb
+=K1i8
-----END PGP SIGNATURE-----
diff --git a/dev-libs/libxslt/files/libxslt-1.1.24-exslt_crypt.patch b/dev-libs/libxslt/files/libxslt-1.1.24-exslt_crypt.patch
new file mode 100644
index 000000000000..c9ab232dd4b9
--- /dev/null
+++ b/dev-libs/libxslt/files/libxslt-1.1.24-exslt_crypt.patch
@@ -0,0 +1,152 @@
+Index: libexslt/crypto.c
+===================================================================
+--- libexslt/crypto.c (revision 1479)
++++ libexslt/crypto.c (working copy)
+@@ -595,11 +595,13 @@ exsltCryptoRc4EncryptFunction (xmlXPathP
+ int str_len = 0, bin_len = 0, hex_len = 0;
+ xmlChar *key = NULL, *str = NULL, *padkey = NULL;
+ xmlChar *bin = NULL, *hex = NULL;
++ xsltTransformContextPtr tctxt = NULL;
+
+- if ((nargs < 1) || (nargs > 3)) {
++ if (nargs != 2) {
+ xmlXPathSetArityError (ctxt);
+ return;
+ }
++ tctxt = xsltXPathGetTransformContext(ctxt);
+
+ str = xmlXPathPopString (ctxt);
+ str_len = xmlUTF8Strlen (str);
+@@ -611,7 +613,7 @@ exsltCryptoRc4EncryptFunction (xmlXPathP
+ }
+
+ key = xmlXPathPopString (ctxt);
+- key_len = xmlUTF8Strlen (str);
++ key_len = xmlUTF8Strlen (key);
+
+ if (key_len == 0) {
+ xmlXPathReturnEmptyString (ctxt);
+@@ -620,15 +622,33 @@ exsltCryptoRc4EncryptFunction (xmlXPathP
+ return;
+ }
+
+- padkey = xmlMallocAtomic (RC4_KEY_LENGTH);
++ padkey = xmlMallocAtomic (RC4_KEY_LENGTH + 1);
++ if (padkey == NULL) {
++ xsltTransformError(tctxt, NULL, tctxt->inst,
++ "exsltCryptoRc4EncryptFunction: Failed to allocate padkey\n");
++ tctxt->state = XSLT_STATE_STOPPED;
++ xmlXPathReturnEmptyString (ctxt);
++ goto done;
++ }
++ memset(padkey, 0, RC4_KEY_LENGTH + 1);
++
+ key_size = xmlUTF8Strsize (key, key_len);
++ if ((key_size > RC4_KEY_LENGTH) || (key_size < 0)) {
++ xsltTransformError(tctxt, NULL, tctxt->inst,
++ "exsltCryptoRc4EncryptFunction: key size too long or key broken\n");
++ tctxt->state = XSLT_STATE_STOPPED;
++ xmlXPathReturnEmptyString (ctxt);
++ goto done;
++ }
+ memcpy (padkey, key, key_size);
+- memset (padkey + key_size, '\0', sizeof (padkey));
+
+ /* encrypt it */
+ bin_len = str_len;
+ bin = xmlStrdup (str);
+ if (bin == NULL) {
++ xsltTransformError(tctxt, NULL, tctxt->inst,
++ "exsltCryptoRc4EncryptFunction: Failed to allocate string\n");
++ tctxt->state = XSLT_STATE_STOPPED;
+ xmlXPathReturnEmptyString (ctxt);
+ goto done;
+ }
+@@ -638,6 +658,9 @@ exsltCryptoRc4EncryptFunction (xmlXPathP
+ hex_len = str_len * 2 + 1;
+ hex = xmlMallocAtomic (hex_len);
+ if (hex == NULL) {
++ xsltTransformError(tctxt, NULL, tctxt->inst,
++ "exsltCryptoRc4EncryptFunction: Failed to allocate result\n");
++ tctxt->state = XSLT_STATE_STOPPED;
+ xmlXPathReturnEmptyString (ctxt);
+ goto done;
+ }
+@@ -670,11 +693,13 @@ exsltCryptoRc4DecryptFunction (xmlXPathP
+ int str_len = 0, bin_len = 0, ret_len = 0;
+ xmlChar *key = NULL, *str = NULL, *padkey = NULL, *bin =
+ NULL, *ret = NULL;
++ xsltTransformContextPtr tctxt = NULL;
+
+- if ((nargs < 1) || (nargs > 3)) {
++ if (nargs != 2) {
+ xmlXPathSetArityError (ctxt);
+ return;
+ }
++ tctxt = xsltXPathGetTransformContext(ctxt);
+
+ str = xmlXPathPopString (ctxt);
+ str_len = xmlUTF8Strlen (str);
+@@ -686,7 +711,7 @@ exsltCryptoRc4DecryptFunction (xmlXPathP
+ }
+
+ key = xmlXPathPopString (ctxt);
+- key_len = xmlUTF8Strlen (str);
++ key_len = xmlUTF8Strlen (key);
+
+ if (key_len == 0) {
+ xmlXPathReturnEmptyString (ctxt);
+@@ -695,22 +720,51 @@ exsltCryptoRc4DecryptFunction (xmlXPathP
+ return;
+ }
+
+- padkey = xmlMallocAtomic (RC4_KEY_LENGTH);
++ padkey = xmlMallocAtomic (RC4_KEY_LENGTH + 1);
++ if (padkey == NULL) {
++ xsltTransformError(tctxt, NULL, tctxt->inst,
++ "exsltCryptoRc4EncryptFunction: Failed to allocate padkey\n");
++ tctxt->state = XSLT_STATE_STOPPED;
++ xmlXPathReturnEmptyString (ctxt);
++ goto done;
++ }
++ memset(padkey, 0, RC4_KEY_LENGTH + 1);
+ key_size = xmlUTF8Strsize (key, key_len);
++ if ((key_size > RC4_KEY_LENGTH) || (key_size < 0)) {
++ xsltTransformError(tctxt, NULL, tctxt->inst,
++ "exsltCryptoRc4EncryptFunction: key size too long or key broken\n");
++ tctxt->state = XSLT_STATE_STOPPED;
++ xmlXPathReturnEmptyString (ctxt);
++ goto done;
++ }
+ memcpy (padkey, key, key_size);
+- memset (padkey + key_size, '\0', sizeof (padkey));
+
+ /* decode hex to binary */
+ bin_len = str_len;
+ bin = xmlMallocAtomic (bin_len);
++ if (bin == NULL) {
++ xsltTransformError(tctxt, NULL, tctxt->inst,
++ "exsltCryptoRc4EncryptFunction: Failed to allocate string\n");
++ tctxt->state = XSLT_STATE_STOPPED;
++ xmlXPathReturnEmptyString (ctxt);
++ goto done;
++ }
+ ret_len = exsltCryptoHex2Bin (str, str_len, bin, bin_len);
+
+ /* decrypt the binary blob */
+ ret = xmlMallocAtomic (ret_len);
++ if (ret == NULL) {
++ xsltTransformError(tctxt, NULL, tctxt->inst,
++ "exsltCryptoRc4EncryptFunction: Failed to allocate result\n");
++ tctxt->state = XSLT_STATE_STOPPED;
++ xmlXPathReturnEmptyString (ctxt);
++ goto done;
++ }
+ PLATFORM_RC4_DECRYPT (ctxt, padkey, bin, ret_len, ret, ret_len);
+
+ xmlXPathReturnString (ctxt, ret);
+
++done:
+ if (key != NULL)
+ xmlFree (key);
+ if (str != NULL)
diff --git a/dev-libs/libxslt/libxslt-1.1.24-r1.ebuild b/dev-libs/libxslt/libxslt-1.1.24-r1.ebuild
new file mode 100644
index 000000000000..a230096760d6
--- /dev/null
+++ b/dev-libs/libxslt/libxslt-1.1.24-r1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/libxslt/libxslt-1.1.24-r1.ebuild,v 1.1 2008/07/31 20:47:40 eva Exp $
+
+inherit libtool eutils python autotools
+
+DESCRIPTION="XSLT libraries and tools"
+HOMEPAGE="http://www.xmlsoft.org/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc ~sparc-fbsd x86 ~x86-fbsd"
+IUSE="crypt debug examples python"
+
+DEPEND=">=dev-libs/libxml2-2.6.27
+ crypt? ( >=dev-libs/libgcrypt-1.1.92 )
+ python? ( dev-lang/python )"
+
+SRC_URI="ftp://xmlsoft.org/${PN}/${P}.tar.gz"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # we still require the 1.1.8 patch for the .m4 file, to add
+ # the CXXFLAGS defines <obz@gentoo.org>
+ epatch "${FILESDIR}/libxslt.m4-${PN}-1.1.8.patch"
+
+ # fix parallel install, bug #212784.
+ epatch "${FILESDIR}/${PN}-1.1.23-parallel-install.patch"
+
+ # Patch Makefile to fix bug #99382 so that html gets installed in ${PF}
+ sed -i -e "s:libxslt-\$(VERSION):${PF}:" doc/Makefile.am
+
+ # Fix broken <python-2.5 site-packages detection
+ # see bug #86756 and bug #218643
+ python_version
+ sed -i "s:^\(AC_SUBST(PYTHON_SITE_PACKAGES)\):PYTHON_SITE_PACKAGES=\"/usr/$(get_libdir)/python${PYVER}/site-packages\"\n\1:" configure.in
+
+ # Fix broken rc4 encrypt. bug #232172
+ epatch "${FILESDIR}/${P}-exslt_crypt.patch"
+
+ eautoreconf
+ epunt_cxx
+ elibtoolize
+}
+
+src_compile() {
+ # Always pass --with-debugger. It is required by third parties (see
+ # e.g. bug #98345)
+ local myconf="--with-debugger \
+ $(use_with python) \
+ $(use_with crypt crypto) \
+ $(use_with debug) \
+ $(use_with debug mem-debug)"
+
+ econf ${myconf} || die "configure failed"
+
+ emake || die "Compilation failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "Installation failed"
+
+ dodoc AUTHORS ChangeLog Copyright FEATURES NEWS README TODO
+
+ if ! use examples; then
+ rm -rf "${D}/usr/share/doc/${PN}-python-${PV}/examples"
+ fi
+}