commit: 035003465ec1e39f5017d9653f960bc3981ade32 Author: David Seifert <soap <AT> gentoo <DOT> org> AuthorDate: Sun Aug 8 10:46:27 2021 +0000 Commit: David Seifert <soap <AT> gentoo <DOT> org> CommitDate: Sun Aug 8 10:46:27 2021 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=03500346
dev-libs/libmemcached: fix musl Closes: https://bugs.gentoo.org/713306 Signed-off-by: David Seifert <soap <AT> gentoo.org> .../files/libmemcached-1.0.18-musl.patch | 65 ++++++++++++++++++++++ .../libmemcached/libmemcached-1.0.18-r4.ebuild | 1 + 2 files changed, 66 insertions(+) diff --git a/dev-libs/libmemcached/files/libmemcached-1.0.18-musl.patch b/dev-libs/libmemcached/files/libmemcached-1.0.18-musl.patch new file mode 100644 index 00000000000..06e802de64f --- /dev/null +++ b/dev-libs/libmemcached/files/libmemcached-1.0.18-musl.patch @@ -0,0 +1,65 @@ +Taken from alpine, with additional fixes +https://bugs.gentoo.org/713306 + +--- a/libhashkit/fnv_64.cc ++++ b/libhashkit/fnv_64.cc +@@ -37,8 +37,9 @@ + + + #include <libhashkit/common.h> ++#include <limits.h> + +-#if __WORDSIZE == 64 && defined(HAVE_FNV64_HASH) ++#if (LONG_BIT == 64) && defined(HAVE_FNV64_HASH) + + /* FNV hash'es lifted from Dustin Sallings work */ + static uint64_t FNV_64_INIT= 0xcbf29ce484222325; +--- a/libhashkit/has.cc ++++ b/libhashkit/has.cc +@@ -37,6 +37,7 @@ + + + #include <libhashkit/common.h> ++#include <limits.h> + + bool libhashkit_has_algorithm(const hashkit_hash_algorithm_t algo) + { +@@ -44,7 +45,7 @@ + { + case HASHKIT_HASH_FNV1_64: + case HASHKIT_HASH_FNV1A_64: +-#if __WORDSIZE == 64 && defined(HAVE_FNV64_HASH) ++#if (LONG_BIT == 64) && defined(HAVE_FNV64_HASH) + return true; + #else + return false; +--- a/libmemcachedutil/pool.cc ++++ b/libmemcachedutil/pool.cc +@@ -42,6 +42,7 @@ + #include <cerrno> + #include <pthread.h> + #include <memory> ++#include <string.h> + + struct memcached_pool_st + { +--- a/libtest/cmdline.cc ++++ b/libtest/cmdline.cc +@@ -61,7 +61,7 @@ + #include <algorithm> + #include <stdexcept> + +-#ifndef __USE_GNU ++#ifndef _GNU_SOURCE + static char **environ= NULL; + #endif + +@@ -201,7 +201,7 @@ + + fatal_assert(posix_spawnattr_setsigmask(&spawnattr, &mask) == 0); + +-#if defined(POSIX_SPAWN_USEVFORK) || defined(__linux__) ++#if defined(POSIX_SPAWN_USEVFORK) || defined(__GLIBC__) + // Use USEVFORK on linux + flags |= POSIX_SPAWN_USEVFORK; + #endif diff --git a/dev-libs/libmemcached/libmemcached-1.0.18-r4.ebuild b/dev-libs/libmemcached/libmemcached-1.0.18-r4.ebuild index 9033195b21f..213043a11dc 100644 --- a/dev-libs/libmemcached/libmemcached-1.0.18-r4.ebuild +++ b/dev-libs/libmemcached/libmemcached-1.0.18-r4.ebuild @@ -29,6 +29,7 @@ PATCHES=( "${FILESDIR}"/${P}-gcc7.patch "${FILESDIR}"/${P}-autotools.patch "${FILESDIR}"/${P}-disable-sphinx.patch + "${FILESDIR}"/${P}-musl.patch ) src_prepare() {