summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs/cgcode')
-rw-r--r--sci-libs/cgcode/Manifest1
-rw-r--r--sci-libs/cgcode/cgcode-1.0-r2.ebuild38
-rw-r--r--sci-libs/cgcode/files/1.0-gentoo.patch83
-rw-r--r--sci-libs/cgcode/metadata.xml8
4 files changed, 130 insertions, 0 deletions
diff --git a/sci-libs/cgcode/Manifest b/sci-libs/cgcode/Manifest
new file mode 100644
index 000000000000..540d1b0b40f2
--- /dev/null
+++ b/sci-libs/cgcode/Manifest
@@ -0,0 +1 @@
+DIST cgcode-1.0.tar.gz 77941 SHA256 41dd5a8d388b234c26dbc514f61883530be3d0bd56abdbbde94b8724d266f594 SHA512 df76a2f8a0c00924af3d6933487a363fe23ded8281b392d40f240074c8643219f99dda9b6b6d515a281827d657a27ab06416ce152e65c5fead7549bb96be9621 WHIRLPOOL bcd4f00b4698c6b023a6458c5466f979ae726625b54014ee47a84864c5dc7ac783a8ffcb452e0990f1cfce3093f5c33c131b948a6436b04b0e314e0507d0b538
diff --git a/sci-libs/cgcode/cgcode-1.0-r2.ebuild b/sci-libs/cgcode/cgcode-1.0-r2.ebuild
new file mode 100644
index 000000000000..8a5fe1492688
--- /dev/null
+++ b/sci-libs/cgcode/cgcode-1.0-r2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils fortran-2 toolchain-funcs
+
+DESCRIPTION="Conjugate gradient Codes for large sparse linear systems"
+HOMEPAGE="http://fetk.org/codes/cgcode/index.html"
+SRC_URI="http://www.fetk.org/codes/download/${P}.tar.gz"
+
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+LICENSE="GPL-2"
+IUSE=""
+
+RDEPEND="virtual/blas"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}"/${PN}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PV}-gentoo.patch
+
+ cat >> make.inc <<- EOF
+ F77 = $(tc-getFC)
+ FFLAGS = ${FFLAGS}
+ BLASLIBS = $($(tc-getPKG_CONFIG) --libs blas)
+ EOF
+}
+
+src_install() {
+ dobin goos good
+ dolib.so src/lib${PN}.so*
+ dodoc INTRODUCTION NOTE README
+}
diff --git a/sci-libs/cgcode/files/1.0-gentoo.patch b/sci-libs/cgcode/files/1.0-gentoo.patch
new file mode 100644
index 000000000000..612ca9e06497
--- /dev/null
+++ b/sci-libs/cgcode/files/1.0-gentoo.patch
@@ -0,0 +1,83 @@
+diff --git a/makefile b/makefile
+index 4813b55..f20af02 100644
+--- a/makefile
++++ b/makefile
+@@ -1,21 +1,23 @@
+
+ include make.inc
+
+-THELIBS = libcgcode.a libblas_mini.a
++THELIBS = -lcgcode
+
+ default : goos good
+
+-libs :
+- cd src ; make ; cd ../util ; make
++libs : src/libcgcode.so
++
++src/libcgcode.so:
++ $(MAKE) -C src
+
+ goos : mains.o libs
+- $(F77) $(DEBUG) $(OFLAGS) $(LFLAGS) mains.o $(THELIBS) -o goos
++ $(F77) $(LDFLAGS) mains.o -L./src $(THELIBS) $(BLASLIBS) -o goos
+
+ good : maind.o libs
+- $(F77) $(DEBUG) $(OFLAGS) $(LFLAGS) maind.o $(THELIBS) -o good
++ $(F77) $(LDFLAGS) maind.o -L./src $(THELIBS) $(BLASLIBS) -o good
+
+-.f.o :
+- $(F77) $(CFLAGS) $(DEBUG) $(OFLAGS) $*$ .f
++%.o : %.f
++ $(F77) $(FFLAGS) -c $<
+
+ clean :
+ rm -f *.o goos good
+diff --git a/src/makefile b/src/makefile
+index 10cf6c3..1dfd02d 100644
+--- a/src/makefile
++++ b/src/makefile
+@@ -1,16 +1,17 @@
+
+ include ../make.inc
+
+-THISLIB = libcgcode.a
++THISLIB = libcgcode.so
+ SOBJLIB = scgdrv.o scg.o scr.o scrind.o spcg.o scgnr.o scgne.o spcgnr.o spcgne.o sppcg.o spcgca.o sdpchb.o scbfix.o sckchb.o scgchk.o sonest.o msstop.o r1mach.o sratqr.o
+ DOBJLIB = dcgdrv.o dcg.o dcr.o dcrind.o dpcg.o dcgnr.o dcgne.o dpcgnr.o dpcgne.o dppcg.o dpcgca.o ddpchb.o dcbfix.o dckchb.o dcgchk.o donest.o mdstop.o d1mach.o dratqr.o depsln.o
+
+ $(THISLIB) : $(SOBJLIB) $(DOBJLIB)
+- $(AR) $(THISLIB) $(SOBJLIB) $(DOBJLIB)
+- cp $(THISLIB) ../.
++ $(F77) $(FFLAGS) $(LDFLAGS) -shared -fPIC -Wl,--soname,$(THISLIB).1 -o $(THISLIB).1.0 $(SOBJLIB) $(DOBJLIB) $(BLASLIBS)
++ ln -sf $(THISLIB).1.0 $(THISLIB).1
++ ln -sf $(THISLIB).1.0 $(THISLIB)
+
+-.f.o :
+- $(F77) $(CFLAGS) $(DEBUG) $(OFLAGS) $*$ .f
++%.o : %.f
++ $(F77) $(FFLAGS) -fPIC -c $<
+
+ clean :
+ rm -f *.o $(THISLIB)
+diff --git a/util/makefile b/util/makefile
+index 6dad0d1..5c9d24f 100644
+--- a/util/makefile
++++ b/util/makefile
+@@ -6,11 +6,12 @@ SOBJLIB = saxpy.o scopy.o sdot.o snrm2.o sscal.o
+ DOBJLIB = daxpy.o dcopy.o ddot.o dnrm2.o dscal.o
+
+ $(THISLIB) : $(SOBJLIB) $(DOBJLIB)
+- $(AR) $(THISLIB) $(SOBJLIB) $(DOBJLIB)
+- cp $(THISLIB) ../.
++ $(F77) $(FFLAGS) $(LDFLAGS) -shared -Wl,--soname,$(THISLIB).1 -o $(THISLIB).1.0 $(SOBJLIB) $(DOBJLIB) $(BLASLIBS)
++ ln -sf $(THISLIB).1.0 $(THISLIB)
++ cp $(THISLIB)* ../.
+
+-.f.o :
+- $(F77) $(CFLAGS) $(DEBUG) $(OFLAGS) $*$ .f
++%.o : %.f
++ $(F77) $(FFLAGS) -c $<
+
+ clean :
+ rm -f *.o $(THISLIB)
diff --git a/sci-libs/cgcode/metadata.xml b/sci-libs/cgcode/metadata.xml
new file mode 100644
index 000000000000..5ef07a39e7e1
--- /dev/null
+++ b/sci-libs/cgcode/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>