mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-29 13:00:32 +01:00
cca95699b4
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
389 lines
15 KiB
Bash
389 lines
15 KiB
Bash
#!/bin/bash
|
|
|
|
# Slackware build script for lammps
|
|
|
|
# Copyright 2023-2024 Giancarlo Dessi, Cagliari, IT
|
|
# All rights reserved.
|
|
#
|
|
# Redistribution and use of this script, with or without modification, is
|
|
# permitted provided that the following conditions are met:
|
|
#
|
|
# 1. Redistributions of this script must retain the above copyright
|
|
# notice, this list of conditions and the following disclaimer.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
|
|
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
|
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
|
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
|
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
|
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
cd $(dirname $0) ; CWD=$(pwd)
|
|
|
|
PRGNAM=lammps
|
|
VERSION=${VERSION:-2023.08.02_update3}
|
|
BUILD=${BUILD:-1}
|
|
TAG=${TAG:-_SBo}
|
|
PKGTYPE=${PKGTYPE:-tgz}
|
|
SRCNAM=lammps-stable
|
|
SRCVERSION=${SRCVERSION:-2Aug2023_update3}
|
|
PACEVERSION=v.2023.10.04
|
|
MDIVERSION=1.4.26
|
|
N2P2VERSION=2.2.0
|
|
OCLLVERSION=2022.01.04
|
|
|
|
if [ -z "$ARCH" ]; then
|
|
case "$( uname -m )" in
|
|
i?86) ARCH=i586 ;;
|
|
arm*) ARCH=arm ;;
|
|
*) ARCH=$( uname -m ) ;;
|
|
esac
|
|
fi
|
|
|
|
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
|
|
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
|
|
exit 0
|
|
fi
|
|
|
|
# First detect if openmpi or mpich are installed, so we can build LAMMPS with the
|
|
# parallel computing and enable some packages
|
|
MP=""
|
|
mpi=""
|
|
if pkg-config --exists ompi; then
|
|
MP="openmpi";
|
|
mpi="-DBUILD_OMP=yes "
|
|
fi
|
|
if pkg-config --exists mpich; then
|
|
MP="mpich";
|
|
mpi="-DBUILD_MPI=yes "
|
|
fi
|
|
|
|
# Detect if some dependencies are installed or extrafile download.
|
|
# These are needed conditions to prevent the download of extrafiles
|
|
# during the build
|
|
scafacos=""
|
|
mdi=""
|
|
mlpace=""
|
|
# External ScaFaCos must be installed in the system
|
|
if pkg-config --exists scafacos; then
|
|
scafacos="-DPKG_SCAFACOS=yes -DDOWNLOAD_SCAFACOS=OFF "
|
|
fi
|
|
# lammps-user-pace must be downloaded in $CWD
|
|
PACETARBALL=$CWD/lammps-user-pace-$PACEVERSION.tar.gz
|
|
if [ -f $PACETARBALL ]; then
|
|
mlpace="" ; [ "${MLPACE:-yes}" = "yes" ] && mlpace="-DPKG_ML-PACE=yes "
|
|
fi
|
|
# MDI_Library must be downloaded in $CWD. Installation of this library
|
|
# in the system does not work
|
|
MDITARBALL=$CWD/MDI_Library-$MDIVERSION.tar.gz
|
|
if [ -f $MDITARBALL ]; then
|
|
mdi="" ; [ "${MDI:-yes}" = "yes" ] && mdi="-DPKG_MDI=yes -DDOWNLOAD_MDI=ON "
|
|
fi
|
|
# N2P2 must be downloaded in $CWD
|
|
N2P2=$CWD/n2p2-$N2P2VERSION.tar.gz
|
|
if [ -f $MDITARBALL ]; then
|
|
mlhdnnp="" ; [ "${MLHDNNP:-yes}" = "yes" ] && mlhdnnp="-DPKG_ML-HDNNP=yes "
|
|
fi
|
|
|
|
|
|
# These internal packages are enabled by default.
|
|
# If you do not require some of them you have to edit the conditions in this block
|
|
# otherwise pass the respective environment variables set to "no" to the script
|
|
# for each package not desired
|
|
# (for example: AMOEBA=no ASPHERE=no ./lammps.SlackBuild)
|
|
|
|
amoeba="" [ "${AMOEBA:-yes}" = "yes" ] && amoeba="-DPKG_AMOEBA=yes "
|
|
asphere="" ; [ "${ASPHERE:-yes}" = "yes" ] && asphere="-DPKG_ASPHERE=yes "
|
|
atc="" ; [ "${ATC:-yes}" = "yes" ] && atc="-DPKG_ATC=yes "
|
|
awpmd="" ; [ "${AWPMD:-yes}" = "yes" ] && awpmd="-DPKG_AWPMD=yes "
|
|
bocs="" ; [ "${BOCS:-yes}" = "yes" ] && bocs="-DPKG_BOCS=yes "
|
|
body="" ; [ "${BODY:-yes}" = "yes" ] && body="-DPKG_BODY=yes "
|
|
bpm="" ; [ "${BPM:-yes}" = "yes" ] && bpm="-DPKG_BPM=yes "
|
|
brownian="" ; [ "${BROWNIAN:-yes}" = "yes" ] && brownian="-DPKG_BROWNIAN=yes "
|
|
cgdna="" ; [ "${CGDNA:-yes}" = "yes" ] && cgdna="-DPKG_CG-DNA=yes "
|
|
cgspica="" ; [ "${CGSPICA:-yes}" = "yes" ] && cgspica="-DPKG_CG-SPICA=yes "
|
|
class2="" ; [ "${CLASS2:-yes}" = "yes" ] && class2="-DPKG_CLASS2=yes "
|
|
colloid="" ; [ "${COLLOID:-yes}" = "yes" ] && colloid="-DPKG_COLLOID=yes "
|
|
colvars="" ; [ "${COLVARS:-yes}" = "yes" ] && colvars="-DPKG_COLVARS=yes "
|
|
compress="" ; [ "${COMPRESS:-yes}" = "yes" ] && compress="-DPKG_COMPRESS=yes "
|
|
coreshell="" ; [ "${CORESHELL:-yes}" = "yes" ] && coreshell="-DPKG_CORESHELL=yes "
|
|
dielectric="" ; [ "${DIELECTRIC:-yes}" = "yes" ] && dielectric="-DPKG_DIELECTRIC=yes "
|
|
diffraction="" ; [ "${DIFFRACTION:-yes}" = "yes" ] && diffraction="-DPKG_DIFFRACTION=yes "
|
|
dipole="" ; [ "${DIPOLE:-yes}" = "yes" ] && dipole="-DPKG_DIPOLE=yes "
|
|
dpdbasic="" ; [ "${DPDBASIC:-yes}" = "yes" ] && dpdbasic="-DPKG_DPD-BASIC=yes "
|
|
dpdmeso="" ; [ "${DPDMESO:-yes}" = "yes" ] && dpdmeso="-DPKG_DPD-MESO=yes "
|
|
dpdreact="" ; [ "${DPDREACT:-yes}" = "yes" ] && dpdreact="-DPKG_DPD-REACT=yes "
|
|
dpdsmooth="" ; [ "${DPDSMOOTH:-yes}" = "yes" ] && dpdsmooth="-DPKG_DPD-SMOOTH=yes "
|
|
drude="" ; [ "${DRUDE:-yes}" = "yes" ] && drude="-DPKG_DRUDE=yes "
|
|
eff="" ; [ "${EFF:-yes}" = "yes" ] && eff="-DPKG_EFF=yes "
|
|
electrode="" ; [ "${ELECTRODE:-yes}" = "yes" ] && electrode="-DPKG_ELECTRODE=yes "
|
|
extracompute="" ; [ "${EXTRACOMPUTE:-yes}" = "yes" ] && extracompute="-DPKG_EXTRA-COMPUTE=yes "
|
|
extradump="" ; [ "${EXTRADUMP:-yes}" = "yes" ] && extradump="-DPKG_EXTRA-DUMP=yes "
|
|
extrafix="" ; [ "${EXTRAFIX:-yes}" = "yes" ] && extrafix="-DPKG_EXTRA-FIX=yes "
|
|
extramolecule="" ; [ "${EXTRAMOLECULE:-yes}" = "yes" ] && extramolecule="-DPKG_EXTRA-MOLECULE=yes "
|
|
extrapair="" ; [ "${EXTRAPAIR:-yes}" = "yes" ] && extrapair="-DPKG_EXTRA-PAIR=yes "
|
|
fep="" ; [ "${FEP:-yes}" = "yes" ] && fep="-DPKG_FEP=yes "
|
|
granular="" ; [ "${GRANULAR:-yes}" = "yes" ] && granular="-DPKG_GRANULAR=yes "
|
|
intel="" ; [ "${INTEL:-yes}" = "yes" ] && intel="-DPKG_INTEL=yes "
|
|
interlayer="" ; [ "${INTERLAYER:-yes}" = "yes" ] && interlayer="-DPKG_INTERLAYER=yes "
|
|
kspace="" ; [ "${KSPACE:-yes}" = "yes" ] && kspace="-DPKG_KSPACE=yes "
|
|
lepton="" ; [ "${LEPTON:-yes}" = "yes" ] && lepton="-DPKG_LEPTON=yes "
|
|
machdyn="" ; [ "${MACHDYN:-yes}" = "yes" ] && machdyn="-DPKG_MACHDYN=yes "
|
|
manifold="" ; [ "${MANIFOLD:-yes}" = "yes" ] && manifold="-DPKG_MANIFOLD=yes "
|
|
manybody="" ; [ "${MANYBODY:-yes}" = "yes" ] && manybody="-DPKG_MANYBODY=yes "
|
|
mc="" ; [ "${MC:-yes}" = "yes" ] && mc="-DPKG_MC=yes "
|
|
meam="" ; [ "${MEAM:-yes}" = "yes" ] && meam="-DPKG_MEAM=yes "
|
|
mesont="" ; [ "${MESONT:-yes}" = "yes" ] && mesont="-DPKG_MESONT=yes "
|
|
mgpt="" ; [ "${MGPT:-yes}" = "yes" ] && mgpt="-DPKG_MGPT=yes "
|
|
misc="" ; [ "${MISC:-yes}" = "yes" ] && misc="-DPKG_MISC=yes "
|
|
mlpod="" ; [ "${MLPOD:-yes}" = "yes" ] && mlpod="-DPKG_ML-POD=yes "
|
|
mlrann="" ; [ "${MLRANN:-yes}" = "yes" ] && mlrann="-DPKG_ML-RANN=yes "
|
|
mlsnap="" ; [ "${MLSNAP:-yes}" = "yes" ] && mlsnap="-DPKG_ML-SNAP=yes "
|
|
mofff="" ; [ "${MOFFF:-yes}" = "yes" ] && mofff="-DPKG_MOFFF=yes "
|
|
molecule="" ; [ "${MOLECULE:-yes}" = "yes" ] && molecule="-DPKG_MOLECULE=yes "
|
|
opt="" ; [ "${OPT:-yes}" = "yes" ] && opt="-DPKG_OPT=yes "
|
|
orient="" ; [ "${ORIENT:-yes}" = "yes" ] && orient="-DPKG_ORIENT=yes "
|
|
peri="" ; [ "${PERI:-yes}" = "yes" ] && peri="-DPKG_PERI=yes "
|
|
phonon="" ; [ "${PHONON:-yes}" = "yes" ] && phonon="-DPKG_PHONON=yes "
|
|
plugin="" ; [ "${PLUGIN:-yes}" = "yes" ] && plugin="-DPKG_PLUGIN=yes "
|
|
poems="" ; [ "${POEMS:-yes}" = "yes" ] && poems="-DPKG_POEMS=yes "
|
|
ptm="" ; [ "${PTM:-yes}" = "yes" ] && ptm="-DPKG_PTM=yes "
|
|
qeq="" ; [ "${QEQ:-yes}" = "yes" ] && qeq="-DPKG_QEQ=yes "
|
|
qtb="" ; [ "${QTB:-yes}" = "yes" ] && qtb="-DPKG_QTB=yes "
|
|
reaction="" ; [ "${REACTION:-yes}" = "yes" ] && reaction="-DPKG_REACTION=yes "
|
|
reaxff="" ; [ "${REAXFF:-yes}" = "yes" ] && reaxff="-DPKG_REAXFF=yes "
|
|
replica="" ; [ "${REPLICA:-yes}" = "yes" ] && replica="-DPKG_REPLICA=yes "
|
|
rigid="" ; [ "${RIGID:-yes}" = "yes" ] && rigid="-DPKG_RIGID=yes "
|
|
shock="" ; [ "${SHOCK:-yes}" = "yes" ] && shock="-DPKG_SHOCK=yes "
|
|
smtbq="" ; [ "${SMTBQ:-yes}" = "yes" ] && smtbq="-DPKG_SMTBQ=yes "
|
|
sph="" ; [ "${SPH:-yes}" = "yes" ] && sph="-DPKG_SPH=yes "
|
|
spin="" ; [ "${SPIN:-yes}" = "yes" ] && spin="-DPKG_SPIN=yes "
|
|
srd="" ; [ "${SRD:-yes}" = "yes" ] && srd="-DPKG_SRD=yes "
|
|
tally="" ; [ "${TALLY:-yes}" = "yes" ] && tally="-DPKG_TALLY=yes "
|
|
uef="" ; [ "${UEF:-yes}" = "yes" ] && uef="-DPKG_UEF=yes "
|
|
yaff="" ; [ "${YAFF:-yes}" = "yes" ] && yaff="-DPKG_YAFF=yes "
|
|
|
|
# If OpenBLAS is installed ELECTRODE will be enabled using the system LAPACK
|
|
# otherwise a bundled linear algebra is used. To force the use of internal
|
|
# linear algebra edit the CMake flag setting "-DUSE_INTERNAL_LINALG=yes "
|
|
if [ "$electrode" = "-DPKG_ELECTRODE=yes " ]; then
|
|
if pkg-config --exists openblas; then
|
|
electrode=$electrode"-DUSE_INTERNAL_LINALG=no "
|
|
fi
|
|
fi
|
|
|
|
if [ "${PYTHON:-yes}" = "yes" ]; then
|
|
python="-DPKG_PYTHON=yes "
|
|
if [ -d /usr/doc/python3-numpy* ]; then
|
|
mliap="" ; [ "${MLIAP:-yes}" = "yes" ] && mliap="-DPKG_ML-IAP=yes -DMLIAP_ENABLE_PYTHON=autodetected "
|
|
else
|
|
mliap=""
|
|
fi
|
|
else
|
|
python=""
|
|
mliap=""
|
|
fi
|
|
|
|
# The GPU package requires some basic settings that may be customized through environment
|
|
# variables. For advanced options requiring specific hardware configurations (GPU) see the
|
|
# documentation in lammps.org
|
|
# This package causes many issues depending on the hardware/software configuration (build
|
|
# failure or segmentation fault) that require additional settings to be solved, so it is
|
|
# disabled by default.
|
|
if [ "${GPU:-no}" = "yes" ]; then
|
|
# by default the GPU package is enabled using bundled OpenCL ICD loader library/headers
|
|
# but users may prefer the local opencl installed in the system
|
|
opencl_loader="yes" ; [ "${STATIC_OCL:-no}" = "no" ] && opencl_loader="no"
|
|
gpu="-DPKG_GPU=yes -DGPU_API=opencl -DUSE_STATIC_OPENCL_LOADER=${opencl_loader} "
|
|
else
|
|
opencl_loader=""
|
|
gpu=""
|
|
fi
|
|
|
|
# Following conditions enable by default all packages that require dependencies if these
|
|
# are installed in the system
|
|
|
|
latboltz=""
|
|
openmp=""
|
|
if [ "$MP" = "openmpi" ]; then
|
|
latboltz="" ; [ "${LATBOLTZ:-yes}" = "yes" ] && latboltz="-DPKG_LATBOLTZ=yes "
|
|
openmp="" ; [ "${OPENMP:-yes}" = "yes" ] && openmp="-DPKG_OPENMP=yes "
|
|
fi
|
|
|
|
if [ "$MP" = "mpich" ]; then
|
|
latboltz="" ; [ "${LATBOLTZ:-yes}" = "yes" ] && latboltz="-DPKG_LATBOLTZ=yes "
|
|
fi
|
|
|
|
if pkg-config --exists plumed; then
|
|
plumed="" ; [ "${PLUMED:-yes}" = "yes" ] && plumed="-DPKG_PLUMED=yes -DDOWNLOAD_PLUMED=no "
|
|
else
|
|
plumed=""
|
|
fi
|
|
|
|
netcdf=""
|
|
if pkg-config --exists netcdf; then
|
|
netcdf="" ; [ "${NETCDF:-yes}" = "yes" ] && netcdf="-DPKG_NETCDF=yes "
|
|
fi
|
|
|
|
h5md=""
|
|
if [ -f /usr/bin/h5cc ]; then
|
|
h5md="" ; [ "${H5MD:-yes}" = "yes" ] && h5md="-DPKG_H5MD=yes "
|
|
fi
|
|
|
|
# This shouldn't need in 32-bit architectures, however it significantly extends the build times
|
|
# and absorbs many resources. Openmpi is strictly required.
|
|
kokkos=""
|
|
if [ "$ARCH" = "x86_64" ]; then
|
|
if [ "${KOKKOS:-yes}" = "yes" ] ; then
|
|
kokkos="-DPKG_KOKKOS=yes -DKokkos_ARCH_NATIVE=yes -DKokkos_ENABLE_OPENMP=yes "
|
|
fi
|
|
if [ "$MP" != "openmpi" ]; then
|
|
kokkos=""
|
|
fi
|
|
fi
|
|
|
|
# All required cmake flags related to packages are included in a single global variable
|
|
packages=$amoeba$asphere$atc$awpmd$bocs$body$bpm$brownian$cgdna$cgspica$class2$colloid\
|
|
$colvars$compress$coreshell$dielectric$diffraction$dipole$dpdbasic$dpdmeso$dpdreact\
|
|
$dpdsmooth$drude$eff$electrode$extracompute$extradump$extrafix$extramolecule$extrapair\
|
|
$fep$gpu$granular$h5md$intel$interlayer$kokkos$kspace$latboltz$lepton$machdyn$manifold\
|
|
$manybody$mc$mdi$meam$mesont$mgpt$misc$mlhdnnp$mliap$mlpod$mlrann$mlsnap$mofff$molecule\
|
|
$netcdf$openmp$opt$orient$peri$phonon$plugin$plumed$poems$ptm$qeq$qtb$reaction\
|
|
$reaxff$replica$rigid$shock$smtbq$sph$spin$srd$tally$uef$yaff
|
|
|
|
TMP=${TMP:-/tmp/SBo}
|
|
PKG=$TMP/package-$PRGNAM
|
|
OUTPUT=${OUTPUT:-/tmp}
|
|
|
|
if [ "$ARCH" = "i586" ]; then
|
|
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
|
|
LIBDIRSUFFIX=""
|
|
elif [ "$ARCH" = "i686" ]; then
|
|
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
|
|
LIBDIRSUFFIX=""
|
|
elif [ "$ARCH" = "x86_64" ]; then
|
|
SLKCFLAGS="-O2"
|
|
LIBDIRSUFFIX="64"
|
|
else
|
|
SLKCFLAGS="-O2"
|
|
LIBDIRSUFFIX=""
|
|
fi
|
|
|
|
set -e
|
|
|
|
rm -rf $PKG
|
|
mkdir -p $TMP $PKG $OUTPUT
|
|
cd $TMP
|
|
rm -rf ${SRCNAM}_${SRCVERSION}
|
|
tar xvf $CWD/${SRCNAM}_${SRCVERSION}.tar.gz
|
|
cd ${SRCNAM}_${SRCVERSION}
|
|
|
|
if [ "$mesont" != "" ]; then
|
|
cp -a $CWD/C_10_10.mesocnt ./potentials
|
|
if [ "$molecule" = "" ]; then
|
|
echo -e "\n\033[33mYou have enabled the package MESONT. Since this package requires also "
|
|
echo -e "the package MOLECULE, the build of MOLECULE will be automatically enabled\033[0m\n"
|
|
packages=$packages" -DPKG_MOLECULE=yes "
|
|
fi
|
|
fi
|
|
|
|
if [ "$MP" = "" ]; then
|
|
echo -e "\n\033[33m******************** WARNING ********************\n"
|
|
echo " no API supporting MPI (mpich or openmpi) are "
|
|
echo " installed on your system. This does not affect "
|
|
echo " the build and installation of LAMMPS, but some "
|
|
echo " packages cannot be enabled and other may work "
|
|
echo " not optimally. "
|
|
echo -e "\n*************************************************\n\033[0m"
|
|
fi
|
|
|
|
# Prepare directories to move the extrafiles needed to build some packages
|
|
mkdir -p cmake/build
|
|
|
|
if [ "$opencl_loader" = "yes" ]; then
|
|
mkdir -p cmake/build/_deps
|
|
cp -a $CWD/opencl-loader-$OCLLVERSION.tar.gz cmake/build/_deps
|
|
fi
|
|
|
|
if [ "$mdi" != "" ]; then
|
|
mkdir -p cmake/build/mdi_build_ext/src/
|
|
cp -a $CWD/MDI_Library-$MDIVERSION.tar.gz cmake/build/mdi_build_ext/src/v$MDIVERSION.tar.gz
|
|
fi
|
|
|
|
|
|
if [ "$mlhdnnp" != "" ]; then
|
|
mkdir -p cmake/build/n2p2_build-prefix/src/
|
|
cp -a $CWD/n2p2-$N2P2VERSION.tar.gz cmake/build/n2p2_build-prefix/src/v$N2P2VERSION.tar.gz
|
|
fi
|
|
|
|
if [ "$mlpace" != "" ]; then
|
|
cp -a $CWD/lammps-user-pace-$PACEVERSION.tar.gz cmake/build/libpace.tar.gz
|
|
fi
|
|
|
|
echo -e "\nFLAGS FOR PACKAGES ENABLED:\n "$packages"\n"
|
|
|
|
echo -e "FLAGS FOR PYTHON:\n "$python
|
|
|
|
echo -e "\nFLAGS FOR MPI:\n "$mpi
|
|
|
|
echo -e "\nFLAGS FOR SCAFACOS:\n "$scafacos
|
|
|
|
echo -e "\nFLAGS FOR ML-PACE:\n "$mlpace
|
|
|
|
echo ""
|
|
|
|
chown -R root:root .
|
|
find -L . \
|
|
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
|
|
-o -perm 511 \) -exec chmod 755 {} \; -o \
|
|
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
|
|
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
|
|
|
|
# The Source has not a CMakeLists.txt file in the root directory we
|
|
# need to change in the cmake directory
|
|
cd cmake
|
|
cd build
|
|
cmake \
|
|
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
|
|
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DBUILD_SHARED_LIBS=ON \
|
|
$mpi \
|
|
$scafacos \
|
|
$mdi \
|
|
$python \
|
|
$mlpace \
|
|
$packages \
|
|
..
|
|
make
|
|
make install DESTDIR=$PKG
|
|
cd ..
|
|
|
|
rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
|
|
|
|
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
|
|
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
|
|
|
|
#Since the build installs man in /usr/share we move the directory in /usr
|
|
mv -v $PKG/usr/share/man $PKG/usr
|
|
find $PKG/usr/man -type f -exec gzip -9 {} \;
|
|
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
|
|
|
|
#Since the build installs etc as subfolder of /usr (?), we move it in the root directory
|
|
mv -v $PKG/usr/etc $PKG
|
|
|
|
cd $TMP/${SRCNAM}_${SRCVERSION}
|
|
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
|
|
cp -a LICENSE README $PKG/usr/doc/$PRGNAM-$VERSION
|
|
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
|
|
|
|
mkdir -p $PKG/install
|
|
cat $CWD/slack-desc > $PKG/install/slack-desc
|
|
|
|
cd $PKG
|
|
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
|