fmt/fmt.spec
Luigi Baldoni e4c8f8f8cf Accepting request 943557 from home:alois:branches:devel:libraries:c_c++
- 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
2022-01-03 10:19:28 +00:00

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