sci-libs/jmol-acme
sci-libs/libcore
sci-libs/naga
-sci-libs/spooles
# Tomáš Mózes <hydrapolic@gentoo.org> (2019-12-19)
# Needs more testing.
+++ /dev/null
-DIST spooles.2.2.tgz 4510271 BLAKE2B 86adc0764709f772526909942bcbe034209838c7284e7c1245293e4acb84e9a02511428f0659607de3b39ffecdc02c6b60e4015a8c8905da34b2b15688edab34 SHA512 440146b4abf81d8e66a7c57e839b06b11c7753e16d40ae67f80255d6d5dc9fb43b4fd549326c405a8f3009223fcb0f6997090b3649029c323c732b0759944d19
+++ /dev/null
-.POSIX:
-THREAD_LIBS = -lpthread
-CC = @CC@
-AR = @AR@
-RANLIB = @RANLIB@
-ARFLAGS = rv
-.c.a :
- $(CC) $(CFLAGS) -c $<
- $(AR) $(ARFLAGS) $@ $*.o
+++ /dev/null
---- spooles-2.2/I2Ohash/src/util.c~ 1998-05-30 18:45:12.000000000 -0400
-+++ spooles-2.2/I2Ohash/src/util.c 2008-06-28 20:56:49.000000000 -0400
-@@ -39,9 +39,10 @@
- */
- loc1 = (key1 + 1) % hashtable->nlist ;
- loc2 = (key2 + 1) % hashtable->nlist ;
--loc = (loc1*loc2) % hashtable->nlist ;
-+long int loc3 = (long int)loc1*(long int)loc2 % hashtable->nlist ;
-+loc =(int) loc3;
- #if MYDEBUG > 0
--fprintf(stdout, "\n loc1 = %d, loc2 = %d, loc3 = %d", loc1, loc2, loc) ;
-+fprintf(stdout, "\n loc1 = %d, loc2 = %d, loc3 = %ld, loc = %d", loc1, loc2, loc3, loc) ;
- fflush(stdout) ;
- #endif
- /*
-@@ -158,9 +159,10 @@
- #endif
- loc1 = (key1 + 1) % hashtable->nlist ;
- loc2 = (key2 + 1) % hashtable->nlist ;
--loc = (loc1*loc2) % hashtable->nlist ;
-+long int loc3 = (long int)loc1*(long int)loc2 % hashtable->nlist ;
-+loc =(int) loc3;
- #if MYDEBUG > 0
--fprintf(stdout, "\n loc1 = %d, loc2 = %d, loc3 = %d", loc1, loc2, loc) ;
-+fprintf(stdout, "\n loc1 = %d, loc2 = %d, loc3 = %ld, loc = %d", loc1, loc2, loc3, loc) ;
- fflush(stdout) ;
- #endif
- /*
+++ /dev/null
---- SolveMap/src/setup.c.orig 2011-03-05 18:08:51.000000000 +0000
-+++ SolveMap/src/setup.c 2011-03-05 18:16:50.000000000 +0000
-@@ -28,12 +28,12 @@
- ---------------
- */
- if ( solvemap == NULL ) {
-- fprintf(stderr, "\n fatal error in SolveMap_forwardSetup(%p,%d)"
-+ fprintf(stderr, "\n fatal error in SolveMap_forwardSetup"
- "\n solvemap is NULL\n") ;
- exit(-1) ;
- }
- if ( myid < 0 || myid >= solvemap->nproc ) {
-- fprintf(stderr, "\n fatal error in SolveMap_forwardSetup(%p,%d)"
-+ fprintf(stderr, "\n fatal error in SolveMap_forwardSetup"
- "\n myid %d, solvemap->nproc %d\n", myid, solvemap->nproc) ;
- exit(-1) ;
- }
+++ /dev/null
---- MPI/makefile~ 1998-12-17 15:47:44.000000000 +0000
-+++ MPI/makefile 2008-02-26 00:10:57.000000000 +0000
-@@ -2,7 +2,7 @@
- cd drivers ; make drivers
-
- lib :
-- cd src ; make spoolesMPI.a
-+ cd src ; make makeLib
-
- clean :
- cd src ; make clean
---- MPI/src/makefile~ 1998-12-16 21:54:41.000000000 +0000
-+++ MPI/src/makefile 2008-02-26 00:08:16.000000000 +0000
-@@ -42,3 +42,8 @@
-
- clean :
- - rm -f *.a *.o
-+
-+makeLib :
-+ perl ../../makeLib > makeG
-+ make -f makeG
-+ rm -f makeG
---- MT/makefile~ 1998-12-17 15:47:48.000000000 +0000
-+++ MT/makefile 2008-02-26 00:12:43.000000000 +0000
-@@ -2,7 +2,7 @@
- cd drivers ; make drivers
-
- lib :
-- cd src ; make spoolesMT.a
-+ cd src ; make makeLib
-
- clean :
- cd src ; make clean
---- makeLib~ 2011-03-05 16:44:12.000000000 +0000
-+++ makeLib 2011-03-05 17:46:58.000000000 +0000
-@@ -70,8 +70,8 @@
- .c.o :
- $(PURIFY) $(CC) -c $(CFLAGS) $*.c -o $(OBJ)_$*.o
-
--../../spooles.a : ${OBJ_FILES}
-- $(AR) $(ARFLAGS) ../../spooles.a $(OBJ)_*.o
-+../../libspooles.a : ${OBJ_FILES}
-+ $(AR) $(ARFLAGS) ../../libspooles.a $(OBJ)_*.o
- rm -f $(OBJ)_*.o
-- $(RANLIB) ../../spooles.a
-+ $(RANLIB) ../../libspooles.a
- EOF
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <longdescription lang="en">
- SPOOLES is a library for solving sparse real and complex linear
- systems of equations, written in the C language using object
- oriented design. At present, there is the following functionality:
- 1. Compute multiple minimum degree, generalized nested dissection
- and multisection orderings of matrices with symmetric structure.
- 2. Factor and solve square linear systems of equations with
- symmetric structure, with or without pivoting for stability.
- 3. Factor and solve overdetermined full rank systems of equations
- using a multifrontal QR factorization.
- 4. Solve square linear systems using a variety of Krylov iterative
- methods. The preconditioner is a drop tolerance factorization,
- with or without pivoting for stability.
- </longdescription>
-</pkgmetadata>
+++ /dev/null
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-inherit eutils toolchain-funcs versionator flag-o-matic
-
-MYP=${PN}.${PV}
-
-DESCRIPTION="SParse Object Oriented Linear Equations Solver"
-HOMEPAGE="http://www.netlib.org/linalg/spooles"
-SRC_URI="http://www.netlib.org/linalg/${PN}/${MYP}.tgz"
-
-LICENSE="public-domain"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="mpi static-libs threads"
-
-RDEPEND="mpi? ( virtual/mpi )"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}"
-
-make_shared_lib() {
- local soname=$(basename "${1%.a}").so.$(get_major_version)
- einfo "Making ${soname}"
- ${2:-$(tc-getCC)} ${LDFLAGS} \
- -shared -Wl,-soname="${soname}" \
- -Wl,--whole-archive "${1}" -Wl,--no-whole-archive \
- -o $(dirname "${1}")/"${soname}" || return 1
-}
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-I2Ohash-64bit.patch
- epatch "${FILESDIR}"/${P}-makefiles.patch
- epatch "${FILESDIR}"/${P}-formats.patch
- find . -name makefile -exec \
- sed -i -e 's:make:$(MAKE):g' '{}' \;
- sed -e "s/@CC@/$(tc-getCC)/" \
- -e "s/@AR@/$(tc-getAR)/" \
- -e "s/@RANLIB@/$(tc-getRANLIB)/" \
- "${FILESDIR}"/Make.inc.in > Make.inc || die
-}
-
-src_compile () {
- append-flags -fPIC
- emake lib
- use threads && emake -C MT lib
- use mpi && emake -C MPI CC=mpicc lib
- make_shared_lib libspooles.a $(use mpi && echo mpicc) || die "shared lib failed"
- if use static-libs; then
- filter-flags -fPIC
- emake clean
- emake lib
- use threads && emake -C MT lib
- use mpi && emake -C MPI CC=mpicc lib
- fi
-}
-
-src_install () {
- dolib.so libspooles.so.2
- dosym libspooles.so.2 /usr/$(get_libdir)/libspooles.so
- use static-libs && dolib.a libspooles.a
- find . -name '*.h' -print0 | \
- xargs -0 -n1 --replace=headerfile install -D headerfile tmp/headerfile
- insinto /usr/include/${PN}
- doins -r tmp/*
-}