aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbicatali <bicatali@32389bae-6d03-0410-99cf-db05cde120eb>2006-04-17 14:11:04 +0000
committerbicatali <bicatali@32389bae-6d03-0410-99cf-db05cde120eb>2006-04-17 14:11:04 +0000
commit1c32c7aa4e96526a632bb14bac9ab07242383b96 (patch)
tree52bed09544c2e2d49502f28389772bcece0164b3
parentadded mkl-8.0.2.004.ebuild (simple version bump) (diff)
downloadsci-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/ChangeLog10
-rw-r--r--sci-libs/arpack/Manifest7
-rw-r--r--sci-libs/arpack/arpack-96.ebuild85
-rw-r--r--sci-libs/arpack/files/ARmake.inc157
-rw-r--r--sci-libs/arpack/metadata.xml4
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>