diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-08-09 19:00:54 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-08-09 19:00:54 +0000 |
| commit | a4b8d4937c712fb3f2c823bae14ffb7c8e08ae67 (patch) | |
| tree | 06455377eab71d276b313a408b26a9d90b7e35fb /dev-cpp | |
| parent | e1f32c4b7fb97dbe3418966200e1df602b23b573 (diff) | |
| download | baldeagleos-repo-a4b8d4937c712fb3f2c823bae14ffb7c8e08ae67.tar.gz baldeagleos-repo-a4b8d4937c712fb3f2c823bae14ffb7c8e08ae67.tar.xz baldeagleos-repo-a4b8d4937c712fb3f2c823bae14ffb7c8e08ae67.zip | |
Adding metadata
Diffstat (limited to 'dev-cpp')
| -rw-r--r-- | dev-cpp/cpp-httplib/Manifest | 2 | ||||
| -rw-r--r-- | dev-cpp/cpp-httplib/cpp-httplib-0.25.0.ebuild (renamed from dev-cpp/cpp-httplib/cpp-httplib-0.23.1.ebuild) | 0 | ||||
| -rw-r--r-- | dev-cpp/kokkos/kokkos-4.6.2-r2.ebuild | 113 | ||||
| -rw-r--r-- | dev-cpp/kokkos/kokkos-9999.ebuild | 60 |
4 files changed, 170 insertions, 5 deletions
diff --git a/dev-cpp/cpp-httplib/Manifest b/dev-cpp/cpp-httplib/Manifest index 93b281ed1aa6..c4e6bc9e65ca 100644 --- a/dev-cpp/cpp-httplib/Manifest +++ b/dev-cpp/cpp-httplib/Manifest @@ -1,2 +1,2 @@ -DIST cpp-httplib-0.23.1.tar.gz 1300345 BLAKE2B 2fd7cfd0008cdefb2f20e48b608dba684207703fee5755739a1512a1f47bbd63bc1a05cbbe9127b2911be277446b18124be210ba2ac4560080e0c7c339354e28 SHA512 f8037a0d55019931beb4dfd12418c140e6b170ed7d0eb851f2eebefb8a5f48bb83fc3c9030b78a3524190d2d1647a16e14ac64209ce663bbaa717f03b167cb59 DIST cpp-httplib-0.24.0.tar.gz 1301392 BLAKE2B dd67831e5558dbefa8dc8be80c09e84cc5e29b70035ad612c8ebbe28a2fbcd9fd8319c3dc5580d4b8f1c8ef57151cbffc66ed6459bd44babf7612745cbfa141b SHA512 9e6c50392fab0069ecde703117a88a694aea80b5ea8da6938d4918ec8084ebb7bfa72b6b9fd97da65f13d57f47b7774ecf42b78fbcfdfc015d9cffc208630572 +DIST cpp-httplib-0.25.0.tar.gz 1304332 BLAKE2B 27522d0329e9fa1f199673f02ba606c5747749291922724694dd057b23bc7ef567981bfa5e1ae1f63c2eedd84d10a7ab6047d566e521854b5f6e6fa453779675 SHA512 702f68e8049362dfefc69002beb98d952f72ab72e8310c0bab878aaf9202e8421d9b738bf1a3a6278daecac30aff91e08e55c2a42f67535314e15992045612d8 diff --git a/dev-cpp/cpp-httplib/cpp-httplib-0.23.1.ebuild b/dev-cpp/cpp-httplib/cpp-httplib-0.25.0.ebuild index 01d7ec6e8d8b..01d7ec6e8d8b 100644 --- a/dev-cpp/cpp-httplib/cpp-httplib-0.23.1.ebuild +++ b/dev-cpp/cpp-httplib/cpp-httplib-0.25.0.ebuild diff --git a/dev-cpp/kokkos/kokkos-4.6.2-r2.ebuild b/dev-cpp/kokkos/kokkos-4.6.2-r2.ebuild new file mode 100644 index 000000000000..95f7a4721574 --- /dev/null +++ b/dev-cpp/kokkos/kokkos-4.6.2-r2.ebuild @@ -0,0 +1,113 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake cuda toolchain-funcs + +DESCRIPTION="C++ Performance Portability Programming EcoSystem" +HOMEPAGE="https://github.com/kokkos" + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/kokkos/kokkos.git" +else + MY_PV="$(ver_cut 1-2).0$(ver_cut 3)" + SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/${MY_PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${PN}-${MY_PV}" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="BSD" +SLOT="0/${PV}" +IUSE="cuda +openmp test" +RESTRICT="!test? ( test )" + +DEPEND="sys-apps/hwloc:=" +RDEPEND="${DEPEND}" + +# +# Try to translate the "${CUDAARCHS}" number coming from __nvcc_device_query +# into an option string that Kokkos' CMake configuration understands: +# +kokkos_arch_option() { + case "${1}" in + 3[0257]) echo "-DKokkos_ARCH_KEPLER${1}=ON" ;; + 5[023]) echo "-DKokkos_ARCH_MAXWELL${1}=ON" ;; + 6[01]) echo "-DKokkos_ARCH_PASCAL${1}=ON" ;; + 7[02]) echo "-DKokkos_ARCH_VOLTA${1}=ON" ;; + 75) echo "-DKokkos_ARCH_TURING${1}=ON" ;; + 8[06]) echo "-DKokkos_ARCH_AMPERE${1}=ON" ;; + 89) echo "-DKokkos_ARCH_ADA${1}=ON" ;; + 90) echo "-DKokkos_ARCH_HOPPER${1}=ON" ;; + 1[02]0) echo "-DKokkos_ARCH_BLACKWELL${1}=ON" ;; + *) die "Unknown CUDA architecture »${1}«" ;; + esac +} + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +src_prepare() { + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DCMAKE_INSTALL_INCLUDEDIR=include/kokkos + -DKokkos_ENABLE_TESTS="$(usex test)" + -DKokkos_ENABLE_AGGRESSIVE_VECTORIZATION=ON + -DKokkos_ENABLE_SERIAL=ON + -DKokkos_ENABLE_HWLOC=ON + -DKokkos_ENABLE_CUDA="$(usex cuda)" + -DKokkos_HWLOC_DIR="${EPREFIX}/usr" + -DKokkos_ENABLE_OPENMP="$(usex openmp)" + -DBUILD_SHARED_LIBS=ON + ) + + if use cuda; then + cuda_add_sandbox -w + + if [[ ! -n "${CUDAARCHS}" ]]; then + if ! SANDBOX_WRITE=/dev/nvidiactl test -w /dev/nvidiactl ; then + eerror + eerror "Can not access the GPU at /dev/nvidiactl." + eerror "User $(id -nu) is not in the group \"video\"." + eerror + ewarn + ewarn "Can not query the native device. You will need to set one of the" + ewarn "supported Kokkos_ARCH_{..} CMake variables, or the CUDAARCHS" + ewarn "environment variable to the appropriate architecture by hand..." + ewarn + else + local CUDAARCHS + CUDAARCHS="$(__nvcc_device_query || eerror "failed to query the native device")" + fi + fi + + if [[ -n "${CUDAARCHS}" ]]; then + einfo "Building with CUDAARCHS=${CUDAARCHS}" + mycmakeargs+=( + $(kokkos_arch_option "${CUDAARCHS}") + ) + fi + fi + + cmake_src_configure +} + +src_test() { + local myctestargs=( + # Contains "death tests" which are known/expected(?) to fail + # https://github.com/kokkos/kokkos/issues/3033 + # bug #791514 + -E "(KokkosCore_UnitTest_OpenMP|KokkosCore_UnitTest_Serial)" + ) + + cmake_src_test +} diff --git a/dev-cpp/kokkos/kokkos-9999.ebuild b/dev-cpp/kokkos/kokkos-9999.ebuild index ee6ccf7fff8b..95f7a4721574 100644 --- a/dev-cpp/kokkos/kokkos-9999.ebuild +++ b/dev-cpp/kokkos/kokkos-9999.ebuild @@ -3,7 +3,7 @@ EAPI=8 -inherit cmake toolchain-funcs +inherit cmake cuda toolchain-funcs DESCRIPTION="C++ Performance Portability Programming EcoSystem" HOMEPAGE="https://github.com/kokkos" @@ -20,12 +20,31 @@ fi LICENSE="BSD" SLOT="0/${PV}" -IUSE="+openmp test" +IUSE="cuda +openmp test" RESTRICT="!test? ( test )" DEPEND="sys-apps/hwloc:=" RDEPEND="${DEPEND}" +# +# Try to translate the "${CUDAARCHS}" number coming from __nvcc_device_query +# into an option string that Kokkos' CMake configuration understands: +# +kokkos_arch_option() { + case "${1}" in + 3[0257]) echo "-DKokkos_ARCH_KEPLER${1}=ON" ;; + 5[023]) echo "-DKokkos_ARCH_MAXWELL${1}=ON" ;; + 6[01]) echo "-DKokkos_ARCH_PASCAL${1}=ON" ;; + 7[02]) echo "-DKokkos_ARCH_VOLTA${1}=ON" ;; + 75) echo "-DKokkos_ARCH_TURING${1}=ON" ;; + 8[06]) echo "-DKokkos_ARCH_AMPERE${1}=ON" ;; + 89) echo "-DKokkos_ARCH_ADA${1}=ON" ;; + 90) echo "-DKokkos_ARCH_HOPPER${1}=ON" ;; + 1[02]0) echo "-DKokkos_ARCH_BLACKWELL${1}=ON" ;; + *) die "Unknown CUDA architecture »${1}«" ;; + esac +} + pkg_pretend() { [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp } @@ -34,18 +53,51 @@ pkg_setup() { [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp } +src_prepare() { + cmake_src_prepare +} + src_configure() { local mycmakeargs=( -DCMAKE_INSTALL_INCLUDEDIR=include/kokkos - -DKokkos_ENABLE_TESTS=$(usex test) + -DKokkos_ENABLE_TESTS="$(usex test)" -DKokkos_ENABLE_AGGRESSIVE_VECTORIZATION=ON -DKokkos_ENABLE_SERIAL=ON -DKokkos_ENABLE_HWLOC=ON + -DKokkos_ENABLE_CUDA="$(usex cuda)" -DKokkos_HWLOC_DIR="${EPREFIX}/usr" - -DKokkos_ENABLE_OPENMP=$(usex openmp) + -DKokkos_ENABLE_OPENMP="$(usex openmp)" -DBUILD_SHARED_LIBS=ON ) + if use cuda; then + cuda_add_sandbox -w + + if [[ ! -n "${CUDAARCHS}" ]]; then + if ! SANDBOX_WRITE=/dev/nvidiactl test -w /dev/nvidiactl ; then + eerror + eerror "Can not access the GPU at /dev/nvidiactl." + eerror "User $(id -nu) is not in the group \"video\"." + eerror + ewarn + ewarn "Can not query the native device. You will need to set one of the" + ewarn "supported Kokkos_ARCH_{..} CMake variables, or the CUDAARCHS" + ewarn "environment variable to the appropriate architecture by hand..." + ewarn + else + local CUDAARCHS + CUDAARCHS="$(__nvcc_device_query || eerror "failed to query the native device")" + fi + fi + + if [[ -n "${CUDAARCHS}" ]]; then + einfo "Building with CUDAARCHS=${CUDAARCHS}" + mycmakeargs+=( + $(kokkos_arch_option "${CUDAARCHS}") + ) + fi + fi + cmake_src_configure } |
