diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /sci-libs/pastix |
reinit the tree, so we can have metadata
Diffstat (limited to 'sci-libs/pastix')
-rw-r--r-- | sci-libs/pastix/Manifest | 8 | ||||
-rw-r--r-- | sci-libs/pastix/files/pastix-5.2.2.22-isnan-floating-point-cast.patch | 47 | ||||
-rw-r--r-- | sci-libs/pastix/files/pastix-5.2.2.22-nosmp-undefined-variable.patch | 15 | ||||
-rw-r--r-- | sci-libs/pastix/metadata.xml | 23 | ||||
-rw-r--r-- | sci-libs/pastix/pastix-5.2.2.22-r1.ebuild | 127 | ||||
-rw-r--r-- | sci-libs/pastix/pastix-5.2.3.ebuild | 117 |
6 files changed, 337 insertions, 0 deletions
diff --git a/sci-libs/pastix/Manifest b/sci-libs/pastix/Manifest new file mode 100644 index 000000000000..0fecdba24993 --- /dev/null +++ b/sci-libs/pastix/Manifest @@ -0,0 +1,8 @@ +AUX pastix-5.2.2.22-isnan-floating-point-cast.patch 1901 SHA256 aa70627dc18a4898acd64dd2c992884baf22c9e22ab6d0248953a5ed87be4dab SHA512 23b3e4854afb459e0f68c4322bd85db6addc6ec043bb9c404a9a60667de6b01bb17c3d7795f8fd5dacaa0b5db6c45a6f1e1358590c77326610bc271903b920ee WHIRLPOOL 73e475e94bebd21e8aa569a490c1f2f795dc02e86eb10a4df2933ea4d3d800275964d6b65358fd35d1c2f2b422a0ee262f356e37fe3913402c512a6818afb2db +AUX pastix-5.2.2.22-nosmp-undefined-variable.patch 494 SHA256 c8dcfc01012239f781747772379d707253a5534cb210967655d6dd2e2f66163e SHA512 c12719176b352b396cc58d7a4474955df0cb01459edce1b2f220c6352d99bf608d39c3b4d6b54b0ae8b4643879ed79b7a5fbd03b746dba0bf4cc265d81d6d38e WHIRLPOOL 2b5e5223954e4564cdd0c1dfdebd37023cbd7443c95736b24e2c799e988b931548a945fa6fa52ea29508874a13e13ba5324a72152a7e763db4992670ea23083f +DIST pastix_5.2.2.22.tar.bz2 2664470 SHA256 30f771a666719e6b116f549a6e4da451beabab99c2ecabc0745247c3654acbed SHA512 15ecdb10b5229e40f744c1ad54be7cac6560cb92e90df1937c90ca7da290df6bdb6f24a1e1c54197731b9df3e0dcc0b9fa39750479fcf03a0c08c304c5b9df70 WHIRLPOOL 7031f822d3c2f89bd520175a124200303adc2dda56cbae4eb9e011b90d5119c5b96958d648c7e18d034e2845a32ad80385714bfb424260aa62c9f6484a18ce6b +DIST pastix_5.2.3.tar.bz2 2246903 SHA256 641978e6b0607e201a409549adc78d5618ec159f44cafc7bddeaca4f4bee1e47 SHA512 69acffac1be8c756886783c2a6307269ab4d14abfc4a77268b3d14995e53b16084c298446812484233d9d52c317490d6ad67788166adf367075e6c8442147b95 WHIRLPOOL e03c04dcf4b932d284d90a06d5c22fe608fc6953eee40190103ef3269938aa04df3b83f769efb02c5c67237482b98f88bfd4100880908db71a89ab3aafcff0ec +EBUILD pastix-5.2.2.22-r1.ebuild 3652 SHA256 c9d93dbd48be7d6a18796203dd287500d8878e0b983d1e248e70cb7f7ea9a8d1 SHA512 3a89871fdd9caf60528945cd43c129392f8a15b81afe00b92f502183cfac8da1a309dc4dfb44b3796dd3039764853a07dbfdfc87b5df6d511a4a377ecde3e887 WHIRLPOOL 8015a3af317ca051fa2c25f4247e42cb10b1f917137dcac9eb4f30027be51fcf73c086f8c3d2d88fc5373cb2556e205f9a2f0654a991e69c7d0bce93eb7f4472 +EBUILD pastix-5.2.3.ebuild 3335 SHA256 5af10e2e3572415c5fbf149dcc855cad1322707ceb8fddac72f462b37a92c7bb SHA512 982558fcf800fefc8bed61f41f3342355ed4795af3ff31c00eda8bca99c45a9651ff2794ca0caf1e23a9aa73a3e1629c7ce72fd5e31547295ea38c8288b9e18e WHIRLPOOL d7f74e588e20ff97885c5f4cb1b8851206de7da0ef699f15a64e9ec263b2804f152feb4beb6f19c685627a6f2b28fdb13ce28cdd5b9808f87cdc67f41f9f6d1b +MISC ChangeLog 1579 SHA256 37e48d9fef7d6726813676ad23e14b6870ab29087390332f304106034d0dc6b0 SHA512 069ee3e9ab1c26c427cea6ae0ab86f4cbf271c42383a7a7a5c07626df05553ff1cedbe285791c5bb33b31a3eead8aa213f90fc8f3cb0cbdc88cf8b8e5f5f89fa WHIRLPOOL 7490eb389df03b74999a74899e3a482d6d88baea820fa4bb1284ceaf31ee2a14ee6132b743d9fbff6cf447761b645f1179004abf1ee8082d875fbb422a706fa4 +MISC metadata.xml 1055 SHA256 23dd726d5b6258f0b0508a83923d303236aa76f718f54d016706da37a6ba164a SHA512 42f9f1f03c4a2df46918ef461d814ca3c0e80e0fa5420327a45d6ca7ec87dd3f14ad0e5a4384b49aebae971578a425b475fa0e1ed6b73370afb743222765bfde WHIRLPOOL 8e71b7d2b69284d60f3709926445b62e7dbc8835d7992323707eae31a3528618d941c3703889a5743cb6f6530c1378258bc4dd7c742243c00e4b861b520f7d3d diff --git a/sci-libs/pastix/files/pastix-5.2.2.22-isnan-floating-point-cast.patch b/sci-libs/pastix/files/pastix-5.2.2.22-isnan-floating-point-cast.patch new file mode 100644 index 000000000000..8aa7c06e5c93 --- /dev/null +++ b/sci-libs/pastix/files/pastix-5.2.2.22-isnan-floating-point-cast.patch @@ -0,0 +1,47 @@ +Add missing cast to floating-point type: +* sopalin/src/variable_csc.c: In function ‘vcsc_add_node’: +* sopalin/src/variable_csc.c:138:13: error: non-floating-point argument in call to function ‘__builtin_isnan’ +* if (isnan(vcsc->values[COL-1][i*dof2 + ii])) { +See also: +https://bugs.gentoo.org/show_bug.cgi?id=580422 + +--- src/common/src/errors.h ++++ src/common/src/errors.h +@@ -140,7 +140,7 @@ + * expr - The value to check. + */ + #define CHECK_NAN(expr) { \ +- ASSERT_DEBUG(!isnan(expr), DBG_SOPALIN_NAN); \ ++ ASSERT_DEBUG(!isnan(((double) expr)), DBG_SOPALIN_NAN); \ + ASSERT_DEBUG(!isinf(expr), DBG_SOPALIN_INF); \ + } + #else +--- src/sopalin/src/variable_csc.c ++++ src/sopalin/src/variable_csc.c +@@ -135,7 +135,7 @@ + #endif + + for (ii = 0; ii < dof2; ii++) { +- if (isnan(vcsc->values[COL-1][i*dof2 + ii])) { ++ if (isnan(((double) vcsc->values[COL-1][i*dof2 + ii]))) { + vcsc->values[COL-1][i*dof2 + ii] = VALUE[ii]; + } else { + vcsc->values[COL-1][i*dof2 + ii] = op(vcsc->values[COL-1][i*dof2 + ii], +@@ -252,7 +252,7 @@ + vcsc->rows[COL_NODE][i]); + } + #endif +- if (isnan(vcsc->values[COL_NODE][idx])) { ++ if (isnan(((double) vcsc->values[COL_NODE][idx]))) { + vcsc->values[COL_NODE][idx] = VALUE; + } else { + vcsc->values[COL_NODE][idx] = op(vcsc->values[COL_NODE][idx], +@@ -660,7 +660,7 @@ + } else { + INTS iterdof; + for (iterdof = 0; iterdof < dof2; iterdof++) { +- if (!isnan(vcsc->values[MYCOL-1][dof2*iter2+iterdof])) { ++ if (!isnan(((double) vcsc->values[MYCOL-1][dof2*iter2+iterdof]))) { + /* ignore NaN values from VCSC */ + (*values_o)[dof2*iter3+iterdof] = op( + (*values_o)[dof2*iter3+iterdof], diff --git a/sci-libs/pastix/files/pastix-5.2.2.22-nosmp-undefined-variable.patch b/sci-libs/pastix/files/pastix-5.2.2.22-nosmp-undefined-variable.patch new file mode 100644 index 000000000000..c01b02bb8f72 --- /dev/null +++ b/sci-libs/pastix/files/pastix-5.2.2.22-nosmp-undefined-variable.patch @@ -0,0 +1,15 @@ +--- ./sopalin/src/updo.c.orig 2016-02-23 01:42:00.000000000 +0000 ++++ ./sopalin/src/updo.c 2016-02-23 01:42:10.000000000 +0000 +@@ -940,8 +940,10 @@ + i = TASK_CBLKNUM(i); + # define END_LOOP(a) } SMP_END_LOOP(a) + # else /* SMP_SOPALIN */ +-# define START_LOOP for (i=0;i<SYMB_CBLKNBR;i++) +-# define END_LOOP ++# define START_LOOP \ ++ int bubnum = me; \ ++ for (i=0;i<SYMB_CBLKNBR;i++) ++# define END_LOOP(a) a + # endif + + /* Xi=(Dii)-1Xi; */ diff --git a/sci-libs/pastix/metadata.xml b/sci-libs/pastix/metadata.xml new file mode 100644 index 000000000000..387eff2e8edd --- /dev/null +++ b/sci-libs/pastix/metadata.xml @@ -0,0 +1,23 @@ +<?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"> + PaStiX (Parallel Sparse matriX package) is a scientific library that + provides a high performance parallel solver for very large sparse + linear systems based on direct methods. Numerical algorithms are + implemented in single or double precision (real or complex) using + LLt, LDLt and LU with static pivoting (for non symmetric matrices + having a symmetric pattern). This solver provides also an adaptive + blockwise iLU(k) factorization that can be used as a parallel + preconditioner using approximated supernodes to build a coarser + block structure of the incomplete factors. +</longdescription> + <use> + <flag name="int64">Build the 64 bits integer library</flag> + <flag name="starpu">Build and link with <pkg>dev-libs/starpu</pkg></flag> + </use> +</pkgmetadata> diff --git a/sci-libs/pastix/pastix-5.2.2.22-r1.ebuild b/sci-libs/pastix/pastix-5.2.2.22-r1.ebuild new file mode 100644 index 000000000000..42f5eecb2ad6 --- /dev/null +++ b/sci-libs/pastix/pastix-5.2.2.22-r1.ebuild @@ -0,0 +1,127 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit fortran-2 toolchain-funcs + +# TODO: +# testing: emake examples? +# better doc instalation and building +# pypastix (separate package?) +# multilib with eselect? +# static libs building without pic +# metis? + +# package id: change every version, see the link on inriaforge +PID=35070 +# commit id: change every version +#CID=351ef60 +# leave empty if this is not a post release bug fix +#PPV=bugfix9_ +#MYPN=pastix_release +#SRC_URI="https://gforge.inria.fr/frs/download.php/${PID}/${MYPN}_${PPV}${CID}.tar.bz2" + +DESCRIPTION="Parallel solver for very large sparse linear systems" +HOMEPAGE="http://pastix.gforge.inria.fr" +SRC_URI="https://gforge.inria.fr/frs/download.php/${PID}/${PN}_${PV}.tar.bz2" + +LICENSE="CeCILL-C" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" +IUSE="doc int64 mpi +smp starpu static-libs" + +RDEPEND=" + sci-libs/scotch:0=[int64?,mpi?] + sys-apps/hwloc:0= + virtual/blas + mpi? ( virtual/mpi ) + starpu? ( dev-libs/starpu:0= )" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}/${P}-nosmp-undefined-variable.patch" + "${FILESDIR}/${P}-isnan-floating-point-cast.patch" +) +S="${WORKDIR}/${PN}_${PV}/src" + +src_prepare() { + default + sed -e 's/^\(HOSTARCH\s*=\).*/\1 ${HOST}/' \ + -e "s:^\(CCPROG\s*=\).*:\1 $(tc-getCC):" \ + -e "s:^\(CFPROG\s*=\).*:\1 $(tc-getFC):" \ + -e "s:^\(CF90PROG\s*=\).*:\1 $(tc-getFC):" \ + -e "s:^\(ARPROG\s*=\).*:\1 $(tc-getAR):" \ + -e "s:^\(CCFOPT\s*=\).*:\1 ${FFLAGS}:" \ + -e "s:^\(CCFDEB\s*=\).*:\1 ${FFLAGS}:" \ + -e 's:^\(EXTRALIB\s*=\).*:\1 -lm -lrt:' \ + -e "s:^#\s*\(ROOT\s*=\).*:\1 \$(DESTDIR)${EPREFIX%/}/usr:" \ + -e 's:^#\s*\(INCLUDEDIR\s*=\).*:\1 $(ROOT)/include:' \ + -e 's:^#\s*\(BINDIR\s*=\).*:\1 $(ROOT)/bin:' \ + -e "s:^#\s*\(LIBDIR\s*=\).*:\1 \$(ROOT)/$(get_libdir):" \ + -e 's:^#\s*\(SHARED\s*=\).*:\1 1:' \ + -e 's:^#\s*\(SOEXT\s*=\).*:\1 .so:' \ + -e '/fPIC/s/^#//g' \ + -e "s:^#\s*\(SHARED_FLAGS\s*=.*\):\1 ${LDFLAGS}:" \ + -e "s:pkg-config:$(tc-getPKG_CONFIG):g" \ + -e "s:^\(BLASLIB\s*=\).*:\1 $($(tc-getPKG_CONFIG) --libs blas):" \ + -e "s:^\s*\(HWLOC_HOME\s*?=\).*:\1 ${EPREFIX}/usr:" \ + -e "s:-I\$(HWLOC_INC):$($(tc-getPKG_CONFIG) --cflags hwloc):" \ + -e "s:-L\$(HWLOC_LIB) -lhwloc:$($(tc-getPKG_CONFIG) --libs hwloc):" \ + -e "s:^\s*\(SCOTCH_HOME\s*?=\).*:\1 ${EPREFIX}/usr:" \ + -e "s:^\s*\(SCOTCH_INC\s*?=.*\):\1/scotch:" \ + -e "s:^\s*\(SCOTCH_LIB\s*?=.*\)lib:\1$(get_libdir):" \ + config/LINUX-GNU.in > config.in || die + sed -e 's/__SO_NAME__,$@/__SO_NAME__,$(notdir $@)/g' -i Makefile || die +} + +src_configure() { + if use amd64; then + sed -e 's/^\(VERSIONBIT\s*=\).*/\1 _64bit/' \ + -i config.in || die + fi + + if use int64; then + sed -e '/VERSIONINT.*_int64/s/#//' \ + -e '/CCTYPES.*INTSSIZE64/s/#//' \ + -i config.in || die + fi + + if ! use mpi; then + sed -e '/VERSIONMPI.*_nompi/s/#//' \ + -e '/CCTYPES.*NOMPI/s/#//' \ + -e '/MPCCPROG\s*= $(CCPROG)/s/#//' \ + -e '/MCFPROG\s*= $(CFPROG)/s/#//' \ + -e 's/-DDISTRIBUTED//' \ + -e 's/-lptscotch/-lscotch/g' \ + -i config.in || die + fi + + if ! use smp; then + sed -e '/VERSIONSMP.*_nosmp/s/#//' \ + -e '/CCTYPES.*NOSMP/s/#//' \ + -i config.in || die + fi + + if use starpu; then + sed -e '/libstarpu/s/#//g' -i config.in || die + fi +} + +src_compile() { + emake all drivers +} + +src_test() { + # both test and tests targets are defined and do not work + echo +} + +src_install() { + default + sed -e "s:${D}::g" -i "${ED}"/usr/bin/pastix-conf || die + # quick and dirty (static libs should really be built without pic) + cd .. || die + dodoc README.txt doc/refcard/refcard.pdf +} diff --git a/sci-libs/pastix/pastix-5.2.3.ebuild b/sci-libs/pastix/pastix-5.2.3.ebuild new file mode 100644 index 000000000000..c307ed61b06c --- /dev/null +++ b/sci-libs/pastix/pastix-5.2.3.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit fortran-2 toolchain-funcs + +# TODO: +# testing: emake examples? +# better doc instalation and building +# pypastix (separate package?) +# multilib with eselect? +# static libs building without pic +# metis? + +# package id: change every version, see the link on inriaforge +PID=218 +DESCRIPTION="Parallel solver for very large sparse linear systems" +HOMEPAGE="http://pastix.gforge.inria.fr" +SRC_URI="https://gforge.inria.fr/frs/download.php/latestfile/${PID}/${PN}_${PV}.tar.bz2" + +LICENSE="CeCILL-C" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" +IUSE="doc int64 mpi +smp starpu static-libs" + +RDEPEND=" + sci-libs/scotch:0=[int64?,mpi?] + sys-apps/hwloc:0= + virtual/blas + mpi? ( virtual/mpi ) + starpu? ( dev-libs/starpu:0= )" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +S="${WORKDIR}/${PN}_${PV}/src" + +src_prepare() { + default + sed -e 's/^\(HOSTARCH\s*=\).*/\1 ${HOST}/' \ + -e "s:^\(CCPROG\s*=\).*:\1 $(tc-getCC):" \ + -e "s:^\(CFPROG\s*=\).*:\1 $(tc-getFC):" \ + -e "s:^\(CF90PROG\s*=\).*:\1 $(tc-getFC):" \ + -e "s:^\(ARPROG\s*=\).*:\1 $(tc-getAR):" \ + -e "s:^\(CCFOPT\s*=\).*:\1 ${FFLAGS}:" \ + -e "s:^\(CCFDEB\s*=\).*:\1 ${FFLAGS}:" \ + -e 's:^\(EXTRALIB\s*=\).*:\1 -lm -lrt:' \ + -e "s:^#\s*\(ROOT\s*=\).*:\1 \$(DESTDIR)${EPREFIX%/}/usr:" \ + -e 's:^#\s*\(INCLUDEDIR\s*=\).*:\1 $(ROOT)/include:' \ + -e 's:^#\s*\(BINDIR\s*=\).*:\1 $(ROOT)/bin:' \ + -e "s:^#\s*\(LIBDIR\s*=\).*:\1 \$(ROOT)/$(get_libdir):" \ + -e 's:^#\s*\(SHARED\s*=\).*:\1 1:' \ + -e 's:^#\s*\(SOEXT\s*=\).*:\1 .so:' \ + -e '/fPIC/s/^#//g' \ + -e "s:^#\s*\(SHARED_FLAGS\s*=.*\):\1 ${LDFLAGS}:" \ + -e "s:pkg-config:$(tc-getPKG_CONFIG):g" \ + -e "s:^\(BLASLIB\s*=\).*:\1 $($(tc-getPKG_CONFIG) --libs blas):" \ + -e "s:^\s*\(HWLOC_HOME\s*?=\).*:\1 ${EPREFIX}/usr:" \ + -e "s:-I\$(HWLOC_INC):$($(tc-getPKG_CONFIG) --cflags hwloc):" \ + -e "s:-L\$(HWLOC_LIB) -lhwloc:$($(tc-getPKG_CONFIG) --libs hwloc):" \ + -e "s:^\s*\(SCOTCH_HOME\s*?=\).*:\1 ${EPREFIX}/usr:" \ + -e "s:^\s*\(SCOTCH_INC\s*?=.*\):\1/scotch:" \ + -e "s:^\s*\(SCOTCH_LIB\s*?=.*\)lib:\1$(get_libdir):" \ + config/LINUX-GNU.in > config.in || die + sed -e 's/__SO_NAME__,$@/__SO_NAME__,$(notdir $@)/g' -i Makefile || die +} + +src_configure() { + if use amd64; then + sed -e 's/^\(VERSIONBIT\s*=\).*/\1 _64bit/' \ + -i config.in || die + fi + + if use int64; then + sed -e '/VERSIONINT.*_int64/s/#//' \ + -e '/CCTYPES.*INTSSIZE64/s/#//' \ + -i config.in || die + fi + + if ! use mpi; then + sed -e '/VERSIONMPI.*_nompi/s/#//' \ + -e '/CCTYPES.*NOMPI/s/#//' \ + -e '/MPCCPROG\s*= $(CCPROG)/s/#//' \ + -e '/MCFPROG\s*= $(CFPROG)/s/#//' \ + -e 's/-DDISTRIBUTED//' \ + -e 's/-lptscotch/-lscotch/g' \ + -i config.in || die + fi + + if ! use smp; then + sed -e '/VERSIONSMP.*_nosmp/s/#//' \ + -e '/CCTYPES.*NOSMP/s/#//' \ + -i config.in || die + fi + + if use starpu; then + sed -e '/libstarpu/s/#//g' -i config.in || die + fi +} + +src_compile() { + emake all drivers +} + +src_test() { + # both test and tests targets are defined and do not work + emake examples + echo +} + +src_install() { + default + sed -e "s:${D}::g" -i "${ED}"/usr/bin/pastix-conf || die + # quick and dirty (static libs should really be built without pic) + cd .. || die + dodoc README.txt doc/refcard/refcard.pdf +} |