Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-libs/fftw/
Date: Tue, 30 Mar 2021 18:19:02
Message-Id: 1617128322.f35d47315b0608fb4dea99f44074183627b15bb0.sam@gentoo
1 commit: f35d47315b0608fb4dea99f44074183627b15bb0
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Tue Mar 30 18:18:42 2021 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Tue Mar 30 18:18:42 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f35d4731
7
8 Revert "sci-libs/fftw: drop 2.1.5-r9 (drop :2.1 slot)"
9
10 Not yet.
11
12 This reverts commit 46056a122449288e449e0f0f8030e20f5bc2e2df.
13
14 Signed-off-by: Sam James <sam <AT> gentoo.org>
15
16 sci-libs/fftw/Manifest | 1 +
17 sci-libs/fftw/fftw-2.1.5-r9.ebuild | 137 +++++++++++++++++++++++++++++++++++++
18 2 files changed, 138 insertions(+)
19
20 diff --git a/sci-libs/fftw/Manifest b/sci-libs/fftw/Manifest
21 index a4327766903..3db9f31dca7 100644
22 --- a/sci-libs/fftw/Manifest
23 +++ b/sci-libs/fftw/Manifest
24 @@ -1 +1,2 @@
25 +DIST fftw-2.1.5.tar.gz 1256888 BLAKE2B 61e2eed91459479ab893a423c1a6f38dd7e9637e0466fa0a59fccfa2cec930e8870a5febfccfacfe44e876e40534c34e05dc62b8e7bf188b43fe3a65c6a7bdba SHA512 8724a7f66aa19b271aa0ffb0e3762919f08082ac4400f52d11b50aef9b9d23a7d4fc5d6b2eae0ac166e2bb30a4d38a52c878e8bf8e24aba01ab1c3ddf5ebec15
26 DIST fftw-3.3.9.tar.gz 4146999 BLAKE2B 6ea6966f3c5056102e6c3e4628b072c7e9832e3250b292808ed934b3a82515fd77658cbaff50d7b1268fb8c9444b10e39b22d100b7c31ea2452f3cee59c9f280 SHA512 52ebc2a33063a41fd478f6ea2acbf3b511867f736591d273dd57f9dfca5d3e0b0c73157921b3a36f1a7cfd741a8a6bde0fd80de578040ae730ea168b5ba466cf
27
28 diff --git a/sci-libs/fftw/fftw-2.1.5-r9.ebuild b/sci-libs/fftw/fftw-2.1.5-r9.ebuild
29 new file mode 100644
30 index 00000000000..0d4eae2fdb7
31 --- /dev/null
32 +++ b/sci-libs/fftw/fftw-2.1.5-r9.ebuild
33 @@ -0,0 +1,137 @@
34 +# Copyright 1999-2021 Gentoo Authors
35 +# Distributed under the terms of the GNU General Public License v2
36 +
37 +EAPI=6
38 +
39 +FORTRAN_NEEDED=fortran
40 +
41 +inherit autotools flag-o-matic fortran-2 multibuild toolchain-funcs
42 +
43 +DESCRIPTION="Fast C library for the Discrete Fourier Transform"
44 +HOMEPAGE="http://www.fftw.org"
45 +SRC_URI="http://www.fftw.org/${P}.tar.gz"
46 +
47 +KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
48 +
49 +LICENSE="GPL-2+"
50 +SLOT="2.1"
51 +IUSE="doc float fortran mpi openmp threads static-libs"
52 +
53 +RDEPEND="mpi? ( virtual/mpi )"
54 +DEPEND="${RDEPEND}"
55 +
56 +PATCHES=(
57 + "${FILESDIR}"/${P}-as-needed.patch
58 + "${FILESDIR}"/${P}-configure.in.patch
59 + "${FILESDIR}"/${P}-no-test.patch
60 + "${FILESDIR}"/${P}-cc.patch
61 + "${FILESDIR}"/${P}-texinfo5.1.patch
62 + "${FILESDIR}"/${P}-parallel-tests.patch
63 +)
64 +
65 +pkg_pretend() {
66 + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
67 +}
68 +
69 +pkg_setup() {
70 + if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
71 + tc-check-openmp
72 + FORTRAN_NEED_OPENMP=1
73 + fi
74 +
75 + fortran-2_pkg_setup
76 +
77 + MULTIBUILD_VARIANTS=( single double )
78 +}
79 +
80 +src_prepare() {
81 + default
82 +
83 + # fix info files
84 + local infofile
85 + for infofile in doc/fftw*info*; do
86 + cat >> ${infofile} <<-EOF || die
87 + INFO-DIR-SECTION Libraries
88 + START-INFO-DIR-ENTRY
89 + * fftw: (fftw). ${DESCRIPTION}
90 + END-INFO-DIR-ENTRY
91 + EOF
92 + done
93 +
94 + mv configure.{in,ac} || die
95 + sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac || die
96 +
97 + eautoreconf
98 +
99 + # 'FAQ' is actually a dir and causes issues with einstalldocs
100 + rm -r FAQ || die
101 +
102 + multibuild_copy_sources
103 +}
104 +
105 +fftw_src_configure() {
106 + local myconf=(
107 + --with-gcc=$(tc-getCC)
108 + --enable-shared
109 + --enable-type-prefix
110 + --enable-vec-recurse
111 + $(use_enable fortran)
112 + $(use_enable mpi)
113 + $(use_enable static-libs static)
114 + $(use_enable x86 i386-hacks)
115 + $(use_with openmp)
116 + )
117 +
118 + if use openmp || use threads; then
119 + myconf+=( --enable-threads )
120 + else
121 + myconf+=( --disable-threads )
122 + fi
123 +
124 + [[ $MULTIBUILD_VARIANT == single ]] && myconf+=( --enable-float )
125 +
126 + econf "${myconf[@]}"
127 +}
128 +
129 +src_configure() {
130 + # this one is reported to cause trouble on pentium4 m series
131 + filter-mfpmath sse
132 +
133 + # here I need (surprise) to increase optimization:
134 + # --enable-i386-hacks requires -fomit-frame-pointer to work properly
135 + if use x86; then
136 + is-flag -fomit-frame-pointer || append-flags -fomit-frame-pointer
137 + fi
138 + use openmp && [[ $(tc-getCC)$ == icc* ]] && append-ldflags $(no-as-needed)
139 +
140 + multibuild_foreach_variant run_in_build_dir fftw_src_configure
141 +}
142 +
143 +src_compile() {
144 + multibuild_foreach_variant run_in_build_dir default_src_compile
145 +}
146 +
147 +src_test() {
148 + multibuild_foreach_variant run_in_build_dir default_src_test
149 +}
150 +
151 +src_install() {
152 + use doc && HTML_DOCS=( doc/*.{html,gif} )
153 + multibuild_foreach_variant run_in_build_dir default_src_install
154 +
155 + doheader fortran/fftw_f77.i
156 +
157 + create_fftw_symlinks() {
158 + local i f letter=$1
159 + for i in fft rfft; do
160 + for f in "${ED%/}"/usr/{include,$(get_libdir)}/*${letter}${i}*; do
161 + ln -s $(basename ${f}) ${f/${letter}${i}/${i}} || die
162 + done
163 + done
164 + }
165 + create_fftw_symlinks $(usex float s d)
166 +
167 + if ! use static-libs; then
168 + find "${D}" -name '*.la' -delete || die
169 + fi
170 +}