fmt/fmt.spec
Luigi Baldoni 6fa0e95aa9 Accepting request 819012 from home:alois:branches:devel:libraries:c_c++
- 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/819012
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/fmt?expand=0&rev=26
2020-07-06 14:53:14 +00:00

80 lines
2.1 KiB
RPMSpec

#
# spec file for package fmt
#
# Copyright (c) 2020 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 7
Name: fmt
Version: 7.0.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