diff --git a/.github/workflows/alpha.yml b/.github/workflows/alpha.yml index 96d9ebe85..12193f821 100644 --- a/.github/workflows/alpha.yml +++ b/.github/workflows/alpha.yml @@ -229,10 +229,13 @@ jobs: build-version: ${{ needs.build-data.outputs.version }} appimage: - name: AppImage build + name: AppImage build - Linux ${{ matrix.arch }} permissions: contents: write runs-on: ubuntu-latest + strategy: + matrix: + arch: [x64, x32] needs: [linux] steps: - name: Install Node.js @@ -259,24 +262,26 @@ jobs: cp configs/branding/alpha/logo128.png AppDir/usr/share/icons/hicolor/128x128/apps/zen.png cp configs/branding/alpha/logo128.png AppDir/zen.png + APPIMAGE_TARGET=${{ matrix.arch == 'x64' && 'x86_64' || 'i686' }} + APPDIR=AppDir tar -xvf *.tar.* && rm -rf *.tar.* mv zen/* $APPDIR/ - wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage + wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-$APPIMAGE_TARGET.AppImage chmod +x *.AppImage chmod +x ./AppDir/AppRun echo "AppDir: $APPDIR" ls -al find . ls -al "$APPDIR" - ARCH=x86_64 ./appimagetool-x86_64.AppImage --comp gzip "$APPDIR" zen.AppImage + ARCH=$APPIMAGE_TARGET ./appimagetool-$APPIMAGE_TARGET.AppImage --comp gzip "$APPDIR" zen.AppImage mkdir dist mv zen.AppImage* dist/. - name: Upload artifact uses: actions/upload-artifact@v4 with: - name: zen.AppImage + name: zen-x${{ matrix.arch }}.AppImage path: ./dist/zen.AppImage release: @@ -328,13 +333,28 @@ jobs: prerelease: false title: 'Alpha build - ${{ needs.build-data.outputs.version }} (${{ needs.build-data.outputs.build_date }})' files: | - zen.linux.tar.bz2 - zen.win64.zip zen.source.tar.gz - linux.mar - windows.mar - macos.mar - zen.installer.exe - zen.installer.pretty.exe - zen.macos.dmg - zen.AppImage + + zen.linux-x64.tar.bz2 + zen.linux-x32.tar.bz2 + + zen-x64.AppImage + zen-x32.AppImage + + zen.win-x64.zip + zen.win-x32.zip + + linux-x64.mar + linux-x32.mar + + windows-x64.mar + windows-x32.mar + + macos-x64.mar + macos-aarch64.mar + + zen.installer-x64.exe + zen.installer-x32.exe + + zen.macos-x64.dmg + zen.macos-aarch64.dmg diff --git a/.github/workflows/linux-alpha-build.yml b/.github/workflows/linux-alpha-build.yml index 2acb50181..cd989253e 100644 --- a/.github/workflows/linux-alpha-build.yml +++ b/.github/workflows/linux-alpha-build.yml @@ -12,6 +12,10 @@ jobs: permissions: contents: write runs-on: ubuntu-latest + strategy: + matrix: + arch: [x64, x32] + name: Build Linux - ${{ matrix.arch }} steps: - name: Install Node.js @@ -86,6 +90,8 @@ jobs: run: pnpm surfer download - name: Import + env: + SURFER_COMPAT: ${{ matrix.arch == 'x32' }} run: pnpm surfer import - name: Bootstrap @@ -95,14 +101,20 @@ jobs: cd .. - name: Build + env: + SURFER_COMPAT: ${{ matrix.arch == 'x32' }} continue-on-error: true run: sh .github/workflows/src/alpha-build.sh - name: Build again if it failed if: failure() + env: + SURFER_COMPAT: ${{ matrix.arch == 'x32' }} run: sh .github/workflows/src/alpha-build.sh - name: Package + env: + SURFER_COMPAT: ${{ matrix.arch == 'x32' }} run: pnpm package - name: Rename artifacts @@ -113,17 +125,17 @@ jobs: - name: Upload binary uses: actions/upload-artifact@v4 with: - name: zen.linux.tar.bz2 + name: zen.linux-${{ matrix.arch }}.tar.bz2 path: ./zen.linux.tar.bz2 - name: Upload mar uses: actions/upload-artifact@v4 with: - name: linux.mar + name: linux-${{ matrix.arch }}.mar path: ./linux.mar - name: Upload update manifests uses: actions/upload-artifact@v4 with: - name: linux_update_manifest + name: linux_update_manifest_${{ matrix.arch }} path: ./dist/update diff --git a/.github/workflows/macos-alpha-build.yml b/.github/workflows/macos-alpha-build.yml index e89f1a168..00e88da03 100644 --- a/.github/workflows/macos-alpha-build.yml +++ b/.github/workflows/macos-alpha-build.yml @@ -9,7 +9,12 @@ on: jobs: mac-build: - runs-on: macos-14 + name: Build macOS - ${{ matrix.arch }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [macos-14, macos-13] + arch: [aarch64, x64] steps: - name: Install Node.js @@ -60,7 +65,10 @@ jobs: run: pnpm surfer download - name: Import - run: pnpm surfer import + env: + SURFER_COMPAT: ${{ matrix.arch == 'x64' }} + run: | + pnpm surfer import - name: Bootstrap run: | @@ -69,6 +77,8 @@ jobs: cd .. - name: build Zen + env: + SURFER_COMPAT: ${{ matrix.arch == 'x64' }} run: sh .github/workflows/src/alpha-build.sh - name: Rebuild Zen if failed @@ -76,6 +86,8 @@ jobs: run: sh .github/workflows/src/alpha-build.sh - name: Package + env: + SURFER_COMPAT: ${{ matrix.arch == 'x64' }} run: pnpm package - name: Rename artifacts @@ -86,17 +98,17 @@ jobs: - name: Upload artifact uses: actions/upload-artifact@v4 with: - name: zen.macos.dmg + name: zen.macos-${{ matrix.arch }}.dmg path: ./zen.macos.dmg - name: Upload mar uses: actions/upload-artifact@v4 with: - name: macos.mar + name: macos-${{ matrix.arch }}.mar path: ./macos.mar - name: Upload update manifests uses: actions/upload-artifact@v4 with: - name: macos_update_manifest + name: macos_update_manifest_${{ matrix.arch }} path: ./dist/update diff --git a/.github/workflows/src/windows_mozconfig b/.github/workflows/src/windows_mozconfig deleted file mode 100644 index 1dae82a81..000000000 --- a/.github/workflows/src/windows_mozconfig +++ /dev/null @@ -1,40 +0,0 @@ - -export WINSYSROOT="$(echo ~)/win-cross/vs2022" - -export MIDL="$(echo ~)/win-cross/wine/bin/widl" -export WINE="$(echo ~)/win-cross/wine/bin/wine64" -export WINEDEBUG=-all - -#? https://bugzilla.mozilla.org/show_bug.cgi?id=1617793 -#? https://phabricator.services.mozilla.com/D170170 -ac_add_options --target=x86_64-pc-windows-msvc - -export MOZ_STUB_INSTALLER=1 -export MOZ_PKG_FORMAT=TAR - -export CROSS_BUILD=1 -CROSS_COMPILE=1 -TOOLS=$(echo ~)/win-cross - -export MIDL="$TOOLS/wine/bin/widl" -export MOZ_INCLUDE_SOURCE_INFO=1 -export MOZ_STUB_INSTALLER=1 -export WINEDEBUG=-all -export WINE="$TOOLS/wine/bin/wine64" -#export WIN32_REDIST_DIR="$TOOLS"/vs2022/VC/Redist/MSVC/14.34.31931/x64/Microsoft.VC143.CRT -#export WIN_UCRT_REDIST_DIR="$TOOLS/vs2022/Windows Kits/10/Redist/10.0.22621.0/ucrt/DLLs/x64" - -ac_add_options --disable-maintenance-service -ac_add_options --disable-bits-download - -#if test "$ZEN_GA_GENERATE_PROFILE"; then -# mk_add_options "export MOZ_AUTOMATION_PACKAGE_GENERATED_SOURCES=0" -# ac_add_options --enable-profile-generate=cross -#else -# ac_add_options --disable-profiling -# ac_add_options --enable-profile-use=cross -# ac_add_options --with-pgo-profile-path=$(echo ~)/artifact/merged.profdata -# ac_add_options --with-pgo-jarlog=$(echo ~)/artifact/en-US.log -#fi - -# ALWAYS MANTAIN ONE LINE BREAK AT THE END OF THIS FILE \ No newline at end of file diff --git a/.github/workflows/windows-alpha-build.yml b/.github/workflows/windows-alpha-build.yml index e12a3acd8..858a59fbb 100644 --- a/.github/workflows/windows-alpha-build.yml +++ b/.github/workflows/windows-alpha-build.yml @@ -16,7 +16,11 @@ on: jobs: windows-build: + name: Build Windows - ${{ matrix.arch }} runs-on: ubuntu-latest + strategy: + matrix: + arch: [x64, x32] steps: - name: Install Node.js and pnpm @@ -92,8 +96,6 @@ jobs: chmod -R +x "$(echo ~)/win-cross/vs2022" || true - cat ../.github/workflows/src/windows_mozconfig >> ../configs/common/mozconfig - cd .. npm install -g pnpm export SURFER_PLATFORM="win32" @@ -128,9 +130,13 @@ jobs: path: ~/artifact - name: Import - run: pnpm surfer import --verbose + env: + SURFER_COMPAT: ${{ matrix.arch == 'x32' }} + run: pnpm surfer import --verbose - name: Build + env: + SURFER_COMPAT: ${{ matrix.arch == 'x32' }} run: | set -x export SURFER_PLATFORM="win32" @@ -141,6 +147,8 @@ jobs: sh .github/workflows/src/alpha-build.sh - name: Package + env: + SURFER_COMPAT: ${{ matrix.arch == 'x32' }} run: | set -x export SURFER_PLATFORM="win32" @@ -160,7 +168,7 @@ jobs: uses: actions/upload-artifact@v4 if: ${{ !inputs.generate-gpo }} with: - name: zen.win64.zip + name: zen.win-${{ matrix.arch }}.zip path: ./zen.win64.zip - name: Upload PGO build @@ -174,19 +182,19 @@ jobs: uses: actions/upload-artifact@v4 if: ${{ !inputs.generate-gpo }} with: - name: windows.mar + name: windows-${{ matrix.arch }}.mar path: ./windows.mar - name: Upload installer uses: actions/upload-artifact@v4 if: ${{ !inputs.generate-gpo }} with: - name: zen.installer.exe + name: zen.installer-${{ matrix.arch }}.exe path: ./dist/zen.installer.exe - name: Upload installer stub uses: actions/upload-artifact@v4 - if: ${{ !inputs.generate-gpo }} + if: ${{ !inputs.generate-gpo && false }} with: name: zen.installer.pretty.exe path: ./dist/zen.installer.pretty.exe @@ -195,5 +203,5 @@ jobs: uses: actions/upload-artifact@v4 if: ${{ !inputs.generate-gpo }} with: - name: windows_update_manifest + name: windows_update_manifest_${{ matrix.arch }} path: ./dist/update diff --git a/AppDir/zen.desktop b/AppDir/zen.desktop index 81b47b4cf..bf5f0abe8 100644 --- a/AppDir/zen.desktop +++ b/AppDir/zen.desktop @@ -22,4 +22,4 @@ Exec=zen --private-window %u [Desktop Action profilemanager] Name=Open the Profile Manager -Exec=zen --ProfileManager %u \ No newline at end of file +Exec=zen --ProfileManager %u diff --git a/configs/common/mozconfig b/configs/common/mozconfig index 82d10746f..ca0fed264 100644 --- a/configs/common/mozconfig +++ b/configs/common/mozconfig @@ -1,9 +1,7 @@ - # Browser branding -ac_add_options --enable-update-channel=release - ac_add_options --with-app-name=${binName} ac_add_options --with-app-basename=Zen +ac_add_options --enable-official-branding export MOZ_USER_DIR="${name}" export MOZ_APP_VENDOR="${vendor}" @@ -25,7 +23,6 @@ export MOZ_SOURCE_CHANGESET=${changeset} export MOZ_INCLUDE_SOURCE_INFO=1 ac_add_options --enable-bootstrap - ac_add_options --enable-application=browser if test "$ZEN_RELEASE"; then @@ -34,17 +31,15 @@ if test "$ZEN_RELEASE"; then ac_add_options --disable-debug-symbols ac_add_options --disable-debug-js-modules ac_add_options --disable-tests - ac_add_options --enable-strip ac_add_options --enable-install-strip ac_add_options --disable-jprof + ac_add_options --enable-strip + export STRIP_FLAGS="--strip-debug --strip-unneeded" + ac_add_options --enable-rust-simd mk_add_options MOZ_PARALLEL_COMPILE=1 - mk_add_options MOZ_CRASHREPORTER=0 - mk_add_options MOZ_DATA_REPORTING=0 - mk_add_options MOZ_SERVICES_HEALTHREPORT=0 - mk_add_options MOZ_TELEMETRY_REPORTING=0 - + ac_add_options --enable-proxy-bypass-protection ac_add_options --enable-hardening ac_add_options --disable-profiling @@ -64,25 +59,22 @@ if test "$ZEN_RELEASE"; then MOZILLA_OFFICIAL=1 export MOZILLA_OFFICIAL=1 - mk_add_options MOZ_OPTIMIZE=1 - MOZ_OPTIMIZE=1 - export MOZ_OPTIMIZE=1 + mk_add_options MOZ_OPTIMIZE=2 + MOZ_OPTIMIZE=2 + export MOZ_OPTIMIZE=2 export OPT_LEVEL="3" ac_add_options OPT_LEVEL="3" + export RUSTC_OPT_LEVEL="3" ac_add_options RUSTC_OPT_LEVEL="3" mk_add_options AUTOCLOBBER=1 export AUTOCLOBBER=1 - if ! test "$ZEN_CROSS_COMPILING"; then - - # It causes link errors on windows - ac_add_options --disable-dmd - fi - ac_add_options --enable-updater + + export MOZ_PACKAGE_JSSHELL=1 fi ac_add_options --enable-unverified-updates @@ -96,9 +88,6 @@ ac_add_options --enable-eme=widevine ac_add_options --allow-addon-sideload ac_add_options --with-unsigned-addon-scopes=app,system -export MOZ_REQUIRE_SIGNING= -export MOZ_TELEMETRY_REPORTING= - mk_add_options MOZ_CRASHREPORTER=0 mk_add_options MOZ_DATA_REPORTING=0 mk_add_options MOZ_SERVICES_HEALTHREPORT=0 @@ -109,5 +98,3 @@ if test "$ZEN_CROSS_COMPILING"; then fi export MOZ_APP_UA_NAME="Firefox" - -# ALWAYS MANTAIN ONE LINE BREAK AT THE END OF THIS FILE \ No newline at end of file diff --git a/configs/linux/mozconfig b/configs/linux/mozconfig index 49c9959e1..07db2951c 100644 --- a/configs/linux/mozconfig +++ b/configs/linux/mozconfig @@ -1,23 +1,19 @@ -ac_add_options --enable-wasm-avx -# not when cross compiling -if ! test "$ZEN_CROSS_COMPILING"; then - - if test -d "$HOME/.mozbuild/clang/bin"; then - export CC="$HOME"/.mozbuild/clang/bin/clang - export CXX="$HOME"/.mozbuild/clang/bin/clang++ - else - export CC=clang - export CXX=clang++ - fi - - ac_add_options --enable-linker=lld - ac_add_options --disable-elf-hack +if test -d "$HOME/.mozbuild/clang/bin"; then + export CC="$HOME"/.mozbuild/clang/bin/clang + export CXX="$HOME"/.mozbuild/clang/bin/clang++ +else + export CC=clang + export CXX=clang++ fi if test "$ZEN_RELEASE"; then - ac_add_options --enable-strip - export STRIP_FLAGS="--strip-debug --strip-unneeded" + export MOZ_PGO=1 + ac_add_options MOZ_PGO=1 + + ac_add_options --disable-dmd + ac_add_options --enable-linker=lld + ac_add_options --disable-elf-hack if [ -f /home/runner/.mozbuild/sccache/sccache ]; then mk_add_options 'export RUSTC_WRAPPER=/home/runner/.mozbuild/sccache/sccache' @@ -25,21 +21,15 @@ if test "$ZEN_RELEASE"; then ac_add_options --with-ccache=/home/runner/.mozbuild/sccache/sccache mk_add_options 'export SCCACHE_GHA_ENABLED=on' fi - - if ! test "$ZEN_CROSS_COMPILING"; then - # WE ARE JUST SUPPORTING PGO FOR LINUX! - export MOZ_PGO=1 - ac_add_options MOZ_PGO=1 - fi - - export CFLAGS="-O2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes" - export CPPFLAGS="-O2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes" - export CXXFLAGS="-O2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes" - export LDFLAGS="-Wl,-O2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes" - export POLLY="-mllvm -polly -mllvm -polly-2nd-level-tiling -mllvm -polly-loopfusion-greedy -mllvm -polly-pattern-matching-based-opts -mllvm -polly-position=before-vectorizer -mllvm -polly-vectorizer=stripmine" - export RUSTFLAGS="$RUSTFLAGS -C target-feature=+avx -C codegen-units=1 -Ctarget-cpu=x86-64-v3" fi -# Disable telemetry and tracking -mk_add_options MOZ_TELEMETRY_REPORTING= -mk_add_options MOZ_DATA_REPORTING= +if test "$SURFER_COMPAT" = "1"; then + # Build for linux-i686 + ac_add_options --target=i686-pc-linux +else + # Build for linux-x86_64 + + # Dont' declare, let's build with default target + # ac_add_options --target=x86_64-pc-linux + +fi diff --git a/configs/macos/mozconfig b/configs/macos/mozconfig index cd2427c62..0a8a04bb8 100644 --- a/configs/macos/mozconfig +++ b/configs/macos/mozconfig @@ -1,12 +1,17 @@ -POLLY="-mllvm -polly -mllvm -polly-2nd-level-tiling -mllvm -polly-loopfusion-greedy -mllvm -polly-pattern-matching-based-opts -mllvm -polly-position=before-vectorizer -mllvm -polly-vectorizer=stripmine" unset MOZ_STDCXX_COMPAT -if test "$ZEN_RELEASE"; then - export RUSTFLAGS="$RUSTFLAGS -Ctarget-cpu=apple-m1" -fi ac_add_options --enable-install-strip -ac_add_options --target=aarch64-apple-darwin export MOZ_MACBUNDLE_ID=${appId} export MOZ_MACBUNDLE_NAME="Zen Browser.app" + +if test "$SURFER_COMPAT" = "1"; then + # No need to declare, let's build with default target + # ac_add_options --target=i686-apple-darwin + + export MOZ_PGO=1 + ac_add_options MOZ_PGO=1 +else + ac_add_options --target=aarch64-apple-darwin +fi diff --git a/configs/windows/mozconfig b/configs/windows/mozconfig index ff21e6305..0781507f0 100644 --- a/configs/windows/mozconfig +++ b/configs/windows/mozconfig @@ -1,5 +1,30 @@ +if test "$ZEN_CROSS_COMPILING"; then + export WINSYSROOT="$(echo ~)/win-cross/vs2022" -# Disable telemetry and tracking -mk_add_options MOZ_TELEMETRY_REPORTING= -mk_add_options MOZ_DATA_REPORTING= + export MIDL="$(echo ~)/win-cross/wine/bin/widl" + export WINE="$(echo ~)/win-cross/wine/bin/wine64" + export WINEDEBUG=-all + + #? https://bugzilla.mozilla.org/show_bug.cgi?id=1617793 + #? https://phabricator.services.mozilla.com/D170170 + ac_add_options --target=x86_64-pc-windows-msvc + + export MOZ_STUB_INSTALLER=1 + export MOZ_PKG_FORMAT=TAR + + export CROSS_BUILD=1 + CROSS_COMPILE=1 + TOOLS=$(echo ~)/win-cross + + export MIDL="$TOOLS/wine/bin/widl" + export MOZ_INCLUDE_SOURCE_INFO=1 + export MOZ_STUB_INSTALLER=1 + export WINEDEBUG=-all + export WINE="$TOOLS/wine/bin/wine64" + #export WIN32_REDIST_DIR="$TOOLS"/vs2022/VC/Redist/MSVC/14.34.31931/x64/Microsoft.VC143.CRT + #export WIN_UCRT_REDIST_DIR="$TOOLS/vs2022/Windows Kits/10/Redist/10.0.22621.0/ucrt/DLLs/x64" +fi + +ac_add_options --disable-maintenance-service +ac_add_options --disable-bits-download diff --git a/package.json b/package.json index b0d9d0b32..bc7f65b31 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,6 @@ }, "homepage": "https://github.com/zen-browser/core#readme", "dependencies": { - "@zen-browser/surfer": "^1.1.17" + "@zen-browser/surfer": "^1.2.1" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 246d38251..06f6a9d9e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,8 +9,8 @@ importers: .: dependencies: '@zen-browser/surfer': - specifier: ^1.1.17 - version: 1.1.17 + specifier: ^1.2.1 + version: 1.2.1 packages: @@ -109,8 +109,8 @@ packages: '@types/node@17.0.45': resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - '@zen-browser/surfer@1.1.17': - resolution: {integrity: sha512-619ur59XBh7GLLtAeOipJNiUOJL/lNGRXznf40e6fPimCsSobrL7HIxh5F1JXpRvKpUHVOQK5R1EDbcH+rTttg==} + '@zen-browser/surfer@1.2.1': + resolution: {integrity: sha512-SM2JvjqpPY1Qb4nqcDbrWSC2U3G9ctylzOwKaOMdOEJKy23EWNeiupMYpo1Lb4XdkNYtuWtdNDrG8zPJmFD4fg==} hasBin: true ansi-regex@5.0.1: @@ -786,7 +786,7 @@ snapshots: '@types/node@17.0.45': {} - '@zen-browser/surfer@1.1.17': + '@zen-browser/surfer@1.2.1': dependencies: '@resvg/resvg-js': 1.4.0 async-icns: 1.0.2 diff --git a/src/build/application-ini-in.patch b/src/build/application-ini-in.patch deleted file mode 100644 index 6d155a428..000000000 --- a/src/build/application-ini-in.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff --git a/build/application.ini.in b/build/application.ini.in -index 6df13230a45b2a86356f4e5a7b189c46f53e44cc..47fc729cba7d9cb612bfa0297a24644925ab53af 100644 ---- a/build/application.ini.in -+++ b/build/application.ini.in -@@ -52,5 +52,5 @@ ServerURL=@MOZ_CRASHREPORTER_URL@/submit?id=@MOZ_APP_ID@&version=@MOZ_APP_VERSIO - - #if MOZ_UPDATER - [AppUpdate] --URL=https://@MOZ_APPUPDATE_HOST@/update/6/%PRODUCT%/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%SYSTEM_CAPABILITIES%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/update.xml -+URL=https://@MOZ_APPUPDATE_HOST@/updates/browser/%BUILD_TARGET%/%CHANNEL%/update.xml - #endif diff --git a/surfer.json b/surfer.json index 34e783d20..75673bec3 100644 --- a/surfer.json +++ b/surfer.json @@ -31,10 +31,14 @@ "github": { "repo": "zen-browser/desktop" }, - "x86": { - "windowsMar": "windows.mar", - "macosMar": "macos.mar", - "linuxMar": "linux.mar" + "archives": { + "windows-x64": "windows-x64.mar", + "macos-x64": "macos-x64.mar", + "linux-x64": "linux-x64.mar", + + "windows-x32": "windows-x32.mar", + "linux-x32": "linux-x32.mar", + "macos-aarch64": "macos-aarch64.mar" } } }