ungoogled-chromium-xdg

LOW
maintainer ZhangHua 13 votes scanned 2026-11-01 00:21:48.120785
View on AUR
Why flagged

The package downloads the Chromium source from Google's official storage, which is a standard and trusted source for Chromium builds, and applies ungoogled-chromium patches to remove Google dependencies; the build process is transparent and uses system libraries, posing no significant 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-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads the Chromium source from Google's official storage, which is a standard and trusted source for Chromium builds, and applies ungoogled-chromium patches to remove Google dependencies; the build process is transparent and uses system libraries, posing no significant 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:96 source=(https://commondatastorage.googleapis.com/chromium-browser-official/chromium-$pkgver-lite.tar.xz

PKGBUILD

1 offending line(s) highlighted
1# Contributor: Noah Vogt (noahvogt) <noah@noahvogt.com>
2# Contributor: Seppia <seppia@seppio.fish>
3# Contributor: JustKidding <jk@vin.ovh>
4
5# Based on extra/chromium, with ungoogled-chromium patches
6
7# Contributor: Christian Heusel <gromit@archlinux.org>
8# Contributor: Jonathan Grotelüschen <tippfehlr@archlinux.org>
9# Contributor: DeepChirp <deepchirp@archlinux.org>
10# Contributor: Evangelos Foutras <evangelos@foutrelis.com>
11# Contributor: Pierre Schmitz <pierre@archlinux.de>
12# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
13# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
14
15# binary version of this package (-bin): github.com/noahvogt/ungoogled-chromium-xdg-bin-aur
16
17pkgname=ungoogled-chromium-xdg
18pkgver=156.0.8078.47
19pkgrel=1
20_launcher_ver=8
21_manual_clone=0
22_system_clang=1
23_uc_usr=ungoogled-software
24_uc_ver=$pkgver-1
25pkgdesc="A lightweight approach to removing Google web service dependency - allow disabling omnibox auto completion"
26arch=('x86_64')
27url="https://github.com/ungoogled-software/ungoogled-chromium"
28license=('BSD-3-Clause')
29depends=(
30 'alsa-lib'
31 'at-spi2-core'
32 'cairo'
33 'dbus'
34 'desktop-file-utils'
35 'expat'
36 'glib2'
37 'glibc'
38 'gtk3'
39 'hicolor-icon-theme'
40 'libcups'
41 'libffi'
42 'libgcc'
43 'libgcrypt'
44 'libpulse'
45 'libstdc++'
46 'libva'
47 'libx11'
48 'libxcb'
49 'libxcomposite'
50 'libxdamage'
51 'libxext'
52 'libxfixes'
53 'libxkbcommon'
54 'libxrandr'
55 'libxss'
56 'mesa'
57 'nspr'
58 'nss'
59 'pango'
60 'pciutils'
61 'systemd'
62 'systemd-libs'
63 'ttf-liberation'
64 'xdg-utils'
65 'zlib'
66)
67makedepends=(
68 'clang'
69 'compiler-rt'
70 'esbuild'
71 'git'
72 'gn'
73 'go'
74 'gperf'
75 'java-runtime-headless'
76 'lld'
77 'ninja'
78 'nodejs'
79 'opus'
80 'pipewire'
81 'python'
82 'qt6-base'
83 'rust'
84 'rust-bindgen'
85 'typescript'
86 'vulkan-headers'
87)
88optdepends=('pipewire: WebRTC desktop sharing under Wayland'
89 'kdialog: support for native dialogs in Plasma'
90 'gtk4: for --gtk-version=4 (GTK4 IME might work better on Wayland)'
91 'qt6-base: Qt support'
92 'org.freedesktop.secrets: password storage backend on GNOME, KDE and Xfce'
93 'upower: Battery Status API support'
94 'chromium-extension-web-store: Web Store Functionality')
95options=('!lto') # Chromium adds its own flags for ThinLTO
96source=(https://commondatastorage.googleapis.com/chromium-browser-official/chromium-$pkgver-lite.tar.xz
97 "ungoogled-chromium-$_uc_ver.tar.gz::https://github.com/$_uc_usr/ungoogled-chromium/archive/$_uc_ver.tar.gz"
98 https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver/chromium-launcher-$_launcher_ver.tar.gz
99 chromium-138-nodejs-version-check.patch
100 chromium-145-fix-SYS_SECCOMP.patch
101 chromium-147-rust-1.95-bytemuck.patch
102 chromium-147-simdutf-8.0-base-char.patch
103 chromium-149-use-of-undeclared-identifier-ERROR.patch
104 chromium-150-revert-avx-flag-change.patch
105 chromium-152-unbundle-minizip-undo-unicode.patch
106 chromium-152-unbundle-opus-devtools.patch
107 chromium-153-hermetic-python.patch
108 chromium-153-iamf-tools-unbundled-opus.patch
109 chromium-155-use-system-esbuild.patch
110 chromium-156-crubit.patch
111 chromium-156-remove-private_verification_tokens.patch
112 chromium-156-revert-gn-check-includes.patch
113 chromium-156-typescript.patch
114 chromium-156-isolatedDeclarations.patch
115 compiler-rt-adjust-paths.patch
116 increase-fortify-level.patch
117 enable-widevine-arm64.patch
118 use-oauth2-client-switches-as-default.patch
119 glibc-2.42-baud-rate-fix.patch
120 # ungoogled-chromium-xdg patches
121 no-omnibox-suggestion-autocomplete.patch)
122sha256sums=('28432028890ef70e1f2e9db880c500907ad1b04f5ae6b655a3f394b9f2eaa705'
123 'acf73f8fab3fa7a4977f54e4e51b206eaf6cc425c2294ecc4dc8023fd093bd2d'
124 '213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a'
125 '11a96ffa21448ec4c63dd5c8d6795a1998d8e5cd5a689d91aea4d2bdd13fb06e'
126 '4fc040a0656a0a524dd8ad090cd129fc5b6cb21adcc66be82080165789e8c13e'
127 'b9e6339221efe03540ffb360c161d93604a1fc93a5a1c53e5e9849066f987d05'
128 '80e445d7a5cbd61d1252ecf46c5eaf0fb4a5e63bd1b9c976261df778a4586640'
129 '951514535be65f0e2f84e82305d96292be1da353c1427ba1048ea24be70003c4'
130 '5f6ccb7b945c8a13c690493723bad816b36f2f25792d47e677b56f8200907e60'
131 '890e5d98088ef1c7c075a551442f03385d1db266cad8a65576704a22720683f9'
132 '3276453f2ce655b6286476f48d4df837be952d9447afa46583f79ec71f2288c3'
133 'ebf74154266d0b6d6cc957c413f845052c5fcfce7745befb8821595cdf3f7d49'
134 '2ab9fbe653829ce692f83ee780aad07e8c83a6686e51ab9459ad736cfa2850ee'
135 'ded2abcb912ac4b6ad139e56384eea8f3b470cf57ecb0baa2c2d042df7575a23'
136 '0c8bd7769496ab71116cd73ac17c096b0979fa70fb2e76676f76d34c7424449e'
137 '8170368b531a0ae70071da054db4a09a6902b8b7854083d5505570f86a73e644'
138 'c666f9b009d3a2c737501d714689677e6d474982695966651fe7cdbcbc6e5815'
139 '946d4f70daeb446b911197bca804983d305c0ee809bc5507d05451bd07fe9523'
140 'f6aefbd3f70dbda9242cf815a1dca56af729632166bc57e5067755b119cc95de'
141 'ec8e49b7114e2fa2d359155c9ef722ff1ba5fe2c518fa48e30863d71d3b82863'
142 'd634d2ce1fc63da7ac41f432b1e84c59b7cceabf19d510848a7cff40c8025342'
143 '5ee4bb69379ac0cea7946c9f8f4ca9e20e0a9e4ee2ee9121eb0ebbb94dd7e928'
144 '9343afa1a4308a7cfb3317229f5aff7778688debcc03c4a74a85908aa1d0cc3a'
145 '1c1898f263eaacbc069a8e1a3e732852350350d1dad4cb1a6bba430e3b796cd0'
146 'ed335a6b4b9c05fff5fbfb530e83bdd165c002f2219d0adbf9773bc3239620e6')
147
148if (( _manual_clone )); then
149 source[0]=fetch-chromium-release
150 sha256sums[0]='2e2f36e3cd1ebc4ad57fd310774a5e5e9db77883d5f9374fedeaabd3c103b819'
151 makedepends+=('python-httplib2' 'python-pyparsing' 'python-six' 'npm' 'rsync')
152fi
153
154provides=("chromium=${pkgver}" "chromedriver=${pkgver}")
155conflicts=('chromium' 'chromedriver')
156
157# Possible replacements are listed in build/linux/unbundle/replace_gn_files.py
158# Keys are the names in the above script; values are the dependencies in Arch
159declare -gA _system_libs=(
160 [brotli]=brotli
161 [dav1d]=dav1d
162 [double-conversion]=double-conversion
163 #[ffmpeg]=ffmpeg # YouTube playback stopped working in Chromium 120
164 [flac]=flac
165 [fontconfig]=fontconfig
166 [freetype]=freetype2
167 [harfbuzz]=harfbuzz
168 [highway]=highway
169 #[icu]=icu
170 #[jsoncpp]=jsoncpp # needs libstdc++
171 #[libaom]=aom
172 #[libavif]=libavif # needs -DAVIF_ENABLE_EXPERIMENTAL_GAIN_MAP=ON
173 [libdrm]=libdrm
174 [libjpeg]=libjpeg-turbo
175 #[libpng]=libpng # libpng has been replaced by the png rust crate
176 #[libvpx]=libvpx
177 [libwebp]=libwebp
178 [libxml]=libxml2
179 [libxslt]=libxslt
180 [openh264]=openh264
181 [opus]=opus
182 #[re2]=re2 # needs libstdc++
183 [simdutf]=simdutf
184 #[snappy]=snappy # needs libstdc++
185 #[woff2]=woff2 # needs libstdc++
186 [zlib]=minizip
187 [zstd]=zstd
188)
189_unwanted_bundled_libs=(
190 $(printf "%s\n" ${!_system_libs[@]} | sed 's/^libjpeg$/&_turbo/')
191)
192depends+=(${_system_libs[@]})
193
194# Google API keys (see https://www.chromium.org/developers/how-tos/api-keys)
195# Note: These are for Arch Linux use ONLY. For your own distribution, please
196# get your own set of keys.
197#
198# Starting with Chromium 89 (2021-03-02) the OAuth2 credentials have been left
199# out: https://archlinux.org/news/chromium-losing-sync-support-in-early-march/
200
201prepare() {
202 if (( _manual_clone )); then
203 ./fetch-chromium-release $pkgver
204 fi
205 cd chromium-$pkgver
206
207 # Allow building against system libraries in official builds
208 sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
209 tools/generate_shim_headers/generate_shim_headers.py
210
211 # https://crbug.com/893950
212 sed -i -e 's/\<xmlMalloc\>/malloc/' -e 's/\<xmlFree\>/free/' \
213 -e '1i #include <cstdlib>' \
214 third_party/blink/renderer/core/xml/*.cc \
215 third_party/blink/renderer/core/xml/parser/xml_document_parser.cc \
216 third_party/libxml/chromium/*.cc
217
218 # Use the --oauth2-client-id= and --oauth2-client-secret= switches for
219 # setting GOOGLE_DEFAULT_CLIENT_ID and GOOGLE_DEFAULT_CLIENT_SECRET at
220 # runtime -- this allows signing into Chromium without baked-in values
221 patch -Np1 -i ../use-oauth2-client-switches-as-default.patch
222
223 # Upstream fixes
224
225 # Fixes from Gentoo
226 patch -Np1 -i ../chromium-138-nodejs-version-check.patch
227
228 # Allow libclang_rt.builtins from compiler-rt >= 16 to be used
229 patch -Np1 -i ../compiler-rt-adjust-paths.patch
230
231 # Increase _FORTIFY_SOURCE level to match Arch's default flags
232 patch -Np1 -i ../increase-fortify-level.patch
233
234 # https://crbug.com/456218403
235 patch -Np1 -i ../chromium-145-fix-SYS_SECCOMP.patch
236
237 patch -Np1 -i ../chromium-147-rust-1.95-bytemuck.patch
238
239 # enable widevine for arm64
240 patch -Np1 -i ../enable-widevine-arm64.patch
241
242 # https://crbug.com/456677057
243 patch -Np1 -i ../glibc-2.42-baud-rate-fix.patch
244
245 patch -Np1 -i ../chromium-149-use-of-undeclared-identifier-ERROR.patch
246
247 # Fix issue about missing AVX functions
248 # Credit: https://github.com/ungoogled-software/ungoogled-chromium/pull/3837
249 patch -Np1 -i ../chromium-150-revert-avx-flag-change.patch
250
251 # To unbundle simdutf
252 patch -Np1 -i ../chromium-147-simdutf-8.0-base-char.patch
253
254 patch -Np1 -i ../chromium-152-unbundle-minizip-undo-unicode.patch
255
256 patch -Np1 -i ../chromium-152-unbundle-opus-devtools.patch
257
258 # Use system python3 instead of the hermetic cpython3 interpreter
259 # https://github.com/ungoogled-software/ungoogled-chromium/pull/3946
260 patch -Np1 -i ../chromium-153-hermetic-python.patch
261
262 # third_party/iamf_tools includes vendored Opus via relative "include/opus.h"
263 # paths that only resolve against a real bundled Opus checkout; fix them up
264 # for the unbundled system Opus build
265 patch -Np1 -i ../chromium-153-iamf-tools-unbundled-opus.patch
266
267 patch -Np1 -i ../chromium-155-use-system-esbuild.patch
268
269 patch -Np1 -i ../chromium-156-crubit.patch
270
271 patch -Np1 -i ../chromium-156-remove-private_verification_tokens.patch
272
273 patch -Np1 -i ../chromium-156-revert-gn-check-includes.patch
274
275 patch -Np1 -i ../chromium-156-isolatedDeclarations.patch
276
277 # Work around TypeScript becoming a build dependency: disable tsgo for the
278 # WebUI and point devtools at the system tsc binary
279 # https://github.com/ungoogled-software/ungoogled-chromium/pull/3966
280 patch -Np1 -i ../chromium-156-typescript.patch
281
282 # Custom Patches
283
284 # You can now set '1' in the flag #omnibox-ui-max-autocomplete-matches to
285 # effectively disable autocompletion in the url bar (and therefore the so-
286 # called 'shoulder surfing').
287 patch -p1 -i ../no-omnibox-suggestion-autocomplete.patch
288
289 if (( !_system_clang )); then
290 # Use prebuilt rust as system rust cannot be used due to the error:
291 # error: the option `Z` is only accepted on the nightly compiler
292 ./tools/rust/update_rust.py
293
294 # To link to rust libraries we need to compile with prebuilt clang
295 ./tools/clang/scripts/update.py
296 else
297 # To fix missing libadler.rlib
298 sed -i 's/rustc_nightly_capability = use_chromium_rust_toolchain/rustc_nightly_capability = true/' \
299 build/config/rust.gni
300 fi
301
302
303 # Ungoogled Chromium changes
304 _ungoogled_repo="$srcdir/${pkgname%xdg*}$_uc_ver"
305
306 _utils="${_ungoogled_repo}/utils"
307 msg2 'Pruning binaries'
308 python "$_utils/prune_binaries.py" ./ "$_ungoogled_repo/pruning.list"
309 msg2 'Applying patches'
310 python "$_utils/patches.py" apply ./ "$_ungoogled_repo/patches"
311 msg2 'Applying domain substitution'
312 python "$_utils/domain_substitution.py" apply -r "$_ungoogled_repo/domain_regex.list" \
313 -f "$_ungoogled_repo/domain_substitution.list" -c domainsubcache.tar.gz ./
314
315 # Link to system tools required by the build
316 mkdir -p third_party/node/linux/node-linux-x64/bin \
317 third_party/rust-toolchain/bin \
318 third_party/jdk/current/bin \
319 third_party/gperf/cipd/bin \
320 third_party/dawn/tools/golang/linux-amd64/bin
321 rm -rf third_party/devtools-frontend/src/node_modules/esbuild/
322 ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/
323 if (( ! _manual_colne )); then
324 ln -s /usr/bin/rustc third_party/rust-toolchain/bin/
325 fi
326 ln -s /usr/bin/java third_party/jdk/current/bin/
327 ln -s /usr/bin/gperf third_party/gperf/cipd/bin/
328 ln -s /usr/bin/go third_party/dawn/tools/golang/linux-amd64/bin/
329 ln -s /usr/lib/node_modules/esbuild/ third_party/devtools-frontend/src/node_modules/esbuild
330
331 # Remove bundled libraries for which we will use the system copies; this
332 # *should* do what the remove_bundled_libraries.py script does, with the
333 # added benefit of not having to list all the remaining libraries
334 local _lib
335 for _lib in ${_unwanted_bundled_libs[@]}; do
336 # Most bundled libraries live under `third_party/<lib>`, but
337 # `double-conversion` is located under `base/third_party/double_conversion`
338 local _dir="third_party/$_lib"
339 if [[ ! -d "${_dir}" ]]; then
340 _dir="base/third_party/${_lib//-/_}"
341 fi
342
343 find "$_dir" -type f \
344 \! -path "$_dir/chromium/*" \
345 \! -path "$_dir/google/*" \
346 \! -path "third_party/harfbuzz-ng/utils/hb_scoped.h" \
347 \! -regex '.*\.\(gn\|gni\|isolate\)' \
348 -delete
349 done
350
351 ./build/linux/unbundle/replace_gn_files.py \
352 --system-libraries "${!_system_libs[@]}"
353
354 # Generate missing header
355 if (( _manual_clone )); then
356 python3 build/util/lastchange.py -m DAWN_COMMIT_HASH \
357 -s third_party/dawn --revision gpu/webgpu/DAWN_VERSION \
358 --header gpu/webgpu/dawn_commit_hash.h
359 fi
360}
361
362build() {
363 make -C chromium-launcher-$_launcher_ver
364
365 cd chromium-$pkgver
366
367 if (( _system_clang )); then
368 export CC=clang
369 export CXX=clang++
370 export AR=ar
371 export NM=nm
372 else
373 local _clang_path="$PWD/third_party/llvm-build/Release+Asserts/bin"
374 export CC=$_clang_path/clang
375 export CXX=$_clang_path/clang++
376 export AR=$_clang_path/llvm-ar
377 export NM=$_clang_path/llvm-nm
378 fi
379
380
381 local _flags=(
382 'custom_toolchain="//build/toolchain/linux/unbundle:default"'
383 'host_toolchain="//build/toolchain/linux/unbundle:default"'
384 'is_official_build=true' # implies is_cfi=true on x86_64
385 'symbol_level=0' # sufficient for backtraces on x86(_64)
386 'treat_warnings_as_errors=false'
387 'fatal_linker_warnings=false'
388 'disable_fieldtrial_testing_config=true'
389 'blink_enable_generated_code_formatting=false'
390 'ffmpeg_branding="Chrome"'
391 'proprietary_codecs=true'
392 'rtc_use_pipewire=true'
393 'link_pulseaudio=true'
394 'use_custom_libcxx=true' # https://github.com/llvm/llvm-project/issues/61705
395 'use_sysroot=false'
396 'use_system_libffi=true'
397 'enable_widevine=true'
398 'use_qt5=false'
399 'use_qt6=true'
400 'moc_qt6_path="/usr/lib/qt6"'
401 'enable_platform_hevc=true'
402 'enable_hevc_parser_and_hw_decoder=true'
403 'use_clang_modules=false'
404 )
405
406 if [[ -n ${_system_libs[icu]+set} ]]; then
407 _flags+=('icu_use_data_file=false')
408 fi
409
410
411 # Append ungoogled chromium flags to _flags array
412 _ungoogled_repo="$srcdir/${pkgname%xdg*}$_uc_ver"
413 readarray -t -O ${#_flags[@]} _flags < "${_ungoogled_repo}/flags.gn"
414
415 if (( _system_clang )); then
416 local _clang_version=$(
417 clang --version | grep -m1 version | sed 's/.* \([0-9]\+\).*/\1/')
418
419 local _site_packages=$(python -c "import site; print(site.getsitepackages()[0])")
420
421 _flags+=(
422 'clang_base_path="/usr"'
423 'clang_use_chrome_plugins=false'
424 "clang_version=\"$_clang_version\""
425 'chrome_pgo_phase=0' # needs newer clang to read the bundled PGO profile
426 'v8_metagen_libclang_so="/usr/lib/libclang.so"'
427 "v8_metagen_libclang_bindings_dir=\"$_site_packages\""
428 )
429
430 # Allow the use of nightly features with stable Rust compiler
431 # https://github.com/ungoogled-software/ungoogled-chromium/pull/2696#issuecomment-1918173198
432 export RUSTC_BOOTSTRAP=1
433
434 _flags+=(
435 'rust_sysroot_absolute="/usr"'
436 'rust_bindgen_root="/usr"'
437 "rustc_version=\"$(rustc --version | awk '{ print $2 ;}')\""
438 )
439 fi
440
441 # Facilitate deterministic builds (taken from build/config/compiler/BUILD.gn)
442 CFLAGS+=' -Wno-builtin-macro-redefined'
443 CXXFLAGS+=' -Wno-builtin-macro-redefined'
444 CPPFLAGS+=' -D__DATE__= -D__TIME__= -D__TIMESTAMP__='
445
446 # Do not warn about unknown warning options
447 CFLAGS+=' -Wno-unknown-warning-option'
448 CXXFLAGS+=' -Wno-unknown-warning-option'
449
450 # Let Chromium set its own symbol level
451 CFLAGS=${CFLAGS/-g }
452 CXXFLAGS=${CXXFLAGS/-g }
453
454 # https://github.com/ungoogled-software/ungoogled-chromium-archlinux/issues/123
455 CFLAGS=${CFLAGS/-fexceptions}
456 CFLAGS=${CFLAGS/-fcf-protection}
457 CXXFLAGS=${CXXFLAGS/-fexceptions}
458 CXXFLAGS=${CXXFLAGS/-fcf-protection}
459
460 # This appears to cause random segfaults when combined with ThinLTO
461 # https://bugs.archlinux.org/task/73518
462 CFLAGS=${CFLAGS/-fstack-clash-protection}
463 CXXFLAGS=${CXXFLAGS/-fstack-clash-protection}
464
465 # https://crbug.com/957519#c122
466 CXXFLAGS=${CXXFLAGS/-Wp,-D_GLIBCXX_ASSERTIONS}
467
468 if [[ $CARCH == aarch64 ]] || [[ $CARCH == riscv64 ]]; then
469 # On aarch64 and riscv64, certain files (e.g. in libvpx and libyuv) needs to
470 # be compiled with additional arch features (e.g. dotprod, sve, sme, rvv)
471 # Having an arch setting in the C(XX)FLAGS overrides those
472 # and causes compilation failure
473 CFLAGS="${CFLAGS/-march=*([^ ]) }"
474 CXXFLAGS="${CXXFLAGS/-march=*([^ ]) }"
475 fi
476
477 gn gen out/Release --args="${_flags[*]}"
478 ninja -C out/Release chrome chrome_sandbox chromedriver
479}
480
481package() {
482 cd chromium-launcher-$_launcher_ver
483 make PREFIX=/usr DESTDIR="$pkgdir" install
484 install -Dvm644 LICENSE \
485 "$pkgdir/usr/share/licenses/chromium/LICENSE.launcher"
486
487 cd ../chromium-$pkgver
488
489 install -Dv out/Release/chrome "$pkgdir/usr/lib/chromium/chromium"
490 install -Dv out/Release/chromedriver "$pkgdir/usr/bin/chromedriver"
491 install -Dvm4755 out/Release/chrome_sandbox "$pkgdir/usr/lib/chromium/chrome-sandbox"
492
493 install -Dvm644 chrome/installer/linux/common/desktop.template \
494 "$pkgdir/usr/share/applications/chromium.desktop"
495 install -Dvm644 chrome/app/resources/manpage.1.in \
496 "$pkgdir/usr/share/man/man1/chromium.1"
497 sed -i \
498 -e 's/@@MENUNAME/Chromium/g' \
499 -e 's/@@PACKAGE/chromium/g' \
500 -e 's/@@desktop_exec/chromium/g' \
501 -e 's/@@desktop_icon/chromium/g' \
502 -e 's/@@startup_wm_class/chromium/g' \
503 -e 's|@@uri_scheme|x-scheme-handler/chromium;|g' \
504 -e 's/@@extra_desktop_entries//g' \
505 "$pkgdir/usr/share/applications/chromium.desktop" \
506 "$pkgdir/usr/share/man/man1/chromium.1"
507
508 # Fill in common Chrome/Chromium AppData template with Chromium info
509 (
510 tmpl_file=chrome/installer/linux/common/appdata.xml.template
511 info_file=chrome/installer/linux/common/chromium-browser.info
512 . $info_file; PACKAGE=chromium
513 export $(grep -o '^[A-Z_]*' $info_file)
514 sed -E -e 's/@@([A-Z_]*)/\${\1}/g' -e '/<update_contact>/d' $tmpl_file | envsubst
515 ) \
516 | install -Dvm644 /dev/stdin "$pkgdir/usr/share/metainfo/chromium.appdata.xml"
517
518 local toplevel_files=(
519 chrome_100_percent.pak
520 chrome_200_percent.pak
521 chrome_crashpad_handler
522 libqt6_shim.so
523 resources.pak
524 v8_context_snapshot.bin
525
526 # ANGLE
527 libEGL.so
528 libGLESv2.so
529
530 # SwiftShader ICD
531 libvk_swiftshader.so
532 libvulkan.so.1
533 vk_swiftshader_icd.json
534 )
535
536 if [[ -z ${_system_libs[icu]+set} ]]; then
537 toplevel_files+=(icudtl.dat)
538 fi
539
540 cp "${toplevel_files[@]/#/out/Release/}" "$pkgdir/usr/lib/chromium/"
541 install -Dvm644 -t "$pkgdir/usr/lib/chromium/locales" out/Release/locales/*.pak
542
543 for size in 24 48 64 128 256; do
544 install -Dvm644 "chrome/app/theme/chromium/product_logo_$size.png" \
545 "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
546 done
547
548 for size in 16 32; do
549 install -Dvm644 "chrome/app/theme/default_100_percent/chromium/product_logo_$size.png" \
550 "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
551 done
552
553 install -Dvm644 LICENSE "$pkgdir/usr/share/licenses/chromium/LICENSE"
554}
555
556# vim:set ts=2 sw=2 et:
557

Changes since previous scan

--- PKGBUILD @ 2026-10-24 00:14
+++ PKGBUILD @ 2026-11-01 00:21
@@ -1,10 +1,13 @@
-# Maintainer: Noah Vogt (noahvogt) <noah@noahvogt.com>
-# Maintainer: Seppia <seppia@seppio.fish>
-# Maintainer: JustKidding <jk@vin.ovh>
+# Contributor: Noah Vogt (noahvogt) <noah@noahvogt.com>
+# Contributor: Seppia <seppia@seppio.fish>
+# Contributor: JustKidding <jk@vin.ovh>
# Based on extra/chromium, with ungoogled-chromium patches
-# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
+# Contributor: Christian Heusel <gromit@archlinux.org>
+# Contributor: Jonathan Grotelüschen <tippfehlr@archlinux.org>
+# Contributor: DeepChirp <deepchirp@archlinux.org>
+# Contributor: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
@@ -12,7 +15,7 @@
# binary version of this package (-bin): github.com/noahvogt/ungoogled-chromium-xdg-bin-aur
pkgname=ungoogled-chromium-xdg
-pkgver=155.0.8059.39
+pkgver=156.0.8078.47
pkgrel=1
_launcher_ver=8
_manual_clone=0
@@ -96,18 +99,19 @@
chromium-138-nodejs-version-check.patch
chromium-145-fix-SYS_SECCOMP.patch
chromium-147-rust-1.95-bytemuck.patch
+ chromium-147-simdutf-8.0-base-char.patch
chromium-149-use-of-undeclared-identifier-ERROR.patch
chromium-150-revert-avx-flag-change.patch
chromium-152-unbundle-minizip-undo-unicode.patch
chromium-152-unbundle-opus-devtools.patch
chromium-153-hermetic-python.patch
chromium-153-iamf-tools-unbundled-opus.patch
- chromium-154-typescript.patch
- chromium-155-fix-gn-no-public_inputs.patch
- chromium-155-crubit.patch
- chromium-155-remove-private_verification_tokens.patch
- chromium-155-isolatedDeclarations.patch
chromium-155-use-system-esbuild.patch
+ chromium-156-crubit.patch
+ chromium-156-remove-private_verification_tokens.patch
+ chromium-156-revert-gn-check-includes.patch
+ chromium-156-typescript.patch
+ chromium-156-isolatedDeclarations.patch
compiler-rt-adjust-paths.patch
increase-fortify-level.patch
enable-widevine-arm64.patch
@@ -115,24 +119,25 @@
glibc-2.42-baud-rate-fix.patch
# ungoogled-chromium-xdg patches
no-omnibox-suggestion-autocomplete.patch)
-sha256sums=('d450182ea38a6485febfdfdad6f3a3f1d5d3408cc368329b94502c629ef8ec7e'
- 'b78481629051c33218ee23e63f358b1279079e37d03b752c3594e60f4332ab74'
+sha256sums=('28432028890ef70e1f2e9db880c500907ad1b04f5ae6b655a3f394b9f2eaa705'
+ 'acf73f8fab3fa7a4977f54e4e51b206eaf6cc425c2294ecc4dc8023fd093bd2d'
'213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a'
'11a96ffa21448ec4c63dd5c8d6795a1998d8e5cd5a689d91aea4d2bdd13fb06e'
'4fc040a0656a0a524dd8ad090cd129fc5b6cb21adcc66be82080165789e8c13e'
'b9e6339221efe03540ffb360c161d93604a1fc93a5a1c53e5e9849066f987d05'
+ '80e445d7a5cbd61d1252ecf46c5eaf0fb4a5e63bd1b9c976261df778a4586640'
'951514535be65f0e2f84e82305d96292be1da353c1427ba1048ea24be70003c4'
'5f6ccb7b945c8a13c690493723bad816b36f2f25792d47e677b56f8200907e60'
'890e5d98088ef1c7c075a551442f03385d1db266cad8a65576704a22720683f9'
'3276453f2ce655b6286476f48d4df837be952d9447afa46583f79ec71f2288c3'
'ebf74154266d0b6d6cc957c413f845052c5fcfce7745befb8821595cdf3f7d49'
'2ab9fbe653829ce692f83ee780aad07e8c83a6686e51ab9459ad736cfa2850ee'
- 'd061cf4aeba21b1d2edabc28afd38106246b99aa5ec699e1b9ee5ca8b76d8a23'
- '81a9014afff7e2a836c2ba2da69a9023d42d2f69a46cb91a0504642c480f6cc7'
- '85217fbc43f075068167643f0357e3df19a46805efd81a3eae00f966e04290eb'
- 'd42a5a72c1b085d2623b00caad958f18a6970dbed27558ce7b564e0468f3e252'
- 'c5aaccfb1f5d6738bfe7e360d6af0bd22f0a1cf4104c28b66cb78e0ff3e9ae08'
'ded2abcb912ac4b6ad139e56384eea8f3b470cf57ecb0baa2c2d042df7575a23'
+ '0c8bd7769496ab71116cd73ac17c096b0979fa70fb2e76676f76d34c7424449e'
+ '8170368b531a0ae70071da054db4a09a6902b8b7854083d5505570f86a73e644'
+ 'c666f9b009d3a2c737501d714689677e6d474982695966651fe7cdbcbc6e5815'
+ '946d4f70daeb446b911197bca804983d305c0ee809bc5507d05451bd07fe9523'
+ 'f6aefbd3f70dbda9242cf815a1dca56af729632166bc57e5067755b119cc95de'
'ec8e49b7114e2fa2d359155c9ef722ff1ba5fe2c518fa48e30863d71d3b82863'
'd634d2ce1fc63da7ac41f432b1e84c59b7cceabf19d510848a7cff40c8025342'
'5ee4bb69379ac0cea7946c9f8f4ca9e20e0a9e4ee2ee9121eb0ebbb94dd7e928'
@@ -154,6 +159,7 @@
declare -gA _system_libs=(
[brotli]=brotli
[dav1d]=dav1d
+ [double-conversion]=double-conversion
#[ffmpeg]=ffmpeg # YouTube playback stopped working in Chromium 120
[flac]=flac
[fontconfig]=fontconfig
@@ -174,6 +180,7 @@
[openh264]=openh264
[opus]=opus
#[re2]=re2 # needs libstdc++
+ [simdutf]=simdutf
#[snappy]=snappy # needs libstdc++
#[woff2]=woff2 # needs libstdc++
[zlib]=minizip
@@ -241,6 +248,9 @@
# Credit: https://github.com/ungoogled-software/ungoogled-chromium/pull/3837
patch -Np1 -i ../chromium-150-revert-avx-flag-change.patch
+ # To unbundle simdutf
+ patch -Np1 -i ../chromium-147-simdutf-8.0-base-char.patch
+
patch -Np1 -i ../chromium-152-unbundle-minizip-undo-unicode.patch
patch -Np1 -i ../chromium-152-unbundle-opus-devtools.patch
@@ -254,20 +264,20 @@
# for the unbundled system Opus build
patch -Np1 -i ../chromium-153-iamf-tools-unbundled-opus.patch
+ patch -Np1 -i ../chromium-155-use-system-esbuild.patch
+
+ patch -Np1 -i ../chromium-156-crubit.patch
+
+ patch -Np1 -i ../chromium-156-remove-private_verification_tokens.patch
+
+ patch -Np1 -i ../chromium-156-revert-gn-check-includes.patch
+
+ patch -Np1 -i ../chromium-156-isolatedDeclarations.patch
+
# Work around TypeScript becoming a build dependency: disable tsgo for the
# WebUI and point devtools at the system tsc binary
# https://github.com/ungoogled-software/ungoogled-chromium/pull/3966
- patch -Np1 -i ../chromium-154-typescript.patch
-
- patch -Np1 -i ../chromium-155-fix-gn-no-public_inputs.patch
-
- patch -Np1 -i ../chromium-155-crubit.patch
-
- patch -Np1 -i ../chromium-155-isolatedDeclarations.patch
-
- patch -Np1 -i ../chromium-155-remove-private_verification_tokens.patch
-
- patch -Np1 -i ../chromium-155-use-system-esbuild.patch
+ patch -Np1 -i ../chromium-156-typescript.patch
# Custom Patches
@@ -323,9 +333,16 @@
# added benefit of not having to list all the remaining libraries
local _lib
for _lib in ${_unwanted_bundled_libs[@]}; do
- find "third_party/$_lib" -type f \
- \! -path "third_party/$_lib/chromium/*" \
- \! -path "third_party/$_lib/google/*" \
+ # Most bundled libraries live under `third_party/<lib>`, but
+ # `double-conversion` is located under `base/third_party/double_conversion`
+ local _dir="third_party/$_lib"
+ if [[ ! -d "${_dir}" ]]; then
+ _dir="base/third_party/${_lib//-/_}"
+ fi
+
+ find "$_dir" -type f \
+ \! -path "$_dir/chromium/*" \
+ \! -path "$_dir/google/*" \
\! -path "third_party/harfbuzz-ng/utils/hb_scoped.h" \
\! -regex '.*\.\(gn\|gni\|isolate\)' \
-delete

Scan history

Scanned at (UTC)SeverityRules
2026-11-01 00:21:48 Low 2
2026-10-31 00:07:41 Low 2
2026-10-30 00:29:30 Low 2
2026-10-29 00:13:55 Low 2
2026-10-28 00:06:54 Low 2
2026-10-27 00:23:28 Low 2
2026-10-26 00:12:40 Low 2
2026-10-25 00:20:48 Low 2
2026-10-24 05:39:24 Medium 1
2026-10-24 00:14:55 Low 2
2026-10-23 00:02:19 Low 2
2026-10-22 00:13:10 Low 2
2026-10-21 00:12:50 Low 2
2026-10-20 00:10:31 Low 2
2026-10-19 00:03:55 Low 2
2026-10-18 00:06:55 Low 2
2026-10-17 00:21:55 Low 2
2026-10-16 00:12:47 Low 2
2026-10-15 00:28:05 Low 2
2026-10-14 00:06:47 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