Gentoo Archives: gentoo-commits

From: Sebastien Fabbro <bicatali@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-libs/pastix/files/, sci-libs/pastix/
Date: Tue, 23 Feb 2016 16:48:21
Message-Id: 1456249473.f2fb1a2fcf3dba3c60979819a04caa4b91a3eeab.bicatali@gentoo
1 commit: f2fb1a2fcf3dba3c60979819a04caa4b91a3eeab
2 Author: Sébastien Fabbro <bicatali <AT> gentoo <DOT> org>
3 AuthorDate: Tue Feb 23 17:44:05 2016 +0000
4 Commit: Sebastien Fabbro <bicatali <AT> gentoo <DOT> org>
5 CommitDate: Tue Feb 23 17:44:33 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f2fb1a2f
7
8 sci-libs/pastix: re-add smp flag with patch and set it as default
9
10 Package-Manager: portage-2.2.27
11
12 .../pastix-5.2.2.22-nosmp-undefined-variable.patch | 15 ++++++
13 ...x-5.2.2.22.ebuild => pastix-5.2.2.22-r1.ebuild} | 56 ++++++++++++----------
14 2 files changed, 45 insertions(+), 26 deletions(-)
15
16 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
17 new file mode 100644
18 index 0000000..c01b02b
19 --- /dev/null
20 +++ b/sci-libs/pastix/files/pastix-5.2.2.22-nosmp-undefined-variable.patch
21 @@ -0,0 +1,15 @@
22 +--- ./sopalin/src/updo.c.orig 2016-02-23 01:42:00.000000000 +0000
23 ++++ ./sopalin/src/updo.c 2016-02-23 01:42:10.000000000 +0000
24 +@@ -940,8 +940,10 @@
25 + i = TASK_CBLKNUM(i);
26 + # define END_LOOP(a) } SMP_END_LOOP(a)
27 + # else /* SMP_SOPALIN */
28 +-# define START_LOOP for (i=0;i<SYMB_CBLKNBR;i++)
29 +-# define END_LOOP
30 ++# define START_LOOP \
31 ++ int bubnum = me; \
32 ++ for (i=0;i<SYMB_CBLKNBR;i++)
33 ++# define END_LOOP(a) a
34 + # endif
35 +
36 + /* Xi=(Dii)-1Xi; */
37
38 diff --git a/sci-libs/pastix/pastix-5.2.2.22.ebuild b/sci-libs/pastix/pastix-5.2.2.22-r1.ebuild
39 similarity index 76%
40 rename from sci-libs/pastix/pastix-5.2.2.22.ebuild
41 rename to sci-libs/pastix/pastix-5.2.2.22-r1.ebuild
42 index 19e3f24..de59c9a 100644
43 --- a/sci-libs/pastix/pastix-5.2.2.22.ebuild
44 +++ b/sci-libs/pastix/pastix-5.2.2.22-r1.ebuild
45 @@ -4,7 +4,7 @@
46
47 EAPI=6
48
49 -inherit eutils fortran-2 toolchain-funcs multilib
50 +inherit fortran-2 toolchain-funcs
51
52 # TODO:
53 # testing: emake examples?
54 @@ -14,13 +14,14 @@ inherit eutils fortran-2 toolchain-funcs multilib
55 # static libs building without pic
56 # metis?
57
58 -# commit id: change every version
59 -CID=
60 # package id: change every version, see the link on inriaforge
61 PID=35070
62 +# commit id: change every version
63 +#CID=351ef60
64 # leave empty if this is not a post release bug fix
65 -PPV=bugfix10_
66 -MYPN=pastix_release
67 +#PPV=bugfix9_
68 +#MYPN=pastix_release
69 +#SRC_URI="https://gforge.inria.fr/frs/download.php/${PID}/${MYPN}_${PPV}${CID}.tar.bz2"
70
71 DESCRIPTION="Parallel solver for very large sparse linear systems"
72 HOMEPAGE="http://pastix.gforge.inria.fr"
73 @@ -29,8 +30,7 @@ SRC_URI="https://gforge.inria.fr/frs/download.php/${PID}/${PN}_${PV}.tar.bz2"
74 LICENSE="CeCILL-C"
75 SLOT="0"
76 KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
77 -#IUSE="doc int64 mpi smp starpu static-libs"
78 -IUSE="doc int64 mpi starpu static-libs"
79 +IUSE="doc int64 mpi +smp starpu static-libs"
80
81 RDEPEND="
82 sci-libs/scotch:0=[int64?,mpi?]
83 @@ -44,6 +44,8 @@ DEPEND="${RDEPEND}
84 S="${WORKDIR}/${PN}_${PV}/src"
85
86 src_prepare() {
87 + default
88 + epatch "${FILESDIR}"/${P}-nosmp-undefined-variable.patch
89 sed -e 's/^\(HOSTARCH\s*=\).*/\1 ${HOST}/' \
90 -e "s:^\(CCPROG\s*=\).*:\1 $(tc-getCC):" \
91 -e "s:^\(CFPROG\s*=\).*:\1 $(tc-getFC):" \
92 @@ -72,42 +74,39 @@ src_prepare() {
93 -e "s:^\s*\(SCOTCH_INC\s*?=.*\):\1/scotch:" \
94 -e "s:^\s*\(SCOTCH_LIB\s*?=.*\)lib:\1$(get_libdir):" \
95 config/LINUX-GNU.in > config.in || die
96 - sed -i -e 's/__SO_NAME__,$@/__SO_NAME__,$(notdir $@)/g' Makefile || die
97 - default
98 + sed -e 's/__SO_NAME__,$@/__SO_NAME__,$(notdir $@)/g' -i Makefile || die
99 }
100
101 src_configure() {
102 if use amd64; then
103 - sed -i \
104 - -e 's/^\(VERSIONBIT\s*=\).*/\1 _64bit/' config.in || die
105 + sed -e 's/^\(VERSIONBIT\s*=\).*/\1 _64bit/' \
106 + -i config.in || die
107 fi
108
109 if use int64; then
110 - sed -i \
111 - -e '/VERSIONINT.*_int64/s/#//' \
112 - -e '/CCTYPES.*INTSSIZE64/s/#//' config.in || die
113 + sed -e '/VERSIONINT.*_int64/s/#//' \
114 + -e '/CCTYPES.*INTSSIZE64/s/#//' \
115 + -i config.in || die
116 fi
117
118 if ! use mpi; then
119 - sed -i \
120 - -e '/VERSIONMPI.*_nompi/s/#//' \
121 + sed -e '/VERSIONMPI.*_nompi/s/#//' \
122 -e '/CCTYPES.*NOMPI/s/#//' \
123 -e '/MPCCPROG\s*= $(CCPROG)/s/#//' \
124 -e '/MCFPROG\s*= $(CFPROG)/s/#//' \
125 -e 's/-DDISTRIBUTED//' \
126 -e 's/-lptscotch/-lscotch/g' \
127 - config.in || die
128 + -i config.in || die
129 fi
130
131 -# if ! use smp; then
132 -# sed \
133 -# -e '/VERSIONSMP.*_nosmp/s/#//' \
134 -# -e '/CCTYPES.*NOSMP/s/#//' \
135 -# -i config.in || die
136 -# fi
137 + if ! use smp; then
138 + sed -e '/VERSIONSMP.*_nosmp/s/#//' \
139 + -e '/CCTYPES.*NOSMP/s/#//' \
140 + -i config.in || die
141 + fi
142
143 if use starpu; then
144 - sed -i -e '/libstarpu/s/#//g' config.in || die
145 + sed -e '/libstarpu/s/#//g' -i config.in || die
146 fi
147 }
148
149 @@ -115,10 +114,15 @@ src_compile() {
150 emake all drivers
151 }
152
153 +src_test() {
154 + # both test and tests targets are defined and do not work
155 + echo
156 +}
157 +
158 src_install() {
159 default
160 - sed -i -e "s:${D}::g" "${ED}"/usr/bin/pastix-conf || die
161 + sed -e "s:${D}::g" -i "${ED}"/usr/bin/pastix-conf || die
162 # quick and dirty (static libs should really be built without pic)
163 - cd .. || die
164 + cd .. || die
165 dodoc README.txt doc/refcard/refcard.pdf
166 }