| 5 |
5 |
|
| 6 |
6 |
PYTHON_COMPAT=( python3_{11..13} )
|
| 7 |
7 |
|
| 8 |
|
inherit cmake cuda flag-o-matic python-single-r1 savedconfig
|
|
8 |
inherit cmake cuda python-single-r1 savedconfig
|
| 9 |
9 |
|
| 10 |
10 |
DESCRIPTION="Extensible Simulation Package for Research on Soft matter"
|
| 11 |
11 |
HOMEPAGE="https://espressomd.org"
|
| ... | ... | |
| 28 |
28 |
REQUIRED_USE="
|
| 29 |
29 |
${PYTHON_REQUIRED_USE}"
|
| 30 |
30 |
|
|
31 |
# cmake built hdf5 fails to detect, -r1 switched to cmake
|
| 31 |
32 |
RDEPEND="
|
| 32 |
33 |
${PYTHON_DEPS}
|
| 33 |
34 |
$(python_gen_cond_dep '
|
| ... | ... | |
| 37 |
38 |
cuda? ( >=dev-util/nvidia-cuda-toolkit-4.2.9-r1 )
|
| 38 |
39 |
fftw? ( sci-libs/fftw:3.0 )
|
| 39 |
40 |
dev-libs/boost:=[mpi]
|
| 40 |
|
hdf5? ( <sci-libs/hdf5-1.13:=[mpi] )
|
|
41 |
hdf5? ( <sci-libs/hdf5-1.14.6-r1:=[mpi] )
|
| 41 |
42 |
"
|
| 42 |
43 |
|
| 43 |
44 |
DEPEND="${RDEPEND}
|
| ... | ... | |
| 56 |
57 |
DOCS=( AUTHORS NEWS Readme.md ChangeLog )
|
| 57 |
58 |
|
| 58 |
59 |
PATCHES=(
|
| 59 |
|
"${FILESDIR}/${PN}-4.2.0-fix-disable-test.patch"
|
| 60 |
|
"${FILESDIR}"/0001-allow-building-test-deps-without-running-ctest-indir.patch
|
| 61 |
|
# https://github.com/espressomd/espresso/pull/4992
|
| 62 |
|
# https://src.fedoraproject.org/rpms/espresso/c/1c764324a21a92d6500289b4d72043471b5f3840
|
| 63 |
|
"${FILESDIR}"/${P}-numpy-2.x.patch
|
|
60 |
"${FILESDIR}"/${P}-test-deps-only.patch
|
| 64 |
61 |
)
|
| 65 |
62 |
|
| 66 |
|
src_unpack() {
|
| 67 |
|
default
|
| 68 |
|
|
| 69 |
|
# vendored, cmake4 false positive. Used solely as a directory of *.hpp
|
| 70 |
|
rm "${S}"/libs/h5xx/CMakeLists.txt || die
|
| 71 |
|
rm -r "${S}"/libs/h5xx/example || die
|
| 72 |
|
}
|
| 73 |
|
|
| 74 |
63 |
src_prepare() {
|
| 75 |
64 |
use cuda && cuda_src_prepare
|
| 76 |
65 |
cmake_src_prepare
|
|
66 |
# allow cython 3.1
|
|
67 |
sed -i '/Cython/{s/3\.1\.0/4.0/}' CMakeLists.txt || die
|
| 77 |
68 |
|
| 78 |
69 |
# These produce tests that aren't run by "make check", but ctest picks
|
| 79 |
70 |
# them up by default, against upstream's intention.
|
| 80 |
71 |
cd testsuite || die
|
| 81 |
|
cmake_comment_add_subdirectory cmake scripts
|
|
72 |
cmake_comment_add_subdirectory cmake scripts tutorials samples benchmarks
|
| 82 |
73 |
}
|
| 83 |
74 |
|
| 84 |
75 |
src_configure() {
|
| 85 |
|
# cmake.eclass for EAPI 8 finally, correctly, wipes out -DNDEBUG, leading
|
| 86 |
|
# to test fails. Fixed in git.
|
| 87 |
|
append-cppflags -DBOOST_DISABLE_ASSERTS
|
| 88 |
|
|
| 89 |
76 |
local mycmakeargs=(
|
| 90 |
|
-DWITH_CUDA=$(usex cuda)
|
| 91 |
|
-DPYTHON_EXECUTABLE="${PYTHON}"
|
| 92 |
|
-DWITH_TESTS=$(usex test)
|
|
77 |
-DESPRESSO_BUILD_WITH_CUDA=$(usex cuda)
|
|
78 |
-DPython_EXECUTABLE="${PYTHON}"
|
|
79 |
# ignores site-packages dir and replaces with CMAKE_INSTALL_LIBDIR
|
|
80 |
-DESPRESSO_INSTALL_PYTHON="$(python_get_sitedir)"
|
|
81 |
-DESPRESSO_BUILD_TESTS=$(usex test)
|
| 93 |
82 |
-DINSTALL_PYPRESSO=OFF
|
| 94 |
|
-DCMAKE_DISABLE_FIND_PACKAGE_FFTW3=$(usex !fftw)
|
| 95 |
|
-DWITH_HDF5=$(usex hdf5)
|
|
83 |
-DESPRESSO_BUILD_WITH_FFTW=$(usex fftw)
|
|
84 |
-DESPRESSO_BUILD_WITH_HDF5=$(usex hdf5)
|
| 96 |
85 |
)
|
| 97 |
86 |
cmake_src_configure
|
| 98 |
87 |
}
|
| ... | ... | |
| 119 |
108 |
insinto /usr/share/${PN}/
|
| 120 |
109 |
doins "${BUILD_DIR}/myconfig-sample.hpp"
|
| 121 |
110 |
|
| 122 |
|
save_config "${BUILD_DIR}/src/config/myconfig-final.hpp"
|
|
111 |
save_config "${BUILD_DIR}/src/config/include/config/myconfig-final.hpp"
|
| 123 |
112 |
|
| 124 |
113 |
if use doc; then
|
| 125 |
114 |
dodoc -r "${BUILD_DIR}/doc/doxygen/html"
|