diff options
Diffstat (limited to 'sci-libs/qd')
-rw-r--r-- | sci-libs/qd/Manifest | 1 | ||||
-rw-r--r-- | sci-libs/qd/files/qd-2.3.22-fix-build-system.patch | 177 | ||||
-rw-r--r-- | sci-libs/qd/qd-2.3.22.ebuild | 51 |
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 +} |