From 57c2e006d0af9ab77ced676461d7100cade4a716 Mon Sep 17 00:00:00 2001
From: V3n3RiX <venerix@koprulu.sector>
Date: Wed, 23 Nov 2022 01:07:24 +0000
Subject: gentoo auto-resync : 23:11:2022 - 01:07:24

---
 dev-libs/mpfr/Manifest                             |  3 +-
 .../mpfr-4.1.1-fix-mpfr_custom_get_kind.patch      | 79 ++++++++++++++++++++
 dev-libs/mpfr/mpfr-4.1.1-r1.ebuild                 | 83 ++++++++++++++++++++++
 dev-libs/mpfr/mpfr-4.1.1.ebuild                    | 82 ---------------------
 4 files changed, 164 insertions(+), 83 deletions(-)
 create mode 100644 dev-libs/mpfr/files/mpfr-4.1.1-fix-mpfr_custom_get_kind.patch
 create mode 100644 dev-libs/mpfr/mpfr-4.1.1-r1.ebuild
 delete mode 100644 dev-libs/mpfr/mpfr-4.1.1.ebuild

(limited to 'dev-libs/mpfr')

diff --git a/dev-libs/mpfr/Manifest b/dev-libs/mpfr/Manifest
index 7f0335c23961..50bebcf49452 100644
--- a/dev-libs/mpfr/Manifest
+++ b/dev-libs/mpfr/Manifest
@@ -1,3 +1,4 @@
+AUX mpfr-4.1.1-fix-mpfr_custom_get_kind.patch 2902 BLAKE2B b925ae960251382527f0185c91b792f97f65cfbfb511c74996370b722c1539cb8376106d4e26e14188af02546bcf5d39e493572e02c227e457a783e7fbe739b1 SHA512 79081c8b1a957656687725c3f6e1eecdb6e76569a74cfdd4a832ff3fb3eed85f061d64c354f7ca9cbb7f0f412e931095dcb09301019ee14cb17f1b11e2f68dda
 DIST mpfr-4.1.0-patch01.patch 2061 BLAKE2B 55b34d7e8d94d22a1c188d5f5c7b73523c080ac9b44ba4055894ab40a43e3b17b2fcc74bb3b8af93952929c073946bb143486e5963a160a1c456a62d0d73cf8f SHA512 f401d2a3b1e2e7e95177e5bf98d023be323c7e2152e9aab7133bad44c5924bed644ecb94477dc7ca975a29e1cc156001897966293130ac56d2ee5d96ade18ad3
 DIST mpfr-4.1.0-patch02.patch 2543 BLAKE2B ab36c68523132702a7be6b072e9a96054d8471b61d0b79d1f82a622a278f445fd43d2ebf3ae42fa915bf10d9d643f735146f3b2dd6026134f72e3ca9de1e29da SHA512 cb896e0b648225aa4eaa5959f79d7d5bd830ed464c6e00ee780ad6ac366054ac573985092c576ffb40ca4f7a9eb976f1c5a039895ca6fdb4fa72677fbd1cb831
 DIST mpfr-4.1.0-patch03.patch 9973 BLAKE2B 3db98472e3c94d8e7734db59f9854276884d3456d5d113be364802f6da08f07e31d30388d393524e0df8cb470ff6b94d763ca3c43be6507bb23628feee0b5d8d SHA512 c6893d67721d6bfd76efc639c84f7e6d60ae1bea09f32247d30cfc8011b5450fa8d1cd23956df1e4fe58fd4ec2d905502976f3bd2a5601af31bdb898275e429d
@@ -14,5 +15,5 @@ DIST mpfr-4.1.0-patch13.patch 3344 BLAKE2B 1239cf16dfe32a71bb6fc7b156978cd451bcb
 DIST mpfr-4.1.0.tar.xz 1525476 BLAKE2B 41d1be0c4b557760f12a4525ad3a84b6e2cd6f0927c935fcfba577ac0490e582d1ae4b581dce58e21e705cf9d7c88373054d7fb7a94bb32c69b339f99a25dc68 SHA512 1bd1c349741a6529dfa53af4f0da8d49254b164ece8a46928cdb13a99460285622d57fe6f68cef19c6727b3f9daa25ddb3d7d65c201c8f387e421c7f7bee6273
 DIST mpfr-4.1.1.tar.xz 1429836 BLAKE2B ce20baee2f060acb28b877ffe6fc40c5619cf6af231bd54ca6cfb3e42ef2d74a4ffbab96cf0b5dd6a162e558099a54701d42f34f5bf2256f256fe6f5ae2505d0 SHA512 be468749bd88870dec37be35e544983a8fb7bda638eb9414c37334b9d553099ea2aa067045f51ae2c8ab86d852ef833e18161d173e414af0928e9a438c9b91f1
 EBUILD mpfr-4.1.0_p13-r1.ebuild 2700 BLAKE2B 46afea4da633c055ece8404cfabe6171abb568061a33445a58a961b55a3eb23ed28f08011efc001de2fdccc79c3ab34cc2d798be48928b74d2d1a302b8273cf2 SHA512 2e088ffc2e2343d8ce54b62ff625df579ea9236e31981f893c478f1e2b14e19d3bfa332d98fe9c486793a23acf76b231abf8ada2c1f4e7319bafa9ace3daf2fa
