summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2024-12-17 08:08:10 +0000
committerCoprDistGit <infra@openeuler.org>2024-12-17 08:08:10 +0000
commit58b5c90cccbe0bfff9301d35d0903c6c734a3429 (patch)
treed4700033fd1e4830e31d78961a7b4cebf8a5aca6
parent1be650efb9a5c2a1fd511059cb47d89762298085 (diff)
automatic import of lammps
-rw-r--r--lammps.spec50
1 files changed, 45 insertions, 5 deletions
diff --git a/lammps.spec b/lammps.spec
index 1b501cb..5c3f64a 100644
--- a/lammps.spec
+++ b/lammps.spec
@@ -177,9 +177,13 @@ cp %{SOURCE5} cmake/
set +e
. /etc/profile.d/modules.sh
set -e
-mkdir build && cd build
for mpi in '' mpich %{?with_openmpi:openmpi} ; do
test -n "${mpi}" && module load mpi/${mpi}-%{_arch}
+ if [ -z "$mpi" ]; then
+ mkdir build && cd build
+ else
+ mkdir build-${mpi} && cd build-${mpi}
+ fi
#python wrapper isn't mpi specific
%{cmake3} ../cmake \
-C ../cmake/presets/all_on.cmake \
@@ -212,24 +216,60 @@ for mpi in '' mpich %{?with_openmpi:openmpi} ; do
$(test -z "${mpi}" && echo -DBUILD_MPI=OFF -DBUILD_LAMMPS_SHELL=ON -DBUILD_TOOLS=ON)
cmake --build . -j8
test -n "${mpi}" && module unload mpi/${mpi}-%{_arch}
+ cd ..
done
-cd ../python
+cd python
%py3_build
%install
-cd build
set +e
. /etc/profile.d/modules.sh
set -e
for mpi in '' mpich %{?with_openmpi:openmpi} ; do
- make install
+ if [ -z "$mpi" ]; then
+ %make_install -C build
+ else
+ %make_install -C build-${mpi}
+ fi
done
-cd ../python
+cd python
%py3_install
+%check
+
+%global testargs --label-exclude unstable --exclude-regex '\(SimpleCommands\|Variables\|ComputeGlobal\|MolPairStyle:coul_slater_long\|AtomicPairStyle:meam_spline\|FixTimestep:.*\|.*tip4p.*\)'
+
+%ifnarch %ix86
+%global testargs --label-exclude unstable --exclude-regex '\(SimpleCommands\|Variables\|ComputeGlobal\|MolPairStyle:coul_slater_long\|AtomicPairStyle:meam_spline\|FixTimestep:.*\|.*tip4p.*\|Groups\|AtomicPairStyle:lj_cut_sphere\|AtomicPairStyle:lj_expand_sphere\|AtomicPairStyle:meam_ms\|AtomicPairStyle:pedone\|DihedralStyle:cosine_squared_restricted\|BondStyle:harmonic_restrain\)'
+%endif
+
+%ifarch s390x
+%global testargs --label-exclude unstable --exclude-regex '\(SimpleCommands\|Variables\|ComputeGlobal\|MolPairStyle:coul_slater_long\|AtomicPairStyle:meam_spline\|FixTimestep:.*\|.*tip4p.*\|LibraryMPI\|MPILoadBalancing\|FileOperations\|Groups\|SetProperty\|AtomicPairStyle:lj_cut_sphere\|AtomicPairStyle:lj_expand_sphere\|AtomicPairStyle:meam_ms\|AtomicPairStyle:pedone\|DihedralStyle:cosine_squared_restricted\|BondStyle:harmonic_restrain\|TestPairList\)'
+%endif
+
+set +e
+. /etc/profile.d/modules.sh
+set -e
+
+for mpi in '' mpich %{?with_openmpi:openmpi} %{?el7:openmpi3} ; do
+ old_PYTHONPATH="${PYTHONPATH}"
+ test -n "${mpi}" && module load mpi/${mpi}-%{_arch} && export PYTHONPATH="${MPI_PYTHON3_SITEARCH}:${PYTHONPATH}"
+ if [ -z "$mpi" ]; then
+ cd build
+ %ctest %{?testargs}
+ else
+ cd build-${mpi}
+ %ctest %{?testargs}
+ fi
+ cd ..
+ test -n "${mpi}" && module unload mpi/${mpi}-%{_arch} && export PYTHONPATH="${old_PYTHONPATH}"
+done
+
+%ldconfig_scriptlets
+
%files
%doc README
%license LICENSE