aports/main/fftw/APKBUILD
2024-11-13 06:18:17 +00:00

103 lines
2.2 KiB
Text

# Contributor: Magnus Sandin <magnus.sandin@valitron.se>
# Maintainer: Magnus Sandin <magnus.sandin@valitron.se>
pkgname=fftw
pkgver=3.3.10
_pkgver=${pkgver//p/-pl}
pkgrel=6
pkgdesc="Discrete Fourier transform (DFT) library"
url="http://www.fftw.org/"
arch="all"
license="GPL-2.0-or-later"
makedepends="texinfo"
# order of the libs split functions are important because of lib naming
subpackages="
$pkgname-dev
$pkgname-doc
$pkgname-single-libs:single
$pkgname-long-double-libs:long_double
$pkgname-double-libs:double
"
source="http://www.fftw.org/fftw-$_pkgver.tar.gz
cycle.h.patch
"
_precision="single double long-double"
# disable tests for arm due to bug with gcc >= 9
# see https://github.com/FFTW/fftw3/issues/213
case "$CARCH" in
armhf|armv7) options="$options !check";;
esac
prepare() {
default_prepare
update_config_sub
local i; for i in $_precision; do
cp -r "$builddir" $srcdir/$i
done
}
build() {
export CFLAGS="$CFLAGS -O2"
export CXXFLAGS="$CXXFLAGS -O2"
local cf
local i; for i in $_precision; do
case "$i" in
single) cf="--enable-single" ;;
double) cf="" ;;
long-double) cf="--enable-long-double" ;;
esac
case "$i--$CARCH" in
single--x86_64|double--x86_64) cf="$cf --enable-sse2 --enable-avx" ;;
single--x86|double--x86) cf="$cf --enable-sse2" ;;
single--arm*|single--aarch64) cf="$cf --enable-neon" ;;
esac
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
done
}
check() {
local i; for i in $_precision; do
cd "$srcdir"/$i
make check
done
}
package() {
local i; for i in $_precision; do
cd "$srcdir"/$i
make DESTDIR="$pkgdir" install
done
}
single() {
amove usr/lib/libfftw3f*.so*
}
double() {
amove usr/lib/libfftw3*.so*
}
long_double() {
amove usr/lib/libfftw3l*.so*
}
sha512sums="
2d34b5ccac7b08740dbdacc6ebe451d8a34cf9d9bfec85a5e776e87adf94abfd803c222412d8e10fbaa4ed46f504aa87180396af1b108666cde4314a55610b40 fftw-3.3.10.tar.gz
7da269fc43dabd02ae6fad2ebad92b07e06825b6b7c6f8987fc6444f02e0d55080db4ba6e401760e071f5c33015faf8c710f643636cab7a79bdf1af5d434dbb4 cycle.h.patch
"