dev-libs/pocl: add 6.0

Bug: https://bugs.gentoo.org/922912
Closes: https://bugs.gentoo.org/907333
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James
2024-07-08 12:38:57 +01:00
parent 071eeea797
commit a4f69f95bd
2 changed files with 110 additions and 0 deletions
+1
View File
@@ -1,2 +1,3 @@
DIST pocl-4.0.tar.gz 2140919 BLAKE2B 1e9dd4de4824dd4a9e2b0d053d1786062c135d3bf7ca99dc884657b89c651fca6c0f3dedb568439802a58b0bfabc10939ca344b0110ae5fdb31be06f596d2a48 SHA512 3835a9e8fc8562d50a91a11b807cf87a096891f5c27675127b66412eacff2e541b6143b49b4155f43a09f4e53faa062ec20f3b20badeca206ece9f45ad50f26a
DIST pocl-5.0.tar.gz 2361502 BLAKE2B eca07953ff56e7e4ca10f71db12819547bc8ff28da26e569c3544edd802f9ded0a8bd0d9cb260069cfe3788f9bc6c84d6ae96c1148c4e92fe6268a95a60ee5b6 SHA512 c2d6c80cbcba7af1c31dfa794c2aa7be6d1ce2cc9900fbf6e0a1536747440602cdc0f1a84f81f85737818a7ea60b490558ef328b3b156e52c63db3fe4ce490b0
DIST pocl-6.0.tar.gz 2466652 BLAKE2B e074f35bfe8ccd70038fe05ca01da033849bed83075330f1149597455a5892281d4d09b8db5b4731e7e0c248d1ffdc8e8707c1ebe53d50624294ad92aa886be6 SHA512 a24efadbbb81c810cd5c4bbb8abfa75b9bbdfeca786e8471dd75d40a78024d04c1b5c5a7114e75e1eb70a1b6a3756bb47ba741de0f1c4d1416fbce4688d62cc0
+109
View File
@@ -0,0 +1,109 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LLVM_COMPAT=( {15..18} )
inherit cmake llvm-r1
DESCRIPTION="Portable Computing Language (an implementation of OpenCL)"
HOMEPAGE="http://portablecl.org https://github.com/pocl/pocl"
SRC_URI="https://github.com/pocl/pocl/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc64"
# TODO: hsa tce
IUSE="accel +conformance cuda debug examples float-conversion hardening +hwloc memmanager test"
# Tests not yet passing, fragile in Portage environment(?)
RESTRICT="!test? ( test ) test"
CLANG_DEPS="
$(llvm_gen_dep '
!cuda? (
sys-devel/clang:${LLVM_SLOT}=
sys-devel/llvm:${LLVM_SLOT}=
)
cuda? (
sys-devel/clang:${LLVM_SLOT}=[llvm_targets_NVPTX]
sys-devel/llvm:${LLVM_SLOT}=[llvm_targets_NVPTX]
)
')
"
RDEPEND="
${CLANG_DEPS}
dev-libs/libltdl
virtual/opencl
debug? ( dev-util/lttng-ust:= )
hwloc? ( sys-apps/hwloc:=[cuda?] )
"
DEPEND="${RDEPEND}"
BDEPEND="
${CLANG_DEPS}
virtual/pkgconfig
"
src_configure() {
local host_cpu_variants="generic"
if use amd64 ; then
# Use pocl's curated list of CPU variants which should contain a good match for any given amd64 CPU
host_cpu_variants="distro"
elif use ppc64 ; then
# A selection of architectures in which new Altivec / VSX features were added
# This attempts to recreate the amd64 "distro" option for ppc64
# See discussion in bug #831859
host_cpu_variants="pwr10;pwr9;pwr8;pwr7;pwr6;g5;a2;generic"
elif use riscv; then
host_cpu_variants="generic-rv64"
fi
local mycmakeargs=(
-DENABLE_HSA=OFF
-DENABLE_ICD=ON
-DPOCL_ICD_ABSOLUTE_PATH=ON
-DPOCL_INSTALL_PUBLIC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/OpenCL/vendors/pocl"
# only appends -flto
-DENABLE_IPO=OFF
-DENABLE_POCL_BUILDING=ON
-DKERNELLIB_HOST_CPU_VARIANTS="${host_cpu_variants}"
-DSTATIC_LLVM=OFF
-DWITH_LLVM_CONFIG=$(get_llvm_prefix -d)/bin/llvm-config
-DENABLE_ALMAIF_DEVICE=$(usex accel)
-DENABLE_CONFORMANCE=$(usex conformance)
-DENABLE_CUDA=$(usex cuda)
-DENABLE_HWLOC=$(usex hwloc)
-DENABLE_POCL_FLOAT_CONVERSION=$(usex float-conversion)
-DHARDENING_ENABLE=$(usex hardening)
-DPOCL_DEBUG_MESSAGES=$(usex debug)
-DUSE_POCL_MEMMANAGER=$(usex memmanager)
-DENABLE_TESTS=$(usex test)
)
cmake_src_configure
}
src_test() {
export POCL_BUILDING=1
export POCL_DEVICES=basic
export CTEST_OUTPUT_ON_FAILURE=1
export TEST_VERBOSE=1
# Referenced https://github.com/pocl/pocl/blob/master/.drone.yml
# But couldn't seem to get tests working yet
cmake_src_test
}
src_install() {
cmake_src_install
if use examples; then
dodoc -r examples
docompress -x /usr/share/doc/${P}/examples
fi
}