summaryrefslogtreecommitdiff
path: root/sys-cluster/hpx
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-04-12 03:41:30 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-04-12 03:41:30 +0100
commit623ee73d661e5ed8475cb264511f683407d87365 (patch)
tree993eb27c93ec7a2d2d19550300d888fc1fed9e69 /sys-cluster/hpx
parentceeeb463cc1eef97fd62eaee8bf2196ba04bc384 (diff)
gentoo Easter resync : 12.04.2020
Diffstat (limited to 'sys-cluster/hpx')
-rw-r--r--sys-cluster/hpx/Manifest11
-rw-r--r--sys-cluster/hpx/files/hpx-1.4.1-boost.patch30
-rw-r--r--sys-cluster/hpx/files/hpx-1.4.1-disable-failing-tests.patch157
-rw-r--r--sys-cluster/hpx/files/hpx-1.4.1-python.patch37
-rw-r--r--sys-cluster/hpx/hpx-1.2.1.ebuild82
-rw-r--r--sys-cluster/hpx/hpx-1.4.1.ebuild119
-rw-r--r--sys-cluster/hpx/hpx-9999.ebuild71
-rw-r--r--sys-cluster/hpx/metadata.xml24
8 files changed, 416 insertions, 115 deletions
diff --git a/sys-cluster/hpx/Manifest b/sys-cluster/hpx/Manifest
index 61e4a9bc6839..c9df3931e30a 100644
--- a/sys-cluster/hpx/Manifest
+++ b/sys-cluster/hpx/Manifest
@@ -1,4 +1,7 @@
-DIST hpx_1.2.1.tar.gz 3919474 BLAKE2B 5f62f97a047c1b931068b671855bc9d7b8ff03d7f26793ee58445fb4c567d68c6c24c87844c7a6463901d784e11afe475120a41038e783a67cc75ede508473c5 SHA512 057724de1ef252e941a776174fa594a855255b5600461725a4da6e9002b1424a1e59be3f8a40673bb3db5a8aabd3c7b38abbb78042490befe247dd73c921b87c
-EBUILD hpx-1.2.1.ebuild 1825 BLAKE2B e457a6e33e0aa9a5101a29435d696672489d3ffe2ea4378d74a9b767c34fcd801c2f63646fae744fafd7cbcdc92ce076eb11df2a79013007d40d707a24edfb5e SHA512 d52f213519a7a9282e83e819e58ed2df0331527b1f4339d3e79e124126a4a19d657387c01468508c08a1c38d3c7af2651166507105921aad1079db7da2f40dd9
-EBUILD hpx-9999.ebuild 1825 BLAKE2B e457a6e33e0aa9a5101a29435d696672489d3ffe2ea4378d74a9b767c34fcd801c2f63646fae744fafd7cbcdc92ce076eb11df2a79013007d40d707a24edfb5e SHA512 d52f213519a7a9282e83e819e58ed2df0331527b1f4339d3e79e124126a4a19d657387c01468508c08a1c38d3c7af2651166507105921aad1079db7da2f40dd9
-MISC metadata.xml 964 BLAKE2B 0f71483979af41ebf24ccf4a7b547048aaa6198d638b04963303cdbe0b3b7b86a66ff13dadaac501fcbb3c7992e3bdebffebcfbd3d82bad0fe5890e89d581b9f SHA512 2c80ae2fd03aebaa25fa19592b6f84cd343cc6c2733dde34023800805987ae91024d36b2c3246c449acdb0be18154648bc571328bb8acb8f561afc149666bf8e
+AUX hpx-1.4.1-boost.patch 1067 BLAKE2B 25002fc609e2d4eef3f8645ecd4aa68ebb7db667fe66e3b33674e175857cbc8b71d8a0c1c86304ceb02df1e7ae7eb06c7a7e21c47d2b7b377fde974dce638416 SHA512 345fa5745f5be2286214d957d6b7d9497d429d8d9628db1d3f0420fdb7df5cefd9e4e06381706b55612b033f29effd085bd68e36122824ef633f23c475a3009d
+AUX hpx-1.4.1-disable-failing-tests.patch 5828 BLAKE2B 2f550b50c8090b5ae88f665c0f862adb20046c7762045917892d435f497691063e9ce56f54aa1ab5b0451dbe9a9a8666c78d7ff6d5593ae7add9d688a87617b0 SHA512 b3b2882bcc3ea7a15ebe04f0f7596608664c21c4383f7e2619b9adf484fc976c6ab5cd820dd0c941af1e2f6000edf2e894ff7aa5f7fd6e0e2e6ec835b58dcbe8
+AUX hpx-1.4.1-python.patch 1095 BLAKE2B e0bf47364e01f96b065af8d3a1e0a23c536f66a56baa71903778528c801dd6ea6d7acf9a3f2acbb580f75d1493752b1c0c30c8ed3c9ee7f71da8c007c93739e3 SHA512 4eee43504e1e60b0ee61fc9d2ea2c61c3b1c7ef00dea38d3b913e7cd8ebbeb9561394ad4680a9b6e9e995a2d3b8478abea9d8221de055f3d810f24db39bf7760
+DIST hpx_1.4.1.tar.gz 4213023 BLAKE2B dc8a9cda3061359ea1bb8eba9ccee60dea308f5425cfe0f18d9003032726962d74d417b8748124c8e6a0b207624093ccf625c82e9e1a71fce8dde74d41d987d2 SHA512 f110d5e5c10ec396f6e762568c9ecd5b767cb6efe91168b5caa8fe1e07bb5870cd13b3392fa4e008a2cc0e044b02084a35b0866e943d9b9c7435599c131f1582
+EBUILD hpx-1.4.1.ebuild 2566 BLAKE2B 9546da2933c11e1e6a50cc56149a8fe416df47caa2d911926908409c3f003229f039389ad447ef784400c537c741fe724cb9ae3cce27725f7e089d4e71b8b8ee SHA512 4fea42c1e6c0bce3c5f959dfb2242686fab0002d5ed9bfea57b71aa3ce2354e07820b26a8334fd67232ef252075ffe406f08a5a7990aedecfe21ec763ada1f13
+EBUILD hpx-9999.ebuild 2440 BLAKE2B 2ad7756b471e832b5b6a7890686ca6c2dfc942bf0ea3ae6e92607b5709dd301d8a5ce121c78155ab730147cf4f767d436f979c9d83934bc5e11ccf1154416710 SHA512 5d683f05438d5e2f08d6872e6955cf8806d72f2f3bdb234b693bec0505263f1330d3bb8f196b104e08342e36e22cf442b2e7b77047c0a5f1715e1e31269bcbcd
+MISC metadata.xml 1189 BLAKE2B a6fedaeaa9c32038109691eb64fd62dd0cf0bc2104710fa49d57a95b09674a23d4e38d03fa2e306734b587a8682c1a7007ed078988226c39f17ccacece740a52 SHA512 eddd398a02bfa3716a373a6cb909a881efd72c11d7e4ce05a722da1fb5d5e464b59999d5bf0de2e608f768d6ceb50ccd64d43e77088c19fa1b28a19b404469da
diff --git a/sys-cluster/hpx/files/hpx-1.4.1-boost.patch b/sys-cluster/hpx/files/hpx-1.4.1-boost.patch
new file mode 100644
index 000000000000..939f4f77813c
--- /dev/null
+++ b/sys-cluster/hpx/files/hpx-1.4.1-boost.patch
@@ -0,0 +1,30 @@
+From 1a3615f30491320d48e45005ad7b032fb3c1821d Mon Sep 17 00:00:00 2001
+From: Kurt Kanzenbach <kurt@kmk-computers.de>
+Date: Sun, 22 Mar 2020 12:49:59 +0100
+Subject: [PATCH] cmake: Remove passing of BOOST_ROOT
+
+That variable is not used and generates QA issues:
+
+ * One or more CMake variables were not used by the project:
+ * BOOST_ROOT
+
+Signed-off-by: Kurt Kanzenbach <kurt@kmk-computers.de>
+---
+ tests/unit/build/CMakeLists.txt | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/tests/unit/build/CMakeLists.txt b/tests/unit/build/CMakeLists.txt
+index 757f4887fba2..2163b853fbad 100644
+--- a/tests/unit/build/CMakeLists.txt
++++ b/tests/unit/build/CMakeLists.txt
+@@ -38,7 +38,6 @@ function(create_cmake_test name hpx_dir)
+ "${CMAKE_COMMAND}" -E chdir "${build_dir}" "${CMAKE_COMMAND}"
+ "${PROJECT_SOURCE_DIR}/examples/hello_world_component"
+ -DHPX_DIR=${hpx_dir}
+- -DBOOST_ROOT=${BOOST_ROOT}
+ ${ADDITIONAL_CMAKE_OPTIONS}
+ -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS_SAFE}
+ -DCMAKE_BUILD_TYPE=$<CONFIGURATION> VERBATIM)
+--
+2.24.1
+
diff --git a/sys-cluster/hpx/files/hpx-1.4.1-disable-failing-tests.patch b/sys-cluster/hpx/files/hpx-1.4.1-disable-failing-tests.patch
new file mode 100644
index 000000000000..492cbaf23781
--- /dev/null
+++ b/sys-cluster/hpx/files/hpx-1.4.1-disable-failing-tests.patch
@@ -0,0 +1,157 @@
+From 10577db8e8ca556dc98b1c0010b7e53416e22b22 Mon Sep 17 00:00:00 2001
+From: Kurt Kanzenbach <kurt@kmk-computers.de>
+Date: Tue, 17 Mar 2020 11:21:53 +0100
+Subject: [PATCH] tests: Disable failing tests
+
+Currently six tests are failing:
+
+|99% tests passed, 6 tests failed out of 712
+|
+|Total Test time (real) = 2268.99 sec
+|
+|The following tests FAILED:
+| 339 - tests.unit.modules.segmented_algorithms.distributed.tcp.partitioned_vector_adjacent_find1 (Failed)
+| 454 - tests.regressions.dynamic_counters_loaded_1508 (Failed)
+| 601 - tests.unit.component.launch_process (Timeout)
+| 678 - tests.unit.threads.distributed.tcp.thread_stacksize (Failed)
+| 681 - tests.unit.topology.numa_allocator (Failed)
+| 712 - tests.unit.parcelset.distributed.tcp.put_parcels_with_coalescing (Failed)
+
+Needs to be further investigated. Disable them for now.
+
+Signed-off-by: Kurt Kanzenbach <kurt@kmk-computers.de>
+---
+ .../tests/unit/CMakeLists.txt | 2 +-
+ tests/regressions/CMakeLists.txt | 2 +-
+ tests/unit/component/CMakeLists.txt | 36 +++++++++----------
+ tests/unit/parcelset/CMakeLists.txt | 2 +-
+ tests/unit/threads/CMakeLists.txt | 2 +-
+ tests/unit/topology/CMakeLists.txt | 6 ++--
+ 6 files changed, 25 insertions(+), 25 deletions(-)
+
+diff --git a/libs/segmented_algorithms/tests/unit/CMakeLists.txt b/libs/segmented_algorithms/tests/unit/CMakeLists.txt
+index 1ed7dbd7798a..17d5e4cca3b4 100644
+--- a/libs/segmented_algorithms/tests/unit/CMakeLists.txt
++++ b/libs/segmented_algorithms/tests/unit/CMakeLists.txt
+@@ -7,7 +7,7 @@
+ set(tests
+ partitioned_vector_adjacent_difference1
+ partitioned_vector_adjacent_difference2
+- partitioned_vector_adjacent_find1
++ # partitioned_vector_adjacent_find1
+ partitioned_vector_adjacent_find2
+ partitioned_vector_all_of1
+ partitioned_vector_all_of2
+diff --git a/tests/regressions/CMakeLists.txt b/tests/regressions/CMakeLists.txt
+index 5a70ab8bfc99..fa4574ee0bf3 100644
+--- a/tests/regressions/CMakeLists.txt
++++ b/tests/regressions/CMakeLists.txt
+@@ -25,7 +25,7 @@ foreach(subdir ${subdirs})
+ endforeach()
+
+ set(tests
+- dynamic_counters_loaded_1508
++ # dynamic_counters_loaded_1508
+ id_type_ref_counting_1032
+ multiple_init
+ multiple_init_2918
+diff --git a/tests/unit/component/CMakeLists.txt b/tests/unit/component/CMakeLists.txt
+index 8deacffedb7b..49511e82e478 100644
+--- a/tests/unit/component/CMakeLists.txt
++++ b/tests/unit/component/CMakeLists.txt
+@@ -29,25 +29,25 @@ set(tests
+ )
+
+ if(HPX_WITH_NETWORKING)
+- set(tests ${tests}
+- launch_process
+- )
++ # set(tests ${tests}
++ # launch_process
++ # )
+
+ # add executable needed for launch_process_test
+- add_hpx_executable(launched_process_test
+- INTERNAL_FLAGS
+- SOURCES launched_process.cpp
+- EXCLUDE_FROM_ALL
+- HPX_PREFIX ${HPX_BUILD_PREFIX}
+- FOLDER "Tests/Unit/Components"
+- COMPONENT_DEPENDENCIES launch_process_test_server)
+-
+- set(launch_process_FLAGS
+- DEPENDENCIES iostreams_component process_component
+- launch_process_test_server_component)
+- set(launch_process_PARAMETERS
+- --launch=$<TARGET_FILE:launched_process_test>
+- --hpx:expect-connecting-localities)
++ # add_hpx_executable(launched_process_test
++ # INTERNAL_FLAGS
++ # SOURCES launched_process.cpp
++ # EXCLUDE_FROM_ALL
++ # HPX_PREFIX ${HPX_BUILD_PREFIX}
++ # FOLDER "Tests/Unit/Components"
++ # COMPONENT_DEPENDENCIES launch_process_test_server)
++
++ # set(launch_process_FLAGS
++ # DEPENDENCIES iostreams_component process_component
++ # launch_process_test_server_component)
++ # set(launch_process_PARAMETERS
++ # --launch=$<TARGET_FILE:launched_process_test>
++ # --hpx:expect-connecting-localities)
+ endif()
+
+ set(action_invoke_no_more_than_PARAMETERS
+@@ -123,5 +123,5 @@ foreach(test ${tests})
+ endforeach()
+
+ if(HPX_WITH_NETWORKING)
+- add_hpx_pseudo_dependencies(tests.unit.component.launch_process launched_process_test)
++ # add_hpx_pseudo_dependencies(tests.unit.component.launch_process launched_process_test)
+ endif()
+diff --git a/tests/unit/parcelset/CMakeLists.txt b/tests/unit/parcelset/CMakeLists.txt
+index 93c5844b9210..ec2ffacd0f99 100644
+--- a/tests/unit/parcelset/CMakeLists.txt
++++ b/tests/unit/parcelset/CMakeLists.txt
+@@ -16,7 +16,7 @@ set(put_parcels_FLAGS DEPENDENCIES iostreams_component)
+ set(set_parcel_write_handler_PARAMETERS LOCALITIES 2)
+
+ if(HPX_WITH_PARCEL_COALESCING)
+- set(tests ${tests} put_parcels_with_coalescing)
++ # set(tests ${tests} put_parcels_with_coalescing)
+ set(put_parcels_with_coalescing_PARAMETERS LOCALITIES 2)
+ set(put_parcels_with_coalescing_FLAGS DEPENDENCIES iostreams_component parcel_coalescing)
+ endif()
+diff --git a/tests/unit/threads/CMakeLists.txt b/tests/unit/threads/CMakeLists.txt
+index df0a1eff4dbb..d542d24136b7 100644
+--- a/tests/unit/threads/CMakeLists.txt
++++ b/tests/unit/threads/CMakeLists.txt
+@@ -17,7 +17,7 @@ set(tests
+ thread_id
+ thread_launching
+ thread_mf
+- thread_stacksize
++ # thread_stacksize
+ thread_suspension_executor
+ thread_yield
+ )
+diff --git a/tests/unit/topology/CMakeLists.txt b/tests/unit/topology/CMakeLists.txt
+index 8a8a26b294fb..9f6311395c61 100644
+--- a/tests/unit/topology/CMakeLists.txt
++++ b/tests/unit/topology/CMakeLists.txt
+@@ -5,9 +5,9 @@
+ # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ if (HPX_WITH_SHARED_PRIORITY_SCHEDULER AND HPX_WITH_CXX14_RETURN_TYPE_DEDUCTION)
+- set(tests ${tests}
+- numa_allocator
+- )
++ # set(tests ${tests}
++ # numa_allocator
++ # )
+
+ # NB. threads = -2 = threads = 'cores'
+ # NB. threads = -1 = threads = 'all'
+--
+2.24.1
+
diff --git a/sys-cluster/hpx/files/hpx-1.4.1-python.patch b/sys-cluster/hpx/files/hpx-1.4.1-python.patch
new file mode 100644
index 000000000000..d28c8a61f238
--- /dev/null
+++ b/sys-cluster/hpx/files/hpx-1.4.1-python.patch
@@ -0,0 +1,37 @@
+From 641d9766c73d2ee08aac8e1e0dd123b9d6db0c25 Mon Sep 17 00:00:00 2001
+From: Kurt Kanzenbach <kurt@kmk-computers.de>
+Date: Tue, 17 Mar 2020 16:20:35 +0100
+Subject: [PATCH] cmake: python: Use standard python interpreter
+
+These scripts are needed during build and run time. So, use a python interpreter
+which works for both cases.
+
+Signed-off-by: Kurt Kanzenbach <kurt@kmk-computers.de>
+---
+ cmake/templates/hpxcxx.in | 2 +-
+ cmake/templates/hpxrun.py.in | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/templates/hpxcxx.in b/cmake/templates/hpxcxx.in
+index 81f38f89367d..a0fd7837b066 100755
+--- a/cmake/templates/hpxcxx.in
++++ b/cmake/templates/hpxcxx.in
+@@ -1,4 +1,4 @@
+-#! @PYTHON_EXECUTABLE@
++#! /usr/bin/env python
+ #
+ # Copyright (c) 2014 Steven R. Brandt
+ #
+diff --git a/cmake/templates/hpxrun.py.in b/cmake/templates/hpxrun.py.in
+index 0e9f04a60495..7ccd2715a697 100755
+--- a/cmake/templates/hpxrun.py.in
++++ b/cmake/templates/hpxrun.py.in
+@@ -1,4 +1,4 @@
+-#! @PYTHON_EXECUTABLE@
++#! /usr/bin/env python
+ #
+ # Copyright (c) 2014 Thomas Heller
+ #
+--
+2.24.1
+
diff --git a/sys-cluster/hpx/hpx-1.2.1.ebuild b/sys-cluster/hpx/hpx-1.2.1.ebuild
deleted file mode 100644
index d075974e0bd9..000000000000
--- a/sys-cluster/hpx/hpx-1.2.1.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_6 )
-
-if [[ ${PV} == 9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/STEllAR-GROUP/hpx.git"
-else
- SRC_URI="https://stellar.cct.lsu.edu/files/${PN}_${PV}.tar.gz"
- KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
- S="${WORKDIR}/${PN}_${PV}"
-fi
-inherit cmake fortran-2 python-any-r1
-
-DESCRIPTION="C++ runtime system for parallel and distributed applications"
-HOMEPAGE="https://stellar.cct.lsu.edu/tag/hpx/"
-
-SLOT="0"
-LICENSE="Boost-1.0"
-IUSE="doc examples jemalloc papi +perftools tbb test"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="?? ( jemalloc perftools tbb )"
-
-BDEPEND="
- virtual/pkgconfig
- doc? ( >=dev-libs/boost-1.56.0-r1[tools] )
-"
-RDEPEND="
- >=dev-libs/boost-1.49:=
- >=sys-apps/hwloc-1.8
- >=sys-libs/libunwind-1
- sys-libs/zlib
- papi? ( dev-libs/papi )
- perftools? ( >=dev-util/google-perftools-1.7.1 )
- tbb? ( dev-cpp/tbb )
-"
-DEPEND="${RDEPEND}
- test? ( ${PYTHON_DEPS} )
-"
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
-}
-
-src_configure() {
- local mycmakeargs=(
- -DHPX_WITH_EXAMPLES=OFF
- -DHPX_WITH_DOCUMENTATION=$(usex doc)
- -DHPX_WITH_PAPI=$(usex papi)
- -DHPX_WITH_GOOGLE_PERFTOOLS=$(usex perftools)
- -DBUILD_TESTING=$(usex test)
- )
- if use jemalloc; then
- mycmakeargs+=( -DHPX_WITH_MALLOC=jemalloc )
- elif use perftools; then
- mycmakeargs+=( -DHPX_WITH_MALLOC=tcmalloc )
- elif use tbb; then
- mycmakeargs+=( -DHPX_WITH_MALLOC=tbbmalloc )
- else
- mycmakeargs+=( -DHPX_WITH_MALLOC=system )
- fi
-
- cmake_src_configure
-}
-
-src_test() {
- # avoid over-suscribing
- cmake_build -j1 tests
-}
-
-src_install() {
- cmake_src_install
- if use examples; then
- mv "${D}/usr/bin/spin" "${D}/usr/bin/hpx_spin" || die
- insinto /usr/share/doc/${PF}
- doins -r examples
- fi
-}
diff --git a/sys-cluster/hpx/hpx-1.4.1.ebuild b/sys-cluster/hpx/hpx-1.4.1.ebuild
new file mode 100644
index 000000000000..9a3dc2abc763
--- /dev/null
+++ b/sys-cluster/hpx/hpx-1.4.1.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..8} )
+
+if [[ ${PV} == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/STEllAR-GROUP/hpx.git"
+else
+ SRC_URI="https://stellar.cct.lsu.edu/files/${PN}_${PV}.tar.gz"
+ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+fi
+inherit cmake fortran-2 python-single-r1 check-reqs
+
+DESCRIPTION="C++ runtime system for parallel and distributed applications"
+HOMEPAGE="https://stellar.cct.lsu.edu/tag/hpx/"
+
+SLOT="0"
+LICENSE="Boost-1.0"
+IUSE="doc examples jemalloc mpi papi +perftools tbb test"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ ?? ( jemalloc perftools tbb )
+"
+
+BDEPEND="
+ virtual/pkgconfig
+ doc? (
+ ${PYTHON_DEPS}
+ app-doc/doxygen
+ $(python_gen_cond_dep '
+ dev-python/sphinx[${PYTHON_MULTI_USEDEP}]
+ dev-python/sphinx_rtd_theme[${PYTHON_MULTI_USEDEP}]
+ >=dev-python/breathe-4.14[${PYTHON_MULTI_USEDEP}]
+ ')
+ )
+ test? ( ${PYTHON_DEPS} )
+"
+RDEPEND="
+ ${PYTHON_DEPS}
+ dev-libs/boost:=
+ sys-apps/hwloc
+ sys-libs/zlib
+ mpi? ( virtual/mpi )
+ papi? ( dev-libs/papi )
+ perftools? ( dev-util/google-perftools )
+ tbb? ( dev-cpp/tbb )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-boost.patch"
+ "${FILESDIR}/${P}-disable-failing-tests.patch"
+ "${FILESDIR}/${P}-python.patch"
+)
+
+hpx_memory_requirement() {
+ # HPX needs enough main memory for compiling
+ # rule of thumb: 1G per job
+ if [[ -z ${MAKEOPTS} ]] ; then
+ echo "2G"
+ else
+ local jobs=`echo ${MAKEOPTS} | cut -d j -f 2`
+ echo "${jobs}G"
+ fi
+}
+
+pkg_pretend() {
+ local CHECKREQS_MEMORY=$(hpx_memory_requirement)
+ check-reqs_pkg_setup
+}
+
+pkg_setup() {
+ local CHECKREQS_MEMORY=$(hpx_memory_requirement)
+ check-reqs_pkg_setup
+ python-single-r1_pkg_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DHPX_WITH_EXAMPLES=OFF
+ -DHPX_WITH_DOCUMENTATION=$(usex doc)
+ -DHPX_WITH_PARCELPORT_MPI=$(usex mpi)
+ -DHPX_WITH_PAPI=$(usex papi)
+ -DHPX_WITH_GOOGLE_PERFTOOLS=$(usex perftools)
+ -DBUILD_TESTING=$(usex test)
+ )
+ if use jemalloc; then
+ mycmakeargs+=( -DHPX_WITH_MALLOC=jemalloc )
+ elif use perftools; then
+ mycmakeargs+=( -DHPX_WITH_MALLOC=tcmalloc )
+ elif use tbb; then
+ mycmakeargs+=( -DHPX_WITH_MALLOC=tbbmalloc )
+ else
+ mycmakeargs+=( -DHPX_WITH_MALLOC=system )
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ use test && cmake_build tests
+}
+
+src_test() {
+ # avoid over-suscribing
+ cmake_src_test -j1
+}
+
+src_install() {
+ cmake_src_install
+ use examples && dodoc -r examples/
+ python_fix_shebang "${ED}"
+}
diff --git a/sys-cluster/hpx/hpx-9999.ebuild b/sys-cluster/hpx/hpx-9999.ebuild
index d075974e0bd9..25019566f392 100644
--- a/sys-cluster/hpx/hpx-9999.ebuild
+++ b/sys-cluster/hpx/hpx-9999.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python3_6 )
+PYTHON_COMPAT=( python3_{6..8} )
if [[ ${PV} == 9999 ]] ; then
inherit git-r3
@@ -11,45 +11,74 @@ if [[ ${PV} == 9999 ]] ; then
else
SRC_URI="https://stellar.cct.lsu.edu/files/${PN}_${PV}.tar.gz"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
- S="${WORKDIR}/${PN}_${PV}"
fi
-inherit cmake fortran-2 python-any-r1
+inherit cmake fortran-2 python-single-r1 check-reqs
DESCRIPTION="C++ runtime system for parallel and distributed applications"
HOMEPAGE="https://stellar.cct.lsu.edu/tag/hpx/"
SLOT="0"
LICENSE="Boost-1.0"
-IUSE="doc examples jemalloc papi +perftools tbb test"
+IUSE="doc examples jemalloc mpi papi +perftools tbb test"
RESTRICT="!test? ( test )"
-REQUIRED_USE="?? ( jemalloc perftools tbb )"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ ?? ( jemalloc perftools tbb )
+"
BDEPEND="
virtual/pkgconfig
- doc? ( >=dev-libs/boost-1.56.0-r1[tools] )
+ doc? (
+ ${PYTHON_DEPS}
+ app-doc/doxygen
+ $(python_gen_cond_dep '
+ dev-python/sphinx[${PYTHON_MULTI_USEDEP}]
+ dev-python/sphinx_rtd_theme[${PYTHON_MULTI_USEDEP}]
+ >=dev-python/breathe-4.14[${PYTHON_MULTI_USEDEP}]
+ ')
+ )
+ test? ( ${PYTHON_DEPS} )
"
RDEPEND="
- >=dev-libs/boost-1.49:=
- >=sys-apps/hwloc-1.8
- >=sys-libs/libunwind-1
+ ${PYTHON_DEPS}
+ dev-libs/boost:=
+ sys-apps/hwloc
sys-libs/zlib
+ mpi? ( virtual/mpi )
papi? ( dev-libs/papi )
- perftools? ( >=dev-util/google-perftools-1.7.1 )
+ perftools? ( dev-util/google-perftools )
tbb? ( dev-cpp/tbb )
"
-DEPEND="${RDEPEND}
- test? ( ${PYTHON_DEPS} )
-"
+DEPEND="${RDEPEND}"
+
+hpx_memory_requirement() {
+ # HPX needs enough main memory for compiling
+ # rule of thumb: 1G per job
+ if [[ -z ${MAKEOPTS} ]] ; then
+ echo "2G"
+ else
+ local jobs=`echo ${MAKEOPTS} | cut -d j -f 2`
+ echo "${jobs}G"
+ fi
+}
+
+pkg_pretend() {
+ local CHECKREQS_MEMORY=$(hpx_memory_requirement)
+ check-reqs_pkg_setup
+}
pkg_setup() {
- use test && python-any-r1_pkg_setup
+ local CHECKREQS_MEMORY=$(hpx_memory_requirement)
+ check-reqs_pkg_setup
+ python-single-r1_pkg_setup
}
src_configure() {
local mycmakeargs=(
-DHPX_WITH_EXAMPLES=OFF
-DHPX_WITH_DOCUMENTATION=$(usex doc)
+ -DHPX_WITH_PARCELPORT_MPI=$(usex mpi)
-DHPX_WITH_PAPI=$(usex papi)
-DHPX_WITH_GOOGLE_PERFTOOLS=$(usex perftools)
-DBUILD_TESTING=$(usex test)
@@ -67,16 +96,18 @@ src_configure() {
cmake_src_configure
}
+src_compile() {
+ cmake_src_compile
+ use test && cmake_build tests
+}
+
src_test() {
# avoid over-suscribing
- cmake_build -j1 tests
+ cmake_src_test -j1
}
src_install() {
cmake_src_install
- if use examples; then
- mv "${D}/usr/bin/spin" "${D}/usr/bin/hpx_spin" || die
- insinto /usr/share/doc/${PF}
- doins -r examples
- fi
+ use examples && dodoc -r examples/
+ python_fix_shebang "${ED}"
}
diff --git a/sys-cluster/hpx/metadata.xml b/sys-cluster/hpx/metadata.xml
index af517a2b5293..f23d6af9310e 100644
--- a/sys-cluster/hpx/metadata.xml
+++ b/sys-cluster/hpx/metadata.xml
@@ -2,15 +2,21 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<longdescription>
- HPX (High Performance ParalleX) is a general C++ runtime system
- for parallel and distributed applications of any scale. It is the
- first freely available, open source, feature-complete, modular,
- and performance oriented implementation of the ParalleX execution
- model. HPX is targeted at conventional architectures and,
- currently, Linux based systems, such as SMP nodes and conventional
- clusters.
-</longdescription>
- <!-- maintainer-needed -->
+ HPX (High Performance ParalleX) is a general C++ runtime system for parallel
+ and distributed applications of any scale. It is the first freely available,
+ open source, feature-complete, modular, and performance oriented
+ implementation of the ParalleX execution model. HPX is targeted at
+ conventional architectures and, currently, Linux based systems, such as SMP
+ nodes and conventional clusters.
+ </longdescription>
+ <maintainer type="person">
+ <email>kurt@kmk-computers.de</email>
+ <name>Kurt Kanzenbach</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<use>
<flag name="perftools">Use <pkg>dev-util/google-perftools</pkg> for
memory allocation</flag>