summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKurt Kanzenbach <kurt@kmk-computers.de>2019-02-18 21:56:29 +0100
committerPatrice Clement <monsieurp@gentoo.org>2019-03-20 22:35:56 +0100
commitf8b681779a0642c552d95f0d57a5204591b4995b (patch)
treeb3482949cb778071b9d965d34100c082634d9bdc /sci-libs/libgeodecomp
parentdev-python/argon2_cffi: removed v18.3.0. (diff)
downloadgentoo-f8b681779a0642c552d95f0d57a5204591b4995b.tar.gz
gentoo-f8b681779a0642c552d95f0d57a5204591b4995b.tar.bz2
gentoo-f8b681779a0642c552d95f0d57a5204591b4995b.zip
sci-libs/libgeodecomp: add version 0.4.0.
Add support for libgeodecomp version 0.4.0. Signed-off-by: Kurt Kanzenbach <kurt@kmk-computers.de> Closes: https://github.com/gentoo/gentoo/pull/11180 Signed-off-by: Patrice Clement <monsieurp@gentoo.org>
Diffstat (limited to 'sci-libs/libgeodecomp')
-rw-r--r--sci-libs/libgeodecomp/Manifest1
-rw-r--r--sci-libs/libgeodecomp/files/libgeodecomp-0.4.0-libdir.patch19
-rw-r--r--sci-libs/libgeodecomp/files/libgeodecomp-0.4.0-scotch.patch163
-rw-r--r--sci-libs/libgeodecomp/libgeodecomp-0.4.0.ebuild67
-rw-r--r--sci-libs/libgeodecomp/metadata.xml30
5 files changed, 280 insertions, 0 deletions
diff --git a/sci-libs/libgeodecomp/Manifest b/sci-libs/libgeodecomp/Manifest
index 16412dc113fa..2a8bfc9f2862 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 000000000000..39da128feff8
--- /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 000000000000..774293f34c4a
--- /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 000000000000..98fd350e079c
--- /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 9c43c5cbc14e..a3c9cd3cd67d 100644
--- a/sci-libs/libgeodecomp/metadata.xml
+++ b/sci-libs/libgeodecomp/metadata.xml
@@ -4,4 +4,34 @@
<maintainer type="person">
<email>slis@gentoo.org</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>