void-packages/srcpkgs/fftw/template

80 lines
2 KiB
Plaintext

# Template file for 'fftw'
pkgname=fftw
version=3.3.3
revision=3
short_desc="Library for computing the discrete Fourier transform (DFT)"
maintainer="Juan RP <xtraeme@gmail.com>"
license="GPL-2"
homepage="http://www.fftw.org/"
distfiles="${homepage}/fftw-${version}.tar.gz"
checksum=85cdfc0a0ba10d8fa4f0f8e733aac1a5936c859832a9e3d5c0731fb5c54a97f3
long_desc="
FFTW is a free collection of fast C routines for computing the Discrete
Fourier Transform in one or more dimensions. It includes complex, real,
symmetric, and parallel transforms, and can handle arbitrary array sizes
efficiently. FFTW is typically faster than other publically-available FFT
implementations, and is even competitive with vendor-tuned libraries."
hostmakedepends="libtool automake gcc-fortran"
pre_configure() {
sed -e 's,AM_CONFIG_HEADER,AC_CONFIG_HEADERS,g' -i configure.ac
autoreconf -fi
}
do_configure() {
local CARGS="--enable-shared --enable-threads"
if [ "$XBPS_TARGET_MACHINE" = "i686" -o "$XBPS_TARGET_MACHINE" = "x86_64" ]; then
_sse="--enable-sse"
_sse2="--enable-sse2"
fi
# double precision
mkdir build-double
cd ${wrksrc}/build-double
../configure ${configure_args} ${CARGS} ${_sse2}
# long double precission
mkdir ${wrksrc}/build-long-double
cd ${wrksrc}/build-long-double
../configure ${configure_args} ${CARGS} --enable-long-double
# single precission
mkdir ${wrksrc}/build-single
cd ${wrksrc}/build-single
../configure ${configure_args} ${CARGS} --enable-float ${_sse}
}
do_build() {
for f in double long-double single; do
cd ${wrksrc}/build-${f}
make ${makejobs}
done
}
do_install() {
for f in double long-double single; do
cd ${wrksrc}/build-${f}
make DESTDIR=${DESTDIR} install
done
}
libfftw_package() {
short_desc+=" - Runtime library"
pkg_install() {
vmove "usr/lib/*.so*"
}
}
fftw-devel_package() {
depends="libfftw>=${version}"
short_desc+=" - Development files"
pkg_install() {
vmove usr/include
vmove usr/lib/pkgconfig
vmove "usr/lib/*.a"
vmove usr/share/info
}
}