1 |
commit: f65def21208a1ffd2ab8ddd1781d139e33dd9b4c |
2 |
Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> |
3 |
AuthorDate: Sat Oct 30 19:00:11 2021 +0000 |
4 |
Commit: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> |
5 |
CommitDate: Sat Oct 30 19:37:44 2021 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=f65def21 |
7 |
|
8 |
sys-cluster/scr: add 3.0_pre2, drop 3.0_pre1 |
9 |
|
10 |
Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com> |
11 |
|
12 |
sys-cluster/scr/Manifest | 2 +- |
13 |
sys-cluster/scr/files/scr-3.0_pre2-no-static.patch | 76 ++++++++++++++++++++++ |
14 |
.../files/scr-3.0_pre2-shared-libscr_base.patch | 70 ++++++++++++++++++++ |
15 |
sys-cluster/scr/metadata.xml | 1 - |
16 |
.../{scr-3.0_pre1.ebuild => scr-3.0_pre2.ebuild} | 26 ++++---- |
17 |
5 files changed, 159 insertions(+), 16 deletions(-) |
18 |
|
19 |
diff --git a/sys-cluster/scr/Manifest b/sys-cluster/scr/Manifest |
20 |
index a69a9230c..0ab6de12b 100644 |
21 |
--- a/sys-cluster/scr/Manifest |
22 |
+++ b/sys-cluster/scr/Manifest |
23 |
@@ -1 +1 @@ |
24 |
-DIST scr-3.0_pre1.tar.gz 1629041 BLAKE2B c7922e208964b8456c65393c0f9b17530b3eb66ceab38bc682b1fb78b29f77f2d3a6c51c9c8380720c88606a8da3b34f9a088ed80198f3c4f2bfe6906faac6ef SHA512 3bf290a41cb8abbd7e08ab02580f1e4dd73758946fe0ba7bd861a5099f8396e382dc8b80a0a33b0d45ee929efa069bd7a6381e9ca6f11d9049e113ac9aec6793 |
25 |
+DIST scr-3.0_pre2.tar.gz 1231943 BLAKE2B a4d8e779edc4b48a5b13a0cff851496068076a8ae901f3c3d3ad2344708a0abc6b69ce71bd7313286a91844a87930e6fa5c097d1c5b15ebbc12247ba293f843f SHA512 7b90b14cfbb6fa3020b6c3c3a7f5568963374d9fe7ad0b6962632f776c3699d6c38fa04800736d423350190542896ca9240033dca1e820f7f698c336518c891a |
26 |
|
27 |
diff --git a/sys-cluster/scr/files/scr-3.0_pre2-no-static.patch b/sys-cluster/scr/files/scr-3.0_pre2-no-static.patch |
28 |
new file mode 100644 |
29 |
index 000000000..2d63ebae8 |
30 |
--- /dev/null |
31 |
+++ b/sys-cluster/scr/files/scr-3.0_pre2-no-static.patch |
32 |
@@ -0,0 +1,76 @@ |
33 |
+--- a/src/CMakeLists.txt |
34 |
++++ b/src/CMakeLists.txt |
35 |
+@@ -83,16 +83,6 @@ |
36 |
+ INSTALL(TARGETS scr DESTINATION ${CMAKE_INSTALL_LIBDIR}) |
37 |
+ ENDIF() |
38 |
+ |
39 |
+-ADD_LIBRARY(scr-static STATIC $<TARGET_OBJECTS:scr_o>) |
40 |
+-IF(SCR_LINK_STATIC) |
41 |
+- SET_TARGET_PROPERTIES(scr-static PROPERTIES LINK_SEARCH_START_STATIC 1) |
42 |
+- SET_TARGET_PROPERTIES(scr-static PROPERTIES LINK_SEARCH_END_STATIC 1) |
43 |
+-ENDIF(SCR_LINK_STATIC) |
44 |
+-TARGET_LINK_LIBRARIES(scr-static ${SCR_EXTERNAL_LIBS}) |
45 |
+- |
46 |
+-SET_TARGET_PROPERTIES(scr-static PROPERTIES OUTPUT_NAME scr CLEAN_DIRECT_OUTPUT 1) |
47 |
+-INSTALL(TARGETS scr-static DESTINATION ${CMAKE_INSTALL_LIBDIR}) |
48 |
+- |
49 |
+ # Non-MPI library for CLI |
50 |
+ ADD_LIBRARY(cliscr_noMPI_o OBJECT ${cliscr_noMPI_srcs}) |
51 |
+ |
52 |
+@@ -103,16 +93,6 @@ |
53 |
+ INSTALL(TARGETS scr_base DESTINATION ${CMAKE_INSTALL_LIBDIR}) |
54 |
+ ENDIF(BUILD_SHARED_LIBS) |
55 |
+ |
56 |
+-ADD_LIBRARY(scr_base-static STATIC $<TARGET_OBJECTS:cliscr_noMPI_o>) |
57 |
+-IF(SCR_LINK_STATIC) |
58 |
+- SET_TARGET_PROPERTIES(scr_base-static PROPERTIES LINK_SEARCH_START_STATIC 1) |
59 |
+- SET_TARGET_PROPERTIES(scr_base-static PROPERTIES LINK_SEARCH_END_STATIC 1) |
60 |
+-ENDIF(SCR_LINK_STATIC) |
61 |
+-TARGET_LINK_LIBRARIES(scr_base-static ${SCR_EXTERNAL_SERIAL_LIBS}) |
62 |
+- |
63 |
+-SET_TARGET_PROPERTIES(scr_base-static PROPERTIES OUTPUT_NAME scr_base CLEAN_DIRECT_OUTPUT 1) |
64 |
+-INSTALL(TARGETS scr_base-static DESTINATION ${CMAKE_INSTALL_LIBDIR}) |
65 |
+- |
66 |
+ # Fortran |
67 |
+ IF(ENABLE_FORTRAN) |
68 |
+ IF(BUILD_SHARED_LIBS) |
69 |
+@@ -121,17 +101,6 @@ |
70 |
+ SET_TARGET_PROPERTIES(scrf PROPERTIES OUTPUT_NAME scrf CLEAN_DIRECT_OUTPUT 1) |
71 |
+ INSTALL(TARGETS scrf DESTINATION ${CMAKE_INSTALL_LIBDIR}) |
72 |
+ ENDIF() |
73 |
+- |
74 |
+- ADD_LIBRARY(scrf-static STATIC scrf.c $<TARGET_OBJECTS:scr_o>) |
75 |
+- IF(SCR_LINK_STATIC) |
76 |
+- SET_TARGET_PROPERTIES(scrf-static PROPERTIES LINK_SEARCH_START_STATIC 1) |
77 |
+- SET_TARGET_PROPERTIES(scrf-static PROPERTIES LINK_SEARCH_END_STATIC 1) |
78 |
+- TARGET_LINK_LIBRARIES(scrf-static ${SCR_EXTERNAL_LIBS}) |
79 |
+- ENDIF(SCR_LINK_STATIC) |
80 |
+- TARGET_LINK_LIBRARIES(scrf-static ${SCR_EXTERNAL_LIBS}) |
81 |
+- |
82 |
+- SET_TARGET_PROPERTIES(scrf-static PROPERTIES OUTPUT_NAME scrf CLEAN_DIRECT_OUTPUT 1) |
83 |
+- INSTALL(TARGETS scrf-static DESTINATION ${CMAKE_INSTALL_LIBDIR}) |
84 |
+ ENDIF(ENABLE_FORTRAN) |
85 |
+ |
86 |
+ ########### |
87 |
+@@ -164,21 +133,13 @@ |
88 |
+ # Build and install C binaries |
89 |
+ FOREACH(bin IN ITEMS ${cliscr_c_bins}) |
90 |
+ ADD_EXECUTABLE(${bin} ${bin}.c) |
91 |
+- IF(SCR_LINK_STATIC) |
92 |
+- TARGET_LINK_LIBRARIES(${bin} scr_base-static) |
93 |
+- ELSE(SCR_LINK_STATIC) |
94 |
+ TARGET_LINK_LIBRARIES(${bin} scr_base) |
95 |
+- ENDIF(SCR_LINK_STATIC) |
96 |
+ INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${bin} DESTINATION ${CMAKE_INSTALL_BINDIR}) |
97 |
+ ENDFOREACH(bin IN ITEMS ${cliscr_c_bins}) |
98 |
+ |
99 |
+ # Build and install CLI binaries that link full SCR library |
100 |
+ FOREACH(bin IN ITEMS ${cliscr_scr_bins}) |
101 |
+ ADD_EXECUTABLE(${bin} ${bin}.c) |
102 |
+- IF(SCR_LINK_STATIC) |
103 |
+- TARGET_LINK_LIBRARIES(${bin} scr-static) |
104 |
+- ELSE(SCR_LINK_STATIC) |
105 |
+ TARGET_LINK_LIBRARIES(${bin} scr) |
106 |
+- ENDIF(SCR_LINK_STATIC) |
107 |
+ INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${bin} DESTINATION ${CMAKE_INSTALL_BINDIR}) |
108 |
+ ENDFOREACH(bin IN ITEMS ${cliscr_scr_bins}) |
109 |
|
110 |
diff --git a/sys-cluster/scr/files/scr-3.0_pre2-shared-libscr_base.patch b/sys-cluster/scr/files/scr-3.0_pre2-shared-libscr_base.patch |
111 |
new file mode 100644 |
112 |
index 000000000..4b8d71b70 |
113 |
--- /dev/null |
114 |
+++ b/sys-cluster/scr/files/scr-3.0_pre2-shared-libscr_base.patch |
115 |
@@ -0,0 +1,70 @@ |
116 |
+From 3cb02f312447731b5a949aca388d43b651b53a0d Mon Sep 17 00:00:00 2001 |
117 |
+From: Alessandro Barbieri <lssndrbarbieri@×××××.com> |
118 |
+Date: Sat, 30 Oct 2021 20:28:49 +0200 |
119 |
+Subject: [PATCH 1/2] build libscr_base.so |
120 |
+ |
121 |
+--- a/src/CMakeLists.txt |
122 |
++++ b/src/CMakeLists.txt |
123 |
+@@ -94,8 +94,24 @@ SET_TARGET_PROPERTIES(scr-static PROPERTIES OUTPUT_NAME scr CLEAN_DIRECT_OUTPUT |
124 |
+ INSTALL(TARGETS scr-static DESTINATION ${CMAKE_INSTALL_LIBDIR}) |
125 |
+ |
126 |
+ # Non-MPI library for CLI |
127 |
+-ADD_LIBRARY(scr_base STATIC ${cliscr_noMPI_srcs}) |
128 |
+-TARGET_LINK_LIBRARIES(scr_base ${SCR_EXTERNAL_SERIAL_LIBS}) |
129 |
++ADD_LIBRARY(cliscr_noMPI_o OBJECT ${cliscr_noMPI_srcs}) |
130 |
++ |
131 |
++IF(BUILD_SHARED_LIBS) |
132 |
++ ADD_LIBRARY(scr_base SHARED $<TARGET_OBJECTS:cliscr_noMPI_o>) |
133 |
++ TARGET_LINK_LIBRARIES(scr_base ${SCR_EXTERNAL_SERIAL_LIBS}) |
134 |
++ SET_TARGET_PROPERTIES(scr_base PROPERTIES OUTPUT_NAME scr_base CLEAN_DIRECT_OUTPUT 1) |
135 |
++ INSTALL(TARGETS scr_base DESTINATION ${CMAKE_INSTALL_LIBDIR}) |
136 |
++ENDIF(BUILD_SHARED_LIBS) |
137 |
++ |
138 |
++ADD_LIBRARY(scr_base-static STATIC $<TARGET_OBJECTS:cliscr_noMPI_o>) |
139 |
++IF(SCR_LINK_STATIC) |
140 |
++ SET_TARGET_PROPERTIES(scr_base-static PROPERTIES LINK_SEARCH_START_STATIC 1) |
141 |
++ SET_TARGET_PROPERTIES(scr_base-static PROPERTIES LINK_SEARCH_END_STATIC 1) |
142 |
++ENDIF(SCR_LINK_STATIC) |
143 |
++TARGET_LINK_LIBRARIES(scr_base-static ${SCR_EXTERNAL_SERIAL_LIBS}) |
144 |
++ |
145 |
++SET_TARGET_PROPERTIES(scr_base-static PROPERTIES OUTPUT_NAME scr_base CLEAN_DIRECT_OUTPUT 1) |
146 |
++INSTALL(TARGETS scr_base-static DESTINATION ${CMAKE_INSTALL_LIBDIR}) |
147 |
+ |
148 |
+ # Fortran |
149 |
+ IF(ENABLE_FORTRAN) |
150 |
+@@ -147,9 +163,13 @@ LIST(APPEND cliscr_c_bins |
151 |
+ |
152 |
+ # Build and install C binaries |
153 |
+ FOREACH(bin IN ITEMS ${cliscr_c_bins}) |
154 |
+- ADD_EXECUTABLE(${bin} ${bin}.c) |
155 |
+- TARGET_LINK_LIBRARIES(${bin} scr_base) |
156 |
+- INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${bin} DESTINATION ${CMAKE_INSTALL_BINDIR}) |
157 |
++ ADD_EXECUTABLE(${bin} ${bin}.c) |
158 |
++ IF(SCR_LINK_STATIC) |
159 |
++ TARGET_LINK_LIBRARIES(${bin} scr_base-static) |
160 |
++ ELSE(SCR_LINK_STATIC) |
161 |
++ TARGET_LINK_LIBRARIES(${bin} scr_base) |
162 |
++ ENDIF(SCR_LINK_STATIC) |
163 |
++ INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${bin} DESTINATION ${CMAKE_INSTALL_BINDIR}) |
164 |
+ ENDFOREACH(bin IN ITEMS ${cliscr_c_bins}) |
165 |
+ |
166 |
+ # Build and install CLI binaries that link full SCR library |
167 |
+ |
168 |
+From e3d50ca7cab309273f3195c71af14352059d83aa Mon Sep 17 00:00:00 2001 |
169 |
+From: Alessandro Barbieri <lssndrbarbieri@×××××.com> |
170 |
+Date: Sat, 30 Oct 2021 20:55:07 +0200 |
171 |
+Subject: [PATCH 2/2] remove source files of cli binaries from library |
172 |
+ |
173 |
+to avoid `multiple definition of main` |
174 |
+--- a/src/CMakeLists.txt |
175 |
++++ b/src/CMakeLists.txt |
176 |
+@@ -32,9 +32,6 @@ LIST(APPEND cliscr_noMPI_srcs |
177 |
+ scr_meta.c |
178 |
+ scr_param.c |
179 |
+ scr_util.c |
180 |
+- scr_rebuild_xor.c |
181 |
+- scr_rebuild_partner.c |
182 |
+- scr_rebuild_rs.c |
183 |
+ ) |
184 |
+ |
185 |
+ LIST(APPEND libscr_srcs |
186 |
|
187 |
diff --git a/sys-cluster/scr/metadata.xml b/sys-cluster/scr/metadata.xml |
188 |
index d5d5447f4..103921ed9 100644 |
189 |
--- a/sys-cluster/scr/metadata.xml |
190 |
+++ b/sys-cluster/scr/metadata.xml |
191 |
@@ -17,7 +17,6 @@ The Scalable Checkpoint / Restart (SCR) library enables MPI applications to util |
192 |
<flag name="flock">use flock as a file locking type</flag> |
193 |
<flag name="fortran">Enables Fortran support</flag> |
194 |
<flag name="mysql">Enable use of mysql for logging SCR activities</flag> |
195 |
- <flag name="pmix">use pmix as resource manager</flag> |
196 |
<flag name="slurm">use slurm as resource manager</flag> |
197 |
<flag name="syslog">Whether to enable syslog logging</flag> |
198 |
<flag name="txt-log">Whether to enable text file logging</flag> |
199 |
|
200 |
diff --git a/sys-cluster/scr/scr-3.0_pre1.ebuild b/sys-cluster/scr/scr-3.0_pre2.ebuild |
201 |
similarity index 83% |
202 |
rename from sys-cluster/scr/scr-3.0_pre1.ebuild |
203 |
rename to sys-cluster/scr/scr-3.0_pre2.ebuild |
204 |
index 08524304d..4812b3799 100644 |
205 |
--- a/sys-cluster/scr/scr-3.0_pre1.ebuild |
206 |
+++ b/sys-cluster/scr/scr-3.0_pre2.ebuild |
207 |
@@ -1,7 +1,7 @@ |
208 |
# Copyright 1999-2021 Gentoo Authors |
209 |
# Distributed under the terms of the GNU General Public License v2 |
210 |
|
211 |
-EAPI="7" |
212 |
+EAPI=8 |
213 |
|
214 |
DOCS_BUILDER="sphinx" |
215 |
DOCS_DIR="${S}/doc/rst" |
216 |
@@ -22,14 +22,13 @@ S="${WORKDIR}/${PN}-${MYPV}" |
217 |
LICENSE="BSD" |
218 |
SLOT="0" |
219 |
KEYWORDS="~amd64" |
220 |
-IUSE="doc examples fcntl +flock +fortran mysql pmix slurm syslog test txt-log +yogrt" |
221 |
+IUSE="doc examples fcntl +flock +fortran mysql slurm syslog test txt-log +yogrt" |
222 |
|
223 |
-#cppr |
224 |
RDEPEND=" |
225 |
${PYTHON_DEPS} |
226 |
|
227 |
app-shells/pdsh |
228 |
- sys-cluster/AXL |
229 |
+ >=sys-cluster/AXL-0.5.0 |
230 |
sys-cluster/dtcmp |
231 |
sys-cluster/er |
232 |
sys-cluster/KVTree |
233 |
@@ -40,16 +39,18 @@ RDEPEND=" |
234 |
virtual/mpi |
235 |
|
236 |
mysql? ( dev-db/mysql-connector-c ) |
237 |
- pmix? ( sys-cluster/pmix ) |
238 |
slurm? ( sys-cluster/slurm ) |
239 |
yogrt? ( sys-cluster/libyogrt[slurm?] ) |
240 |
" |
241 |
DEPEND="${RDEPEND}" |
242 |
|
243 |
+PATCHES=( |
244 |
+ "${FILESDIR}/${P}-shared-libscr_base.patch" |
245 |
+ "${FILESDIR}/${P}-no-static.patch" |
246 |
+) |
247 |
REQUIRED_USE=" |
248 |
${PYTHON_REQUIRED_USE} |
249 |
|
250 |
- ?? ( pmix slurm ) |
251 |
?? ( fcntl flock ) |
252 |
" |
253 |
RESTRICT="!test? ( test )" |
254 |
@@ -59,8 +60,6 @@ pkg_setup() { |
255 |
} |
256 |
|
257 |
src_configure() { |
258 |
- local asyncapi="NONE" #INTEL_CPPR |
259 |
- |
260 |
local lock="NONE" |
261 |
use fcntl && lock="FCNTL" |
262 |
use flock && lock="FLOCK" |
263 |
@@ -70,18 +69,17 @@ src_configure() { |
264 |
use txt-log && log="1" |
265 |
|
266 |
local resman="NONE" |
267 |
- use pmix && resman="PMIX" |
268 |
use slurm && resman="SLURM" |
269 |
|
270 |
local mycmakeargs=( |
271 |
-DBUILD_PDSH=OFF |
272 |
- -DENABLE_INTEL_CPPR=OFF |
273 |
- -DENABLE_ENABLE_CRAY_DW=OFF |
274 |
+ -DBUILD_SHARED_LIBS=ON |
275 |
+ -DENABLE_CRAY_DW=OFF |
276 |
-DENABLE_IBM_BBAPI=OFF |
277 |
-DENABLE_PDSH=ON |
278 |
- -DSCR_ASYNC_API="${asyncapi}" |
279 |
- -DSCR_FILE_LOCK="${lock}" |
280 |
-DSCR_LINK_STATIC=OFF |
281 |
+ |
282 |
+ -DSCR_FILE_LOCK="${lock}" |
283 |
-DSCR_LOG_ENABLE="${log}" |
284 |
-DSCR_RESOURCE_MANAGER="${resman}" |
285 |
|
286 |
@@ -102,5 +100,5 @@ src_compile() { |
287 |
|
288 |
src_install() { |
289 |
cmake_src_install |
290 |
- find "${ED}" -name '*.a' -delete || die |
291 |
+# find "${ED}" -name '*.a' -delete || die |
292 |
} |