android-armv7a-eabi-fftw
maintainer hipersayan_x
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The source URL points to the official project domain (fftw.org), which is the legitimate and expected source for this package, despite not being on a standard host whitelist; the package builds from official source code, posing no real security risk.
Triggered rules
LOW
AI review downgraded a static finding
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 90%): The source URL points to the official project domain (fftw.org), which is the legitimate and expected source for this package, despite not being on a standard host whitelist; the package builds from official source code, posing no real security risk.
1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM
source=() URL on a non-standard host
source_untrusted_domain
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
-
PKGBUILD:20
source=("http://www.fftw.org/fftw-${pkgver}.tar.gz")
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Gonzalo Exequiel Pedone <hipersayan DOT x AT gmail DOT com>
2
# Contributor: David Runge <dvzrv@archlinux.org>
3
# Contributor: Ronald van Haren <ronald.archlinux.org>
4
# Contributor: David Runge <dvzrv@archlinux.org>
5
# Contributor: damir <damir@archlinux.org>
6
7
_android_arch=armv7a-eabi
8
9
pkgname=android-${_android_arch}-fftw
10
pkgver=3.3.11
11
pkgrel=1
12
arch=('any')
13
pkgdesc="A library for computing the discrete Fourier transform (DFT) (Android ${_android_arch})"
14
url="http://www.fftw.org/"
15
license=('GPL-2.0-or-later')
16
groups=('android-fftw')
17
depends=('android-ndk')
18
makedepends=('android-cmake')
19
options=(!strip !buildflags staticlibs !emptydirs)
20
source=("http://www.fftw.org/fftw-${pkgver}.tar.gz")
21
md5sums=('40ec8d0447d03b8f01f8c90aa77bd16f')
22
_build_types=(single double long-double)
23
# Android's clang does not support quad precision
24
# _build_types+=(quad)
25
_soname=3.6.10
26
27
prepare() {
28
cd "${srcdir}/fftw-${pkgver}"
29
30
# fix wrong soname in FFTW3LibraryDepends.cmake
31
sed -i "s/3.6.9/${_soname}/g" CMakeLists.txt
32
}
33
34
build() {
35
cd "${srcdir}/fftw-${pkgver}"
36
source android-env ${_android_arch}
37
38
cmake_options=
39
40
if [ "${_android_arch}" = x86* ]; then
41
cmake_options="-DENABLE_AVX=ON -DENABLE_AVX2=ON -DENABLE_SSE=ON -DENABLE_SSE2=ON"
42
fi
43
44
# create missing FFTW3LibraryDepends.cmake
45
# https://bugs.archlinux.org/task/67604
46
android-${_android_arch}-cmake \
47
-S . \
48
-B build \
49
-DCMAKE_POLICY_DEFAULT_CMP0057=NEW \
50
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
51
-DBUILD_TESTS=OFF \
52
-DDISABLE_FORTRAN=ON \
53
-DENABLE_OPENMP=ON \
54
-DENABLE_THREADS=ON \
55
-DENABLE_FLOAT=ON \
56
-DENABLE_LONG_DOUBLE=ON \
57
-DENABLE_QUAD_PRECISION=ON \
58
-Wno-dev \
59
${cmake_options}
60
61
# fix broken IMPORTED_LOCATION: https://github.com/FFTW/fftw3/issues/130#issuecomment-1030280157
62
sed -i "s|\(IMPORTED_LOCATION_NONE\).*|\1 \"${ANDROID_PREFIX_LIB}/libfftw3.so.3\"|g" build/FFTW3LibraryDepends.cmake
63
64
# use upstream default CFLAGS while keeping our -march/-mtune
65
export CFLAGS="${CFLAGS} -O3 -fomit-frame-pointer -malign-double -fstrict-aliasing -ffast-math"
66
67
for precision in "${_build_types[@]}"; do
68
mkdir -p build-${precision} && pushd build-${precision}
69
configure_options=
70
71
case "${precision}" in
72
single)
73
configure_options='--enable-single'
74
75
case "${_android_arch}" in
76
x86*)
77
configure_options="${configure_options} --enable-avx --enable-sse"
78
;;
79
aarch64|armv7a-eabi)
80
configure_options="${configure_options} --enable-neon"
81
;;
82
esac
83
;;
84
double)
85
if [ "${_android_arch}" = x86* ]; then
86
configure_options="${configure_options} --enable-avx --enable-sse2"
87
fi
88
;;
89
long-double)
90
configure_options="${configure_options} --enable-long-double"
91
;;
92
quad)
93
configure_options="${configure_options} --enable-quad-precision"
94
;;
95
esac
96
97
case "${_android_arch}" in
98
aarch64)
99
configure_options="${configure_options} --enable-armv8-cntvct-el0 --enable-armv8-pmccntr-el0"
100
;;
101
armv7a-eabi)
102
configure_options="${configure_options} --enable-armv7a-pmccntr"
103
# configure_options="${configure_options} --enable-armv7a-cntvct"
104
;;
105
*)
106
;;
107
esac
108
109
target=${_android_arch/x86-/x86_}-linux-android
110
../configure \
111
--host=${target} \
112
--target=${target} \
113
--build=${CHOST} \
114
--prefix=${ANDROID_PREFIX} \
115
--libdir=${ANDROID_PREFIX_LIB} \
116
--includedir=${ANDROID_PREFIX_INCLUDE} \
117
--enable-shared \
118
--enable-static \
119
--disable-doc \
120
--disable-fortran \
121
--enable-threads \
122
--enable-openmp \
123
--disable-mpi \
124
${configure_options}
125
# fix overlinking because of libtool
126
sed -i 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
127
make $MAKEFLAGS
128
popd
129
done
130
}
131
132
package() {
133
cd "${srcdir}/fftw-${pkgver}"
134
source android-env ${_android_arch}
135
136
for precision in "${_build_types[@]}"; do
137
make -C build-${precision} DESTDIR="${pkgdir}" install
138
done
139
140
rm -rf "${pkgdir}/${ANDROID_PREFIX_BIN}"
141
rm -rf "${pkgdir}/${ANDROID_PREFIX_SHARE}"
142
${ANDROID_STRIP} -g --strip-unneeded "${pkgdir}/${ANDROID_PREFIX_LIB}"/*.so
143
${ANDROID_STRIP} -g "${pkgdir}/${ANDROID_PREFIX_LIB}"/*.a
144
145
# install missing FFTW3LibraryDepends.cmake
146
install -vDm 644 build/FFTW3LibraryDepends.cmake -t "${pkgdir}/${ANDROID_PREFIX_LIB}/cmake/fftw3/"
147
148
install -vDm 644 COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}/"
149
}
150
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 00:06:16 | LOW | 2 |
| 2026-07-16 00:05:41 | LOW | 2 |
| 2026-07-15 00:09:25 | LOW | 2 |