diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /sys-cluster/hpx | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'sys-cluster/hpx')
-rw-r--r-- | sys-cluster/hpx/Manifest | 3 | ||||
-rw-r--r-- | sys-cluster/hpx/files/hpx-0.9.8-cmake_dir.patch | 27 | ||||
-rw-r--r-- | sys-cluster/hpx/files/hpx-0.9.8-install-path.patch | 69 | ||||
-rw-r--r-- | sys-cluster/hpx/files/hpx-0.9.8-multilib.patch | 163 | ||||
-rw-r--r-- | sys-cluster/hpx/hpx-0.9.10.ebuild | 78 | ||||
-rw-r--r-- | sys-cluster/hpx/hpx-0.9.8.ebuild | 87 | ||||
-rw-r--r-- | sys-cluster/hpx/hpx-0.9.9.ebuild | 80 | ||||
-rw-r--r-- | sys-cluster/hpx/metadata.xml | 27 |
8 files changed, 534 insertions, 0 deletions
diff --git a/sys-cluster/hpx/Manifest b/sys-cluster/hpx/Manifest new file mode 100644 index 000000000000..9948751f96a1 --- /dev/null +++ b/sys-cluster/hpx/Manifest @@ -0,0 +1,3 @@ +DIST hpx-0.9.9.tar.gz 3461235 SHA256 cb17ac303f49795300c6b803725036aa09b434a7a23a610744457d3481be3738 SHA512 95332c924548f7d07e24c56d3d72e8aa5977a1347666fb2a0f3782fec040e83e5760750a1696cf8152d7b3f8b90ce719fe24018086a5165429b3f9851c2f7e1f WHIRLPOOL 370646b98c89133a8fd23cb17ecaefc477e09b07508884f4343526050a12fae117f1fd0e24881b9896beca97ca08d4bad8526b39cfec1cad0ce48d8826ea3c43 +DIST hpx_0.9.10.tar.gz 3016064 SHA256 af84455003bbf49fd81477138e6c7e699b7c24a4933de04d709c1437a9ad6aad SHA512 4c5ce7014d781c47415818898b99e5379e1547dd5f54fdefc9202de149ca4a0e3bf13c863cdea9ef70f7e3eb2c808cfda35d723a7f681745b8514a1887cbbb75 WHIRLPOOL 2fbc2c32532eb8141e6eb86a8e99ed4a7d4a6bb87bff9b383c4e4b5b0628fb5d6975672eaf5423f87b13f2f1d07e039362450b0276fa120f5a5abc8d7077408c +DIST hpx_0.9.8.7z 2089649 SHA256 9e04685b07e4155e6d3e00c944e5fe91c0c815a2b3bc7bc345eb59d8708bac91 SHA512 1789582ee776173d4aa67b512d2df225c734b98ffe59a8f1eee38b5112ac7c02e0c7c478f72062e5b6a5d5053ce1848729c374093378f63200acf51a208fb3c7 WHIRLPOOL b4b5a8a83aa4d07466ee0570b9fdadd906281e626eed2ce82e3a8e03681de1591a46af2254cbd387eb2d0bfac22c6796537fbbb37764be7dd424b97dd0d433c7 diff --git a/sys-cluster/hpx/files/hpx-0.9.8-cmake_dir.patch b/sys-cluster/hpx/files/hpx-0.9.8-cmake_dir.patch new file mode 100644 index 000000000000..b5c66c284752 --- /dev/null +++ b/sys-cluster/hpx/files/hpx-0.9.8-cmake_dir.patch @@ -0,0 +1,27 @@ +From e565c2cce934f2d6fa6e80061c416a2e7df0f311 Mon Sep 17 00:00:00 2001 +From: Christoph Junghans <junghans@lanl.gov> +Date: Tue, 20 May 2014 11:18:21 -0600 +Subject: [PATCH] make cmake_dir configure-able + +--- + CMakeLists.txt | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8ad79cb..e6f392a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1981,7 +1981,9 @@ endforeach() + # Make list unique + list(REMOVE_DUPLICATES external_definitions) + +-set(cmake_dir cmake-${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}) ++if (NOT DEFINED cmake_dir) ++ set(cmake_dir cmake-${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}) ++endif(NOT DEFINED cmake_dir) + + if(MSVC) + set(output_dir "${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}") +-- +1.8.5.5 + diff --git a/sys-cluster/hpx/files/hpx-0.9.8-install-path.patch b/sys-cluster/hpx/files/hpx-0.9.8-install-path.patch new file mode 100644 index 000000000000..f5c867b9b4a2 --- /dev/null +++ b/sys-cluster/hpx/files/hpx-0.9.8-install-path.patch @@ -0,0 +1,69 @@ +From 5c04f9c2d47a41f6113f45eeb4dd9f7968f2cd52 Mon Sep 17 00:00:00 2001 +From: Christoph Junghans <junghans@lanl.gov> +Date: Tue, 20 May 2014 09:27:47 -0600 +Subject: [PATCH] fix make install non-empty DESTDIR + +Symlinks were created even when make install was called with a +non-empty DESTDIR variable. Fixed by creating the symlinks in build +directory first and then install them using common install. +DESTDIR installation is needed for binary packages. +--- + CMakeLists.txt | 31 +++++++++++++++++++------------ + 1 file changed, 19 insertions(+), 12 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 00a71c7..8d5df19 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1762,15 +1762,22 @@ if(NOT HPX_NO_INSTALL) + + if(UNIX) + file(GLOB scripts "${CMAKE_SOURCE_DIR}/python/scripts/*.py") ++ execute_process(COMMAND "${CMAKE_COMMAND}" -E make_directory ++ "${CMAKE_BINARY_DIR}/python/scripts" ) + foreach(script ${scripts}) + get_filename_component(script_name ${script} NAME) + get_filename_component(script_name_we ${script} NAME_WE) +- install(CODE +- "set(bindir \"${CMAKE_INSTALL_PREFIX}/bin/\") +- execute_process( +- COMMAND \"\${CMAKE_COMMAND}\" -E create_symlink +- \"${script_name}\" \"${script_name_we}\" +- WORKING_DIRECTORY \"\${bindir}\")") ++ ++ #make copy, so that we have intact symlink in CMAKE_BINARY_DIR ++ execute_process( ++ COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${script}" "${script_name}" ++ WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/python/scripts") ++ ++ execute_process( ++ COMMAND "${CMAKE_COMMAND}" -E create_symlink "${script_name}" "${script_name_we}" ++ WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/python/scripts") ++ ++ install(FILES "${CMAKE_BINARY_DIR}/python/scripts/${script_name_we}" DESTINATION "bin") + endforeach() + endif() + +@@ -1781,13 +1788,13 @@ if(NOT HPX_NO_INSTALL) + FILES_MATCHING PATTERN "*.py" + PATTERN ".git" EXCLUDE) + ++ execute_process(COMMAND "${CMAKE_COMMAND}" -E make_directory "${CMAKE_BINARY_DIR}/python" ) ++ #make symlink, so that we have intact hpx symlink in CMAKE_BINARY_DIR ++ execute_process(COMMAND "${CMAKE_COMMAND}" -E create_symlink "${CMAKE_SOURCE_DIR}/python/hpx" ++ "hpx-${HPX_VERSION}" WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/python") + # create a symlink in share pointing to the latest HPX installation +- install(CODE +- "set(sharedir \"${CMAKE_INSTALL_PREFIX}/share/\") +- execute_process( +- COMMAND \"\${CMAKE_COMMAND}\" -E create_symlink +- \"hpx-${HPX_VERSION}\" \"hpx\" +- WORKING_DIRECTORY \"\${sharedir}\")") ++ execute_process(COMMAND "${CMAKE_COMMAND}" -E create_symlink "hpx-${HPX_VERSION}" "hpx" WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/python") ++ install(DIRECTORY "${CMAKE_BINARY_DIR}/python/hpx" DESTINATION "share") + + install( # Install external dependencies + DIRECTORY external/cache/boost +-- +1.8.5.5 + diff --git a/sys-cluster/hpx/files/hpx-0.9.8-multilib.patch b/sys-cluster/hpx/files/hpx-0.9.8-multilib.patch new file mode 100644 index 000000000000..470e76e3b800 --- /dev/null +++ b/sys-cluster/hpx/files/hpx-0.9.8-multilib.patch @@ -0,0 +1,163 @@ +From 383acb45e75406fb94bb4fa86c162a78c05ab840 Mon Sep 17 00:00:00 2001 +From: Christoph Junghans <junghans@lanl.gov> +Date: Tue, 20 May 2014 11:03:16 -0600 +Subject: [PATCH] added LIB cmake option to configure lib directory + +for multiarch distributions the lib directory needs to changed +from 'lib' to 'lib64'/'lib32'. Add an cmake option to do this. +--- + CMakeLists.txt | 11 +++++++---- + cmake/HPX_AddComponent.cmake | 2 +- + cmake/HPX_AddLibrary.cmake | 2 +- + plugins/binary_filter/bzip2/CMakeLists.txt | 2 +- + plugins/binary_filter/snappy/CMakeLists.txt | 2 +- + plugins/binary_filter/zlib/CMakeLists.txt | 2 +- + plugins/parcel/coalescing/CMakeLists.txt | 2 +- + src/CMakeLists.txt | 6 +++--- + 8 files changed, 16 insertions(+), 13 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8d5df19..8ad79cb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -192,6 +192,9 @@ else() + "64" ADVANCED) + endif() + ++if (NOT DEFINED LIB) ++ set(LIB "lib") ++endif(NOT DEFINED LIB) + ############################################################################### + if(UNIX) + hpx_link_directories("${CMAKE_BINARY_DIR}/lib/hpx") +@@ -2027,14 +2030,14 @@ + if(NOT HPX_NO_INSTALL) + if(NOT ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")) + install(FILES ${output_dir}/lib/pkgconfig/hpx_application.pc +- DESTINATION lib/pkgconfig) ++ DESTINATION ${LIB}/pkgconfig) + install(FILES ${output_dir}/lib/pkgconfig/hpx_component.pc +- DESTINATION lib/pkgconfig) ++ DESTINATION ${LIB}/pkgconfig) + else() + install(FILES ${output_dir}/lib/pkgconfig/hpx_application_debug.pc +- DESTINATION lib/pkgconfig) ++ DESTINATION ${LIB}/pkgconfig) + install(FILES ${output_dir}/lib/pkgconfig/hpx_component_debug.pc +- DESTINATION lib/pkgconfig) ++ DESTINATION ${LIB}/pkgconfig) + endif() + endif() + +diff --git a/cmake/HPX_AddComponent.cmake b/cmake/HPX_AddComponent.cmake +index afbee24..babca54 100644 +--- a/cmake/HPX_AddComponent.cmake ++++ b/cmake/HPX_AddComponent.cmake +@@ -258,7 +258,7 @@ macro(add_hpx_component name) + if(${name}_INSTALL_SUFFIX) + hpx_library_install("${name}_component" "${${name}_INSTALL_SUFFIX}") + else() +- hpx_library_install(${name}_component lib/hpx) ++ hpx_library_install(${name}_component ${LIB}/hpx) + endif() + + foreach(target ${${name}_INI}) +diff --git a/cmake/HPX_AddLibrary.cmake b/cmake/HPX_AddLibrary.cmake +index 7f39700..8524a45 100644 +--- a/cmake/HPX_AddLibrary.cmake ++++ b/cmake/HPX_AddLibrary.cmake +@@ -248,7 +248,7 @@ macro(add_hpx_library name) + if(${name}_INSTALL_SUFFIX) + hpx_library_install("${name}_lib" "${${name}_INSTALL_SUFFIX}") + else() +- hpx_library_install(${name}_lib lib/hpx) ++ hpx_library_install(${name}_lib ${LIB}/hpx) + endif() + endif() + endmacro() +diff --git a/plugins/binary_filter/bzip2/CMakeLists.txt b/plugins/binary_filter/bzip2/CMakeLists.txt +index 2580164..b2fbf40 100644 +--- a/plugins/binary_filter/bzip2/CMakeLists.txt ++++ b/plugins/binary_filter/bzip2/CMakeLists.txt +@@ -38,7 +38,7 @@ macro(add_bzip2_module) + add_hpx_pseudo_dependencies(plugins.compression.bzip2 compress_bzip2_lib) + + if(NOT HPX_NO_INSTALL) +- hpx_library_install(compress_bzip2_lib lib/hpx) ++ hpx_library_install(compress_bzip2_lib ${LIB}/hpx) + endif() + endif() + endmacro() +diff --git a/plugins/binary_filter/snappy/CMakeLists.txt b/plugins/binary_filter/snappy/CMakeLists.txt +index 6a7bbac..47e5966 100644 +--- a/plugins/binary_filter/snappy/CMakeLists.txt ++++ b/plugins/binary_filter/snappy/CMakeLists.txt +@@ -30,7 +30,7 @@ macro(add_snappy_module) + add_hpx_pseudo_dependencies(plugins.compression.snappy compress_snappy_lib) + + if(NOT HPX_NO_INSTALL) +- hpx_library_install(compress_snappy_lib lib/hpx) ++ hpx_library_install(compress_snappy_lib ${LIB}/hpx) + endif() + endif() + endmacro() +diff --git a/plugins/binary_filter/zlib/CMakeLists.txt b/plugins/binary_filter/zlib/CMakeLists.txt +index 4a188ca..e4485f7 100644 +--- a/plugins/binary_filter/zlib/CMakeLists.txt ++++ b/plugins/binary_filter/zlib/CMakeLists.txt +@@ -38,7 +38,7 @@ macro(add_zlib_module) + add_hpx_pseudo_dependencies(plugins.compression.zlib compress_zlib_lib) + + if(NOT HPX_NO_INSTALL) +- hpx_library_install(compress_zlib_lib lib/hpx) ++ hpx_library_install(compress_zlib_lib ${LIB}/hpx) + endif() + endif() + endmacro() +diff --git a/plugins/parcel/coalescing/CMakeLists.txt b/plugins/parcel/coalescing/CMakeLists.txt +index 093e427..889c10c 100644 +--- a/plugins/parcel/coalescing/CMakeLists.txt ++++ b/plugins/parcel/coalescing/CMakeLists.txt +@@ -22,7 +22,7 @@ macro(add_coalescing_module) + add_hpx_pseudo_dependencies(plugins.parcel.coalescing parcel_coalescing_lib) + + if(NOT HPX_NO_INSTALL) +- hpx_library_install(parcel_coalescing_lib lib/hpx) ++ hpx_library_install(parcel_coalescing_lib ${LIB}/hpx) + endif() + endmacro() + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 4f4c79c..6190839 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -312,7 +312,7 @@ set_property(TARGET hpx_serialization APPEND + "HPX_COROUTINE_EXPORTS") + + if(NOT HPX_NO_INSTALL) +- hpx_library_install(hpx_serialization lib/hpx) ++ hpx_library_install(hpx_serialization ${LIB}/hpx) + endif() + + ################################################################################ +@@ -403,7 +403,7 @@ set_property(TARGET hpx APPEND + "HPX_COROUTINE_EXPORTS") # Do we still need this? + + if(NOT HPX_NO_INSTALL) +- hpx_library_install(hpx lib/hpx) ++ hpx_library_install(hpx ${LIB}/hpx) + endif() + + ################################################################################ +@@ -436,7 +436,7 @@ endif() + set_property(TARGET hpx_init PROPERTY FOLDER "Core") + + if(NOT HPX_NO_INSTALL) +- hpx_archive_install(hpx_init lib/hpx) ++ hpx_archive_install(hpx_init ${LIB}/hpx) + endif() + + set(HPX_CONFIG_DEFINITIONS ${HPX_CONFIG_DEFINITIONS} PARENT_SCOPE) +-- +1.8.5.5 + diff --git a/sys-cluster/hpx/hpx-0.9.10.ebuild b/sys-cluster/hpx/hpx-0.9.10.ebuild new file mode 100644 index 000000000000..b481d7d9ba67 --- /dev/null +++ b/sys-cluster/hpx/hpx-0.9.10.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) + +inherit cmake-utils fortran-2 multilib python-single-r1 versionator + +SRC_URI="http://stellar.cct.lsu.edu/files/${PN}_${PV}.tar.gz" +KEYWORDS="~amd64 ~x86" +S="${WORKDIR}/${PN}_${PV}" + +DESCRIPTION="C++ runtime system for parallel and distributed applications" +HOMEPAGE="http://stellar.cct.lsu.edu/tag/hpx/" + +SLOT="0" +LICENSE="Boost-1.0" +IUSE="doc examples jemalloc papi +perftools tbb test" + +RDEPEND=" + tbb? ( dev-cpp/tbb ) + >=dev-libs/boost-1.49 + papi? ( dev-libs/papi ) + perftools? ( >=dev-util/google-perftools-1.7.1 ) + >=sys-apps/hwloc-1.8 + >=sys-libs/libunwind-1 + sys-libs/zlib +" +DEPEND="${RDEPEND} + virtual/pkgconfig + test? ( dev-lang/python ) + doc? ( >=dev-libs/boost-1.56.0-r1[tools] ) +" +REQUIRED_USE="test? ( ${PYTHON_REQUIRED_USE} ) + jemalloc? ( !perftools !tbb ) + perftools? ( !jemalloc !tbb ) + tbb? ( !jemalloc !perftools ) + " + +pkg_setup() { + use test && python-single-r1_pkg_setup +} + +src_configure() { + CMAKE_BUILD_TYPE=Release + local mycmakeargs=( + -DHPX_BUILD_EXAMPLES=OFF + -DHPX_MALLOC=system + -DLIB=$(get_libdir) + -Dcmake_dir=cmake + $(cmake-utils_use doc HPX_BUILD_DOCUMENTATION) + $(cmake-utils_use jemalloc HPX_JEMALLOC) + $(cmake-utils_use test BUILD_TESTING) + $(cmake-utils_use perftools HPX_GOOGLE_PERFTOOLS) + $(cmake-utils_use papi HPX_PAPI) + ) + + use perftools && mycmakeargs+=( -DHPX_MALLOC=tcmalloc ) + use jemalloc && mycmakeargs+=( -DHPX_MALLOC=jemalloc ) + use tbb && mycmakeargs+=( -DHPX_MALLOC=tbbmalloc ) + + cmake-utils_src_configure +} + +src_test() { + # avoid over-suscribing + cmake-utils_src_make -j1 tests +} + +src_install() { + cmake-utils_src_install + if use examples; then + insinto /usr/share/doc/${PF} + doins -r examples + fi +} diff --git a/sys-cluster/hpx/hpx-0.9.8.ebuild b/sys-cluster/hpx/hpx-0.9.8.ebuild new file mode 100644 index 000000000000..1de22ffc9217 --- /dev/null +++ b/sys-cluster/hpx/hpx-0.9.8.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) + +SRC_URI="http://stellar.cct.lsu.edu/files/${PN}_${PV}.7z" +KEYWORDS="~amd64 ~x86" +S="${WORKDIR}/${PN}_${PV}" + +inherit cmake-utils fortran-2 multilib python-single-r1 + +DESCRIPTION="C++ runtime system for parallel and distributed applications" +HOMEPAGE="http://stellar.cct.lsu.edu/tag/hpx/" + +SLOT="0" +LICENSE="Boost-1.0" +IUSE="doc examples jemalloc papi +perftools tbb test" + +# TODO: some of the forced deps are may be optional +# it would need to work the automagic +RDEPEND=" + tbb? ( dev-cpp/tbb ) + >=dev-libs/boost-1.51 + dev-libs/libxml2 + papi? ( dev-libs/papi ) + sci-libs/hdf5 + >=sys-apps/hwloc-1.8 + >=sys-libs/libunwind-1 + sys-libs/zlib + perftools? ( >=dev-util/google-perftools-1.7.1 ) +" +DEPEND="${RDEPEND} + app-arch/p7zip + virtual/pkgconfig + test? ( dev-lang/python ) +" +REQUIRED_USE="test? ( ${PYTHON_REQUIRED_USE} )" + +PATCHES=( + "${FILESDIR}"/hpx-0.9.8-install-path.patch + "${FILESDIR}"/hpx-0.9.8-multilib.patch + "${FILESDIR}"/hpx-0.9.8-cmake_dir.patch +) + +pkg_setup() { + use test && python-single-r1_pkg_setup +} + +src_configure() { + CMAKE_BUILD_TYPE=Release + local mycmakeargs=( + -DHPX_BUILD_EXAMPLES=OFF + -DLIB=$(get_libdir) + -Dcmake_dir=cmake + $(cmake-utils_use doc HPX_BUILD_DOCUMENTATION) + $(cmake-utils_use jemalloc HPX_JEMALLOC) + $(cmake-utils_use test BUILD_TESTING) + $(cmake-utils_use perftools HPX_GOOGLE_PERFTOOLS) + $(cmake-utils_use papi HPX_PAPI) + ) + if use perftools; then + mycmakeargs+=( -DHPX_MALLOC=tcmalloc ) + elif use jemalloc; then + mycmakeargs+=( -DHPX_MALLOC=jemalloc ) + elif use tbb; then + mycmakeargs+=( -DHPX_MALLOC=tbbmalloc ) + else + mycmakeargs+=( -DHPX_MALLOC=system ) + fi + cmake-utils_src_configure +} + +src_test() { + # avoid over-suscribing + cmake-utils_src_make -j1 tests +} + +src_install() { + cmake-utils_src_install + if use examples; then + insinto /usr/share/doc/${PF} + doins -r examples + fi +} diff --git a/sys-cluster/hpx/hpx-0.9.9.ebuild b/sys-cluster/hpx/hpx-0.9.9.ebuild new file mode 100644 index 000000000000..e6fbac60078b --- /dev/null +++ b/sys-cluster/hpx/hpx-0.9.9.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) + +inherit cmake-utils fortran-2 multilib python-single-r1 versionator + +MY_PV="$(replace_version_separator _ -)" + +SRC_URI="https://github.com/STEllAR-GROUP/hpx/archive/${MY_PV}.tar.gz -> ${P}.tar.gz" +KEYWORDS="~amd64 ~x86" +S="${WORKDIR}/${PN}-${MY_PV}" + +DESCRIPTION="C++ runtime system for parallel and distributed applications" +HOMEPAGE="http://stellar.cct.lsu.edu/tag/hpx/" + +SLOT="0" +LICENSE="Boost-1.0" +IUSE="doc examples jemalloc papi +perftools tbb test" + +RDEPEND=" + tbb? ( dev-cpp/tbb ) + >=dev-libs/boost-1.49 + papi? ( dev-libs/papi ) + perftools? ( >=dev-util/google-perftools-1.7.1 ) + >=sys-apps/hwloc-1.8 + >=sys-libs/libunwind-1 + sys-libs/zlib +" +DEPEND="${RDEPEND} + virtual/pkgconfig + test? ( dev-lang/python ) + doc? ( >=dev-libs/boost-1.56.0-r1[tools] ) +" +REQUIRED_USE="test? ( ${PYTHON_REQUIRED_USE} ) + jemalloc? ( !perftools !tbb ) + perftools? ( !jemalloc !tbb ) + tbb? ( !jemalloc !perftools ) + " + +pkg_setup() { + use test && python-single-r1_pkg_setup +} + +src_configure() { + CMAKE_BUILD_TYPE=Release + local mycmakeargs=( + -DHPX_BUILD_EXAMPLES=OFF + -DHPX_MALLOC=system + -DLIB=$(get_libdir) + -Dcmake_dir=cmake + $(cmake-utils_use doc HPX_BUILD_DOCUMENTATION) + $(cmake-utils_use jemalloc HPX_JEMALLOC) + $(cmake-utils_use test BUILD_TESTING) + $(cmake-utils_use perftools HPX_GOOGLE_PERFTOOLS) + $(cmake-utils_use papi HPX_PAPI) + ) + + use perftools && mycmakeargs+=( -DHPX_MALLOC=tcmalloc ) + use jemalloc && mycmakeargs+=( -DHPX_MALLOC=jemalloc ) + use tbb && mycmakeargs+=( -DHPX_MALLOC=tbbmalloc ) + + cmake-utils_src_configure +} + +src_test() { + # avoid over-suscribing + cmake-utils_src_make -j1 tests +} + +src_install() { + cmake-utils_src_install + if use examples; then + insinto /usr/share/doc/${PF} + doins -r examples + fi +} diff --git a/sys-cluster/hpx/metadata.xml b/sys-cluster/hpx/metadata.xml new file mode 100644 index 000000000000..ef651df75ce7 --- /dev/null +++ b/sys-cluster/hpx/metadata.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!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> + <email>slis@gentoo.org</email> + </maintainer> + <use> + <flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> for memory allocation</flag> + <flag name="perftools">Use <pkg>dev-util/google-perftools</pkg> for + memory allocation</flag> + <flag name="tbb">Use <pkg>dev-cpp/tbb</pkg> for memory + allocation</flag> + <flag name="papi">Use <pkg>dev-libs/papi</pkg> for NaCl</flag> + </use> + <upstream> + <remote-id type="github">STEllAR-GROUP/hpx</remote-id> + </upstream> +</pkgmetadata> |