mlucas
maintainer Dylan14
· 1 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The source is a tarball from the project's official forum hosted on mersenneforum.org, which is the legitimate and expected source for Mlucas; building from this host is normal and expected, despite it not being a standard code forge.
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 95%): The source is a tarball from the project's official forum hosted on mersenneforum.org, which is the legitimate and expected source for Mlucas; building from this host is normal and expected, despite it not being a standard code forge.
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:12
source=("https://www.mersenneforum.org/mayer/src/C/mlucas_v${pkgver}.txz")
PKGBUILD
1 offending line(s) highlighted
1
#Maintainer: Dylan Delgado
2
3
pkgname=mlucas
4
pkgver=20.1.1
5
pkgrel=2
6
pkgdesc="Program used to perform Lucas-Lehmer tests of Mersenne numbers. Can be built on the ARM architecture."
7
arch=('i686' 'x86_64' 'arm' 'aarch64')
8
url="https://www.mersenneforum.org/mayer/README.html"
9
depends=("gmp" "xz")
10
optdepends=("python: to use the primenet.py work management script")
11
license=('FDL1.3')
12
source=("https://www.mersenneforum.org/mayer/src/C/mlucas_v${pkgver}.txz")
13
md5sums=('970c4dde58417bd7f6be0e4af4b59b4e')
14
15
#prepare() {
16
#cd "${srcdir}"/"${pkgname}"_v"${pkgver}"
17
#Only patch if the kernel version is at least 5.5.0
18
#kermajver=`uname -r | cut -d. -f1`
19
#kerminver=`uname -r | cut -d. -f2`
20
#if [ $kermajver -gt 5 ]; then
21
#patch -p1 < "../../sysctl-missing.patch"
22
#elif [ $kermajver -eq 5 ] && [ $kerminver -ge 5 ]; then
23
#patch -p1 < "../../sysctl-missing.patch"
24
#fi
25
#}
26
27
build() {
28
cd "${srcdir}"/"${pkgname}"_v"${pkgver}"/src
29
#Check the instructions on the computer and build based on that
30
#use this for x86, x86_64
31
if [[ $CARCH == "i686" || $CARCH == "x86_64" ]]
32
then
33
if grep avx512 /proc/cpuinfo > /dev/null;
34
then
35
#avx512 (Intel i9, KNL)
36
gcc -g -c -O3 -DUSE_AVX512 -DUSE_THREADS -march=native *.c > build.log
37
elif grep avx2 /proc/cpuinfo > /dev/null;
38
then
39
#avx2 (most modern Intel processors (Haswell+), AMD Ryzen)
40
gcc -g -c -O3 -DUSE_AVX2 -mavx2 -DUSE_THREADS *.c > build.log
41
elif grep avx /proc/cpuinfo > /dev/null;
42
then
43
#avx (Intel Sandy/Ivy Bridge, AMD Heavy-Equipment)
44
gcc -g -c -O3 -DUSE_AVX -mavx -DUSE_THREADS *.c > build.log
45
elif grep sse2 /proc/cpuinfo > /dev/null;
46
then
47
#sse2 (Most machines from ~2003 on should have this!)
48
gcc -g -c -O3 -DUSE_SSE2 -DUSE_THREADS *.c > build.log
49
else
50
#generic x86, x86_64 build
51
gcc -g -c -O3 -DUSE_THREADS *.c > build.log
52
fi
53
fi
54
55
#arm
56
#only go to this if CARCH is arm or aarch64
57
if [[ $CARCH == "arm" || $CARCH == "aarch64" ]]
58
then
59
if grep asimd /proc/cpuinfo > /dev/null;
60
then
61
#newer arm chips
62
gcc -g -c -O3 -DUSE_ARM_V8_SIMD -DUSE_THREADS *.c > build.log
63
else
64
#older arm chips
65
gcc -g -c -O3 -DUSE_THREADS *.c > build.log
66
fi
67
fi
68
#check the build log, to see if it empty, then link
69
70
if ! grep error build.log > /dev/null;
71
then
72
gcc -g -o ../Mlucas *.o -lm -lpthread -lrt -lgmp
73
fi
74
}
75
76
package() {
77
cd "${srcdir}"/"${pkgname}"_v"${pkgver}"
78
install -Dm755 Mlucas "${pkgdir}"/usr/bin/mlucas
79
}
80
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 |