From f65def21208a1ffd2ab8ddd1781d139e33dd9b4c Mon Sep 17 00:00:00 2001 From: Alessandro Barbieri Date: Sat, 30 Oct 2021 21:00:11 +0200 Subject: sys-cluster/scr: add 3.0_pre2, drop 3.0_pre1 Signed-off-by: Alessandro Barbieri --- sys-cluster/scr/Manifest | 2 +- sys-cluster/scr/files/scr-3.0_pre2-no-static.patch | 76 +++++++++++++++ .../files/scr-3.0_pre2-shared-libscr_base.patch | 70 ++++++++++++++ sys-cluster/scr/metadata.xml | 1 - sys-cluster/scr/scr-3.0_pre1.ebuild | 106 --------------------- sys-cluster/scr/scr-3.0_pre2.ebuild | 104 ++++++++++++++++++++ 6 files changed, 251 insertions(+), 108 deletions(-) create mode 100644 sys-cluster/scr/files/scr-3.0_pre2-no-static.patch create mode 100644 sys-cluster/scr/files/scr-3.0_pre2-shared-libscr_base.patch delete mode 100644 sys-cluster/scr/scr-3.0_pre1.ebuild create mode 100644 sys-cluster/scr/scr-3.0_pre2.ebuild diff --git a/sys-cluster/scr/Manifest b/sys-cluster/scr/Manifest index a69a9230c8..0ab6de12bc 100644 --- a/sys-cluster/scr/Manifest +++ b/sys-cluster/scr/Manifest @@ -1 +1 @@ -DIST scr-3.0_pre1.tar.gz 1629041 BLAKE2B c7922e208964b8456c65393c0f9b17530b3eb66ceab38bc682b1fb78b29f77f2d3a6c51c9c8380720c88606a8da3b34f9a088ed80198f3c4f2bfe6906faac6ef SHA512 3bf290a41cb8abbd7e08ab02580f1e4dd73758946fe0ba7bd861a5099f8396e382dc8b80a0a33b0d45ee929efa069bd7a6381e9ca6f11d9049e113ac9aec6793 +DIST scr-3.0_pre2.tar.gz 1231943 BLAKE2B a4d8e779edc4b48a5b13a0cff851496068076a8ae901f3c3d3ad2344708a0abc6b69ce71bd7313286a91844a87930e6fa5c097d1c5b15ebbc12247ba293f843f SHA512 7b90b14cfbb6fa3020b6c3c3a7f5568963374d9fe7ad0b6962632f776c3699d6c38fa04800736d423350190542896ca9240033dca1e820f7f698c336518c891a 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 new file mode 100644 index 0000000000..2d63ebae88 --- /dev/null +++ b/sys-cluster/scr/files/scr-3.0_pre2-no-static.patch @@ -0,0 +1,76 @@ +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -83,16 +83,6 @@ + INSTALL(TARGETS scr DESTINATION ${CMAKE_INSTALL_LIBDIR}) + ENDIF() + +-ADD_LIBRARY(scr-static STATIC $) +-IF(SCR_LINK_STATIC) +- SET_TARGET_PROPERTIES(scr-static PROPERTIES LINK_SEARCH_START_STATIC 1) +- SET_TARGET_PROPERTIES(scr-static PROPERTIES LINK_SEARCH_END_STATIC 1) +-ENDIF(SCR_LINK_STATIC) +-TARGET_LINK_LIBRARIES(scr-static ${SCR_EXTERNAL_LIBS}) +- +-SET_TARGET_PROPERTIES(scr-static PROPERTIES OUTPUT_NAME scr CLEAN_DIRECT_OUTPUT 1) +-INSTALL(TARGETS scr-static DESTINATION ${CMAKE_INSTALL_LIBDIR}) +- + # Non-MPI library for CLI + ADD_LIBRARY(cliscr_noMPI_o OBJECT ${cliscr_noMPI_srcs}) + +@@ -103,16 +93,6 @@ + INSTALL(TARGETS scr_base DESTINATION ${CMAKE_INSTALL_LIBDIR}) + ENDIF(BUILD_SHARED_LIBS) + +-ADD_LIBRARY(scr_base-static STATIC $) +-IF(SCR_LINK_STATIC) +- SET_TARGET_PROPERTIES(scr_base-static PROPERTIES LINK_SEARCH_START_STATIC 1) +- SET_TARGET_PROPERTIES(scr_base-static PROPERTIES LINK_SEARCH_END_STATIC 1) +-ENDIF(SCR_LINK_STATIC) +-TARGET_LINK_LIBRARIES(scr_base-static ${SCR_EXTERNAL_SERIAL_LIBS}) +- +-SET_TARGET_PROPERTIES(scr_base-static PROPERTIES OUTPUT_NAME scr_base CLEAN_DIRECT_OUTPUT 1) +-INSTALL(TARGETS scr_base-static DESTINATION ${CMAKE_INSTALL_LIBDIR}) +- + # Fortran + IF(ENABLE_FORTRAN) + IF(BUILD_SHARED_LIBS) +@@ -121,17 +101,6 @@ + SET_TARGET_PROPERTIES(scrf PROPERTIES OUTPUT_NAME scrf CLEAN_DIRECT_OUTPUT 1) + INSTALL(TARGETS scrf DESTINATION ${CMAKE_INSTALL_LIBDIR}) + ENDIF() +- +- ADD_LIBRARY(scrf-static STATIC scrf.c $) +- IF(SCR_LINK_STATIC) +- SET_TARGET_PROPERTIES(scrf-static PROPERTIES LINK_SEARCH_START_STATIC 1) +- SET_TARGET_PROPERTIES(scrf-static PROPERTIES LINK_SEARCH_END_STATIC 1) +- TARGET_LINK_LIBRARIES(scrf-static ${SCR_EXTERNAL_LIBS}) +- ENDIF(SCR_LINK_STATIC) +- TARGET_LINK_LIBRARIES(scrf-static ${SCR_EXTERNAL_LIBS}) +- +- SET_TARGET_PROPERTIES(scrf-static PROPERTIES OUTPUT_NAME scrf CLEAN_DIRECT_OUTPUT 1) +- INSTALL(TARGETS scrf-static DESTINATION ${CMAKE_INSTALL_LIBDIR}) + ENDIF(ENABLE_FORTRAN) + + ########### +@@ -164,21 +133,13 @@ + # Build and install C binaries + FOREACH(bin IN ITEMS ${cliscr_c_bins}) + ADD_EXECUTABLE(${bin} ${bin}.c) +- IF(SCR_LINK_STATIC) +- TARGET_LINK_LIBRARIES(${bin} scr_base-static) +- ELSE(SCR_LINK_STATIC) + TARGET_LINK_LIBRARIES(${bin} scr_base) +- ENDIF(SCR_LINK_STATIC) + INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${bin} DESTINATION ${CMAKE_INSTALL_BINDIR}) + ENDFOREACH(bin IN ITEMS ${cliscr_c_bins}) + + # Build and install CLI binaries that link full SCR library + FOREACH(bin IN ITEMS ${cliscr_scr_bins}) + ADD_EXECUTABLE(${bin} ${bin}.c) +- IF(SCR_LINK_STATIC) +- TARGET_LINK_LIBRARIES(${bin} scr-static) +- ELSE(SCR_LINK_STATIC) + TARGET_LINK_LIBRARIES(${bin} scr) +- ENDIF(SCR_LINK_STATIC) + INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${bin} DESTINATION ${CMAKE_INSTALL_BINDIR}) + ENDFOREACH(bin IN ITEMS ${cliscr_scr_bins}) 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 new file mode 100644 index 0000000000..4b8d71b70a --- /dev/null +++ b/sys-cluster/scr/files/scr-3.0_pre2-shared-libscr_base.patch @@ -0,0 +1,70 @@ +From 3cb02f312447731b5a949aca388d43b651b53a0d Mon Sep 17 00:00:00 2001 +From: Alessandro Barbieri +Date: Sat, 30 Oct 2021 20:28:49 +0200 +Subject: [PATCH 1/2] build libscr_base.so + +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -94,8 +94,24 @@ SET_TARGET_PROPERTIES(scr-static PROPERTIES OUTPUT_NAME scr CLEAN_DIRECT_OUTPUT + INSTALL(TARGETS scr-static DESTINATION ${CMAKE_INSTALL_LIBDIR}) + + # Non-MPI library for CLI +-ADD_LIBRARY(scr_base STATIC ${cliscr_noMPI_srcs}) +-TARGET_LINK_LIBRARIES(scr_base ${SCR_EXTERNAL_SERIAL_LIBS}) ++ADD_LIBRARY(cliscr_noMPI_o OBJECT ${cliscr_noMPI_srcs}) ++ ++IF(BUILD_SHARED_LIBS) ++ ADD_LIBRARY(scr_base SHARED $) ++ TARGET_LINK_LIBRARIES(scr_base ${SCR_EXTERNAL_SERIAL_LIBS}) ++ SET_TARGET_PROPERTIES(scr_base PROPERTIES OUTPUT_NAME scr_base CLEAN_DIRECT_OUTPUT 1) ++ INSTALL(TARGETS scr_base DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ENDIF(BUILD_SHARED_LIBS) ++ ++ADD_LIBRARY(scr_base-static STATIC $) ++IF(SCR_LINK_STATIC) ++ SET_TARGET_PROPERTIES(scr_base-static PROPERTIES LINK_SEARCH_START_STATIC 1) ++ SET_TARGET_PROPERTIES(scr_base-static PROPERTIES LINK_SEARCH_END_STATIC 1) ++ENDIF(SCR_LINK_STATIC) ++TARGET_LINK_LIBRARIES(scr_base-static ${SCR_EXTERNAL_SERIAL_LIBS}) ++ ++SET_TARGET_PROPERTIES(scr_base-static PROPERTIES OUTPUT_NAME scr_base CLEAN_DIRECT_OUTPUT 1) ++INSTALL(TARGETS scr_base-static DESTINATION ${CMAKE_INSTALL_LIBDIR}) + + # Fortran + IF(ENABLE_FORTRAN) +@@ -147,9 +163,13 @@ LIST(APPEND cliscr_c_bins + + # Build and install C binaries + FOREACH(bin IN ITEMS ${cliscr_c_bins}) +- ADD_EXECUTABLE(${bin} ${bin}.c) +- TARGET_LINK_LIBRARIES(${bin} scr_base) +- INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${bin} DESTINATION ${CMAKE_INSTALL_BINDIR}) ++ ADD_EXECUTABLE(${bin} ${bin}.c) ++ IF(SCR_LINK_STATIC) ++ TARGET_LINK_LIBRARIES(${bin} scr_base-static) ++ ELSE(SCR_LINK_STATIC) ++ TARGET_LINK_LIBRARIES(${bin} scr_base) ++ ENDIF(SCR_LINK_STATIC) ++ INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${bin} DESTINATION ${CMAKE_INSTALL_BINDIR}) + ENDFOREACH(bin IN ITEMS ${cliscr_c_bins}) + + # Build and install CLI binaries that link full SCR library + +From e3d50ca7cab309273f3195c71af14352059d83aa Mon Sep 17 00:00:00 2001 +From: Alessandro Barbieri +Date: Sat, 30 Oct 2021 20:55:07 +0200 +Subject: [PATCH 2/2] remove source files of cli binaries from library + +to avoid `multiple definition of main` +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -32,9 +32,6 @@ LIST(APPEND cliscr_noMPI_srcs + scr_meta.c + scr_param.c + scr_util.c +- scr_rebuild_xor.c +- scr_rebuild_partner.c +- scr_rebuild_rs.c + ) + + LIST(APPEND libscr_srcs diff --git a/sys-cluster/scr/metadata.xml b/sys-cluster/scr/metadata.xml index d5d5447f40..103921ed91 100644 --- a/sys-cluster/scr/metadata.xml +++ b/sys-cluster/scr/metadata.xml @@ -17,7 +17,6 @@ The Scalable Checkpoint / Restart (SCR) library enables MPI applications to util use flock as a file locking type Enables Fortran support Enable use of mysql for logging SCR activities - use pmix as resource manager use slurm as resource manager Whether to enable syslog logging Whether to enable text file logging diff --git a/sys-cluster/scr/scr-3.0_pre1.ebuild b/sys-cluster/scr/scr-3.0_pre1.ebuild deleted file mode 100644 index 08524304d1..0000000000 --- a/sys-cluster/scr/scr-3.0_pre1.ebuild +++ /dev/null @@ -1,106 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -DOCS_BUILDER="sphinx" -DOCS_DIR="${S}/doc/rst" -FORTRAN_NEEDED="fortran" -MYPV="${PV/_pre/rc}" -PYTHON_COMPAT=( python3_{8..10} pypy3 ) - -inherit cmake python-single-r1 fortran-2 docs - -DESCRIPTION="Scalable Checkpoint / Restart Library" -HOMEPAGE=" - https://computing.llnl.gov/projects/scalable-checkpoint-restart-for-mpi - https://github.com/LLNL/scr -" -SRC_URI="https://github.com/LLNL/scr/archive/refs/tags/v${MYPV}.tar.gz -> ${P}.tar.gz" -S="${WORKDIR}/${PN}-${MYPV}" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64" -IUSE="doc examples fcntl +flock +fortran mysql pmix slurm syslog test txt-log +yogrt" - -#cppr -RDEPEND=" - ${PYTHON_DEPS} - - app-shells/pdsh - sys-cluster/AXL - sys-cluster/dtcmp - sys-cluster/er - sys-cluster/KVTree - sys-cluster/rankstr - sys-cluster/redset - sys-cluster/spath - sys-libs/zlib - virtual/mpi - - mysql? ( dev-db/mysql-connector-c ) - pmix? ( sys-cluster/pmix ) - slurm? ( sys-cluster/slurm ) - yogrt? ( sys-cluster/libyogrt[slurm?] ) -" -DEPEND="${RDEPEND}" - -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - - ?? ( pmix slurm ) - ?? ( fcntl flock ) -" -RESTRICT="!test? ( test )" - -pkg_setup() { - fortran-2_pkg_setup -} - -src_configure() { - local asyncapi="NONE" #INTEL_CPPR - - local lock="NONE" - use fcntl && lock="FCNTL" - use flock && lock="FLOCK" - - local log="0" - use syslog && log="1" - use txt-log && log="1" - - local resman="NONE" - use pmix && resman="PMIX" - use slurm && resman="SLURM" - - local mycmakeargs=( - -DBUILD_PDSH=OFF - -DENABLE_INTEL_CPPR=OFF - -DENABLE_ENABLE_CRAY_DW=OFF - -DENABLE_IBM_BBAPI=OFF - -DENABLE_PDSH=ON - -DSCR_ASYNC_API="${asyncapi}" - -DSCR_FILE_LOCK="${lock}" - -DSCR_LINK_STATIC=OFF - -DSCR_LOG_ENABLE="${log}" - -DSCR_RESOURCE_MANAGER="${resman}" - - -DENABLE_EXAMPLES=$(usex examples) - -DENABLE_FORTRAN=$(usex fortran) - -DENABLE_TESTS=$(usex test) - -DENABLE_YOGRT=$(usex yogrt) - -DSCR_LOG_SYSLOG_ENABLE=$(usex syslog 0 1) - -DSCR_LOG_TXT_ENABLE=$(usex txt-log 0 1) - ) - cmake_src_configure -} - -src_compile() { - cmake_src_compile - docs_compile -} - -src_install() { - cmake_src_install - find "${ED}" -name '*.a' -delete || die -} diff --git a/sys-cluster/scr/scr-3.0_pre2.ebuild b/sys-cluster/scr/scr-3.0_pre2.ebuild new file mode 100644 index 0000000000..4812b37993 --- /dev/null +++ b/sys-cluster/scr/scr-3.0_pre2.ebuild @@ -0,0 +1,104 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DOCS_BUILDER="sphinx" +DOCS_DIR="${S}/doc/rst" +FORTRAN_NEEDED="fortran" +MYPV="${PV/_pre/rc}" +PYTHON_COMPAT=( python3_{8..10} pypy3 ) + +inherit cmake python-single-r1 fortran-2 docs + +DESCRIPTION="Scalable Checkpoint / Restart Library" +HOMEPAGE=" + https://computing.llnl.gov/projects/scalable-checkpoint-restart-for-mpi + https://github.com/LLNL/scr +" +SRC_URI="https://github.com/LLNL/scr/archive/refs/tags/v${MYPV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-${MYPV}" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" +IUSE="doc examples fcntl +flock +fortran mysql slurm syslog test txt-log +yogrt" + +RDEPEND=" + ${PYTHON_DEPS} + + app-shells/pdsh + >=sys-cluster/AXL-0.5.0 + sys-cluster/dtcmp + sys-cluster/er + sys-cluster/KVTree + sys-cluster/rankstr + sys-cluster/redset + sys-cluster/spath + sys-libs/zlib + virtual/mpi + + mysql? ( dev-db/mysql-connector-c ) + slurm? ( sys-cluster/slurm ) + yogrt? ( sys-cluster/libyogrt[slurm?] ) +" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}/${P}-shared-libscr_base.patch" + "${FILESDIR}/${P}-no-static.patch" +) +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + + ?? ( fcntl flock ) +" +RESTRICT="!test? ( test )" + +pkg_setup() { + fortran-2_pkg_setup +} + +src_configure() { + local lock="NONE" + use fcntl && lock="FCNTL" + use flock && lock="FLOCK" + + local log="0" + use syslog && log="1" + use txt-log && log="1" + + local resman="NONE" + use slurm && resman="SLURM" + + local mycmakeargs=( + -DBUILD_PDSH=OFF + -DBUILD_SHARED_LIBS=ON + -DENABLE_CRAY_DW=OFF + -DENABLE_IBM_BBAPI=OFF + -DENABLE_PDSH=ON + -DSCR_LINK_STATIC=OFF + + -DSCR_FILE_LOCK="${lock}" + -DSCR_LOG_ENABLE="${log}" + -DSCR_RESOURCE_MANAGER="${resman}" + + -DENABLE_EXAMPLES=$(usex examples) + -DENABLE_FORTRAN=$(usex fortran) + -DENABLE_TESTS=$(usex test) + -DENABLE_YOGRT=$(usex yogrt) + -DSCR_LOG_SYSLOG_ENABLE=$(usex syslog 0 1) + -DSCR_LOG_TXT_ENABLE=$(usex txt-log 0 1) + ) + cmake_src_configure +} + +src_compile() { + cmake_src_compile + docs_compile +} + +src_install() { + cmake_src_install +# find "${ED}" -name '*.a' -delete || die +} -- cgit v1.2.3-65-gdbad