diff options
author | Gilles Dartiguelongue <eva@gentoo.org> | 2008-07-31 20:47:41 +0000 |
---|---|---|
committer | Gilles Dartiguelongue <eva@gentoo.org> | 2008-07-31 20:47:41 +0000 |
commit | 1f69305e4455f4c5c9747bbab1e6c2f523a5aff1 (patch) | |
tree | 6cad764346aeb473c00e13a2598d9e63a11ed3df /dev-libs | |
parent | mask =net-www/nspluginwrapper-1.1.0 due to it crashing firefox (diff) | |
download | historical-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/ChangeLog | 8 | ||||
-rw-r--r-- | dev-libs/libxslt/Manifest | 10 | ||||
-rw-r--r-- | dev-libs/libxslt/files/libxslt-1.1.24-exslt_crypt.patch | 152 | ||||
-rw-r--r-- | dev-libs/libxslt/libxslt-1.1.24-r1.ebuild | 70 |
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 +} |