diff --git a/srcpkgs/fftw-devel b/srcpkgs/fftw-devel new file mode 120000 index 0000000000..b29a18d711 --- /dev/null +++ b/srcpkgs/fftw-devel @@ -0,0 +1 @@ +fftw \ No newline at end of file diff --git a/srcpkgs/fftw/depends b/srcpkgs/fftw/depends new file mode 100644 index 0000000000..16e520eb14 --- /dev/null +++ b/srcpkgs/fftw/depends @@ -0,0 +1,2 @@ +abi_depends=">=3.3" +api_depends="${abi_depends}" diff --git a/srcpkgs/fftw/fftw-devel.template b/srcpkgs/fftw/fftw-devel.template new file mode 100644 index 0000000000..3147f9208a --- /dev/null +++ b/srcpkgs/fftw/fftw-devel.template @@ -0,0 +1,16 @@ +# Template file for 'fftw-devel'. +# +short_desc="${short_desc} - Development files" +long_desc="${long_desc} + + This package contains files for development, headers, static libs, etc." + +Add_dependency run libfftw + +do_install() +{ + vmove usr/include usr + vmove "usr/lib/*.a" usr/lib + vmove usr/lib/pkgconfig usr/lib + vmove usr/share/info usr/share +} diff --git a/srcpkgs/fftw/libfftw.template b/srcpkgs/fftw/libfftw.template new file mode 100644 index 0000000000..bdfff94cb0 --- /dev/null +++ b/srcpkgs/fftw/libfftw.template @@ -0,0 +1,13 @@ +# Template file for 'libfftw'. +# +short_desc="${short_desc} - Runtime library" +long_desc="${long_desc} + + This package contains the FFTW runtime lib(s)." + +Add_dependency run glibc + +do_install() +{ + vmove "usr/lib/*.so*" usr/lib +} diff --git a/srcpkgs/fftw/template b/srcpkgs/fftw/template new file mode 100644 index 0000000000..027a3abd3f --- /dev/null +++ b/srcpkgs/fftw/template @@ -0,0 +1,55 @@ +# Template file for 'fftw' +pkgname=fftw +version=3.3 +homepage="http://www.fftw.org/" +distfiles="${homepage}/${pkgname}-${version}.tar.gz" +build_style=custom-install +short_desc="Library for computing the discrete Fourier transform (DFT)" +maintainer="Juan RP " +license="GPL-2" +checksum=d25a98521a13933e678ce19319d03ddc915826764e1e59abd12d172c239b6aea +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." + +subpackages="lib${pkgname} ${pkgname}-devel" + +Add_dependency run glibc +Add_dependency run libfftw +Add_dependency build gcc-fortran + +do_configure() { + local CARGS="--enable-shared --enable-threads" + + # double precision + mkdir build-double + cd ${wrksrc}/build-double && \ + ../configure ${CONFIGURE_SHARED_ARGS} ${CARGS} --enable-sse2 + + # long double precission + mkdir ${wrksrc}/build-long-double + cd ${wrksrc}/build-long-double && \ + ../configure ${CONFIGURE_SHARED_ARGS} \ + ${CARGS} --enable-long-double + + # single precission + mkdir ${wrksrc}/build-single + cd ${wrksrc}/build-single && \ + ../configure ${CONFIGURE_SHARED_ARGS} ${CARGS} \ + --enable-float --enable-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 +} diff --git a/srcpkgs/libfftw b/srcpkgs/libfftw new file mode 120000 index 0000000000..b29a18d711 --- /dev/null +++ b/srcpkgs/libfftw @@ -0,0 +1 @@ +fftw \ No newline at end of file diff --git a/xbps-src/common/mapping_shlib_binpkg.txt b/xbps-src/common/mapping_shlib_binpkg.txt index 59b5b60dd5..2d03910b92 100644 --- a/xbps-src/common/mapping_shlib_binpkg.txt +++ b/xbps-src/common/mapping_shlib_binpkg.txt @@ -901,3 +901,9 @@ libevview3.so.3 libevince evince-devel libgdprivate-1.0.so.0 gnome-documents libjack.so.0 libjack jack-devel libjackserver.so.0 libjack jack-devel +libfftw3_threads.so.3 libfftw fftw-devel +libfftw3.so.3 libfftw fftw-devel +libfftw3l_threads.so.3 libfftw fftw-devel +libfftw3l.so.3 libfftw fftw-devel +libfftw3f_threads.so.3 libfftw fftw-devel +libfftw3f.so.3 libfftw fftw-devel