commit:     f65def21208a1ffd2ab8ddd1781d139e33dd9b4c
Author:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Sat Oct 30 19:00:11 2021 +0000
Commit:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
CommitDate: Sat Oct 30 19:37:44 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=f65def21

sys-cluster/scr: add 3.0_pre2, drop 3.0_pre1

Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>

 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 -
 .../{scr-3.0_pre1.ebuild => scr-3.0_pre2.ebuild}   | 26 ++++----
 5 files changed, 159 insertions(+), 16 deletions(-)

diff --git a/sys-cluster/scr/Manifest b/sys-cluster/scr/Manifest
index a69a9230c..0ab6de12b 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 000000000..2d63ebae8
--- /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 $<TARGET_OBJECTS:scr_o>)
+-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 $<TARGET_OBJECTS:cliscr_noMPI_o>)
+-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 $<TARGET_OBJECTS:scr_o>)
+-        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 000000000..4b8d71b70
--- /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 <lssndrbarbi...@gmail.com>
+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_OBJECTS:cliscr_noMPI_o>)
++   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 $<TARGET_OBJECTS:cliscr_noMPI_o>)
++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 <lssndrbarbi...@gmail.com>
+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 d5d5447f4..103921ed9 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
     <flag name="flock">use flock as a file locking type</flag>
     <flag name="fortran">Enables Fortran support</flag>
     <flag name="mysql">Enable use of mysql for logging SCR activities</flag>
-    <flag name="pmix">use pmix as resource manager</flag>
     <flag name="slurm">use slurm as resource manager</flag>
     <flag name="syslog">Whether to enable syslog logging</flag>
     <flag name="txt-log">Whether to enable text file logging</flag>

diff --git a/sys-cluster/scr/scr-3.0_pre1.ebuild 
b/sys-cluster/scr/scr-3.0_pre2.ebuild
similarity index 83%
rename from sys-cluster/scr/scr-3.0_pre1.ebuild
rename to sys-cluster/scr/scr-3.0_pre2.ebuild
index 08524304d..4812b3799 100644
--- a/sys-cluster/scr/scr-3.0_pre1.ebuild
+++ b/sys-cluster/scr/scr-3.0_pre2.ebuild
@@ -1,7 +1,7 @@
 # Copyright 1999-2021 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="7"
+EAPI=8
 
 DOCS_BUILDER="sphinx"
 DOCS_DIR="${S}/doc/rst"
@@ -22,14 +22,13 @@ S="${WORKDIR}/${PN}-${MYPV}"
 LICENSE="BSD"
 SLOT="0"
 KEYWORDS="~amd64"
-IUSE="doc examples fcntl +flock +fortran mysql pmix slurm syslog test txt-log 
+yogrt"
+IUSE="doc examples fcntl +flock +fortran mysql slurm syslog test txt-log 
+yogrt"
 
-#cppr
 RDEPEND="
        ${PYTHON_DEPS}
 
        app-shells/pdsh
-       sys-cluster/AXL
+       >=sys-cluster/AXL-0.5.0
        sys-cluster/dtcmp
        sys-cluster/er
        sys-cluster/KVTree
@@ -40,16 +39,18 @@ RDEPEND="
        virtual/mpi
 
        mysql? ( dev-db/mysql-connector-c  )
-       pmix? ( sys-cluster/pmix )
        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}
 
-       ?? ( pmix slurm )
        ?? ( fcntl flock )
 "
 RESTRICT="!test? ( test )"
@@ -59,8 +60,6 @@ pkg_setup() {
 }
 
 src_configure() {
-       local asyncapi="NONE" #INTEL_CPPR
-
        local lock="NONE"
        use fcntl && lock="FCNTL"
        use flock && lock="FLOCK"
@@ -70,18 +69,17 @@ src_configure() {
        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
+               -DBUILD_SHARED_LIBS=ON
+               -DENABLE_CRAY_DW=OFF
                -DENABLE_IBM_BBAPI=OFF
                -DENABLE_PDSH=ON
-               -DSCR_ASYNC_API="${asyncapi}"
-               -DSCR_FILE_LOCK="${lock}"
                -DSCR_LINK_STATIC=OFF
+
+               -DSCR_FILE_LOCK="${lock}"
                -DSCR_LOG_ENABLE="${log}"
                -DSCR_RESOURCE_MANAGER="${resman}"
 
@@ -102,5 +100,5 @@ src_compile() {
 
 src_install() {
        cmake_src_install
-       find "${ED}" -name '*.a' -delete || die
+#      find "${ED}" -name '*.a' -delete || die
 }

Reply via email to