summaryrefslogtreecommitdiff
path: root/sci-libs/punc
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /sci-libs/punc
reinit the tree, so we can have metadata
Diffstat (limited to 'sci-libs/punc')
-rw-r--r--sci-libs/punc/Manifest7
-rw-r--r--sci-libs/punc/files/1.4-doc.patch20
-rw-r--r--sci-libs/punc/files/1.5-linking.patch174
-rw-r--r--sci-libs/punc/metadata.xml24
-rw-r--r--sci-libs/punc/punc-1.5.ebuild90
5 files changed, 315 insertions, 0 deletions
diff --git a/sci-libs/punc/Manifest b/sci-libs/punc/Manifest
new file mode 100644
index 000000000000..f17e3b41c174
--- /dev/null
+++ b/sci-libs/punc/Manifest
@@ -0,0 +1,7 @@
+AUX 1.4-doc.patch 534 SHA256 625da0650f17e89b7be3fff73a10e47a6d9ead1ba7e25644c5c4f54a53c79c40 SHA512 388855f15bd17f5bc42ea3dc1d76d338a5586ed6cdb005442d46d158d36a1ffd32c2b08f10f992de30c44c1f160c005ef7499b6c2a629a0e7fab93f59d15bf65 WHIRLPOOL b18c5fe670e181a2c2012c46631bb4f1b305f2f9802ffd5b434d60242e4c121e038e57eebb8fd892d5fa89d3e3f256c1b45846cde064f87596783e90e54dba08
+AUX 1.5-linking.patch 6247 SHA256 7739c434d7c497c6c01e2b79f5c8f13598fd40f06371ad0137538a1c3b2abf60 SHA512 d7b8f8f99a2d26cb3e0cace7f31c72eff997786fcdca4a80e81493f7e255df0975743870543881348814d777507a96f328bacb1115fdc118c848a3a0be4c833f WHIRLPOOL da189480e20561acc5c1113337ed86137c63d035def2cfbadced2fcdbbf03831a853adea76e332ff6def6b5e5121e1621fb87ea98e74fe8d5da371cb264a893d
+DIST punc-1.5.tar.gz 7036275 SHA256 6a63e4caf5dcd0529c09cd429cc94b4443ca4ba893b98b68962c0549c2a8246f SHA512 8b454f5de9cd01e87a30083f975ce8901c5d5a2cac7256cb535c8698221ce6d1ddb93a3663b2e903e5cae93ef76b48932ff7f13a816ba7da6bb07ea25490503b WHIRLPOOL 09af2ae6ae32014b5f946fcaa8035853aae93cd78b948bf934e817b6cb82bfa1fde6be2f6c970070ae870b494f64b4769203b773434f215dab0cafe420950ba6
+EBUILD punc-1.5.ebuild 2180 SHA256 3f9e4b95432149717f5f753f07ec0ab7aecb3a787dd86eb207f352178a1bec97 SHA512 5d292598e039484b5056ba8fd2b53c8b9d458b970c48f233983927b5d96444a254663e43f11d2302bf394a74106d8fbb43ee6c6fbbd14beed41fba617cde184c WHIRLPOOL a283b244f3bb3d0bcacbb80d05a0aabf266e723116467b42569e0ce158ec4abbb5248c79d519160450cf5feeba69f02b0a82be9b727edc5ab02f05b603647979
+MISC ChangeLog 2757 SHA256 afcbd151e19205a79f3927bfa2c70cccec59a2a10e581207f4214ccb89741dae SHA512 e73332dbfb110cbc6b777fdb913f4b1ec83a940db60de4e2940322e4946b9f853b26368f372f56d9e11a08b1ee43a8ea5e6a07eb75ae6efc016c8ec2781d2c60 WHIRLPOOL 264454bda67849c60a8c4f0d1f3bdac8038d9a02eff88f377d282da55e91e85580ef664c580fce413544092870d29f4aefa29506c4183ff51fe1dc9cd594c7fb
+MISC ChangeLog-2015 3098 SHA256 995c7c072a08478172d31a34cb5c470c263ebccc3e3aaa8c4906fbac7b7368a9 SHA512 21787481faebcf80881e4db32c56147f1b442674826b9ed0a042842108455ebd9e6ee94606c5ecd120244a349b256a78a6072b4be335325a03d57033bace6a01 WHIRLPOOL 8405ac2143fa8ca826fe06c9680033212ce6b01e9d2ac9df4df1d05b7b9fb81945fe2fbbe6e1273bf55286dcf3d1e6e2f17893d486363551b56280c75f3b047f
+MISC metadata.xml 1313 SHA256 1d448aea516d3e83ef9dd07bcfd96621b01ab423e73fd5cdb5369d3e764d6981 SHA512 3356e26af4a0c2c87b0255d084066ff5ce678f76c715b189ae1e18c259b799c40cd040cdeac2a70347c03613cdedec85ff2236130685923f6f1dcafdae9b6cb4 WHIRLPOOL 924e716f445ff6c4c472635765e4e4b04f527dfd2557896597a9622cceb73fece857c127a28da83b05e43ed82cb401476940590baa0c11513c2feda3fd16b6a0
diff --git a/sci-libs/punc/files/1.4-doc.patch b/sci-libs/punc/files/1.4-doc.patch
new file mode 100644
index 000000000000..ad17da322f17
--- /dev/null
+++ b/sci-libs/punc/files/1.4-doc.patch
@@ -0,0 +1,20 @@
+diff --git a/doc/doxygen/Makefile.am b/doc/doxygen/Makefile.am
+index ca42fe0..264ba82 100644
+--- a/doc/doxygen/Makefile.am
++++ b/doc/doxygen/Makefile.am
+@@ -29,13 +29,11 @@
+ ## Author: Michael Holst
+ ## ###########################################################################
+
+-docdir = @prefix@/doc/punc
+-
+ doc_DATA = punc_doc
+
+ punc_doc:
+ $(doxygen_path) $(top_srcdir)/doc/doxygen/punc.dox
+
+ install-docDATA:
+- mkdir -p $(docdir)
+- cp -r ../api $(docdir)/
++ mkdir -p $(DESTDIR)/@docdir@
++ cp -r ../api $(DESTDIR)/@docdir@/
diff --git a/sci-libs/punc/files/1.5-linking.patch b/sci-libs/punc/files/1.5-linking.patch
new file mode 100644
index 000000000000..9e5d5a8ced69
--- /dev/null
+++ b/sci-libs/punc/files/1.5-linking.patch
@@ -0,0 +1,174 @@
+ configure.ac | 35 +++++++++++++++++------------------
+ src/aaa_lib/Makefile.am | 7 +++----
+ src/pmg/Makefile.am | 1 +
+ 3 files changed, 21 insertions(+), 22 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 1295a9f..f8fd97c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -49,6 +49,8 @@ AC_LANG_C
+ AC_PROG_CC
+ AC_PROG_CPP
+ AC_DISABLE_STATIC
++AC_PROG_F77
++AC_F77_LIBRARY_LDFLAGS
+ AM_PROG_LIBTOOL
+
+ dnl 3. checks for libraries
+@@ -341,6 +343,10 @@ if test -n "${blas}"; then
+ else
+ AC_MSG_RESULT([no ...poking around])
+
++ PKG_CHECK_MODULES([BLAS],[blas],[
++ blas_lib=${BLAS_LIBS}
++ blas=""
++ ],[
+ dnl # BLAS library location ENV specification
+ AC_MSG_CHECKING([whether your environment defines FETK_BLAS_LIBRARY])
+ if test -n "${FETK_BLAS_LIBRARY}"; then
+@@ -358,7 +364,7 @@ else
+ AC_CHECK_LIB(blas,dscal_,
+ [blas_use="yes";blas_lib="${blas_lib_path}-lblas"],
+ [blas_use="";blas_lib=""],
+- [${blas_lib_path}-lblas -lvf2c])
++ [${blas_lib_path} $(BLAS_LIBS)])
+ if test -z "${blas_use}"; then
+ AC_MSG_RESULT([** BLAS library missing ...will BUILD **])
+ blas="blas";
+@@ -368,7 +374,7 @@ else
+ fi
+
+ dnl # Return LDFLAGS to normal
+- LDFLAGS=${LDFLAGS_SAVE};
++ LDFLAGS=${LDFLAGS_SAVE};])
+ fi
+
+ dnl # Final decisions on BLAS
+@@ -414,7 +420,7 @@ dnl lapack_use="";
+ dnl AC_CHECK_LIB(lapack,dsysv_,
+ dnl [lapack_use="yes";lapack_lib="${lapack_lib_path}-llapack"],
+ dnl [lapack_use="";lapack_lib=""],
+-dnl [${lapack_lib_path}-llapack ${blas_lib} -lvf2c])
++dnl [${lapack_lib_path}-llapack ${blas_lib}])
+ dnl if test -z "${lapack_use}"; then
+ dnl AC_MSG_RESULT([** LAPACK library missing ...will BUILD **])
+ dnl lapack="lapack";
+@@ -466,10 +472,10 @@ else
+ LDFLAGS_SAVE=${LDFLAGS};
+ LDFLAGS=${amd_lib_path};
+ amd_use="";
+- AC_CHECK_LIB(amd,AMD_order,
++ AC_CHECK_LIB(amd,amd_order,
+ [amd_use="yes";amd_lib="${amd_lib_path}-lamd"],
+ [amd_use="";amd_lib=""],
+- [${amd_lib_path}-lamd ${blas_lib} -lvf2c])
++ [${amd_lib_path}-lamd ${blas_lib}])
+ if test -z "${amd_use}"; then
+ AC_MSG_RESULT([** AMD library missing ...will BUILD **])
+ amd="amd";
+@@ -521,10 +527,10 @@ else
+ LDFLAGS_SAVE=${LDFLAGS};
+ LDFLAGS=${umfpack_lib_path};
+ umfpack_use="";
+- AC_CHECK_LIB(umfpack,UMFPACK_numeric,
++ AC_CHECK_LIB(umfpack,umfpack_di_numeric,
+ [umfpack_use="yes";umfpack_lib="${umfpack_lib_path}-lumfpack"],
+ [umfpack_use="";umfpack_lib=""],
+- [${umfpack_lib_path}-lumfpack ${blas_lib} -lvf2c])
++ [${umfpack_lib_path}-lumfpack ${blas_lib}])
+ if test -z "${umfpack_use}"; then
+ AC_MSG_RESULT([** UMFPACK library missing ...will BUILD **])
+ umfpack="umfpack";
+@@ -579,7 +585,7 @@ else
+ AC_CHECK_LIB(superlu,Destroy_SuperMatrix_Store,
+ [superlu_use="yes";superlu_lib="${superlu_lib_path}-lsuperlu"],
+ [superlu_use="";superlu_lib=""],
+- [${superlu_lib_path}-lsuperlu ${lapack_lib} ${blas_lib} -lvf2c])
++ [${superlu_lib_path}-lsuperlu ${lapack_lib} ${blas_lib}])
+ if test -z "${superlu_use}"; then
+ AC_MSG_RESULT([** SUPERLU library missing ...will BUILD **])
+ superlu="superlu";
+@@ -635,7 +641,7 @@ dnl arpack_use="";
+ dnl AC_CHECK_LIB(arpack,dsgets_,
+ dnl [arpack_use="yes";arpack_lib="${arpack_lib_path}-larpack"],
+ dnl [arpack_use="";arpack_lib=""],
+-dnl [${arpack_lib_path}-larpack ${blas_lib} -lvf2c])
++dnl [${arpack_lib_path}-larpack ${blas_lib}])
+ dnl if test -z "${arpack_use}"; then
+ dnl AC_MSG_RESULT([** ARPACK library missing ...will BUILD **])
+ dnl arpack="arpack";
+@@ -691,7 +697,7 @@ dnl cgcode_use="";
+ dnl AC_CHECK_LIB(cgcode,scgdrv_,
+ dnl [cgcode_use="yes";cgcode_lib="${cgcode_lib_path}-lcgcode"],
+ dnl [cgcode_use="";cgcode_lib=""],
+-dnl [${cgcode_lib_path}-lcgcode ${blas_lib} -lvf2c])
++dnl [${cgcode_lib_path}-lcgcode ${blas_lib}])
+ dnl if test -z "${cgcode_use}"; then
+ dnl AC_MSG_RESULT([** CGCODE library missing ...will BUILD **])
+ dnl cgcode="cgcode";
+@@ -747,7 +753,7 @@ dnl pmg_use="";
+ dnl AC_CHECK_LIB(pmg,buildg_,
+ dnl [pmg_use="yes";pmg_lib="${pmg_lib_path}-lpmg"],
+ dnl [pmg_use="";pmg_lib=""],
+-dnl [${pmg_lib_path}-lpmg ${blas_lib} -lvf2c])
++dnl [${pmg_lib_path}-lpmg ${blas_lib}])
+ dnl if test -z "${pmg_use}"; then
+ dnl AC_MSG_RESULT([** PMG library missing ...will BUILD **])
+ dnl pmg="pmg";
+@@ -986,13 +992,6 @@ AC_OUTPUT([
+ src/base/Makefile
+
+ src/vf2c/Makefile
+- src/blas/Makefile
+- src/lapack/Makefile
+- src/amd/Makefile
+- src/umfpack/Makefile
+- src/superlu/Makefile
+- src/arpack/Makefile
+- src/cgcode/Makefile
+ src/pmg/Makefile
+
+ src/aaa_inc/Makefile
+diff --git a/src/aaa_lib/Makefile.am b/src/aaa_lib/Makefile.am
+index 2e17d41..3cbb9b5 100644
+--- a/src/aaa_lib/Makefile.am
++++ b/src/aaa_lib/Makefile.am
+@@ -102,15 +102,14 @@ else
+ LIBPMG =
+ endif
+
+-libdir = ${prefix}/lib
+ lib_LTLIBRARIES = libpunc.la ${LIBVF2C} ${LIBBLAS} ${LIBLAPACK} ${LIBAMD} ${LIBUMFPACK} ${LIBSUPERLU} ${LIBARPACK} ${LIBCGCODE} ${LIBPMG}
+
+ libpunc_la_SOURCES =
+-libpunc_la_LIBADD = ${BASE_LIBS}
++libpunc_la_LIBADD = ${BASE_LIBS} -lm
+ libpunc_la_LDFLAGS = -version-info ${FETK_VERSION}
+
+ libvf2c_la_SOURCES =
+-libvf2c_la_LIBADD = ${VF2C_LIBS}
++libvf2c_la_LIBADD = ${VF2C_LIBS} -lgfortran -lf2c -lm
+ libvf2c_la_LDFLAGS = -version-info ${FETK_VERSION}
+
+ libblas_la_SOURCES =
+@@ -142,6 +141,6 @@ libcgcode_la_LIBADD = ${CGCODE_LIBS}
+ libcgcode_la_LDFLAGS = -version-info ${FETK_VERSION}
+
+ libpmg_la_SOURCES =
+-libpmg_la_LIBADD = ${PMG_LIBS}
++libpmg_la_LIBADD = ${PMG_LIBS} ${BASE_LIBS} -lgfortran -lf2c -lmaloc -lm
+ libpmg_la_LDFLAGS = -version-info ${FETK_VERSION}
+
+diff --git a/src/pmg/Makefile.am b/src/pmg/Makefile.am
+index cae9324..b34ace9 100644
+--- a/src/pmg/Makefile.am
++++ b/src/pmg/Makefile.am
+@@ -45,6 +45,7 @@ SRC = buildAd.c buildBd.c buildGd.c buildPd.c cgd.c cgmgd.c cgmgdrvd.c gsd.c mat
+ libpmg_la_SOURCES = ${SRC}
+ INCLUDES = @maloc_inc@
+ AM_CFLAGS = @profile@ @pedantic_ansi@
++libpmg_la_LIBADD = -lf2c
+
+ all-local:
+ # -cp -p ${top_srcdir}/src/${THISLIB}/punc/*.h ../aaa_inc/punc/.
diff --git a/sci-libs/punc/metadata.xml b/sci-libs/punc/metadata.xml
new file mode 100644
index 000000000000..41b1fb0d0281
--- /dev/null
+++ b/sci-libs/punc/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <longdescription>
+ PUNC (Portable Understructure for Numerical Computing) is a small standard
+ collection of software libraries for numerical computing. The PUNC
+ collection includes reference implementations of the standard (dense matrix)
+ linear algebra tools BLAS and LAPACK, and also includes some newer (sparse
+ matrix) linear algebra tools ARPACK, SuperLU, CgCode, and PMG. PUNC also
+ provides some additional basic infrastructure such as the standard F2C
+ header and corresponding library (libF2C), to support the use of F2C'd
+ FORTRAN codes, and some other standard tools used to build numerical
+ simulation software, such as the HDF5 library. While most of the libraries
+ included in PUNC are completely stand-alone, and are the reference
+ implementations developed by the individual library authors, PUNC also
+ provides some Object-oriented C wrappers (written by the FETK developers)
+ for use with Object-oriented C/C++ codes such as FETK . This is accomplished
+ by building PUNC on top of FETK 's MALOC library.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/punc/punc-1.5.ebuild b/sci-libs/punc/punc-1.5.ebuild
new file mode 100644
index 000000000000..ccf2b1cc1733
--- /dev/null
+++ b/sci-libs/punc/punc-1.5.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=yes
+
+inherit autotools-utils fortran-2 multilib toolchain-funcs
+
+DESCRIPTION="Portable Understructure for Numerical Computing"
+HOMEPAGE="http://fetk.org/codes/punc/index.html"
+SRC_URI="http://www.fetk.org/codes/download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="debug doc mpi static-libs"
+
+RDEPEND="
+ dev-libs/maloc[mpi=]
+ dev-libs/libf2c
+ sci-libs/amd
+ sci-libs/cgcode
+ sci-libs/arpack[mpi=]
+ sci-libs/superlu
+ sci-libs/umfpack
+ virtual/blas
+ virtual/lapack
+ mpi? ( virtual/mpi )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ media-gfx/graphviz
+ app-doc/doxygen )"
+
+S="${WORKDIR}/${PN}"
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-linking.patch
+ "${FILESDIR}"/1.4-doc.patch
+ )
+
+src_prepare() {
+ sed 's:punc/slu_ddefs.h:superlu/slu_ddefs.h:g' src/superlu/punc/vsuperlu.h > vsuperlu.h || die
+ sed 's:punc/umfpack.h:umfpack.h:g' src/umfpack/punc/vumfpack.h > vumfpack.h || die
+ rm -rf src/{amd,blas,lapack,arpack,superlu,umfpack}
+
+ cp tools/tests/pmg/*.f src/pmg/ -f || die
+ cp tools/tests/pmg/*.c src/pmg/ -f || die
+ cp src/pmg/vpmg.h src/vf2c/punc/vpmg.h || die
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local fetk_include
+ local fetk_lib
+ local myeconfargs
+
+ use doc || myeconfargs+=( --with-doxygen= --with-dot= )
+
+ fetk_include="${EPREFIX}"/usr/include
+ fetk_lib="${EPREFIX}"/usr/$(get_libdir)
+ export FETK_INCLUDE="${fetk_include}"
+ export FETK_LIBRARY="${fetk_lib}"
+ export FETK_LAPACK_LIBRARY="$($(tc-getPKG_CONFIG) --libs lapack)"
+ export FETK_BLAS_LIBRARY="${fetk_lib}"
+ export FETK_SUPERLU_LIBRARY="$($(tc-getPKG_CONFIG) --libs superlu)"
+ export FETK_ARPACK_LIBRARY="${fetk_lib}"
+ export FETK_UMFPACK_LIBRARY="${fetk_lib}"
+ export FETK_CGCODE_LIBRARY="${fetk_lib}"
+ export FETK_AMD_LIBRARY="${fetk_lib}"
+
+ myeconfargs+=(
+ $(use_enable debug vdebug)
+ --enable-vf2cforce
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+ --disable-triplet
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ insinto /usr/include/punc
+ doins v*.h
+
+ dohtml doc/index.html
+}