summaryrefslogtreecommitdiff
path: root/sci-libs/qd
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs/qd')
-rw-r--r--sci-libs/qd/Manifest13
-rw-r--r--sci-libs/qd/files/0001-configure.ac-update-QD_PATCH_VERSION-to-2.3.22.patch31
-rw-r--r--sci-libs/qd/files/0002-configure.ac-replace-AM_CONFIG_HEADER-with-AC_CONFIG.patch34
-rw-r--r--sci-libs/qd/files/0003-configure.ac-replace-AC_PROG_LIBTOOL-with-LT_INIT.patch37
-rw-r--r--sci-libs/qd/files/0004-configure.ac-fix-syntax-of-all-AC_ARG_ENABLE-calls.patch100
-rw-r--r--sci-libs/qd/files/0005-fortran-Makefile.am-fix-underlinking-of-libqdmod-and.patch35
-rw-r--r--sci-libs/qd/files/0006-configure.ac-remove-enable-debug-flag.patch102
-rw-r--r--sci-libs/qd/files/0007-config.h.in-remove-QD_DEBUG-constant.patch29
-rw-r--r--sci-libs/qd/files/0008-configure.ac-don-t-assume-that-O2-is-a-valid-compile.patch47
-rw-r--r--sci-libs/qd/files/0009-configure.ac-don-t-set-CC-to-CXX.patch46
-rw-r--r--sci-libs/qd/files/0010-configure.ac-don-t-manually-search-for-compiler-name.patch81
-rw-r--r--sci-libs/qd/files/0011-qd-config.in-remove-REQ_CXXFLAGS.patch27
-rw-r--r--sci-libs/qd/files/0012-configure.ac-remove-the-enable-warnings-flag.patch55
-rw-r--r--sci-libs/qd/qd-2.3.22-r1.ebuild61
14 files changed, 698 insertions, 0 deletions
diff --git a/sci-libs/qd/Manifest b/sci-libs/qd/Manifest
index 334dd41a9227..a10ef5197122 100644
--- a/sci-libs/qd/Manifest
+++ b/sci-libs/qd/Manifest
@@ -1,4 +1,17 @@
+AUX 0001-configure.ac-update-QD_PATCH_VERSION-to-2.3.22.patch 929 BLAKE2B 35e344c408d6ebe01760a421024e3cf8e0b0fd051ff5ab7992a8fe672e2066277001a1725dc9e6a1183620688bb38791c79313a371409ff6a59de176da7770b8 SHA512 fdb8561244582a63bfa356c8aae0f3bdc91d2e9e36bb11be7c8ac7be3b7f60f1ecb4c87b8d89810fc8576eed6ae5356a9d80c13fef0aa37062fe7b127d8530fa
+AUX 0002-configure.ac-replace-AM_CONFIG_HEADER-with-AC_CONFIG.patch 1000 BLAKE2B fa8a818b6eace5ae2d1d8d1da309e65b30b272cad3b2fbcaaedcb61070eff1f1b0db3b1594ddf6471b89361983f2685d49fbddbf0f33e7826bc2ce0db226ce89 SHA512 43a50f9df2b672838bef8e437b23987ca92bc7e7624f04bf2aa919bc5938e08fc1c6243e17d3c1c9e384176ef0d2d3aa0ba34e615d2316d7369520d9246a0d1d
+AUX 0003-configure.ac-replace-AC_PROG_LIBTOOL-with-LT_INIT.patch 1135 BLAKE2B 8e86456585f07da2060f63411e4f665285665f86f78f11a1cf2a15e0d62c1d5efa33e619bec0cab9d61f854f82dd199960e214ec3378694db6e08067cb1d7929 SHA512 2a978e3f39e7b5bb8c5cb92d88b2c4b39d82ee8061cdbdd6b76aa8cfbd6d4918fd02cef440ec931c4599f7b2833ee942ebe8b51692d92450cbfdac65a14b24b5
+AUX 0004-configure.ac-fix-syntax-of-all-AC_ARG_ENABLE-calls.patch 4692 BLAKE2B 9275336264e44d92bd7f02eba07b8f212626d37a07474dcc38bcfb24cf35750784420292e12120102673af8b42042621437dccdbd448ecf341d7883dbba56788 SHA512 32ef4f3c6f7ced7ac074594956c9d79bc4e8ed15ddeefeb3b14eca6ad1b53578dfba52cca16b3dc515290eb80c101a1452ef69379f245160d2f693397510a0d4
+AUX 0005-fortran-Makefile.am-fix-underlinking-of-libqdmod-and.patch 1300 BLAKE2B 51623f11f92cf43252992ffa9d52d052b1370b674132232a02e33d9af5025aa195894e37eb0403e873b2112f2491b55dcf5a498da82333b474f8ed1d0c4e544a SHA512 371d9b6f41a019e985fb9876bdddf702771d1fac86a5bc14ef346344fad183788f4ba739bea59b47b673a5ac7df0c4f8fa0dbe8e24a5295bf1d9b92a52768659
+AUX 0006-configure.ac-remove-enable-debug-flag.patch 3510 BLAKE2B d908f6a1dd47b70d2731b9b645a9c6fb713c43cdcdd22bceeba57532f891a6beb9d0aa3efe4c7e5e1daf287f5f09ecd392fe48aa92c3bc3da18d884362746186 SHA512 b2629f6d90232dd0bd26eb55d14c844e218791d832038b13aa5f4b3836ae6b54aa27c32d9dc0002b3275d6cf01928da69b26fa56390fc3261f001afa05c74cdc
+AUX 0007-config.h.in-remove-QD_DEBUG-constant.patch 840 BLAKE2B 720f9992ec61c806f39837f31f68c35173708c50c14886bc39a286f5be513f49c7b663f60587af25bdc4f851409915da31300777e477d2b22b56f51d856262b4 SHA512 fda6efc3cbc5c868007653662fd0400351f0016725b62895fe5528495e6cb77ceb027755ff08c1475786511bf7a50e6e671612fd7643e3e247c4485182af0f0e
+AUX 0008-configure.ac-don-t-assume-that-O2-is-a-valid-compile.patch 1697 BLAKE2B f28e848cc3a6c6c513dc98c9e7d50027446d02c6ffe070a15de3cc56c77fb253a132836ac2d0eaed37cad09cc4cabbd8779806fcd89eaa70eecca09601973851 SHA512 f78205cbcd564f79fb1a1cc1002fc5bc1429428a4da7243c3894a5c33f7082376537f9f5edf33dce0192386354ee4a54885117c15a64856dd03a9ff116ef5293
+AUX 0009-configure.ac-don-t-set-CC-to-CXX.patch 1338 BLAKE2B 5c58663a9f51c9a05b78d3bfaa2584a3af53488e1afdf7f49edb2d5374b977bbb2cb62555f23ac6ea5c8bdff5682b3581051b2e6aefc4bc48dbcca0d99a8479b SHA512 27f3111aa7160eb1028f4bb40ebb002e5b7c2bb8e51b2dc6740fc37b25673274017d3e2cfffdc1de49e65cc148ede949e2eee914765ba8580db2efb2798e9cad
+AUX 0010-configure.ac-don-t-manually-search-for-compiler-name.patch 2523 BLAKE2B df5b8c919751ae74b70158cdeb715c83d3e57efa9497a81748cfcc10e77f557eee49f69383713dfc2cdd35239b6df8125c1dccd54d73953da0fc7a72d10acb52 SHA512 481d84a28cfbbd1f5768d0324d9a3c74326871c46d2e414d52a8c742e70aedbf6461f6b7dca567c3a2683baf1782248d9d942d766af3187094db7782049ccda7
+AUX 0011-qd-config.in-remove-REQ_CXXFLAGS.patch 751 BLAKE2B 95c283128d2218cde0a9f3baf1ce43d1aadf6a4cb47be830e2ee043a61988b32c9d8b1bdf025bd67f84c2ebe37aa2d04d3d60de7fde2177cdbd6ec78fa4b2718 SHA512 c36319dab08581730c8943b77cadfa93fb36f982aa6bf774909473c7dc27fd687c45d3e876e84b5c3d5fb3b49b1f93b58ea860d273dce56df0705028d7a04bd4
+AUX 0012-configure.ac-remove-the-enable-warnings-flag.patch 1544 BLAKE2B 54c316843f90676110ff41e37ac8968de871975b0d12debb9358edc446f742c1bd8914e1c681a3ab7f4050c28f4c63cce9521b3a79de6960b1f92a6132be3616 SHA512 42180e95744a0d0b6b577afe4deba95d171ea7d14d6ff3f189ad01f78667fcf4b2f81842f47b66e6ccb020beb0da0740b7cf67989835bd8871ec3cbb4817ddfb
AUX qd-2.3.22-fix-build-system.patch 6617 BLAKE2B 6712f53a1b46a4d1f74d45380330ff5b15b7f2216f61245d467748557f607f670fbb0d977f4e6455c93c383ef6eb466e243177d29a3227ba89cf34ec836c54d2 SHA512 e70d4b87342840fb63cab04e63ceddb790d5509f65188894cbedb077042e2dbb6e7e18a108589fb77e8ec6253ba6b70680f637ce30c62575aa4a0eb7fbed36ce
DIST qd-2.3.22.tar.gz 1427456 BLAKE2B 628fb88b8cb105baa689380e4084cc2e327415674fcebca59721cc163e1043f39e48c1b2a2bdc68ba402d311f37e71c9e3c390a119515128e0296aa413c850d5 SHA512 2228b6ed019d1462939957d0d0f64ab2ecfa98ac5aefecf56e9dbcf0c6ed63bdd895b86019fbb0dfdbc22d047c4c2d4e42ff91ca18846b5c1bdaa1ad28a55c2b
+EBUILD qd-2.3.22-r1.ebuild 1835 BLAKE2B b0d5760fd7d5254cff90ccc55bc32e7f6835e4528a1d0bf68a4f85c391f4afc2c297be7090c4f7275bb9366742b9914b1d87721e7b44377188cc751b11fa2a00 SHA512 56b3c7c80523528a5c474b260abe5405a6309f3704332321fb3e0dd877f4b55540dabfa81202deb0dcaf27f4ca6924d7e06d02f92c94f5042275a2f5e626f95a
EBUILD qd-2.3.22.ebuild 1100 BLAKE2B 50c55e5d7b4bb1d1e8c0298619aad3ec1d7ba65084dd87f59105cd2be3a4e940ab71e03ecdbb3e3fd842d9604fc84df1c4c5b8ed30a9d5c8a1508be364aa7f5f SHA512 f86a94765cd174ec9d2573d79cb39e94c381d4d752ca13ea47d805336381284dd6382695c375e589899f627cf9bf2fb5b66688f82f598dcd3c5b9dd1461bac95
MISC metadata.xml 259 BLAKE2B dfc879984b6adce945d0e0a50f6ede2bca87147b9db99491359cdeccc2e74a20d56e14ae8903dbb80c94854f89bee539f14a4e3ce864204e277accf3f124a748 SHA512 19fb78cf4029c154954a40df40e28fc8d98a8b7e6b42f97259f664d44c29b284feffb9d073cadc7f90b5654a64b2466e186cb677d3a11830206f173eb9057706
diff --git a/sci-libs/qd/files/0001-configure.ac-update-QD_PATCH_VERSION-to-2.3.22.patch b/sci-libs/qd/files/0001-configure.ac-update-QD_PATCH_VERSION-to-2.3.22.patch
new file mode 100644
index 000000000000..4fe4d49fa92b
--- /dev/null
+++ b/sci-libs/qd/files/0001-configure.ac-update-QD_PATCH_VERSION-to-2.3.22.patch
@@ -0,0 +1,31 @@
+From a05e1577085507266908f40ff8e5246e10eb72d1 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 4 Aug 2021 18:29:45 -0400
+Subject: [PATCH 01/12] configure.ac: update QD_PATCH_VERSION to 2.3.22.
+
+Autotools currently thinks that this is version 2.3.12, as can be seen
+when running
+
+ $ ./configure
+ configuring qd 2.3.12...
+
+We update QD_PATCH_VERSION within configure.ac to fix that.
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 2ca10c9..7485936 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1,6 +1,6 @@
+ # -*- Autoconf -*-
+ # Process this file with autoconf to produce a configure script.
+-define([QD_PATCH_VERSION], 12)
++define([QD_PATCH_VERSION], 22)
+ AC_PREREQ(2.60)
+ AC_INIT(qd, 2.3.QD_PATCH_VERSION, dhbailey@lbl.gov)
+ AC_CONFIG_SRCDIR([src/qd_real.cpp])
+--
+2.31.1
+
diff --git a/sci-libs/qd/files/0002-configure.ac-replace-AM_CONFIG_HEADER-with-AC_CONFIG.patch b/sci-libs/qd/files/0002-configure.ac-replace-AM_CONFIG_HEADER-with-AC_CONFIG.patch
new file mode 100644
index 000000000000..956feb275117
--- /dev/null
+++ b/sci-libs/qd/files/0002-configure.ac-replace-AM_CONFIG_HEADER-with-AC_CONFIG.patch
@@ -0,0 +1,34 @@
+From 0641c0b9dd87bfbef6a7b6e77cf4b264e3fa84d7 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 4 Aug 2021 18:32:21 -0400
+Subject: [PATCH 02/12] configure.ac: replace AM_CONFIG_HEADER with
+ AC_CONFIG_HEADERS.
+
+The AM_CONFIG_HEADER macro is obsolete, as evidenced by warnings like,
+
+ configure.ac:21: warning: 'AM_CONFIG_HEADER': this macro is obsolete.
+ configure.ac:21: You should use the 'AC_CONFIG_HEADERS' macro instead.
+
+This commit uses the suggested replacement.
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 7485936..7b52a9e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -18,8 +18,8 @@ echo "configuring $PACKAGE $VERSION..."
+
+ AC_CONFIG_AUX_DIR(config)
+ AM_INIT_AUTOMAKE([nostdinc foreign])
+-AM_CONFIG_HEADER([config.h])
+-AM_CONFIG_HEADER([include/qd/qd_config.h])
++AC_CONFIG_HEADERS([config.h])
++AC_CONFIG_HEADERS([include/qd/qd_config.h])
+
+ AC_CANONICAL_HOST
+
+--
+2.31.1
+
diff --git a/sci-libs/qd/files/0003-configure.ac-replace-AC_PROG_LIBTOOL-with-LT_INIT.patch b/sci-libs/qd/files/0003-configure.ac-replace-AC_PROG_LIBTOOL-with-LT_INIT.patch
new file mode 100644
index 000000000000..e436c04716db
--- /dev/null
+++ b/sci-libs/qd/files/0003-configure.ac-replace-AC_PROG_LIBTOOL-with-LT_INIT.patch
@@ -0,0 +1,37 @@
+From a6ba0059c80849ef349b9d02e5972f89fcd59793 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 4 Aug 2021 18:40:26 -0400
+Subject: [PATCH 03/12] configure.ac: replace AC_PROG_LIBTOOL with LT_INIT.
+
+The AC_PROG_LIBTOOL macro is obsolete, according to modern versions of
+autoconf:
+
+ configure.ac:316: warning: The macro `AC_PROG_LIBTOOL' is obsolete.
+ configure.ac:316: You should run autoupdate.
+
+Running autoupdate replaces it with a call to LT_INIT, which is what
+this commit does too. We have also removed a call AC_DISABLE_SHARED,
+which no longer affects anything; its removal is "harmless" since, at
+worst, it will cause some people to build shared libraries that they
+do not need.
+---
+ configure.ac | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 7b52a9e..31b32f5 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -312,8 +312,7 @@ AC_SUBST(FFLAGS, $FCFLAGS)
+ AC_CHECK_LIB(m,sqrt)
+
+ # libtool stuff
+-AC_DISABLE_SHARED
+-AC_PROG_LIBTOOL
++LT_INIT
+
+ # Output
+ AC_CONFIG_FILES([Makefile config/Makefile src/Makefile include/Makefile
+--
+2.31.1
+
diff --git a/sci-libs/qd/files/0004-configure.ac-fix-syntax-of-all-AC_ARG_ENABLE-calls.patch b/sci-libs/qd/files/0004-configure.ac-fix-syntax-of-all-AC_ARG_ENABLE-calls.patch
new file mode 100644
index 000000000000..aad1936b7017
--- /dev/null
+++ b/sci-libs/qd/files/0004-configure.ac-fix-syntax-of-all-AC_ARG_ENABLE-calls.patch
@@ -0,0 +1,100 @@
+From 829c868c9655fa7dfd4a64a42476fe1eddadc792 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 4 Aug 2021 18:47:12 -0400
+Subject: [PATCH 04/12] configure.ac: fix syntax of all AC_ARG_ENABLE calls.
+
+Currently, we find AC_ARG_ENABLE being called like
+
+ AC_ARG_ENABLE(enable_inline, ...
+
+where the corresponding argument should be --enable-inline. The
+autoconf documentation however suggests that this should be
+
+ AC_ARG_ENABLE([inline], ...
+
+so we update all of these calls accordingly. In the process, we update
+all of the corresponding AC_HELP_STRING instances, since that macro
+has been superseded by AS_HELP_STRING.
+---
+ configure.ac | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 31b32f5..1e91cd1 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -25,7 +25,7 @@ AC_CANONICAL_HOST
+
+ # Checks for arguments
+ # --enable-inline
+-AC_ARG_ENABLE(enable_inline, AC_HELP_STRING(--enable-inline, [inline commonly used functions. [[default=yes]]]))
++AC_ARG_ENABLE([inline], AS_HELP_STRING(--enable-inline, [inline commonly used functions. [[default=yes]]]))
+ AC_MSG_CHECKING([if commonly used function is to be inlined])
+ if test "$enable_inline" != "no"; then
+ enable_inline="yes"
+@@ -34,7 +34,7 @@ fi
+ AC_MSG_RESULT($enable_inline)
+
+ # --enable-ieee-add
+-AC_ARG_ENABLE(enable_ieee_add, AC_HELP_STRING(--enable-ieee-add, [use addition that satisfies IEEE-style error bound instead of Cray-style error bound. [[default=no]]]))
++AC_ARG_ENABLE([ieee-add], AS_HELP_STRING(--enable-ieee-add, [use addition that satisfies IEEE-style error bound instead of Cray-style error bound. [[default=no]]]))
+ AC_MSG_CHECKING([if addition with IEEE-style error bound is to be used])
+ if test "$enable_ieee_add" = "yes"; then
+ AC_DEFINE([QD_IEEE_ADD], [1], [Define to 1 to use additions with IEEE-style error bounds.])
+@@ -44,7 +44,7 @@ fi
+ AC_MSG_RESULT($enable_ieee_add)
+
+ # --enable-sloppy-mul
+-AC_ARG_ENABLE(enable_sloppy_mul, AC_HELP_STRING(--enable-sloppy-mul, [use fast but slightly inaccurate multiplication. [[default=yes]]]))
++AC_ARG_ENABLE([sloppy-mul], AS_HELP_STRING(--enable-sloppy-mul, [use fast but slightly inaccurate multiplication. [[default=yes]]]))
+ AC_MSG_CHECKING([if sloppy multiplication is to be used])
+ if test "$enable_sloppy_mul" != "no"; then
+ enable_sloppy_mul="yes"
+@@ -53,7 +53,7 @@ fi
+ AC_MSG_RESULT($enable_sloppy_mul)
+
+ # --enable-sloppy-div
+-AC_ARG_ENABLE(enable_sloppy_div, AC_HELP_STRING(--enable-sloppy-div, [use fast but slightly inaccurate division. [[default=yes]]]))
++AC_ARG_ENABLE([sloppy-div], AS_HELP_STRING(--enable-sloppy-div, [use fast but slightly inaccurate division. [[default=yes]]]))
+ AC_MSG_CHECKING([if sloppy division is to be used])
+ if test "$enable_sloppy_div" != "no"; then
+ enable_sloppy_div="yes"
+@@ -63,7 +63,7 @@ AC_MSG_RESULT($enable_sloppy_div)
+
+
+ # --enable-debug
+-AC_ARG_ENABLE(enable_debug, AC_HELP_STRING(--enable-debug, [enable debugging code. [[default=no]]]))
++AC_ARG_ENABLE([debug], AS_HELP_STRING(--enable-debug, [enable debugging code. [[default=no]]]))
+ AC_MSG_CHECKING([if debugging code is to be enabled])
+ if test "$enable_debug" = "yes"; then
+ AC_DEFINE([QD_DEBUG], [1], [Define to 1 to enable debugging code.])
+@@ -73,7 +73,7 @@ fi
+ AC_MSG_RESULT($enable_debug)
+
+ # --enable-warnings
+-AC_ARG_ENABLE(enable_warnings, AC_HELP_STRING(--enable-warnings, [enable compiler warnings. [[default=no]]]))
++AC_ARG_ENABLE([warnings], AS_HELP_STRING(--enable-warnings, [enable compiler warnings. [[default=no]]]))
+ AC_MSG_CHECKING([if compiler warnings is to be enabled])
+ if test "$enable_warnings" != "yes"; then
+ enable_warnings="no"
+@@ -149,7 +149,7 @@ if test "$enable_debug" = "yes"; then
+ fi
+
+ # --enable-fma
+-AC_ARG_ENABLE(enable_fma, AC_HELP_STRING(--enable-fma, [use fused multiply-add/subtract (auto,gnu,ia64,c99,ibm,compiler). Use this option with care. [[default=auto]]]))
++AC_ARG_ENABLE([fma], AS_HELP_STRING(--enable-fma, [use fused multiply-add/subtract (auto,gnu,ia64,c99,ibm,compiler). Use this option with care. [[default=auto]]]))
+ if test "x$enable_fma" = "x"; then
+ enable_fma="auto"
+ fi
+@@ -248,7 +248,7 @@ if test "$FCFLAGS" = ""; then
+ FCFLAGS="-O2"
+ fi
+ fi
+-AC_ARG_ENABLE(enable_fortran, AC_HELP_STRING(--enable-fortran, [build Fortran 77/90 interfaces [[default=auto]]]))
++AC_ARG_ENABLE([fortran], AS_HELP_STRING(--enable-fortran, [build Fortran 77/90 interfaces [[default=auto]]]))
+ if test "$enable_fortran" != "no"; then
+ AC_LANG_PUSH(Fortran)
+ AC_PROG_FC([xlf95 ifort pathf95 f95 gfortran g95 pgf95 lf95 fort ifc efc pathf90 xlf90 pgf90 epcf90 xlf f90])
+--
+2.31.1
+
diff --git a/sci-libs/qd/files/0005-fortran-Makefile.am-fix-underlinking-of-libqdmod-and.patch b/sci-libs/qd/files/0005-fortran-Makefile.am-fix-underlinking-of-libqdmod-and.patch
new file mode 100644
index 000000000000..cbd58a3af5f9
--- /dev/null
+++ b/sci-libs/qd/files/0005-fortran-Makefile.am-fix-underlinking-of-libqdmod-and.patch
@@ -0,0 +1,35 @@
+From 12e53493a0413590d9dc0a0eaeeb4dfec71a1a8c Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 4 Aug 2021 18:52:30 -0400
+Subject: [PATCH 05/12] fortran/Makefile.am: fix underlinking of libqdmod and
+ libqd_f_main.
+
+The libqdmod library needs to be linked to the just-built libqd, and
+then libqd_f_main needs to be linked to both the just-built libqd and
+the just-built libqdmod. Moreover, both of them need to be linked
+against whatever is in $FCLIBS.
+
+This commit adds two "_LIBADD" lines to fortran/Makefile.am to ensure
+that this happens. Their absence most likely only causes problems when
+the user has "--as-needed" in his LDFLAGS.
+---
+ fortran/Makefile.am | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/fortran/Makefile.am b/fortran/Makefile.am
+index 1ab54f7..7a67c08 100644
+--- a/fortran/Makefile.am
++++ b/fortran/Makefile.am
+@@ -16,7 +16,9 @@ endif
+
+ lib_LTLIBRARIES = libqdmod.la libqd_f_main.la
+ libqdmod_la_SOURCES = ddext.f ddmod.f qdext.f qdmod.f f_dd.cpp f_qd.cpp
++libqdmod_la_LIBADD = $(top_builddir)/src/libqd.la $(FCLIBS)
+ libqd_f_main_la_SOURCES = main.cpp
++libqd_f_main_la_LIBADD = $(top_builddir)/src/libqd.la libqdmod.la $(FCLIBS)
+ ddmod.lo: $(DDEXT) ddext.lo
+ qdmod.lo: ddmod.lo $(DDMOD) qdext.lo
+ $(QDMOD): qdmod.lo $(DDMOD)
+--
+2.31.1
+
diff --git a/sci-libs/qd/files/0006-configure.ac-remove-enable-debug-flag.patch b/sci-libs/qd/files/0006-configure.ac-remove-enable-debug-flag.patch
new file mode 100644
index 000000000000..151ec930e5aa
--- /dev/null
+++ b/sci-libs/qd/files/0006-configure.ac-remove-enable-debug-flag.patch
@@ -0,0 +1,102 @@
+From 6aac051631b20f5cde990fb3eda8dae85ff29666 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 4 Aug 2021 19:01:17 -0400
+Subject: [PATCH 06/12] configure.ac: remove --enable-debug flag.
+
+The --enable-debug flag only does two things at the moment:
+
+ 1. It adds "-O" (as opposed to "-O2") to your CXXFLAGS and FCFLAGS.
+ 2. It adds "-g" to your CXXFLAGS and FCFLAGS.
+
+When using gcc and gfortran, this is a convenient way to enable those
+debugging flags. However, those options are not guaranteed to be
+supported by other compilers. In the interest of simplicity and
+portability, this commit simply removes the flag.
+
+It would of course be possible to compile two test programs with
+CXXFLAGS="-g -O" and FCFLAGS="-g -O" to determine whether or not those
+flags are supported. That would solve half of the problem, but would
+be a no-op (that is, it would not enable any debugging features) on
+systems where the flags are not supported. That problem is more
+difficult to solve, and hints that it's best to leave specific
+compiler flags out of the build system whenever possible.
+---
+ configure.ac | 30 ++----------------------------
+ 1 file changed, 2 insertions(+), 28 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 1e91cd1..108e58a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -62,16 +62,6 @@ fi
+ AC_MSG_RESULT($enable_sloppy_div)
+
+
+-# --enable-debug
+-AC_ARG_ENABLE([debug], AS_HELP_STRING(--enable-debug, [enable debugging code. [[default=no]]]))
+-AC_MSG_CHECKING([if debugging code is to be enabled])
+-if test "$enable_debug" = "yes"; then
+- AC_DEFINE([QD_DEBUG], [1], [Define to 1 to enable debugging code.])
+-else
+- enable_debug="no"
+-fi
+-AC_MSG_RESULT($enable_debug)
+-
+ # --enable-warnings
+ AC_ARG_ENABLE([warnings], AS_HELP_STRING(--enable-warnings, [enable compiler warnings. [[default=no]]]))
+ AC_MSG_CHECKING([if compiler warnings is to be enabled])
+@@ -84,11 +74,7 @@ AC_MSG_RESULT($enable_warnings)
+ # Checks for programs.
+ AC_LANG(C++)
+ if test "$CXXFLAGS" = ""; then
+- if test "$enable_debug" = "yes"; then
+- CXXFLAGS="-O"
+- else
+- CXXFLAGS="-O2"
+- fi
++ CXXFLAGS="-O2"
+ fi
+
+ # Set up compiler search list. DUe to possible case insensitive filesystems,
+@@ -144,10 +130,6 @@ if test "$enable_warnings" = "yes"; then
+ fi
+ fi
+
+-if test "$enable_debug" = "yes"; then
+- CXXFLAGS="$CXXFLAGS -g"
+-fi
+-
+ # --enable-fma
+ AC_ARG_ENABLE([fma], AS_HELP_STRING(--enable-fma, [use fused multiply-add/subtract (auto,gnu,ia64,c99,ibm,compiler). Use this option with care. [[default=auto]]]))
+ if test "x$enable_fma" = "x"; then
+@@ -242,11 +224,7 @@ AC_DEFINE([QD_HAVE_STD], [1], [Define to 1 if your compiler have the C++ standar
+
+ # Check for fortran-90 compiler
+ if test "$FCFLAGS" = ""; then
+- if test "$enable_debug" = "yes"; then
+- FCFLAGS="-O"
+- else
+- FCFLAGS="-O2"
+- fi
++ FCFLAGS="-O2"
+ fi
+ AC_ARG_ENABLE([fortran], AS_HELP_STRING(--enable-fortran, [build Fortran 77/90 interfaces [[default=auto]]]))
+ if test "$enable_fortran" != "no"; then
+@@ -296,14 +274,10 @@ if test "$enable_fortran" != "no"; then
+ fi
+ AC_SUBST(REQ_FCFLAGS)
+ FCFLAGS="$FCFLAGS $REQ_FCFLAGS"
+- if test "$enable_debug" = "yes"; then
+- FCFLAGS="$FCFLAGS -g"
+- fi
+ AC_LANG_POP(Fortran)
+ fi
+ AM_CONDITIONAL(UPCASE_MODULE, [test "$module_case" = "uppercase"])
+ AM_CONDITIONAL(HAVE_FORTRAN, [test "$enable_fortran" = "yes"])
+-AM_CONDITIONAL(QD_DEBUG, [test "$enable_debug" = "yes"])
+
+ AC_SUBST(F77, $FC)
+ AC_SUBST(FFLAGS, $FCFLAGS)
+--
+2.31.1
+
diff --git a/sci-libs/qd/files/0007-config.h.in-remove-QD_DEBUG-constant.patch b/sci-libs/qd/files/0007-config.h.in-remove-QD_DEBUG-constant.patch
new file mode 100644
index 000000000000..f3538b4953e6
--- /dev/null
+++ b/sci-libs/qd/files/0007-config.h.in-remove-QD_DEBUG-constant.patch
@@ -0,0 +1,29 @@
+From 0e7e6933467c76f97c4c1233558c3e1f8f17b52e Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 4 Aug 2021 19:08:36 -0400
+Subject: [PATCH 07/12] config.h.in: remove QD_DEBUG constant.
+
+Having removed the --enable-debug flag from the configure script in an
+earlier commit, the constant QD_DEBUG will never be defined (or used,
+as it happens) in config.h. We remove it too.
+---
+ config.h.in | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/config.h.in b/config.h.in
+index a08fd0e..dcb4272 100644
+--- a/config.h.in
++++ b/config.h.in
+@@ -112,9 +112,6 @@
+ /* Define this macro to be the copysign(x, y) function. */
+ #undef QD_COPYSIGN
+
+-/* Define to 1 to enable debugging code. */
+-#undef QD_DEBUG
+-
+ /* If fused multiply-add is available, define correct macro for using it. */
+ #undef QD_FMA
+
+--
+2.31.1
+
diff --git a/sci-libs/qd/files/0008-configure.ac-don-t-assume-that-O2-is-a-valid-compile.patch b/sci-libs/qd/files/0008-configure.ac-don-t-assume-that-O2-is-a-valid-compile.patch
new file mode 100644
index 000000000000..5f560a816aec
--- /dev/null
+++ b/sci-libs/qd/files/0008-configure.ac-don-t-assume-that-O2-is-a-valid-compile.patch
@@ -0,0 +1,47 @@
+From fc272f5407e10e84dc1d3e0013bc6d43ecedc5db Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 4 Aug 2021 19:10:34 -0400
+Subject: [PATCH 08/12] configure.ac: don't assume that "-O2" is a valid
+ compiler flag.
+
+Our configure script presently adds "-O2" to both CXXFLAGS and FCFLAGS
+when those variables are empty. If using gcc and gfortran, this
+enables some safe optimizations, but no checks are performed to ensure
+that the compiler actually understands "-O2". While we could compile
+some test programs to check, it may be simplest to leave the compiler
+flags up to the person (the user) who chooses the compilers themselves.
+
+Support for --enable-debug was removed in a recent commit for similar
+reasons.
+---
+ configure.ac | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 108e58a..823fa9e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -73,9 +73,6 @@ AC_MSG_RESULT($enable_warnings)
+
+ # Checks for programs.
+ AC_LANG(C++)
+-if test "$CXXFLAGS" = ""; then
+- CXXFLAGS="-O2"
+-fi
+
+ # Set up compiler search list. DUe to possible case insensitive filesystems,
+ # Cygwin and Apple systems sometimes gets confused between cc and CC.
+@@ -223,9 +220,7 @@ AC_DEFINE([QD_API], [], [Any special symbols needed for exporting APIs.])
+ AC_DEFINE([QD_HAVE_STD], [1], [Define to 1 if your compiler have the C++ standard include files.])
+
+ # Check for fortran-90 compiler
+-if test "$FCFLAGS" = ""; then
+- FCFLAGS="-O2"
+-fi
++
+ AC_ARG_ENABLE([fortran], AS_HELP_STRING(--enable-fortran, [build Fortran 77/90 interfaces [[default=auto]]]))
+ if test "$enable_fortran" != "no"; then
+ AC_LANG_PUSH(Fortran)
+--
+2.31.1
+
diff --git a/sci-libs/qd/files/0009-configure.ac-don-t-set-CC-to-CXX.patch b/sci-libs/qd/files/0009-configure.ac-don-t-set-CC-to-CXX.patch
new file mode 100644
index 000000000000..14269ce2d75a
--- /dev/null
+++ b/sci-libs/qd/files/0009-configure.ac-don-t-set-CC-to-CXX.patch
@@ -0,0 +1,46 @@
+From eff1594d04f140d9e0a4c423a0685481a612c8ca Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 4 Aug 2021 19:15:44 -0400
+Subject: [PATCH 09/12] configure.ac: don't set $CC to $CXX.
+
+The build system currently sets $CC to whatever $CXX that the
+configure script is able to find. This was harmless until now because
+C++ is a superset of C, so the C++ compiler should be able to compile
+any C code. But in the recently-released autoconf-2.71, the test
+program infrastructure no longer emits the
+
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+
+in the same place it used to, which is breaking the test for
+name-mangling in the AC_FC_WRAPPERS macro. The macro thinks that it's
+compiling C code, but using a compiler that expects C++. While this may
+be fixable within autoconf, letting AC_PROG_CC detect the C compiler
+separately is both morally correct in this case and happens to solve the
+issue anyway.
+
+This fixes a build issue that was reported on Gentoo linux.
+
+Gentoo-bug: https://bugs.gentoo.org/775215
+---
+ configure.ac | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 823fa9e..a657e8f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -84,9 +84,6 @@ case $host in
+ esac
+
+ AC_PROG_CXX($cxx_list)
+-if test "$CC" = ""; then
+- CC="$CXX";
+-fi
+ AC_PROG_CC
+
+
+--
+2.31.1
+
diff --git a/sci-libs/qd/files/0010-configure.ac-don-t-manually-search-for-compiler-name.patch b/sci-libs/qd/files/0010-configure.ac-don-t-manually-search-for-compiler-name.patch
new file mode 100644
index 000000000000..e8bef28db329
--- /dev/null
+++ b/sci-libs/qd/files/0010-configure.ac-don-t-manually-search-for-compiler-name.patch
@@ -0,0 +1,81 @@
+From 18d508793abbfc4045af7c7c91f6d71bb5bb7ef1 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 4 Aug 2021 19:31:36 -0400
+Subject: [PATCH 10/12] configure.ac: don't manually search for compiler
+ names/flags.
+
+The AC_PROG_CXX macro is generally capable of finding the best C++
+compiler on the system these days, including the flags it needs. This
+commit removes the hard-coded list of C++ compilers, and the manual
+computation of REQ_CXXFLAGS based on the name of the compiler.
+
+This serves another purpose: the qd-config program is capable of
+outputting an appropriate "-I" flag to allow consumers to use libqd
+when it is installed in a nonstandard location. At the moment, however,
+that "-I" flag is accompanied by whatever other REQ_CXXFLAGS were
+computed -- and many of those flags are invalid in the other context.
+By eliminating REQ_CXXFLAGS, we solve that problem too.
+---
+ configure.ac | 43 +------------------------------------------
+ 1 file changed, 1 insertion(+), 42 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index a657e8f..5ac7079 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -73,51 +73,10 @@ AC_MSG_RESULT($enable_warnings)
+
+ # Checks for programs.
+ AC_LANG(C++)
+-
+-# Set up compiler search list. DUe to possible case insensitive filesystems,
+-# Cygwin and Apple systems sometimes gets confused between cc and CC.
+-# Try to use vendor compilers first, as they are often the fastest.
+-case $host in
+- *cygwin* | *mingw* ) cxx_list="" ;;
+- *apple* ) cxx_list="xlC_r xlC icpc pathCC c++ g++ gpp" ;;
+- * ) cxx_list="xlC_r xlC icpc pathCC pgCC cxx aCC CC cc++ FCC KCC RCC c++ g++ gpp" ;;
+-esac
+-
+-AC_PROG_CXX($cxx_list)
++AC_PROG_CXX
+ AC_PROG_CC
+
+
+-CXX_PROG_NAME=`basename $CXX`
+-case $host in
+- powerpc*-*-*)
+- case "$CXX_PROG_NAME" in
+- xlC*)
+- REQ_CXXFLAGS="$REQ_CXXFLAGS -qstrict"
+- ;;
+- esac
+- ;;
+- i?86-*-* | k?*-*-* | athlon-*-* | ia64-*-* | x86_64-*-*)
+- case "$CXX_PROG_NAME" in
+- icc|icpc|ecc)
+- REQ_CXXFLAGS="$REQ_CXXFLAGS -mp"
+- if test "$enable_warnings" = "yes"; then
+- CXXFLAGS="$CXXFLAGS -wd1572 -wd981 -wd1418 -wd1419"
+- fi
+- ;;
+- esac
+- ;;
+- alpha*-*-*)
+- case "$CXX_PROG_NAME" in
+- cxx)
+- CXXFLAGS="$CXXFLAGS -std strict_ansi -tweak"
+- ;;
+- esac
+- ;;
+-esac
+-
+-AC_SUBST(REQ_CXXFLAGS)
+-CXXFLAGS="$CXXFLAGS $REQ_CXXFLAGS"
+-
+ if test "$enable_warnings" = "yes"; then
+ if test "$GCC" = "yes"; then
+ CXXFLAGS="$CXXFLAGS -Wall"
+--
+2.31.1
+
diff --git a/sci-libs/qd/files/0011-qd-config.in-remove-REQ_CXXFLAGS.patch b/sci-libs/qd/files/0011-qd-config.in-remove-REQ_CXXFLAGS.patch
new file mode 100644
index 000000000000..7c36b768d6e9
--- /dev/null
+++ b/sci-libs/qd/files/0011-qd-config.in-remove-REQ_CXXFLAGS.patch
@@ -0,0 +1,27 @@
+From 8d9e74e71cd2c0878c85b3559eeb66ec5020a99b Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 4 Aug 2021 19:36:23 -0400
+Subject: [PATCH 11/12] qd-config.in: remove @REQ_CXXFLAGS@.
+
+We no longer compute REQ_CXXFLAGS in configure.ac, so this commit
+removes the empty variable from qd-config.in.
+---
+ qd-config.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/qd-config.in b/qd-config.in
+index 3abfcb7..56bc960 100644
+--- a/qd-config.in
++++ b/qd-config.in
+@@ -14,7 +14,7 @@ builddir="@abs_top_builddir@"
+ build_CXXFLAGS="@CXXFLAGS@"
+ build_LDFLAGS="@LDFLAGS@"
+ CXX="@CXX@"
+-CXXFLAGS="-I$includedir @REQ_CXXFLAGS@"
++CXXFLAGS="-I$includedir"
+ FC="@FC@"
+
+ LDFLAGS="-L$libdir -lqd @LIBS@"
+--
+2.31.1
+
diff --git a/sci-libs/qd/files/0012-configure.ac-remove-the-enable-warnings-flag.patch b/sci-libs/qd/files/0012-configure.ac-remove-the-enable-warnings-flag.patch
new file mode 100644
index 000000000000..a7cb94077f84
--- /dev/null
+++ b/sci-libs/qd/files/0012-configure.ac-remove-the-enable-warnings-flag.patch
@@ -0,0 +1,55 @@
+From b02e5c5403b1ac88b1fd606f3c1147330c47700c Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 4 Aug 2021 19:38:31 -0400
+Subject: [PATCH 12/12] configure.ac: remove the --enable-warnings flag.
+
+This flag simply adds "-Wall" to $CXXFLAGS when it is enabled and the
+value of the $GCC variable is true. Given how easy it is to run
+
+ CXXFLAGS=-Wall ./configure
+
+(which uses standard knowledge) compared to
+
+ ./configure --enable-warnings
+
+(which does not), I don't think this flag warrants the extra complexity
+in configure.ac. This commit removes the option.
+---
+ configure.ac | 15 ---------------
+ 1 file changed, 15 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 5ac7079..46640e5 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -62,27 +62,12 @@ fi
+ AC_MSG_RESULT($enable_sloppy_div)
+
+
+-# --enable-warnings
+-AC_ARG_ENABLE([warnings], AS_HELP_STRING(--enable-warnings, [enable compiler warnings. [[default=no]]]))
+-AC_MSG_CHECKING([if compiler warnings is to be enabled])
+-if test "$enable_warnings" != "yes"; then
+- enable_warnings="no"
+-fi
+-AC_MSG_RESULT($enable_warnings)
+-
+-
+ # Checks for programs.
+ AC_LANG(C++)
+ AC_PROG_CXX
+ AC_PROG_CC
+
+
+-if test "$enable_warnings" = "yes"; then
+- if test "$GCC" = "yes"; then
+- CXXFLAGS="$CXXFLAGS -Wall"
+- fi
+-fi
+-
+ # --enable-fma
+ AC_ARG_ENABLE([fma], AS_HELP_STRING(--enable-fma, [use fused multiply-add/subtract (auto,gnu,ia64,c99,ibm,compiler). Use this option with care. [[default=auto]]]))
+ if test "x$enable_fma" = "x"; then
+--
+2.31.1
+
diff --git a/sci-libs/qd/qd-2.3.22-r1.ebuild b/sci-libs/qd/qd-2.3.22-r1.ebuild
new file mode 100644
index 000000000000..3baf812eeb53
--- /dev/null
+++ b/sci-libs/qd/qd-2.3.22-r1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+FORTRAN_NEEDED=fortran
+
+inherit autotools fortran-2
+
+DESCRIPTION="Quad-double and double-double float arithmetics"
+HOMEPAGE="https://www.davidhbailey.com/dhbsoftware/"
+SRC_URI="http://crd.lbl.gov/~dhbailey/mpdist/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="cpu_flags_x86_fma3 cpu_flags_x86_fma4 doc fortran"
+
+PATCHES=(
+ "${FILESDIR}/0001-configure.ac-update-QD_PATCH_VERSION-to-2.3.22.patch"
+ "${FILESDIR}/0002-configure.ac-replace-AM_CONFIG_HEADER-with-AC_CONFIG.patch"
+ "${FILESDIR}/0003-configure.ac-replace-AC_PROG_LIBTOOL-with-LT_INIT.patch"
+ "${FILESDIR}/0004-configure.ac-fix-syntax-of-all-AC_ARG_ENABLE-calls.patch"
+ "${FILESDIR}/0005-fortran-Makefile.am-fix-underlinking-of-libqdmod-and.patch"
+ "${FILESDIR}/0006-configure.ac-remove-enable-debug-flag.patch"
+ "${FILESDIR}/0007-config.h.in-remove-QD_DEBUG-constant.patch"
+ "${FILESDIR}/0008-configure.ac-don-t-assume-that-O2-is-a-valid-compile.patch"
+ "${FILESDIR}/0009-configure.ac-don-t-set-CC-to-CXX.patch"
+ "${FILESDIR}/0010-configure.ac-don-t-manually-search-for-compiler-name.patch"
+ "${FILESDIR}/0011-qd-config.in-remove-REQ_CXXFLAGS.patch"
+ "${FILESDIR}/0012-configure.ac-remove-the-enable-warnings-flag.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-static \
+ --disable-ieee-add \
+ --disable-sloppy-mul \
+ --disable-sloppy-div \
+ --enable-inline \
+ $(use_enable cpu_flags_x86_fma$(usex cpu_flags_x86_fma3 3 4) fma) \
+ $(use_enable fortran)
+}
+
+src_install() {
+ default
+
+ dosym qd_real.h /usr/include/qd/qd.h
+ dosym dd_real.h /usr/include/qd/dd.h
+
+ if ! use doc; then
+ rm "${ED}"/usr/share/doc/${PF}/*.pdf || die
+ fi
+
+ find "${D}" -name '*.la' -delete || die
+}