summaryrefslogtreecommitdiff
path: root/net-misc/memcached
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/memcached')
-rw-r--r--net-misc/memcached/Manifest18
-rw-r--r--net-misc/memcached/files/memcached-1.2.2-fbsd.patch12
-rw-r--r--net-misc/memcached/files/memcached-1.4.0-fix-as-needed-linking.patch47
-rw-r--r--net-misc/memcached/files/memcached-1.4.17-EWOULDBLOCK.patch21
-rw-r--r--net-misc/memcached/files/memcached-1.4.4-as-needed.patch31
-rw-r--r--net-misc/memcached/files/memcached.confd40
-rw-r--r--net-misc/memcached/files/memcached.init290
-rw-r--r--net-misc/memcached/files/memcached.service12
-rw-r--r--net-misc/memcached/memcached-1.4.33.ebuild83
-rw-r--r--net-misc/memcached/memcached-1.4.39.ebuild93
-rw-r--r--net-misc/memcached/memcached-1.5.1.ebuild94
-rw-r--r--net-misc/memcached/memcached-1.5.2.ebuild94
-rw-r--r--net-misc/memcached/metadata.xml25
13 files changed, 660 insertions, 0 deletions
diff --git a/net-misc/memcached/Manifest b/net-misc/memcached/Manifest
new file mode 100644
index 000000000000..ce9457a349dc
--- /dev/null
+++ b/net-misc/memcached/Manifest
@@ -0,0 +1,18 @@
+AUX memcached-1.2.2-fbsd.patch 328 SHA256 a0e91bd63a01a1a3361b0465fb9c63d091627d8714f3f64c853723b31da54b2f SHA512 efbafa228cc969c49b303e1d746f1699acd3c627ba65f57a8cd9fe63b87c3ce3aa01daa6a767d09c4edb8fdd9159254a0d14e8b6b05263e82041d5d5dcf251a2 WHIRLPOOL eefb5240bd848446f90f68f5b46bfdd9e1559bb3ade827a20082ba3ac72b77e28bf6fa1d7a3d9b7fd6f8cdfe84e2624cdcc14a9ef98ad9d0b73106107ec01a08
+AUX memcached-1.4.0-fix-as-needed-linking.patch 1557 SHA256 bfedf767ee68f83e1e31d78d551d16f644cbfc8d385c991968d6cfdd22946cb8 SHA512 a177f82d13b25a1ee13b02852040289a46b08fba750467026ecd8932d12008c7a276ea4b9b166de3d3371f5e7f9a6e0ef8d15315ab1ec9d10928dd7f40090253 WHIRLPOOL 68a54588b33543083ecb853bd80282dd54c1b8f3a20101bfad5ae95344d8edef297bcd7c8ef94216fdbc112c938b72465f3f34766dedc4323551bd19ba7f69b9
+AUX memcached-1.4.17-EWOULDBLOCK.patch 506 SHA256 c0f2be207fd5a6185c70d16482d1d24931e966fde028ad82f7aaf94023778663 SHA512 6ddd823154a384e7502e138528b8d391b9fe203366c56f14ae38ddb6d8b6394fd0297e5fad90cf94f7bc1e7d90e04e0aab17b545fe3f1d2a55f0e2158e9a98dc WHIRLPOOL bcdb64364d56d1f1d69e2d555e9332f1ae2ab356906e5e46715d864504bbf0b5af73471b11d46aa1839930eb67802e2ba4a97ff1abb036c7c0d5b840a3faebe4
+AUX memcached-1.4.4-as-needed.patch 1135 SHA256 4b08e69c7a3f97e6add4fb337b095b7b0aba55c3d62ed793858cbf1dad036421 SHA512 16f1ebae169d47836a83857e9da1ba4498b061367979d2ec5d271b91c939b1b5655ced68f37653c8996e41266e2daa64c2ae63d787b54d221ce92d544cea722e WHIRLPOOL baf83fc9213b04f35e6c503606f6b6b386ce0b5c50ba173a0cb48e8b7aa5576361b541d9a2af0da34795b64d5d58cbcee62bcb8d50e5695d8fb4ccd0b23137e3
+AUX memcached.confd 872 SHA256 700e2d718cb9d15de92a334cd8fe5f966bc3a34bba32878c1b95b5ce7696963b SHA512 77dd11565172336c3db24663510ab15ce3c919a656d1c7a12b0bae830c1576247844f84e6b4fe10c96a54f2e64ae8f6c502eee3d84d68ea1d370fea99a586f63 WHIRLPOOL 07465aef2fdc867a2e2c4dbad801715f65030ee5d83bc73a38ff887c2cc022ea7b299564b560a315db9ee2bc441cab3d732453c591ca32e82042edcc6ebe4032
+AUX memcached.init2 2205 SHA256 e70d28c64acbd322618e3774f570d285c667a16985896978bc62b9cf2e0eec26 SHA512 b7b68362a4e4b24e9db893b85c3959184d17ea0bf8346a38561235461cfc8c94cf6d546f1c31bbe34bb7ca3409db2209171dd08214d5f057d00c65885663992a WHIRLPOOL 95663d8656d7ba4f2ca47d14abddc08b9d5613b62c155efd569541faf2a71e1778276905a4d56c64ab11421156ef4bb07d9cc9072db118cebab004fa71c2e761
+AUX memcached.service 273 SHA256 ac7b65867203f195ed1aa2064072869a75f2a7c652de5a404f9b936a78a4180f SHA512 647f06160142c5e38e4009203609bf2152dd1bdd4b94be9e2bf3c5741e631419fc9cf300575a65a905956eec916d736c4e3b3d3e3c80438f1b33cd10fe4dcd95 WHIRLPOOL cca378cb72a08b6b5177434ec1add5edd3d6a744b0999226fe22628b29edf31e7aadedfa6721a706bf7d4122bdf2a3953cdfeb3f0c2c8dfccb97372d9fb8737f
+DIST memcached-1.4.33.tar.gz 389813 SHA256 83726c8d68258c56712373072abb25a449c257398075a39ec0867fd8ba69771d SHA512 00af5a2f46702fb8e606b1035cdaad125445d8eb701927a3ccccd7cd6c12e0811efb3ad917e3118043fd993b5c313f1aa0c4b2a471218e971a21fed7c896e136 WHIRLPOOL 05ee1d4ea931a1f1792283b1d947ffa48752cb6ad1417d06221f967b00e638f5fa21448080efc1de1adf7457bd202b6102ae1495ba1e01368fcba04565c95299
+DIST memcached-1.4.39.tar.gz 403751 SHA256 23c4bf7c787e4fd9a7b0a7b61b3ffcb374ee86f9cc00ba892ce53eec40afd735 SHA512 055d39d9d681adebb9a6a255bce5d550b61df0a1981f0105f8ffcc936e2053bca60360d755b65d79af836ba1ca71d4c739c67e20a2e0e7110ada183a7b0b63d6 WHIRLPOOL 186e180edc8998b8e6006d6fe22538c3a90ab13785643fb7577cf3ece399350a9d64e684863cd762fd92a67775f56022a88cbc07a177e60b2153565673fbeec0
+DIST memcached-1.5.1.tar.gz 407282 SHA256 a87908936b51d1bd3ef10a2347eef5647f003b63407a5d8161fa7928b1cd6b5c SHA512 686ad82f1fd73f683fa09930d4e14aa85bd8237106e39752c9676d31aa397db1687378c4ddfadf4591f7c623837cadf90e6643263aea78a80eb294683ed0dfbb WHIRLPOOL ec71a78124942f42750a81803f08a35caf710a973a715fb00323143b2c9862b49a36da282ce688f7594aa6a53af7060c27976f51eb0eff2586bd072367c25aa2
+DIST memcached-1.5.2.tar.gz 407715 SHA256 9ac93113bdb5d037e79c61277386564ac2e5e31d49e594f11e554e4c149b7245 SHA512 439e1dbf3b15fd014446abb5fd130eb914a72b7372f65a00388da83f30486e8658de75b87626b0c512397457aca9b60057fcedb83d84c628b53137d2a2167c0d WHIRLPOOL 31eaaf3006ce6211413347723f862ea4199acd2564d71c652e3800f876af2ba3d215ac8450d7c13a19747011ef733c25022406506b42d991affe85e0ce31db35
+EBUILD memcached-1.4.33.ebuild 2624 SHA256 5e8fa07f214704a05ef63385ae8a2b78920ca7aa22b994db7f370ce25876b43d SHA512 95106208e83a37e1d1f94c04cb2942194f4ed9e7f8470b831529849c3ca62b48477fc0937e87ec7cd44204d87df7672ff72e20199068d21f63b8320335e074a2 WHIRLPOOL d68b507ad7976b8b3b19de82fb4a9d13b5d35c02e0057f1ffcbbb7e616d5cbc2e8ba566ec2494c9add5e9bd44d10679c4c1850427a1bdc4bd199853495273965
+EBUILD memcached-1.4.39.ebuild 2887 SHA256 0557ddb98d86c07429a5a5b01af5eba2ea3330b5fe779917ee641157235cdaf2 SHA512 0726d795ffbaa17ed04b3b307146742bd647ab6c2084a1e0f22b333b293ac6e15a7488d69fd166f2480c49c87b236f14e7d7d7642c40fe853097347e9199e706 WHIRLPOOL 2062c9871526025fdb86633dc211f25901aefa72f9d806e58ce667274e13464bf9145cf7c172a4a4f112241363bc824586be16419d946f51411869081c5908c9
+EBUILD memcached-1.5.1.ebuild 2903 SHA256 90149ac9457d7b15126a8ddd6295977c0f68ac387094fe06eaec9d0e520d1b91 SHA512 3d20f3405b30234652ea9fd75f6ae4842aac4153f4062703b6090cfb2f4691781e5a2e474cfd9b971a7ea2b2cef12cb1d12b3c9fcf18d2b5e7ba2955112085c6 WHIRLPOOL 2f346ce0fbbc02230fc854eee1d92cfc53cded2d5c3ce3aa14aeaff7c528b96583b7a3c7c69e84f7646a4db68d1c8ef21604738d2f4fa765eb2e7e213593d5d9
+EBUILD memcached-1.5.2.ebuild 2903 SHA256 90149ac9457d7b15126a8ddd6295977c0f68ac387094fe06eaec9d0e520d1b91 SHA512 3d20f3405b30234652ea9fd75f6ae4842aac4153f4062703b6090cfb2f4691781e5a2e474cfd9b971a7ea2b2cef12cb1d12b3c9fcf18d2b5e7ba2955112085c6 WHIRLPOOL 2f346ce0fbbc02230fc854eee1d92cfc53cded2d5c3ce3aa14aeaff7c528b96583b7a3c7c69e84f7646a4db68d1c8ef21604738d2f4fa765eb2e7e213593d5d9
+MISC ChangeLog 9513 SHA256 2f72df675f6c2041cda3cdb32f7a4f1314fda9417e8873fc24ab60950767e527 SHA512 9962bb124817964f19dceee258da39a00d1f95ab6929efc27d012920f1e2bdc290e5619603cceeb53d080ecf79c22ab9bc3628c923895002220e17cec357e22b WHIRLPOOL 828f0916052f66539e8b37f6c46e14064a2bab23d5066205dfed3049f695ac712d1029d401c85b68954a24f3a971369d05751d17c50564f97c71d7153966f692
+MISC ChangeLog-2015 29003 SHA256 a8e02533be3dc8071b69388e8c927edc33d54ce26b596a775f99a30698847eb4 SHA512 55fa88fdce9ff266070e8b5eab890a2418165bc6ab5c093f071acd0c3d218059d47a255281fc789c98869ac67b81aae4ae81111131d2dc5feb0457b54b6301a6 WHIRLPOOL e5fda7152db66bb75db44574d2c68f1272a4323498d25755b5a8f4b01cc684e6fd362c68c143df09b29dcbbdfb3f6fcf4b4291ac252fe28da60ebc705f194e82
+MISC metadata.xml 1134 SHA256 e189a8b1f9310663b1921d6279b993ea689153406a9058fbc977927c65e05068 SHA512 c3ce23016f9ea9067f6628f246866e3fcee6624f1a21360e448c7eebc3babd8fa3717966e58eeb0b6fd9885730609fa732a3e10b0a4dfaa57b0f0acc85c20bb4 WHIRLPOOL 9e1b630893ccee95aedb117e40d03de15605fb5085eea1bf687ca445b9972e8fc900dbed7bcf0d45bb351e3801e1849210d6517e8891bae7bf2fd004a207dc53
diff --git a/net-misc/memcached/files/memcached-1.2.2-fbsd.patch b/net-misc/memcached/files/memcached-1.2.2-fbsd.patch
new file mode 100644
index 000000000000..76f237698cf7
--- /dev/null
+++ b/net-misc/memcached/files/memcached-1.2.2-fbsd.patch
@@ -0,0 +1,12 @@
+Index: memcached-1.2.2/memcached.h
+===================================================================
+--- memcached-1.2.2.orig/memcached.h
++++ memcached-1.2.2/memcached.h
+@@ -4,6 +4,7 @@
+ #include "config.h"
+ #include <sys/types.h>
+ #include <sys/time.h>
++#include <sys/socket.h>
+ #include <netinet/in.h>
+ #include <event.h>
+
diff --git a/net-misc/memcached/files/memcached-1.4.0-fix-as-needed-linking.patch b/net-misc/memcached/files/memcached-1.4.0-fix-as-needed-linking.patch
new file mode 100644
index 000000000000..d8a8ff295fc3
--- /dev/null
+++ b/net-misc/memcached/files/memcached-1.4.0-fix-as-needed-linking.patch
@@ -0,0 +1,47 @@
+Users that try to second-guess us and specify -DNDEBUG are just asking to cause
+problems. They cause breakage with the testapp and -debug versions.
+
+So let's ensure that testapp and -debug use per-object compile flags, and thus
+preventing flags leaking between stuff. The #undef at the top of testapp.c is
+redundant now, but not removed.
+
+Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+X-Gentoo-Bug: 278780
+X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=278780
+
+diff -Nuar memcached-1.4.0/testapp.c memcached-1.4.0/testapp.c
+--- memcached-1.4.0/testapp.c 2009-07-09 09:43:42.000000000 -0700
++++ memcached-1.4.0/testapp.c 2009-07-27 16:41:14.468907751 -0700
+@@ -115,12 +115,16 @@
+ char old = *(p - 1);
+ *(p - 1) = 0;
+ cache_free(cache, p);
++#ifndef NDEBUG
+ assert(cache_error == -1);
++#endif
+ *(p - 1) = old;
+
+ p[sizeof(uint32_t)] = 0;
+ cache_free(cache, p);
++#ifndef NDEBUG
+ assert(cache_error == 1);
++#endif
+
+ /* restore signal handler */
+ sigaction(SIGABRT, &old_action, NULL);
+diff -Nuar memcached-1.4.0.orig/Makefile.am memcached-1.4.0/Makefile.am
+--- memcached-1.4.0.orig/Makefile.am 2009-07-09 09:43:42.000000000 -0700
++++ memcached-1.4.0/Makefile.am 2009-07-27 17:45:20.973106097 -0700
+@@ -27,8 +27,12 @@
+
+ memcached_debug_SOURCES = $(memcached_SOURCES)
+ memcached_CPPFLAGS = -DNDEBUG
++
+ memcached_debug_LDADD = @PROFILER_LDFLAGS@
+ memcached_debug_CFLAGS = @PROFILER_FLAGS@
++memcached_debug_CPPFLAGS = -UNDEBUG
++
++testapp_CPPFLAGS = -UNDEBUG
+
+ memcached_LDADD =
+ memcached_DEPENDENCIES =
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/files/memcached-1.4.4-as-needed.patch b/net-misc/memcached/files/memcached-1.4.4-as-needed.patch
new file mode 100644
index 000000000000..f6e5cde11057
--- /dev/null
+++ b/net-misc/memcached/files/memcached-1.4.4-as-needed.patch
@@ -0,0 +1,31 @@
+diff -Nuar memcached-1.4.4.orig/configure.ac memcached-1.4.4/configure.ac
+--- memcached-1.4.4.orig/configure.ac 2009-11-24 16:40:29.000000000 -0800
++++ memcached-1.4.4/configure.ac 2009-11-27 15:20:38.000000000 -0800
+@@ -115,6 +115,14 @@
+ AC_SUBST(ENABLE_SASL)
+ AC_SUBST(PROFILER_LDFLAGS)
+
++dnl Check whether the user's system supports pthread before adding -pthread to CFLAGS
++dnl otherwise we won't get -l{threads} in LIBS
++dnl AFAIK -pthread should be added to LDFLAGS on BSD systems
++AC_SEARCH_LIBS(pthread_create, [pthread pthreads thread threads] )
++if test "x$ac_cv_search_pthread_create" == "xno"; then
++ AC_MSG_ERROR([Can't enable threads without the POSIX thread library.])
++fi
++
+ AC_ARG_ENABLE(coverage,
+ [AS_HELP_STRING([--disable-coverage],[Disable code coverage])])
+
+@@ -376,12 +384,6 @@
+
+ AC_C_HTONLL
+
+-dnl Check whether the user's system supports pthread
+-AC_SEARCH_LIBS(pthread_create, pthread)
+-if test "x$ac_cv_search_pthread_create" = "xno"; then
+- AC_MSG_ERROR([Can't enable threads without the POSIX thread library.])
+-fi
+-
+ AC_CHECK_FUNCS(mlockall)
+ AC_CHECK_FUNCS(getpagesizes)
+ AC_CHECK_FUNCS(memcntl)
diff --git a/net-misc/memcached/files/memcached.confd b/net-misc/memcached/files/memcached.confd
new file mode 100644
index 000000000000..aad80780e759
--- /dev/null
+++ b/net-misc/memcached/files/memcached.confd
@@ -0,0 +1,40 @@
+# memcached config file
+
+MEMCACHED_BINARY="/usr/bin/memcached"
+
+# Specify memory usage in megabytes (do not use letters)
+# 64MB is default
+MEMUSAGE="64"
+
+# User to run as
+MEMCACHED_RUNAS="memcached"
+
+# Specify maximum number of concurrent connections
+# 1024 is default
+MAXCONN="1024"
+
+# Listen for connections on what address?
+# If this is empty, memcached will listen on 0.0.0.0
+# be sure you have a firewall in place!
+LISTENON=""
+
+# Listen for connections on what port?
+PORT="11211"
+
+# Listen for UDP connecitons on what port? 0 means turn off UDP
+UDPPORT="${PORT}"
+
+# PID file location
+# '-${PORT}.${CONF}.pid' will be appended to this!
+# You do not normally need to change this.
+PIDBASE="/var/run/memcached/memcached"
+
+# Socket to listen on
+#SOCKET="/var/run/memcached/memcached.sock"
+
+# Socket mask
+# 0700 is default
+#SOCKET_MASK="0700"
+
+# Other Options
+MISC_OPTS=""
diff --git a/net-misc/memcached/files/memcached.init2 b/net-misc/memcached/files/memcached.init2
new file mode 100644
index 000000000000..4bdfec6b945c
--- /dev/null
+++ b/net-misc/memcached/files/memcached.init2
@@ -0,0 +1,90 @@
+#!/sbin/openrc-run
+
+CONF="${SVCNAME#*.}"
+CONFBASE="/etc/conf.d/memcached"
+
+[ -z "${PIDBASE}" ] && PIDBASE="/run/memcached/memcached"
+[ "${CONF}" = "memcached" ] && CONF=''
+
+if [ -n "${CONF}" ]; then
+ PIDFILE="${PIDBASE}.${CONF}.pid"
+ CONFSRC="${CONFBASE}.${CONF}"
+ if [ -f "${CONFSRC}" ]; then
+ source "${CONFSRC}"
+ else
+ eerror "The configuration file $CONFSRC was not found!"
+ fi
+else
+ PIDFILE="${PIDBASE}.pid"
+ CONFSRC="${CONFBASE}"
+fi
+
+depend() {
+ # per bug #269022, accurate time is important for memcached!
+ # We include the full list of ways it might be set on boot.
+ after ntp-client ntpd rdate openrdate adjtimex hwclock
+}
+
+checkconfig() {
+ if [ -z "${LISTENON}" ] && [ -z "${SOCKET}" ]; then
+ ewarn "You should edit $CONFSRC and specify an address or socket to listen on."
+ ewarn "Listening on any address (check your firewall!)"
+ fi
+}
+
+start() {
+ if [ -n "${CONF}" ]; then
+ ebegin "Starting memcached (${CONF})"
+ else
+ ebegin "Starting memcached"
+ fi
+ checkconfig
+ local dir="$(dirname ${PIDFILE})"
+ if [ ! -d "${dir}" ]; then
+ einfo " Creating ${dir}"
+ mkdir -p "${dir}"
+ fi
+
+ chown ${MEMCACHED_RUNAS} "${dir}"
+ if [ -f "${PIDFILE}" ]; then
+ einfo " Removing stale pidfile ${PIDFILE}"
+ rm -f "${PIDFILE}" 1>/dev/null
+ fi
+
+
+ if [ -n "${SOCKET}" ]; then
+ CONNECTION="-s ${SOCKET}"
+
+ if [ -n "${SOCKET_MASK}" ]; then
+ CONNECTION="${CONNECTION} -a ${SOCKET_MASK}"
+ fi
+ else
+ CONNECTION="-p ${PORT} -U ${UDPPORT}"
+
+ if [ -n "${LISTENON}" ]; then
+ CONNECTION="${CONNECTION} -l ${LISTENON}"
+ fi
+ fi
+
+ /sbin/start-stop-daemon --start --pidfile "${PIDFILE}" \
+ --exec "${MEMCACHED_BINARY}" -- \
+ -d ${CONNECTION} -m ${MEMUSAGE} \
+ -c ${MAXCONN} -u ${MEMCACHED_RUNAS} -P "${PIDFILE}" \
+ ${MISC_OPTS}
+
+ eend $?
+}
+
+stop() {
+ if [ -n "${CONF}" ]; then
+ ebegin "Stopping memcached (${CONF})"
+ else
+ ebegin "Stopping memcached"
+ fi
+
+ start-stop-daemon --stop --quiet --pidfile "${PIDFILE}"
+
+ rm -f "${PIDFILE}"
+
+ eend $?
+}
diff --git a/net-misc/memcached/files/memcached.service b/net-misc/memcached/files/memcached.service
new file mode 100644
index 000000000000..f51fd1f35730
--- /dev/null
+++ b/net-misc/memcached/files/memcached.service
@@ -0,0 +1,12 @@
+[Unit]
+After=network.target
+Description=High-performance, distributed memory object caching system
+Documentation=man:memcached(1)
+Documentation=http://code.google.com/p/memcached/
+
+[Service]
+ExecStart=/usr/bin/memcached
+User=memcached
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-misc/memcached/memcached-1.4.33.ebuild b/net-misc/memcached/memcached-1.4.33.ebuild
new file mode 100644
index 000000000000..48ebbfb8d2ec
--- /dev/null
+++ b/net-misc/memcached/memcached-1.4.33.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools eutils flag-o-matic systemd user
+
+MY_PV="${PV/_rc/-rc}"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="High-performance, distributed memory object caching system"
+HOMEPAGE="http://memcached.org/"
+SRC_URI="https://www.memcached.org/files/${MY_P}.tar.gz
+ https://www.memcached.org/files/old/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="test slabs-reassign debug sasl selinux" # hugetlbfs later
+
+RDEPEND=">=dev-libs/libevent-1.4
+ dev-lang/perl
+ sasl? ( dev-libs/cyrus-sasl )
+ selinux? ( sec-policy/selinux-memcached )"
+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 -i -e 's,AM_CONFIG_HEADER,AC_CONFIG_HEADERS,' configure.ac || die
+ 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.init2" memcached
+ systemd_dounit "${FILESDIR}/memcached.service"
+}
+
+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
+}
diff --git a/net-misc/memcached/memcached-1.4.39.ebuild b/net-misc/memcached/memcached-1.4.39.ebuild
new file mode 100644
index 000000000000..ad41318d90c0
--- /dev/null
+++ b/net-misc/memcached/memcached-1.4.39.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools eutils flag-o-matic systemd user
+
+MY_PV="${PV/_rc/-rc}"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="High-performance, distributed memory object caching system"
+HOMEPAGE="http://memcached.org/"
+SRC_URI="https://www.memcached.org/files/${MY_P}.tar.gz
+ https://www.memcached.org/files/old/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="test slabs-reassign debug sasl selinux" # hugetlbfs later
+
+RDEPEND=">=dev-libs/libevent-1.4:=
+ dev-lang/perl
+ sasl? ( dev-libs/cyrus-sasl )
+ selinux? ( sec-policy/selinux-memcached )"
+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"
+ 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 -i -e 's,AM_CONFIG_HEADER,AC_CONFIG_HEADERS,' configure.ac || die
+ eautoreconf
+ use slabs-reassign && append-flags -DALLOW_SLABS_REASSIGN
+
+ # Tweak upstream systemd unit to use Gentoo variables/envfile.
+ # As noted by bug #587440
+ sed -i -e '/^ExecStart/{
+ s,{USER},{MEMCACHED_RUNAS},g;
+ s,{CACHESIZE},{MEMUSAGE},g;
+ s,OPTIONS,MISC_OPTS,g;
+ };
+ /Environment=/{s,OPTIONS,MISC_OPTS,g;};
+ /EnvironmentFile=/{s,/sysconfig/,/conf.d/,g;};
+ ' \
+ "${S}"/scripts/memcached.service
+}
+
+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.init2" memcached
+ systemd_dounit "${S}/scripts/memcached.service"
+}
+
+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
+}
diff --git a/net-misc/memcached/memcached-1.5.1.ebuild b/net-misc/memcached/memcached-1.5.1.ebuild
new file mode 100644
index 000000000000..9e386070af56
--- /dev/null
+++ b/net-misc/memcached/memcached-1.5.1.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools eutils flag-o-matic systemd user
+
+MY_PV="${PV/_rc/-rc}"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="High-performance, distributed memory object caching system"
+HOMEPAGE="http://memcached.org/"
+SRC_URI="https://www.memcached.org/files/${MY_P}.tar.gz
+ https://www.memcached.org/files/old/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="test slabs-reassign debug sasl selinux" # hugetlbfs later
+
+RDEPEND=">=dev-libs/libevent-1.4:=
+ dev-lang/perl
+ sasl? ( dev-libs/cyrus-sasl )
+ selinux? ( sec-policy/selinux-memcached )"
+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"
+ 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 -i -e 's,AM_CONFIG_HEADER,AC_CONFIG_HEADERS,' configure.ac || die
+ eautoreconf
+ use slabs-reassign && append-flags -DALLOW_SLABS_REASSIGN
+
+ # Tweak upstream systemd unit to use Gentoo variables/envfile.
+ # As noted by bug #587440
+ sed -i -e '/^ExecStart/{
+ s,{USER},{MEMCACHED_RUNAS},g;
+ s,{CACHESIZE},{MEMUSAGE},g;
+ s,OPTIONS,MISC_OPTS,g;
+ };
+ /Environment=/{s,OPTIONS,MISC_OPTS,g;};
+ /EnvironmentFile=/{s,/sysconfig/,/conf.d/,g;};
+ ' \
+ "${S}"/scripts/memcached.service
+ default
+}
+
+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.init2" memcached
+ systemd_dounit "${S}/scripts/memcached.service"
+}
+
+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
+}
diff --git a/net-misc/memcached/memcached-1.5.2.ebuild b/net-misc/memcached/memcached-1.5.2.ebuild
new file mode 100644
index 000000000000..9e386070af56
--- /dev/null
+++ b/net-misc/memcached/memcached-1.5.2.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools eutils flag-o-matic systemd user
+
+MY_PV="${PV/_rc/-rc}"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="High-performance, distributed memory object caching system"
+HOMEPAGE="http://memcached.org/"
+SRC_URI="https://www.memcached.org/files/${MY_P}.tar.gz
+ https://www.memcached.org/files/old/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="test slabs-reassign debug sasl selinux" # hugetlbfs later
+
+RDEPEND=">=dev-libs/libevent-1.4:=
+ dev-lang/perl
+ sasl? ( dev-libs/cyrus-sasl )
+ selinux? ( sec-policy/selinux-memcached )"
+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"
+ 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 -i -e 's,AM_CONFIG_HEADER,AC_CONFIG_HEADERS,' configure.ac || die
+ eautoreconf
+ use slabs-reassign && append-flags -DALLOW_SLABS_REASSIGN
+
+ # Tweak upstream systemd unit to use Gentoo variables/envfile.
+ # As noted by bug #587440
+ sed -i -e '/^ExecStart/{
+ s,{USER},{MEMCACHED_RUNAS},g;
+ s,{CACHESIZE},{MEMUSAGE},g;
+ s,OPTIONS,MISC_OPTS,g;
+ };
+ /Environment=/{s,OPTIONS,MISC_OPTS,g;};
+ /EnvironmentFile=/{s,/sysconfig/,/conf.d/,g;};
+ ' \
+ "${S}"/scripts/memcached.service
+ default
+}
+
+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.init2" memcached
+ systemd_dounit "${S}/scripts/memcached.service"
+}
+
+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
+}
diff --git a/net-misc/memcached/metadata.xml b/net-misc/memcached/metadata.xml
new file mode 100644
index 000000000000..a03b9969a2df
--- /dev/null
+++ b/net-misc/memcached/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>robbat2@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ </maintainer>
+ <longdescription>High-performance, distributed memory object caching system, generic in nature,
+but intended for use in speeding up dynamic web applications by alleviating
+database load.
+Danga Interactive developed memcached to enhance the speed of LiveJournal.com, a
+site which was already doing 20 million+ dynamic page views per day for 1
+million users with a bunch of webservers and a bunch of database servers.
+memcached dropped the database load to almost nothing, yielding faster page load
+times for users, better resource utilization, and faster access to the databases
+on a memcache miss.</longdescription>
+ <use>
+ <flag name="slabs-reassign">Allow manual reassignment of memory slabs at the cost of slab optimizations.</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">memcached/memcached</remote-id>
+ </upstream>
+</pkgmetadata>