summaryrefslogtreecommitdiff
path: root/net-misc/memcached
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/memcached')
-rw-r--r--net-misc/memcached/Manifest3
-rw-r--r--net-misc/memcached/files/memcached-1.5.21-hash-fix-build-failure-against-gcc-10.patch56
-rw-r--r--net-misc/memcached/memcached-1.5.21-r1.ebuild100
3 files changed, 158 insertions, 1 deletions
diff --git a/net-misc/memcached/Manifest b/net-misc/memcached/Manifest
index 841f56c12c72..3e98efb4bdeb 100644
--- a/net-misc/memcached/Manifest
+++ b/net-misc/memcached/Manifest
@@ -2,6 +2,7 @@ AUX memcached-1.2.2-fbsd.patch 328 BLAKE2B b556c92a194ba7cd9405bbedcaa6b65ce6c3c
AUX memcached-1.4.0-fix-as-needed-linking.patch 1557 BLAKE2B 1d0d66a9ec44855215a1d661177e7457b22068c9f1c3b6ca3c2ded25e3eed34eb17a034102fbbdd2fa6670e87ae6b6f05adc826f848a84f7649608e4547ae39a SHA512 a177f82d13b25a1ee13b02852040289a46b08fba750467026ecd8932d12008c7a276ea4b9b166de3d3371f5e7f9a6e0ef8d15315ab1ec9d10928dd7f40090253
AUX memcached-1.4.17-EWOULDBLOCK.patch 506 BLAKE2B e6e7c597dc227f42c0af0cb45d99a802b2bbcf5af3f7bcc1de26305951e0396c879ceb2b651f21b199df0ffabdfcb739626111d0e086d12736603500860453bd SHA512 6ddd823154a384e7502e138528b8d391b9fe203366c56f14ae38ddb6d8b6394fd0297e5fad90cf94f7bc1e7d90e04e0aab17b545fe3f1d2a55f0e2158e9a98dc
AUX memcached-1.4.4-as-needed.patch 1135 BLAKE2B b290f928cb0c280742eb95b69e1fdec1ffe6f9d47a5a1e3b676f70d25a675d4b4762a4d69915a81cc0e30036e74254ce08f93b625bc842ae0e4a6d7520798f85 SHA512 16f1ebae169d47836a83857e9da1ba4498b061367979d2ec5d271b91c939b1b5655ced68f37653c8996e41266e2daa64c2ae63d787b54d221ce92d544cea722e
+AUX memcached-1.5.21-hash-fix-build-failure-against-gcc-10.patch 1470 BLAKE2B 987f8ff094ae43e8fe94458b70f413b994f0125b16987b7aca56bb0847f3c6ff10372cff4a4f12fa651cad72601fef6b4a45cfe0c05036e264f9c53f5846e686 SHA512 c0c139d82762c397cfb86307ab989b3c0a31547e3bccb8b13b4537e78b7f62a4b92aafc60e5cb092098a95038a9f93e8ee6be8702b130fafa11c81112a1fce69
AUX memcached.confd 872 BLAKE2B d57dfb6da370f5e980b9e7143323a6cf51fecea802e5d034ca92b0e26280cbd99db3c487f57ef8f1d6ebfae49db44852b88018a95f8d2b0e0a1c6ce16bbaa5c0 SHA512 77dd11565172336c3db24663510ab15ce3c919a656d1c7a12b0bae830c1576247844f84e6b4fe10c96a54f2e64ae8f6c502eee3d84d68ea1d370fea99a586f63
AUX memcached.init2 2205 BLAKE2B d27dbf6fb4d72ec49ff89cb3957770a25afe467c96c05648e75dddea47cdacee09d073e138e72d3b8671c3538e2005049dcd05440083b03e25136b3fd206c4d9 SHA512 b7b68362a4e4b24e9db893b85c3959184d17ea0bf8346a38561235461cfc8c94cf6d546f1c31bbe34bb7ca3409db2209171dd08214d5f057d00c65885663992a
AUX memcached.service 273 BLAKE2B bfe217d2ec7fd9aead468f4f5b100843287a49bef163dd106349f3275acbffaca60e09c8b723a566a96065d8208eb52f44f7c3ad24a8aaf3980471e8d0478b77 SHA512 647f06160142c5e38e4009203609bf2152dd1bdd4b94be9e2bf3c5741e631419fc9cf300575a65a905956eec916d736c4e3b3d3e3c80438f1b33cd10fe4dcd95
@@ -12,5 +13,5 @@ DIST memcached-1.5.21.tar.gz 532631 BLAKE2B eaed8eae81c7874c48dfc6df5611d83d21a6
EBUILD memcached-1.5.14.ebuild 2930 BLAKE2B 1e47dcee14202eb3f7de51c779c5e6ddb9eea26fd743a362919fb6bf60e4d2333910b8eb1db13491f429eeb19d9451912e6ec1bdb753ee21eb7f2bdf90415864 SHA512 29986b6567a677dc7b9fb514a03966dc9f661ddfcc5e380118eb4e1b12d06601347149a8e4a97bfbdcbec04f6de243c2fd9201725017c562cb73bc407d79578d
EBUILD memcached-1.5.19.ebuild 2938 BLAKE2B b67de575ce5c41510d4d0f8c19999e8f6b327460eff5b61192532e682981d27a69142f781e1b6f889b37bb69705fe375e6347d27dedca2c186ea9687dd55b71c SHA512 3989cbe5a174f963dc4daef97add3183f05dc45c2b1a5f1b937ac7d4c700f4ea633ed84697d61a08dfa147568ccde35b77b44cb05cfd95c18ad712ed641999a8
EBUILD memcached-1.5.20.ebuild 2938 BLAKE2B b67de575ce5c41510d4d0f8c19999e8f6b327460eff5b61192532e682981d27a69142f781e1b6f889b37bb69705fe375e6347d27dedca2c186ea9687dd55b71c SHA512 3989cbe5a174f963dc4daef97add3183f05dc45c2b1a5f1b937ac7d4c700f4ea633ed84697d61a08dfa147568ccde35b77b44cb05cfd95c18ad712ed641999a8
-EBUILD memcached-1.5.21.ebuild 2911 BLAKE2B 17edbe4300536002d2f595ab847351baf0157cae5392031eb6d90546c0e7ac36197e73a2497c709d66d2f3fcc530a1d60e6400dc81aa0e569e65a94c7e067832 SHA512 e129d85539cb635e2387830283c2933d9c076478cc5f6896b18825b24931d332f8c9ea640793e65ebd9753fa55c32fd2a4c3216406c6ad719f097c8fe22783ab
+EBUILD memcached-1.5.21-r1.ebuild 2968 BLAKE2B 18bd2d8ae49c0c0ad850e316b388ae752d782ee548a85924c0ef6163d4ad6a13d52f208596dbbb2ed23a31164a69f8ecd7efa091119de26c588dfac044b30099 SHA512 160923ef6bb1ed42c839ba16473188af5c86ce9db62c4780bae33ba882128a58f395d6b598fcf7bf10d9c1187983789706dc4f75922590e0956acc3bace4c921
MISC metadata.xml 1134 BLAKE2B 3313deb6a6fda71074f08e202dcd43b53fcd4ab9af50b78b84aac67309f3c2a4a966f874c9d8f5c4688542e6fe03d4e2f7b3f854842638210ab64fc35bcdab30 SHA512 c3ce23016f9ea9067f6628f246866e3fcee6624f1a21360e448c7eebc3babd8fa3717966e58eeb0b6fd9885730609fa732a3e10b0a4dfaa57b0f0acc85c20bb4
diff --git a/net-misc/memcached/files/memcached-1.5.21-hash-fix-build-failure-against-gcc-10.patch b/net-misc/memcached/files/memcached-1.5.21-hash-fix-build-failure-against-gcc-10.patch
new file mode 100644
index 000000000000..527d4607316c
--- /dev/null
+++ b/net-misc/memcached/files/memcached-1.5.21-hash-fix-build-failure-against-gcc-10.patch
@@ -0,0 +1,56 @@
+From 63b8e76067523a02a3e0215db1aef0b34edcf708 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyfox@gentoo.org>
+Date: Thu, 23 Jan 2020 22:16:36 +0000
+Subject: [PATCH] hash: fix build failure against gcc-10
+
+On gcc-10 (and gcc-9 -fno-common) build fails as:
+
+```
+gcc -g -O2 -pthread -pthread -Wall -Werror -pedantic -Wmissing-prototypes \
+ -Wmissing-declarations -Wredundant-decls -o memcached ... -levent
+ld: memcached-hash.o:memcached/hash.h:5:
+ multiple definition of `hash'; memcached-memcached.o:memcached/hash.h:5: first defined here
+```
+
+gcc-10 will change the default from -fcommon to fno-common:
+https://gcc.gnu.org/PR85678.
+
+The error also happens if CFLAGS=-fno-common passed explicitly.
+
+Reported-by: Brian Evans
+Bug: https://bugs.gentoo.org/706196
+Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
+---
+ hash.c | 2 ++
+ hash.h | 2 +-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/hash.c b/hash.c
+index a0c3036..b5ff28a 100644
+--- a/hash.c
++++ b/hash.c
+@@ -4,6 +4,8 @@
+ #include "jenkins_hash.h"
+ #include "murmur3_hash.h"
+
++hash_func hash;
++
+ int hash_init(enum hashfunc_type type) {
+ switch(type) {
+ case JENKINS_HASH:
+diff --git a/hash.h b/hash.h
+index 059d1e2..3b2a984 100644
+--- a/hash.h
++++ b/hash.h
+@@ -2,7 +2,7 @@
+ #define HASH_H
+
+ typedef uint32_t (*hash_func)(const void *key, size_t length);
+-hash_func hash;
++extern hash_func hash;
+
+ enum hashfunc_type {
+ JENKINS_HASH=0, MURMUR3_HASH
+--
+2.25.0
+
diff --git a/net-misc/memcached/memcached-1.5.21-r1.ebuild b/net-misc/memcached/memcached-1.5.21-r1.ebuild
new file mode 100644
index 000000000000..4bd4eefadece
--- /dev/null
+++ b/net-misc/memcached/memcached-1.5.21-r1.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit autotools eutils flag-o-matic systemd
+
+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 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="debug sasl seccomp selinux slabs-reassign test" # hugetlbfs later
+
+RDEPEND=">=dev-libs/libevent-1.4:=
+ dev-lang/perl
+ sasl? ( dev-libs/cyrus-sasl )
+ seccomp? ( sys-libs/libseccomp )
+ selinux? ( sec-policy/selinux-memcached )"
+DEPEND="${RDEPEND}
+ acct-user/memcached
+ test? ( virtual/perl-Test-Harness >=dev-perl/Cache-Memcached-1.24 )"
+
+S="${WORKDIR}/${MY_P}"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.2.2-fbsd.patch"
+ "${FILESDIR}/${PN}-1.4.0-fix-as-needed-linking.patch"
+ "${FILESDIR}/${PN}-1.4.4-as-needed.patch"
+ "${FILESDIR}/${PN}-1.4.17-EWOULDBLOCK.patch"
+ "${FILESDIR}/${PN}-1.5.21-hash-fix-build-failure-against-gcc-10.patch"
+)
+
+src_prepare() {
+ 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() {
+ 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
+}