aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlessandro Barbieri <lssndrbarbieri@gmail.com>2020-04-28 20:28:56 +0200
committerAlessandro Barbieri <lssndrbarbieri@gmail.com>2020-04-28 21:56:45 +0200
commit649af021240c18aa1331e996f87023b65f9bf712 (patch)
treefd4f2a0ba35abf81c4f4ad5959fbacfccd15aeec
parentdev-python/uvicorn: minor version bump 0.11.4 (diff)
downloadguru-649af021.tar.gz
guru-649af021.tar.bz2
guru-649af021.zip
sci-libs/jdqz: patched makefiles
Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
-rw-r--r--sci-libs/jdqz/files/makefile.patch72
-rw-r--r--sci-libs/jdqz/jdqz-0_pre19971107-r2.ebuild59
2 files changed, 131 insertions, 0 deletions
diff --git a/sci-libs/jdqz/files/makefile.patch b/sci-libs/jdqz/files/makefile.patch
new file mode 100644
index 000000000..626af346d
--- /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 000000000..ff20b56eb
--- /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
+}