mips64-ultra-elf-gcc-stage1
maintainer valandil
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads GCC and ISL source tarballs from official project hosts and a Git repository from GitHub; the non-standard host is GitHub via git+https, which is common and low risk for AUR packages, and the build process is transparent and follows standard GCC cross-compilation practices.
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 package downloads GCC and ISL source tarballs from official project hosts and a Git repository from GitHub; the non-standard host is GitHub via git+https, which is common and low risk for AUR packages, and the build process is transparent and follows standard GCC cross-compilation practices.
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:17
"https://libisl.sourceforge.io/isl-${_islver}.tar.bz2"
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Joey Dumont <joey.dumont@gmail.com>
2
_target=mips64-ultra-elf
3
pkgname=${_target}-gcc-stage1
4
_gccver=15.2.0
5
_islver=0.27
6
pkgver=15.2.0_r225.be7ccd0
7
pkgrel=1
8
pkgdesc="The GNU Compiler Collection. Stage 1 for toolchain building (${_target})"
9
arch=('x86_64')
10
license=('GPL' 'LGPL' 'FDL')
11
url="http://www.gnu.org/software/gcc/"
12
depends=(libmpc zstd)
13
makedepends=(gmp mpfr git "${_target}-binutils")
14
optdepends=("${_target}-newlib: Standard C library optimized for embedded systems")
15
options=(!emptydirs)
16
source=("http://gcc.gnu.org/pub/gcc/releases/gcc-${_gccver}/gcc-${_gccver}.tar.xz"
17
"https://libisl.sourceforge.io/isl-${_islver}.tar.bz2"
18
"git+https://github.com/glankk/n64.git#branch=n64-ultra"
19
"gcc13-Wno-format-security.patch")
20
sha256sums=('438fd996826b0c82485a29da03a72d71d6e3541a83ec702df4271f6fe025d24e'
21
'626335529331f7c89fec493de929e2e92fb3d8cc860fc7af554e0518ee0029ee'
22
'SKIP'
23
'75bcf36e10fd50f7b21d80db4fcc9b58d2c658f2c749b7cf2f9369b31f147a6d')
24
25
pkgver() {
26
cd "${srcdir}/n64/"
27
printf "%s_r%s.%s" "${_gccver}" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
28
}
29
30
prepare() {
31
cd "gcc-${_gccver}"
32
33
# link isl for in-tree builds
34
ln -s "../isl-$_islver" isl
35
36
echo "${_gccver}" > gcc/BASE-VER
37
38
# hack! - some configure tests for header files using "$CPP $CPPFLAGS"
39
sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure
40
41
# -- Patch Werror=format-security issues.
42
patch --strip=1 --input="$srcdir"/gcc13-Wno-format-security.patch
43
44
mkdir "${srcdir}"/build-gcc
45
46
# -- Copy the files from the source.
47
CP_DIR="${srcdir}/gcc-${_gccver}"
48
49
cd "${srcdir}/n64"
50
cp config/gcc/mips/* "${CP_DIR}/gcc/config/mips/"
51
cat config/gcc/config.gcc.ultra >> "${CP_DIR}/gcc/config.gcc"
52
53
}
54
55
build() {
56
cd build-gcc
57
58
export CFLAGS="$CFLAGS -Wno-format-security"
59
export CXXFLAGS="$CXXFLAGS -Wno-format-security"
60
export CFLAGS_FOR_TARGET="-Os -g -ffunction-sections -fdata-sections"
61
export CXXFLAGS_FOR_TARGET="-Os -g -ffunction-sections -fdata-sections"
62
63
"${srcdir}"/gcc-${_gccver}/configure \
64
--prefix=/usr \
65
--libdir=/usr/${_target}/lib \
66
--libexecdir=/usr/${_target}/lib \
67
--target=${_target} \
68
--host="$CHOST" \
69
--build="$CHOST" \
70
--with-arch=vr4300 \
71
--with-abi=32 \
72
--with-sysroot=/usr/${_target}/n64-sysroot/ \
73
--enable-languages=c \
74
--enable-sjlj-exceptions \
75
--with-gnu-as \
76
--with-gnu-ld \
77
--with-python-dir=share/gcc-${_target} \
78
--with-newlib \
79
--without-headers \
80
--without-included-gettext \
81
--enable-checking=release \
82
--disable-build-format-warnings \
83
--disable-decimal-float \
84
--disable-gold \
85
--disable-libatomic \
86
--disable-libgcj \
87
--disable-libgomp \
88
--disable-libitm \
89
--disable-libquadmath \
90
--disable-libquadmath-support \
91
--disable-libsanitizer \
92
--disable-libssp \
93
--disable-libunwind-exceptions \
94
--disable-libvtv \
95
--enable-multilib \
96
--disable-nls \
97
--disable-shared \
98
--disable-threads \
99
--disable-werror \
100
--enable-plugin
101
102
make
103
}
104
105
package() {
106
cd build-gcc
107
108
make DESTDIR="${pkgdir}" install
109
110
# strip target binaries
111
find "$pkgdir"/usr/${_target}/lib/gcc/$_target/${_gccver} "$pkgdir"/usr/$_target/lib -type f -and \( -name \*.a -or -name \*.o \) -exec $_target-objcopy -R .comment -R .note -R .debug_info -R .debug_aranges -R .debug_pubnames -R .debug_pubtypes -R .debug_abbrev -R .debug_line -R .debug_str -R .debug_ranges -R .debug_loc '{}' \;
112
113
# strip host binaries
114
find "$pkgdir"/usr/bin/ "$pkgdir"/usr/${_target}/lib/gcc/$_target/${_gccver} -type f -and \( -executable \) -exec strip '{}' \;
115
116
# Remove files that conflict with host gcc package
117
rm -r "$pkgdir"/usr/share/man/man7
118
rm -r "$pkgdir"/usr/share/info
119
rm "$pkgdir"/usr/${_target}/lib/libcc1.*
120
}
121
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 |