public inbox for development@lists.ipfire.org
 help / color / mirror / Atom feed
* [PATCH 1/2] fmt: Update to version 12.1.0
@ 2025-11-06 18:02 Adolf Belka
  2025-11-06 18:02 ` [PATCH 2/2] mpd: Ship due to so-bump in fmt Adolf Belka
  0 siblings, 1 reply; 2+ messages in thread
From: Adolf Belka @ 2025-11-06 18:02 UTC (permalink / raw)
  To: development; +Cc: Adolf Belka

- Update from version 11.2.0 to 12.1.0
- Update of rootfile
- so-bump so mpd requires shipping
- Changelog
    12.1.0
	- Optimized `buffer::append`, resulting in up to ~16% improvement on spdlog
	  benchmarks (https://github.com/fmtlib/fmt/pull/4541). Thanks @fyrsta7.
	- Worked around an ABI incompatibility in `std::locale_ref` between clang and
	  gcc (https://github.com/fmtlib/fmt/issues/4573).
	- Made `std::variant` and `std::expected` formatters work with `format_as`
	  (https://github.com/fmtlib/fmt/issues/4574,
	  https://github.com/fmtlib/fmt/pull/4575). Thanks @phprus.
	- Made `fmt::join<string_view>` work with C++ modules
	  (https://github.com/fmtlib/fmt/issues/4379,
	  https://github.com/fmtlib/fmt/pull/4577). Thanks @Arghnews.
	- Exported `fmt::is_compiled_string` and `operator""_cf` from the module
	  (https://github.com/fmtlib/fmt/pull/4544). Thanks @CrackedMatter.
	- Fixed a compatibility issue with C++ modules in clang
	  (https://github.com/fmtlib/fmt/pull/4548). Thanks @tsarn.
	- Added support for cv-qualified types to the `std::optional` formatter
	  (https://github.com/fmtlib/fmt/issues/4561,
	  https://github.com/fmtlib/fmt/pull/4562). Thanks @OleksandrKvl.
	- Added demangling support (used in exception and `std::type_info` formatters)
	  for libc++ and clang-cl
	  (https://github.com/fmtlib/fmt/issues/4542,
	  https://github.com/fmtlib/fmt/pull/4560,
	  https://github.com/fmtlib/fmt/issues/4568,
	  https://github.com/fmtlib/fmt/pull/4571).
	  Thanks @FatihBAKIR and @rohitsutreja.
	- Switched to global `malloc`/`free` to enable allocator customization
	  (https://github.com/fmtlib/fmt/issues/4569,
	  https://github.com/fmtlib/fmt/pull/4570). Thanks @rohitsutreja.
	- Made the `FMT_USE_CONSTEVAL` macro configurable by users
	  (https://github.com/fmtlib/fmt/pull/4546). Thanks @SnapperTT.
	- Fixed compilation with locales disabled in the header-only mode
	  (https://github.com/fmtlib/fmt/issues/4550).
	- Fixed compilation with clang 21 and `-std=c++20`
	  (https://github.com/fmtlib/fmt/issues/4552).
	- Fixed a dynamic linking issue with clang-cl
	  (https://github.com/fmtlib/fmt/issues/4576,
	  https://github.com/fmtlib/fmt/pull/4584). Thanks @FatihBAKIR.
	- Fixed a warning suppression leakage on gcc
	  (https://github.com/fmtlib/fmt/pull/4588). Thanks @ZedThree.
	- Made more internal color APIs `constexpr`
	  (https://github.com/fmtlib/fmt/pull/4581). Thanks @ishani.
	- Fixed compatibility with clang as a host compiler for NVCC
	  (https://github.com/fmtlib/fmt/pull/4564). Thanks @valgur.
	- Fixed various warnings and lint issues
	  (https://github.com/fmtlib/fmt/issues/4565,
	  https://github.com/fmtlib/fmt/pull/4572,
	  https://github.com/fmtlib/fmt/pull/4557).
	  Thanks @LiangHuDream and @teruyamato0731.
	- Improved documentation
	  (https://github.com/fmtlib/fmt/issues/4549,
	  https://github.com/fmtlib/fmt/pull/4551,
	  https://github.com/fmtlib/fmt/issues/4566,
	  https://github.com/fmtlib/fmt/pull/4567,
	  https://github.com/fmtlib/fmt/pull/4578,).
	  Thanks @teruyamato0731, @petersteneteg and @zimmerman-dev.
    12.0.0
	- Optimized the default floating point formatting
	  (https://github.com/fmtlib/fmt/issues/3675,
	  https://github.com/fmtlib/fmt/issues/4516). In particular, formatting a
	  `double` with format string compilation into a stack allocated buffer is
	  more than 60% faster in version 12.0 compared to 11.2 according to
	  [dtoa-benchmark](https://github.com/fmtlib/dtoa-benchmark):
	  ```
	  Function  Time (ns)  Speedup
	  fmt11        34.471    1.00x
	  fmt12        21.000    1.64x
	  ```
	  <img width="766" height="609" src="https://github.com/user-attachments/assets/d7d768ad-7543-468c-b0bb-449abf73b31b" />
	- Added `constexpr` support to `fmt::format`. For example:
	  ```c++
	  #include <fmt/compile.h>
	  using namespace fmt::literals;
	  std::string s = fmt::format(""_cf, 42);
	  ```
	  now works at compile time provided that `std::string` supports `constexpr`
	  (https://github.com/fmtlib/fmt/issues/3403,
	  https://github.com/fmtlib/fmt/pull/4456). Thanks @msvetkin.
	- Added `FMT_STATIC_FORMAT` that allows formatting into a string of the exact
	  required size at compile time.
	  For example:
	  ```c++
	  #include <fmt/compile.h>
	  constexpr auto s = FMT_STATIC_FORMAT("{}", 42);
	  ```
	  compiles to just
	  ```s
	  __ZL1s:
	        .asciiz "42"
	  ```
	  It can be accessed as a C string with `s.c_str()` or as a string view with
	  `s.str()`.
	- Improved C++20 module support
	  (https://github.com/fmtlib/fmt/pull/4451,
	  https://github.com/fmtlib/fmt/pull/4459,
	  https://github.com/fmtlib/fmt/pull/4476,
	  https://github.com/fmtlib/fmt/pull/4488,
	  https://github.com/fmtlib/fmt/issues/4491,
	  https://github.com/fmtlib/fmt/pull/4495).
	  Thanks @arBmind, @tkhyn, @Mishura4, @anonymouspc and @autoantwort.
	- Switched to using estimated display width in precision. For example:
	  ```c++
	  fmt::print("|{:.4}|\n|1234|\n", "🐱🐱🐱");
	  ```
	  prints
	  ![](https://github.com/user-attachments/assets/6c4446b3-13eb-43b9-b74a-b4543540ad6a)
	  because `🐱` has an estimated width of 2
	  (https://github.com/fmtlib/fmt/issues/4272,
	  https://github.com/fmtlib/fmt/pull/4443,
	  https://github.com/fmtlib/fmt/pull/4475).
	  Thanks @nikhilreddydev and @localspook.
	- Fix interaction between debug presentation, precision, and width for strings
	  (https://github.com/fmtlib/fmt/pull/4478). Thanks @localspook.
	- Implemented allocator propagation on `basic_memory_buffer` move
	  (https://github.com/fmtlib/fmt/issues/4487,
	  https://github.com/fmtlib/fmt/pull/4490). Thanks @toprakmurat.
	- Fixed an ambiguity between `std::reference_wrapper<T>` and `format_as`
	  formatters (https://github.com/fmtlib/fmt/issues/4424,
	  https://github.com/fmtlib/fmt/pull/4434). Thanks @jeremy-rifkin.
	- Removed the following deprecated APIs:
	  - `has_formatter`: use `is_formattable` instead,
	  - `basic_format_args::parse_context_type`,
	    `basic_format_args::formatter_type` and similar aliases in context types,
	  - wide stream overload of `fmt::printf`,
	  - wide stream overloads of `fmt::print` that take text styles,
	  - `is_*char` traits,
	  - `fmt::localtime`.
	- Deprecated wide overloads of `fmt::fprintf` and `fmt::sprintf`.
	- Improved diagnostics for the incorrect usage of `fmt::ptr`
	  (https://github.com/fmtlib/fmt/pull/4453). Thanks @TobiSchluter.
	- Made handling of ANSI escape sequences more efficient
	  (https://github.com/fmtlib/fmt/pull/4511,
	  https://github.com/fmtlib/fmt/pull/4528).
	  Thanks @localspook and @Anas-Hamdane.
	- Fixed a buffer overflow on all emphasis flags set
	  (https://github.com/fmtlib/fmt/pull/4498). Thanks @dominicpoeschko.
	- Fixed an integer overflow for precision close to the max `int` value.
	- Fixed compatibility with WASI (https://github.com/fmtlib/fmt/issues/4496,
	  https://github.com/fmtlib/fmt/pull/4497). Thanks @whitequark.
	- Fixed `back_insert_iterator` detection, preventing a fallback on slower path
	  that handles arbitrary iterators (https://github.com/fmtlib/fmt/issues/4454).
	- Fixed handling of invalid glibc `FILE` buffers
	  (https://github.com/fmtlib/fmt/issues/4469).
	- Added `wchar_t` support to the `std::byte` formatter
	  (https://github.com/fmtlib/fmt/issues/4479,
	  https://github.com/fmtlib/fmt/pull/4480). Thanks @phprus.
	- Changed component prefix from `fmt-` to `fmt_` for compatibility with
	  NSIS/CPack on Windows, e.g. `fmt-doc` changed to `fmt_doc`
	  (https://github.com/fmtlib/fmt/issues/4441,
	  https://github.com/fmtlib/fmt/pull/4442). Thanks @n-stein.
	- Added the `FMT_CUSTOM_ASSERT_FAIL` macro to simplify providing a custom
	  `fmt::assert_fail` implementation (https://github.com/fmtlib/fmt/pull/4505).
	  Thanks @HazardyKnusperkeks.
	- Switched to `FMT_THROW` on reporting format errors so that it can be
	  overriden by users when exceptions are disabled
	  (https://github.com/fmtlib/fmt/pull/4521). Thanks @HazardyKnusperkeks.
	- Improved master project detection and disabled install targets when using
	  {fmt} as a subproject by default (https://github.com/fmtlib/fmt/pull/4536).
	  Thanks @crueter.
	- Made various code improvements
	  (https://github.com/fmtlib/fmt/pull/4445,
	  https://github.com/fmtlib/fmt/pull/4448,
	  https://github.com/fmtlib/fmt/pull/4473,
	  https://github.com/fmtlib/fmt/pull/4522).
	  Thanks @localspook, @tchaikov and @way4sahil.
	- Added Conan instructions to the docs
	  (https://github.com/fmtlib/fmt/pull/4537). Thanks @uilianries.
	- Removed Bazel files to avoid issues with downstream packaging
	  (https://github.com/fmtlib/fmt/pull/4530). Thanks @mering.
	- Added more entries for generated files to `.gitignore`
	  (https://github.com/fmtlib/fmt/pull/4355,
	  https://github.com/fmtlib/fmt/pull/4512).
	  Thanks @dinomight and @localspook.
	- Fixed various warnings and compilation issues
	  (https://github.com/fmtlib/fmt/pull/4447,
	  https://github.com/fmtlib/fmt/issues/4470,
	  https://github.com/fmtlib/fmt/pull/4474,
	  https://github.com/fmtlib/fmt/pull/4477,
	  https://github.com/fmtlib/fmt/pull/4471,
	  https://github.com/fmtlib/fmt/pull/4483,
	  https://github.com/fmtlib/fmt/pull/4515,
	  https://github.com/fmtlib/fmt/issues/4533,
	  https://github.com/fmtlib/fmt/pull/4534).
	  Thanks @dodomorandi, @localspook, @remyjette, @Tomek-Stolarczyk, @Mishura4,
	  @mattiasljungstrom and @FatihBAKIR.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/packages/fmt | 4 ++--
 lfs/fmt                       | 8 ++++----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/config/rootfiles/packages/fmt b/config/rootfiles/packages/fmt
index 26f4cf99f..980ad39ff 100644
--- a/config/rootfiles/packages/fmt
+++ b/config/rootfiles/packages/fmt
@@ -19,6 +19,6 @@
 #usr/lib/cmake/fmt/fmt-targets-release.cmake
 #usr/lib/cmake/fmt/fmt-targets.cmake
 #usr/lib/libfmt.so
-usr/lib/libfmt.so.11
-usr/lib/libfmt.so.11.2.0
+usr/lib/libfmt.so.12
+usr/lib/libfmt.so.12.1.0
 #usr/lib/pkgconfig/fmt.pc
diff --git a/lfs/fmt b/lfs/fmt
index 09ac04095..a26f12118 100644
--- a/lfs/fmt
+++ b/lfs/fmt
@@ -26,7 +26,7 @@ include Config
 
 SUMMARY    = Open-source formatting library for C++
 
-VER        = 11.2.0
+VER        = 12.1.0
 
 THISAPP    = fmt-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -46,7 +46,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = 59fc93577eebe11b003ec3fbaaaf1d955117f7aa389a899d20364f44034e0c8073f195ef33d8bee14eda804ea6102f35047c2ca5eab7d645e9a2accbafba61bf
+$(DL_FILE)_BLAKE2 = 9e9cc77bd6f5ec31f0b43091e54eb508349d278e7873bcdff4eb9388d78584467da5837bdd10de1de84feb8ab0d63880df1c9fe0f6f0db40e47598646179b06e
 
 install : $(TARGET)
 
@@ -81,8 +81,8 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
 	cd $(DIR_APP) && mkdir -pv build
 	cd $(DIR_APP)/build && cmake .. \
-	                    -DCMAKE_INSTALL_PREFIX=/usr \
-	                    -DBUILD_SHARED_LIBS=TRUE
+	                    -D CMAKE_INSTALL_PREFIX=/usr \
+	                    -D BUILD_SHARED_LIBS=TRUE
 	cd $(DIR_APP)/build && make $(MAKETUNING)
 	cd $(DIR_APP)/build && make install
 	@rm -rf $(DIR_APP)
-- 
2.51.2



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-11-06 18:03 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-11-06 18:02 [PATCH 1/2] fmt: Update to version 12.1.0 Adolf Belka
2025-11-06 18:02 ` [PATCH 2/2] mpd: Ship due to so-bump in fmt Adolf Belka

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox