summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Ramsay <lack@gentoo.org>2008-11-03 22:10:18 +0000
committerJim Ramsay <lack@gentoo.org>2008-11-03 22:10:18 +0000
commit94b6e6799cff282e24f06b8b86687e9b84711a28 (patch)
tree7f0ee0979f489ebf2e07d068bb46b074337fd97b /net-misc/curl
parentBump to 2.24.1.1. Fixes for gnometris, gnotravex & sudoku. (diff)
downloadhistorical-94b6e6799cff282e24f06b8b86687e9b84711a28.tar.gz
historical-94b6e6799cff282e24f06b8b86687e9b84711a28.tar.bz2
historical-94b6e6799cff282e24f06b8b86687e9b84711a28.zip
Patched 7.18.2 for the NSS threadsafe issue (Bug #230413), and added 7.19.0 which is unaffected by the bug.
Package-Manager: portage-2.2_rc13/cvs/Linux 2.6.26-gentoo-r1 x86_64
Diffstat (limited to 'net-misc/curl')
-rw-r--r--net-misc/curl/ChangeLog10
-rw-r--r--net-misc/curl/Manifest7
-rw-r--r--net-misc/curl/curl-7.18.2.ebuild3
-rw-r--r--net-misc/curl/curl-7.19.0.ebuild117
-rw-r--r--net-misc/curl/files/curl-7.18.2-nss-threadsafe.patch77
5 files changed, 210 insertions, 4 deletions
diff --git a/net-misc/curl/ChangeLog b/net-misc/curl/ChangeLog
index b445866602fe..65e546e67330 100644
--- a/net-misc/curl/ChangeLog
+++ b/net-misc/curl/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for net-misc/curl
# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/curl/ChangeLog,v 1.126 2008/08/25 20:22:46 jer Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/curl/ChangeLog,v 1.127 2008/11/03 22:10:18 lack Exp $
+
+*curl-7.19.0 (03 Nov 2008)
+
+ 03 Nov 2008; Jim Ramsay <lack@gentoo.org>
+ +files/curl-7.18.2-nss-threadsafe.patch, curl-7.18.2.ebuild,
+ +curl-7.19.0.ebuild:
+ Patched 7.18.2 for the NSS threadsafe issue (Bug #230413), and added
+ 7.19.0 which is unaffected by the bug.
25 Aug 2008; Jeroen Roovers <jer@gentoo.org> curl-7.18.2.ebuild:
Stable for HPPA (bug #233122).
diff --git a/net-misc/curl/Manifest b/net-misc/curl/Manifest
index 47c6cce31955..ea73b610c130 100644
--- a/net-misc/curl/Manifest
+++ b/net-misc/curl/Manifest
@@ -3,12 +3,15 @@ AUX curl-7.15.1-test62.patch 673 RMD160 4f9bd6355cc2289755892ae4142f9853b870a50a
AUX curl-7.16.2-strip-ldflags.patch 844 RMD160 2a4efcf28a438fb8a397f40ff75a49e78f77b4e8 SHA1 abb778120ef4f928f6a0bf4616f7e489768f044c SHA256 f1ae7d976648287b6b083c76b1fa87eb43850396831f43ac33c3e60c3e729ed6
AUX curl-7.17.0-strip-ldflags.patch 796 RMD160 1bcb5af41c63b0afb7758e3c4c8f9bea5e52c29c SHA1 c63330a3505adb684dd2f1cfa89eae5159cb9cc6 SHA256 f3892c3d2a16f96319fd11cb516f66b5df0ece18ca8271cf3b9c1f286e9b5d73
AUX curl-7.17.1-null-handler-segfault.patch 2560 RMD160 3f1ce2cab67588b132fa6ad30e49f887e6d16f0a SHA1 e6b20baa6306b26c3dc8ffe78fc0d34c5b531b1b SHA256 6f696c4b1d6ae216225fb2cd9e95527d7513872aae06abef05c35758a3d30887
+AUX curl-7.18.2-nss-threadsafe.patch 1808 RMD160 339c8773a6693aed858d12577ff135a353d72be8 SHA1 99026e10ba2289a851005b2a694b3bc2df44c7ce SHA256 aa4691d020fa027a55dc035aafa054fa1a934ce8680f05371673702e2cc3fd90
AUX libcurl-gnutlscert.patch 1498 RMD160 286859e0870c6e5aa21047b28b2c256f7b7bfffe SHA1 6ef8e0887431e62328cc020cad5fb10673336ad3 SHA256 4b0a9db99ddc698c39484a95cba1f52c0dc17ed34f2d7e1dd780f925bf21761b
DIST curl-7.16.4.tar.bz2 1668101 RMD160 ee59976f7ce9161be3d5ebdb44903dee597fbd68 SHA1 a26a8796f5fc851b23423bc419c80e27d3e09483 SHA256 45c69529126b6ff50e7ebe2c2b8157a4ecb405174a1349234903021e9ac5c87b
DIST curl-7.17.1.tar.bz2 1721551 RMD160 8ab8dc7a33a5265dfe25eb0725248c3cd6519510 SHA1 ad34b9386e7fd1c8f2a8025e2716a8047b194970 SHA256 7f668ec49506ffc968a54fde9404183212bb40b226626e9417d941594e06e57b
DIST curl-7.18.2.tar.bz2 1744472 RMD160 d82bcdcdbc18d44a833f8824555ded09b03cd859 SHA1 0a4d6878d6be22bb2d701a6cf9bf665f66fc8b87 SHA256 b1f47a0177a5b13d317ab1f6570510502739909ede550e7da08ba814c3c73ae8
+DIST curl-7.19.0.tar.bz2 2125703 RMD160 2849e82496eb19bd75792d64f42eaa196e1ebac3 SHA1 fffb34be2e3c66e58a5d3daaf8aa38cae33b284f SHA256 a0e28b019f022942650ffa4bdf46e4c09bd8ec18e6ca5f08ad273668115f51f7
EBUILD curl-7.16.4.ebuild 3131 RMD160 0f59c206dbb61de7b778a76ab48205715545f042 SHA1 adda0afc7fe48fbae677f0c52ae24afc6019a1db SHA256 be3ff7d0776977ae7a2e4ac905b4d2f231a6395d92181e2215bb9678d0baf0c2
EBUILD curl-7.17.1.ebuild 3870 RMD160 479f629576e9f238c6f67e765d0ffae0d70a631c SHA1 4c73cf17dbb2509e75f937b77d43140c26df4c9f SHA256 3cf7021e010c81c3410bcf3a5ead32d241b98c481670410bcb6c65ee1dce29aa
-EBUILD curl-7.18.2.ebuild 3522 RMD160 668efd90bcf8f56c1deeba23f983be87a8c31956 SHA1 ad8a68bbefbc77aaf57ab6f7906b1b70c8c69040 SHA256 f5c59befffb0046f8b287059a0df2047581ee73055366a8f9eb8f46341007984
-MISC ChangeLog 22251 RMD160 f76b50b340cf683f1268dc9ea58d5671b663cab8 SHA1 90ae466ca1e751631903179290a36d85bc94d0ee SHA256 c3cc5a68c941d328b973393cb00166accea4f8cd6538b3d5da3b4a0264bf0612
+EBUILD curl-7.18.2.ebuild 3578 RMD160 57c16ff6e964cd659308a60ece4842a60d3679eb SHA1 e62a3e820a0d53948aad55c78d71b3c3c4d72f66 SHA256 fee23717c104be827c372d467ec7354e2461425c3a1e285d534b14ee9a85043e
+EBUILD curl-7.19.0.ebuild 3575 RMD160 533618fa410fa7f29b179882a2ca42d3a032c06c SHA1 d636d285d0f8960e5fe7a91735c6561427928853 SHA256 240447af84edc257119146e8e7afc57188cec9dd022a18eead471139920ae266
+MISC ChangeLog 22523 RMD160 e2806a5b0a59dbab8bff0c6729977838db0919c0 SHA1 b910db3464e7170eb35f352c1570778906fdb8f1 SHA256 42881cbbad3ff4d94fde0bfa24679a80c56e59d5f1f14fe7d42480e45f8fb4ed
MISC metadata.xml 436 RMD160 38b4e6412c390a8f0eeb8ec44ec28debb77845dc SHA1 5a633019278deea417f46857c3d81ae7c830acbf SHA256 319a564ca12822409b29c2e52d39d3f7e7a918d3d73cb6deb5139c6aea2cc33a
diff --git a/net-misc/curl/curl-7.18.2.ebuild b/net-misc/curl/curl-7.18.2.ebuild
index 69ab44bc5706..7f0d9f9d3f1a 100644
--- a/net-misc/curl/curl-7.18.2.ebuild
+++ b/net-misc/curl/curl-7.18.2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/curl/curl-7.18.2.ebuild,v 1.7 2008/08/25 20:22:46 jer Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/curl/curl-7.18.2.ebuild,v 1.8 2008/11/03 22:10:18 lack Exp $
# NOTE: If you bump this ebuild, make sure you bump dev-python/pycurl!
@@ -45,6 +45,7 @@ src_unpack() {
unpack ${A}
cd "${S}"
epatch "${FILESDIR}"/curl-7.17.0-strip-ldflags.patch
+ epatch "${FILESDIR}"/curl-7.18.2-nss-threadsafe.patch
}
src_compile() {
diff --git a/net-misc/curl/curl-7.19.0.ebuild b/net-misc/curl/curl-7.19.0.ebuild
new file mode 100644
index 000000000000..1e17538603c0
--- /dev/null
+++ b/net-misc/curl/curl-7.19.0.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/curl/curl-7.19.0.ebuild,v 1.1 2008/11/03 22:10:18 lack Exp $
+
+# NOTE: If you bump this ebuild, make sure you bump dev-python/pycurl!
+
+inherit multilib
+
+#MY_P=${P/_pre/-}
+DESCRIPTION="A Client that groks URLs"
+HOMEPAGE="http://curl.haxx.se/ http://curl.planetmirror.com"
+#SRC_URI="http://cool.haxx.se/curl-daily/${MY_P}.tar.bz2"
+#SRC_URI="http://curl.planetmirror.com/download/${P}.tar.bz2"
+SRC_URI="http://curl.haxx.se/download/${P}.tar.bz2"
+
+LICENSE="MIT X11"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
+#IUSE="ssl ipv6 ldap ares gnutls nss idn kerberos test"
+IUSE="ssl ipv6 ldap ares gnutls libssh2 nss idn kerberos test"
+
+# TODO - change to openssl USE flag in the not too distant future
+# https://bugs.gentoo.org/show_bug.cgi?id=207653#c3 (April 2008)
+
+RDEPEND="gnutls? ( net-libs/gnutls app-misc/ca-certificates )
+ nss? ( !gnutls? ( dev-libs/nss app-misc/ca-certificates ) )
+ ssl? ( !gnutls? ( !nss? ( dev-libs/openssl app-misc/ca-certificates ) ) )
+ ldap? ( net-nds/openldap )
+ idn? ( net-dns/libidn )
+ ares? ( >=net-dns/c-ares-1.4.0 )
+ kerberos? ( virtual/krb5 )
+ libssh2? ( >=net-libs/libssh2-0.16 )"
+
+# fbopenssl (not in gentoo) --with-spnego
+# krb4 http://web.mit.edu/kerberos/www/krb4-end-of-life.html
+
+DEPEND="${RDEPEND}
+ test? (
+ sys-apps/diffutils
+ dev-lang/perl
+ )"
+# used - but can do without in self test: net-misc/stunnel
+#S="${WORKDIR}"/${MY_P}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/curl-7.17.0-strip-ldflags.patch
+}
+
+src_compile() {
+
+ myconf="$(use_enable ldap)
+ $(use_enable ldap ldaps)
+ $(use_with idn libidn)
+ $(use_with kerberos gssapi /usr)
+ $(use_with libssh2)
+ $(use_enable ipv6)
+ --enable-http
+ --enable-ftp
+ --enable-gopher
+ --enable-file
+ --enable-dict
+ --enable-manual
+ --enable-telnet
+ --enable-nonblocking
+ --enable-largefile
+ --enable-maintainer-mode
+ --disable-sspi
+ --without-krb4
+ --without-spnego"
+
+ if use ipv6 && use ares; then
+ elog "c-ares support disabled because it is incompatible with ipv6."
+ myconf="${myconf} --disable-ares"
+ else
+ myconf="${myconf} $(use_enable ares)"
+ fi
+
+ if use gnutls; then
+ myconf="${myconf} --without-ssl --with-gnutls --without-nss"
+ myconf="${myconf} --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt"
+ elif use nss; then
+ myconf="${myconf} --without-ssl --without-gnutls --with-nss"
+ myconf="${myconf} --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt"
+ elif use ssl; then
+ myconf="${myconf} --without-gnutls --without-nss --with-ssl"
+ myconf="${myconf} --without-ca-bundle --with-ca-path=/etc/ssl/certs"
+ else
+ myconf="${myconf} --without-gnutls --without-nss --without-ssl"
+ fi
+
+ econf ${myconf} || die 'configure failed'
+
+ emake || die "install failed for current version"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "installed failed for current version"
+ rm -rf "${D}"/etc/
+
+ # https://sourceforge.net/tracker/index.php?func=detail&aid=1705197&group_id=976&atid=350976
+ insinto /usr/share/aclocal
+ doins docs/libcurl/libcurl.m4
+
+ dodoc CHANGES README
+ dodoc docs/FEATURES docs/INTERNALS
+ dodoc docs/MANUAL docs/FAQ docs/BUGS docs/CONTRIBUTE
+}
+
+pkg_postinst() {
+ if [[ -e "${ROOT}"/usr/$(get_libdir)/libcurl.so.3 ]] ; then
+ elog "You must re-compile all packages that are linked against"
+ elog "curl-7.15.* by using revdep-rebuild from gentoolkit:"
+ elog "# revdep-rebuild --library libcurl.so.3"
+ fi
+}
diff --git a/net-misc/curl/files/curl-7.18.2-nss-threadsafe.patch b/net-misc/curl/files/curl-7.18.2-nss-threadsafe.patch
new file mode 100644
index 000000000000..a45120283c13
--- /dev/null
+++ b/net-misc/curl/files/curl-7.18.2-nss-threadsafe.patch
@@ -0,0 +1,77 @@
+===================================================================
+RCS file: /cvsroot/curl/curl/lib/nss.c,v
+retrieving revision 1.33
+retrieving revision 1.34
+diff -u -r1.33 -r1.34
+--- curl/lib/nss.c 2008/09/06 05:29:06 1.33
++++ curl/lib/nss.c 2008/09/23 10:27:04 1.34
+@@ -78,7 +78,9 @@
+
+ PRFileDesc *PR_ImportTCPSocket(PRInt32 osfd);
+
+-int initialized = 0;
++PRLock * nss_initlock = NULL;
++
++volatile int initialized = 0;
+
+ #define HANDSHAKE_TIMEOUT 30
+
+@@ -837,8 +839,11 @@
+ */
+ int Curl_nss_init(void)
+ {
+- if(!initialized)
++ /* curl_global_init() is not thread-safe so this test is ok */
++ if (nss_initlock == NULL) {
+ PR_Init(PR_USER_THREAD, PR_PRIORITY_NORMAL, 256);
++ nss_initlock = PR_NewLock();
++ }
+
+ /* We will actually initialize NSS later */
+
+@@ -848,7 +853,17 @@
+ /* Global cleanup */
+ void Curl_nss_cleanup(void)
+ {
+- NSS_Shutdown();
++ /* This function isn't required to be threadsafe and this is only done
++ * as a safety feature.
++ */
++ PR_Lock(nss_initlock);
++ if (initialized)
++ NSS_Shutdown();
++ PR_Unlock(nss_initlock);
++
++ PR_DestroyLock(nss_initlock);
++ nss_initlock = NULL;
++
+ initialized = 0;
+ }
+
+@@ -926,7 +941,8 @@
+ return CURLE_OK;
+
+ /* FIXME. NSS doesn't support multiple databases open at the same time. */
+- if(!initialized) {
++ PR_Lock(nss_initlock);
++ if(!initialized && !NSS_IsInitialized()) {
+ initialized = 1;
+
+ certDir = getenv("SSL_DIR"); /* Look in $SSL_DIR */
+@@ -950,6 +966,8 @@
+ if(rv != SECSuccess) {
+ infof(conn->data, "Unable to initialize NSS database\n");
+ curlerr = CURLE_SSL_CACERT_BADFILE;
++ initialized = 0;
++ PR_Unlock(nss_initlock);
+ goto error;
+ }
+
+@@ -972,6 +990,7 @@
+ }
+ #endif
+ }
++ PR_Unlock(nss_initlock);
+
+ model = PR_NewTCPSocket();
+ if(!model)