summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitriy Morozov2015-09-03 08:22:27 -0700
committerDmitriy Morozov2015-09-03 08:22:27 -0700
commita0dcda44a449cd8c553f342afd91e16e9b10f46e (patch)
tree35fd533cc45e8889ec1936959f0e4732ec71f871
downloadaur-a0dcda44a449cd8c553f342afd91e16e9b10f46e.tar.gz
Initial commit (forked from fftw-3.3.4)
-rw-r--r--.SRCINFO20
-rw-r--r--PKGBUILD68
-rw-r--r--fftw.install24
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
+}
+
+
+
+