summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2021-03-30 19:18:42 +0100
committerSam James <sam@gentoo.org>2021-03-30 19:18:42 +0100
commitf35d47315b0608fb4dea99f44074183627b15bb0 (patch)
treee0146a17946c5dbbc4eeb0adc44d80ea0bc689d3 /sci-libs/fftw
parentsci-libs/fftw: drop 2.1.5-r9 (drop :2.1 slot) (diff)
downloadgentoo-f35d47315b0608fb4dea99f44074183627b15bb0.tar.gz
gentoo-f35d47315b0608fb4dea99f44074183627b15bb0.tar.bz2
gentoo-f35d47315b0608fb4dea99f44074183627b15bb0.zip
Revert "sci-libs/fftw: drop 2.1.5-r9 (drop :2.1 slot)"
Not yet. This reverts commit 46056a122449288e449e0f0f8030e20f5bc2e2df. Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sci-libs/fftw')
-rw-r--r--sci-libs/fftw/Manifest1
-rw-r--r--sci-libs/fftw/fftw-2.1.5-r9.ebuild137
2 files changed, 138 insertions, 0 deletions
diff --git a/sci-libs/fftw/Manifest b/sci-libs/fftw/Manifest
index a43277669038..3db9f31dca77 100644
--- a/sci-libs/fftw/Manifest
+++ b/sci-libs/fftw/Manifest
@@ -1 +1,2 @@
+DIST fftw-2.1.5.tar.gz 1256888 BLAKE2B 61e2eed91459479ab893a423c1a6f38dd7e9637e0466fa0a59fccfa2cec930e8870a5febfccfacfe44e876e40534c34e05dc62b8e7bf188b43fe3a65c6a7bdba SHA512 8724a7f66aa19b271aa0ffb0e3762919f08082ac4400f52d11b50aef9b9d23a7d4fc5d6b2eae0ac166e2bb30a4d38a52c878e8bf8e24aba01ab1c3ddf5ebec15
DIST fftw-3.3.9.tar.gz 4146999 BLAKE2B 6ea6966f3c5056102e6c3e4628b072c7e9832e3250b292808ed934b3a82515fd77658cbaff50d7b1268fb8c9444b10e39b22d100b7c31ea2452f3cee59c9f280 SHA512 52ebc2a33063a41fd478f6ea2acbf3b511867f736591d273dd57f9dfca5d3e0b0c73157921b3a36f1a7cfd741a8a6bde0fd80de578040ae730ea168b5ba466cf
diff --git a/sci-libs/fftw/fftw-2.1.5-r9.ebuild b/sci-libs/fftw/fftw-2.1.5-r9.ebuild
new file mode 100644
index 000000000000..0d4eae2fdb7b
--- /dev/null
+++ b/sci-libs/fftw/fftw-2.1.5-r9.ebuild
@@ -0,0 +1,137 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+FORTRAN_NEEDED=fortran
+
+inherit autotools flag-o-matic fortran-2 multibuild toolchain-funcs
+
+DESCRIPTION="Fast C library for the Discrete Fourier Transform"
+HOMEPAGE="http://www.fftw.org"
+SRC_URI="http://www.fftw.org/${P}.tar.gz"
+
+KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+LICENSE="GPL-2+"
+SLOT="2.1"
+IUSE="doc float fortran mpi openmp threads static-libs"
+
+RDEPEND="mpi? ( virtual/mpi )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-as-needed.patch
+ "${FILESDIR}"/${P}-configure.in.patch
+ "${FILESDIR}"/${P}-no-test.patch
+ "${FILESDIR}"/${P}-cc.patch
+ "${FILESDIR}"/${P}-texinfo5.1.patch
+ "${FILESDIR}"/${P}-parallel-tests.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
+ tc-check-openmp
+ FORTRAN_NEED_OPENMP=1
+ fi
+
+ fortran-2_pkg_setup
+
+ MULTIBUILD_VARIANTS=( single double )
+}
+
+src_prepare() {
+ default
+
+ # fix info files
+ local infofile
+ for infofile in doc/fftw*info*; do
+ cat >> ${infofile} <<-EOF || die
+ INFO-DIR-SECTION Libraries
+ START-INFO-DIR-ENTRY
+ * fftw: (fftw). ${DESCRIPTION}
+ END-INFO-DIR-ENTRY
+ EOF
+ done
+
+ mv configure.{in,ac} || die
+ sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac || die
+
+ eautoreconf
+
+ # 'FAQ' is actually a dir and causes issues with einstalldocs
+ rm -r FAQ || die
+
+ multibuild_copy_sources
+}
+
+fftw_src_configure() {
+ local myconf=(
+ --with-gcc=$(tc-getCC)
+ --enable-shared
+ --enable-type-prefix
+ --enable-vec-recurse
+ $(use_enable fortran)
+ $(use_enable mpi)
+ $(use_enable static-libs static)
+ $(use_enable x86 i386-hacks)
+ $(use_with openmp)
+ )
+
+ if use openmp || use threads; then
+ myconf+=( --enable-threads )
+ else
+ myconf+=( --disable-threads )
+ fi
+
+ [[ $MULTIBUILD_VARIANT == single ]] && myconf+=( --enable-float )
+
+ econf "${myconf[@]}"
+}
+
+src_configure() {
+ # this one is reported to cause trouble on pentium4 m series
+ filter-mfpmath sse
+
+ # here I need (surprise) to increase optimization:
+ # --enable-i386-hacks requires -fomit-frame-pointer to work properly
+ if use x86; then
+ is-flag -fomit-frame-pointer || append-flags -fomit-frame-pointer
+ fi
+ use openmp && [[ $(tc-getCC)$ == icc* ]] && append-ldflags $(no-as-needed)
+
+ multibuild_foreach_variant run_in_build_dir fftw_src_configure
+}
+
+src_compile() {
+ multibuild_foreach_variant run_in_build_dir default_src_compile
+}
+
+src_test() {
+ multibuild_foreach_variant run_in_build_dir default_src_test
+}
+
+src_install() {
+ use doc && HTML_DOCS=( doc/*.{html,gif} )
+ multibuild_foreach_variant run_in_build_dir default_src_install
+
+ doheader fortran/fftw_f77.i
+
+ create_fftw_symlinks() {
+ local i f letter=$1
+ for i in fft rfft; do
+ for f in "${ED%/}"/usr/{include,$(get_libdir)}/*${letter}${i}*; do
+ ln -s $(basename ${f}) ${f/${letter}${i}/${i}} || die
+ done
+ done
+ }
+ create_fftw_symlinks $(usex float s d)
+
+ if ! use static-libs; then
+ find "${D}" -name '*.la' -delete || die
+ fi
+}