mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-04-20 11:56:40 +02:00
103 lines
2.2 KiB
Text
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
|
|
"
|