commit:     f8b681779a0642c552d95f0d57a5204591b4995b
Author:     Kurt Kanzenbach <kurt <AT> kmk-computers <DOT> de>
AuthorDate: Mon Feb 18 20:56:29 2019 +0000
Commit:     Patrice Clement <monsieurp <AT> gentoo <DOT> org>
CommitDate: Wed Mar 20 21:35:56 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f8b68177

sci-libs/libgeodecomp: add version 0.4.0.

Add support for libgeodecomp version 0.4.0.

Signed-off-by: Kurt Kanzenbach <kurt <AT> kmk-computers.de>
Closes: https://github.com/gentoo/gentoo/pull/11180
Signed-off-by: Patrice Clement <monsieurp <AT> gentoo.org>

 sci-libs/libgeodecomp/Manifest                     |   1 +
 .../files/libgeodecomp-0.4.0-libdir.patch          |  19 +++
 .../files/libgeodecomp-0.4.0-scotch.patch          | 163 +++++++++++++++++++++
 sci-libs/libgeodecomp/libgeodecomp-0.4.0.ebuild    |  67 +++++++++
 sci-libs/libgeodecomp/metadata.xml                 |  30 ++++
 5 files changed, 280 insertions(+)

diff --git a/sci-libs/libgeodecomp/Manifest b/sci-libs/libgeodecomp/Manifest
index 16412dc113f..2a8bfc9f286 100644
--- a/sci-libs/libgeodecomp/Manifest
+++ b/sci-libs/libgeodecomp/Manifest
@@ -1 +1,2 @@
 DIST libgeodecomp-0.3.1.tar.bz2 740341 BLAKE2B 
f08f4a7e1b8666d20e40a21d494dbd1cf54b38bae90f451a1b239038e313ae692d39e81d2182cd018d85a4dfc298394c74da2d36218d379e226807feb9ff2cc3
 SHA512 
28f0ea04e45cb0a5b81b18efd3e3a011d58c077562f8039ff42e701cc362f86dff90bd505690ec22c8a42e9de1236d5b6c61d288ad4c154289e92700a2a7fcc0
+DIST libgeodecomp-0.4.0.tar.bz2 766090 BLAKE2B 
2abc5d10371fbad92f957118cabd656f0b4938d5e102da6446851bd979debddaf5eba8a6321dffd32356a40ca12659d9a7a691929e71989e48a71e5177fedc51
 SHA512 
3ff1a45844e5879662012cb4bae5d577f30ee71094ed4063b535b0ac3da900f34a1bc25be524c006ff91e0edd665e46cbb6cfc0db7966eebfea30f9fee6eeddb

diff --git a/sci-libs/libgeodecomp/files/libgeodecomp-0.4.0-libdir.patch 
b/sci-libs/libgeodecomp/files/libgeodecomp-0.4.0-libdir.patch
new file mode 100644
index 00000000000..39da128feff
--- /dev/null
+++ b/sci-libs/libgeodecomp/files/libgeodecomp-0.4.0-libdir.patch
@@ -0,0 +1,19 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 0666f1d..673017f 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -509,11 +509,12 @@ endif()
+ target_link_libraries(geodecomp ${LIBGEODECOMP_LINK_LIBRARIES})
+ 
+ #============= 10. INSTALLER CONFIG ==================================
++include(GNUInstallDirs)
+ install(
+   TARGETS geodecomp
+   EXPORT ${PACKAGE_NAME}-targets
+-  ARCHIVE DESTINATION lib
+-  LIBRARY DESTINATION lib)
++  ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ 
+ install(FILES "${CMAKE_BINARY_DIR}/${PACKAGE_NAME}/config.h" DESTINATION 
include/${PACKAGE_NAME})
+ install(FILES libgeodecomp.h DESTINATION include)

