summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/curl/0001-FILE-don-t-wait-due-to-CURLOPT_MAX_RECV_SPEED_LARGE.patch47
-rw-r--r--core/curl/PKGBUILD10
-rw-r--r--core/perl/PKGBUILD11
-rw-r--r--core/perl/perl.install10
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
-}
-