diff options
-rw-r--r-- | net-misc/neon/ChangeLog | 8 | ||||
-rw-r--r-- | net-misc/neon/Manifest | 17 | ||||
-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 |
4 files changed, 115 insertions, 136 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/Manifest b/net-misc/neon/Manifest index 5a9325e4bafb..cd29dd853cf1 100644 --- a/net-misc/neon/Manifest +++ b/net-misc/neon/Manifest @@ -1,15 +1,6 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - -AUX neon-0.28.4-SOCK_CLOEXEC.patch 4091 RMD160 26e1a9a497aec93f0a3bb477e3e06a66229cd321 SHA1 91143c169d77e9583af0617bc8a4d62badb5ded0 SHA256 e9ba32bbe27c75b2cd278068d4d44c04a345cc76962cda5b9df3561cddb1b386 DIST neon-0.28.6.tar.gz 789193 RMD160 6c5ff58c9caf4691d46a8de174af6a701e551b7c SHA1 da7db2e3289cc3dbef7794e8cc3c56978a0d7157 SHA256 06ee8b1aa37a14a956a1158bf6b5a8c3388976d61c1dc3773a3ffe18ac8ecc0e +DIST neon-0.29.0.tar.gz 879186 RMD160 338f6ff1589a01dee66cd31a72c45f3a57914ab8 SHA1 8d2e1609b2a3b13a6e68e58c26b1d708302e05ef SHA256 22878e0c6ce3f0092da3d97243b4d0b5756ee3fd4442e7c3f66161ba70e0a5a4 EBUILD neon-0.28.6.ebuild 2798 RMD160 da6220c1eb2efe2db52cc767995f55dcaba3aa5e SHA1 844a2ebc0a2e045e96b0c3aaa071dc80f4f375ea SHA256 8eab6dfbd010deeb0beb72564b196d09a39c457a436897892aafb8cc4133ad31 -MISC ChangeLog 18034 RMD160 9978ae20b7603b6852aa77d62b0f8013747810c7 SHA1 1f3ba72306bbd0ec0bc3052d996b71dabcb61e90 SHA256 963f900963c0c9a79a70f69bc4156f319d5b637da82c790ff1ecdf4c3ffa5506 -MISC metadata.xml 1117 RMD160 f349db1d7f0b01d48e2c987bb8d03a1413cb6260 SHA1 8af331415dc4dafbfe1304d07529a35661b1b450 SHA256 ad49ea5798654cc408d8a626928286d8a229907b3d0d6c175af48cf2ed6e5af8 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.11 (GNU/Linux) - -iEYEARECAAYFAkqYS34ACgkQcxLzpIGCsLQILwCdFs6nInaSmTR5LV7lWM6pADzi -tBMAn1vknGAkj1JuSvdZiWBSlLDfrrW4 -=gf5N ------END PGP SIGNATURE----- +EBUILD neon-0.29.0.ebuild 2770 RMD160 31b2382a58f38bd882619d189a7779b9b1064164 SHA1 47ac1f941610856a1c5e9591e5a0cf33bd1412d3 SHA256 f06cf1f6a1bad9f603c29c1ebf3ce8b47ea3bedfd594f835dee1131149fa2a23 +MISC ChangeLog 18212 RMD160 5b41802f7d5f2f388e82aba19d5b652e3d03094a SHA1 ea7dd6bfd4d891ea38f58fd0459838493d08686b SHA256 d1a58202df4893f1805e9a73259dd3f1d17ee645e0af95524a37a654cbba74ea +MISC metadata.xml 1214 RMD160 a951a49e8f74d745ca8c156b770ae4bc3a531151 SHA1 c9e0e7d8ba72dfd4136a7a746bfc9aa5a289decd SHA256 f1017fa04c4b8bbf0982a1c71a560b933956db9f67467feac3ef78cec3a6e91c 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." +} |