diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/curl/0001-FILE-don-t-wait-due-to-CURLOPT_MAX_RECV_SPEED_LARGE.patch | 47 | ||||
-rw-r--r-- | core/curl/PKGBUILD | 10 | ||||
-rw-r--r-- | core/perl/PKGBUILD | 11 | ||||
-rw-r--r-- | core/perl/perl.install | 10 |
4 files changed, 59 insertions, 19 deletions
diff --git a/core/curl/0001-FILE-don-t-wait-due-to-CURLOPT_MAX_RECV_SPEED_LARGE.patch b/core/curl/0001-FILE-don-t-wait-due-to-CURLOPT_MAX_RECV_SPEED_LARGE.patch new file mode 100644 index 000000000..97858e3f5 --- /dev/null +++ b/core/curl/0001-FILE-don-t-wait-due-to-CURLOPT_MAX_RECV_SPEED_LARGE.patch @@ -0,0 +1,47 @@ +From 2715d7f948c8eb7cd3cba38f3dff6d4148e7cfaf Mon Sep 17 00:00:00 2001 +From: Daniel Stenberg <daniel@haxx.se> +Date: Sun, 22 Dec 2013 23:36:11 +0100 +Subject: [PATCH] FILE: don't wait due to CURLOPT_MAX_RECV_SPEED_LARGE + +The FILE:// code doesn't support this option - and it doesn't make sense +to support it as long as it works as it does since then it'd only block +even longer. + +But: setting CURLOPT_MAX_RECV_SPEED_LARGE would make the transfer first +get done and then libcurl would wait until the average speed would get +low enough. This happened because the transfer happens completely in the +DO state for FILE:// but then it would still unconditionally continue in +to the PERFORM state where the speed check is made. + +Starting now, the code will skip from DO_DONE to DONE immediately if no +socket is set to be recv()ed or send()ed to. + +Bug: http://curl.haxx.se/bug/view.cgi?id=1312 +Reported-by: Mohammad AlSaleh +--- + lib/multi.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/lib/multi.c b/lib/multi.c +index ec45ecb..191c9b8 100644 +--- a/lib/multi.c ++++ b/lib/multi.c +@@ -1381,7 +1381,14 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi, + Curl_move_handle_from_send_to_recv_pipe(data, data->easy_conn); + /* Check if we can move pending requests to send pipe */ + Curl_multi_process_pending_handles(multi); +- multistate(data, CURLM_STATE_WAITPERFORM); ++ ++ /* Only perform the transfer if there's a good socket to work with. ++ Having both BAD is a signal to skip immediately to DONE */ ++ if((data->easy_conn->sockfd != CURL_SOCKET_BAD) || ++ (data->easy_conn->writesockfd != CURL_SOCKET_BAD)) ++ multistate(data, CURLM_STATE_WAITPERFORM); ++ else ++ multistate(data, CURLM_STATE_DONE); + result = CURLM_CALL_MULTI_PERFORM; + break; + +-- +1.8.5.2 + diff --git a/core/curl/PKGBUILD b/core/curl/PKGBUILD index 3ea9f4915..929275905 100644 --- a/core/curl/PKGBUILD +++ b/core/curl/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 203041 2014-01-02 14:43:46Z dreisner $ +# $Id: PKGBUILD 204043 2014-01-14 15:06:13Z dreisner $ # Maintainer: Dave Reisner <dreisner@archlinux.org> # Contributor: Angel Velasquez <angvp@archlinux.org> # Contributor: Eric Belanger <eric@archlinux.org> @@ -7,19 +7,21 @@ pkgname=curl pkgver=7.34.0 -pkgrel=2 +pkgrel=3 pkgdesc="An URL retrieval utility and library" arch=('i686' 'x86_64') url="http://curl.haxx.se" license=('MIT') -depends=('ca-certificates' 'libssh2' 'openssl' 'zlib') +depends=('ca-certificates' 'krb5' 'libssh2' 'openssl' 'zlib') provides=('libcurl.so') options=('strip' 'debug') source=("http://curl.haxx.se/download/$pkgname-$pkgver.tar.gz"{,.asc} + 0001-FILE-don-t-wait-due-to-CURLOPT_MAX_RECV_SPEED_LARGE.patch 0001-connect-Try-all-addresses-in-first-connection-attemp.patch curlbuild.h) md5sums=('d5b7edccbd1793e3549842e01331da20' 'SKIP' + 'ba766acdb7568aac0b23d479ebecd591' 'ee755b0e886207fc1e8154e426c46ca7' '751bd433ede935c8fae727377625a8ae') @@ -27,6 +29,7 @@ prepare() { cd "$pkgname-$pkgver" patch -Np1 <"$srcdir"/0001-connect-Try-all-addresses-in-first-connection-attemp.patch + patch -Np1 <"$srcdir"/0001-FILE-don-t-wait-due-to-CURLOPT_MAX_RECV_SPEED_LARGE.patch } build() { @@ -41,6 +44,7 @@ build() { --enable-manual \ --enable-versioned-symbols \ --enable-threaded-resolver \ + --with-gssapi \ --without-libidn \ --with-random=/dev/urandom \ --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt diff --git a/core/perl/PKGBUILD b/core/perl/PKGBUILD index 3f3145e7f..2b51192a4 100644 --- a/core/perl/PKGBUILD +++ b/core/perl/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 193454 2013-08-20 18:08:57Z bluewind $ +# $Id: PKGBUILD 204014 2014-01-14 08:12:09Z bluewind $ # Maintainer: Florian Pritz <bluewind@xinu.at> # Contributor: Angel Velasquez <angvp@archlinux.org> # Contributor: kevin <kevin.archlinux.org> @@ -6,21 +6,20 @@ # Contributor: francois <francois.archlinux.org> pkgname=perl -pkgver=5.18.1 -pkgrel=1 +pkgver=5.18.2 +pkgrel=2 pkgdesc="A highly capable, feature-rich programming language" arch=(i686 x86_64) license=('GPL' 'PerlArtistic') url="http://www.perl.org" groups=('base') -depends=('gdbm' 'db' 'coreutils' 'glibc' 'sh') +depends=('gdbm' 'db' 'glibc') source=(http://www.cpan.org/src/5.0/perl-${pkgver}.tar.bz2 perlbin.sh perlbin.csh provides.pl) -install=perl.install options=('makeflags' '!purge') -md5sums=('4ec1a3f3824674552e749ae420c5e68c' +md5sums=('d549b16ee4e9210988da39193a9389c1' '5ed2542fdb9a60682f215bd33701e61a' '1f0cbbee783e8a6d32f01be5118e0d5e' '999c3eea6464860704abbb055a0f0896') diff --git a/core/perl/perl.install b/core/perl/perl.install deleted file mode 100644 index a355c5bbe..000000000 --- a/core/perl/perl.install +++ /dev/null @@ -1,10 +0,0 @@ -# arg 1: the new package version -post_install() { - for ver in 5.8.{0,1,2,3,4,5,6,7,8}; do - [ -h usr/lib/perl5/$ver ] && rm usr/lib/perl5/$ver - [ -h usr/lib/perl5/site_perl/$ver ] && rm usr/lib/perl5/site_perl/$ver - [ -h usr/bin/perl$ver ] && rm usr/bin/perl$ver - done - return 0 -} - |