Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libclc for openSUSE:Factory checked 
in at 2026-10-18 22:52:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libclc (Old)
 and      /work/SRC/openSUSE:Factory/.libclc.new.3698736 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libclc"

Sun Oct 18 22:52:36 2026 rev:40 rq:1385169 version:0.2.0+llvm23.1.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/libclc/libclc.changes    2026-08-28 
19:46:29.219098695 +0200
+++ /work/SRC/openSUSE:Factory/.libclc.new.3698736/libclc.changes       
2026-10-18 22:52:37.589364644 +0200
@@ -1,0 +2,161 @@
+Sun Oct  4 22:03:38 UTC 2026 - Aaron Puchert <[email protected]>
+
+- Update to version 23.1.0.
+  * Compile w/o linking builtins with SPIRV backend
+  * Rework libclc naming convention to use the triple
+  * Make output filename configurable; rename top-level targets
+  * Bring back fma for clspv
+  * Stop building amdgpu targets all as tahiti
+  * Fix broken symlinks
+  * Fix memory_scope and memory_order of *mem_fence builtins
+  * Add __clc_issubnormal
+  * Remove r600 support
+  * Enable -ffp-contract=fast-honor-pragmas globally
+  * Compile with -fdenormal-fp-math=dynamic
+  * Add subnormals back to clspv
+  * Reimplement amdhsa workitem functions
+  * Fix checking for arch including OS in wrong place
+  * Implement address space qualifier functions for amdgpu
+  * Implement get_enqueued_local_size
+  * Reimplement amdhsa dispatch size functions
+  * Define work_group_barrier
+  * Add atomic_work_item_fence
+  * Add amdgpu subgroup functions
+  * Add sub_group_broadcast
+  * Reimplement amdhsa get_num_groups
+  * Implement get_global_linear_id and get_local_linear_id
+  * Avoid duplicated get_local_size/get_global_size functions
+  * Fix amdgpu get_enqueued_local_size
+  * Add amdgpu wait_group_events
+  * Remove target definitions of opencl workitem functions
+  * Add __printf_alloc implementation
+  * Move get_global_id into clc
+  * Use enqueued local size to implement get_global_id
+  * Use separate acquire and release fences in work_group_barrier
+  * Remove target opencl copies of mem_fence
+  * Move sub_group_barrier to clc
+  * Rename sub_group_broadcast header
+  * Move subgroup functions into clc
+  * Add work_group_any/work_group_all implementation
+  * Add work_group_broadcast
+  * Fix wait_group_events build for targets without generic
+  * Add uintptr_t overloads of atomic_fetch_add and sub
+  * Correctly declare __clc_get_max_sub_group_size as taking no
+    arguments
+  * Add sub_group_reduce_* functions
+  * Fix logic for fence ordering based on mem flags
+  * Add work_group_reduce_* functions
+  * Remove old mesa amdgcn targets
+  * Replace last of `opencl` atomics with `__scoped_` versions
+  * Merge amdgpu and amdgcn directories
+  * Remove amdgpu sqrt override
+  * Use elementwise exp for exp functions
+  * Fix missing clc prefixes on some clc files
+  * Remove unused and incorrect pkgconf file
+  * Add div_cr utility function
+  * Add sqrt_cr utility
+  * Add fast version utility functions for div, sqrt and reciprocal
+  * Use frexp builtins to implement frexp for amdgpu
+  * Add gentype infinity macro
+  * Add frexp_exp utility function
+  * Update hypot, ilogb, logb implementation
+  * Add ep utility
+  * Update f64 log implementations
+  * Replace fmod implementation with elementwise builtin
+  * Replace nextafter implementation
+  * Improve fdim handling
+  * Improve minmag and maxmag
+  * Fix mismatch in declared and defined function name
+  * Disable contract in trig reductions
+  * Remove attempt at subnormal flush from trig functions
+  * Add generic clc_mem_fence instruction
+  * Fix compiler check with --target=spirv64 and
+    -disable-llvm-passes
+  * Use struct for ep pair
+  * Use fshr builtin in sincos helpers
+  * Move edge case handling of trig functions
+  * Update pow functions
+  * Use frexp and ldexp in trig reduction instead of bit hacking
+  * Use small trig reduction for nan
+  * Improve large float trig reduction
+  * Use select function instead of ?: for some fp selects
+  * Clean up sincos macro usage
+  * Improve float trig function handling
+  * Fix vector float tan
+  * Move FLT_MIN gentype macros
+  * Move subnormal config file to clc
+  * Invert subnormal checks
+  * Really implement denormal config checks
+  * Update f64 trig functions
+  * Add canonicalize utility functions
+  * Fix nextafter with -cl-denorms-are-zero
+  * Stop implementing sincos as separate sin and cos
+  * Really implement half trig functions
+  * Restore previous generic fmod implementation
+  * Replace flush_if_daz implementation
+  * Implement sin and cos with sincos
+  * Update trigpi functions
+  * Rewrite log implementation as gentype inc file
+  * Use log intrinsic for half and float cases for amdgpu
+  * Override cbrt for AMDGPU
+  * Update acos, remquo, asin, atan
+  * Implement remainder with remquo
+  * Simplify rtz conversion
+  * Use nextup and nextdown in place of nextafter
+  * Fix -cl-denorms-are-zero for rtp and rtn conversions
+  * Update log1p, lgamma_r
+  * Improve tgamma handling
+  * Update expm1, sinh, cosh, tanh, asinh, acosh, atanh, atanpi,
+    asinpi, acospi
+  * Unify fast FMA controls
+  * Force assuming fast float fma for AMDGPU
+  * clspv does not need workaround for flush_if_daz
+  * Fix amdgpu subgroup reduce for max u64
+  * Fix amdgpu sub_group_broadcast for double
+  * Fix directly adding vector booleans
+  * Use prefetch builtin to implement default prefetch
+  * Update erf, erfc, atan2, atan2pi
+  * Implement get_sub_group_id with get_local_linear_id
+  * Fix missing overloads for atomic_fetch_add/sub
+  * Add subgroup scan functions
+  * Add work group scan functions
+  * Partially implement nonuniform subgroup reduce functions
+  * Simplify fract implementation
+  * Use special division for atan2 for DAZ
+  * Refine generic __clc_get_sub_group_size with fast full
+    sub-group path
+  * Fix atomic_fetch_add/sub overloads for uintptr_t
+  * Allow testing unresolved symbols on multiple libraries
+  * Consolidate `amdgpu` and `amdgcn` architectures consistently
+  * Create a static `.a` file in addition to the `.bc` file
+  * Apply hidden visibility to amdgpu / nvptx builds
+  * Add optimized DPP scan functions for AMDGPU
+  * Move sources collection into libclc_add_builtin_library, merge
+    opencl library creation into libclc_add_library
+  * Fix .cl tests in standalone build
+  * Optimize and vectorize signbit
+  * Use float sw_fma for spirv*-mesa-mesa3d targets
+  * Use generic spirv*-unknown-unknown clang triple for SPIR-V
+    targets
+  * Improve performance and precision of reciprocal functions
+  * Use FMA for the pi reconstruction in acos / atan
+  * Use __CLC_SCALAR instead of nonexistant __CLC_SCALAR1 for sin
+  * Use unchecked division for f64 AMDGPU reciprocal
+  * Delete wrong implementation nvptx clc_isinf
+- Produce the library for spirv32/spirv64, as required for Mesa.
+- No longer provide libclc(llvmN), because we no longer ship LLVM
+  bit code (only SPIR-V).
+- Always pin compiler to matching version.
+- Disabling LTO no longer needed, C/C++ flags are ignored anyway.
+- Drop rpmlintrc that is no longer needed.
+- Drop obsolete patches:
+  * fix-subnormal-build.patch
+  * mark-clc-flush-denormal-if-not-supported-as-static.patch
+- Rebase cmake-use-imported-targets.patch.
+
+-------------------------------------------------------------------
+Wed Sep 30 15:13:45 UTC 2026 - Stefan Dirsch <[email protected]>
+
+- require llvm23 also for sle16
+
+-------------------------------------------------------------------

