[packages/libfmt] - updated to 10.0.0 (new soname) with time_point fix from upstream
qboosh
qboosh at pld-linux.org
Sat Jul 22 15:45:07 CEST 2023
commit 8530a91552510181e9f34d36a156dfca9b048bcc
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Sat Jul 22 15:01:30 2023 +0200
- updated to 10.0.0 (new soname) with time_point fix from upstream
libfmt-time_point-fix.patch | 63 +++++++++++++++++++++++++++++++++++++++++++++
libfmt.spec | 13 ++++++----
2 files changed, 71 insertions(+), 5 deletions(-)
---
diff --git a/libfmt.spec b/libfmt.spec
index 95a2866..7de79c4 100644
--- a/libfmt.spec
+++ b/libfmt.spec
@@ -1,16 +1,17 @@
Summary: Small, safe and fast formatting library
Summary(pl.UTF-8): Mała, bezpieczna i szybka biblioteka do formatowania
Name: libfmt
-Version: 9.1.0
+Version: 10.0.0
Release: 1
License: BSD
Group: Libraries
#Source0Download: https://github.com/fmtlib/fmt/releases
Source0: https://github.com/fmtlib/fmt/archive/%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: 21fac48cae8f3b4a5783ae06b443973a
+# Source0-md5: fa629bc1178918b7af4b2ea6b6a271dc
+Patch0: %{name}-time_point-fix.patch
URL: https://github.com/fmtlib/fmt
-BuildRequires: cmake >= 3.1.0
-BuildRequires: libstdc++-devel
+BuildRequires: cmake >= 3.8
+BuildRequires: libstdc++-devel >= 6:4.7
BuildRequires: rpmbuild(macros) >= 1.605
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -25,6 +26,7 @@ Summary: Header files for fmt library
Summary(pl.UTF-8): Pliki nagłówkowe biblioteki fmt
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
+Requires: libstdc++-devel >= 6:4.7
%description devel
Header files for fmt library.
@@ -46,6 +48,7 @@ Statyczna biblioteka fmt.
%prep
%setup -q -n fmt-%{version}
+%patch0 -p1
%build
install -d build
@@ -73,7 +76,7 @@ rm -rf $RPM_BUILD_ROOT
%defattr(644,root,root,755)
%doc README.rst ChangeLog.rst LICENSE.rst
%attr(755,root,root) %{_libdir}/libfmt.so.*.*.*
-%ghost %{_libdir}/libfmt.so.9
+%ghost %{_libdir}/libfmt.so.10
%files devel
%defattr(644,root,root,755)
diff --git a/libfmt-time_point-fix.patch b/libfmt-time_point-fix.patch
new file mode 100644
index 0000000..4c30040
--- /dev/null
+++ b/libfmt-time_point-fix.patch
@@ -0,0 +1,63 @@
+From d7592ad8bfa41eda239497f672ae8dc7bda00a4b Mon Sep 17 00:00:00 2001
+From: Patrick Geltinger <patlkli at patlkli.org>
+Date: Fri, 12 May 2023 00:25:21 +0200
+Subject: [PATCH] Fix time_point formatting for durations with certain ratios
+ (#3430)
+
+* Fix time_point formatting
+
+* Add timestamps_ratios tests
+---
+ include/fmt/chrono.h | 3 ++-
+ test/chrono-test.cc | 24 ++++++++++++++++++++++++
+ 2 files changed, 26 insertions(+), 1 deletion(-)
+
+diff --git a/include/fmt/chrono.h b/include/fmt/chrono.h
+index 1a2a12cf767..43daeeb4d39 100644
+--- a/include/fmt/chrono.h
++++ b/include/fmt/chrono.h
+@@ -2142,7 +2142,8 @@ struct formatter<std::chrono::time_point<std::chrono::system_clock, Duration>,
+ epoch - std::chrono::duration_cast<std::chrono::seconds>(epoch));
+
+ if (subsecs.count() < 0) {
+- auto second = std::chrono::seconds(1);
++ auto second = std::chrono::duration_cast<Duration>(
++ std::chrono::seconds(1));
+ if (epoch.count() < ((Duration::min)() + second).count())
+ FMT_THROW(format_error("duration is too small"));
+ subsecs += second;
+diff --git a/test/chrono-test.cc b/test/chrono-test.cc
+index 8e2772fa0f6..33c0c2c6653 100644
+--- a/test/chrono-test.cc
++++ b/test/chrono-test.cc
+@@ -850,6 +850,30 @@ TEST(chrono_test, utc_clock) {
+ }
+ #endif
+
++TEST(chrono_test, timestamps_ratios) {
++ std::chrono::time_point<std::chrono::system_clock, std::chrono::milliseconds>
++ t1(std::chrono::milliseconds(67890));
++
++ EXPECT_EQ(fmt::format("{:%M:%S}", t1), "01:07.890");
++
++ std::chrono::time_point<std::chrono::system_clock, std::chrono::minutes>
++ t2(std::chrono::minutes(7));
++
++ EXPECT_EQ(fmt::format("{:%M:%S}", t2), "07:00");
++
++ std::chrono::time_point<std::chrono::system_clock,
++ std::chrono::duration<int, std::ratio<9>>>
++ t3(std::chrono::duration<int, std::ratio<9>>(7));
++
++ EXPECT_EQ(fmt::format("{:%M:%S}", t3), "01:03");
++
++ std::chrono::time_point<std::chrono::system_clock,
++ std::chrono::duration<int, std::ratio<63>>>
++ t4(std::chrono::duration<int, std::ratio<63>>(1));
++
++ EXPECT_EQ(fmt::format("{:%M:%S}", t4), "01:03");
++}
++
+ TEST(chrono_test, timestamps_sub_seconds) {
+ std::chrono::time_point<std::chrono::system_clock,
+ std::chrono::duration<long long, std::ratio<1, 3>>>
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/libfmt.git/commitdiff/8530a91552510181e9f34d36a156dfca9b048bcc
More information about the pld-cvs-commit
mailing list