commit:     f35d47315b0608fb4dea99f44074183627b15bb0
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 30 18:18:42 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Mar 30 18:18:42 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f35d4731

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 <AT> gentoo.org>

 sci-libs/fftw/Manifest             |   1 +
 sci-libs/fftw/fftw-2.1.5-r9.ebuild | 137 +++++++++++++++++++++++++++++++++++++
 2 files changed, 138 insertions(+)

diff --git a/sci-libs/fftw/Manifest b/sci-libs/fftw/Manifest
index a4327766903..3db9f31dca7 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 00000000000..0d4eae2fdb7
--- /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
+}

Reply via email to