diff --git a/sci-libs/libgeodecomp/files/libgeodecomp-0.4.0-scotch.patch 
b/sci-libs/libgeodecomp/files/libgeodecomp-0.4.0-scotch.patch
new file mode 100644
index 00000000000..774293f34c4
--- /dev/null
+++ b/sci-libs/libgeodecomp/files/libgeodecomp-0.4.0-scotch.patch
@@ -0,0 +1,163 @@
+diff --git a/CMakeModules/FindSCOTCH.cmake b/CMakeModules/FindSCOTCH.cmake
+index 9f22b8d..0755470 100644
+--- a/CMakeModules/FindSCOTCH.cmake
++++ b/CMakeModules/FindSCOTCH.cmake
+@@ -232,81 +232,83 @@ int main() {
+ ")
+ 
+     message(STATUS "Performing test SCOTCH_TEST_RUNS")
+-    try_run(
+-      SCOTCH_TEST_LIB_EXITCODE
+-      SCOTCH_TEST_LIB_COMPILED
+-      ${CMAKE_CURRENT_BINARY_DIR}
+-      ${SCOTCH_TEST_LIB_CPP}
+-      CMAKE_FLAGS
+-        "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}"
+-        "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}"
+-      COMPILE_OUTPUT_VARIABLE SCOTCH_TEST_LIB_COMPILE_OUTPUT
+-      RUN_OUTPUT_VARIABLE SCOTCH_TEST_LIB_OUTPUT
+-      )
+-
+-    if (SCOTCH_TEST_LIB_COMPILED AND SCOTCH_TEST_LIB_EXITCODE EQUAL 0)
+-      message(STATUS "Performing test SCOTCH_TEST_RUNS - Success")
+-      set(SCOTCH_TEST_RUNS TRUE)
+-    else()
+-      message(STATUS "Performing test SCOTCH_TEST_RUNS - Failed")
+-      if (SCOTCH_DEBUG)
+-        # Output some variables
+-        message(STATUS "[ 
${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+-                       "SCOTCH_TEST_LIB_COMPILED = 
${SCOTCH_TEST_LIB_COMPILED}")
+-        message(STATUS "[ 
${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+-                       "SCOTCH_TEST_LIB_COMPILE_OUTPUT = 
${SCOTCH_TEST_LIB_COMPILE_OUTPUT}")
+-        message(STATUS "[ 
${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+-                       "SCOTCH_TEST_LIB_EXITCODE = 
${SCOTCH_TEST_LIB_EXITCODE}")
+-        message(STATUS "[ 
${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+-                       "SCOTCH_TEST_LIB_OUTPUT = ${SCOTCH_TEST_LIB_OUTPUT}")
+-      endif()
+-    endif()
+-
+-    # If program does not run, try adding zlib library and test again
+-    if(NOT SCOTCH_TEST_RUNS)
+-      if (NOT ZLIB_FOUND)
+-        find_package(ZLIB)
+-      endif()
+-
+-      if (ZLIB_INCLUDE_DIRS AND ZLIB_LIBRARIES)
+-        set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} 
${ZLIB_INCLUDE_DIRS})
+-        set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} 
${ZLIB_LIBRARIES})
+-
+-        message(STATUS "Performing test SCOTCH_ZLIB_TEST_RUNS")
+-        try_run(
+-          SCOTCH_ZLIB_TEST_LIB_EXITCODE
+-          SCOTCH_ZLIB_TEST_LIB_COMPILED
+-          ${CMAKE_CURRENT_BINARY_DIR}
+-          ${SCOTCH_TEST_LIB_CPP}
+-          CMAKE_FLAGS
+-                  "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}"
+-                  "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}"
+-          COMPILE_OUTPUT_VARIABLE SCOTCH_ZLIB_TEST_LIB_COMPILE_OUTPUT
+-          RUN_OUTPUT_VARIABLE SCOTCH_ZLIB_TEST_LIB_OUTPUT
+-          )
+-
+-        # Add zlib flags if required and set test run to 'true'
+-        if (SCOTCH_ZLIB_TEST_LIB_COMPILED AND SCOTCH_ZLIB_TEST_LIB_EXITCODE 
EQUAL 0)
+-          message(STATUS "Performing test SCOTCH_ZLIB_TEST_RUNS - Success")
+-          set(SCOTCH_INCLUDE_DIRS ${SCOTCH_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS})
+-          set(SCOTCH_LIBRARIES ${SCOTCH_LIBRARIES} ${ZLIB_LIBRARIES})
+-          set(SCOTCH_TEST_RUNS TRUE)
+-        else()
+-          message(STATUS "Performing test SCOTCH_ZLIB_TEST_RUNS - Failed")
+-          if (SCOTCH_DEBUG)
+-            message(STATUS "[ 
${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+-                           "SCOTCH_ZLIB_TEST_LIB_COMPILED = 
${SCOTCH_ZLIB_TEST_LIB_COMPILED}")
+-            message(STATUS "[ 
${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+-                           "SCOTCH_ZLIB_TEST_LIB_COMPILE_OUTPUT = 
${SCOTCH_ZLIB_TEST_LIB_COMPILE_OUTPUT}")
+-            message(STATUS "[ 
${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+-                           "SCOTCH_TEST_LIB_EXITCODE = 
${SCOTCH_TEST_LIB_EXITCODE}")
+-            message(STATUS "[ 
${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+-                           "SCOTCH_TEST_LIB_OUTPUT = 
${SCOTCH_TEST_LIB_OUTPUT}")
+-          endif()
+-        endif()
+-
+-      endif()
+-    endif()
++    set(SCOTCH_TEST_RUNS FALSE)
++    message(STATUS "Performing test SCOTCH_TEST_RUNS - Failed")
++    # try_run(
++    #   SCOTCH_TEST_LIB_EXITCODE
++    #   SCOTCH_TEST_LIB_COMPILED
++    #   ${CMAKE_CURRENT_BINARY_DIR}
++    #   ${SCOTCH_TEST_LIB_CPP}
++    #   CMAKE_FLAGS
++    #     "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}"
++    #     "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}"
++    #   COMPILE_OUTPUT_VARIABLE SCOTCH_TEST_LIB_COMPILE_OUTPUT
++    #   RUN_OUTPUT_VARIABLE SCOTCH_TEST_LIB_OUTPUT
++    #   )
++
++    # if (SCOTCH_TEST_LIB_COMPILED AND SCOTCH_TEST_LIB_EXITCODE EQUAL 0)
++    #   message(STATUS "Performing test SCOTCH_TEST_RUNS - Success")
++    #   set(SCOTCH_TEST_RUNS TRUE)
++    # else()
++    #   message(STATUS "Performing test SCOTCH_TEST_RUNS - Failed")
++    #   if (SCOTCH_DEBUG)
++    #     # Output some variables
++    #     message(STATUS "[ 
${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
++    #                    "SCOTCH_TEST_LIB_COMPILED = 
${SCOTCH_TEST_LIB_COMPILED}")
++    #     message(STATUS "[ 
${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
++    #                    "SCOTCH_TEST_LIB_COMPILE_OUTPUT = 
${SCOTCH_TEST_LIB_COMPILE_OUTPUT}")
++    #     message(STATUS "[ 
${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
++    #                    "SCOTCH_TEST_LIB_EXITCODE = 
${SCOTCH_TEST_LIB_EXITCODE}")
++    #     message(STATUS "[ 
${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
++    #                    "SCOTCH_TEST_LIB_OUTPUT = ${SCOTCH_TEST_LIB_OUTPUT}")
++    #   endif()
++    # endif()
++
++    # # If program does not run, try adding zlib library and test again
++    # if(NOT SCOTCH_TEST_RUNS)
++    #   if (NOT ZLIB_FOUND)
++    #     find_package(ZLIB)
++    #   endif()
++
++    #   if (ZLIB_INCLUDE_DIRS AND ZLIB_LIBRARIES)
++    #     set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} 
${ZLIB_INCLUDE_DIRS})
++    #     set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} 
${ZLIB_LIBRARIES})
++
++    #     message(STATUS "Performing test SCOTCH_ZLIB_TEST_RUNS")
++    #     try_run(
++    #       SCOTCH_ZLIB_TEST_LIB_EXITCODE
++    #       SCOTCH_ZLIB_TEST_LIB_COMPILED
++    #       ${CMAKE_CURRENT_BINARY_DIR}
++    #       ${SCOTCH_TEST_LIB_CPP}
++    #       CMAKE_FLAGS
++    #               "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}"
++    #               "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}"
++    #       COMPILE_OUTPUT_VARIABLE SCOTCH_ZLIB_TEST_LIB_COMPILE_OUTPUT
++    #       RUN_OUTPUT_VARIABLE SCOTCH_ZLIB_TEST_LIB_OUTPUT
++    #       )
++
++    #     # Add zlib flags if required and set test run to 'true'
++    #     if (SCOTCH_ZLIB_TEST_LIB_COMPILED AND SCOTCH_ZLIB_TEST_LIB_EXITCODE 
EQUAL 0)
++    #       message(STATUS "Performing test SCOTCH_ZLIB_TEST_RUNS - Success")
++    #       set(SCOTCH_INCLUDE_DIRS ${SCOTCH_INCLUDE_DIRS} 
${ZLIB_INCLUDE_DIRS})
++    #       set(SCOTCH_LIBRARIES ${SCOTCH_LIBRARIES} ${ZLIB_LIBRARIES})
++    #       set(SCOTCH_TEST_RUNS TRUE)
++    #     else()
++    #       message(STATUS "Performing test SCOTCH_ZLIB_TEST_RUNS - Failed")
++    #       if (SCOTCH_DEBUG)
++    #         message(STATUS "[ 
${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
++    #                        "SCOTCH_ZLIB_TEST_LIB_COMPILED = 
${SCOTCH_ZLIB_TEST_LIB_COMPILED}")
++    #         message(STATUS "[ 
${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
++    #                        "SCOTCH_ZLIB_TEST_LIB_COMPILE_OUTPUT = 
${SCOTCH_ZLIB_TEST_LIB_COMPILE_OUTPUT}")
++    #         message(STATUS "[ 
${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
++    #                        "SCOTCH_TEST_LIB_EXITCODE = 
${SCOTCH_TEST_LIB_EXITCODE}")
++    #         message(STATUS "[ 
${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
++    #                        "SCOTCH_TEST_LIB_OUTPUT = 
${SCOTCH_TEST_LIB_OUTPUT}")
++    #       endif()
++    #     endif()
++
++    #   endif()
++    # endif()
+   endif()
+ endif()
+ 

diff --git a/sci-libs/libgeodecomp/libgeodecomp-0.4.0.ebuild 
b/sci-libs/libgeodecomp/libgeodecomp-0.4.0.ebuild
new file mode 100644
index 00000000000..98fd350e079
--- /dev/null
+++ b/sci-libs/libgeodecomp/libgeodecomp-0.4.0.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2019 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils cuda
+
+DESCRIPTION="An auto-parallelizing library to speed up computer simulations"
+HOMEPAGE="http://www.libgeodecomp.org";
+SRC_URI="http://www.libgeodecomp.org/archive/${P}.tar.bz2";
+
+SLOT="0"
+LICENSE="Boost-1.0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc mpi cuda opencl opencv silo hpx visit"
+
+RDEPEND=">=dev-libs/boost-1.48"
+DEPEND="${RDEPEND}
+       doc? (
+               app-doc/doxygen
+               app-text/texlive
+               media-gfx/graphviz
+               )
+       mpi? ( virtual/mpi )
+       cuda? ( dev-util/nvidia-cuda-toolkit )
+       opencl? ( virtual/opencl )
+       opencv? ( media-libs/opencv )
+       silo? ( sci-libs/silo )
+       hpx? ( sys-cluster/hpx )
+       visit? ( sci-visualization/visit )"
+
+S="${WORKDIR}/${P}"
+PATCHES=( "${FILESDIR}/${P}-scotch.patch" "${FILESDIR}/${P}-libdir.patch" )
+
+src_prepare() {
+       cmake-utils_src_prepare
+       use cuda && cuda_src_prepare
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DWITH_MPI=$(usex mpi)
+               -DWITH_CUDA=$(usex cuda)
+               -DWITH_OPENCL=$(usex opencl)
+               -DWITH_OPENCV=$(usex opencv)
+               -DWITH_SILO=$(usex silo)
+               -DWITH_SCOTCH=false
+               -DWITH_HPX=$(usex hpx)
+               -DWITH_VISIT=$(usex visit)
+       )
+       cmake-utils_src_configure
+}
+
+src_compile() {
+       cmake-utils_src_compile
+       use doc && cmake-utils_src_make doc
+}
+
+src_install() {
+       DOCS=( README )
+       use doc && HTML_DOCS=( doc/html/* )
+       cmake-utils_src_install
+}
+
+src_test() {
+       cmake-utils_src_make check
+}

diff --git a/sci-libs/libgeodecomp/metadata.xml 
b/sci-libs/libgeodecomp/metadata.xml
index 9c43c5cbc14..a3c9cd3cd67 100644
--- a/sci-libs/libgeodecomp/metadata.xml
+++ b/sci-libs/libgeodecomp/metadata.xml
@@ -4,4 +4,34 @@
   <maintainer type="person">
     <email>[email protected]</email>
   </maintainer>
+  <longdescription>
+    LibGeoDecomp (Library for Geometric Decomposition codes) is an
+    auto-parallelizing library for computer simulations. It is specifically
+    targeted computational science applications in the context of 
supercomputers
+    and heterogeneous systems. The library eases development of such tightly
+    coupled codes by essentially taking over the parallel programming: it
+    handles both, the parallelization itself and parameter tuning. This enables
+    scientists to focus on their simulation code, rather than the technical
+    details of the parallel computer.
+  </longdescription>
+  <use>
+    <flag name="cuda">
+      Enables plugins for NVIDIA GPUs
+    </flag>
+    <flag name="opencl">
+      Enables OpenCL backend
+    </flag>
+    <flag name="opencv">
+      Enables OpenCV related code
+    </flag>
+    <flag name="silo">
+      Enables SILO related code
+    </flag>
+    <flag name="hpx">
+      Enables HPX backend
+    </flag>
+    <flag name="visit">
+      Enables VisIt related code
+    </flag>
+  </use>
 </pkgmetadata>

Reply via email to