summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Kudelin2020-02-05 20:59:44 +0700
committerAnton Kudelin2020-02-05 20:59:44 +0700
commit48eed5e77c00c7b8d7ea8605545dd2c7f690236b (patch)
treeef63fb2940c06fde36a07a8261bd1ce5bf2daa68
parent41141ec0a8c18a598b3d78e90f93f3bfec0c8a86 (diff)
downloadaur-48eed5e77c00c7b8d7ea8605545dd2c7f690236b.tar.gz
Updated to 4.1
-rw-r--r--.SRCINFO14
-rw-r--r--PKGBUILD70
2 files changed, 53 insertions, 31 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 3199e2b2abbb..dde38a6c7365 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index a2c0cec1ecc0..aa092cdf02e8 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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
}