# Contributor: William Pitcock # Maintainer: William Pitcock setvar pkgname = 'fftw' setvar pkgver = '3.3.6p2' setvar pkgrel = '0' setvar pkgdesc = ""fastest fourier transform in the west"" setvar url = ""http://www.fftw.org/"" setvar license = ""GPL"" setvar makedepends = ""texinfo"" # order of the libs split functions are important because of lib naming setvar subpackages = ""$pkgname-dev $pkgname-doc $pkgname-single-libs:single $pkgname-long-double-libs:long_double $pkgname-double-libs:double"" setvar srcpkgver = ${pkgver//p/-pl} setvar source = ""http://www.fftw.org/$pkgname-$srcpkgver.tar.gz cycle.h.patch"" setvar arch = ""all"" setvar _precision = ""single double long-double"" setvar builddir = ""$srcdir/$pkgname-$srcpkgver"" proc prepare { cd $builddir default_prepare for i in $_precision { cp -r $builddir $srcdir/$i } } proc build { for i in $_precision { case (i) { single {setvar _cf = ""--enable-single""} double {setvar _cf = """"} long-double {setvar _cf = ""--enable-long-double""} } case{ single--x86_64 | double--x86_64 { setvar _cf = ""$_cf --enable-sse2 --enable-avx""} single--arm* | single--aarch64 { setvar _cf = ""$_cf --enable-neon""} } msg "Building for $i precision ($_cf)" cd "$srcdir"/$i ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --enable-shared \ --enable-threads \ $_cf make } } proc package { for i in $_precision { cd "$srcdir"/$i make DESTDIR="$pkgdir" install } } proc single { mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libfftw3f*.so* \ "$subpkgdir"/usr/lib/ } proc double { mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libfftw3*.so* \ "$subpkgdir"/usr/lib/ } proc long_double { mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libfftw3l*.so* \ "$subpkgdir"/usr/lib/ } setvar sha512sums = ""e130309856752a1555b6d151c4d0ce9eb4b2c208fff7e3e89282ca8ef6104718f865cbb5e9c4af4367b3615b69b0d50fd001a26d74fd5324ff2faabe14fe3472 fftw-3.3.6-pl2.tar.gz d71ffb0aa658f7b22239491698426f4a97e657abc953020745f7581d2937a062a279eaa5980cd7f7fe2e8425a032eafc3d4c0cffdc79a83a3aef382c988d739a cycle.h.patch""