diff options
author | Justin Lecher <jlec@gentoo.org> | 2010-06-09 09:07:27 +0000 |
---|---|---|
committer | Justin Lecher <jlec@gentoo.org> | 2010-06-09 09:07:27 +0000 |
commit | 8c201be64857f9c0e6e36688acdca0b30463fd7d (patch) | |
tree | ddb21a471ba083675bbb60d6df8163ba70f6b968 /sci-libs/punc | |
parent | src_compile-v1.eblit not committed with previous change (diff) | |
download | gentoo-2-8c201be64857f9c0e6e36688acdca0b30463fd7d.tar.gz gentoo-2-8c201be64857f9c0e6e36688acdca0b30463fd7d.tar.bz2 gentoo-2-8c201be64857f9c0e6e36688acdca0b30463fd7d.zip |
New addition
(Portage version: 2.2_rc67/cvs/Linux x86_64)
Diffstat (limited to 'sci-libs/punc')
-rw-r--r-- | sci-libs/punc/ChangeLog | 11 | ||||
-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 |
5 files changed, 295 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/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" +} + |