diff --git a/baselibs.conf b/baselibs.conf index c5023c4..52dfc66 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,3 +1,3 @@ -libmpdec++3 -libmpdec3 +libmpdec++4 +libmpdec4 mpdecimal-devel diff --git a/mpdecimal-2.5.1.tar.gz b/mpdecimal-2.5.1.tar.gz deleted file mode 100644 index 8f5f7a1..0000000 --- a/mpdecimal-2.5.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9f9cd4c041f99b5c49ffb7b59d9f12d95b683d88585608aa56a6307667b2b21f -size 2584021 diff --git a/mpdecimal-4.0.1.tar.gz b/mpdecimal-4.0.1.tar.gz new file mode 100644 index 0000000..4817b42 --- /dev/null +++ b/mpdecimal-4.0.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96d33abb4bb0070c7be0fed4246cd38416188325f820468214471938545b1ac8 +size 316268 diff --git a/mpdecimal.changes b/mpdecimal.changes index 89c925c..2684873 100644 --- a/mpdecimal.changes +++ b/mpdecimal.changes @@ -1,3 +1,87 @@ +------------------------------------------------------------------- +Tue May 13 20:38:48 UTC 2025 - Matej Cepl + +- Fix LDXXFLAGS (thank you Stefan Krah for providing the patch) + +------------------------------------------------------------------- +Wed May 7 12:09:23 UTC 2025 - Matej Cepl + +- Update to 4.0.1 (bsc#1242704): + - Add Cygwin support. + - Update config.guess and config.sub to the latest versions. + - Fix pkg-config files for custom paths. + - Set LD/LDXX unconditionally to CC/CXX, since LDFLAGS/LDXXFLAGS from ./configure rely on it. +- Update to 4.0.0: + - sync soversion and major_version + - The added number formatting feature requires an ABI change, + hence the increase to SOVERSION=4. + - Packagers outside of the Linux distributions sometimes use + the major version number as the equivalent of SOVERSION on + their platforms and have an incorrect SOVERSION for 2.5.1, + which requires SOVERSION=3. + - While SOVERSION is not required to match the major + version number (example: glibc), mpdecimal will from + now on take the path of least resistance and always use + SOVERSION=MPD_MAJOR_VERSION. + - The jump to 4.0.0 should also remind users that a C++ library + is available. + - Support for out-of-tree build. + - Support for pkg-config. + - Unix: support for Loongson. + - Unix: support for CheriBSD. + - Compilers: support for icx, icpx, ibm-clang_r, ibm-clang++_r, + CompCert, clang-cl and emscripten. + - Windows: support for MSYS2/MinGW. + - MSVC: the build now uses /O2 /DNDEBUG. + - MSVC: new arm64/arm32 cross build scripts. + - AIX: the shared libraries are now installed as versioned + objects, e.g., shr4.o, shr4_64.o. + - New ./configure switches: + - --enable-static: enable/disable the build of the static + libraries (default: enabled). + - --enable-pc: enable/disable the install of the pkgconfig + files (default: enabled). + - --enable-doc: enable/disable the install of the documentation + (default: enabled). + - New man pages direct users to the mpdecimal-doc package or + the online HTML documentation. + - The prebuilt HTML documentation is now in the separate + mpdecimal-doc package, which gives distributions that reject + prebuilt documentation the option to disregard it and use the + new man pages. + - libmpdec: + - Add the “z” format specifier (coerce negative zeros to + positive). + - In extremely rare cases the transcendental functions (exp, + ln, log10) did not set the Subnormal/Underflow flags. The + reason is that in the case of an exponent boundary the Ziv + correction loop for correct rounding requires very few + iterations to arrive at the correctly rounded result, but + may need many more iterations to arrive at the correct + flags. + - In these cases, Subnormal/Underflow is not very + informative, so the status quo was to skip the extra + iterations. + - Version 4.0.0 now specializes exponent boundary cases + and uses up to five additional iterations to set + Subnormal/Underflow. The refactored code has no speed + penalty on average; in fact, in the deccheck tests (random + tests with a bias towards corner cases) it is slightly + faster. + - No cases have been found where more than two additional + iterations are required, but they may exist. + -eability fixes + - mpd_qset_string_exact(), mpd_qset_i64_exact() and + mpd_qset_u64_exact() can now be called with a nonzero + status. Previously, the functions could return + NaN/Invalid_operation in that case. + - This is listed under “reliability fixes” since there is + no possible scenario under which these functions would + legitimately be called with a nonzero status. + - libmpdec++ + - Add input validation for Decimal.shiftl(), Decimal.shiftr() + and Decimal::ln10(). + ------------------------------------------------------------------- Thu Sep 2 13:07:52 UTC 2021 - Matej Cepl diff --git a/mpdecimal.spec b/mpdecimal.spec index 860d961..506edf8 100644 --- a/mpdecimal.spec +++ b/mpdecimal.spec @@ -1,7 +1,7 @@ # -# spec file +# spec file for package mpdecimal # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -25,7 +25,7 @@ %bcond_with test %endif Name: mpdecimal%{psuffix} -Version: 2.5.1 +Version: 4.0.1 Release: 0 Summary: C/C++ libraries for arbitrary precision decimal floating point arithmetic License: BSD-2-Clause @@ -52,25 +52,25 @@ provided that the appropriate context parameters are set. libmpdec++ has a thread local context for inline operators and other functions that use the implicit context. -%package -n libmpdec3 +%package -n libmpdec4 Summary: C library for arbitrary precision decimal floating point arithmetic License: BSD-2-Clause Group: System/Libraries -%description -n libmpdec3 +%description -n libmpdec4 libmpdec is a C implementation of the General Decimal Arithmetic Specification. The specification defines a general purpose arbitrary precision data type together with rigorously specified functions and rounding behavior. libmpdec conforms - with minor restrictions - to the IEEE 754-2008 Standard for Floating-Point Arithmetic. -%package -n libmpdec++3 +%package -n libmpdec++4 Summary: C++ library for arbitrary precision decimal floating point arithmetic License: BSD-2-Clause Group: System/Libraries -Requires: libmpdec3 >= %{version} +Requires: libmpdec4 >= %{version} -%description -n libmpdec++3 +%description -n libmpdec++4 libmpdec++ is a C++ implementation of the General Decimal Arithmetic Specification. The specification defines a general purpose arbitrary precision data type together with rigorously specified functions and @@ -81,8 +81,8 @@ the IEEE 754-2008 Standard for Floating-Point Arithmetic. Summary: Development headers and documentation for mpdecimal License: BSD-2-Clause Group: Development/Libraries/C and C++ -Requires: libmpdec++3 = %{version}-%{release} -Requires: libmpdec3 = %{version}-%{release} +Requires: libmpdec++4 = %{version}-%{release} +Requires: libmpdec4 = %{version}-%{release} %description devel The package contains documentation and development headers for @@ -100,7 +100,7 @@ unzip -d tests/testdata %{SOURCE1} # have false positives on a variety of architectures. export CFLAGS="%optflags -ffat-lto-objects" export CXXFLAGS="$CFLAGS" -%configure --docdir="%{_defaultdocdir}/%{name}" +%configure LDXXFLAGS="%{build_ldflags}" --docdir="%{_defaultdocdir}/%{name}" %make_build %install @@ -116,27 +116,29 @@ rm -f "%{buildroot}/%{_libdir}"/*.a %endif %if !%{with test} -%post -n libmpdec3 -p /sbin/ldconfig -%post -n libmpdec++3 -p /sbin/ldconfig -%postun -n libmpdec3 -p /sbin/ldconfig -%postun -n libmpdec++3 -p /sbin/ldconfig +%post -n libmpdec4 -p /sbin/ldconfig +%post -n libmpdec++4 -p /sbin/ldconfig +%postun -n libmpdec4 -p /sbin/ldconfig +%postun -n libmpdec++4 -p /sbin/ldconfig -%files -n libmpdec3 -%license LICENSE.txt -%{_libdir}/libmpdec.so.3 +%files -n libmpdec4 +%license COPYRIGHT.txt +%{_libdir}/libmpdec.so.4 %{_libdir}/libmpdec.so.%{version} -%files -n libmpdec++3 -%{_libdir}/libmpdec++.so.3 +%files -n libmpdec++4 +%{_libdir}/libmpdec++.so.4 %{_libdir}/libmpdec++.so.%{version} %files devel -%license doc/LICENSE.txt +%license doc/COPYRIGHT.txt %doc %{_docdir}/%{name} %{_libdir}/libmpdec.so %{_libdir}/libmpdec++.so %{_includedir}/mpdecimal.h %{_includedir}/decimal.hh +%{_libdir}/pkgconfig/libmpdec*.pc +%{_mandir}/man3/*mpdec*.3%{?ext_man} %endif %changelog