commit: b2ee14cd4da040ef50c66504ee61047f384723f9 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Wed Jun 25 12:27:05 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Wed Jun 25 12:30:21 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b2ee14cd
net-misc/memcached: add 1.6.38 Closes: https://bugs.gentoo.org/947489 Signed-off-by: Sam James <sam <AT> gentoo.org> net-misc/memcached/Manifest | 1 + net-misc/memcached/memcached-1.6.38.ebuild | 117 +++++++++++++++++++++++++++++ 2 files changed, 118 insertions(+) diff --git a/net-misc/memcached/Manifest b/net-misc/memcached/Manifest index 2748c2299110..175acca992d2 100644 --- a/net-misc/memcached/Manifest +++ b/net-misc/memcached/Manifest @@ -1 +1,2 @@ DIST memcached-1.6.31.tar.gz 1216497 BLAKE2B effa03d952e3c9fa9bb8c2ad2bb1c47dc23b8c828d915ded042c0ec468bc13ae6162501feb8bc9c924c717b895385070f407bb42d8d90b67d5d837aa4bd18470 SHA512 6531e161d31ac27addf65fb925c3db54c9dca5782220bc4725b6e6829c59a54a4c1ff364ad271c34de29298fbbc7cb13d67e05e1bf165e9c582d975d3404947d +DIST memcached-1.6.38.tar.gz 1282099 BLAKE2B 482a6e11230b24164294aeb177cc04ee2b69976326dcafacd1c21629dfd6d12607e76dfb9796abecdee478c6ff7e2421b268a711fa1cfb2f24a929a7ff9e4f89 SHA512 d828f1bce7c992a0c0889115c2ae71494a42f6fa37817d8b1fcf70fc2fbca9daeefe0249803faf17cd039a67139d5deaac688c78f0859534c027c9c9c96bf615 diff --git a/net-misc/memcached/memcached-1.6.38.ebuild b/net-misc/memcached/memcached-1.6.38.ebuild new file mode 100644 index 000000000000..5428997f9b3b --- /dev/null +++ b/net-misc/memcached/memcached-1.6.38.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic systemd + +MY_PV="${PV/_rc/-rc}" +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="High-performance, distributed memory object caching system" +HOMEPAGE="https://memcached.org/" +SRC_URI=" + https://memcached.org/files/${MY_P}.tar.gz + https://memcached.org/files/old/${MY_P}.tar.gz +" +S="${WORKDIR}/${MY_P}" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +IUSE="debug sasl seccomp selinux slabs-reassign ssl test" # hugetlbfs later +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-libs/libevent-1.4:= + dev-lang/perl + sasl? ( dev-libs/cyrus-sasl ) + seccomp? ( sys-libs/libseccomp ) + selinux? ( sec-policy/selinux-memcached ) + ssl? ( >=dev-libs/openssl-1.1.0g:= ) +" +DEPEND=" + ${RDEPEND} + acct-user/memcached + test? ( + >=dev-perl/Cache-Memcached-1.24 + ssl? ( dev-perl/IO-Socket-SSL ) + ) +" + +PATCHES=( + "${FILESDIR}/${PN}-1.4.0-fix-as-needed-linking.patch" +) + +QA_CONFIG_IMPL_DECL_SKIP=( + htonll +) + +src_prepare() { + default + + 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 || die +} + +src_configure() { + local myeconfargs=( + --disable-docs + --disable-werror + $(use_enable sasl) + $(use_enable ssl tls) + # The xml2rfc tool to build the additional docs requires TCL :-( + # `use_enable doc docs` + ) + + econf "${myeconfargs[@]}" +} + +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_test() { + emake -j1 test +} + +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" +}
