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
+}

Reply via email to