summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/sleef/files/sleef-3.5.1-mpfr42.patch30
-rw-r--r--dev-libs/sleef/sleef-3.5.1-r1.ebuild13
2 files changed, 42 insertions, 1 deletions
diff --git a/dev-libs/sleef/files/sleef-3.5.1-mpfr42.patch b/dev-libs/sleef/files/sleef-3.5.1-mpfr42.patch
new file mode 100644
index 000000000000..0ae5706974f2
--- /dev/null
+++ b/dev-libs/sleef/files/sleef-3.5.1-mpfr42.patch
@@ -0,0 +1,30 @@
+--- a/src/libm-tester/testerutil.h 2023-04-12 22:07:52.400469592 +0200
++++ b/src/libm-tester/testerutil.h 2023-04-12 22:08:03.404312574 +0200
+@@ -90,7 +90,5 @@
+ double countULPsp(float d, mpfr_t c);
+ double countULP2sp(float d, mpfr_t c);
+
+-void mpfr_sinpi(mpfr_t ret, mpfr_t arg, mpfr_rnd_t rnd);
+-void mpfr_cospi(mpfr_t ret, mpfr_t arg, mpfr_rnd_t rnd);
+ void mpfr_lgamma_nosign(mpfr_t ret, mpfr_t arg, mpfr_rnd_t rnd);
+ #endif
+--- a/src/libm-tester/testerutil.c 2023-04-12 22:07:55.045431845 +0200
++++ b/src/libm-tester/testerutil.c 2023-04-12 22:08:23.275029908 +0200
+@@ -289,7 +289,7 @@
+ }
+
+ //
+-
++#if 0
+ void mpfr_sinpi(mpfr_t ret, mpfr_t arg, mpfr_rnd_t rnd) {
+ mpfr_t frpi, frd;
+ mpfr_inits(frpi, frd, NULL);
+@@ -315,7 +315,7 @@
+
+ mpfr_clears(frpi, frd, NULL);
+ }
+-
++#endif
+ void mpfr_lgamma_nosign(mpfr_t ret, mpfr_t arg, mpfr_rnd_t rnd) {
+ int s;
+ mpfr_lgamma(ret, &s, arg, rnd);
diff --git a/dev-libs/sleef/sleef-3.5.1-r1.ebuild b/dev-libs/sleef/sleef-3.5.1-r1.ebuild
index 5a8a35abfeb7..f2ba71fa3929 100644
--- a/dev-libs/sleef/sleef-3.5.1-r1.ebuild
+++ b/dev-libs/sleef/sleef-3.5.1-r1.ebuild
@@ -18,11 +18,14 @@ RESTRICT="!test? ( test )"
DEPEND=""
RDEPEND="${DEPEND}"
-BDEPEND=""
+BDEPEND="
+ test? ( >=dev-libs/mpfr-4.2 )
+"
PATCHES=(
"${FILESDIR}"/${P}-gentoo.patch
"${FILESDIR}"/${P}-riscv.patch
+ "${FILESDIR}"/${P}-mpfr42.patch
)
src_configure() {
@@ -34,3 +37,11 @@ src_configure() {
cmake_src_configure
}
+
+src_test() {
+
+ local myctestargs=(
+ -E "iut(y)?purec(fma)?_scalar"
+ )
+ cmake_src_test
+}