summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sci-physics/hoomd-blue/files/hoomd-blue-2.0.1-cxx11.patch53
-rw-r--r--sci-physics/hoomd-blue/hoomd-blue-2.0.1.ebuild57
2 files changed, 110 insertions, 0 deletions
diff --git a/sci-physics/hoomd-blue/files/hoomd-blue-2.0.1-cxx11.patch b/sci-physics/hoomd-blue/files/hoomd-blue-2.0.1-cxx11.patch
new file mode 100644
index 000000000000..523c4f6ddfe2
--- /dev/null
+++ b/sci-physics/hoomd-blue/files/hoomd-blue-2.0.1-cxx11.patch
@@ -0,0 +1,53 @@
+From 7dce8d65ad8069c6a7fdb89ebea13f55d2db8182 Mon Sep 17 00:00:00 2001
+From: "Joshua A. Anderson" <joaander@umich.edu>
+Date: Wed, 20 Jul 2016 14:44:07 -0400
+Subject: [PATCH] Always add -std=c++11 to CXX_FLAGS
+
+refs #173
+---
+ CMake/hoomd/HOOMDCFlagsSetup.cmake | 18 ++++++++++--------
+ 1 file changed, 10 insertions(+), 8 deletions(-)
+
+diff --git a/CMake/hoomd/HOOMDCFlagsSetup.cmake b/CMake/hoomd/HOOMDCFlagsSetup.cmake
+index 2655913..db503b3 100644
+--- a/CMake/hoomd/HOOMDCFlagsSetup.cmake
++++ b/CMake/hoomd/HOOMDCFlagsSetup.cmake
+@@ -32,10 +32,10 @@ if(NOT PASSED_FIRST_CONFIGURE)
+ set(CMAKE_C_FLAGS_RELEASE "-march=${GCC_ARCH} -O3 -funroll-loops -DNDEBUG -Wall -Wno-unknown-pragmas" CACHE STRING "Flags used by the compiler during release builds." FORCE)
+ set(CMAKE_C_FLAGS_RELWITHDEBINFO "-march=${GCC_ARCH} -g -O3 -funroll-loops -DNDEBUG -Wall -Wno-unknown-pragmas" CACHE STRING "Flags used by the compiler during release builds with debug info." FORCE)
+
+- set(CMAKE_CXX_FLAGS_DEBUG "-march=${GCC_ARCH} -g -Wall -Wno-unknown-pragmas -std=c++11" CACHE STRING "Flags used by the compiler during debug builds." FORCE)
+- set(CMAKE_CXX_FLAGS_MINSIZEREL "-march=${GCC_ARCH} -Os -Wall -Wno-unknown-pragmas -DNDEBUG -std=c++11" CACHE STRING "Flags used by the compiler during minimum size release builds." FORCE)
+- set(CMAKE_CXX_FLAGS_RELEASE "-march=${GCC_ARCH} -O3 -funroll-loops -DNDEBUG -Wall -Wno-unknown-pragmas -std=c++11" CACHE STRING "Flags used by the compiler during release builds." FORCE)
+- set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-march=${GCC_ARCH} -g -O3 -funroll-loops -DNDEBUG -Wall -Wno-unknown-pragmas -std=c++11" CACHE STRING "Flags used by the compiler during release builds with debug info." FORCE)
++ set(CMAKE_CXX_FLAGS_DEBUG "-march=${GCC_ARCH} -g -Wall -Wno-unknown-pragmas" CACHE STRING "Flags used by the compiler during debug builds." FORCE)
++ set(CMAKE_CXX_FLAGS_MINSIZEREL "-march=${GCC_ARCH} -Os -Wall -Wno-unknown-pragmas -DNDEBUG" CACHE STRING "Flags used by the compiler during minimum size release builds." FORCE)
++ set(CMAKE_CXX_FLAGS_RELEASE "-march=${GCC_ARCH} -O3 -funroll-loops -DNDEBUG -Wall -Wno-unknown-pragmas" CACHE STRING "Flags used by the compiler during release builds." FORCE)
++ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-march=${GCC_ARCH} -g -O3 -funroll-loops -DNDEBUG -Wall -Wno-unknown-pragmas" CACHE STRING "Flags used by the compiler during release builds with debug info." FORCE)
+
+ elseif(CMAKE_CXX_COMPILER MATCHES "icpc")
+ # default flags for intel
+@@ -44,10 +44,10 @@ if(NOT PASSED_FIRST_CONFIGURE)
+ set(CMAKE_C_FLAGS_RELEASE "-xHOST -O3 -DNDEBUG" CACHE STRING "Flags used by the compiler during release builds." FORCE)
+ set(CMAKE_C_FLAGS_RELWITHDEBINFO "-xHOST -g -O3 -DNDEBUG" CACHE STRING "Flags used by the compiler during release builds with debug info." FORCE)
+
+- set(CMAKE_CXX_FLAGS_DEBUG "-xHOST -O0 -g -std=c++11" CACHE STRING "Flags used by the compiler during debug builds." FORCE)
+- set(CMAKE_CXX_FLAGS_MINSIZEREL "-xHOST -Os -DNDEBUG -std=c++11" CACHE STRING "Flags used by the compiler during minimum size release builds." FORCE)
+- set(CMAKE_CXX_FLAGS_RELEASE "-xHOST -O3 -DNDEBUG -std=c++11" CACHE STRING "Flags used by the compiler during release builds." FORCE)
+- set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-xHOST -g -O3 -DNDEBUG -std=c++11" CACHE STRING "Flags used by the compiler during release builds with debug info." FORCE)
++ set(CMAKE_CXX_FLAGS_DEBUG "-xHOST -O0 -g" CACHE STRING "Flags used by the compiler during debug builds." FORCE)
++ set(CMAKE_CXX_FLAGS_MINSIZEREL "-xHOST -Os -DNDEBUG" CACHE STRING "Flags used by the compiler during minimum size release builds." FORCE)
++ set(CMAKE_CXX_FLAGS_RELEASE "-xHOST -O3 -DNDEBUG" CACHE STRING "Flags used by the compiler during release builds." FORCE)
++ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-xHOST -g -O3 -DNDEBUG" CACHE STRING "Flags used by the compiler during release builds with debug info." FORCE)
+
+ else(CMAKE_COMPILER_IS_GNUCXX)
+ message(STATUS "No default CXXFLAGS for your compiler, set them manually")
+@@ -64,3 +64,5 @@ if(NOT PASSED_FIRST_CONFIGURE)
+
+ SET(PASSED_FIRST_CONFIGURE ON CACHE INTERNAL "First configure has run: CXX_FLAGS have had their defaults changed" FORCE)
+ endif(NOT PASSED_FIRST_CONFIGURE)
++
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+--
+2.7.3
+
diff --git a/sci-physics/hoomd-blue/hoomd-blue-2.0.1.ebuild b/sci-physics/hoomd-blue/hoomd-blue-2.0.1.ebuild
new file mode 100644
index 000000000000..963ddc351a17
--- /dev/null
+++ b/sci-physics/hoomd-blue/hoomd-blue-2.0.1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+CMAKE_MAKEFILE_GENERATOR="ninja"
+
+inherit cmake-utils cuda flag-o-matic git-r3 python-single-r1
+
+DESCRIPTION="a general-purpose particle simulation toolkit"
+HOMEPAGE="http://codeblue.umich.edu/hoomd-blue/"
+EGIT_REPO_URI="https://bitbucket.org/glotzer/${PN}.git"
+
+if [[ ${PV} != 9999 ]]; then
+ KEYWORDS="~amd64"
+ EGIT_COMMIT="v${PV}"
+ PATCHES=( "${FILESDIR}/${P}-cxx11.patch" )
+fi
+
+LICENSE="hoomd-blue"
+SLOT="0"
+IUSE="cuda test mpi +zlib"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ mpi? ( virtual/mpi )
+ cuda? ( dev-util/nvidia-cuda-sdk )
+ zlib? ( sys-libs/zlib )
+ dev-libs/boost:=[threads,python,mpi,${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+ #doc? ( app-doc/doxygen )"
+
+src_prepare() {
+ use cuda && cuda_src_prepare
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_MPI=$(usex mpi)
+ -DENABLE_DOXYGEN=OFF #$(
+ -DENABLE_CUDA=$(usex cuda)
+ -DBUILD_TESTING=$(usex test)
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DCMAKE_INSTALL_PREFIX=$(python_get_sitedir)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ #use doc && HTML_DOCS=( "${BUILD_DIR}"/doc/hoomd-*doc* )
+ cmake-utils_src_install
+}