diff options
author | Anton Kudelin | 2020-02-05 20:59:44 +0700 |
---|---|---|
committer | Anton Kudelin | 2020-02-05 20:59:44 +0700 |
commit | 48eed5e77c00c7b8d7ea8605545dd2c7f690236b (patch) | |
tree | ef63fb2940c06fde36a07a8261bd1ce5bf2daa68 | |
parent | 41141ec0a8c18a598b3d78e90f93f3bfec0c8a86 (diff) | |
download | aur-48eed5e77c00c7b8d7ea8605545dd2c7f690236b.tar.gz |
Updated to 4.1
-rw-r--r-- | .SRCINFO | 14 | ||||
-rw-r--r-- | PKGBUILD | 70 |
2 files changed, 53 insertions, 31 deletions
@@ -1,17 +1,17 @@ pkgbase = siesta pkgdesc = A first-principles materials simulation code using DFT - pkgver = 4.0.2 - pkgrel = 2 - url = https://departments.icmab.es/leem/siesta + pkgver = 4.1 + pkgrel = 1 + url = www.uam.es/siesta arch = x86_64 license = GPL - makedepends = sed makedepends = gcc-fortran - depends = scalapack + depends = elpa + depends = metis depends = fftw depends = python - source = https://launchpad.net/siesta/4.0/4.0.2/+download/siesta-4.0.2.tar.gz - sha256sums = bafbda19358f0c1dd39bb1253c92ee548791a1c0f648977051d2657216874f7e + source = https://gitlab.com/siesta-project/siesta/-/archive/rel-4.1/siesta-rel-4.1.tar.bz2 + sha256sums = 07d724a143b245e7c79dc996b5bf13936497444827a91653249b4775fc1fdcf0 pkgname = siesta @@ -1,36 +1,58 @@ # Maintainer: Anton Kudelin <kudelin at protonmail dot com> pkgname=siesta -pkgver=4.0.2 -pkgrel=2 +pkgver=4.1 +pkgrel=1 pkgdesc="A first-principles materials simulation code using DFT" arch=("x86_64") -url="https://departments.icmab.es/leem/siesta" +url="www.uam.es/siesta" license=('GPL') -depends=('scalapack' 'fftw' 'python') -makedepends=('sed' 'gcc-fortran') -source=("https://launchpad.net/$pkgname/4.0/$pkgver/+download/$pkgname-$pkgver.tar.gz") -sha256sums=('bafbda19358f0c1dd39bb1253c92ee548791a1c0f648977051d2657216874f7e') +depends=('elpa' 'metis' 'fftw' 'python') +makedepends=('gcc-fortran') +source=("https://gitlab.com/siesta-project/siesta/-/archive/rel-$pkgver/$pkgname-rel-$pkgver.tar.bz2") +sha256sums=('07d724a143b245e7c79dc996b5bf13936497444827a91653249b4775fc1fdcf0') + +prepare() { + # Whereas the configure script was removed from the distribution, + # one is required to adjust arch.make to set up building environment. + cd $pkgname-rel-$pkgver/Obj + cp DOCUMENTED-TEMPLATE.make arch.make + sed -i '/CC =/c CC = mpicc' arch.make + sed -i '/FC =/c FC = mpifort' arch.make + sed -i '/FFLAGS =/c FFLAGS = -O3 -fPIC -ftree-vectorize -march=native -fopenmp' arch.make + sed -i 's/unknown/archlinux/g' arch.make + sed -i 's/COMP_LIBS =/#COMP_LIBS =/' arch.make + sed -i 's/$(COMP_LIBS)/$(COMP_LIBS) -lgomp/g' arch.make + export MPI_INTERFACE="libmpi_f90.a" + export MPI_INCLUDE=. + export COMP_LIBS="-lelpa_openmp -lmetis" + export SCALAPACK_LIBS="-lscalapack" + export FFTW_ROOT="/usr" + + # Fixing libraries + cd ../Util + sed -i 's/ make/ make -j1 LDFLAGS="-lgomp"/g' build_all.sh + sed -i 's/$@/$@ $(LDFLAGS)/g' Optimizer/Makefile + + # Handling ELPA + _elpaver=$( ls /usr/include | grep elpa | sed 's/elpa_openmp-//g' ) +} build() { - cd $pkgname-$pkgver/Obj - ../Src/obj_setup.sh - ../Src/configure \ - --prefix=/usr \ - --enable-mpi \ - --with-lapack="-llapack" \ - FCFLAGS="$FCFLAGS" - make -j1 - cd ../Util - sed -i "s/ make/ make -j1/g" build_all.sh - ./build_all.sh + cd $pkgname-rel-$pkgver/Obj + ../Src/obj_setup.sh + make FPPFLAGS="-DMPI -DSIESTA__METIS -DSIESTA__ELPA -I/usr/include/elpa_openmp-$_elpaver/modules" + cp siestaxc.mod ../Src + cd ../Util + ./build_all.sh + rm ../Src/siestaxc.mod } package() { - cd $pkgname-$pkgver - install -dm755 $pkgdir/opt/siesta/bin - install -dm755 $pkgdir/usr/{bin,share/siesta} - find ./Util -type f ! -name "*.sh" -executable -exec install -m755 {} "$pkgdir/opt/siesta/bin" ";" - install -m755 ./Obj/siesta $pkgdir/opt/siesta/bin - ln -sf $pkgdir/opt/siesta/bin/siesta $pkgdir/usr/bin + cd $pkgname-rel-$pkgver + install -dm755 $pkgdir/opt/siesta + install -dm755 $pkgdir/usr/bin + find ./Util -type f ! -name "*.sh" -executable -exec install -m755 {} "$pkgdir/opt/siesta" ";" + install -m755 ./Obj/siesta $pkgdir/opt/siesta + ln -sf $pkgdir/opt/siesta/siesta $pkgdir/usr/bin } |