diff options
author | Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org> | 2009-09-14 03:37:12 +0000 |
---|---|---|
committer | Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org> | 2009-09-14 03:37:12 +0000 |
commit | b698a53cf5d455acf1849ea0119d62f514e65f26 (patch) | |
tree | 5503a2e114437f76f4c1ce44ffd35f50b873dafa /net-misc/neon | |
parent | Update metadata.xml. (diff) | |
download | gentoo-2-b698a53cf5d455acf1849ea0119d62f514e65f26.tar.gz gentoo-2-b698a53cf5d455acf1849ea0119d62f514e65f26.tar.bz2 gentoo-2-b698a53cf5d455acf1849ea0119d62f514e65f26.zip |
Version bump.
(Portage version: 14248-svn/cvs/Linux x86_64)
Diffstat (limited to 'net-misc/neon')
-rw-r--r-- | net-misc/neon/ChangeLog | 8 | ||||
-rw-r--r-- | net-misc/neon/files/neon-0.28.4-SOCK_CLOEXEC.patch | 122 | ||||
-rw-r--r-- | net-misc/neon/neon-0.29.0.ebuild | 104 |
3 files changed, 111 insertions, 123 deletions
diff --git a/net-misc/neon/ChangeLog b/net-misc/neon/ChangeLog index 4a756f1d29fb..1e1aac6a0cf4 100644 --- a/net-misc/neon/ChangeLog +++ b/net-misc/neon/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for net-misc/neon # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-misc/neon/ChangeLog,v 1.138 2009/08/28 21:27:20 betelgeuse Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-misc/neon/ChangeLog,v 1.139 2009/09/14 03:37:11 arfrever Exp $ + +*neon-0.29.0 (14 Sep 2009) + + 14 Sep 2009; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org> + -files/neon-0.28.4-SOCK_CLOEXEC.patch, +neon-0.29.0.ebuild: + Version bump. 28 Aug 2009; Petteri Räty <betelgeuse@gentoo.org> -neon-0.28.4.ebuild, -neon-0.28.5.ebuild: diff --git a/net-misc/neon/files/neon-0.28.4-SOCK_CLOEXEC.patch b/net-misc/neon/files/neon-0.28.4-SOCK_CLOEXEC.patch deleted file mode 100644 index 6ac1cb7f1e0f..000000000000 --- a/net-misc/neon/files/neon-0.28.4-SOCK_CLOEXEC.patch +++ /dev/null @@ -1,122 +0,0 @@ ---- src/ne_socket.c -+++ src/ne_socket.c -@@ -1,6 +1,6 @@ - /* - Socket handling routines -- Copyright (C) 1998-2008, Joe Orton <joe@manyfish.co.uk> -+ Copyright (C) 1998-2009, Joe Orton <joe@manyfish.co.uk> - Copyright (C) 1999-2000 Tommi Komulainen <Tommi.Komulainen@iki.fi> - Copyright (C) 2004 Aleix Conchillo Flaque <aleix@member.fsf.org> - -@@ -1007,6 +1007,20 @@ - ne_free(addr); - } - -+/* Perform a connect() for given fd, handling EINTR retries. Returns -+ * zero on success or -1 on failure, in which case, ne_errno is set -+ * appropriately. */ -+static int raw_connect(int fd, const struct sockaddr *sa, size_t salen) -+{ -+ int ret; -+ -+ do { -+ ret = connect(fd, sa, salen); -+ } while (ret < 0 && NE_ISINTR(ne_errno)); -+ -+ return ret; -+} -+ - /* Perform a connect() for fd to address sa of length salen, with a - * timeout if supported on this platform. Returns zero on success or - * NE_SOCK_* on failure, with sock->error set appropriately. */ -@@ -1021,12 +1035,17 @@ - - /* Get flags and then set O_NONBLOCK. */ - flags = fcntl(fd, F_GETFL); -- if (fcntl(fd, F_SETFL, flags | O_NONBLOCK) == -1) { -+ if (flags & O_NONBLOCK) { -+ /* This socket was created using SOCK_NONBLOCK... flip the -+ * bit for restoring flags later. */ -+ flags &= ~O_NONBLOCK; -+ } -+ else if (fcntl(fd, F_SETFL, flags | O_NONBLOCK) == -1) { - set_strerror(sock, errno); - return NE_SOCK_ERROR; - } - -- ret = connect(fd, sa, salen); -+ ret = raw_connect(fd, sa, salen); - if (ret == -1) { - errnum = ne_errno; - if (NE_ISINPROGRESS(errnum)) { -@@ -1070,7 +1089,7 @@ - } else - #endif /* USE_NONBLOCKING_CONNECT */ - { -- ret = connect(fd, sa, salen); -+ ret = raw_connect(fd, sa, salen); - - if (ret < 0) { - set_strerror(sock, errno); -@@ -1196,19 +1215,43 @@ - } - } - --#ifndef SOCK_CLOEXEC --#define SOCK_CLOEXEC 0 --#define USE_CLOEXEC -+#ifdef SOCK_CLOEXEC -+/* sock_cloexec is initialized to SOCK_CLOEXEC and cleared to zero if -+ * a socket() call ever fails with EINVAL. */ -+static int sock_cloexec = SOCK_CLOEXEC; -+#define RETRY_ON_EINVAL -+#else -+#define sock_cloexec 0 - #endif - - int ne_sock_connect(ne_socket *sock, - const ne_inet_addr *addr, unsigned int port) - { - int fd, ret; -+ int type = SOCK_STREAM | sock_cloexec; -+ -+#if defined(RETRY_ON_EINVAL) && defined(SOCK_NONBLOCK) \ -+ && defined(USE_NONBLOCKING_CONNECT) -+ /* If the SOCK_NONBLOCK flag is defined, and the retry-on-EINVAL -+ * logic is enabled, and the socket has a configured timeout, then -+ * also use the SOCK_NONBLOCK flag to save enabling O_NONBLOCK -+ * later. */ -+ if (sock->cotimeout && sock_cloexec) { -+ type |= SOCK_NONBLOCK; -+ } -+#endif - - /* use SOCK_STREAM rather than ai_socktype: some getaddrinfo - * implementations do not set ai_socktype, e.g. RHL6.2. */ -- fd = socket(ia_family(addr), SOCK_STREAM | SOCK_CLOEXEC, ia_proto(addr)); -+ fd = socket(ia_family(addr), type, ia_proto(addr)); -+#ifdef RETRY_ON_EINVAL -+ /* Handle forwards compat for new glibc on an older kernels; clear -+ * the sock_cloexec flag and retry the call: */ -+ if (fd < 0 && sock_cloexec && errno == EINVAL) { -+ sock_cloexec = 0; -+ fd = socket(ia_family(addr), SOCK_STREAM, ia_proto(addr)); -+ } -+#endif - if (fd < 0) { - set_strerror(sock, ne_errno); - return -1; -@@ -1223,9 +1266,10 @@ - #endif - - #if defined(HAVE_FCNTL) && defined(F_GETFD) && defined(F_SETFD) \ -- && defined(FD_CLOEXEC) && defined(USE_CLOEXEC) -- /* Set the FD_CLOEXEC bit for the new fd. */ -- if ((ret = fcntl(fd, F_GETFD)) >= 0) { -+ && defined(FD_CLOEXEC) -+ /* Set the FD_CLOEXEC bit for the new fd, if the socket was not -+ * created with the CLOEXEC bit already set. */ -+ if (!sock_cloexec && (ret = fcntl(fd, F_GETFD)) >= 0) { - fcntl(fd, F_SETFD, ret | FD_CLOEXEC); - /* ignore failure; not a critical error. */ - } diff --git a/net-misc/neon/neon-0.29.0.ebuild b/net-misc/neon/neon-0.29.0.ebuild new file mode 100644 index 000000000000..0899d3bbcab6 --- /dev/null +++ b/net-misc/neon/neon-0.29.0.ebuild @@ -0,0 +1,104 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/neon/neon-0.29.0.ebuild,v 1.1 2009/09/14 03:37:11 arfrever Exp $ + +EAPI="2" + +inherit autotools libtool versionator + +DESCRIPTION="HTTP and WebDAV client library" +HOMEPAGE="http://www.webdav.org/neon/" +SRC_URI="http://www.webdav.org/neon/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd" +IUSE="doc expat gnutls kerberos libproxy nls pkcs11 ssl zlib" +IUSE_LINGUAS="cs de fr ja nn pl ru tr zh_CN" +for lingua in ${IUSE_LINGUAS}; do + IUSE+=" linguas_${lingua}" +done +unset lingua +RESTRICT="test" + +RDEPEND="expat? ( dev-libs/expat ) + !expat? ( dev-libs/libxml2 ) + gnutls? ( + >=net-libs/gnutls-2.0 + pkcs11? ( dev-libs/pakchois ) + ) + !gnutls? ( ssl? ( + >=dev-libs/openssl-0.9.6f + pkcs11? ( dev-libs/pakchois ) + ) ) + kerberos? ( virtual/krb5 ) + libproxy? ( net-libs/libproxy ) + nls? ( virtual/libintl ) + zlib? ( sys-libs/zlib )" +DEPEND="${RDEPEND}" + +src_prepare() { + local lingua linguas + for lingua in ${IUSE_LINGUAS}; do + use linguas_${lingua} && linguas+=" ${lingua}" + done + sed -i -e "s/ALL_LINGUAS=.*/ALL_LINGUAS=\"${linguas}\"/g" configure.in + + AT_M4DIR="macros" eautoreconf + + elibtoolize +} + +src_configure() { + local myconf + + if has_version sys-libs/glibc; then + einfo "Enabling SSL library thread-safety using POSIX threads..." + myconf+=" --enable-threadsafe-ssl=posix" + fi + + if use expat; then + myconf+=" --with-expat" + else + myconf+=" --with-libxml2" + fi + + if use gnutls; then + myconf+=" --with-ssl=gnutls --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt" + elif use ssl; then + myconf+=" --with-ssl=openssl" + fi + + econf \ + --enable-static \ + --enable-shared \ + $(use_with kerberos gssapi) \ + $(use_with libproxy) \ + $(use_enable nls) \ + $(use_with pkcs11 pakchois) \ + $(use_with zlib) \ + ${myconf} +} + +src_install() { + emake DESTDIR="${D}" install-lib install-headers install-config install-nls || die "emake install failed" + + if use doc; then + emake DESTDIR="${D}" install-docs || die "emake install-docs failed" + fi + + dodoc AUTHORS BUGS NEWS README THANKS TODO + doman doc/man/*.[1-8] +} + +pkg_postinst() { + ewarn "Neon has a policy of breaking API across minor versions, this means" + ewarn "that any package that links against Neon may be broken after" + ewarn "updating. They will remain broken until they are ported to the" + ewarn "new API. You can downgrade Neon to the previous version by doing:" + ewarn + ewarn " emerge --oneshot '<net-misc/neon-$(get_version_component_range 1-2 ${PV})'" + ewarn + ewarn "You may also have to downgrade any package that has not been" + ewarn "ported to the new API yet." +} |