commit: 7aa442faa14f7818e677ac8b3c7fcea08c96d1e4 Author: Christoph Junghans <ottxor <AT> gentoo <DOT> org> AuthorDate: Tue May 20 17:22:53 2014 +0000 Commit: Christoph Junghans <ottxor <AT> gentoo <DOT> org> CommitDate: Tue May 20 17:23:06 2014 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=7aa442fa
version bump Package-Manager: portage-2.2.8-r1 --- sys-cluster/hpx/ChangeLog | 7 + 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 | 96 ++++++++++++ 5 files changed, 362 insertions(+) diff --git a/sys-cluster/hpx/ChangeLog b/sys-cluster/hpx/ChangeLog index 3bef4c6..76ead3d 100644 --- a/sys-cluster/hpx/ChangeLog +++ b/sys-cluster/hpx/ChangeLog @@ -2,6 +2,13 @@ # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ +*hpx-0.9.8 (20 May 2014) + + 20 May 2014; Christoph Junghans <ott...@gentoo.org> + +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: + version bump + 16 Feb 2014; Sébastien Fabbro <bicat...@gentoo.org> hpx-0.9.7.ebuild, hpx-9999.ebuild, metadata.xml: sys-cluster/hpx: Version bump 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 0000000..b5c66c2 --- /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 <jungh...@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 0000000..f5c867b --- /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 <jungh...@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 0000000..470e76e --- /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 <jungh...@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.8.ebuild b/sys-cluster/hpx/hpx-0.9.8.ebuild new file mode 100644 index 0000000..182746f --- /dev/null +++ b/sys-cluster/hpx/hpx-0.9.8.ebuild @@ -0,0 +1,96 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +PYTHON_COMPAT=( python{2_6,2_7} ) + +if [ ${PV} == "9999" ] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/STEllAR-GROUP/hpx.git" + SRC_URI="" + KEYWORDS="" + S="${WORKDIR}/${PN}" + CMAKE_USE_DIR="${S}" +else + SRC_URI="http://stellar.cct.lsu.edu/files/${PN}_${PV}.7z" + KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" + S="${WORKDIR}/${PN}_${PV}" +fi + +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=" + >=dev-libs/boost-1.51 + dev-libs/libxml2 + sci-libs/hdf5 + >=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} + 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 +}