commit: 649af021240c18aa1331e996f87023b65f9bf712 Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> AuthorDate: Tue Apr 28 18:28:56 2020 +0000 Commit: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> CommitDate: Tue Apr 28 19:56:45 2020 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=649af021
sci-libs/jdqz: patched makefiles Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com> sci-libs/jdqz/files/makefile.patch | 72 ++++++++++++++++++++++++++++++ sci-libs/jdqz/jdqz-0_pre19971107-r2.ebuild | 59 ++++++++++++++++++++++++ 2 files changed, 131 insertions(+) diff --git a/sci-libs/jdqz/files/makefile.patch b/sci-libs/jdqz/files/makefile.patch new file mode 100644 index 0000000..626af34 --- /dev/null +++ b/sci-libs/jdqz/files/makefile.patch @@ -0,0 +1,72 @@ +diff -ur a/jdlib/Makefile b/jdlib/Makefile +--- a/jdlib/Makefile 1996-08-23 10:50:41.000000000 +0200 ++++ b/jdlib/Makefile 2020-04-28 20:06:19.373359811 +0200 +@@ -2,21 +2,18 @@ + # Coded by Diederik R. Fokkema + # + # $Id$ +-# ++# + # + + export SHELL=/bin/sh +-export FC = f77 +-export FFLAGS = -u -O + +-LIB = libjdqz.a ++LIB = libjdqz.so.0 ++SOURCES = $(wildcard *.f) ++OBJS = $(SOURCES:.f=.o) + +-OBJS = $(patsubst %.f,%.o,$(wildcard *.f)) ++.PHONY: all ++all: ${LIB} + +-$(LIB): $(LIB)($(OBJS)) +- ranlib $@ ++$(LIB): $(OBJS) ++ $(FC) -fPIC ${FCFLAGS} $(OBJS) -o $@ ${LDFLAGS} -shared -Wl,-soname,libjdqz.so.0 + +-$(LIB)(jdqz.o): jdqz.f +- $(FC) -u -O1 -c jdqz.f +- $(AR) rv $(LIB) jdqz.o +- -rm jdqz.o +diff -ur a/jdtest/Makefile b/jdtest/Makefile +--- a/jdtest/Makefile 1996-09-02 10:13:34.000000000 +0200 ++++ b/jdtest/Makefile 2020-04-28 20:12:09.021605638 +0200 +@@ -1,13 +1,10 @@ +-FC = f77 +-FFLAGS = -u -O +- + LIBPATH = -L../jdlib +-LIBS = -ljdqz -llapack -lblas ++LIBS = -ljdqz + SUBDIRS = ../jdlib + OBJ = example.o + + all: $(OBJ) +- $(FC) $(LDFLAGS) -o example $(OBJ) $(LIBPATH) $(LIBS) ++ $(FC) -fPIE $(FCFLAGS) $(LDFLAGS) -o example $(OBJ) $(LIBPATH) $(LIBS) + + clean: + -rm -f example +diff -ur a/Makefile b/Makefile +--- a/Makefile 1996-08-23 10:47:42.000000000 +0200 ++++ b/Makefile 2020-04-28 20:13:35.101159047 +0200 +@@ -1,14 +1,11 @@ +-FC = f77 +-FFLAGS = -u -O +- + LIBPATH = -L../jdlib +-LIBS = -ljdqr -llapack -lblas ++LIBS = -ljdqr + SUBDIRS = jdlib + TEST = jdtest + + all: libs jdqr + +-jdqr: ++jdqr: + @for i in $(TEST); do (cd $$i; $(MAKE)); done + + libs: diff --git a/sci-libs/jdqz/jdqz-0_pre19971107-r2.ebuild b/sci-libs/jdqz/jdqz-0_pre19971107-r2.ebuild new file mode 100644 index 0000000..ff20b56 --- /dev/null +++ b/sci-libs/jdqz/jdqz-0_pre19971107-r2.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +inherit flag-o-matic fortran-2 toolchain-funcs + +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" + +# virtual/lapack does not pull in [deprecated] so we have to deal with this mess like this until it does +DEPEND=" + virtual/blas + virtual/lapack + || ( sci-libs/openblas sci-libs/lapack[deprecated] ) +" +RDEPEND="${DEPEND}" +BDEPEND="doc? ( dev-texlive/texlive-latex )" + +PATCHES=( "${FILESDIR}/makefile.patch" ) + +S="${WORKDIR}/${PN}" + +src_prepare() { + libs="$($(tc-getPKG_CONFIG) --libs blas)" + libs+=" $($(tc-getPKG_CONFIG) --libs lapack)" + append-fflags "${libs}" + default +} + +src_compile() { + if use doc; then + pdflatex manual.tex || die + fi + + cd "jdlib" || die + emake + ln -s libjdqz.so.0 libjdqz.so || die +} + +src_test() { + cd "jdtest" || die + emake + cd ".." || die + 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 +}