diff options
Diffstat (limited to 'sci-libs/libgeodecomp')
-rw-r--r-- | sci-libs/libgeodecomp/Manifest | 6 | ||||
-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, 284 insertions, 1 deletions
diff --git a/sci-libs/libgeodecomp/Manifest b/sci-libs/libgeodecomp/Manifest index 3a3308ac31be..ae44d6154309 100644 --- a/sci-libs/libgeodecomp/Manifest +++ b/sci-libs/libgeodecomp/Manifest @@ -1,4 +1,8 @@ AUX libflatarray.patch 528 BLAKE2B 474cde0e9871454c042587c282d9439cace5ffacc91f171dd4c77ea4c6298c9e863fb3a6267d2a97222255f396f7689a98e28e57ea47f063e2e01159d77dd8c7 SHA512 e3b195723999285fa14702e01497485f55e8523883951db16eb883220cb636d3f20f3df776b1a0dff70da221dfd7483a032e08b2996e94fd642fa175f69cc627 +AUX libgeodecomp-0.4.0-libdir.patch 694 BLAKE2B 87b08665e9f1d236183f7bfaaf34ef5a9839e28f7a94a6b870fe99d19603b11f152227137202be5669c9f9cd2ba65b3f559eba9ca2460676f19c22e0911ab36e SHA512 fa8e0e08b45d9250d6f32e1a8ade6ff8bdb8acb7951115916cee7b6df600800f8aa64cfb92e13bb5b108af98e8ac2b1f127f34b415648ebe556a589bb11af68d +AUX libgeodecomp-0.4.0-scotch.patch 7962 BLAKE2B e47365810132838ba0afc63dead520a17d866c0c6b5c2c2bf8f7299d688bcf10ef34ff19d1b29a29d3388101f082080b5943b037fdc9aedf937b392ffb46a68a SHA512 78d805aedb820b457ae01e5f35c530edf7de014cc60c640314cefb1cdfa88f54a6128fb56a81e974fed9d0620e56c31a8f97922d78e88d729bbf3c29c71f7f5d DIST libgeodecomp-0.3.1.tar.bz2 740341 BLAKE2B f08f4a7e1b8666d20e40a21d494dbd1cf54b38bae90f451a1b239038e313ae692d39e81d2182cd018d85a4dfc298394c74da2d36218d379e226807feb9ff2cc3 SHA512 28f0ea04e45cb0a5b81b18efd3e3a011d58c077562f8039ff42e701cc362f86dff90bd505690ec22c8a42e9de1236d5b6c61d288ad4c154289e92700a2a7fcc0 +DIST libgeodecomp-0.4.0.tar.bz2 766090 BLAKE2B 2abc5d10371fbad92f957118cabd656f0b4938d5e102da6446851bd979debddaf5eba8a6321dffd32356a40ca12659d9a7a691929e71989e48a71e5177fedc51 SHA512 3ff1a45844e5879662012cb4bae5d577f30ee71094ed4063b535b0ac3da900f34a1bc25be524c006ff91e0edd665e46cbb6cfc0db7966eebfea30f9fee6eeddb EBUILD libgeodecomp-0.3.1.ebuild 1149 BLAKE2B a4f53fc01e70fc062f33b3e5977d002a24976c03501bde84cf7d18392cbdfe1c834c32f1f250fae70e3c37983bcdf3335133831e48cb3f36fdce27a9968e4c7d SHA512 25bc38e283677b494026427ef3aacf8b30b0092294fbab5536d5fae383398f2287d7fcd22b580af09f8c696ba5f90472d50bf29e7098ba19e27a1437361a82ae -MISC metadata.xml 219 BLAKE2B 7897f49c5b7e807a5e1afe99c3a3335de47d1713e53f9f099d48d8a318655ae3547a562e3b6a74bd92e49b6bd9aae104d41c7cea808c95085dbea379b0a50156 SHA512 b6db740071cb706a6dd7ce9e21ec09a11c9d63752f87e700a5cb58fc100befdfc3c6b16b3065e8a8cb9a8cd3bcae6bd162f3bcd3dfcc592e27b5f738adc71007 +EBUILD libgeodecomp-0.4.0.ebuild 1433 BLAKE2B b01b43bb080a42db99cb4f9a7d5b40cd7c398cded3f70c042c56893ff004ee5cec9e21e3247ca663a2a2e103c5a0850349c5ec6ea501d43da0c70ae136f3910b SHA512 26eebc9213e4b09c5b8708fbf2965a6e7215b65a455f54f07e97f1a088374082c14d7dcb09456821236b03bb1307185f2ac3502771aae5458944c51b10a4c407 +MISC metadata.xml 1252 BLAKE2B 1c35e4efb788c48e23b62025853472afeedfe1f860797cf22e79877e8bab3170998bb1e064ff05a36bf8ddbb6e70b40da329cf9be7ab929a7cb6a9aca2b51c04 SHA512 e8c259afc51b594f4d167128555c7c0ef6935eab46e43ee92407ed32183815cd5e3588a3b0cb0230d757dfa9ca0ddb1f36ef4887b9c31f27ee57e668413f1026 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> |