-EBUILD mpfr-4.1.1.ebuild 2708 BLAKE2B ad21498526dd91dcc6d03b35153cbd284d85d1ee90515ab3e323a3e9c44a16ce4b8bdc59c590b5b0b7166d1a3f8fc86f42fa5b72bab7fa7e3df72e7bba3586a5 SHA512 d08c80ed13fad11c6469812d1ba9aa1074ecb27707469c1ea368e77fc9d9d5d09511c205490f97450f0c4114ac09fed53a9170259ba66f82eea949c10b0ae42f
+EBUILD mpfr-4.1.1-r1.ebuild 2759 BLAKE2B 5785034a2f583d59ce126b9746043061d7b8e3cf3d3b02a541b62b04644b193682c7cade1d7a99d2a3ef11a8c5b6bcee34084b36d80d72f9485a456b8320e594 SHA512 80b464257128328b3abac0ee293730705b3d7ed2b2efa6557938ed79c5b9b717643b937b4765212c6c216f9ad93ffe3592525821320b8f528e6d2884bf19abd7
 MISC metadata.xml 344 BLAKE2B b7a0bcfbcf945ce2b6d58a9a2078c823c12de5ef8261ec009612b58a833deecb7caaf864f0b55e0c46aac004c58feb7a1f88f6d78b584c2e25c403cfb1de96a0 SHA512 8b8b5ae00a4f9ba76c193c5d84f27cce973963f4db109219394efccba3a8e8bebb7f241658a0b682331e34c66ee99332f871d826abf6ec5a4ced4f3dce381fe9
