commit: 2836fd63ef7c7b8756883bffd58e06392653f65d Author: Michał Górny <mgorny <AT> gentoo <DOT> org> AuthorDate: Sat Mar 16 16:52:50 2024 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Sat Mar 16 17:08:51 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2836fd63
sys-libs/libomp: Add slotted versions Closes: https://bugs.gentoo.org/904140 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org> ...-19.0.0.9999.ebuild => libomp-15.0.7-r7.ebuild} | 61 +++++++--------------- ...-19.0.0.9999.ebuild => libomp-16.0.6-r1.ebuild} | 25 ++++----- ...-19.0.0.9999.ebuild => libomp-17.0.6-r1.ebuild} | 25 ++++----- ...-19.0.0.9999.ebuild => libomp-18.1.0-r1.ebuild} | 7 ++- sys-libs/libomp/libomp-19.0.0.9999.ebuild | 4 +- ....ebuild => libomp-19.0.0_pre20240316-r1.ebuild} | 4 +- 6 files changed, 47 insertions(+), 79 deletions(-) diff --git a/sys-libs/libomp/libomp-19.0.0.9999.ebuild b/sys-libs/libomp/libomp-15.0.7-r7.ebuild similarity index 68% copy from sys-libs/libomp/libomp-19.0.0.9999.ebuild copy to sys-libs/libomp/libomp-15.0.7-r7.ebuild index a40d0aed1c41..969100d279b4 100644 --- a/sys-libs/libomp/libomp-19.0.0.9999.ebuild +++ b/sys-libs/libomp/libomp-15.0.7-r7.ebuild @@ -3,32 +3,30 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..12} ) -inherit flag-o-matic cmake-multilib linux-info llvm.org llvm-utils -inherit python-single-r1 toolchain-funcs +PYTHON_COMPAT=( python3_{10..11} ) +inherit flag-o-matic cmake-multilib linux-info llvm llvm.org python-any-r1 DESCRIPTION="OpenMP runtime library for LLVM/clang compiler" HOMEPAGE="https://openmp.llvm.org" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" -SLOT="0/${LLVM_SOABI}" +SLOT="${LLVM_MAJOR}/${LLVM_SOABI}" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x64-macos" IUSE=" - +debug gdb-plugin hwloc offload ompt test + debug hwloc offload ompt test llvm_targets_AMDGPU llvm_targets_NVPTX " -REQUIRED_USE=" - gdb-plugin? ( ${PYTHON_REQUIRED_USE} ) -" RESTRICT="!test? ( test )" RDEPEND=" - gdb-plugin? ( ${PYTHON_DEPS} ) hwloc? ( >=sys-apps/hwloc-2.5:0=[${MULTILIB_USEDEP}] ) offload? ( + virtual/libelf:=[${MULTILIB_USEDEP}] dev-libs/libffi:=[${MULTILIB_USEDEP}] ~sys-devel/llvm-${PV}[${MULTILIB_USEDEP}] llvm_targets_AMDGPU? ( dev-libs/rocr-runtime:= ) ) + !sys-libs/libomp:0 " # tests: # - dev-python/lit provides the test runner @@ -45,17 +43,19 @@ BDEPEND=" virtual/pkgconfig ) test? ( - ${PYTHON_DEPS} - $(python_gen_cond_dep ' - dev-python/lit[${PYTHON_USEDEP}] - ') + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') sys-devel/clang ) " LLVM_COMPONENTS=( openmp cmake llvm/include ) +LLVM_PATCHSET=15.0.7-r6 llvm.org_set_globals +python_check_deps() { + python_has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + kernel_pds_check() { if use kernel_linux && kernel_is -lt 4 15 && kernel_is -ge 4 13; then local CONFIG_CHECK="~!SCHED_PDS" @@ -74,40 +74,26 @@ pkg_pretend() { } pkg_setup() { - if use gdb-plugin || use test; then - python-single-r1_pkg_setup - fi + use offload && LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup + use test && python-any-r1_pkg_setup } multilib_src_configure() { - use offload && llvm_prepend_path "${LLVM_MAJOR}" - # LTO causes issues in other packages building, #870127 filter-lto # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" - local build_omptarget=OFF - # upstream disallows building libomptarget when sizeof(void*) != 8 - if use offload && - "$(tc-getCC)" ${CFLAGS} ${CPPFLAGS} -c -x c - -o /dev/null \ - <<-EOF &>/dev/null - int test[sizeof(void *) == 8 ? 1 : -1]; - EOF - then - build_omptarget=ON - fi - local libdir="$(get_libdir)" local mycmakeargs=( + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}" -DOPENMP_LIBDIR_SUFFIX="${libdir#lib}" -DLIBOMP_USE_HWLOC=$(usex hwloc) - -DLIBOMP_OMPD_GDB_SUPPORT=$(multilib_native_usex gdb-plugin) -DLIBOMP_OMPT_SUPPORT=$(usex ompt) - -DOPENMP_ENABLE_LIBOMPTARGET=${build_omptarget} + -DOPENMP_ENABLE_LIBOMPTARGET=$(usex offload) # do not install libgomp.so & libiomp5.so aliases -DLIBOMP_INSTALL_ALIASES=OFF @@ -115,22 +101,11 @@ multilib_src_configure() { -DLIBOMP_COPY_EXPORTS=OFF ) - if [[ ${build_omptarget} == ON ]]; then - local ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi) - local ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi) - mycmakeargs+=( - -DFFI_INCLUDE_DIR="${ffi_cflags#-I}" - -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}" - ) - + if use offload; then if has "${CHOST%%-*}" aarch64 powerpc64le x86_64; then mycmakeargs+=( -DLIBOMPTARGET_BUILD_AMDGPU_PLUGIN=$(usex llvm_targets_AMDGPU) -DLIBOMPTARGET_BUILD_CUDA_PLUGIN=$(usex llvm_targets_NVPTX) - - # prevent trying to access the GPU - -DLIBOMPTARGET_AMDGPU_ARCH=LIBOMPTARGET_AMDGPU_ARCH-NOTFOUND - -DLIBOMPTARGET_NVPTX_ARCH=LIBOMPTARGET_NVPTX_ARCH-NOTFOUND ) else mycmakeargs+=( diff --git a/sys-libs/libomp/libomp-19.0.0.9999.ebuild b/sys-libs/libomp/libomp-16.0.6-r1.ebuild similarity index 86% copy from sys-libs/libomp/libomp-19.0.0.9999.ebuild copy to sys-libs/libomp/libomp-16.0.6-r1.ebuild index a40d0aed1c41..e797abfb97dc 100644 --- a/sys-libs/libomp/libomp-19.0.0.9999.ebuild +++ b/sys-libs/libomp/libomp-16.0.6-r1.ebuild @@ -4,16 +4,17 @@ EAPI=8 PYTHON_COMPAT=( python3_{10..12} ) -inherit flag-o-matic cmake-multilib linux-info llvm.org llvm-utils +inherit flag-o-matic cmake-multilib linux-info llvm llvm.org inherit python-single-r1 toolchain-funcs DESCRIPTION="OpenMP runtime library for LLVM/clang compiler" HOMEPAGE="https://openmp.llvm.org" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" -SLOT="0/${LLVM_SOABI}" +SLOT="${LLVM_MAJOR}/${LLVM_SOABI}" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x64-macos" IUSE=" - +debug gdb-plugin hwloc offload ompt test + debug gdb-plugin hwloc offload ompt test llvm_targets_AMDGPU llvm_targets_NVPTX " REQUIRED_USE=" @@ -29,6 +30,7 @@ RDEPEND=" ~sys-devel/llvm-${PV}[${MULTILIB_USEDEP}] llvm_targets_AMDGPU? ( dev-libs/rocr-runtime:= ) ) + !sys-libs/libomp:0 " # tests: # - dev-python/lit provides the test runner @@ -74,14 +76,13 @@ pkg_pretend() { } pkg_setup() { + use offload && LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup if use gdb-plugin || use test; then python-single-r1_pkg_setup fi } multilib_src_configure() { - use offload && llvm_prepend_path "${LLVM_MAJOR}" - # LTO causes issues in other packages building, #870127 filter-lto @@ -101,6 +102,7 @@ multilib_src_configure() { local libdir="$(get_libdir)" local mycmakeargs=( + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}" -DOPENMP_LIBDIR_SUFFIX="${libdir#lib}" -DLIBOMP_USE_HWLOC=$(usex hwloc) @@ -113,24 +115,15 @@ multilib_src_configure() { -DLIBOMP_INSTALL_ALIASES=OFF # disable unnecessary hack copying stuff back to srcdir -DLIBOMP_COPY_EXPORTS=OFF + # prevent trying to access the GPU + -DLIBOMPTARGET_AMDGPU_ARCH=LIBOMPTARGET_AMDGPU_ARCH-NOTFOUND ) if [[ ${build_omptarget} == ON ]]; then - local ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi) - local ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi) - mycmakeargs+=( - -DFFI_INCLUDE_DIR="${ffi_cflags#-I}" - -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}" - ) - if has "${CHOST%%-*}" aarch64 powerpc64le x86_64; then mycmakeargs+=( -DLIBOMPTARGET_BUILD_AMDGPU_PLUGIN=$(usex llvm_targets_AMDGPU) -DLIBOMPTARGET_BUILD_CUDA_PLUGIN=$(usex llvm_targets_NVPTX) - - # prevent trying to access the GPU - -DLIBOMPTARGET_AMDGPU_ARCH=LIBOMPTARGET_AMDGPU_ARCH-NOTFOUND - -DLIBOMPTARGET_NVPTX_ARCH=LIBOMPTARGET_NVPTX_ARCH-NOTFOUND ) else mycmakeargs+=( diff --git a/sys-libs/libomp/libomp-19.0.0.9999.ebuild b/sys-libs/libomp/libomp-17.0.6-r1.ebuild similarity index 86% copy from sys-libs/libomp/libomp-19.0.0.9999.ebuild copy to sys-libs/libomp/libomp-17.0.6-r1.ebuild index a40d0aed1c41..e797abfb97dc 100644 --- a/sys-libs/libomp/libomp-19.0.0.9999.ebuild +++ b/sys-libs/libomp/libomp-17.0.6-r1.ebuild @@ -4,16 +4,17 @@ EAPI=8 PYTHON_COMPAT=( python3_{10..12} ) -inherit flag-o-matic cmake-multilib linux-info llvm.org llvm-utils +inherit flag-o-matic cmake-multilib linux-info llvm llvm.org inherit python-single-r1 toolchain-funcs DESCRIPTION="OpenMP runtime library for LLVM/clang compiler" HOMEPAGE="https://openmp.llvm.org" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" -SLOT="0/${LLVM_SOABI}" +SLOT="${LLVM_MAJOR}/${LLVM_SOABI}" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x64-macos" IUSE=" - +debug gdb-plugin hwloc offload ompt test + debug gdb-plugin hwloc offload ompt test llvm_targets_AMDGPU llvm_targets_NVPTX " REQUIRED_USE=" @@ -29,6 +30,7 @@ RDEPEND=" ~sys-devel/llvm-${PV}[${MULTILIB_USEDEP}] llvm_targets_AMDGPU? ( dev-libs/rocr-runtime:= ) ) + !sys-libs/libomp:0 " # tests: # - dev-python/lit provides the test runner @@ -74,14 +76,13 @@ pkg_pretend() { } pkg_setup() { + use offload && LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup if use gdb-plugin || use test; then python-single-r1_pkg_setup fi } multilib_src_configure() { - use offload && llvm_prepend_path "${LLVM_MAJOR}" - # LTO causes issues in other packages building, #870127 filter-lto @@ -101,6 +102,7 @@ multilib_src_configure() { local libdir="$(get_libdir)" local mycmakeargs=( + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}" -DOPENMP_LIBDIR_SUFFIX="${libdir#lib}" -DLIBOMP_USE_HWLOC=$(usex hwloc) @@ -113,24 +115,15 @@ multilib_src_configure() { -DLIBOMP_INSTALL_ALIASES=OFF # disable unnecessary hack copying stuff back to srcdir -DLIBOMP_COPY_EXPORTS=OFF + # prevent trying to access the GPU + -DLIBOMPTARGET_AMDGPU_ARCH=LIBOMPTARGET_AMDGPU_ARCH-NOTFOUND ) if [[ ${build_omptarget} == ON ]]; then - local ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi) - local ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi) - mycmakeargs+=( - -DFFI_INCLUDE_DIR="${ffi_cflags#-I}" - -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}" - ) - if has "${CHOST%%-*}" aarch64 powerpc64le x86_64; then mycmakeargs+=( -DLIBOMPTARGET_BUILD_AMDGPU_PLUGIN=$(usex llvm_targets_AMDGPU) -DLIBOMPTARGET_BUILD_CUDA_PLUGIN=$(usex llvm_targets_NVPTX) - - # prevent trying to access the GPU - -DLIBOMPTARGET_AMDGPU_ARCH=LIBOMPTARGET_AMDGPU_ARCH-NOTFOUND - -DLIBOMPTARGET_NVPTX_ARCH=LIBOMPTARGET_NVPTX_ARCH-NOTFOUND ) else mycmakeargs+=( diff --git a/sys-libs/libomp/libomp-19.0.0.9999.ebuild b/sys-libs/libomp/libomp-18.1.0-r1.ebuild similarity index 94% copy from sys-libs/libomp/libomp-19.0.0.9999.ebuild copy to sys-libs/libomp/libomp-18.1.0-r1.ebuild index a40d0aed1c41..4f88ffca6194 100644 --- a/sys-libs/libomp/libomp-19.0.0.9999.ebuild +++ b/sys-libs/libomp/libomp-18.1.0-r1.ebuild @@ -11,9 +11,10 @@ DESCRIPTION="OpenMP runtime library for LLVM/clang compiler" HOMEPAGE="https://openmp.llvm.org" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" -SLOT="0/${LLVM_SOABI}" +SLOT="${LLVM_MAJOR}/${LLVM_SOABI}" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x64-macos" IUSE=" - +debug gdb-plugin hwloc offload ompt test + debug gdb-plugin hwloc offload ompt test llvm_targets_AMDGPU llvm_targets_NVPTX " REQUIRED_USE=" @@ -29,6 +30,7 @@ RDEPEND=" ~sys-devel/llvm-${PV}[${MULTILIB_USEDEP}] llvm_targets_AMDGPU? ( dev-libs/rocr-runtime:= ) ) + !sys-libs/libomp:0 " # tests: # - dev-python/lit provides the test runner @@ -101,6 +103,7 @@ multilib_src_configure() { local libdir="$(get_libdir)" local mycmakeargs=( + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}" -DOPENMP_LIBDIR_SUFFIX="${libdir#lib}" -DLIBOMP_USE_HWLOC=$(usex hwloc) diff --git a/sys-libs/libomp/libomp-19.0.0.9999.ebuild b/sys-libs/libomp/libomp-19.0.0.9999.ebuild index a40d0aed1c41..bf67f76f8f16 100644 --- a/sys-libs/libomp/libomp-19.0.0.9999.ebuild +++ b/sys-libs/libomp/libomp-19.0.0.9999.ebuild @@ -11,7 +11,7 @@ DESCRIPTION="OpenMP runtime library for LLVM/clang compiler" HOMEPAGE="https://openmp.llvm.org" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" -SLOT="0/${LLVM_SOABI}" +SLOT="${LLVM_MAJOR}/${LLVM_SOABI}" IUSE=" +debug gdb-plugin hwloc offload ompt test llvm_targets_AMDGPU llvm_targets_NVPTX @@ -29,6 +29,7 @@ RDEPEND=" ~sys-devel/llvm-${PV}[${MULTILIB_USEDEP}] llvm_targets_AMDGPU? ( dev-libs/rocr-runtime:= ) ) + !sys-libs/libomp:0 " # tests: # - dev-python/lit provides the test runner @@ -101,6 +102,7 @@ multilib_src_configure() { local libdir="$(get_libdir)" local mycmakeargs=( + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}" -DOPENMP_LIBDIR_SUFFIX="${libdir#lib}" -DLIBOMP_USE_HWLOC=$(usex hwloc) diff --git a/sys-libs/libomp/libomp-19.0.0.9999.ebuild b/sys-libs/libomp/libomp-19.0.0_pre20240316-r1.ebuild similarity index 97% copy from sys-libs/libomp/libomp-19.0.0.9999.ebuild copy to sys-libs/libomp/libomp-19.0.0_pre20240316-r1.ebuild index a40d0aed1c41..bf67f76f8f16 100644 --- a/sys-libs/libomp/libomp-19.0.0.9999.ebuild +++ b/sys-libs/libomp/libomp-19.0.0_pre20240316-r1.ebuild @@ -11,7 +11,7 @@ DESCRIPTION="OpenMP runtime library for LLVM/clang compiler" HOMEPAGE="https://openmp.llvm.org" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" -SLOT="0/${LLVM_SOABI}" +SLOT="${LLVM_MAJOR}/${LLVM_SOABI}" IUSE=" +debug gdb-plugin hwloc offload ompt test llvm_targets_AMDGPU llvm_targets_NVPTX @@ -29,6 +29,7 @@ RDEPEND=" ~sys-devel/llvm-${PV}[${MULTILIB_USEDEP}] llvm_targets_AMDGPU? ( dev-libs/rocr-runtime:= ) ) + !sys-libs/libomp:0 " # tests: # - dev-python/lit provides the test runner @@ -101,6 +102,7 @@ multilib_src_configure() { local libdir="$(get_libdir)" local mycmakeargs=( + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}" -DOPENMP_LIBDIR_SUFFIX="${libdir#lib}" -DLIBOMP_USE_HWLOC=$(usex hwloc)