diff options
-rw-r--r-- | sci-libs/punc/ChangeLog | 11 | ||||
-rw-r--r-- | sci-libs/punc/Manifest | 16 | ||||
-rw-r--r-- | sci-libs/punc/files/0.2_p1-configure.patch | 49 | ||||
-rw-r--r-- | sci-libs/punc/files/0.2_p1-underlinking.patch | 144 | ||||
-rw-r--r-- | sci-libs/punc/metadata.xml | 24 | ||||
-rw-r--r-- | sci-libs/punc/punc-0.2_p1.ebuild | 67 |
6 files changed, 311 insertions, 0 deletions
diff --git a/sci-libs/punc/ChangeLog b/sci-libs/punc/ChangeLog new file mode 100644 index 000000000000..ef0b6a8a7abf --- /dev/null +++ b/sci-libs/punc/ChangeLog @@ -0,0 +1,11 @@ +# ChangeLog for sci-libs/punc +# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/sci-libs/punc/ChangeLog,v 1.1 2010/06/09 09:07:27 jlec Exp $ + +*punc-0.2_p1 (09 Jun 2010) + + 09 Jun 2010; Justin Lecher <jlec@gentoo.org> + +files/0.2_p1-configure.patch, +files/0.2_p1-underlinking.patch, + +punc-0.2_p1.ebuild, +metadata.xml: + New addition + diff --git a/sci-libs/punc/Manifest b/sci-libs/punc/Manifest new file mode 100644 index 000000000000..c1cafee5147a --- /dev/null +++ b/sci-libs/punc/Manifest @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +AUX 0.2_p1-configure.patch 2119 RMD160 6cc11262aff3e8fc976c0bb23216fb1367ac59d6 SHA1 c24928f41d87a502629e87a16e8515e640951e28 SHA256 3591f2f8cdeb1582b12d04f7c66420e6581a70a66e3f9cc735f156cd02739e26 +AUX 0.2_p1-underlinking.patch 5390 RMD160 a7b54e8bda912e5b1d6f51d4d5242a6c31a7c9bf SHA1 82f77e70dd48cb7522e5866e916e07d47df77ed0 SHA256 f5fa9af72c719d8f346fb2e49aa3d690087bf66dfcfeabbd7de53600f1df2911 +DIST punc-0.2-1.tar.gz 6645934 RMD160 c00936f26f7096cb66e0a323f7dc22ea40fdc0d4 SHA1 e7211c9a6067d73a56081df0a5f56021ac16b464 SHA256 05dcbc75191b73d3df5b108308b96c6c557ed9b1bd0611a0cc1956edc5541c5d +EBUILD punc-0.2_p1.ebuild 1709 RMD160 b074a8e667611b22bef6eecff2b41c72e30e46b7 SHA1 cb8f294bec325d0c81b19ce406b9ada14123e5bf SHA256 8afca41194699c5ac6c6e3c3dd007003b7dfcf475e279a784362bb1abee7f973 +MISC ChangeLog 393 RMD160 d5f92b4d9b0189b9a1ac3b85005f19ea6bd5d14e SHA1 9792def43c62465d79e43a284781737a98699c45 SHA256 c074a74f5d22dfa0776167f5e1f2cd7878eec82689ba143aab5c07df5b45f767 +MISC metadata.xml 1268 RMD160 1c3eeab7f7f1713110d9012f1a32cc1735349521 SHA1 3cd959da5f7e94c760842dd8067b84b563cced77 SHA256 4dcd334a724ddcd75185f52fb0159c6a2aa5bab4c192634dca7685e22977790f +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.15 (GNU/Linux) + +iEYEARECAAYFAkwPWdUACgkQgAnW8HDreRbEtwCfUTDOoQhXtb1XLRVi+BdJ8jEz +DbgAnjOuwF5TBgHqIynKdl7eTUIqCmMg +=E15d +-----END PGP SIGNATURE----- diff --git a/sci-libs/punc/files/0.2_p1-configure.patch b/sci-libs/punc/files/0.2_p1-configure.patch new file mode 100644 index 000000000000..7f4ce9788073 --- /dev/null +++ b/sci-libs/punc/files/0.2_p1-configure.patch @@ -0,0 +1,49 @@ +diff --git a/configure.ac b/configure.ac +index 633803d..279fad6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -348,7 +348,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}-lblas]) + if test -z "${blas_use}"; then + AC_MSG_RESULT([** BLAS library missing ...will BUILD **]) + blas="blas"; +@@ -410,7 +410,7 @@ else + AC_CHECK_LIB(lapack,dsysv_, + [lapack_use="yes";lapack_lib="${lapack_lib_path}-llapack"], + [lapack_use="";lapack_lib=""], +- [${lapack_lib_path}-llapack ${blas_lib} -lvf2c]) ++ [${lapack_lib_path}-llapack ${blas_lib}]) + if test -z "${lapack_use}"; then + AC_MSG_RESULT([** LAPACK library missing ...will BUILD **]) + lapack="lapack"; +@@ -472,7 +472,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"; +@@ -534,7 +534,7 @@ else + AC_CHECK_LIB(arpack,dsgets_, + [arpack_use="yes";arpack_lib="${arpack_lib_path}-larpack"], + [arpack_use="";arpack_lib=""], +- [${arpack_lib_path}-larpack ${blas_lib} -lvf2c]) ++ [${arpack_lib_path}-larpack ${blas_lib}]) + if test -z "${arpack_use}"; then + AC_MSG_RESULT([** ARPACK library missing ...will BUILD **]) + arpack="arpack"; +@@ -658,7 +658,7 @@ else + AC_CHECK_LIB(pmg,buildg_, + [pmg_use="yes";pmg_lib="${pmg_lib_path}-lpmg"], + [pmg_use="";pmg_lib=""], +- [${pmg_lib_path}-lpmg ${blas_lib} -lvf2c]) ++ [${pmg_lib_path}-lpmg ${blas_lib}]) + if test -z "${pmg_use}"; then + AC_MSG_RESULT([** PMG library missing ...will BUILD **]) + pmg="pmg"; diff --git a/sci-libs/punc/files/0.2_p1-underlinking.patch b/sci-libs/punc/files/0.2_p1-underlinking.patch new file mode 100644 index 000000000000..f83c93f1edc5 --- /dev/null +++ b/sci-libs/punc/files/0.2_p1-underlinking.patch @@ -0,0 +1,144 @@ +diff --git a/configure.ac b/configure.ac +index 633803d..89a9fb4 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -50,7 +50,8 @@ dnl 2. checks for programs + AC_LANG_C + AC_PROG_CC + AC_PROG_CPP +-AC_DISABLE_SHARED ++AC_PROG_F77 ++AC_F77_LIBRARY_LDFLAGS + AM_PROG_LIBTOOL + + dnl 3. checks for libraries +@@ -348,7 +349,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}-lblas]) + if test -z "${blas_use}"; then + AC_MSG_RESULT([** BLAS library missing ...will BUILD **]) + blas="blas"; +@@ -410,7 +411,7 @@ else + AC_CHECK_LIB(lapack,dsysv_, + [lapack_use="yes";lapack_lib="${lapack_lib_path}-llapack"], + [lapack_use="";lapack_lib=""], +- [${lapack_lib_path}-llapack ${blas_lib} -lvf2c]) ++ [${lapack_lib_path}-llapack ${blas_lib}]) + if test -z "${lapack_use}"; then + AC_MSG_RESULT([** LAPACK library missing ...will BUILD **]) + lapack="lapack"; +@@ -472,7 +473,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"; +@@ -534,7 +535,7 @@ else + AC_CHECK_LIB(arpack,dsgets_, + [arpack_use="yes";arpack_lib="${arpack_lib_path}-larpack"], + [arpack_use="";arpack_lib=""], +- [${arpack_lib_path}-larpack ${blas_lib} -lvf2c]) ++ [${arpack_lib_path}-larpack ${blas_lib}]) + if test -z "${arpack_use}"; then + AC_MSG_RESULT([** ARPACK library missing ...will BUILD **]) + arpack="arpack"; +@@ -658,7 +659,7 @@ else + AC_CHECK_LIB(pmg,buildg_, + [pmg_use="yes";pmg_lib="${pmg_lib_path}-lpmg"], + [pmg_use="";pmg_lib=""], +- [${pmg_lib_path}-lpmg ${blas_lib} -lvf2c]) ++ [${pmg_lib_path}-lpmg ${blas_lib}]) + if test -z "${pmg_use}"; then + AC_MSG_RESULT([** PMG library missing ...will BUILD **]) + pmg="pmg"; +@@ -846,10 +847,6 @@ AC_OUTPUT([ + src/base/Makefile + + src/vf2c/Makefile +- src/blas/Makefile +- src/lapack/Makefile +- src/superlu/Makefile +- src/arpack/Makefile + src/cgcode/Makefile + src/pmg/Makefile + +diff --git a/src/aaa_lib/Makefile.am b/src/aaa_lib/Makefile.am +index e338300..903dd2f 100644 +--- a/src/aaa_lib/Makefile.am ++++ b/src/aaa_lib/Makefile.am +@@ -92,11 +92,11 @@ libdir = ${prefix}/lib/${fetk_cpu_vendor_os} + lib_LTLIBRARIES = libpunc.la ${LIBVF2C} ${LIBBLAS} ${LIBLAPACK} ${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 = +@@ -108,7 +108,7 @@ liblapack_la_LIBADD = ${LAPACK_LIBS} + liblapack_la_LDFLAGS = -version-info ${FETK_VERSION} + + libsuperlu_la_SOURCES = +-libsuperlu_la_LIBADD = ${SUPERLU_LIBS} ++libsuperlu_la_LIBADD = ${SUPERLU_LIBS} + libsuperlu_la_LDFLAGS = -version-info ${FETK_VERSION} + + libarpack_la_SOURCES = +@@ -116,10 +116,9 @@ libarpack_la_LIBADD = ${ARPACK_LIBS} + libarpack_la_LDFLAGS = -version-info ${FETK_VERSION} + + libcgcode_la_SOURCES = +-libcgcode_la_LIBADD = ${CGCODE_LIBS} ++libcgcode_la_LIBADD = ${CGCODE_LIBS} ${VF2C_LIBS} -lblas -lgfortran -lm + libcgcode_la_LDFLAGS = -version-info ${FETK_VERSION} + + libpmg_la_SOURCES = +-libpmg_la_LIBADD = ${PMG_LIBS} ++libpmg_la_LIBADD = ${VF2C_LIBS} ${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 6f3108d..154aeba 100644 +--- a/src/pmg/Makefile.am ++++ b/src/pmg/Makefile.am +@@ -38,11 +38,12 @@ always_built_SUBDIRS = + SUBDIRS = $(always_built_SUBDIRS) . + THISLIB = pmg + +-noinst_LTLIBRARIES = libpmg.la ++lib_LTLIBRARIES = libpmg.la + +-SRC = buildAd.c buildBd.c buildGd.c buildPd.c cgd.c cgmgd.c cgmgdrvd.c gsd.c matvecd.c mblasd.c mgcsd.c mgdrvd.c mgfasd.c mgsubd.c mikpckd.c mlinpckd.c ncgd.c ncgdrvd.c newdrvd.c newtond.c ngsd.c ngsdrvd.c ninterpd.c nrchd.c nrchdrvd.c nsmoothd.c nsord.c nsordrvd.c nwjd.c nwjdrvd.c powerd.c rchd.c smoothd.c sord.c wjd.c ++SRC = buildAd.c buildBd.c buildGd.c buildPd.c cgd.c cgmgd.c cgmgdrvd.c gsd.c matvecd.c mblasd.c mgcsd.c mgdrvd.c mgfasd.c mgsubd.c mikpckd.c mlinpckd.c ncgd.c ncgdrvd.c newdrvd.c newtond.c ngsd.c ngsdrvd.c ninterpd.c nrchd.c nrchdrvd.c nsmoothd.c nsord.c nsordrvd.c nwjd.c nwjdrvd.c powerd.c rchd.c smoothd.c sord.c wjd.c secd.c pded.f + + libpmg_la_SOURCES = ${SRC} ++libpmg_la_LIBADD = -lf2c ../vf2c/libvf2c.la + INCLUDES = @maloc_inc@ + AM_CFLAGS = @profile@ @pedantic_ansi@ + +diff --git a/src/vf2c/main.c b/src/vf2c/main.c +index 4539749..6577570 100644 +--- a/src/vf2c/main.c ++++ b/src/vf2c/main.c +@@ -134,7 +134,9 @@ f_init(); + #ifndef NO_ONEXIT + ONEXIT(f_exit); + #endif +-MAIN__(); ++int MAIN__( ) ++ { return(0); ++} + #ifdef NO_ONEXIT + f_exit(); + #endif diff --git a/sci-libs/punc/metadata.xml b/sci-libs/punc/metadata.xml new file mode 100644 index 000000000000..cc35dc3a4a07 --- /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> +<herd>sci</herd> +<maintainer> + <email>jlec@gentoo.org</email> +</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-0.2_p1.ebuild b/sci-libs/punc/punc-0.2_p1.ebuild new file mode 100644 index 000000000000..c089d63b11c5 --- /dev/null +++ b/sci-libs/punc/punc-0.2_p1.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sci-libs/punc/punc-0.2_p1.ebuild,v 1.1 2010/06/09 09:07:27 jlec Exp $ + +EAPI="3" + +inherit autotools multilib + +MY_PV="${PV}" +MY_P="${PN}-${MY_PV/_p/-}" + +DESCRIPTION="Portable Understructure for Numerical Computing" +HOMEPAGE="http://fetk.org/codes/punc/index.html" +SRC_URI="http://www.fetk.org/codes/${PN}/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug mpi static-libs" + +DEPEND=" + dev-libs/maloc[mpi?] + sci-libs/arpack[mpi?] + sci-libs/superlu + virtual/blas + virtual/mpi" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${PN}" + +src_prepare() { + rm -rf src/{blas,lapack,arpack,superlu} + epatch "${FILESDIR}"/${PV}-underlinking.patch + + cp tools/tests/pmg/*.f src/pmg/ -vfi + cp tools/tests/pmg/*.c src/pmg/ -vfi + cp src/pmg/vpmg.h src/vf2c/punc/vpmg.h + eautoreconf +} + +src_configure() { + export FETK_INCLUDE="${EPREFIX}/usr/include" + export FETK_LIBRARY="${EPREFIX}/usr/$(get_libdir)" + export FETK_LAPACK_LIBRARY="$(pkg-config --libs lapack)" + export FETK_BLAS_LIBRARY="${FETK_LIBRARY}" + export FETK_SUPERLU_LIBRARY="-lsuperlu" + export FETK_ARPACK_LIBRARY="${EPREFIX}/usr/$(get_libdir)" + + econf \ + $(use_enable static-libs static) \ + $(use_enable debug vdebug) \ + --enable-shared \ + --enable-pmgforce \ + --enable-cgcodeforce \ + --enable-vf2cforce + + sed -e "s|libdir = \${prefix}/lib/\${fetk_cpu_vendor_os}|libdir = \${prefix}/$(get_libdir)/|" \ + -i src/aaa_lib/Makefile || \ + die "failed to patch lib Makefile" +} + +src_install() { + make DESTDIR="${D}" install || die "make install failed" + + dohtml doc/index.html || die "failed to install html docs" +} + |