[info=1c3ca93d6dfce59a350707b9ad3ff3ac581deea357dc6f22bcf1a60bbea7b381]

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/fmt?expand=0&rev=64
This commit is contained in:
OBS User unknown 2024-12-25 19:19:13 +00:00 committed by Git OBS Bridge
commit 510ddc00fd
10 changed files with 931 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

BIN
11.0.1.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
11.0.2.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
11.1.0.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

4
_scmsync.obsinfo Normal file
View File

@ -0,0 +1,4 @@
mtime: 1735154333
commit: 1c3ca93d6dfce59a350707b9ad3ff3ac581deea357dc6f22bcf1a60bbea7b381
url: https://src.opensuse.org/jengelh/fmt
revision: master

1
baselibs.conf Normal file
View File

@ -0,0 +1 @@
libfmt11

3
build.specials.obscpio Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0820e6ad562e0c47cce3bb05ea641c562228d39c776d13c4ccd83760c5785e43
size 256

809
fmt.changes Normal file
View File

@ -0,0 +1,809 @@
-------------------------------------------------------------------
Wed Dec 25 19:15:40 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
- Update to release 11.1
* Reduced debug (unoptimized) binary code size and the number of
template instantiations when passing formatting arguments
* Added an experimental fmt::writer API that can be used for
writing to different destinations such as files or strings
* Made std::expected<void, E> formattable
* Made fmt::is_formattable<void> SFINAE-friendly
* Added the n specifier for tuples and pairs
* Added support for tuple-like types to ``fmt::join``
* Added a formatter for ``std::reference_wrapper``
* Added experimental padding support (glibc ``strftime``
extension) to ``%m``, ``%j`` and ``%Y``
* Made ``fmt::appender`` satisfy the ``std::output_iterator`` concept
* Added support for UTF-32 code units greater than 0xFFFF in fill
-------------------------------------------------------------------
Sat Jul 20 14:51:13 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
- Update to release 11.0.2
* Fixed performance regressions when using
``std::back_insert_iterator`` with`` fmt::format_to``.
* Made ``formatter<std::string_view>::parse`` work with types
convertible to ``std::string_view``.
* Made ``volatile void *`` formattable.
* Made ``fmt::context`` iterator compatible with STL algorithms
that rely on the iterator category.
-------------------------------------------------------------------
Wed Jul 10 18:07:21 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
- Update to release 11.0.1
* Added fmt/base.h which provides a subset of the API with
minimal include dependencies and enough functionality to
replace all uses of the printf family of functions.
* Improved integration with stdio in fmt::print, enabling
direct writes into a C stream buffer in common cases.
* fmt::format_to no longer exceeds buffers, instead it will
truncate.
* Added formatters for std::{expected,complex,type_info},
std::chrono::{day,month,year,year_month_day}.
-------------------------------------------------------------------
Thu Jan 4 13:55:11 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
- Update to release 10.2.1
* Restore symbol write_console(std::FILE* f, string_view text)
-------------------------------------------------------------------
Mon Jan 1 22:09:07 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
- Update to release 10.2
* Added support for the %j specifier (the number of days) for
std::chrono::duration.
* Added support for the chrono suffix for days and changed the
suffix for minutes from "m" to the correct "min".
-------------------------------------------------------------------
Tue Aug 29 08:18:11 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 10.1.1
* Added formatters for std::atomic and atomic_flag.
* Fixed an error about partial specialization of
formatter<string> after instantiation (GCC, C++20 mode).
* Made fmt::to_string work with types that have format_as
overloads.
* Made formatted_size work with integral format specifiers at
compile time.
-------------------------------------------------------------------
Sat Aug 12 22:50:35 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 10.1
* Optimized format string compilation resulting in up to 40%
speed up in compiled format_to and ~4x speed up in compiled
format_to_n on a concatenation benchmark.
-------------------------------------------------------------------
Thu May 11 18:11:28 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 10
* New floating-point formatting algorithm for given precision.
The new algorithm is based on Dragonbox.
* Replaced snprintf-based hex float formatter with an internal
implementation.
* Made format_as work with any user-defined type and not just
enums.
* Removed deprecated implicit conversions for enums and
conversions to primitive types for compatibility with
std::format and to prevent potential ODR violations. Use
format_as instead.
* Implemented formatting of subseconds.
* Added formatters for std::priority_queue, std::queue,
std::stack, std;:optional.
-------------------------------------------------------------------
Fri Mar 10 08:14:22 UTC 2023 - Martin Liška <mliska@suse.cz>
- Use -ffloat-store as a fix for excessive precision provided
by X87 on i686 target (https://github.com/fmtlib/fmt/issues/3337).
-------------------------------------------------------------------
Sun Aug 28 06:35:23 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
- Update to release 9.1
* fmt::formatted_size now works at compile time
* Fixed handling of invalid UTF-8 (#3038)
* Improved Unicode support in ostream overloads of print
* Added support for wide streams to fmt::streamed
* Added the n specifier that disables the output of delimiters
when formatting ranges (#2981)
- Delete 0001-Fix-large-shift-in-uint128_fallback.patch
0002-Use-FMT_USE_FLOAT128-instead-of-__SIZEOF_FLOAT128__.patch
0001-Make-sure-the-correct-fmod-overload-is-called.patch (merged)
-------------------------------------------------------------------
Tue Jul 5 14:16:23 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
- Update to release 9
* Switched to the internal floating point formatter for all
decimal presentation formats. In particular this results in
consistent rounding on all platforms and removing the
s[n]printf fallback for decimal FP formatting.
* Compile-time floating point formatting no longer requires the
header-only mode.
* Disabled automatic std::ostream insertion operator
(operator<<) discovery when fmt/ostream.h is included to
prevent ODR violations. You can get the old behavior by
defining FMT_DEPRECATED_OSTREAM.
* Added fmt::ostream_formatter that can be used to write
formatter specializations that perform formatting via
std::ostream.
* Added the fmt::streamed function that takes an object and
formats it via std::ostream.
* Added experimental std::variant formatting support.
* Added experimental std::filesystem::path formatting support.
* Added a std::thread::id formatter to fmt/std.h.
* Added support for nested specifiers to range formatting.
- Add 0001-Fix-large-shift-in-uint128_fallback.patch
0002-Use-FMT_USE_FLOAT128-instead-of-__SIZEOF_FLOAT128__.patch
0001-Make-sure-the-correct-fmod-overload-is-called.patch
-------------------------------------------------------------------
Sat Apr 30 12:01:50 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
- Replace obsolete macro %make_jobs by %cmake_build
-------------------------------------------------------------------
Fri Jan 7 08:36:43 UTC 2022 - Luigi Baldoni <aloisio@gmx.com>
- Update to version 8.1.1
* Restored ABI compatibility with version 8.0.x
* Fixed chrono formatting on big-endian systems
-------------------------------------------------------------------
Mon Jan 3 10:11:22 UTC 2022 - Luigi Baldoni <aloisio@gmx.com>
- 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.
-------------------------------------------------------------------
Sat Jul 3 05:28:37 UTC 2021 - Luigi Baldoni <aloisio@gmx.com>
- Update to version 8.0.1
* Fixed the version number in the inline namespace.
* Added a missing presentation type check for std::string.
* Fixed a linkage error when mixing code built with clang and
gcc.
* Fixed documentation issues.
* Removed dead code in FP formatter.
* Fixed various warnings and compilation issues.
-------------------------------------------------------------------
Mon Jun 21 14:48:42 UTC 2021 - Luigi Baldoni <aloisio@gmx.com>
- Update to version 8.0.0
* Enabled compile-time format string check by default.
* Added compile-time formatting.
* Optimized handling of format specifiers during format string
compilation.
* Added the ``_cf`` user-defined literal to represent a
compiled format string. It can be used instead of the
``FMT_COMPILE`` macro.
* Format string compilation now requires ``format`` functions
of ``formatter`` specializations for user-defined types to
be ``const``.
* Added UDL-based named argument support to format string
compilation.
* Added format string compilation support to ``fmt::print``.
* Added initial support for compiling {fmt} as a C++20 module.
* Made symbols private by default reducing shared library size
* Optimized includes making the result of preprocessing
``fmt/format.h``.
* Added support of ranges with non-const ``begin`` / ``end``
* Added support of ``std::byte`` and other formattable types
to ``fmt::join``.
* Implemented the default format for
``std::chrono::system_clock``.
* Made more chrono specifiers locale independent by default.
Use the ``'L'`` specifier to get localized formatting.
* Improved locale handling in chrono formatting.
* Deprecated ``fmt/locale.h`` moving the formatting functions
that take a locale to ``fmt/format.h`` (``char``) and
``fmt/xchar`` (other overloads). This doesn't introduce a
dependency on ``<locale>`` so there is virtually no compile
time effect.
* Made parameter order in ``vformat_to`` consistent with
``format_to``.
* Added support for time points with arbitrary durations.
* Formatting floating-point numbers no longer produces
trailing zeros by default.
for consistency with ``std::format``.
* Dropped a limit on the number of elements in a range and
replaced ``{}`` with ``[]`` as range delimiters for
consistency with Python's ``str.format``.
* The ``'L'`` specifier for locale-specific numeric formatting
can now be combined with presentation specifiers as in
``std::format``.
* Made the ``0`` specifier ignored for infinity and NaN.
* Made the hexfloat formatting use the right alignment by
default.
* Removed the deprecated numeric alignment (``'='``). Use the
``'0'`` specifier instead.
* Removed the deprecated ``fmt/posix.h`` header that has been
replaced with ``fmt/os.h``.
* Removed the deprecated ``format_to_n_context``,
``format_to_n_args`` and ``make_format_to_n_args``. They
have been replaced with ``format_context``, ``format_args`
and ``make_format_args`` respectively.
* Moved ``wchar_t``-specific functions and types to
``fmt/wchar.h``. You can define
``FMT_DEPRECATED_INCLUDE_WCHAR`` to automatically include
``fmt/wchar.h`` from ``fmt/format.h`` but this will be
disabled in the next major release.
* Fixed handling of the ``'+'`` specifier in localized
formatting.
* Added support for the ``'s'`` format specifier that gives
textual representation of ``bool``.
* Made ``fmt::ptr`` work with function pointers.
* Fixed ``fmt::formatted_size`` with format string compilation
* Fixed handling of empty format strings during format string
compilation.
* Fixed handling of enums in ``fmt::to_string``.
* Improved width computation.
* The experimental fast output stream (``fmt::ostream``) is
now truncated by default for consistency with ``fopen``.
* Fixed moving of ``fmt::ostream`` that holds buffered data
* Replaced the ``fmt::system_error`` exception with a function
of the same name that constructs ``std::system_error``.
* Replaced the ``fmt::windows_error`` exception with a
function of the same name that constructs
``std::system_error`` with the category returned by
``fmt::system_category()``.
* Replaced ``fmt::error_code`` with ``std::error_code`` and
made it formattable.
* Added speech synthesis support.
* Made ``format_to`` work with a memory buffer that has a
custom allocator.
* Added ``Allocator::max_size`` support to
``basic_memory_buffer``.
* Added wide string support to ``fmt::join``
* Made iterators passed to ``formatter`` specializations via a
format context satisfy C++20 ``std::output_iterator``
requirements.
* Optimized the ``printf`` implementation.
* Improved detection of ``constexpr`` ``char_traits``.
* Fixed exception propagation from iterators.
* Improved ``strftime`` error handling.
* Stopped using deprecated GCC UDL template extension.
* Added ``fmt/args.h`` to the install target.
* Error messages are now passed to assert when exceptions are
disabled.
* Added the ``FMT_MASTER_PROJECT`` CMake option to control
build and install targets when {fmt} is included via
``add_subdirectory``.
* Improved build configuration.
* Fixed various warnings and compilation issues.
* Improved documentation.
* Continuous integration and test improvements.
- Bump soversion to 8
-------------------------------------------------------------------
Wed Nov 25 14:55:58 UTC 2020 - aloisio@gmx.com
- Update to version 7.1.3
* Fixed handling of buffer boundaries in format_to_n
* Fixed linkage errors when linking with a shared library
* Reintroduced ostream support to range formatters
* Worked around an issue with mixing std versions in gcc
-------------------------------------------------------------------
Wed Nov 4 17:34:46 UTC 2020 - aloisio@gmx.com
- Update to version 7.1.2
* Fixed floating point formatting with large precision
-------------------------------------------------------------------
Mon Nov 2 15:27:46 UTC 2020 - aloisio@gmx.com
- Update to version 7.1.1
* Fixed ABI compatibility with 7.0.x
* Added the FMT_ARM_ABI_COMPATIBILITY macro to work around
ABI incompatibility between GCC and Clang on ARM
* Worked around a SFINAE bug in GCC 8
* Fixed linkage errors when building with GCC's LTO
* Fixed a compilation error when building without
__builtin_clz or equivalent
* Fixed a sign conversion warning
- Dropped fmt-7.1.0-LTO.patch (merged upstream)
-------------------------------------------------------------------
Mon Oct 26 14:54:41 UTC 2020 - Luigi Baldoni <aloisio@gmx.com>
- Update to version 7.1.0
* Switched from Grisu3 to Dragonbox for the default
floating-point formatting which gives the shortest decimal
representation with round-trip guarantee and correct rounding.
This makes {fmt} up to 20-30x faster than common
implementations of std::ostringstream and sprintf on
dtoa-benchmark and faster than double-conversion and Ryū. It
is possible to get even better performance at the cost of
larger binary size by compiling with the
FMT_USE_FULL_CACHE_DRAGONBOX macro set to 1.
* Added an experimental unsynchronized file output API which,
together with format string compilation can give 5-9 times
speed up compared to fprintf on common platforms.
* Added a formatter for std::chrono::time_point<system_clock>
* Added support for ranges with non-const begin/end to fmt::join
* Added a memory_buffer::append overload that takes a range.
* Improved handling of single code units in FMT_COMPILE.
* Added dynamic width support to format string compilation.
* Improved error reporting for unformattable types: now you'll
get the type name directly in the error message instead of
the note.
* Added the make_args_checked function template that allows
you to write formatting functions with compile-time format
string checks and avoid binary code bloat.
* Replaced snprintf fallback with a faster internal IEEE 754
float and double formatter for arbitrary precision.
* Made format_to_n and formatted_size part of the core API.
* Added fmt::format_to_n overload with format string
compilation.
* Added fmt::format_to overload that take text_style.
* Made the # specifier emit trailing zeros in addition to the
decimal point.
* Changed the default floating point format to not include .0
for consistency with std::format and std::to_chars. It is
possible to get the decimal point and trailing zero with the
# specifier.
* Fixed an issue with floating-point formatting that could
result in addition of a non-significant trailing zero in
rare cases e.g. 1.00e-34 instead of 1.0e-34.
* Made fmt::to_string fallback on ostream insertion operator
if the formatter specialization is not provided.
* Added support for the append mode to the experimental file
API and improved fcntl.h detection.
* Fixed handling of types that have both an implicit
conversion operator and an overloaded ostream insertion
operator.
* Fixed a slicing issue in an internal iterator type.
* Fixed an issue in locale-specific integer formatting.
* Fixed handling of exotic code unit types.
* Improved FMT_ALWAYS_INLINE.
* Improved documentation.
* Added the FMT_REDUCE_INT_INSTANTIATIONS CMake option that
reduces the binary code size at the cost of some integer
formatting performance. This can be useful for extremely
memory-constrained embedded systems.
* Added the FMT_USE_INLINE_NAMESPACES macro to control usage
of inline namespaces.
* Improved build configuration.
* Fixed various warnings and compilation issues.
- Add fmt-7.1.0-LTO.patch
-------------------------------------------------------------------
Fri Aug 7 19:56:36 UTC 2020 - aloisio@gmx.com
- Update to version 7.0.3
* Worked around broken ``numeric_limits`` for 128-bit integers
* Added error reporting on missing named arguments
* Stopped using 128-bit integers with clang-cl
* Fixed issues in locale-specific integer formatting
-------------------------------------------------------------------
Wed Jul 29 17:33:10 UTC 2020 - aloisio@gmx.com
- Update to version 7.0.2
* Worked around broken ``numeric_limits`` for 128-bit integers
* Fixed compatibility with CMake 3.4
* Fixed handling of digit separators in locale-specific
formatting
-------------------------------------------------------------------
Tue Jul 7 19:18:26 UTC 2020 - aloisio@gmx.com
- Update to version 7.0.1
* Updated the inline version namespace name.
* Worked around a gcc bug in mangling of alias templates
* Fixed minor issues with the documentation.
-------------------------------------------------------------------
Mon Jul 6 14:36:10 UTC 2020 - Luigi Baldoni <aloisio@gmx.com>
- Update to version 7.0.0
* Reduced the library size.
* Added a simpler and more efficient format string compilation
API. The old fmt::compile API is now deprecated.
* Optimized integer formatting: format_to with format string
compilation and a stack-allocated buffer is now faster than
to_chars on both libc++ and libstdc++.
* Optimized handling of small format strings.
* Applied extern templates to improve compile times when using
the core API and fmt/format.h. It is still recommended to use
fmt/core.h instead of fmt/format.h but the compile time
difference is now smaller.
* Named arguments are now stored on stack (no dynamic memory
allocations) and the compiled code is more compact and
efficient.
* Implemented compile-time checks for dynamic width and
precision.
* Added sentinel support to fmt::join.
* Added support for named args, clear and reserve to
dynamic_format_arg_store.
* Added support for the 'c' format specifier to integral types
for compatibility with std::format.
* Replaced the 'n' format specifier with 'L' for compatibility
with std::format. The 'n' specifier can be enabled via the
FMT_DEPRECATED_N_SPECIFIER macro.
* The '=' format specifier is now disabled by default for
compatibility with std::format. It can be enabled via the
FMT_DEPRECATED_NUMERIC_ALIGN macro.
* Removed the following deprecated APIs:
+ FMT_STRING_ALIAS and fmt macros - replaced by
FMT_STRING
+ fmt::basic_string_view::char_type - replaced by
fmt::basic_string_view::value_type
+ convert_to_int
+ format_arg_store::types
+ *parse_context - replaced by *format_parse_context
+ FMT_DEPRECATED_INCLUDE_OS
+ FMT_DEPRECATED_PERCENT - incompatible with
std::format
+ *writer - replaced by compiled format API
* Renamed the internal namespace to detail. The former is
still provided as an alias if the FMT_USE_INTERNAL macro is
defined.
* Improved compatibility between fmt::printf with the standard
specs.
* Fixed handling of operator<< overloads that use copyfmt.
* Added the FMT_OS CMake option to control inclusion of
OS-specific APIs in the fmt target. This can be useful for
embedded platforms.
* Replaced FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION with the
FMT_FUZZ macro to prevent interferring with fuzzing of
projects using {fmt}.
* Fixed compatibility with emscripten.
* Improved documentation.
* Implemented various build configuration fixes and
improvements.
* Fixed various warnings and compilation issues.
- Drop fmt-6.2.1-fix_pkgconfig_paths.patch
- Bump sover to 7
-------------------------------------------------------------------
Tue Jun 23 16:02:53 UTC 2020 - Luigi Baldoni <aloisio@gmx.com>
- Add fmt-6.2.1-fix_pkgconfig_paths.patch (fix for boo#1173270)
-------------------------------------------------------------------
Sat May 9 17:53:02 UTC 2020 - Luigi Baldoni <aloisio@gmx.com>
- Update to version 6.2.1
* Fixed ostream support in ``sprintf``
(`#1631 <https://github.com/fmtlib/fmt/issues/1631>`_).
* Fixed type detection when using implicit conversion to
``string_view`` and ostream ``operator<<`` inconsistently
(`#1662 <https://github.com/fmtlib/fmt/issues/1662>`_).
- Drop 7d01859ef16e6b65bc023ad8bebfedecb088bf81.patch (no longer
necessary)
- Spec cleanup
-------------------------------------------------------------------
Tue Apr 14 13:04:56 UTC 2020 - Hans-Peter Jansen <hpj@urpla.net>
- Apply 7d01859ef16e6b65bc023ad8bebfedecb088bf81.patch
to fix kodi compilation and probably others:
https://github.com/fmtlib/fmt/issues/1620
-------------------------------------------------------------------
Mon Apr 6 14:21:08 UTC 2020 - Luigi Baldoni <aloisio@gmx.com>
- Update to version 6.2.0
* Improved error reporting when trying to format an object of
a non-formattable type:
* Reduced library size by ~10%.
* Always print decimal point if # is specified (#1476, #1498):
* Implemented the 'L' specifier for locale-specific numeric
formatting to improve compatibility with std::format. The 'n'
specifier is now deprecated and will be removed in the next
major release.
* Moved OS-specific APIs such as windows_error from
fmt/format.h to fmt/os.h. You can define
FMT_DEPRECATED_INCLUDE_OS to automatically include fmt/os.h from
fmt/format.h for compatibility but this will be disabled in the
next major release.
* Added precision overflow detection in floating-point
formatting.
* Implemented detection of invalid use of fmt::arg.
* Used type_identity to block unnecessary template argument
deduction.
* Improved UTF-8 handling (#1109):
* Added experimental dynamic argument storage (#1170, #1584):
* Made fmt::join accept initializer_list (#1591).
* Fixed handling of empty tuples (#1588).
* Fixed handling of output iterators in format_to_n (#1506).
* Fixed formatting of std::chrono::duration types to wide
output (#1533).
* Added const begin and end overload to buffers (#1553).
* Added the ability to disable floating-point formatting via
FMT_USE_FLOAT, FMT_USE_DOUBLE and FMT_USE_LONG_DOUBLE macros for
extremely memory-constrained embedded system (#1590).
* Made FMT_STRING work with constexpr string_view (#1589).
* Implemented a minor optimization in the format string parser
(#1560).
* Improved attribute detection (#1469, #1475, #1576).
* Improved documentation (#1481, #1523).
* Fixed symbol visibility on Linux when compiling with
-fvisibility=hidden (#1535).
* Implemented various build configuration fixes and
improvements (#1264, #1460, #1534, #1536, #1545, #1546, #1566,
#1582, #1597, #1598).
* Fixed various warnings and compilation issues
- Dropped Group tag
-------------------------------------------------------------------
Wed Dec 11 16:57:03 UTC 2019 - Luigi Baldoni <aloisio@gmx.com>
- Update to version 6.1.2
* Fixed ABI compatibility with libfmt.so.6.0.0 (#1471).
* Fixed handling types convertible to std::string_view (#1451).
Thanks @denizevrenci (Deniz Evrenci).
* Made CUDA test an opt-in enabled via the FMT_CUDA_TEST CMake
option.
* Fixed sign conversion warnings (#1440). Thanks @0x8000-0000
(Florin Iucha).
-------------------------------------------------------------------
Thu Dec 5 15:43:30 UTC 2019 - Luigi Baldoni <aloisio@gmx.com>
- Update to version 6.1.1
* Added a missing decimal point in exponent notation with
trailing zeros.
* Removed deprecated format_arg_store::TYPES.
-------------------------------------------------------------------
Wed Dec 4 11:34:50 UTC 2019 - Luigi Baldoni <aloisio@gmx.com>
- Update to version 6.1.0
* {fmt} now formats IEEE 754 ``float`` and ``double`` using
the shortest decimal representation with correct rounding by
default:
.. code:: c++
#include <cmath>
#include <fmt/core.h>
int main() {
fmt::print("{}", M_PI);
}
prints ``3.141592653589793``.
* Made the fast binary to decimal floating-point formatter the
default, simplified it and improved performance. {fmt} is now
15 times faster than libc++'s ``std::ostringstream``, 11
times faster than ``printf`` and 10% faster than
double-conversion on `dtoa-benchmark
(https://github.com/fmtlib/dtoa-benchmark)
================== ========= =======
Function Time (ns) Speedup
================== ========= =======
ostringstream 1,346.30 1.00x
ostrstream 1,195.74 1.13x
sprintf 995.08 1.35x
doubleconv 99.10 13.59x
fmt 88.34 15.24x
================== ========= =======
* {fmt} no longer converts ``float`` arguments to ``double``.
In particular this improves the default (shortest)
representation of floats and makes
``fmt::format`` consistent with ``std::format`` specs
(#1336, #1353, #1360, #1361)
.. code:: c++
fmt::print("{}", 0.1f);
prints ``0.1`` instead of ``0.10000000149011612``.
* Made floating-point formatting output consistent with
``printf``/iostreams (#1376, #1417)
* Added support for 128-bit integers (#1287)
.. code:: c++
fmt::print("{}", std::numeric_limits<__int128_t>::max());
prints ``170141183460469231731687303715884105727``.
* The overload of ``print`` that takes ``text_style`` is now
atomic, i.e. the output from different threads doesn't
interleave (#1351)
* Made compile time in the header-only mode ~20% faster by
reducing the number of template instantiations. ``wchar_t``
overload of ``vprint`` was moved from
``fmt/core.h`` to ``fmt/format.h``.
* Added an overload of ``fmt::join`` that works with tuples
(#1322, #1330)
.. code:: c++
#include <tuple>
#include <fmt/ranges.h>
int main() {
std::tuple<char, int, float> t{'a', 1, 2.0f};
fmt::print("{}", t);
}
prints ``('a', 1, 2.0)``.
* Changed formatting of octal zero with prefix from "0o0" to
"0":
.. code:: c++
fmt::print("{:#o}", 0);
prints ``0``.
* The locale is now passed to ostream insertion (``<<``)
operators (#1406)
.. code:: c++
#include <fmt/locale.h>
#include <fmt/ostream.h>
struct S {
double value;
};
std::ostream& operator<<(std::ostream& os, S s) {
return os << s.value;
}
int main() {
auto s = fmt::format(std::locale("fr_FR.UTF-8"), "{}", S{0.42});
// s == "0,42"
}
* Locale-specific number formatting now uses grouping (#1393,
#1394)
* Fixed handling of types with deleted implicit rvalue
conversion to ``const char**`` (#1421)
.. code:: c++
struct mystring {
operator const char*() const&;
operator const char*() &;
operator const char*() const&& = delete;
operator const char*() && = delete;
};
mystring str;
fmt::print("{}", str); // now compiles
* Enums are now mapped to correct underlying types instead of
``int`` (#1286)
* Enum classes are no longer implicitly converted to ``int``
(#1424)
* Added ``basic_format_parse_context`` for consistency with
C++20 ``std::format`` and deprecated ``basic_parse_context``.
* Fixed handling of UTF-8 in precision (#1389, #1390)
* Added a CUDA test (#1285, #1317)
* Improved documentation (#1276, #1291, #1296, #1315, #1332,
#1337, #1395, #1418)
* Various code improvements (#1358, #1407)
* Fixed compile-time format string checks for user-defined
types (#1292)
* Worked around a false positive in
``unsigned-integer-overflow`` sanitizer (#1377)
* Fixed various warnings and compilation issues (#1273, #1278,
#1280, #1281, #1288, #1290, #1301, #1305, #1306, #1309,
#1312, #1313, #1316, #1319, #1320, #1326, #1328, #1344,
#1345, #1347, #1349, #1354, #1362, #1366, #1364, #1370,
#1371, #1385, #1388, #1397, #1414, #1416, #1422, #1427,
#1431, #1433)
- Dropped fmt-bigendian_1.patch, fmt-bigendian_2.patch,
fmt-bigendian_3.patch and fmt-bigendian_4.patch (merged
upstream)
-------------------------------------------------------------------
Sun Dec 1 08:54:54 UTC 2019 - Luigi Baldoni <aloisio@gmx.com>
- Added fmt-bigendian_1.patch, fmt-bigendian_2.patch,
fmt-bigendian_3.patch and fmt-bigendian_4.patch to fix tests
on big endian targets
-------------------------------------------------------------------
Fri Nov 29 08:46:30 UTC 2019 - Luigi Baldoni <aloisio@gmx.com>
- Update to version 6.0.0
(too many changes to list, see ChangeLog.rst)
- Dropped 0001-install-pkg-config-file-into-libdir.patch (no
longer necessary)
- Switched to MIT license
- Increased SOVERSION to 6
-------------------------------------------------------------------
Mon Mar 25 16:21:01 UTC 2019 - olaf@aepfle.de
- Install fmt.pc into libdir with
0001-install-pkg-config-file-into-libdir.patch
-------------------------------------------------------------------
Sat Jan 12 18:29:40 UTC 2019 - Ferdinand Thiessen <rpm@fthiessen.de>
- Update to version 5.3.0:
* Introduced experimental chrono formatting support
* Added experimental support for emphasis
(bold, italic, underline, strikethrough), colored output to a
file stream, and improved colored formatting API
* Added support for 4-bit terminal colors
* Made std::string_view work as a format string
* Added wide string support to compile-time format string checks
* Made colored print functions work with wide strings
* Introduced experimental Unicode support
* Removed undocumented basic_fixed_buffer which has been
superseded by the iterator-based API
* Disallowed repeated leading zeros in an argument ID
* Deprecated fmt::visit, parse_context, and wparse_context.
Use fmt::visit_format_arg, format_parse_context, and
wformat_parse_context instead.
- Removed upstream merged fix-fmt_pc.patch
-------------------------------------------------------------------
Thu Dec 6 21:15:37 UTC 2018 - Jan Engelhardt <jengelh@inai.de>
- Do without em dashes in summaries.
-------------------------------------------------------------------
Thu Dec 6 13:38:46 UTC 2018 - Luigi Baldoni <aloisio@gmx.com>
- Added baselibs.conf as source
-------------------------------------------------------------------
Fri Nov 9 11:51:14 UTC 2018 - munix9@googlemail.com
- initial package for version 5.2.1

81
fmt.spec Normal file
View File

@ -0,0 +1,81 @@
#
# spec file for package fmt
#
# Copyright (c) 2024 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 11
Name: fmt
Version: 11.1.0
Release: 0
Summary: A formatting library for C++
License: MIT
URL: http://fmtlib.net/
Source: https://github.com/fmtlib/fmt/archive/%version.tar.gz
Source1: baselibs.conf
BuildRequires: c++_compiler
BuildRequires: cmake
BuildRequires: pkg-config
%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
# X87 fix for excessive precision: https://github.com/fmtlib/fmt/issues/3337
export CFLAGS="%optflags -ffloat-store"
export CXXFLAGS="$CFLAGS"
%cmake -DCMAKE_INSTALL_INCLUDEDIR:PATH="%_includedir"
%cmake_build
%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
%_libdir/libfmt.so.%{sover}*
%files devel
%doc ChangeLog.md README.md
%_includedir/%name
%_libdir/cmake/%name
%_libdir/libfmt.so
%_libdir/pkgconfig/%name.pc
%changelog