blob: 53e3a2e0f4dde1b0dcf9436f78c76174037d4047 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
# Maintainer: physkets <physkets // at // tutanota dot com>
# Contributor: xpt <user.xpt@gmail.com>
### BUILD OPTIONS
# Set these variables to '1' to enable them
# Doing so will add the requisite build commands,
# as well as add the needed dependencies
# HTML documentation
_BUILD_DOC=0
# Copy 'examples' to /usr/share/examples/lammps
_INSTALL_EXAMPLES=0
# Use Intel compilers
_ENABLE_INTEL_COMPILER=0
# USER-INTEL package
_ENABLE_INTEL=0
# USER-OMP package
_ENABLE_OMP=0
# KIM package
_ENABLE_KIM=0
_pkgname=lammps
pkgname=${_pkgname}-beta
pkgver=20190919
_pkgver="19Sep2019"
#_pkgver=$(date -d ${pkgver} +%-d%b%Y)
pkgrel=3
pkgdesc="Large-scale Atomic/Molecular Massively Parallel Simulator"
url="https://lammps.sandia.gov/"
arch=('x86_64')
license=('GPL')
depends=('fftw' 'openmpi')
makedepends=('cmake')
conflicts=('lammps')
provides=('lammps')
source=("git+https://github.com/${_pkgname}/${_pkgname}#tag=patch_${_pkgver}?signed")
sha512sums=('SKIP')
# Make sure you have imported Axel Kohlmeyer's PGP key
# wget https://github.com/akohlmey.gpg
# gpg --import akohlmey.gpg
# process the build settings from above
if (( $_ENABLE_INTEL_COMPILER )); then
_feature_args+=('-DCMAKE_C_COMPILER=mpiicc')
_feature_args+=('-DCMAKE_C_FLAGS=-xHost -O2 -fp-model fast=2 -no-prec-div -qoverride-limits -qopt-zmm-usage=high')
_feature_args+=('-DCMAKE_CXX_COMPILER=mpiicpc')
_feature_args+=('-DCMAKE_CXX_FLAGS=-fp-model fast=2 -no-prec-div -qoverride-limits -qopt-zmm-usage=high -qno-offload -fno-alias -ansi-alias -O2 -std=c++11 -DLMP_INTEL_USELRT -DLMP_USE_MKL_RNG')
_feature_args+=('-DCMAKE_Fortran_COMPILER=mpiifort')
fi
if (( $_BUILD_DOC )); then
makedepends+=('python-sphinx')
fi
if (( $_ENABLE_KIM )); then
depends+=('kim-api>=2.0.2')
_feature_args+=('-DPKG_KIM=yes')
fi
if (( $_ENABLE_INTEL )); then
_feature_args+=('-DINTEL_ARCH=cpu')
_feature_args+=('-DPKG_USER-INTEL=yes')
fi
if (( $_ENABLE_OMP )); then
_feature_args+=('-DBUILD_OMP=yes')
_feature_args+=('-DPKG_USER-OMP=yes')
fi
prepare(){
cd "${_pkgname}"
mkdir -p build
}
build() {
cd "${_pkgname}/build"
cmake ../cmake \
-DCMAKE_INSTALL_PREFIX="/usr" \
-DCMAKE_INSTALL_LIBDIR="lib" \
-DCMAKE_INSTALL_LIBEXECDIR="/usr/lib" \
"${_feature_args[@]}" #\
# Add options for additional packages
#-DPKG_<NAME>=yes
make
if (( $_BUILD_DOC )) ; then
# Generate ReStructuredText from Text files
export PYTHONPATH=$PWD/../doc/utils/converters/
mkdir -p rst
for file in ../doc/src/*.txt
do
tmp=${file%.*} # Strips the '.txt' extension
fname=${tmp##*/} # Strips the path prefixing the file-name
../doc/utils/converters/lammpsdoc/txt2rst.py ${file} > "rst/${fname}.rst"
done
# Generate HTML from ReStructuredText files
mkdir -p html
cp -r ../doc/src/* rst/
sphinx-build -b html -c "../doc/utils/sphinx-config" -d "doctrees" "rst" html
fi
}
package() {
cd "${_pkgname}/build"
make DESTDIR="${pkgdir}" install
if (( $_BUILD_DOC )) ; then
install -Dm644 -t "${pkgdir}/usr/share/doc/${_pkgname}/html" "html/"*.html
install -Dm644 -t "${pkgdir}/usr/share/doc/${_pkgname}/html" "html/"*.js
install -Dm644 -t "${pkgdir}/usr/share/doc/${_pkgname}/html/_images" "html/_images/"*
install -Dm644 -t "${pkgdir}/usr/share/doc/${_pkgname}/html/_static" "html/_static/"*.png
#install -Dm644 -t "${pkgdir}/usr/share/doc/${_pkgname}/html/_static" "html/_static/"*.gif
install -Dm644 -t "${pkgdir}/usr/share/doc/${_pkgname}/html/_static" "html/_static/"*.js
install -Dm644 -t "${pkgdir}/usr/share/doc/${_pkgname}/html/_static/css" "html/_static/css/"*.css
install -Dm644 -t "${pkgdir}/usr/share/doc/${_pkgname}/html/_static/fonts" "html/_static/fonts/"*
install -Dm644 -t "${pkgdir}/usr/share/doc/${_pkgname}/html/_static/js" "html/_static/js/"*.js
fi
if (( $_INSTALL_EXAMPLES )) ; then
mkdir -p "${pkgdir}/usr/share/examples/lammps"
cp -r "../examples/." "${pkgdir}/usr/share/examples/lammps/"
find "${pkgdir}/usr/share/examples/lammps/" -type f -exec chmod 644 '{}' +
fi
install -Dm644 "../tools/vim/lammps.vim" "${pkgdir}/usr/share/vim/vimfiles/syntax/lammps.vim"
install -Dm644 "../tools/vim/filetype.vim" "${pkgdir}/usr/share/vim/vimfiles/ftdetect/lammps.vim"
}
|