diff --git a/dev-libs/mpfr/files/mpfr-4.1.1-fix-mpfr_custom_get_kind.patch b/dev-libs/mpfr/files/mpfr-4.1.1-fix-mpfr_custom_get_kind.patch
new file mode 100644
index 000000000000..d2521f2fa632
--- /dev/null
+++ b/dev-libs/mpfr/files/mpfr-4.1.1-fix-mpfr_custom_get_kind.patch
@@ -0,0 +1,79 @@
+https://bugs.gentoo.org/881995
+https://gitlab.inria.fr/mpfr/mpfr/-/commit/3cd39bc0b71ad2fb2ab5252ad9268b14603e3ce6
+https://gitlab.inria.fr/mpfr/mpfr/-/issues/1
+https://github.com/CGAL/cgal/issues/7064
+
+From 3cd39bc0b71ad2fb2ab5252ad9268b14603e3ce6 Mon Sep 17 00:00:00 2001
+From: Vincent Lefevre <vincent@vinc17.net>
+Date: Tue, 22 Nov 2022 16:33:00 +0100
+Subject: [PATCH] Fix mpfr_custom_get_kind() macro bug.
+
+* src/mpfr.h: in the mpfr_custom_get_kind() macro, changed mpfr_ptr to
+  mpfr_srcptr for _x to agree with the function prototype, in order to
+  avoid a compilation failure of user code in some cases. This bug was
+  introduced by commit 9f94e0311ed53d0c64d4fbca249d19cc4888027e, which
+  introduced the temporary variable _x to avoid an incorrect number of
+  evaluations of the x argument.
+* tests/tstckintc.c: improved the tests to detect this bug.
+
+This should fix mpfr bug #1.
+
+Bug initially reported by FX Coudert:
+  https://github.com/CGAL/cgal/issues/7064
+
+It affects Fedora Linux:
+  https://bugzilla.redhat.com/show_bug.cgi?id=2144197
+
+(cherry picked from commit 0ce17bae34a6c54de31b126f969d3ddd72c6bc37)
+--- a/src/mpfr.h
++++ b/src/mpfr.h
+@@ -1027,7 +1027,7 @@ __MPFR_DECLSPEC int mpfr_total_order_p (mpfr_srcptr, mpfr_srcptr);
+ #if __GNUC__ > 2 || __GNUC_MINOR__ >= 95
+ #define mpfr_custom_get_kind(x)                                         \
+   __extension__ ({                                                      \
+-    mpfr_ptr _x = (x);                                                  \
++    mpfr_srcptr _x = (x);                                               \
+     _x->_mpfr_exp >  __MPFR_EXP_INF ?                                   \
+       (mpfr_int) MPFR_REGULAR_KIND * MPFR_SIGN (_x)                     \
+       : _x->_mpfr_exp == __MPFR_EXP_INF ?                               \
+--- a/tests/tstckintc.c
++++ b/tests/tstckintc.c
+@@ -295,14 +295,16 @@ static void
+ test_nan_inf_zero (void)
+ {
+   mpfr_ptr val;
++  mpfr_srcptr sval;  /* for compilation error checking */
+   int sign;
+   int kind;
+ 
+   reset_stack ();
+ 
+   val = new_mpfr (MPFR_PREC_MIN);
++  sval = val;
+   mpfr_set_nan (val);
+-  kind = (mpfr_custom_get_kind) (val);
++  kind = (mpfr_custom_get_kind) (sval);
+   if (kind != MPFR_NAN_KIND)
+     {
+       printf ("mpfr_custom_get_kind error: ");
+@@ -380,7 +382,8 @@ static long *
+ dummy_set_si (long si)
+ {
+   mpfr_t x;
+-  long * r = dummy_new ();
++  mpfr_srcptr px;  /* for compilation error checking */
++  long *r = dummy_new ();
+   int i1, i2, i3, i4, i5;
+ 
+   /* Check that the type "void *" can be used, like with the function.
+@@ -405,7 +408,8 @@ dummy_set_si (long si)
+   MPFR_ASSERTN (i5 == 1);
+ 
+   mpfr_set_si (x, si, MPFR_RNDN);
+-  r[0] = mpfr_custom_get_kind (x);
++  px = x;
++  r[0] = mpfr_custom_get_kind (px);
+ 
+   /* Check that the type "void *" can be used in C, like with the function
+      (forbidden in C++). Also check side effects. */
+GitLab
diff --git a/dev-libs/mpfr/mpfr-4.1.1-r1.ebuild b/dev-libs/mpfr/mpfr-4.1.1-r1.ebuild
new file mode 100644
index 000000000000..e34c78ab5b44
--- /dev/null
+++ b/dev-libs/mpfr/mpfr-4.1.1-r1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal
+
+# Upstream distribute patches before a new release is made
+# See https://www.mpfr.org/mpfr-current/#bugs for the latest version (and patches)
+
+# Check whether any patches touch e.g. manuals!
+# https://archives.gentoo.org/gentoo-releng-autobuilds/message/c2dd39fc4ebc849db6bb0f551739e2ed
+MY_PV=$(ver_cut 1-3)
+MY_PATCH=$(ver_cut 5-)
+MY_PATCHES=()
+MY_P=${PN}-${MY_PV}
+
+DESCRIPTION="Library for multiple-precision floating-point computations with exact rounding"
+HOMEPAGE="https://www.mpfr.org/ https://gitlab.inria.fr/mpfr"
+SRC_URI="https://www.mpfr.org/${MY_P}/${MY_P}.tar.xz"
+if [[ ${PV} == *_p* ]] ; then
+	# If this is a patch release, we have to download each of the patches:
+	# -_pN = N patches
+	# - patch file names are like: patch01, patch02, ..., patch10, patch12, ..
+	#
+	# => name the ebuild _pN where N is the number of patches on the 'bugs' page.
+	for ((my_patch_index=1; my_patch_index <= MY_PATCH; my_patch_index++)); do
+		SRC_URI+=" $(printf "https://www.mpfr.org/${MY_P}/patch%02d -> ${MY_P}-patch%02d.patch " ${my_patch_index}{,})"
+		MY_PATCHES+=( "${DISTDIR}"/$(printf ${MY_P}-patch%02d.patch ${my_patch_index}) )
+	done
+	unset my_patch_index
+fi
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="LGPL-2.1"
+# This is a critical package; if SONAME changes, bump subslot but also add
+# preserve-libs.eclass usage to pkg_*inst! See e.g. the readline ebuild.
+SLOT="0/6" # libmpfr.so version
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/gmp-5.0.0:=[${MULTILIB_USEDEP},static-libs?]"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+	# Apply the upstream patches released out-of-band; generated above
+	"${MY_PATCHES[@]}"
+
+	# Additional patches
+	"${FILESDIR}"/${P}-fix-mpfr_custom_get_kind.patch
+)
+
+HTML_DOCS=( doc/FAQ.html )
+
+src_unpack() {
+	# Avoid src_unpack noise from patches
+	unpack ${MY_P}.tar.xz
+}
+
+src_prepare() {
+	default
+
+	# 4.1.0_p13's patch10 patches a .texi file *and* the corresponding
+	# info file. We need to make sure the info file is newer, so the
+	# build doesn't try to run makeinfo. Won't be needed on next release.
+	touch "${S}/doc/mpfr.info" || die
+}
+
+multilib_src_configure() {
+	# bug #476336#19
+	# Make sure mpfr doesn't go probing toolchains it shouldn't
+	ECONF_SOURCE="${S}" \
+		user_redefine_cc=yes \
+		econf $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+	rm "${ED}"/usr/share/doc/${PF}/COPYING* || die
+
+	if ! use static-libs ; then
+		find "${ED}"/usr -name '*.la' -delete || die
+	fi
+}
diff --git a/dev-libs/mpfr/mpfr-4.1.1.ebuild b/dev-libs/mpfr/mpfr-4.1.1.ebuild
deleted file mode 100644
index 13392ae4cf60..000000000000
--- a/dev-libs/mpfr/mpfr-4.1.1.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit multilib-minimal
-
-# Upstream distribute patches before a new release is made
-# See https://www.mpfr.org/mpfr-current/#bugs for the latest version (and patches)
-
-# Check whether any patches touch e.g. manuals!
-# https://archives.gentoo.org/gentoo-releng-autobuilds/message/c2dd39fc4ebc849db6bb0f551739e2ed
-MY_PV=$(ver_cut 1-3)
-MY_PATCH=$(ver_cut 5-)
-MY_PATCHES=()
-MY_P=${PN}-${MY_PV}
-
-DESCRIPTION="Library for multiple-precision floating-point computations with exact rounding"
-HOMEPAGE="https://www.mpfr.org/ https://gitlab.inria.fr/mpfr"
-SRC_URI="https://www.mpfr.org/${MY_P}/${MY_P}.tar.xz"
-if [[ ${PV} == *_p* ]] ; then
-	# If this is a patch release, we have to download each of the patches:
-	# -_pN = N patches
-	# - patch file names are like: patch01, patch02, ..., patch10, patch12, ..
-	#
-	# => name the ebuild _pN where N is the number of patches on the 'bugs' page.
-	for ((my_patch_index=1; my_patch_index <= MY_PATCH; my_patch_index++)); do
-		SRC_URI+=" $(printf "https://www.mpfr.org/${MY_P}/patch%02d -> ${MY_P}-patch%02d.patch " ${my_patch_index}{,})"
-		MY_PATCHES+=( "${DISTDIR}"/$(printf ${MY_P}-patch%02d.patch ${my_patch_index}) )
-	done
-	unset my_patch_index
-fi
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="LGPL-2.1"
-# This is a critical package; if SONAME changes, bump subslot but also add
-# preserve-libs.eclass usage to pkg_*inst! See e.g. the readline ebuild.
-SLOT="0/6" # libmpfr.so version
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-5.0.0:=[${MULTILIB_USEDEP},static-libs?]"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
-	# Apply the upstream patches released out-of-band; generated above
-	"${MY_PATCHES[@]}"
-
-	# Additional patches
-)
-
-HTML_DOCS=( doc/FAQ.html )
-
-src_unpack() {
-	# Avoid src_unpack noise from patches
-	unpack ${MY_P}.tar.xz
-}
-
-src_prepare() {
-	default
-
-	# 4.1.0_p13's patch10 patches a .texi file *and* the corresponding
-	# info file. We need to make sure the info file is newer, so the
-	# build doesn't try to run makeinfo. Won't be needed on next release.
-	touch "${S}/doc/mpfr.info" || die
-}
-
-multilib_src_configure() {
-	# bug #476336#19
-	# Make sure mpfr doesn't go probing toolchains it shouldn't
-	ECONF_SOURCE="${S}" \
-		user_redefine_cc=yes \
-		econf $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
-	rm "${ED}"/usr/share/doc/${PF}/COPYING* || die
-
-	if ! use static-libs ; then
-		find "${ED}"/usr -name '*.la' -delete || die
-	fi
-}
-- 
cgit v1.2.3