diff options
author | Kurt Kanzenbach <kurt@kmk-computers.de> | 2019-02-18 21:56:29 +0100 |
---|---|---|
committer | Patrice Clement <monsieurp@gentoo.org> | 2019-03-20 22:35:56 +0100 |
commit | f8b681779a0642c552d95f0d57a5204591b4995b (patch) | |
tree | b3482949cb778071b9d965d34100c082634d9bdc /sci-libs/libgeodecomp | |
parent | dev-python/argon2_cffi: removed v18.3.0. (diff) | |
download | gentoo-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/Manifest | 1 | ||||
-rw-r--r-- | sci-libs/libgeodecomp/files/libgeodecomp-0.4.0-libdir.patch | 19 | ||||
-rw-r--r-- | sci-libs/libgeodecomp/files/libgeodecomp-0.4.0-scotch.patch | 163 | ||||
-rw-r--r-- | sci-libs/libgeodecomp/libgeodecomp-0.4.0.ebuild | 67 | ||||
-rw-r--r-- | sci-libs/libgeodecomp/metadata.xml | 30 |
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> |