From 199a8d41fde051e1670c7698fe7fac5252c113da Mon Sep 17 00:00:00 2001 From: Slawek Lis Date: Thu, 31 Jul 2014 12:26:11 +0000 Subject: added hpx package (Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key 0x55265D89) --- sys-cluster/hpx/ChangeLog | 10 ++ sys-cluster/hpx/Manifest | 6 + sys-cluster/hpx/files/hpx-0.9.8-cmake_dir.patch | 27 ++++ sys-cluster/hpx/files/hpx-0.9.8-install-path.patch | 69 +++++++++ sys-cluster/hpx/files/hpx-0.9.8-multilib.patch | 163 +++++++++++++++++++++ sys-cluster/hpx/hpx-0.9.8.ebuild | 87 +++++++++++ sys-cluster/hpx/metadata.xml | 24 +++ 7 files changed, 386 insertions(+) create mode 100644 sys-cluster/hpx/ChangeLog create mode 100644 sys-cluster/hpx/Manifest create mode 100644 sys-cluster/hpx/files/hpx-0.9.8-cmake_dir.patch create mode 100644 sys-cluster/hpx/files/hpx-0.9.8-install-path.patch create mode 100644 sys-cluster/hpx/files/hpx-0.9.8-multilib.patch create mode 100644 sys-cluster/hpx/hpx-0.9.8.ebuild create mode 100644 sys-cluster/hpx/metadata.xml (limited to 'sys-cluster') diff --git a/sys-cluster/hpx/ChangeLog b/sys-cluster/hpx/ChangeLog new file mode 100644 index 000000000000..a00a9aceac27 --- /dev/null +++ b/sys-cluster/hpx/ChangeLog @@ -0,0 +1,10 @@ +# ChangeLog for sys-cluster/hpx +# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/hpx/ChangeLog,v 1.1 2014/07/31 12:26:11 slis Exp $ + +*hpx-0.9.8 (31 Jul 2014) + + 31 Jul 2014; SÅ‚awek Lis +files/hpx-0.9.8-cmake_dir.patch, + +files/hpx-0.9.8-install-path.patch, +files/hpx-0.9.8-multilib.patch, + +hpx-0.9.8.ebuild, +metadata.xml: + added hpx package diff --git a/sys-cluster/hpx/Manifest b/sys-cluster/hpx/Manifest new file mode 100644 index 000000000000..3faa03d40cc2 --- /dev/null +++ b/sys-cluster/hpx/Manifest @@ -0,0 +1,6 @@ +AUX hpx-0.9.8-cmake_dir.patch 782 SHA256 bb442661be8fca955c09de44073d49d8e89d603f8169600009fd77146a3294f9 SHA512 93fadaf1a8e302f8433c35ebbe4f75af6db21136d64a88574f56122f7204a387e6a0fc9a3fcde21cd8897364ecea203223a365fc84e2e725e8436b77a8fec9d9 WHIRLPOOL fbdcad3ee78f8153519d64d5fc2b05c451dbe4bd45c34dcb2b0502accc5743d13fdc9d42e797204e7001733126056a3699381d314d3d049569cd3d862691d6dd +AUX hpx-0.9.8-install-path.patch 2952 SHA256 c8bc7ed3a3023b6a278d7540009cd9b837085b6a0995b444f039863e8f008043 SHA512 94273cbd42291fe8dcefe76f8e663997632c8dfc729ceac9c9e6a13b1168334788fe4f2e8c0c20b37d3d5ab339db2b44ba2a6c3fee656cc3981f26d79503f606 WHIRLPOOL c4c539b337f43f09a95f69ea123d74db425a84ae81a927d4d8d5e04830cba36a8a2bf237bfbdee4b2f90f3eec2053e9cd50f9c91de898e710deeccecc6323d2e +AUX hpx-0.9.8-multilib.patch 6064 SHA256 77a3eff3e8882bcd36836a65255a62267310f78d43557a22a9bd908481816e79 SHA512 b378d6e259263a02929c06c0b093490115b5a573daed20f980c1fa15fe2f8ce4833a784cc8a1924ea1ddc8fdc853d07fd1e83a20fdc6c711211c8f3eb9e2f583 WHIRLPOOL 7e69572bfd9aa1b50a4173091d3b2e460fbccb7361963f74cfab14f27f965cc56d27be6e84310dd62eced27b1c4fe7eae5c1be7e43a99e9b8dbe3ed9497e2256 +DIST hpx_0.9.8.7z 2089649 SHA256 9e04685b07e4155e6d3e00c944e5fe91c0c815a2b3bc7bc345eb59d8708bac91 SHA512 1789582ee776173d4aa67b512d2df225c734b98ffe59a8f1eee38b5112ac7c02e0c7c478f72062e5b6a5d5053ce1848729c374093378f63200acf51a208fb3c7 WHIRLPOOL b4b5a8a83aa4d07466ee0570b9fdadd906281e626eed2ce82e3a8e03681de1591a46af2254cbd387eb2d0bfac22c6796537fbbb37764be7dd424b97dd0d433c7 +EBUILD hpx-0.9.8.ebuild 2002 SHA256 f6ff3dfa41714c225b5c603303d6ba375bb95d895905e0eda729e2d2d6a9195d SHA512 f3e837c676c76a4dcbe49ec9db92fb757dd1d6361a6fb6a44f4fbffc8c13cb1dbb335f44eff9d6579a74df47c8508715a3bac984510066aaed072fa40e3435eb WHIRLPOOL 8a73eef5e0520a9b6487bbd928cfd2337e88eef25ff0a5740bd96fc6d4812e2b08aaed9e094f387e02a8ccbe4354f7c388f6e3462a629b4140ac792bfa51bd08 +MISC metadata.xml 983 SHA256 d02d8e4f5427067f5e132cd085da5baf96905e4a06b0d8ea84c95769b89065b8 SHA512 68d7d83ca092d51ffb22fc8633af8df1a82ab7b052fbba4f939777dd81b225d8991616890fb9585c1044b406dac05292030d049ddc62b38587d187a23fa08dff WHIRLPOOL 723e5bc2e99e258f9b9b92bda106fd2ad7c33221d98228142630df214fb220a07dece447389fc6ac0f1b368d812fe661c1cf58ec310af803e735e3da0a41b8c9 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 +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 +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 +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.8.ebuild b/sys-cluster/hpx/hpx-0.9.8.ebuild new file mode 100644 index 000000000000..f8afc8f9bd8d --- /dev/null +++ b/sys-cluster/hpx/hpx-0.9.8.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/hpx/hpx-0.9.8.ebuild,v 1.1 2014/07/31 12:26:11 slis Exp $ + +EAPI=5 + +PYTHON_COMPAT=( python{2_6,2_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/metadata.xml b/sys-cluster/hpx/metadata.xml new file mode 100644 index 000000000000..5d165f4a00ab --- /dev/null +++ b/sys-cluster/hpx/metadata.xml @@ -0,0 +1,24 @@ + + + + + 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. + + + slis@gentoo.org + + + Use dev-libs/jemalloc for memory allocation + Use dev-util/google-perftools for + memory allocation + Use dev-cpp/tbb for memory + allocation + Use dev-libs/papi for NaCl + + -- cgit v1.2.3-65-gdbad