summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Thode <prometheanfire@gentoo.org>2014-01-27 07:19:49 +0000
committerMatthew Thode <prometheanfire@gentoo.org>2014-01-27 07:19:49 +0000
commit2a43c2264561e6e6241045c92fb2573d201be7ce (patch)
tree4f276b3dbae1db0c5132a6ae718b88fb86557b2c /net-misc
parentremoving stuff in net-misc/memcached/files/1.2.5 (diff)
downloadgentoo-2-2a43c2264561e6e6241045c92fb2573d201be7ce.tar.gz
gentoo-2-2a43c2264561e6e6241045c92fb2573d201be7ce.tar.bz2
gentoo-2-2a43c2264561e6e6241045c92fb2573d201be7ce.zip
some file cleanup and a fix for bug 498262
(Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key 0x2471eb3e40ac5ac3)
Diffstat (limited to 'net-misc')
-rw-r--r--net-misc/memcached/ChangeLog9
-rw-r--r--net-misc/memcached/files/memcached-1.2.2-p-threads.patch21
-rw-r--r--net-misc/memcached/files/memcached-1.4.17-EWOULDBLOCK.patch21
-rw-r--r--net-misc/memcached/memcached-1.4.17-r1.ebuild80
4 files changed, 109 insertions, 22 deletions
diff --git a/net-misc/memcached/ChangeLog b/net-misc/memcached/ChangeLog
index b371a70f174a..a3f722e466ad 100644
--- a/net-misc/memcached/ChangeLog
+++ b/net-misc/memcached/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-misc/memcached
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/memcached/ChangeLog,v 1.146 2014/01/26 19:58:35 prometheanfire Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/memcached/ChangeLog,v 1.147 2014/01/27 07:19:49 prometheanfire Exp $
+
+*memcached-1.4.17-r1 (27 Jan 2014)
+
+ 27 Jan 2014; Matthew Thode <prometheanfire@gentoo.org>
+ +files/memcached-1.4.17-EWOULDBLOCK.patch, +memcached-1.4.17-r1.ebuild,
+ -files/memcached-1.2.2-p-threads.patch:
+ some file cleanup and a fix for bug 498262
26 Jan 2014; Matthew Thode <prometheanfire@gentoo.org>
-memcached-1.1.12-r3.ebuild, -memcached-1.2.1-r2.ebuild,
diff --git a/net-misc/memcached/files/memcached-1.2.2-p-threads.patch b/net-misc/memcached/files/memcached-1.2.2-p-threads.patch
deleted file mode 100644
index 4631ee523d95..000000000000
--- a/net-misc/memcached/files/memcached-1.2.2-p-threads.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-http://lists.danga.com/pipermail/memcached/2007-October/005415.html
-http://bugs.gentoo.org/show_bug.cgi?id=195248
-Index: /trunk/server/memcached.c
-===================================================================
---- a/trunk/server/memcached.c (revision 595)
-+++ b/trunk/server/memcached.c (revision 604)
-@@ -2698,9 +2698,10 @@
- exit(EXIT_FAILURE);
- }
-- /* save the PID in if we're a daemon */
-+ /* start up worker threads if MT mode */
-+ thread_init(settings.num_threads, main_base);
-+ /* save the PID in if we're a daemon, do this after thread_init due to
-+ a file descriptor handling bug somewhere in libevent */
- if (daemonize)
- save_pid(getpid(), pid_file);
-- /* start up worker threads if MT mode */
-- thread_init(settings.num_threads, main_base);
- /* initialise clock event */
- clock_handler(0, 0, 0);
-
diff --git a/net-misc/memcached/files/memcached-1.4.17-EWOULDBLOCK.patch b/net-misc/memcached/files/memcached-1.4.17-EWOULDBLOCK.patch
new file mode 100644
index 000000000000..115c6bbc8633
--- /dev/null
+++ b/net-misc/memcached/files/memcached-1.4.17-EWOULDBLOCK.patch
@@ -0,0 +1,21 @@
+errno.h(0P):
+ EAGAIN Resource unavailable, try again (may be the same value as [EWOULDBLOCK]).
+
+ [...]
+
+ EWOULDBLOCK
+ Operation would block (may be the same value as [EAGAIN]).
+
+
+--- a/testapp.c
++++ b/testapp.c
+@@ -1840,6 +1840,9 @@
+ switch (errno) {
+ case EINTR:
+ break;
++#if (EAGAIN != EWOULDBLOCK)
++ case EAGAIN:
++#endif
+ case ENOMEM:
+ case EWOULDBLOCK:
+ more = false; \ No newline at end of file
diff --git a/net-misc/memcached/memcached-1.4.17-r1.ebuild b/net-misc/memcached/memcached-1.4.17-r1.ebuild
new file mode 100644
index 000000000000..a7e13cfcfda4
--- /dev/null
+++ b/net-misc/memcached/memcached-1.4.17-r1.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/memcached/memcached-1.4.17-r1.ebuild,v 1.1 2014/01/27 07:19:49 prometheanfire Exp $
+
+EAPI=5
+inherit eutils autotools flag-o-matic user
+
+MY_PV="${PV/_rc/-rc}"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="High-performance, distributed memory object caching system"
+HOMEPAGE="http://code.google.com/p/memcached/"
+SRC_URI="http://www.memcached.org/files/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="test slabs-reassign debug sasl" # hugetlbfs later
+
+RDEPEND=">=dev-libs/libevent-1.4
+ dev-lang/perl
+ sasl? ( dev-libs/cyrus-sasl )"
+DEPEND="${RDEPEND}
+ test? ( virtual/perl-Test-Harness >=dev-perl/Cache-Memcached-1.24 )"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-1.2.2-fbsd.patch"
+ # Handled different upstream
+ #epatch "${FILESDIR}/${PN}-1.3.3-gcc4-slab-fixup.patch"
+ epatch "${FILESDIR}/${PN}-1.4.0-fix-as-needed-linking.patch"
+ epatch "${FILESDIR}/${PN}-1.4.4-as-needed.patch"
+ epatch "${FILESDIR}/${PN}-1.4.17-EWOULDBLOCK.patch"
+ sed -i -e 's,-Werror,,g' configure.ac || die "sed failed"
+ eautoreconf
+ use slabs-reassign && append-flags -DALLOW_SLABS_REASSIGN
+}
+
+src_configure() {
+ econf \
+ --disable-docs \
+ $(use_enable sasl)
+ # The xml2rfc tool to build the additional docs requires TCL :-(
+ # `use_enable doc docs`
+}
+
+src_compile() {
+ # There is a heavy degree of per-object compile flags
+ # Users do NOT know better than upstream. Trying to compile the testapp and
+ # the -debug version with -DNDEBUG _WILL_ fail.
+ append-flags -UNDEBUG -pthread
+ emake testapp memcached-debug CFLAGS="${CFLAGS}"
+ filter-flags -UNDEBUG
+ emake
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dobin scripts/memcached-tool
+ use debug && dobin memcached-debug
+
+ dodoc AUTHORS ChangeLog NEWS README.md doc/{CONTRIBUTORS,*.txt}
+
+ newconfd "${FILESDIR}/memcached.confd" memcached
+ newinitd "${FILESDIR}/memcached.init" memcached
+}
+
+pkg_postinst() {
+ enewuser memcached -1 -1 /dev/null daemon
+
+ elog "With this version of Memcached Gentoo now supports multiple instances."
+ elog "To enable this you should create a symlink in /etc/init.d/ for each instance"
+ elog "to /etc/init.d/memcached and create the matching conf files in /etc/conf.d/"
+ elog "Please see Gentoo bug #122246 for more info"
+}
+
+src_test() {
+ emake -j1 test
+}