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
+}

Reply via email to