pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/textproc/fmtlib fmtlib: updated to 8.1.1
details: https://anonhg.NetBSD.org/pkgsrc/rev/56f67ee9038c
branches: trunk
changeset: 371256:56f67ee9038c
user: adam <adam%pkgsrc.org@localhost>
date: Fri Jan 07 21:16:09 2022 +0000
description:
fmtlib: updated to 8.1.1
8.1.1 - 2022-01-06
------------------
* Restored ABI compatibility with version 8.0.x
* Fixed chorno formatting on big endian systems
* Fixed a linkage error with mingw
8.1.0 - 2022-01-02
------------------
* 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++::
----------------------------------------------------------------------------
Benchmark Before After
----------------------------------------------------------------------------
FMTFormatter_z 261 ns 26.3 ns
FMTFormatterCompile_z 246 ns 11.6 ns
FMTFormatter_Y 263 ns 26.1 ns
FMTFormatterCompile_Y 244 ns 10.5 ns
----------------------------------------------------------------------------
* Implemented subsecond formatting for chrono durations
For example (`godbolt <https://godbolt.org/z/es7vWTETe>`__):
.. code:: c++
#include <fmt/chrono.h>
int main() {
fmt::print("{:%S}", std::chrono::milliseconds(1234));
}
prints "01.234".
* 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.
For example (`godbolt <https://godbolt.org/z/TxGxG9Poq>`__):
.. code:: c++
#include <fmt/format.h>
int main() {
fmt::print("{} dollars", fmt::group_digits(1000000));
}
prints "1,000,000 dollars".
* Added support for faint, conceal, reverse and blink text styles
* Added experimental support for compile-time floating point formatting
It is currently limited to the header-only mode.
* Added UDL-based named argument support to compile-time format string checks
For example (`godbolt <https://godbolt.org/z/ohGbbvonv>`__):
.. code:: c++
#include <fmt/format.h>
int main() {
using namespace fmt::literals;
fmt::print("{answer:s}", "answer"_a=42);
}
gives a compile-time error on compilers with C++20 ``consteval`` and non-type
template parameter support (gcc 10+) because ``s`` is not a valid format
specifier for an integer.
* Implemented escaping of string range elements.
For example (`godbolt <https://godbolt.org/z/rKvM1vKf3>`__):
.. code:: c++
#include <fmt/ranges.h>
#include <vector>
int main() {
fmt::print("{}", std::vector<std::string>{"\naan"});
}
is now printed as::
["\naan"]
instead of::
["
aan"]
* Switched to JSON-like representation of maps and sets for consistency with
Python's ``str.format``.
For example (`godbolt <https://godbolt.org/z/seKjoY9W5>`__):
.. code:: c++
#include <fmt/ranges.h>
#include <map>
int main() {
fmt::print("{}", std::map<std::string, int>{{"answer", 42}});
}
is now printed as::
{"answer": 42}
* 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
diffstat:
textproc/fmtlib/Makefile | 6 ++++--
textproc/fmtlib/distinfo | 8 ++++----
2 files changed, 8 insertions(+), 6 deletions(-)
diffs (34 lines):
diff -r 2c40c93c0d37 -r 56f67ee9038c textproc/fmtlib/Makefile
--- a/textproc/fmtlib/Makefile Fri Jan 07 21:06:28 2022 +0000
+++ b/textproc/fmtlib/Makefile Fri Jan 07 21:16:09 2022 +0000
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.10 2021/07/14 07:31:10 adam Exp $
+# $NetBSD: Makefile,v 1.11 2022/01/07 21:16:09 adam Exp $
-DISTNAME= fmt-8.0.1
+DISTNAME= fmt-8.1.1
PKGNAME= ${DISTNAME:S/fmt/fmtlib/}
CATEGORIES= textproc
MASTER_SITES= ${MASTER_SITE_GITHUB:=fmtlib/}
@@ -15,6 +15,8 @@
USE_LANGUAGES= c c++11
PKGCONFIG_OVERRIDE= support/cmake/fmt.pc.in
TEST_ENV+= LD_LIBRARY_PATH=${WRKSRC}
+# For Darwin
+TEST_ENV+= DYLD_LIBRARY_PATH=${WRKSRC}
TEST_TARGET= test
CMAKE_ARGS+= -DBUILD_SHARED_LIBS=ON
diff -r 2c40c93c0d37 -r 56f67ee9038c textproc/fmtlib/distinfo
--- a/textproc/fmtlib/distinfo Fri Jan 07 21:06:28 2022 +0000
+++ b/textproc/fmtlib/distinfo Fri Jan 07 21:16:09 2022 +0000
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.13 2021/10/26 11:21:53 nia Exp $
+$NetBSD: distinfo,v 1.14 2022/01/07 21:16:09 adam Exp $
-BLAKE2s (fmt-8.0.1.tar.gz) = 51a11e9f44ff5f1c4e8dda3e0198eff2d123396c043c938f515bfb1fe352dba8
-SHA512 (fmt-8.0.1.tar.gz) = 643e68d5b2e0e9c83231ab2b0036596a6297b1d9ed6bd7b1172bee4ff134c8af8f09174c06c94225132c1b635b0977ea4ce783748d7bd76a9a0b5ad597456c84
-Size (fmt-8.0.1.tar.gz) = 805616 bytes
+BLAKE2s (fmt-8.1.1.tar.gz) = 995c9b11fe27b6c33a3c34aa2475f9020da5fb48fbbcd6da1f0aac761c53ee5c
+SHA512 (fmt-8.1.1.tar.gz) = 794a47d7cb352a2a9f2c050a60a46b002e4157e5ad23e15a5afc668e852b1e1847aeee3cda79e266c789ff79310d792060c94976ceef6352e322d60b94e23189
+Size (fmt-8.1.1.tar.gz) = 826254 bytes
Home |
Main Index |
Thread Index |
Old Index