Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package pocl for openSUSE:Factory checked in at 2025-05-30 14:38:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pocl (Old) and /work/SRC/openSUSE:Factory/.pocl.new.25440 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pocl" Fri May 30 14:38:31 2025 rev:36 rq:1281194 version:7.0 Changes: -------- --- /work/SRC/openSUSE:Factory/pocl/pocl.changes 2025-02-07 22:59:31.972147300 +0100 +++ /work/SRC/openSUSE:Factory/.pocl.new.25440/pocl.changes 2025-05-30 17:24:57.550348291 +0200 @@ -1,0 +2,24 @@ +Thu May 22 15:18:21 UTC 2025 - Eyad Issa <eyadlore...@gmail.com> + +- Drop the _service file +- Use Source Urls instead of obs_scm +- Add option to build with the vulkan experimental device +- Build with level0 experimental device +- Update to version 7.0: + * PoCL received the official OpenCL 3.0 conformance stamp with the + CPU (x86-64) and Level Zero drivers. + * Support for LLVM versions 19 and 20 + * Support for dynamic device addition and network discovery. + This new feature allows discovery of remote servers located in + LAN or WAN environments and enables runtime addition of + discovered devices to the remote client's platform. Network + discovery is performed thorugh mDNS, unicast-DNS-SD, and + DHT-based mechanisms, using Avahi and OpenDHT libraries. + * New experimental support for Defined Built-in Kernels (DBK) has + been added to the CPU drivers + * The old "work-item replication" work-group function generation + method was removed to clean up the kernel compiler. + * Full changes at + /usr/share/doc/packages/pocl/notes_7_0.rst + +------------------------------------------------------------------- Old: ---- _service pocl-6.0.obscpio pocl.obsinfo New: ---- pocl-7.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pocl.spec ++++++ --- /var/tmp/diff_new_pack.WJ1gYO/_old 2025-05-30 17:24:58.574390743 +0200 +++ /var/tmp/diff_new_pack.WJ1gYO/_new 2025-05-30 17:24:58.574390743 +0200 @@ -17,19 +17,29 @@ # -%define sover 2 +%global sover 2 + %if 0%{?suse_version} >= 1600 -%bcond_without spirv + %bcond_without spirv %else -%bcond_with spirv + %bcond_with spirv %endif + %if 0%{?suse_version} >= 1600 -%bcond_without ttb + %bcond_without ttb %else -%bcond_with ttb + %bcond_with ttb %endif +%if 0%{?suse_version} >= 1600 + %bcond_without levelzero +%else + %bcond_with levelzero +%endif + +%bcond_with vulkan + Name: pocl -Version: 6.0 +Version: 7.0 Release: 0 Summary: Portable Computing Language - an OpenCL implementation # The whole code is under MIT @@ -40,23 +50,31 @@ Source0: https://github.com/pocl/pocl/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz Source98: maint.README Source99: pocl-rpmlintrc -# Version 6.0: Supports LLVM versions 14.0 to 18.0 -BuildRequires: ((clang-devel >= 14 with clang-devel < 19) or clang18-devel) -BuildRequires: cmake +# Version 7.0: Supports LLVM versions 19 and 20 +BuildRequires: ((clang-devel >= 19 with clang-devel < 21) or clang20-devel) +BuildRequires: cmake >= 3.15 BuildRequires: gcc-c++ BuildRequires: ninja -BuildRequires: ocl-icd-devel BuildRequires: opencl-headers BuildRequires: pkgconfig +BuildRequires: pkgconfig(OpenCL) BuildRequires: pkgconfig(hwloc) +BuildRequires: pkgconfig(ocl-icd) # PPC has limited support/testing from upstream # s390(x) is also not supported, so use ExclusiveArch ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 riscv64 %if %{with ttb} -BuildRequires: tbb-devel +BuildRequires: pkgconfig(tbb) %endif %if %{with spirv} BuildRequires: libLLVMSPIRVLib-devel +BuildRequires: spirv-tools +%endif +%if %{with levelzero} +BuildRequires: pkgconfig(level-zero) +%endif +%if %{with vulkan} +BuildRequires: pkgconfig(vulkan) %endif %description @@ -85,10 +103,8 @@ This subpackage contains the shared library part of pocl. -%if %{with ttb} %package -n libpocl-devices-tbb Summary: TBB device for pocl -Group: System/Libraries %description -n libpocl-devices-tbb Portable Computing Language (pocl) is an implementation of the OpenCL standard @@ -96,7 +112,16 @@ heterogenous GPUs/accelerators. This subpackage contains the Thread Building Blocks (TBB) device for pocl. -%endif + +%package -n libpocl-devices-levelzero +Summary: Level Zero device for pocl + +%description -n libpocl-devices-levelzero +Portable Computing Language (pocl) is an implementation of the OpenCL standard +which can be adapted for new targets and devices, both for homogeneous CPU and +heterogenous GPUs/accelerators. + +This subpackage contains the Level Zero device for pocl. %package devel Summary: Development files for the Portable Computing Language @@ -116,17 +141,31 @@ %autosetup -p1 %build -%define __builder ninja +%global __builder ninja %cmake \ + -DPOCL_INSTALL_ICD_VENDORDIR=%{_datadir}/OpenCL/vendors \ + -DENABLE_LLVM=ON \ + -DWITH_LLVM_CONFIG=%{_bindir}/llvm-config \ + -DENABLE_ICD=ON \ + -DSTATIC_LLVM=OFF \ + -DENABLE_REMOTE_DISCOVERY_AVAHI=ON \ + -DENABLE_REMOTE_ADVERTISEMENT_AVAHI=ON \ + -DENABLE_REMOTE_DISCOVERY_DHT=ON \ + -DENABLE_REMOTE_ADVERTISEMENT_DHT=ON \ -DENABLE_CUDA=OFF \ + -DINSTALL_OPENCL_HEADERS=OFF \ %if %{with spirv} -DENABLE_SPIRV=ON \ %endif - -DENABLE_ICD=ON \ %if %{with ttb} -DENABLE_TBB_DEVICE=ON \ %endif - -DPOCL_INSTALL_ICD_VENDORDIR=%{_datadir}/OpenCL/vendors \ +%if %{with levelzero} + -DENABLE_LEVEL0=ON \ +%endif +%if %{with vulkan} + -DENABLE_VULKAN=ON \ +%endif %ifarch %{ix86} x86_64 -DKERNELLIB_HOST_CPU_VARIANTS=distro \ %endif @@ -142,7 +181,7 @@ %if 0%{?suse_version} <= 1500 && 0%{?sle_version} <= 150300 -DCMAKE_INSTALL_LIBDIR:PATH=%{_lib} \ %endif - -DWITH_LLVM_CONFIG=%{_bindir}/llvm-config + %{nil} %cmake_build @@ -176,3 +215,8 @@ %{_libdir}/pocl/libpocl-devices-tbb.so %endif +%if %{with levelzero} +%files -n libpocl-devices-levelzero +%{_libdir}/pocl/libpocl-devices-level0.so +%endif +