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
3pkgname=${_target}-gcc-stage1
4_gccver=15.2.0
5_islver=0.27
6pkgver=15.2.0_r225.be7ccd0
7pkgrel=1
8pkgdesc="The GNU Compiler Collection. Stage 1 for toolchain building (${_target})"
9arch=('x86_64')
10license=('GPL' 'LGPL' 'FDL')
11url="http://www.gnu.org/software/gcc/"
12depends=(libmpc zstd)
13makedepends=(gmp mpfr git "${_target}-binutils")
14optdepends=("${_target}-newlib: Standard C library optimized for embedded systems")
15options=(!emptydirs)
16source=("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")
20sha256sums=('438fd996826b0c82485a29da03a72d71d6e3541a83ec702df4271f6fe025d24e'
21 '626335529331f7c89fec493de929e2e92fb3d8cc860fc7af554e0518ee0029ee'
22 'SKIP'
23 '75bcf36e10fd50f7b21d80db4fcc9b58d2c658f2c749b7cf2f9369b31f147a6d')
24
25pkgver() {
26 cd "${srcdir}/n64/"
27 printf "%s_r%s.%s" "${_gccver}" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
28}
29
30prepare() {
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
55build() {
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
105package() {
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)SeverityRules
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

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion