# Template file for 'fftw' pkgname=fftw version=3.3.10 revision=2 hostmakedepends="libtool automake cmake-bootstrap" makedepends="libgomp-devel" short_desc="Library for computing the discrete Fourier transform (DFT)" maintainer="Orphaned " license="GPL-2.0-or-later" homepage="http://www.fftw.org/" distfiles="${homepage}/fftw-${version}.tar.gz" checksum=56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467 pre_configure() { vsed -i configure.ac -e 's,AM_CONFIG_HEADER,AC_CONFIG_HEADERS,g' autoreconf -fi } do_configure() { PATH=$PATH:/usr/libexec/xbps-src/bin local CARGS="--enable-shared --enable-threads --enable-openmp" case "$XBPS_TARGET_MACHINE" in i686*|x86_64*) _sse="--enable-sse"; _sse2="--enable-sse2";; esac # double precision mkdir build-double cd ${wrksrc}/build-double ../configure ${configure_args} ${CARGS} ${_sse2} # long double precision mkdir ${wrksrc}/build-long-double cd ${wrksrc}/build-long-double ../configure ${configure_args} ${CARGS} --enable-long-double # single precision mkdir ${wrksrc}/build-single cd ${wrksrc}/build-single ../configure ${configure_args} ${CARGS} --enable-float ${_sse} cd ${wrksrc} # fix wrong soname in FFTW3LibraryDepends.cmake vsed -e 's/3.6.9/3.6.10/' -i CMakeLists.txt # create missing FFTW3LibraryDepends.cmake cmake -B build -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=None \ -D ENABLE_OPENMP=ON -D ENABLE_THREADS=ON -D ENABLE_FLOAT=ON \ -D ENABLE_LONG_DOUBLE=ON -D ENABLE_QUAD_PRECISION=ON -D ENABLE_SSE=ON \ -D ENABLE_SSE2=ON -D ENABLE_AVX=ON -D ENABLE_AVX2=ON # fix broken IMPORTED_LOCATION: https://github.com/FFTW/fftw3/issues/130#issuecomment-1030280157 sed -e 's|\(IMPORTED_LOCATION_NONE\).*|\1 "/usr/lib/libfftw3.so.3"|' -i build/FFTW3LibraryDepends.cmake } do_build() { for f in double long-double single; do cd ${wrksrc}/build-${f} make ${makejobs} done } do_check() { for f in double long-double single; do cd ${wrksrc}/build-${f} make DESTDIR=${DESTDIR} check done } do_install() { for f in double long-double single; do cd ${wrksrc}/build-${f} make DESTDIR=${DESTDIR} install done vinstall ${wrksrc}/build/FFTW3LibraryDepends.cmake 644 usr/lib/cmake/fftw3/ } libfftw_package() { short_desc+=" - runtime libraries" pkg_install() { vmove "usr/lib/*.so.*" } } fftw-devel_package() { depends="libfftw>=${version}_${revision}" short_desc+=" - Development files" pkg_install() { vmove usr/include vmove usr/lib/pkgconfig vmove usr/lib/cmake vmove "usr/lib/*.a" vmove "usr/lib/*.so" vmove usr/share/info } }