Accepting request 819280 from devel:libraries:c_c++
- 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. - 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 OBS-URL: https://build.opensuse.org/request/show/819280 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/fmt?expand=0&rev=10
This commit is contained in:
commit
77f73a5aff
@ -1 +1 @@
|
|||||||
libfmt6
|
libfmt7
|
||||||
|
@ -1,117 +0,0 @@
|
|||||||
From 78f041ab5b40a1145ba686aeb8013e8788b08cd2 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jan Tojnar <jtojnar@gmail.com>
|
|
||||||
Date: Thu, 30 Apr 2020 22:23:38 +0200
|
|
||||||
Subject: [PATCH] build: Fix installation paths
|
|
||||||
|
|
||||||
It is not generally true that `CMAKE_INSTALL_<dir>` variables are relative paths:
|
|
||||||
|
|
||||||
https://github.com/jtojnar/cmake-snips#concatenating-paths-when-building-pkg-config-files
|
|
||||||
---
|
|
||||||
CMakeLists.txt | 21 +++++++++++++--------
|
|
||||||
support/cmake/JoinPaths.cmake | 26 ++++++++++++++++++++++++++
|
|
||||||
support/cmake/fmt.pc.in | 4 ++--
|
|
||||||
3 files changed, 41 insertions(+), 10 deletions(-)
|
|
||||||
create mode 100644 support/cmake/JoinPaths.cmake
|
|
||||||
|
|
||||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
||||||
index 0ce38e7b8..3a487ce7b 100644
|
|
||||||
--- a/CMakeLists.txt
|
|
||||||
+++ b/CMakeLists.txt
|
|
||||||
@@ -81,6 +81,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
|
|
||||||
|
|
||||||
include(cxx14)
|
|
||||||
include(CheckCXXCompilerFlag)
|
|
||||||
+include(JoinPaths)
|
|
||||||
|
|
||||||
list(FIND CMAKE_CXX_COMPILE_FEATURES "cxx_variadic_templates" index)
|
|
||||||
if (${index} GREATER -1)
|
|
||||||
@@ -239,8 +240,8 @@ if (FMT_INSTALL)
|
|
||||||
include(GNUInstallDirs)
|
|
||||||
include(CMakePackageConfigHelpers)
|
|
||||||
set_verbose(FMT_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/fmt CACHE STRING
|
|
||||||
- "Installation directory for cmake files, relative to "
|
|
||||||
- "${CMAKE_INSTALL_PREFIX}.")
|
|
||||||
+ "Installation directory for cmake files, a relative path "
|
|
||||||
+ "that will be joined to ${CMAKE_INSTALL_PREFIX}, or an arbitrary absolute path.")
|
|
||||||
set(version_config ${PROJECT_BINARY_DIR}/fmt-config-version.cmake)
|
|
||||||
set(project_config ${PROJECT_BINARY_DIR}/fmt-config.cmake)
|
|
||||||
set(pkgconfig ${PROJECT_BINARY_DIR}/fmt.pc)
|
|
||||||
@@ -252,22 +253,26 @@ if (FMT_INSTALL)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
set_verbose(FMT_LIB_DIR ${CMAKE_INSTALL_LIBDIR} CACHE STRING
|
|
||||||
- "Installation directory for libraries, relative to "
|
|
||||||
- "${CMAKE_INSTALL_PREFIX}.")
|
|
||||||
+ "Installation directory for libraries, a relative path "
|
|
||||||
+ "that will be joined to ${CMAKE_INSTALL_PREFIX}, or an arbitrary absolute path.")
|
|
||||||
|
|
||||||
set_verbose(FMT_INC_DIR ${CMAKE_INSTALL_INCLUDEDIR}/fmt CACHE STRING
|
|
||||||
- "Installation directory for include files, relative to "
|
|
||||||
- "${CMAKE_INSTALL_PREFIX}.")
|
|
||||||
+ "Installation directory for include files, a relative path "
|
|
||||||
+ "that will be joined to ${CMAKE_INSTALL_PREFIX}, or an arbitrary absolute path.")
|
|
||||||
|
|
||||||
set_verbose(FMT_PKGCONFIG_DIR ${CMAKE_INSTALL_LIBDIR}/pkgconfig CACHE PATH
|
|
||||||
- "Installation directory for pkgconfig (.pc) files, relative to "
|
|
||||||
- "${CMAKE_INSTALL_PREFIX}.")
|
|
||||||
+ "Installation directory for pkgconfig (.pc) files, a relative path "
|
|
||||||
+ "that will be joined to ${CMAKE_INSTALL_PREFIX}, or an arbitrary absolute path.")
|
|
||||||
|
|
||||||
# Generate the version, config and target files into the build directory.
|
|
||||||
write_basic_package_version_file(
|
|
||||||
${version_config}
|
|
||||||
VERSION ${FMT_VERSION}
|
|
||||||
COMPATIBILITY AnyNewerVersion)
|
|
||||||
+
|
|
||||||
+ join_paths(libdir_for_pc_file "\${exec_prefix}" "${CMAKE_INSTALL_LIBDIR}")
|
|
||||||
+ join_paths(includedir_for_pc_file "\${prefix}" "${CMAKE_INSTALL_INCLUDEDIR}")
|
|
||||||
+
|
|
||||||
configure_file(
|
|
||||||
"${PROJECT_SOURCE_DIR}/support/cmake/fmt.pc.in"
|
|
||||||
"${pkgconfig}"
|
|
||||||
diff --git a/support/cmake/JoinPaths.cmake b/support/cmake/JoinPaths.cmake
|
|
||||||
new file mode 100644
|
|
||||||
index 000000000..32d6d6685
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/support/cmake/JoinPaths.cmake
|
|
||||||
@@ -0,0 +1,26 @@
|
|
||||||
+# This module provides function for joining paths
|
|
||||||
+# known from from most languages
|
|
||||||
+#
|
|
||||||
+# Original license:
|
|
||||||
+# SPDX-License-Identifier: (MIT OR CC0-1.0)
|
|
||||||
+# Explicit permission given to distribute this module under
|
|
||||||
+# the terms of the project as described in /LICENSE.rst.
|
|
||||||
+# Copyright 2020 Jan Tojnar
|
|
||||||
+# https://github.com/jtojnar/cmake-snips
|
|
||||||
+#
|
|
||||||
+# Modelled after Python’s os.path.join
|
|
||||||
+# https://docs.python.org/3.7/library/os.path.html#os.path.join
|
|
||||||
+# Windows not supported
|
|
||||||
+function(join_paths joined_path first_path_segment)
|
|
||||||
+ set(temp_path "${first_path_segment}")
|
|
||||||
+ foreach(current_segment IN LISTS ARGN)
|
|
||||||
+ if(NOT ("${current_segment}" STREQUAL ""))
|
|
||||||
+ if(IS_ABSOLUTE "${current_segment}")
|
|
||||||
+ set(temp_path "${current_segment}")
|
|
||||||
+ else()
|
|
||||||
+ set(temp_path "${temp_path}/${current_segment}")
|
|
||||||
+ endif()
|
|
||||||
+ endif()
|
|
||||||
+ endforeach()
|
|
||||||
+ set(${joined_path} "${temp_path}" PARENT_SCOPE)
|
|
||||||
+endfunction()
|
|
||||||
diff --git a/support/cmake/fmt.pc.in b/support/cmake/fmt.pc.in
|
|
||||||
index 4e030afdf..29976a8af 100644
|
|
||||||
--- a/support/cmake/fmt.pc.in
|
|
||||||
+++ b/support/cmake/fmt.pc.in
|
|
||||||
@@ -1,7 +1,7 @@
|
|
||||||
prefix=@CMAKE_INSTALL_PREFIX@
|
|
||||||
exec_prefix=@CMAKE_INSTALL_PREFIX@
|
|
||||||
-libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
|
|
||||||
-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
|
|
||||||
+libdir=@libdir_for_pc_file@
|
|
||||||
+includedir=@includedir_for_pc_file@
|
|
||||||
|
|
||||||
Name: fmt
|
|
||||||
Description: A modern formatting library
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:5edf8b0f32135ad5fafb3064de26d063571e95e8ae46829c2f4f4b52696bbff0
|
|
||||||
size 733646
|
|
3
fmt-7.0.1.tar.gz
Normal file
3
fmt-7.0.1.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:ac335a4ca6beaebec4ddb2bc35b9ae960b576f3b64a410ff2c379780f0cd4948
|
||||||
|
size 739512
|
71
fmt.changes
71
fmt.changes
@ -1,3 +1,74 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
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>
|
Tue Jun 23 16:02:53 UTC 2020 - Luigi Baldoni <aloisio@gmx.com>
|
||||||
|
|
||||||
|
6
fmt.spec
6
fmt.spec
@ -16,17 +16,15 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
%define sover 6
|
%define sover 7
|
||||||
Name: fmt
|
Name: fmt
|
||||||
Version: 6.2.1
|
Version: 7.0.1
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: A formatting library for C++
|
Summary: A formatting library for C++
|
||||||
License: MIT
|
License: MIT
|
||||||
URL: http://fmtlib.net/
|
URL: http://fmtlib.net/
|
||||||
Source0: https://github.com/fmtlib/fmt/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
Source0: https://github.com/fmtlib/fmt/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
||||||
Source1: baselibs.conf
|
Source1: baselibs.conf
|
||||||
# PATCH-FIX-UPSTREAM fmt-6.2.1-fix_pkgconfig_paths.patch
|
|
||||||
Patch0: fmt-6.2.1-fix_pkgconfig_paths.patch
|
|
||||||
BuildRequires: cmake
|
BuildRequires: cmake
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: pkgconfig
|
BuildRequires: pkgconfig
|
||||||
|
Loading…
Reference in New Issue
Block a user