$ git diff --patch-with-stat --summary ccccbd7f7ba11b6de2c43184858113567ac586da..e6936d5028113801463c52d81462cef115c52d01
.abf.yml | 2 +-
44c3fe1ebb466ab5c296e1a1a6991c7c7b51b72e.diff | 25 +++++++++++++++++++++++++
fmt.spec | 19 ++++++++++++-------
3 files changed, 38 insertions(+), 8 deletions(-)
create mode 100644 44c3fe1ebb466ab5c296e1a1a6991c7c7b51b72e.diff
diff --git a/.abf.yml b/.abf.yml
index 5b87fba..befd225 100644
--- a/.abf.yml
+++ b/.abf.yml
@@ -1,2 +1,2 @@
sources:
- fmt-9.1.0.tar.gz: 6c0db60f3fa7bd4cf58edc777a2408e0ddfb28b9
+ fmt-10.2.1.tar.gz: d223964b782d2562d6722ffe67027204c6035453
diff --git a/44c3fe1ebb466ab5c296e1a1a6991c7c7b51b72e.diff b/44c3fe1ebb466ab5c296e1a1a6991c7c7b51b72e.diff
new file mode 100644
index 0000000..ebe15a4
--- /dev/null
+++ b/44c3fe1ebb466ab5c296e1a1a6991c7c7b51b72e.diff
@@ -0,0 +1,25 @@
+diff --git a/include/fmt/format-inl.h b/include/fmt/format-inl.h
+index 9fc87ecf2027..872aa9802df1 100644
+--- a/include/fmt/format-inl.h
++++ b/include/fmt/format-inl.h
+@@ -110,7 +110,11 @@ template <typename Char> FMT_FUNC Char decimal_point_impl(locale_ref) {
+
+ FMT_FUNC auto write_loc(appender out, loc_value value,
+ const format_specs<>& specs, locale_ref loc) -> bool {
+-#ifndef FMT_STATIC_THOUSANDS_SEPARATOR
++#ifdef FMT_STATIC_THOUSANDS_SEPARATOR
++ value.visit(loc_writer<>{
++ out, specs, std::string(1, FMT_STATIC_THOUSANDS_SEPARATOR), "\3", "."});
++ return true;
++#else
+ auto locale = loc.get<std::locale>();
+ // We cannot use the num_put<char> facet because it may produce output in
+ // a wrong encoding.
+@@ -119,7 +123,6 @@ FMT_FUNC auto write_loc(appender out, loc_value value,
+ return std::use_facet<facet>(locale).put(out, value, specs);
+ return facet(locale).put(out, value, specs);
+ #endif
+- return false;
+ }
+ } // namespace detail
+
diff --git a/fmt.spec b/fmt.spec
index cd1ec9a..6617f5f 100644
--- a/fmt.spec
+++ b/fmt.spec
@@ -1,17 +1,19 @@
-%define major 9
-%define minor 0
-%define libname %mklibname %{name} %{major}
+%define major %(echo %{version}|cut -d. -f1)
+%define libname %mklibname %{name}
%define devel %mklibname -d %{name}
Summary: Small, safe and fast formatting library
Name: fmt
-Version: 9.1.0
+Version: 10.2.1
Release: 2
Group: Development/C++
License: BSD
URL: https://fmtlib.org
Source0: https://github.com/fmtlib/fmt/archive/%{version}/%{name}-%{version}.tar.gz
+# fix tests with FMT_STATIC_THOUSANDS_SEPARATOR (mariadb)
+Patch1: 44c3fe1ebb466ab5c296e1a1a6991c7c7b51b72e.diff
BuildRequires: cmake
+BuildRequires: ninja
%description
fmt is an open-source formatting library for C++. It can be used as a safe
@@ -30,19 +32,22 @@ and cmake files for libfmt
%package -n %{libname}
Summary: The libfmt libraries
Group: Development/C++
+# Not really, but we need to have some way to get rid of old
+# versioned libnames
+Obsoletes: %{mklibname -d fmt 9} <= 9.1.0-2
%description -n %{libname}
This package contains the library for libfmt
%prep
%autosetup -p1
+%cmake -G Ninja
%build
-%cmake
-%make_build
+%ninja_build -C build
%install
-%make_install -C build
+%ninja_install -C build
%files -n %{libname}
%{_libdir}/libfmt.so.%{major}*