Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ctemplate for openSUSE:Factory 
checked in at 2026-09-10 16:40:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ctemplate (Old)
 and      /work/SRC/openSUSE:Factory/.ctemplate.new.1265 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ctemplate"

Thu Sep 10 16:40:10 2026 rev:28 rq:1376911 version:2.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/ctemplate/ctemplate.changes      2021-03-18 
22:55:16.635552662 +0100
+++ /work/SRC/openSUSE:Factory/.ctemplate.new.1265/ctemplate.changes    
2026-09-10 16:40:13.512969050 +0200
@@ -1,0 +2,9 @@
+Thu Sep 10 08:08:53 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Add ctemplate-c++20-allocator-hint.patch: fix build with GCC 15,
+  whose libstdc++ no longer declares std::allocator<void>::const_pointer
+  and which now parses uninstantiated template bodies (upstream 5aa5a00)
+- Modernise spec file; run %check with -j1, the tests share a fixed
+  /tmp/template_unittest_dir and race in parallel
+
+-------------------------------------------------------------------

New:
----
  ctemplate-c++20-allocator-hint.patch

----------(New B)----------
  New:
- Add ctemplate-c++20-allocator-hint.patch: fix build with GCC 15,
  whose libstdc++ no longer declares std::allocator<void>::const_pointer
----------(New E)----------

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

Other differences:
------------------
++++++ ctemplate.spec ++++++
--- /var/tmp/diff_new_pack.lpVpkG/_old  2026-09-10 16:40:14.268000724 +0200
+++ /var/tmp/diff_new_pack.lpVpkG/_new  2026-09-10 16:40:14.270000808 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package ctemplate
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -23,16 +23,16 @@
 Release:        0
 Summary:        Library for a C++ templating language
 License:        BSD-3-Clause
-Group:          Development/Libraries/C and C++
 URL:            https://github.com/OlafvdSpek/ctemplate
 Source:         
https://github.com/OlafvdSpek/ctemplate/archive/%{name}-%{version}.tar.gz
+# PATCH-FIX-UPSTREAM ctemplate-c++20-allocator-hint.patch -- drop 
std::allocator<void>::const_pointer, removed in C++20 (upstream 5aa5a00, 
post-2.4)
+Patch0:         ctemplate-c++20-allocator-hint.patch
 BuildRequires:  autoconf
 BuildRequires:  automake
 BuildRequires:  gcc-c++
 BuildRequires:  libtool
 BuildRequires:  pkgconfig
 BuildRequires:  python3-base
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 
 %description
 CTemplate is a template language for C++. It emphasizes separating
@@ -41,7 +41,6 @@
 
 %package -n %{libname}
 Summary:        Library for a C++ template languaging
-Group:          Development/Libraries/C and C++
 
 %description -n %{libname}
 CTemplate is a template language for C++. It emphasizes separating
@@ -50,7 +49,6 @@
 
 %package -n libctemplate-devel
 Summary:        Development files for ctemplate, a C++ language templating 
library
-Group:          Development/Libraries/C and C++
 Requires:       %{libname} = %{version}
 
 %description -n libctemplate-devel
@@ -59,14 +57,14 @@
 in this template language.
 
 %prep
-%setup -q -n %{name}-%{name}-%{version}
+%autosetup -p1 -n %{name}-%{name}-%{version}
 
 %build
 ./autogen.sh
 %configure \
   --disable-static \
   --disable-silent-rules
-make %{?_smp_mflags}
+%make_build
 
 %install
 %make_install
@@ -76,20 +74,18 @@
 rm -rf %{buildroot}%{_datadir}/doc/%{name}
 
 %check
-make check
+# -j1: the tests share a fixed /tmp/template_unittest_dir and race in parallel
+%make_build -j1 check
 
-%post -n %{libname} -p /sbin/ldconfig
-%postun -n %{libname} -p /sbin/ldconfig
+%ldconfig_scriptlets -n %{libname}
 
 %files -n %{libname}
-%defattr(-,root,root)
 %doc AUTHORS
 %license COPYING
 %{_libdir}/libctemplate.so.%{sover}*
 %{_libdir}/libctemplate_nothreads.so.%{sover}*
 
 %files -n libctemplate-devel
-%defattr(-,root,root)
 %doc doc/*.html ChangeLog AUTHORS
 %license COPYING
 %{_bindir}/diff_tpl_auto_escape

++++++ ctemplate-c++20-allocator-hint.patch ++++++
>From 5aa5a00e74ea8a1ea22d6a9760b4b420687fa4e5 Mon Sep 17 00:00:00 2001
From: Conrad Poelman <[email protected]>
Date: Mon, 11 May 2020 21:55:00 -0400
Subject: [PATCH] C++20 / gcc10 fix: remove hint, removed typedef
Git-commit: 5aa5a00e74ea8a1ea22d6a9760b4b420687fa4e5

C++17 deprecated, and C++20 fully removed, the std::allocator<T>::const_pointer 
typedef (https://en.cppreference.com/w/cpp/memory/allocator). So gcc10 fails to 
compile this file.

The selected fix was to completely remove the hint argument because (a) it was 
ignored anyway, and (b) std::allocator's allocate() function also chose to 
remove its hint argument in C++20 
(https://en.cppreference.com/w/cpp/memory/allocator/allocate).
---
openSUSE note: GCC 15 turns this into a hard error even though the
template is never instantiated with the hint, because -Wtemplate-body
now parses uninstantiated template bodies.

 src/base/arena-inl.h | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/base/arena-inl.h b/src/base/arena-inl.h
index 9408e9b..99ab4d3 100755
--- a/src/base/arena-inl.h
+++ b/src/base/arena-inl.h
@@ -93,8 +93,7 @@ template <class T, class C> class ArenaAllocator {
   ArenaAllocator(C* arena) : arena_(arena) { }  // NOLINT
   ~ArenaAllocator() { }
 
-  pointer allocate(size_type n,
-                   std::allocator<void>::const_pointer /*hint*/ = 0) {
+  pointer allocate(size_type n) {
     assert(arena_ && "No arena to allocate from!");
     return reinterpret_cast<T*>(arena_->AllocAligned(n * sizeof(T),
                                                      kAlignment));

Reply via email to