commit: 70bf3a8996b9a14b0e28d7e367275a20f6d0cffc Author: Michał Górny <mgorny <AT> gentoo <DOT> org> AuthorDate: Fri Sep 30 13:49:51 2022 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Fri Sep 30 15:52:50 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=70bf3a89
sys-devel/llvm: Add zstd support in 16.x Bug: https://bugs.gentoo.org/873526 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org> sys-devel/llvm/llvm-16.0.0.9999.ebuild | 22 +++++++++++++++++++--- sys-devel/llvm/llvm-16.0.0_pre20220930.ebuild | 22 +++++++++++++++++++--- 2 files changed, 38 insertions(+), 6 deletions(-) diff --git a/sys-devel/llvm/llvm-16.0.0.9999.ebuild b/sys-devel/llvm/llvm-16.0.0.9999.ebuild index 9171387473ba..d0153e31a64d 100644 --- a/sys-devel/llvm/llvm-16.0.0.9999.ebuild +++ b/sys-devel/llvm/llvm-16.0.0.9999.ebuild @@ -4,8 +4,8 @@ EAPI=8 PYTHON_COMPAT=( python3_{8..11} ) -inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \ - toolchain-funcs +inherit cmake llvm.org multilib multilib-minimal pax-utils \ + python-any-r1 toolchain-funcs DESCRIPTION="Low Level Virtual Machine" HOMEPAGE="https://llvm.org/" @@ -19,7 +19,10 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc" SLOT="$(ver_cut 1)" KEYWORDS="" -IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3" +IUSE=" + +binutils-plugin debug doc exegesis libedit +libffi ncurses test xar + xml z3 zstd +" RESTRICT="!test? ( test )" RDEPEND=" @@ -32,6 +35,7 @@ RDEPEND=" xar? ( app-arch/xar ) xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] ) z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] ) + zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) " DEPEND=" ${RDEPEND} @@ -337,6 +341,13 @@ multilib_src_configure() { ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi) ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi) fi + if use zstd; then + cat > "${BUILD_DIR}"/zstdConfig.cmake <<-EOF || die + add_library(zstd::libzstd_shared SHARED IMPORTED) + set_target_properties(zstd::libzstd_shared PROPERTIES + IMPORTED_LOCATION "${EPREFIX}/usr/$(get_libdir)/libzstd$(get_libname)") + EOF + fi local libdir=$(get_libdir) local mycmakeargs=( @@ -366,6 +377,7 @@ multilib_src_configure() { -DLLVM_ENABLE_EH=ON -DLLVM_ENABLE_RTTI=ON -DLLVM_ENABLE_Z3_SOLVER=$(usex z3) + -DLLVM_ENABLE_ZSTD=$(usex zstd) -DLLVM_HOST_TRIPLE="${CHOST}" @@ -374,6 +386,10 @@ multilib_src_configure() { # used only for llvm-objdump tool -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0) + # workaround llvm requiring cmake files from zstd + -Dzstd_DIR="${BUILD_DIR}" + -DLLVM_PREFER_STATIC_ZSTD=FALSE + -DPython3_EXECUTABLE="${PYTHON}" # disable OCaml bindings (now in dev-ml/llvm-ocaml) diff --git a/sys-devel/llvm/llvm-16.0.0_pre20220930.ebuild b/sys-devel/llvm/llvm-16.0.0_pre20220930.ebuild index 9171387473ba..d0153e31a64d 100644 --- a/sys-devel/llvm/llvm-16.0.0_pre20220930.ebuild +++ b/sys-devel/llvm/llvm-16.0.0_pre20220930.ebuild @@ -4,8 +4,8 @@ EAPI=8 PYTHON_COMPAT=( python3_{8..11} ) -inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \ - toolchain-funcs +inherit cmake llvm.org multilib multilib-minimal pax-utils \ + python-any-r1 toolchain-funcs DESCRIPTION="Low Level Virtual Machine" HOMEPAGE="https://llvm.org/" @@ -19,7 +19,10 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc" SLOT="$(ver_cut 1)" KEYWORDS="" -IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3" +IUSE=" + +binutils-plugin debug doc exegesis libedit +libffi ncurses test xar + xml z3 zstd +" RESTRICT="!test? ( test )" RDEPEND=" @@ -32,6 +35,7 @@ RDEPEND=" xar? ( app-arch/xar ) xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] ) z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] ) + zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) " DEPEND=" ${RDEPEND} @@ -337,6 +341,13 @@ multilib_src_configure() { ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi) ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi) fi + if use zstd; then + cat > "${BUILD_DIR}"/zstdConfig.cmake <<-EOF || die + add_library(zstd::libzstd_shared SHARED IMPORTED) + set_target_properties(zstd::libzstd_shared PROPERTIES + IMPORTED_LOCATION "${EPREFIX}/usr/$(get_libdir)/libzstd$(get_libname)") + EOF + fi local libdir=$(get_libdir) local mycmakeargs=( @@ -366,6 +377,7 @@ multilib_src_configure() { -DLLVM_ENABLE_EH=ON -DLLVM_ENABLE_RTTI=ON -DLLVM_ENABLE_Z3_SOLVER=$(usex z3) + -DLLVM_ENABLE_ZSTD=$(usex zstd) -DLLVM_HOST_TRIPLE="${CHOST}" @@ -374,6 +386,10 @@ multilib_src_configure() { # used only for llvm-objdump tool -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0) + # workaround llvm requiring cmake files from zstd + -Dzstd_DIR="${BUILD_DIR}" + -DLLVM_PREFER_STATIC_ZSTD=FALSE + -DPython3_EXECUTABLE="${PYTHON}" # disable OCaml bindings (now in dev-ml/llvm-ocaml)
