diff options
Diffstat (limited to 'dev-cpp/folly')
-rw-r--r-- | dev-cpp/folly/Manifest | 3 | ||||
-rw-r--r-- | dev-cpp/folly/files/folly-2022.08.08.00-undefined-reference-fix.patch | 62 | ||||
-rw-r--r-- | dev-cpp/folly/folly-2022.08.08.00.ebuild | 99 |
3 files changed, 164 insertions, 0 deletions
diff --git a/dev-cpp/folly/Manifest b/dev-cpp/folly/Manifest index f866b126e6ad..8aab19226b5f 100644 --- a/dev-cpp/folly/Manifest +++ b/dev-cpp/folly/Manifest @@ -1,8 +1,11 @@ AUX folly-2022.07.04.00-musl-fix.patch 1150 BLAKE2B 6774badf3856fa94ae69dc4ca3fb3aca628dcf3b96fd7d141967815a9a07c07349f852a35275baba7b91d60e0c61dc3e1639cab4727666fa128d0334f36815a2 SHA512 15029e25b4da1f9cfe227978a54f63c198361df665b4657ef6a80ffdd3911c80be8e6c3799c8c16ff0fcca050932155628651a6e5ed566a41174dced9e51dc58 +AUX folly-2022.08.08.00-undefined-reference-fix.patch 1883 BLAKE2B 59e10c05c3a9d12e012127d4df3d939f9d407d8740e6d9161885e1350f86aa0dde1e2ba7e6598c7e665ddb1f37be876aabd24078ad9e4d35038a18940cecd0fb SHA512 4ad4728fcaa8c5768c8019ce84501fbfbea07980fc9056c4e6ad11346e4443dca85c4110a84d81ac9ce75f26e9295bd7a647507c8445f6b28940e9ac2da05697 DIST folly-2022.03.28.00.tar.gz 3616507 BLAKE2B da003701abe599f20ac87a2785fe9a4cd4a8896d182737eb1eac6384f3d75a792225b426febea7cc4ea99aac1a1f31eb7330e0a297f43ae7d5aafccd93784560 SHA512 6eee07b3e82247c3c8672442503e9a69a1c4607604269fc0760e11a2d0e5595029e6995fbe7c970d2052a7f228f6b92112630e6d5c624369fc52e5ad1823ef74 DIST folly-2022.04.11.00.tar.gz 3632587 BLAKE2B 13820f6dc600727fa97603181be97a568cc8b3c713659717592853827dac050d5f1f6d98178e3054871233b48ac18f713589bf43b36ea29445cad557ce13bacf SHA512 7aa0be95d6f8b21aaa88558cf5921c526ab5a8c8121b858eb6e7ea19946d7a82dff06d90b7a365cef5c56a43d8d57af8d01b8b11b27262fbed9ee8c9e701b5ac DIST folly-v2022.07.04.00.tar.gz 3647988 BLAKE2B ab8916ff4be1468d44dc0892126448682554ea95ce879166f457b621c3157cb22d0292fe2c58744494efe0fbabbf77732184335cd22244724c740910cf3a8303 SHA512 11fc32768539d8d42c7396eeac522238450617c8dde302b45c64bb93fd6ceaef7bb193b897802962782e8211c3931d31bf8df68e06741ce855d9725510677d7a +DIST folly-v2022.08.08.00.tar.gz 3684846 BLAKE2B 462c183effea452ca706a7a14ebba820f377bc5ba6fd1475b15ca10e3c21df60a16b529b6599cf5dd5df2913b1fbd0432a3c411ab0aa400a9c84bb6aecd2f70f SHA512 f44dbf96f42a86d44cad46129750ae2bc0abb6702e148de10def4b241a3c7afa62ad19acca96609e8a9bfdfeeb7eda3f19d8eb161b5e41702c943ca87a75c88e EBUILD folly-2022.03.28.00-r1.ebuild 1486 BLAKE2B 629e5c21603de6a7e91532219f357f74df50194e21102c6f2d05e6d613bbecdd5fba2f2042bcbac0dada2066b82def374c671d9c7b263ba3f1f3d16178496dc9 SHA512 2841732188df3b1330ce730aade4a15272208fd16d658c15a29b908963dd8ec1349205cdec2eb218d9acf539043db011498375f248f580730495cee2484a0e96 EBUILD folly-2022.04.11.00-r1.ebuild 1880 BLAKE2B 9bbab33cb481558b9f857eafb813901fa0a3ee9f977772f3d733a49b9e7c2656fb98ebd402f3f0d877e20c547f31e2ebdd1e9a3b234300e104858aec5e49d1a8 SHA512 aab53b44bee8c2a4bef0d5cc0dad9603f0a84b66db02dfa9062676e6bd97cb25fc6593dc2aa1881ab6cd3f5477f369717d0931e670447be3eec80e0161a5b98f EBUILD folly-2022.07.04.00.ebuild 2306 BLAKE2B 22c80cf66bdc690757b1463593491edd96810debd849bca0d8d125d6b004724c6305d3814a86322f7f86d2dc008a8267475e38ff829de5ac5dbc7286fdbe99ec SHA512 10c6535ba8e833d9bc6a580c9849d6d50c88e5b407cefaed48e292168bd6301db25447330f59f2e87fac596174cae965ad302bb3ad73ee3cbb7b65b3f3b9211a +EBUILD folly-2022.08.08.00.ebuild 2487 BLAKE2B d0dfea130d133d449013991cc88f70b93dcabc7c61f66460b5bdf22b500e5c35efcce6bc1703e3630466412dc6bd99fcdefed78eb7df52d214f22d13c3c8d1f0 SHA512 ab5c3547680888f5aa48ad13825c15c4d47a77c5d25b994a39ecbb516d1b5949e5bd08c83927821582cf6e5eac734f2e664efe697ba397d0d4b806186b12dfc9 MISC metadata.xml 319 BLAKE2B 0c8d18b906a50ee77fef7db1f99206b1c4d38dfa7913de363474609bcce38956be8d0958bc400c704ad743396db7230fb0098c83f1caa16ca998d6fd5576369c SHA512 8b077d5d5bf60f0ed5b36aef48188f431ca0675f80190beb407a58fa48fc6f8a48db161b8cde775ab6cfb54a01438fa5edddf0098e80a65b29a403a7f3a2c027 diff --git a/dev-cpp/folly/files/folly-2022.08.08.00-undefined-reference-fix.patch b/dev-cpp/folly/files/folly-2022.08.08.00-undefined-reference-fix.patch new file mode 100644 index 000000000000..1a21386b1e83 --- /dev/null +++ b/dev-cpp/folly/files/folly-2022.08.08.00-undefined-reference-fix.patch @@ -0,0 +1,62 @@ +https://github.com/facebook/folly/commit/10fc2e449038d9ffda5cd53999edb9875c4cb151 + +From 10fc2e449038d9ffda5cd53999edb9875c4cb151 Mon Sep 17 00:00:00 2001 +From: Simon Marlow <smarlow@fb.com> +Date: Fri, 12 Aug 2022 08:26:40 -0700 +Subject: [PATCH] Fix bugs in Cmake setup + +Summary: +Please see https://github.com/facebook/folly/issues/1823 and +https://github.com/facebook/folly/issues/1478 + +* CMAKE_LIBRARY_ARCHITECTURE is not always defined +* This doesn't work: `set(IS_X86_64_ARCH NOT(IS_X86_64_ARCH STREQUAL "-1"))` +* Two conditionals for `IS_X86_64_ARCH` were reversed + +Reviewed By: bochko + +Differential Revision: D38653631 + +fbshipit-source-id: c4b6f2820a2280356a7eb69bf0e9253434b5e750 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -27,8 +27,19 @@ if(POLICY CMP0075) + cmake_policy(SET CMP0075 NEW) + endif() + +-string(FIND "${CMAKE_LIBRARY_ARCHITECTURE}" "x86_64" IS_X86_64_ARCH) +-set(IS_X86_64_ARCH NOT(IS_X86_64_ARCH STREQUAL "-1")) ++if("${CMAKE_LIBRARY_ARCHITECTURE}" STREQUAL "") ++ # CMAKE_LIBRARY_ARCHITECTURE is not always set, so we have to assume ++ # arch might be x86_64 ++ message(WARNING "CMAKE_LIBRARY_ARCHITECTURE not set, assuming x86_64") ++ set(IS_X86_64_ARCH ON) ++else() ++ string(FIND "${CMAKE_LIBRARY_ARCHITECTURE}" "x86_64" IS_X86_64_ARCH) ++ if(IS_X86_64_ARCH STREQUAL "-1") ++ set(IS_X86_64_ARCH OFF) ++ else() ++ set(IS_X86_64_ARCH ON) ++ endif() ++endif() + + # includes + set(CMAKE_MODULE_PATH +@@ -230,7 +241,7 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + endif() + + # base64 SIMD files compilation +-if (${IS_X86_64_ARCH}) ++if (NOT(${IS_X86_64_ARCH})) + message( + STATUS + "arch ${CMAKE_LIBRARY_ARCHITECTURE} does not match x86_64, " +@@ -256,7 +267,7 @@ else() + endif() + + if (${LIBSODIUM_FOUND}) +- if (${IS_X86_64_ARCH}) ++ if (NOT(${IS_X86_64_ARCH})) + message( + STATUS + "arch ${CMAKE_LIBRARY_ARCHITECTURE} does not match x86_64, " diff --git a/dev-cpp/folly/folly-2022.08.08.00.ebuild b/dev-cpp/folly/folly-2022.08.08.00.ebuild new file mode 100644 index 000000000000..efd3b6a989de --- /dev/null +++ b/dev-cpp/folly/folly-2022.08.08.00.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# These must be bumped together: +# dev-cpp/edencommon +# dev-cpp/folly +# dev-util/watchman + +inherit cmake toolchain-funcs + +DESCRIPTION="An open-source C++ library developed and used at Facebook" +HOMEPAGE="https://github.com/facebook/folly" +SRC_URI="https://github.com/facebook/folly/releases/download/v${PV}/${PN}-v${PV}.tar.gz" +S="${WORKDIR}" + +LICENSE="Apache-2.0" +SLOT="0/${PV}" +KEYWORDS="~amd64" +IUSE="llvm-libunwind test" +RESTRICT="!test? ( test )" + +RDEPEND="app-arch/bzip2 + app-arch/lz4:= + app-arch/snappy:= + app-arch/xz-utils + app-arch/zstd:= + dev-cpp/gflags:= + dev-cpp/glog:=[gflags] + dev-libs/boost:=[context,threads(+)] + dev-libs/double-conversion:= + dev-libs/libaio + dev-libs/libevent:= + dev-libs/libfmt:= + dev-libs/libsodium:= + dev-libs/openssl:= + sys-libs/liburing:= + sys-libs/zlib + llvm-libunwind? ( sys-libs/llvm-libunwind:= ) + !llvm-libunwind? ( sys-libs/libunwind:= )" +# libiberty is linked statically +DEPEND="${RDEPEND} + sys-libs/binutils-libs + test? ( dev-cpp/gtest )" +BDEPEND="test? ( sys-devel/clang )" + +PATCHES=( + "${FILESDIR}/${PN}"-2022.07.04.00-musl-fix.patch + "${FILESDIR}/${PN}"-2022.08.08.00-undefined-reference-fix.patch +) + +pkg_setup() { + [[ ${BUILD_TYPE} == "binary" ]] && return + + if use test && ! tc-is-clang ; then + # Always build w/ Clang for now to avoid gcc ICE + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106230 + #if [[ $(gcc-major-version) -eq 12 ]] ; then + # return + #fi + + ## Only older GCC 11 is broken + #if [[ $(gcc-major-version) -eq 11 && $(gcc-minor-version) -ge 3 && $(gcc-micro-version) -ge 1 ]] ; then + # return + #fi + + ewarn "Forcing build with Clang due to GCC bug (because tests are enabled)" + #ewarn "(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104008)" + + export CC=${CHOST}-clang + export CXX=${CHOST}-clang++ + fi +} + +src_configure() { + # TODO: liburing could in theory be optional but fails to link + + local mycmakeargs=( + -DLIB_INSTALL_DIR="$(get_libdir)" + + -DBUILD_TESTS=$(usex test) + ) + + cmake_src_configure +} + +src_test() { + local myctestargs=( + # - timeseries_histogram_test.TimeseriesHistogram.Percentile|HHWheelTimerTest + # Long-standing known test failure + # TODO: report upstream + # - HHWheelTimerTest.HHWheelTimerTest.CancelTimeout + # Timeouts are fragile + -E "(timeseries_histogram_test.TimeseriesHistogram.Percentile|HHWheelTimerTest.HHWheelTimerTest.CancelTimeout)" + ) + + cmake_src_test +} |