Gentoo Archives: gentoo-commits

From: Alessandro Barbieri <lssndrbarbieri@×××××.com>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/guru:dev commit in: sys-cluster/scr/files/, sys-cluster/scr/
Date: Sat, 30 Oct 2021 19:37:53
Message-Id: 1635622664.f65def21208a1ffd2ab8ddd1781d139e33dd9b4c.Alessandro-Barbieri@gentoo
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 }