summaryrefslogtreecommitdiff
path: root/dev-libs/pocl
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/pocl')
-rw-r--r--dev-libs/pocl/Manifest8
-rw-r--r--dev-libs/pocl/files/pocl-5.0-missing-definitions-fix.patch41
-rw-r--r--dev-libs/pocl/files/pocl-6.0-gcc15.patch27
-rw-r--r--dev-libs/pocl/pocl-4.0.ebuild113
-rw-r--r--dev-libs/pocl/pocl-5.0.ebuild115
-rw-r--r--dev-libs/pocl/pocl-6.0.ebuild6
6 files changed, 34 insertions, 276 deletions
diff --git a/dev-libs/pocl/Manifest b/dev-libs/pocl/Manifest
index ec076c64e0c5..61ad72a849b7 100644
--- a/dev-libs/pocl/Manifest
+++ b/dev-libs/pocl/Manifest
@@ -1,8 +1,4 @@
-AUX pocl-5.0-missing-definitions-fix.patch 3832 BLAKE2B f2487dc9eb6c2df4ecbb80fb27310276e1bda3703c316628bf639b714d3f1d22044f645ed34c6dbc756e44de5c1dcec2e53448a58284e93918bfbe38b2f17405 SHA512 0a8f10992a7db8df7c6e56c510c5e346dfdf8a9d085953250cb3eee8df50264e70927c2530dad91205482dd9c6775b86a4a1cedeb024f3dd262d0efd4ea39d54
-DIST pocl-4.0.tar.gz 2140919 BLAKE2B 1e9dd4de4824dd4a9e2b0d053d1786062c135d3bf7ca99dc884657b89c651fca6c0f3dedb568439802a58b0bfabc10939ca344b0110ae5fdb31be06f596d2a48 SHA512 3835a9e8fc8562d50a91a11b807cf87a096891f5c27675127b66412eacff2e541b6143b49b4155f43a09f4e53faa062ec20f3b20badeca206ece9f45ad50f26a
-DIST pocl-5.0.tar.gz 2361502 BLAKE2B eca07953ff56e7e4ca10f71db12819547bc8ff28da26e569c3544edd802f9ded0a8bd0d9cb260069cfe3788f9bc6c84d6ae96c1148c4e92fe6268a95a60ee5b6 SHA512 c2d6c80cbcba7af1c31dfa794c2aa7be6d1ce2cc9900fbf6e0a1536747440602cdc0f1a84f81f85737818a7ea60b490558ef328b3b156e52c63db3fe4ce490b0
+AUX pocl-6.0-gcc15.patch 734 BLAKE2B aac609b78d0cd73f0a76068ce2e170ddc9a482e312ba5e058b57c987bcdb8b38bcff5a38b4826c60db8e8540e3ef378134cfff2dd3a194e3b4bd3eb63a4b0396 SHA512 25f19cd9e7ea2ba97e179bf23df645dc470f95370ed067643f49525697e2c919b5b8d0952031890fd949967fef3b16b4451a9f4c301b2204d851bbbd9ec49db5
DIST pocl-6.0.tar.gz 2466652 BLAKE2B e074f35bfe8ccd70038fe05ca01da033849bed83075330f1149597455a5892281d4d09b8db5b4731e7e0c248d1ffdc8e8707c1ebe53d50624294ad92aa886be6 SHA512 a24efadbbb81c810cd5c4bbb8abfa75b9bbdfeca786e8471dd75d40a78024d04c1b5c5a7114e75e1eb70a1b6a3756bb47ba741de0f1c4d1416fbce4688d62cc0
-EBUILD pocl-4.0.ebuild 3059 BLAKE2B 18545c9956c9c19eeb95323ac8ac56c5e3db338c87bb90779d118afe700edb7379ab883565bd57aace3c183a230acce7532d0a9514b9d7fee77297b13030b442 SHA512 73e09c50a135e9f612ce4bad981de45b6f8884d778df8205a730ac25209fd336ce996d225cd83621267d3611ca0cbc32f17cb491bf20c1e6965ea6a495bf42be
-EBUILD pocl-5.0.ebuild 3123 BLAKE2B f64e051073544862e8f2a7294eb492894da0e92a53a8e052dbe2ca4062a81d7aff34227cc55baefa420c090553cee7450409b238978f8970cd1e74271e20541b SHA512 7ab768dcb6143dd386374e1439f238eeb0d257af0850fc4318eb10f1766cb89cddf8464375b03a5b518486eb8291f94a07a178fda3683147a1c90931a8af6c1c
-EBUILD pocl-6.0.ebuild 2845 BLAKE2B ee88f3b71f42c105ac1f9528af751d6ce7452a196b454e37065324d858a161975d5b48e54b283d9203c4fb126bdd3d738420e891d92ea7bdd7c88a4d69fac346 SHA512 2951527366ff3372abfc7d8db3c1a719811a16d3fdc80de657b7734ecbed3575bab5db2ab1314bac9299e85c8e870fd291068e03d68c534d3ac807ae4c765592
+EBUILD pocl-6.0.ebuild 2890 BLAKE2B 88f28d09e1bc72ea53e5fe527cf13af07c239e980515982d11e847b87d7ab20d726d0bdaa107b0506be34d79768f1ff0f8be1621a74247cb3bb307ef28dce6a9 SHA512 30c4898574d5188361190cb4d2b7b49512a2bb1b2e6e628a91ea62b533a6e849c69ea5af4723f81b33231a50edfd6b44cde99a3438121bb4deaa7c9f2b70441f
MISC metadata.xml 1058 BLAKE2B 8bc6e959a3683f8f1ebdb45950b72a0205e0e347e2140e3bc32e0df578bc567c87b48a0b5acc00cac3c9dd7da1d6c9e67c797a3e9b8c471810893e82abe23576 SHA512 99c20d26d65dc26ebab7818ccd3e5b15ab5b22c82bdd37493c02f80b234f80c6ca6ab369cb69f914ea3812aaceebde400504532d2d0b80d6422f3873d0f7ac06
diff --git a/dev-libs/pocl/files/pocl-5.0-missing-definitions-fix.patch b/dev-libs/pocl/files/pocl-5.0-missing-definitions-fix.patch
deleted file mode 100644
index 251bdad65bd6..000000000000
--- a/dev-libs/pocl/files/pocl-5.0-missing-definitions-fix.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-Fixes missing definitions.
-
-FAILED: lib/CL/devices/almaif/CMakeFiles/pocl-devices-almaif.dir/MMAPDevice.cc.o
-/usr/bin/x86_64-pc-linux-gnu-g++ -DCL_HPP_TARGET_OPENCL_VERSION=300 -DCL_TARGET_OPENCL_VERSION=300 -DCL_USE_DEPRECATED_OPENCL_1_0_APIS -DCL_USE_DEPRECATED_OPENCL_1_1_APIS -DCL_USE_DEPRECATED_OPENCL_1_2_APIS -DCL_USE_DEPRECATED_OPENCL_2_0_APIS -DCL_USE_DEPRECATED_OPENCL_2_1_APIS -DCL_USE_DEPRECATED_OPENCL_2_2_APIS -Dpocl_devices_almaif_EXPORTS -I/var/tmp/portage/dev-libs/pocl-5.0/work/pocl-5.0_build -I/var/tmp/portage/dev-libs/pocl-5.0/work/pocl-5.0/include -I/var/tmp/portage/dev-libs/pocl-5.0/work/pocl-5.0/include/hpp -I/var/tmp/portage/dev-libs/pocl-5.0/work/pocl-5.0/lib/CL/devices -I/var/tmp/portage/dev-libs/pocl-5.0/work/pocl-5.0/lib/CL/. -O2 -pipe -march=x86-64 -mtune=generic -std=c++11 -fPIC -Wno-ignored-attributes -fvisibility=hidden -fvisibility-inlines-hidden -MD -MT lib/CL/devices/almaif/CMakeFiles/pocl-devices-almaif.dir/MMAPDevice.cc.o -MF lib/CL/devices/almaif/CMakeFiles/pocl-devices-almaif.dir/MMAPDevice.cc.o.d -o lib/CL/devices/almaif/CMakeFiles/pocl-devices-almaif.dir/MMAPDevice.cc.o -c /var/tmp/portage/dev-libs/pocl-5.0/work/pocl-5.0/lib/CL/devices/almaif/MMAPDevice.cc
-In file included from /var/tmp/portage/dev-libs/pocl-5.0/work/pocl-5.0/lib/CL/devices/almaif/MMAPDevice.hh:28,
- from /var/tmp/portage/dev-libs/pocl-5.0/work/pocl-5.0/lib/CL/devices/almaif/MMAPDevice.cc:24:
-/var/tmp/portage/dev-libs/pocl-5.0/work/pocl-5.0/lib/CL/devices/almaif/AlmaIFDevice.hh:45:36: error: ‘cl_kernel’ has not been declared
- 45 | cl_kernel Kernel, _cl_command_node *Command);
- | ^~~~~~~~~
-/var/tmp/portage/dev-libs/pocl-5.0/work/pocl-5.0/lib/CL/devices/almaif/AlmaIFDevice.hh:45:54: error: ‘_cl_command_node’ has not been declared
- 45 | cl_kernel Kernel, _cl_command_node *Command);
- | ^~~~~~~~~~~~~~~~
-/var/tmp/portage/dev-libs/pocl-5.0/work/pocl-5.0/lib/CL/devices/almaif/AlmaIFDevice.hh:67:34: error: ‘pocl_mem_identifier’ has not been declared
- 67 | virtual void writeDataToDevice(pocl_mem_identifier *DstMemId,
- | ^~~~~~~~~~~~~~~~~~~
-/var/tmp/portage/dev-libs/pocl-5.0/work/pocl-5.0/lib/CL/devices/almaif/AlmaIFDevice.hh:71:35: error: ‘pocl_mem_identifier’ has not been declared
- 71 | pocl_mem_identifier *SrcMemId, size_t Size,
- | ^~~~~~~~~~~~~~~~~~~
-/var/tmp/portage/dev-libs/pocl-5.0/work/pocl-5.0/lib/CL/devices/almaif/AlmaIFDevice.hh:79:11: error: ‘cl_int’ does not name a type; did you mean ‘u_int’?
- 79 | virtual cl_int allocateBuffer(pocl_mem_identifier *P, size_t Size);
- | ^~~~~~
- | u_int
-/var/tmp/portage/dev-libs/pocl-5.0/work/pocl-5.0/lib/CL/devices/almaif/AlmaIFDevice.hh:81:27: error: ‘pocl_mem_identifier’ has not been declared
- 81 | virtual void freeBuffer(pocl_mem_identifier *P);
- | ^~~~~~~~~~~~~~~~~~~
-/var/tmp/portage/dev-libs/pocl-5.0/work/pocl-5.0/lib/CL/devices/almaif/AlmaIFDevice.hh:83:38: error: ‘pocl_mem_identifier’ has not been declared
- 83 | virtual size_t pointerDeviceOffset(pocl_mem_identifier *P);
- | ^~~~~~~~~~~~~~~~~~~
-
-diff -Nuar a/lib/CL/devices/almaif/AlmaIFDevice.hh b/lib/CL/devices/almaif/AlmaIFDevice.hh
---- a/lib/CL/devices/almaif/AlmaIFDevice.hh 2023-12-19 13:24:31.000000000 +0000
-+++ b/lib/CL/devices/almaif/AlmaIFDevice.hh 2024-01-13 03:42:12.045091773 +0000
-@@ -34,6 +34,8 @@
- #include <stdlib.h>
- #include <string>
-
-+#include "pocl_cl.h"
-+
- struct almaif_kernel_data_s;
-
- class AlmaIFDevice {
diff --git a/dev-libs/pocl/files/pocl-6.0-gcc15.patch b/dev-libs/pocl/files/pocl-6.0-gcc15.patch
new file mode 100644
index 000000000000..6176e54bfecc
--- /dev/null
+++ b/dev-libs/pocl/files/pocl-6.0-gcc15.patch
@@ -0,0 +1,27 @@
+https://github.com/pocl/pocl/commit/3333cbc6a16fba0bc3f3c66ba6e68ce9bb46c549
+
+From 3333cbc6a16fba0bc3f3c66ba6e68ce9bb46c549 Mon Sep 17 00:00:00 2001
+From: Vitaly <vitaly@easycoding.org>
+Date: Mon, 27 Jan 2025 09:52:47 +0100
+Subject: [PATCH] Added missing cstdint header to fix build with libstdc++ 15.
+
+--- a/lib/CL/devices/spirv_parser.cc
++++ b/lib/CL/devices/spirv_parser.cc
+@@ -25,6 +25,7 @@
+
+ #include <algorithm>
+ #include <cassert>
++#include <cstdint>
+ #include <cstring>
+ #include <fstream>
+ #include <iostream>
+--- a/lib/CL/devices/spirv_parser.hh
++++ b/lib/CL/devices/spirv_parser.hh
+@@ -34,6 +34,7 @@
+ #define SPIRV_PARSER_EXPORT POCL_EXPORT
+ #endif
+
++#include <cstdint>
+ #include <map>
+ #include <memory>
+ #include <set>
diff --git a/dev-libs/pocl/pocl-4.0.ebuild b/dev-libs/pocl/pocl-4.0.ebuild
deleted file mode 100644
index 1bedd3dc6ade..000000000000
--- a/dev-libs/pocl/pocl-4.0.ebuild
+++ /dev/null
@@ -1,113 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_MAX_SLOT=16
-inherit cmake llvm
-
-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"
-
-# TODO: add dependencies for cuda
-# Note: No := on LLVM because it pulls in Clang
-# see llvm.eclass for why
-CLANG_DEPS="
- !cuda? ( <llvm-core/clang-$((${LLVM_MAX_SLOT} + 1)):= )
- cuda? ( <llvm-core/clang-$((${LLVM_MAX_SLOT} + 1)):=[llvm_targets_NVPTX] )
-"
-RDEPEND="
- dev-libs/libltdl
- <llvm-core/llvm-$((${LLVM_MAX_SLOT} + 1)):*
- virtual/opencl
-
- ${CLANG_DEPS}
- debug? ( dev-util/lttng-ust:= )
- hwloc? ( sys-apps/hwloc:=[cuda?] )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- ${CLANG_DEPS}
- virtual/pkgconfig
-"
-
-llvm_check_deps() {
- local usedep=$(usev cuda "[llvm_targets_NVPTX]")
-
- # Clang is used at both build time (executed) and runtime
- has_version -r "llvm-core/llvm:${LLVM_SLOT}${usedep}" && \
- has_version -r "llvm-core/clang:${LLVM_SLOT}${usedep}" && \
- has_version -b "llvm-core/clang:${LLVM_SLOT}${usedep}"
-}
-
-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"
- 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 "${LLVM_MAX_SLOT}")/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
-}
diff --git a/dev-libs/pocl/pocl-5.0.ebuild b/dev-libs/pocl/pocl-5.0.ebuild
deleted file mode 100644
index 602ca5e8fe42..000000000000
--- a/dev-libs/pocl/pocl-5.0.ebuild
+++ /dev/null
@@ -1,115 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_MAX_SLOT=17
-inherit cmake llvm
-
-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"
-
-# TODO: add dependencies for cuda
-# Note: No := on LLVM because it pulls in Clang
-# see llvm.eclass for why
-CLANG_DEPS="
- !cuda? ( <llvm-core/clang-$((${LLVM_MAX_SLOT} + 1)):= )
- cuda? ( <llvm-core/clang-$((${LLVM_MAX_SLOT} + 1)):=[llvm_targets_NVPTX] )
-"
-RDEPEND="
- dev-libs/libltdl
- <llvm-core/llvm-$((${LLVM_MAX_SLOT} + 1)):*
- virtual/opencl
-
- ${CLANG_DEPS}
- debug? ( dev-util/lttng-ust:= )
- hwloc? ( sys-apps/hwloc:=[cuda?] )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- ${CLANG_DEPS}
- virtual/pkgconfig
-"
-
-PATCHES=( "${FILESDIR}/${P}-missing-definitions-fix.patch" )
-
-llvm_check_deps() {
- local usedep=$(usev cuda "[llvm_targets_NVPTX]")
-
- # Clang is used at both build time (executed) and runtime
- has_version -r "llvm-core/llvm:${LLVM_SLOT}${usedep}" && \
- has_version -r "llvm-core/clang:${LLVM_SLOT}${usedep}" && \
- has_version -b "llvm-core/clang:${LLVM_SLOT}${usedep}"
-}
-
-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"
- 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 "${LLVM_MAX_SLOT}")/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
-}
diff --git a/dev-libs/pocl/pocl-6.0.ebuild b/dev-libs/pocl/pocl-6.0.ebuild
index 4141b49feb9a..f2d1f5c8bc9f 100644
--- a/dev-libs/pocl/pocl-6.0.ebuild
+++ b/dev-libs/pocl/pocl-6.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -44,6 +44,10 @@ BDEPEND="
virtual/pkgconfig
"
+PATCHES=(
+ "${FILESDIR}"/${P}-gcc15.patch
+)
+
src_prepare() {
use cuda && cuda_src_prepare
cmake_src_prepare