Luigi Baldoni
e4c8f8f8cf
- Update to version 8.1.0 * Optimized chrono formatting. + Processing of some specifiers such as %z and %Y is now up to 10-20 times faster, for example on GCC 11 with libstdc++. * Implemented subsecond formatting for chrono durations. * Fixed handling of precision 0 when formatting chrono durations. * Fixed an overflow on invalid inputs in the tm formatter. * Added fmt::group_digits that formats integers with a non-localized digit separator (comma) for groups of three digits. * Added support for faint, conceal, reverse and blink text styles. * Added experimental support for compile-time floating point formatting. * Added UDL-based named argument support to compile-time format string checks. * Implemented escaping of string range elements. * Switched to JSON-like representation of maps and sets for consistency with Python's str.format. * Extended fmt::join to support C++20-only ranges. * Optimized handling of non-const-iterable ranges and implemented initial support for non-const-formattable types. * Disabled implicit conversions of scoped enums to integers that was accidentally introduced in earlier versions. * Deprecated implicit conversion of [const] signed char* and [const] unsigned char* to C strings. * Deprecated _format, a legacy UDL-based format API. * Marked format, formatted_size and to_string as [[nodiscard]]. * Added missing diagnostic when trying to format function and member pointers as well as objects convertible to pointers which is explicitly disallowed. * Optimized writing to a contiguous buffer with format_to_n. * Optimized writing to non-char buffers. * Decimal point is now localized when using the L specifier. * Improved floating point formatter implementation. * Fixed handling of very large precision in fixed format. * Made a table of cached powers used in FP formatting static. * Resolved a lookup ambiguity with C++20 format-related functions due to ADL. * Removed unnecessary inline namespace qualification. * Implemented argument forwarding in format_to_n. * Fixed handling of implicit conversions in fmt::to_string and format string compilation. * Changed the default access mode of files created by fmt::output_file to -rw-r--r-- for consistency with fopen. * Make fmt::ostream::flush public. * Improved C++14/17 attribute detection. * Improved documentation. * Improved fuzzers and added a fuzzer for chrono timepoint formatting. * Added the FMT_SYSTEM_HEADERS CMake option setting which marks {fmt}'s headers as system. It can be used to suppress warnings. * Added the Bazel build system support. * Improved build configuration and tests. * Fixed various warnings and compilation issues. OBS-URL: https://build.opensuse.org/request/show/943557 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/fmt?expand=0&rev=42
79 lines
2.1 KiB
RPMSpec
79 lines
2.1 KiB
RPMSpec
#
|
|
# spec file for package fmt
|
|
#
|
|
# Copyright (c) 2022 SUSE LLC
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%define sover 8
|
|
Name: fmt
|
|
Version: 8.1.0
|
|
Release: 0
|
|
Summary: A formatting library for C++
|
|
License: MIT
|
|
URL: http://fmtlib.net/
|
|
Source0: https://github.com/fmtlib/fmt/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
|
Source1: baselibs.conf
|
|
BuildRequires: cmake
|
|
BuildRequires: gcc-c++
|
|
BuildRequires: pkgconfig
|
|
|
|
%description
|
|
Fmt is a formatting library for C++. It can be used as an
|
|
alternative to (s)printf and IOStreams.
|
|
|
|
%package -n libfmt%{sover}
|
|
Summary: A formatting library for C++
|
|
|
|
%description -n libfmt%{sover}
|
|
Shared library for fmt, a formatting library for C++.
|
|
|
|
%package devel
|
|
Summary: Development files for fmt, a formatting library
|
|
Requires: libfmt%{sover} = %{version}
|
|
|
|
%description devel
|
|
Development files for fmt, a formatting library for C++.
|
|
|
|
%prep
|
|
%autosetup -p1
|
|
|
|
%build
|
|
%cmake -DCMAKE_INSTALL_INCLUDEDIR:PATH=%{_includedir}
|
|
%make_jobs
|
|
|
|
%install
|
|
%cmake_install
|
|
|
|
%check
|
|
# path needs to be exported otherwise unit tests will fail
|
|
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:%{buildroot}%{_libdir}
|
|
%ctest
|
|
|
|
%post -n libfmt%{sover} -p /sbin/ldconfig
|
|
%postun -n libfmt%{sover} -p /sbin/ldconfig
|
|
|
|
%files -n libfmt%{sover}
|
|
%license LICENSE.rst
|
|
%{_libdir}/libfmt.so.%{sover}*
|
|
|
|
%files devel
|
|
%doc ChangeLog.rst README.rst
|
|
%{_includedir}/%{name}
|
|
%{_libdir}/cmake/%{name}
|
|
%{_libdir}/libfmt.so
|
|
%{_libdir}/pkgconfig/%{name}.pc
|
|
|
|
%changelog
|