From 39471503c2b7ecd296c518ba46b0a9d73564bbbd Mon Sep 17 00:00:00 2001 From: GitLab CI Date: Wed, 27 Aug 2025 12:27:51 +0000 Subject: [PATCH] chore: update firedragon This commit was automatically generated to reflect changes to this package in another repository. The changelog for this package can be found at https://gitlab.com/garuda-linux/pkgbuilds/-/commits/main/firedragon. Logs of the corresponding pipeline run can be found here: https://gitlab.com/garuda-linux/pkgbuilds/-/pipelines/2006638620. --- .SRCINFO | 23 +++--- PKGBUILD | 242 ++++++++++++++++++++++--------------------------------- 2 files changed, 104 insertions(+), 161 deletions(-) diff --git a/.SRCINFO b/.SRCINFO index 5a760b1..f26cb5b 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,11 +1,14 @@ pkgbase = firedragon pkgdesc = Floorp fork build using custom branding and settings - pkgver = 11.30.0_1 - pkgrel = 2 + pkgver = 12.1.1 + pkgrel = 1 epoch = 1 url = https://firedragon.garudalinux.org arch = x86_64 + arch = aarch64 license = MPL2 + makedepends = deno + makedepends = rsync makedepends = cbindgen makedepends = clang makedepends = diffutils @@ -18,7 +21,6 @@ pkgbase = firedragon makedepends = lld makedepends = llvm makedepends = mesa - makedepends = mold makedepends = nasm makedepends = nodejs makedepends = python @@ -37,16 +39,12 @@ pkgbase = firedragon depends = dbus-glib depends = ffmpeg depends = gtk3 - depends = libevent - depends = libjpeg - depends = libvpx - depends = libwebp + depends = libpulse depends = libxss depends = libxt depends = mime-types depends = nss depends = ttf-font - depends = zlib optdepends = hunspell-dictionary: Spell checking optdepends = libnotify: Notification integration optdepends = networkmanager: Location detection via available WiFi networks @@ -56,7 +54,6 @@ pkgbase = firedragon optdepends = speech-dispatcher: Text-to-Speech optdepends = whoogle: Searching the web using a locally running Whoogle instance optdepends = xdg-desktop-portal: Screensharing with Wayland - replaces = firedragon-next options = !debug options = !emptydirs options = !lto @@ -64,11 +61,9 @@ pkgbase = firedragon options = !strip backup = usr/lib/firedragon/firedragon.cfg backup = usr/lib/firedragon/distribution/policies.json - source = https://gitlab.com/garuda-linux/firedragon/builder/-/releases/v11.30.0-1/downloads/firedragon-v11.30.0-1.source.tar.zst - source = https://gitlab.com/garuda-linux/firedragon/settings/-/raw/master/firedragon.psd - source = https://gitlab.com/garuda-linux/firedragon/settings/-/raw/master/firedragon.desktop - sha256sums = eae7cc8a030c5a2f4186473cc93f4669acec197697fdefcce70c40ff34f79cc3 + source = firedragon-source-v12.1.1.tar.zst::https://gitlab.com/garuda-linux/firedragon/firedragon12/-/releases/v12.1.1/downloads/firedragon-source.tar.zst + source = firedragon.psd::https://github.com/stefanwimmer128/profile-sync-daemon/raw/refs/heads/firedragon/contrib/firedragon + sha256sums = 1dbb74d2f3b6bbe2fe2a6fab364ad2330c7b358fc5dd985ea8afcbae4640e5ed sha256sums = 61355930cc59813e7e610ffdab8a01e32be980fffe1dfd8f9654b8f8f9f7fdc0 - sha256sums = 53d3e743f3750522318a786befa196237892c93f20571443fdf82a480e7f0560 pkgname = firedragon diff --git a/PKGBUILD b/PKGBUILD index 44429eb..033537c 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -8,79 +8,73 @@ # Profile with xvfb-run, if possible : ${_build_pgo_xvfb:=false} -_pkgver=11.30.0-1 +_pkgver=12.1.1 pkgname=firedragon _pkgname=FireDragon pkgver=${_pkgver//-/_} -pkgrel=2 +pkgrel=1 epoch=1 pkgdesc="Floorp fork build using custom branding and settings" url='https://firedragon.garudalinux.org' -arch=('x86_64') +arch=('x86_64' 'aarch64') license=('MPL2') depends=(dbus - dbus-glib - ffmpeg - gtk3 - libevent - libjpeg - libvpx - libwebp - libxss - libxt - mime-types - nss - ttf-font - zlib) -makedepends=(cbindgen - clang - diffutils - dump_syms - imagemagick - imake - inetutils - git - jack - lld - llvm - mesa - mold - nasm - nodejs - python - rust - unzip - wasi-compiler-rt - wasi-libc - wasi-libc++ - wasi-libc++abi - xorg-server-xvfb - yasm - zip) + dbus-glib + ffmpeg + gtk3 + libpulse + libxss + libxt + mime-types + nss + ttf-font) +makedepends=(deno + rsync + cbindgen + clang + diffutils + dump_syms + imagemagick + imake + inetutils + git + jack + lld + llvm + mesa + nasm + nodejs + python + rust + unzip + wasi-compiler-rt + wasi-libc + wasi-libc++ + wasi-libc++abi + xorg-server-xvfb + yasm + zip) optdepends=('hunspell-dictionary: Spell checking' - 'libnotify: Notification integration' - 'networkmanager: Location detection via available WiFi networks' - 'profile-sync-daemon: Load the browser profile into RAM' - 'pulse-native-provider: Audio support' - 'searx: Searching the web using a locally running searX instance' - 'speech-dispatcher: Text-to-Speech' - 'whoogle: Searching the web using a locally running Whoogle instance' - 'xdg-desktop-portal: Screensharing with Wayland') -replaces=(firedragon-next) + 'libnotify: Notification integration' + 'networkmanager: Location detection via available WiFi networks' + 'profile-sync-daemon: Load the browser profile into RAM' + 'pulse-native-provider: Audio support' + 'searx: Searching the web using a locally running searX instance' + 'speech-dispatcher: Text-to-Speech' + 'whoogle: Searching the web using a locally running Whoogle instance' + 'xdg-desktop-portal: Screensharing with Wayland') options=(!debug - !emptydirs - !lto - !makeflags - !strip) + !emptydirs + !lto + !makeflags + !strip) backup=("usr/lib/${pkgname}/${pkgname}.cfg" - "usr/lib/${pkgname}/distribution/policies.json") -source=(https://gitlab.com/garuda-linux/firedragon/builder/-/releases/v${_pkgver}/downloads/firedragon-v${_pkgver}.source.tar.zst - https://gitlab.com/garuda-linux/firedragon/settings/-/raw/master/firedragon.psd - https://gitlab.com/garuda-linux/firedragon/settings/-/raw/master/firedragon.desktop) -sha256sums=('eae7cc8a030c5a2f4186473cc93f4669acec197697fdefcce70c40ff34f79cc3' - '61355930cc59813e7e610ffdab8a01e32be980fffe1dfd8f9654b8f8f9f7fdc0' - '53d3e743f3750522318a786befa196237892c93f20571443fdf82a480e7f0560') + "usr/lib/${pkgname}/distribution/policies.json") +source=(firedragon-source-v"$_pkgver".tar.zst::https://gitlab.com/garuda-linux/firedragon/firedragon12/-/releases/v"$_pkgver"/downloads/firedragon-source.tar.zst + firedragon.psd::https://github.com/stefanwimmer128/profile-sync-daemon/raw/refs/heads/firedragon/contrib/firedragon) +sha256sums=('1dbb74d2f3b6bbe2fe2a6fab364ad2330c7b358fc5dd985ea8afcbae4640e5ed' + '61355930cc59813e7e610ffdab8a01e32be980fffe1dfd8f9654b8f8f9f7fdc0') # Select the method of profiling if [[ "${_build_pgo::1}" == "t" ]]; then @@ -91,85 +85,41 @@ if [[ "${_build_pgo::1}" == "t" ]]; then fi fi +_deno() { + pushd "${srcdir}/firedragon-source-v${_pkgver}/firedragon" > /dev/null || return + DENO_DIR="${srcdir}/deno" deno "$@" + popd > /dev/null || return +} + prepare() { rm -rf "${srcdir}/mozbuild" mkdir "${srcdir}/mozbuild" - cd firedragon-v"${_pkgver}" || exit + cd firedragon-source-v"${_pkgver}" || exit + + _deno install --allow-scripts --frozen + + _target="$(_deno task build --get-target)" cat > ../mozconfig << END -ac_add_options --with-app-basename=${_pkgname} -ac_add_options --with-app-name=${pkgname} -ac_add_options --with-branding=browser/branding/firedragon -ac_add_options --with-l10n-base=${PWD@Q}/floorp/browser/locales/l10n-central -ac_add_options --enable-application=browser -mk_add_options MOZ_OBJDIR=${PWD@Q}/obj +. "\$topsrcdir/firedragon/gecko/mozconfigs/edition/firedragon-dr460nized.mozconfig" +. "\$topsrcdir/firedragon/gecko/mozconfigs/target/$_target.mozconfig" + +ac_add_options --with-noraneko-dist=firedragon/_dist/noraneko +ac_add_options --enable-firedragon-settings # Build options +ac_add_options --enable-linker=lld ac_add_options --disable-bootstrap -ac_add_options --disable-elf-hack -ac_add_options --enable-default-toolkit=cairo-gtk3-wayland -ac_add_options --enable-hardening -ac_add_options --enable-linker=mold -ac_add_options --enable-release -ac_add_options --enable-rust-simd -ac_add_options --enable-wasm-simd -ac_add_options --prefix=/usr ac_add_options --with-wasi-sysroot=/usr/share/wasi-sysroot -export MOZ_INCLUDE_SOURCE_INFO=1 - -# Branding -ac_add_options --allow-addon-sideload -ac_add_options --enable-unverified-updates -ac_add_options --enable-update-channel=release -ac_add_options --with-distribution-id=org.garudalinux -ac_add_options --with-unsigned-addon-scopes=app,system -export MOZILLA_OFFICIAL=1 -export MOZ_APP_REMOTINGNAME=${pkgname} -export MOZ_CRASHREPORTER= -export MOZ_DATA_REPORTING= -export MOZ_REQUIRE_SIGNING= -mk_add_options MOZ_SERVICES_HEALTHREPORT=0 -export MOZ_TELEMETRY_REPORTING= # System libraries -ac_add_options --with-system-jpeg -ac_add_options --with-system-libevent -ac_add_options --with-system-libvpx ac_add_options --with-system-nspr ac_add_options --with-system-nss -ac_add_options --with-system-webp -ac_add_options --with-system-zlib # Features -ac_add_options --disable-crashreporter # (Minimize telemetry) -ac_add_options --disable-debug -ac_add_options --disable-debug-js-modules -ac_add_options --disable-debug-symbols -ac_add_options --disable-default-browser-agent -ac_add_options --disable-gpsd -ac_add_options --disable-necko-wifi -ac_add_options --disable-parental-controls # (Disable local/OS MTIM) -ac_add_options --disable-rust-tests -ac_add_options --disable-synth-speechd -ac_add_options --disable-tests ac_add_options --disable-updater -ac_add_options --disable-warnings-as-errors -ac_add_options --disable-webspeech -ac_add_options --disable-webspeechtestbackend -ac_add_options --enable-alsa -ac_add_options --enable-av1 -ac_add_options --enable-eme=widevine ac_add_options --enable-jack -ac_add_options --enable-jxl -ac_add_options --enable-proxy-bypass-protection -ac_add_options --enable-sandbox -ac_add_options --enable-strip - -# Optimization -ac_add_options --enable-optimize=-O3 -ac_add_options OPT_LEVEL="3" -ac_add_options RUSTC_OPT_LEVEL="3" # Other export AR=/usr/bin/llvm-ar @@ -181,13 +131,21 @@ END } build() { - cd firedragon-v"${_pkgver}" || exit + cd firedragon-source-v"${_pkgver}" || exit + + # Clean source directory from previous build attempts + ./mach clobber + + _deno task build --write-buildid2 + NODE_ENV=production _deno task build --release-build-before export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=pip export MOZBUILD_STATE_PATH="${srcdir}/mozbuild" - export MOZ_ENABLE_FULL_SYMBOLS=1 + export MOZ_BUILD_DATE="$(date -u${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH} +%Y%m%d%H%M%S)" export MOZ_NOSPAM=1 - export MOZ_PROFILER_STARTUP=1 # Starts the profiler is started as early as possible during startup. + + # Work around https://bugzilla.mozilla.org/show_bug.cgi?id=1969383 + export RUST_MIN_STACK=16777216 # Fix DRI/zink issues during compilation export LIBGL_ALWAYS_SOFTWARE=true @@ -205,8 +163,8 @@ build() { # Do 3-tier PGO if [[ "${_build_pgo::1}" == "t" ]]; then - local _old_profdata="${SRCDEST:-$startdir}/merged.profdata" - local _old_jarlog="${SRCDEST:-$startdir}/jarlog" + local _old_profdata="$srcdir/merged.profdata" + local _old_jarlog="$srcdir/jarlog" # Restore old profile if [[ "${_build_pgo_reuse::1}" == "t" ]]; then @@ -228,6 +186,8 @@ build() { echo >> .mozconfig "ac_add_options --enable-profile-generate=cross" ./mach build + _deno task build --release-build-after + echo "Profiling instrumented browser..." ./mach package @@ -243,15 +203,16 @@ build() { ) fi - LLVM_PROFDATA=llvm-profdata JARLOG_FILE=${PWD@Q}/jarlog \ + LLVM_PROFDATA=llvm-profdata JARLOG_FILE="$PWD"/jarlog \ "${_headless_run[@]}" -- ./mach python build/pgo/profileserver.py echo "Removing instrumented browser..." - ./mach clobber + ./mach clobber objdir fi echo "Building optimized browser..." cat > .mozconfig ../mozconfig + echo >> .mozconfig "ac_add_options --enable-lto=cross,full" if [[ -s merged.profdata ]]; then stat -c "Profile data found (%s bytes)" merged.profdata @@ -278,28 +239,21 @@ build() { else echo "Building browser..." cat > .mozconfig ../mozconfig + echo >> .mozconfig "ac_add_options --enable-lto=cross,full" ./mach build fi - echo "Building symbol archive..." - ./mach buildsymbols - - echo "Packaging browser with locales..." - ./mach package - ./mach package-multi-locale --locales ar cs da de el en-US en-GB es-ES fr hu id it ja ko lt nl nn-NO pl pt-BR pt-PT ru sv-SE th tr uk zh-CN zh-TW + _deno task build --release-build-after } package() { - cd firedragon-v"${_pkgver}" || exit + cd firedragon-source-v"${_pkgver}" || exit - install -Ddvm755 "${pkgdir}/usr/lib/${pkgname}" - cp -rvf "obj/dist/firedragon/." "${pkgdir}/usr/lib/${pkgname}" + DESTDIR="$pkgdir" ./mach install install -Ddvm755 "${pkgdir}/usr/bin" ln -srfv "$pkgdir/usr/lib/${pkgname}/${pkgname}" "$pkgdir/usr/bin/${pkgname}" - rm "${pkgdir}/usr/lib/${pkgname}/pingsender" - local vendorjs="${pkgdir}/usr/lib/${pkgname}/browser/defaults/preferences/vendor.js" install -Dvm644 /dev/stdin "${vendorjs}" << END // Use LANG environment variable to choose locale @@ -331,12 +285,6 @@ app.distributor.channel=${pkgname} app.partner.garudalinux=garudalinux END - # Use system certificates - local nssckbi="${pkgdir}/usr/lib/${pkgname}/libnssckbi.so" - if [[ -e "${nssckbi}" ]]; then - ln -srfv "${pkgdir}/usr/lib/libnssckbi.so" "${nssckbi}" - fi - # Make native messaging work ln -s "/usr/lib/mozilla/native-messaging-hosts" "${pkgdir}/usr/lib/${pkgname}/native-messaging-hosts" @@ -363,6 +311,6 @@ END ln -srfv "$pkgdir/usr/bin/$pkgname" "$pkgdir/usr/lib/$pkgname/${pkgname%-*}-bin" # All the needed configuration files - install -Dvm644 "../${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop" + install -Dvm644 "firedragon/assets/${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop" install -Dvm644 "${srcdir}/firedragon.psd" "${pkgdir}/usr/share/psd/browsers/firedragon" }