summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs/qd')
-rw-r--r--sci-libs/qd/Manifest1
-rw-r--r--sci-libs/qd/files/qd-2.3.22-fix-build-system.patch177
-rw-r--r--sci-libs/qd/qd-2.3.22.ebuild51
3 files changed, 229 insertions, 0 deletions
diff --git a/sci-libs/qd/Manifest b/sci-libs/qd/Manifest
index d880948baee5..85f87c998a4b 100644
--- a/sci-libs/qd/Manifest
+++ b/sci-libs/qd/Manifest
@@ -1 +1,2 @@
DIST qd-2.3.17.tar.gz 1445774 BLAKE2B f2af961db49747475a96dc0abecbcffcf88e43265b6ae21b4d6539ac7ce1086bb40e2cfd795dc9c78dd4b0f790a1a51c5b53d6bbfa224c5d3484d58a222c1872 SHA512 9c6f5dc8d5ad7c9c3d0ec626f7089eb760f31fb14b36daee9c6ba403ab146ff7ce99e01a8750960117a34d662c11620db2ec999e9cf44eb0f80e9224e365d496
+DIST qd-2.3.22.tar.gz 1427456 BLAKE2B 628fb88b8cb105baa689380e4084cc2e327415674fcebca59721cc163e1043f39e48c1b2a2bdc68ba402d311f37e71c9e3c390a119515128e0296aa413c850d5 SHA512 2228b6ed019d1462939957d0d0f64ab2ecfa98ac5aefecf56e9dbcf0c6ed63bdd895b86019fbb0dfdbc22d047c4c2d4e42ff91ca18846b5c1bdaa1ad28a55c2b
diff --git a/sci-libs/qd/files/qd-2.3.22-fix-build-system.patch b/sci-libs/qd/files/qd-2.3.22-fix-build-system.patch
new file mode 100644
index 000000000000..204880de95cd
--- /dev/null
+++ b/sci-libs/qd/files/qd-2.3.22-fix-build-system.patch
@@ -0,0 +1,177 @@
+diff -U3 -r qd-2.3.22.orig/configure.ac qd-2.3.22/configure.ac
+--- qd-2.3.22.orig/configure.ac 2018-10-30 23:01:31.000000000 +0700
++++ qd-2.3.22/configure.ac 2018-11-09 21:45:39.415092314 +0700
+@@ -18,14 +18,14 @@
+
+ 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
+
+ # 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 @@
+ 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 @@
+ 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 @@
+ 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 @@
+
+
+ # --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 @@
+ 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"
+@@ -83,13 +83,6 @@
+
+ # Checks for programs.
+ AC_LANG(C++)
+-if test "$CXXFLAGS" = ""; then
+- if test "$enable_debug" = "yes"; then
+- CXXFLAGS="-O"
+- else
+- CXXFLAGS="-O2"
+- fi
+-fi
+
+ # Set up compiler search list. DUe to possible case insensitive filesystems,
+ # Cygwin and Apple systems sometimes gets confused between cc and CC.
+@@ -106,50 +99,10 @@
+ fi
+ 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"
+- fi
+-fi
+-
+-if test "$enable_debug" = "yes"; then
+- CXXFLAGS="$CXXFLAGS -g"
+-fi
++CXXFLAGS="${CXXFLAGS} -Wall"
+
+ # --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 +201,7 @@
+ 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])
+@@ -312,8 +265,7 @@
+ 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
+diff -U3 -r qd-2.3.22.orig/fortran/Makefile.am qd-2.3.22/fortran/Makefile.am
+--- qd-2.3.22.orig/fortran/Makefile.am 2018-10-30 23:05:01.000000000 +0700
++++ qd-2.3.22/fortran/Makefile.am 2018-11-09 21:47:44.530083871 +0700
+@@ -16,7 +16,9 @@
+
+ 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)
+diff -U3 -r qd-2.3.22.orig/qd-config.in qd-2.3.22/qd-config.in
+--- qd-2.3.22.orig/qd-config.in 2018-10-30 23:04:56.000000000 +0700
++++ qd-2.3.22/qd-config.in 2018-11-09 21:49:18.140077553 +0700
+@@ -14,7 +14,7 @@
+ build_CXXFLAGS="@CXXFLAGS@"
+ build_LDFLAGS="@LDFLAGS@"
+ CXX="@CXX@"
+-CXXFLAGS="-I$includedir @REQ_CXXFLAGS@"
++CXXFLAGS="-I$includedir"
+ FC="@FC@"
+
+ LDFLAGS="-L$libdir -lqd @LIBS@"
diff --git a/sci-libs/qd/qd-2.3.22.ebuild b/sci-libs/qd/qd-2.3.22.ebuild
new file mode 100644
index 000000000000..aca6e4aa6610
--- /dev/null
+++ b/sci-libs/qd/qd-2.3.22.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+FORTRAN_NEEDED=fortran
+
+inherit autotools fortran-2
+
+DESCRIPTION="Quad-double and double-double float arithmetics"
+HOMEPAGE="http://crd-legacy.lbl.gov/~dhbailey/mpdist/"
+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 static-libs"
+
+PATCHES=( "${FILESDIR}"/${P}-fix-build-system.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-ieee-add \
+ --disable-sloppy-mul \
+ --disable-sloppy-div \
+ --enable-inline \
+ --enable-shared \
+ $(use_enable static-libs static) \
+ $(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
+
+ if ! use static-libs; then
+ find "${D}" -name '*.la' -delete || die
+ fi
+}