diff options
author | bicatali <bicatali@32389bae-6d03-0410-99cf-db05cde120eb> | 2006-04-17 14:11:04 +0000 |
---|---|---|
committer | bicatali <bicatali@32389bae-6d03-0410-99cf-db05cde120eb> | 2006-04-17 14:11:04 +0000 |
commit | 1c32c7aa4e96526a632bb14bac9ab07242383b96 (patch) | |
tree | 52bed09544c2e2d49502f28389772bcece0164b3 | |
parent | added mkl-8.0.2.004.ebuild (simple version bump) (diff) | |
download | sci-1c32c7aa4e96526a632bb14bac9ab07242383b96.tar.gz sci-1c32c7aa4e96526a632bb14bac9ab07242383b96.tar.bz2 sci-1c32c7aa4e96526a632bb14bac9ab07242383b96.zip |
arpack: fixed a bunch of things, new blas flag, libtoolization.
git-svn-id: http://overlays.gentoo.org/svn/proj/science/overlay@173 32389bae-6d03-0410-99cf-db05cde120eb
-rw-r--r-- | sci-libs/arpack/ChangeLog | 10 | ||||
-rw-r--r-- | sci-libs/arpack/Manifest | 7 | ||||
-rw-r--r-- | sci-libs/arpack/arpack-96.ebuild | 85 | ||||
-rw-r--r-- | sci-libs/arpack/files/ARmake.inc | 157 | ||||
-rw-r--r-- | sci-libs/arpack/metadata.xml | 4 |
5 files changed, 220 insertions, 43 deletions
diff --git a/sci-libs/arpack/ChangeLog b/sci-libs/arpack/ChangeLog index 3d184e00a..04846425b 100644 --- a/sci-libs/arpack/ChangeLog +++ b/sci-libs/arpack/ChangeLog @@ -2,9 +2,9 @@ # Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ -*arpack-96 (16 Jan 2006) +*arpack-96 (17 Apr 2006) - 16 Jan 2006; Sebastien Fabbro <seb@ist.utl.pt> +arpack-96.ebuild. - Initial import. Close bug . - Thanks David Grant <david.grant@telus.net> for the ebuild. - + 17 Apr 2006; Sebastien Fabbro <seb@ist.utl.pt> +arpack-96.ebuild. + Initial import. Close bug #69241. + Thanks David Grant <david.grant@telus.net> for the innitial ebuild. + Added blas, examples use flag, libtoolization and a lot of cleaning. diff --git a/sci-libs/arpack/Manifest b/sci-libs/arpack/Manifest index 9d313017f..0e5f5e65e 100644 --- a/sci-libs/arpack/Manifest +++ b/sci-libs/arpack/Manifest @@ -1,4 +1,5 @@ -MD5 85dace53bcf9a2871ab45cb0061fb7c7 ChangeLog 304 -MD5 b3f0485499d4de8fbb0c5a10cad866ad arpack-96.ebuild 2085 +MD5 5d4b169cadf04dcdecbd217d7fcf34b7 ChangeLog 387 +MD5 5e42f586d56d3e5bb36e2af839158906 arpack-96.ebuild 2665 +MD5 f5b6414b7b27aca2014468d9755dc1db files/ARmake.inc 3836 MD5 78fedce5e2dc0ae0dea2d24fcf9c7745 files/digest-arpack-96 236 -MD5 db6b7bcfdff65546db2b62be1a72fe93 metadata.xml 257 +MD5 991f9e16c30ad7b3b4bd08968e2235ca metadata.xml 411 diff --git a/sci-libs/arpack/arpack-96.ebuild b/sci-libs/arpack/arpack-96.ebuild index b3ca1b3b7..2eecbacce 100644 --- a/sci-libs/arpack/arpack-96.ebuild +++ b/sci-libs/arpack/arpack-96.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 # $Header: $ -inherit toolchain-funcs fortran +inherit toolchain-funcs eutils fortran DESCRIPTION="Library to solve large scale eigenvalue problems." @@ -15,65 +15,80 @@ SRC_URI="http://www.caam.rice.edu/software/ARPACK/SRC/${PN}${PV}.tar.gz LICENSE="BSD" SLOT="0" -IUSE="mpi examples" +# lapack USE/dependence not implemented. +# README file strongly recommands using arpack +# internal lapack +IUSE="blas mpi examples" KEYWORDS="~amd64 ~x86" DEPEND="virtual/libc -mpi? ( virtual/mpi )" - -# lapack USE/dependence not implemented because README file strongly -# recommands using arpack internal lapack (unless is lapack-2, -# which does not exist on gentoo). -# anyway, I could not run examples with the installed lapack-3 on my system - -# mpi use is experimental + >=sys-devel/libtool-1.5 + blas? ( virtual/blas ) + blas? ( sci-libs/blas-config ) + mpi? ( virtual/mpi )" S=${WORKDIR}/ARPACK +src_unpack() { + unpack ${A} + # patches to fix examples makefiles +# epatch ${FILESDIR}/${P}-examples.patch || die "epatch arpack failed" +# if use mpi; then +# epatch ${FILESDIR}/${P}-parpack-examples.patch \ +# || "epatch parpack failed" +# fi +} + src_compile() { + cp -f "${FILESDIR}"/ARmake.inc ${S} + RPATH="${DESTTREE}"/$(get_libdir) + + if use blas; then + sed -i \ + -e "s:BLASLIB=:BLASLIB=$(blas-config --f77libs):" \ + -e "s:\$\(BLASdir\)::" \ + ARmake.inc || die "sed failed" + fi emake \ - home=${S} \ - FC=${FORTRANC} \ - AR=$(tc-getAR) \ - RANLIB=$(tc-getRANLIB) \ + FC="libtool --mode=compile --tag=F77 ${FORTRANC}" \ + PFC="libtool --mode=compile --tag=F77 mpif77" \ FFLAGS="${FFLAGS}" \ - MAKE=$(which make) \ - ARPACKLIB=${S}/libarpack.a \ + AR="$(tc-getAR)" \ + RANLIB="$(tc-getRANLIB)" \ PRECISIONS="single double complex complex16 sdrv ddrv cdrv zdrv" \ + ARPACKLIB="${S}/libarpack.la" \ + PARPACKLIB="${S}/libparpack.la" \ all || die "emake failed" - # todo: make shared libraries + libtool --mode=link --tag=CC ${FORTRANC} ${FFLAGS} -o libarpack.la */*.lo \ + -rpath ${RPATH} || die "libtool failed" + if use mpi; then + libtool --mode=link --tag=CC mpif77 ${FFLAGS} \ + -o libparpack.la */*.lo -rpath ${RPATH} || die "libtool failed" + fi } src_install() { - dolib.a libarpack.a - - dodoc -README + dodir ${RPATH} + libtool --mode=install install -s libarpack.la \ + ${D}/${RPATH} || die "libtool failed" + if use mpi; then + libtool --mode=install install -s libparpack.la \ + ${D}/${RPATH} || die "libtool failed" + fi + dodoc README docinto DOCUMENTS dodoc DOCUMENTS/* if use examples; then - for mkfile in $(ls -d EXAMPLES/*/makefile); do - sed -e '/^include/d' \ - -e '1i ALIBS=-larpack' \ - -i ${mkfile} - done insinto /usr/share/doc/${P} + doins ARmake.inc doins -r EXAMPLES if use mpi; then - for mkfile in $(ls -d PARPACK/EXAMPLES/*/makefile); do - sed -e '/^include/d' \ - -e 's:_\$(PLAT)::g' \ - -e '1i PLIBS=-lparpack' \ - -e '2i PFC=mpif77' \ - -e '3i PFFLAGS=${FFLAGS}' \ - -i ${mkfile} - done insinto /usr/share/doc/${P}/PARPACK doins -r PARPACK/EXAMPLES fi fi - } src_postinst() { @@ -81,4 +96,4 @@ src_postinst() { einfo "ARPACK has been compiled with internal LAPACK routines" einfo "\"LDFLAGS=-llarpack\" is enough to link your applications" einfo -}
\ No newline at end of file +} diff --git a/sci-libs/arpack/files/ARmake.inc b/sci-libs/arpack/files/ARmake.inc new file mode 100644 index 000000000..e3655e892 --- /dev/null +++ b/sci-libs/arpack/files/ARmake.inc @@ -0,0 +1,157 @@ +############################################################################ +# +# Program: ARPACK +# +# Module: ARmake.inc +# +# Purpose: Top-level Definitions +# +# Creation date: February 22, 1996 +# +# Modified: +# +# Send bug reports, comments or suggestions to arpack@caam.rice.edu +# +############################################################################ +# +# +# *** If you are using a VENDOR SUPPLIED VERSION of MPI, you *** +# *** must replace the mpif.h in the following directories *** +# *** *** +# *** ARPACK/PARPACK/SRC/MPI/mpif.h *** +# *** ARPACK/PARPACK/UTIL/MPI/mpif.h *** +# *** ARPACK/PARPACK/EXAMPLES/MPI/mpif.h *** +# *** *** +# *** with the one for the native implementation. *** +# +# The complete path to the top level of ARPACK directory, usually +# $(HOME)/ARPACK +# +home = $(S) +# +# The platform identifier to suffix to the end of library names +# +#PLAT = sunmos +# +# The communication library ( need for parallel library only ) +# Current availible platforms are: BLACS or MPI +# +COMMLIB = MPI +# +# The directories to find the various pieces of ARPACK +# +BLASdir = $(home)/BLAS +LAPACKdir = $(home)/LAPACK +UTILdir = $(home)/UTIL +SRCdir = $(home)/SRC +PSRCdir = $(home)/PARPACK/SRC/$(COMMLIB) +PUTILdir = $(home)/PARPACK/UTIL/$(COMMLIB) +# +DIRS = $(BLASdir) $(LAPACKdir) $(UTILdir) $(SRCdir) +# Comment out the previous line and uncomment the following +# if you already have the BLAS and LAPACK installed on your system. +# NOTE: ARPACK assumes the use of LAPACK version 2 codes. +#DIRS = $(LAPACKdir) $(UTILdir) $(SRCdir) +# +# +# The name of the libraries to be created/linked to +# +ARPACKLIB = -larpack +PARPACKLIB = -lparpack +LAPACKLIB= +BLASLIB= + +ALIBS = $(ARPACKLIB) $(LAPACKLIB) $(BLASLIB) +# + +# Libraries needed for Parallel ARPACK - MPI for Intel Paragon +# +MPILIBS = -lmpi + +PLIBS = $(PARPACKLIB) $(ALIBS) $(MPILIBS) + +# +# %------------------------------% +# | Make our own suffixes' list. | +# %------------------------------% +# +.SUFFIXES: +.SUFFIXES: .f .o +.SUFFIXES: .F .f + +# +# %------------------% +# | Default command. | +# %------------------% +# +.DEFAULT: + @$(ECHO) "Unknown target $@, try: make help" + +# +# %-------------------------------------------% +# | Command to build .o files from .f files. | +# %-------------------------------------------% +# + +.f.o: + @$(ECHO) Making $@ from $< + @$(FC) -c $(FFLAGS) $< + +.F.f: + @$(ECHO) Making $*.f from $< + @$(CPP) -P -DSINGLE $(CPPFLAGS) $< $*.f + @$(ECHO) Making d$*.f from $< + @$(CPP) -P -DDOUBLE $(CPPFLAGS) $< d$*.f + +# +# %-----------------------------------------% +# | Various compilation programs and flags. | +# | You need to make sure these are correct | +# | for your system. | +# %-----------------------------------------% +# +FC=f77 +FFLAGS=-O2 + +# +# %-----------------------------------% +# | Set the parallel fortran compiler | +# %-----------------------------------% +# +PFC=mpif77 +PFFLAGS=$(FFLAGS) + +LDFLAGS = $(LDFLAGS) +CD = cd + +ECHO = echo + +LN = ln +LNFLAGS = -s + +#MAKE = /bin/make + +RM = rm +RMFLAGS = -f + +SHELL = /bin/sh + +# +# %----------------------------------------------------------------% +# | The archiver and the flag(s) to use when building an archive | +# | (library). Also the ranlib routine. If your system has no | +# | ranlib, set RANLIB = touch. | +# %----------------------------------------------------------------% +# +AR= +ARFLAGS = rv +RANLIB= +# +# %----------------------------------% +# | This is the general help target. | +# %----------------------------------% +# + +help: + @$(ECHO) "usage: make ?" + diff --git a/sci-libs/arpack/metadata.xml b/sci-libs/arpack/metadata.xml index 45e5acc2f..e7863bc96 100644 --- a/sci-libs/arpack/metadata.xml +++ b/sci-libs/arpack/metadata.xml @@ -6,4 +6,8 @@ <email>seb@ist.utl.pt</email> <name>Sebastien Fabbro</name> </maintainer> + <longdescription lang="en"> + ARPACK is a collection of Fortran77 subroutines designed to solve + large scale eigenvalue problems. + </longdescription> </pkgmetadata> |