Added extra/fftw

This commit is contained in:
Kevin Mihelich 2011-02-22 01:37:08 -05:00
parent eb73515e0e
commit 730c46170a
2 changed files with 79 additions and 0 deletions

57
extra/fftw/PKGBUILD Normal file
View file

@ -0,0 +1,57 @@
# $Id: PKGBUILD 110392 2011-02-19 07:05:55Z allan $
# Maintainer: Ronald van Haren <ronald.archlinux.org>
# Contributor: damir <damir@archlinux.org>
# PlugApps: Kevin Mihelich <kevin@plugapps.com>
# - removed -malign-double from CONFIGURE
# - removed --enable-sse2 from double precision
# - removed --enable-sse from single precision
plugrel=1
pkgname=fftw
pkgver=3.2.2
pkgrel=2
pkgdesc="A library for computing the discrete Fourier transform (DFT)"
arch=('i686' 'x86_64')
license=('GPL2')
url="http://www.fftw.org/"
depends=('glibc' 'bash')
makedepends=('gcc-fortran')
options=(!libtool)
source=(http://www.fftw.org/${pkgname}-${pkgver}.tar.gz)
install=fftw.install
# 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
md5sums=('b616e5c91218cc778b5aa735fefb61ae')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
# use upstream default CFLAGS while keeping our -march/-mtune
CFLAGS+=" -O3 -fomit-frame-pointer -fstrict-aliasing -ffast-math"
CONFIGURE="./configure F77=gfortran --prefix=/usr \
--enable-shared --enable-threads"
# build & install double precision
$CONFIGURE
make
make DESTDIR=${pkgdir} install
make clean
# build & install long double precission
$CONFIGURE --enable-long-double
make
make DESTDIR=${pkgdir} install
make clean
# build & install single precision
$CONFIGURE --enable-float
make
make DESTDIR=${pkgdir} install
}

22
extra/fftw/fftw.install Normal file
View file

@ -0,0 +1,22 @@
info_dir=/usr/share/info
info_files=(fftw3.info)
post_install() {
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() {
for f in ${info_files[@]}; do
install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
done
}