From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- sci-libs/punc/Manifest | 7 ++ sci-libs/punc/files/1.4-doc.patch | 20 ++++ sci-libs/punc/files/1.5-linking.patch | 174 ++++++++++++++++++++++++++++++++++ sci-libs/punc/metadata.xml | 24 +++++ sci-libs/punc/punc-1.5.ebuild | 90 ++++++++++++++++++ 5 files changed, 315 insertions(+) create mode 100644 sci-libs/punc/Manifest create mode 100644 sci-libs/punc/files/1.4-doc.patch create mode 100644 sci-libs/punc/files/1.5-linking.patch create mode 100644 sci-libs/punc/metadata.xml create mode 100644 sci-libs/punc/punc-1.5.ebuild (limited to 'sci-libs/punc') 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 @@ + + + + + sci@gentoo.org + Gentoo Science Project + + + 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. + + 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 +} -- cgit v1.2.3