diff options
author | Dmitriy Morozov | 2015-09-03 08:22:27 -0700 |
---|---|---|
committer | Dmitriy Morozov | 2015-09-03 08:22:27 -0700 |
commit | a0dcda44a449cd8c553f342afd91e16e9b10f46e (patch) | |
tree | 35fd533cc45e8889ec1936959f0e4732ec71f871 | |
download | aur-a0dcda44a449cd8c553f342afd91e16e9b10f46e.tar.gz |
Initial commit (forked from fftw-3.3.4)
-rw-r--r-- | .SRCINFO | 20 | ||||
-rw-r--r-- | PKGBUILD | 68 | ||||
-rw-r--r-- | fftw.install | 24 |
3 files changed, 112 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..2c292661e8b3 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,20 @@ +pkgbase = fftw-mpich + pkgdesc = A library for computing the discrete Fourier transform (DFT) + pkgver = 3.3.4 + pkgrel = 1 + url = http://www.fftw.org/ + install = fftw.install + arch = i686 + arch = x86_64 + license = GPL2 + makedepends = gcc-fortran + depends = bash + depends = gcc-libs + depends = mpich + provides = fftw + conflicts = fftw + source = http://www.fftw.org/fftw-3.3.4.tar.gz + sha1sums = fd508bac8ac13b3a46152c54b7ac885b69734262 + +pkgname = fftw-mpich + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..7363f20ccda4 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,68 @@ +# $Id$ +# Maintainer: Ronald van Haren <ronald.archlinux.org> +# Contributor: damir <damir@archlinux.org> + +pkgname=fftw-mpich +_pkgname=fftw +pkgver=3.3.4 +pkgrel=1 +pkgdesc="A library for computing the discrete Fourier transform (DFT)" +arch=('i686' 'x86_64') +license=('GPL2') +url="http://www.fftw.org/" +depends=('bash' 'gcc-libs' 'mpich') +makedepends=('gcc-fortran') +provides=('fftw') +conflicts=('fftw') +source=("http://www.fftw.org/${_pkgname}-${pkgver}.tar.gz") +install=fftw.install +sha1sums=('fd508bac8ac13b3a46152c54b7ac885b69734262') + +# notes: +# http://www.fftw.org/fftw2_doc/fftw_6.html#SEC69 +# http://www.fftw.org/faq/section2.html#singleprec +# http://www.fftw.org/fftw3_doc/Precision.html#Precision + + +build() { + cd ${srcdir} + + cp -a ${_pkgname}-${pkgver} ${_pkgname}-${pkgver}-double + cp -a ${_pkgname}-${pkgver} ${_pkgname}-${pkgver}-long-double + mv ${_pkgname}-${pkgver} ${_pkgname}-${pkgver}-single + + + # use upstream default CFLAGS while keeping our -march/-mtune + CFLAGS+=" -O3 -fomit-frame-pointer -malign-double -fstrict-aliasing -ffast-math" + + CONFIGURE="./configure F77=gfortran --prefix=/usr \ + --enable-shared --enable-threads \ + --enable-openmp + MPILIBS=-lmpi LDFLAGS=-L/opt/mpich/libs CPPFLAGS=-I/opt/mpich/include" + + # build double precision + cd ${srcdir}/${_pkgname}-${pkgver}-double + $CONFIGURE --enable-sse2 --enable-avx + make + + # build & install long double precission + cd ${srcdir}/${_pkgname}-${pkgver}-long-double + $CONFIGURE --enable-long-double + make + + # build & install single precision + cd ${srcdir}/${_pkgname}-${pkgver}-single + $CONFIGURE --enable-float --enable-sse --enable-avx + make +} + +package() { + cd ${srcdir}/${_pkgname}-${pkgver}-double + make DESTDIR=${pkgdir} install + + cd ${srcdir}/${_pkgname}-${pkgver}-long-double + make DESTDIR=${pkgdir} install + + cd ${srcdir}/${_pkgname}-${pkgver}-single + make DESTDIR=${pkgdir} install +} diff --git a/fftw.install b/fftw.install new file mode 100644 index 000000000000..b2b22ac67c35 --- /dev/null +++ b/fftw.install @@ -0,0 +1,24 @@ +info_dir=/usr/share/info +info_files=(fftw3.info) + +post_install() { + [[ -x usr/bin/install-info ]] || return 0 + for f in ${info_files[@]}; do + install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null + done +} + +post_upgrade() { + post_install +} + +pre_remove() { + [[ -x usr/bin/install-info ]] || return 0 + for f in ${info_files[@]}; do + install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null + done +} + + + + |