diff options
author | brahmajit das <listout@protonmail.com> | 2022-08-10 16:07:58 +0530 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-08-12 19:39:43 +0100 |
commit | 4ad0d9de826a89b6ff0dec451e73bbeecd93e4a8 (patch) | |
tree | 3e1e7fcce1f6dff60838a9a4c4bca9854130b333 /dev-cpp/folly | |
parent | net-misc/htpdate: add 1.3.6 (diff) | |
download | gentoo-4ad0d9de826a89b6ff0dec451e73bbeecd93e4a8.tar.gz gentoo-4ad0d9de826a89b6ff0dec451e73bbeecd93e4a8.tar.bz2 gentoo-4ad0d9de826a89b6ff0dec451e73bbeecd93e4a8.zip |
dev-cpp/folly: Fix musl build
Fixes "ELFCLASSFOLLY_ELF_NATIVE_CLASS was not declared in this scope".
Elf.cpp expects __ELF_NATIVE_CLASS to be defined at least for platforms
besides FreeBSD-based ones, and so it defines FOLLY_ELF_NATIVE_CLASS
with it. Without __ELF_NATIVE_CLASS (and apparently musl does not define
it), FOLLY_ELF_NATIVE_CLASS is also not defined so what was supposed to
be expanded to ELFCLASS32 or ELFCLASS64 ends up being
ELFCLASSFOLLY_ELF_NATIVE_CLASS.
Please refer: https://github.com/facebook/folly/issues/1478#issuecomment-719883898
Closes: https://bugs.gentoo.org/835744
Signed-off-by: brahmajit das <listout@protonmail.com>
Closes: https://github.com/gentoo/gentoo/pull/26807
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-cpp/folly')
-rw-r--r-- | dev-cpp/folly/files/folly-2022.07.04.00-musl-fix.patch | 36 | ||||
-rw-r--r-- | dev-cpp/folly/folly-2022.07.04.00.ebuild | 4 |
2 files changed, 40 insertions, 0 deletions
diff --git a/dev-cpp/folly/files/folly-2022.07.04.00-musl-fix.patch b/dev-cpp/folly/files/folly-2022.07.04.00-musl-fix.patch new file mode 100644 index 000000000000..001af39625c5 --- /dev/null +++ b/dev-cpp/folly/files/folly-2022.07.04.00-musl-fix.patch @@ -0,0 +1,36 @@ +# Elf.cpp expects __ELF_NATIVE_CLASS to be defined at least for platforms +# besides FreeBSD-based ones, and so it defines FOLLY_ELF_NATIVE_CLASS with it. +# Without __ELF_NATIVE_CLASS (and apparently musl does not define it), +# FOLLY_ELF_NATIVE_CLASS is also not defined so what was supposed to be +# expanded to ELFCLASS32 or ELFCLASS64 ends up being +# ELFCLASSFOLLY_ELF_NATIVE_CLASS. +# +# Please refer: https://github.com/facebook/folly/issues/1478 +# +# Closes: https://bugs.gentoo.org/835744 +--- a/folly/experimental/symbolizer/Elf.cpp ++++ b/folly/experimental/symbolizer/Elf.cpp +@@ -39,12 +39,10 @@ + + #if defined(__ELF_NATIVE_CLASS) + #define FOLLY_ELF_NATIVE_CLASS __ELF_NATIVE_CLASS +-#elif defined(__FreeBSD__) +-#if defined(__LP64__) ++#elif defined(__LP64__) + #define FOLLY_ELF_NATIVE_CLASS 64 + #else + #define FOLLY_ELF_NATIVE_CLASS 32 +-#endif + #endif // __ELF_NATIVE_CLASS + + namespace folly { +--- a/folly/experimental/symbolizer/Elf.h ++++ b/folly/experimental/symbolizer/Elf.h +@@ -24,6 +24,7 @@ + #include <initializer_list> + #include <stdexcept> + #include <system_error> ++#include <sys/types.h> + + #include <folly/Conv.h> + #include <folly/Likely.h> diff --git a/dev-cpp/folly/folly-2022.07.04.00.ebuild b/dev-cpp/folly/folly-2022.07.04.00.ebuild index e4b9470d848e..4107d94ca13b 100644 --- a/dev-cpp/folly/folly-2022.07.04.00.ebuild +++ b/dev-cpp/folly/folly-2022.07.04.00.ebuild @@ -39,6 +39,10 @@ DEPEND="${RDEPEND} sys-libs/binutils-libs" BDEPEND="test? ( sys-devel/clang )" +PATCHES=( + "${FILESDIR}/${PN}"-2022.07.04.00-musl-fix.patch +) + pkg_setup() { [[ ${BUILD_TYPE} == "binary" ]] && return |