diff --git a/sci-libs/jdqz/Manifest b/sci-libs/jdqz/Manifest new file mode 100644 index 0000000000..b59a985d89 --- /dev/null +++ b/sci-libs/jdqz/Manifest @@ -0,0 +1 @@ +DIST jdqz-1997.11.07.tar.gz 15428 BLAKE2B 7d6fcc29a3ed8d055a49b580823e27286135bd1df59382240b742eb60be07953b9a7c64f11091eea2ad5f04a7ba79a726a7f12897798dd5136c6331aa81bac4d SHA512 9eaf1213c46090fcd133b33bc8e859d32078ade86c9a20eda1c0fb21547aa2f851014cff44d8ada0406cd771892b661e4c03ff7eb4cd3a492997f32f7eb328c3 diff --git a/sci-libs/jdqz/jdqz-1997.11.07.ebuild b/sci-libs/jdqz/jdqz-1997.11.07.ebuild new file mode 100644 index 0000000000..b2530c7f78 --- /dev/null +++ b/sci-libs/jdqz/jdqz-1997.11.07.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +inherit flag-o-matic fortran-2 + +DESCRIPTION="Jacobi-Davidson type method for the generalized standard eigenvalue problem." +HOMEPAGE="https://www.win.tue.nl/casa/research/scientificcomputing/topics/jd/software.html" +SRC_URI="https://www.win.tue.nl/casa/research/scientificcomputing/topics/jd/${PN}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64" + +IUSE="doc" + +# /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: ../jdlib/libjdqz.so: undefined reference to `zgegs_' +#/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: ../jdlib/libjdqz.so: undefined reference to `zgegv_' +RESTRICT="test" + +DEPEND=" + virtual/blas + virtual/lapack +" +RDEPEND="${DEPEND}" +BDEPEND="doc? ( dev-texlive/texlive-latex )" + +S="${WORKDIR}/${PN}" + +src_prepare() { + libs="$($(tc-getPKG_CONFIG) --libs blas)" + libs+=" $($(tc-getPKG_CONFIG) --libs lapack)" + + export libs + + sed -i 's/f77/${F77}/g' jdtest/Makefile || die + sed -i '/FFLAGS/d' jdtest/Makefile || die + sed -i 's/-u -O/-u ${FFLAGS}/g' jdtest/Makefile || die + + sed -i "s/-llapack -lblas/${libs}/" jdtest/Makefile || die + + default +} + +src_compile() { + if use doc; then + pdflatex manual.tex || die + fi + + cd "jdlib" || die + + echo '#!/bin/sh' > make.sh || die + echo "${FC}" *.f "${FFLAGS} -shared -fPIC -Wl,-soname,libjdqz.so.0 -lm ${libs} ${LDFLAGS} -o libjdqz.so.0" >> make.sh || die + chmod +x make.sh || die + + ./make.sh || die + ln -s libjdqz.so.0 libjdqz.so || die +} + +src_test() { + cd jdtest || die + emake + LD_LIBRARY_PATH="./jdlib" ./jdtest/example || die +} + +src_install() { + dolib.so jdlib/libjdqz.so + dolib.so jdlib/libjdqz.so.0 + + use doc && dodoc manual.pdf +} diff --git a/sci-libs/jdqz/metadata.xml b/sci-libs/jdqz/metadata.xml new file mode 100644 index 0000000000..a6bd2638e6 --- /dev/null +++ b/sci-libs/jdqz/metadata.xml @@ -0,0 +1,9 @@ + + + + + lssndrbarbieri@gmail.com + Alessandro Barbieri + + Jacobi-Davidson type method for the generalized standard eigenvalue problem. Choice of standard or harmonic Rayleigh-Ritz for the extraction. Choice of GMRES or BiCGstab(l) for solving the correction equation. +