Old:
----
  fix-subnormal-build.patch
  libclc-22.1.0.src.tar.xz
  libclc-rpmlintrc
  libclc.keyring
  mark-clc-flush-denormal-if-not-supported-as-static.patch

New:
----
  libclc-23.1.0.src.tar.xz

----------(Old B)----------
  Old:- Drop obsolete patches:
  * fix-subnormal-build.patch
  * mark-clc-flush-denormal-if-not-supported-as-static.patch
  Old:  * fix-subnormal-build.patch
  * mark-clc-flush-denormal-if-not-supported-as-static.patch
- Rebase cmake-use-imported-targets.patch.
----------(Old E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libclc.spec ++++++
--- /var/tmp/diff_new_pack.Wqv9D8/_old  2026-10-18 22:52:38.297394388 +0200
+++ /var/tmp/diff_new_pack.Wqv9D8/_new  2026-10-18 22:52:38.299394472 +0200
@@ -16,13 +16,12 @@
 #
 
 
-%define _libclc_llvm_ver 22.1.0
-%define _version %_libclc_llvm_ver%{?_rc:rc%_rc}
-%define _tagver %_libclc_llvm_ver%{?_rc:-rc%_rc}
-
-%if 0%{?suse_version} < 1699
-%global _clang_version 22
-%endif
+%global _libclc_llvm 23
+%global _libclc_llvm_ver %{_libclc_llvm}.1.0
+%global _version %_libclc_llvm_ver%{?_rc:rc%_rc}
+%global _tagver %_libclc_llvm_ver%{?_rc:-rc%_rc}
+
+%global _libclc_targets spirv{32,64}-unknown-unknown
 
 Name:           libclc
 Version:        0.2.0+llvm%{_libclc_llvm_ver}%{?_rc:~rc%_rc}
@@ -34,17 +33,12 @@
 # Built manually via "git archive --prefix=%{name}-%{_version}.src/ 
llvmorg-%{_tagver} .
 # | xz -T0 >../%{name}-%{_version}.src.tar.xz" until upstream provides 
tarballs again.
 Source0:        %{name}-%{_version}.src.tar.xz
-Source100:      %{name}-rpmlintrc
-Source101:      https://releases.llvm.org/release-keys.asc#/%{name}.keyring
-Patch1:         fix-subnormal-build.patch
-Patch2:         mark-clc-flush-denormal-if-not-supported-as-static.patch
-Patch3:         cmake-use-imported-targets.patch
-BuildRequires:  clang%{?_clang_version}-devel
+Patch1:         cmake-use-imported-targets.patch
+BuildRequires:  clang%{_libclc_llvm}-devel
 BuildRequires:  cmake
-BuildRequires:  llvm%{?_clang_version}-devel
+BuildRequires:  llvm%{_libclc_llvm}-devel
 BuildRequires:  python3-base
 BuildRequires:  pkgconfig(LLVMSPIRVLib)
-Provides:       libclc(llvm%{_llvm_sonum})
 BuildArch:      noarch
 
 %description
@@ -55,23 +49,27 @@
 %autopatch -p2
 
 %build
-# The libraries are bitcode files, so LTO is neither supported nor does it 
help.
-%define _lto_cflags %{nil}
-
-%cmake \
-  -DCMAKE_C_COMPILER=clang%{?_clang_version:-%{_clang_version}} \
-  -DCMAKE_CXX_COMPILER=clang++%{?_clang_version:-%{_clang_version}} \
-%if 0%{?suse_version} < 1550
-  
-DLIBCLC_TARGETS_TO_BUILD="amdgcn--;amdgcn-amd-amdhsa;amdgcn-mesa-mesa3d;r600--;nvptx64--;nvptx64--nvidiacl;nvptx64-nvidia-cuda"
 \
-%endif
-  -DENABLE_RUNTIME_SUBNORMAL:BOOL=ON
-%cmake_build
+%define __builddir build-${target}
+for target in %{_libclc_targets}
+do
+  pushd .
+  %cmake \
+    -DCMAKE_C_COMPILER=clang-%{_libclc_llvm} \
+    -DCMAKE_CXX_COMPILER=clang++-%{_libclc_llvm} \
+    -DLLVM_DEFAULT_TARGET_TRIPLE=${target}
+  %cmake_build
+  popd
+done
 
 %install
-%cmake_install
+for target in %{_libclc_targets}
+do
+  %cmake_install
+  # We don't need the static library.
+  rm %{buildroot}%{_datadir}/clc/${target}/libclc.a
+done
 
 %files
 %license LICENSE.TXT
 %{_datadir}/clc
-%{_datadir}/pkgconfig/libclc.pc
 

++++++ cmake-use-imported-targets.patch ++++++
--- /var/tmp/diff_new_pack.Wqv9D8/_old  2026-10-18 22:52:38.320395354 +0200
+++ /var/tmp/diff_new_pack.Wqv9D8/_new  2026-10-18 22:52:38.323395480 +0200
@@ -3,38 +3,30 @@
 where to find them.
 
 diff --git a/libclc/CMakeLists.txt b/libclc/CMakeLists.txt
-index c17b350..9a28d58 100644
+index 5829bd9..d805737 100644
 --- a/libclc/CMakeLists.txt
 +++ b/libclc/CMakeLists.txt
-@@ -63,6 +63,7 @@ if( LIBCLC_STANDALONE_BUILD OR CMAKE_SOURCE_DIR STREQUAL 
CMAKE_CURRENT_SOURCE_DI
-   set( LIBCLC_STANDALONE_BUILD TRUE )
- 
-   find_package(LLVM REQUIRED HINTS "${LLVM_CMAKE_DIR}")
-+  find_package(Clang REQUIRED)
+@@ -59,8 +59,7 @@ if( LIBCLC_STANDALONE_BUILD OR CMAKE_SOURCE_DIR STREQUAL 
CMAKE_CURRENT_SOURCE_DI
    include(AddLLVM)
  
-   message( STATUS "libclc LLVM version: ${LLVM_PACKAGE_VERSION}" )
-@@ -74,8 +75,7 @@ if( LIBCLC_STANDALONE_BUILD OR CMAKE_SOURCE_DIR STREQUAL 
CMAKE_CURRENT_SOURCE_DI
-   # Import required tools
-   if( NOT EXISTS ${LIBCLC_CUSTOM_LLVM_TOOLS_BINARY_DIR} )
-     foreach( tool IN ITEMS clang llvm-as llvm-link opt )
--      find_program( LLVM_TOOL_${tool} ${tool} PATHS ${LLVM_TOOLS_BINARY_DIR} 
NO_DEFAULT_PATH )
--      set( ${tool}_exe ${LLVM_TOOL_${tool}} )
-+      set( ${tool}_exe ${tool} )
-       set( ${tool}_target )
-     endforeach()
-   endif()
-@@ -134,12 +134,6 @@ if( EXISTS ${LIBCLC_CUSTOM_LLVM_TOOLS_BINARY_DIR} )
+   foreach( tool IN ITEMS llvm-link opt )
+-    find_program( LLVM_TOOL_${tool} ${tool} PATHS ${LLVM_TOOLS_BINARY_DIR} 
NO_DEFAULT_PATH )
+-    set( ${tool}_exe ${LLVM_TOOL_${tool}} )
++    set( ${tool}_exe ${tool} )
+     set( ${tool}_target )
    endforeach()
+ 
+@@ -124,12 +123,6 @@ if(LIBCLC_TARGET_ARCH IN_LIST LIBCLC_ARCHS_SPIRV)
+   endif()
  endif()
  
--foreach( tool IN ITEMS clang opt llvm-as llvm-link )
+-foreach( tool IN ITEMS opt llvm-link )
 -  if( NOT EXISTS "${${tool}_exe}" AND "${${tool}_target}" STREQUAL "" )
 -    message( FATAL_ERROR "libclc toolchain incomplete - missing tool 
${tool}!" )
 -  endif()
 -endforeach()
 -
- if( NOT LIBCLC_USE_SPIRV_BACKEND )
-   # llvm-spirv is an optional dependency, used to build spirv-* targets when
-   # the SPIR-V backend hasn't been requested. It may be provided in-tree or
+ # Determine the clang target triple.
+ set(clang_triple ${LIBCLC_TARGET})
+ 
 

++++++ libclc-22.1.0.src.tar.xz -> libclc-23.1.0.src.tar.xz ++++++
++++ 41101 lines of diff (skipped)

Reply via email to