From 26e1a1c58d6c7644e0cf331ada489f8c51ddd142 Mon Sep 17 00:00:00 2001 From: "Mr. M" Date: Wed, 23 Apr 2025 23:44:45 +0200 Subject: [PATCH] fix: Fixed macos SDK having an invalid version and download URL, b=(no-bug), c=tabs, workspaces --- .gitignore | 2 + src/firefox-patches/.gitkeep | 0 src/firefox-patches/README.md | 3 + .../ff139-mac-sdk-upgrade.patch | 268 ++++++++++++++++++ src/zen/tabs/zen-tabs/vertical-tabs.css | 7 +- src/zen/workspaces/ZenWorkspaces.mjs | 8 +- 6 files changed, 281 insertions(+), 7 deletions(-) create mode 100644 src/firefox-patches/.gitkeep create mode 100644 src/firefox-patches/README.md create mode 100644 src/firefox-patches/ff139-mac-sdk-upgrade.patch diff --git a/.gitignore b/.gitignore index 78f4a02a..823cd37e 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,5 @@ venv/ !firefox-cache/ win-cross/ + +!firefox-patches/ diff --git a/src/firefox-patches/.gitkeep b/src/firefox-patches/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/src/firefox-patches/README.md b/src/firefox-patches/README.md new file mode 100644 index 00000000..b7d91ee0 --- /dev/null +++ b/src/firefox-patches/README.md @@ -0,0 +1,3 @@ +# Temporal patches done to firefox + +**IMPORTANT**: Once they start failing (on new firefox reelases), they should be removed as these patches are imported from future versions of firefox as termporary solutions while we wait. diff --git a/src/firefox-patches/ff139-mac-sdk-upgrade.patch b/src/firefox-patches/ff139-mac-sdk-upgrade.patch new file mode 100644 index 00000000..f9070464 --- /dev/null +++ b/src/firefox-patches/ff139-mac-sdk-upgrade.patch @@ -0,0 +1,268 @@ +diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure +--- a/build/moz.configure/toolchain.configure ++++ b/build/moz.configure/toolchain.configure +@@ -223,11 +223,11 @@ + nargs=1, + help="Location of platform SDK to use", + ) + + def mac_sdk_min_version(): +- return "15.2" ++ return "15.4" + + @depends( + "--with-macos-sdk", + host, + bootstrap_path( +diff --git a/python/mozbuild/mozbuild/test/configure/macos_fake_sdk/SDKSettings.plist b/python/mozbuild/mozbuild/test/configure/macos_fake_sdk/SDKSettings.plist +--- a/python/mozbuild/mozbuild/test/configure/macos_fake_sdk/SDKSettings.plist ++++ b/python/mozbuild/mozbuild/test/configure/macos_fake_sdk/SDKSettings.plist +@@ -1,8 +1,8 @@ + + + + + Version +- 15.2 ++ 15.4 + + +diff --git a/taskcluster/kinds/toolchain/macos-sdk.yml b/taskcluster/kinds/toolchain/macos-sdk.yml +--- a/taskcluster/kinds/toolchain/macos-sdk.yml ++++ b/taskcluster/kinds/toolchain/macos-sdk.yml +@@ -30,24 +30,24 @@ + - Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk + toolchain-artifact: project/gecko/mac-sdk/MacOSX13.3.sdk.tar.zst + toolchain-alias: + - MacOSX13.3.sdk + +-macosx64-sdk-15.2: +- description: "MacOSX15.2 SDK" ++macosx64-sdk-15.4: ++ description: "MacOSX15.4 SDK" + treeherder: +- symbol: TM(sdk15.2) ++ symbol: TM(sdk15.4) + run: + arguments: +- - https://swcdn.apple.com/content/downloads/36/33/072-44426-A_G1AII30AST/ddbss9h6gse6a32rg6luosbrm6vgniu033/CLTools_macOSNMOS_SDK.pkg +- - 3370660f3e5c9f422a013afcf12fa2ba93b4da3ab8d0a2b2c18e978c55d4da4cb16322ca5afd8b04de0229a2960065f71421258e9d4f1413c039bcc9f1a07a65 +- - Library/Developer/CommandLineTools/SDKs/MacOSX15.2.sdk +- toolchain-artifact: project/gecko/mac-sdk/MacOSX15.2.sdk.tar.zst ++ - https://swcdn.apple.com/content/downloads/10/32/082-12052-A_AHPGDY76PT/1a419zaf3vh8o9t3c0usblyr8eystpnsh5/CLTools_macOSNMOS_SDK.pkg ++ - fd01c70038dbef48bd23fb8b7d18f234910733635f1b44518e71a66d2db92a70180e6a595c6bdd837fa8df7e9b297e570560842e9a6db863840bd051fe69fea5 ++ - Library/Developer/CommandLineTools/SDKs/MacOSX15.4.sdk ++ toolchain-artifact: project/gecko/mac-sdk/MacOSX15.4.sdk.tar.zst + toolchain-alias: + - macosx64-sdk + - macosx64-sdk-toolchain +- - MacOSX15.2.sdk ++ - MacOSX15.4.sdk + + ios-sdk-17.4: + description: "iPhoneOS17.4 SDK" + treeherder: + symbol: TM(ios17.4) +diff --git a/taskcluster/kinds/toolchain/misc.yml b/taskcluster/kinds/toolchain/misc.yml +--- a/taskcluster/kinds/toolchain/misc.yml ++++ b/taskcluster/kinds/toolchain/misc.yml +@@ -250,11 +250,11 @@ + v8_symbol_level=0 + ] + toolchain-artifact: public/build/car_macosx.tar.zst + fetches: + toolchain: +- - MacOSX15.2.sdk ++ - MacOSX15.4.sdk + + macosx-arm64-custom-car: + description: "Custom chromium-as-release build for mac (apple silicon)" + worker-type: b-osx-arm64 + attributes: +@@ -286,11 +286,11 @@ + v8_symbol_level=0 + ] + toolchain-artifact: public/build/car_macosx_arm.tar.zst + fetches: + toolchain: +- - MacOSX15.2.sdk ++ - MacOSX15.4.sdk + + android-custom-car: + description: "Custom chromium-as-release build for Android" + attributes: + cached_task: false +diff --git a/taskcluster/scripts/misc/build-cpython.sh b/taskcluster/scripts/misc/build-cpython.sh +--- a/taskcluster/scripts/misc/build-cpython.sh ++++ b/taskcluster/scripts/misc/build-cpython.sh +@@ -35,11 +35,11 @@ + macosx_version_min=10.12 + ;; + esac + # NOTE: both CFLAGS and CPPFLAGS need to be set here, otherwise + # configure step fails. +- sysroot_flags="-isysroot ${MOZ_FETCHES_DIR}/MacOSX15.2.sdk -mmacosx-version-min=${macosx_version_min}" ++ sysroot_flags="-isysroot ${MOZ_FETCHES_DIR}/MacOSX15.4.sdk -mmacosx-version-min=${macosx_version_min}" + export CPPFLAGS="${sysroot_flags} -I${xz_prefix}/include" + export CFLAGS=${sysroot_flags} + export LDFLAGS="${LDFLAGS} ${sysroot_flags} -L${xz_prefix}/lib" + configure_flags_extra=--with-openssl=/usr/local/opt/openssl + +diff --git a/taskcluster/scripts/misc/build-custom-car.sh b/taskcluster/scripts/misc/build-custom-car.sh +--- a/taskcluster/scripts/misc/build-custom-car.sh ++++ b/taskcluster/scripts/misc/build-custom-car.sh +@@ -58,11 +58,11 @@ + fi + + # Logic for macosx64 + if [[ $(uname -s) == "Darwin" ]]; then + # Modify the config with fetched sdk path +- export MACOS_SYSROOT="$MOZ_FETCHES_DIR/MacOSX15.2.sdk" ++ export MACOS_SYSROOT="$MOZ_FETCHES_DIR/MacOSX15.4.sdk" + + # Avoid mixing up the system python and toolchain python in the + # python path configuration + # https://bugs.python.org/issue22490 + unset __PYVENV_LAUNCHER__ +@@ -167,11 +167,11 @@ + fi + + # Now we can run hooks and fetch PGO + everything else + gclient runhooks + +-# PGO data should be in src/chrome/build/pgo_profiles/ ++# PGO data should be in src/chrome/build/pgo_profiles/ + # with a name like "chrome-{OS}-" + export PGO_DATA_DIR="$CUSTOM_CAR_DIR/chromium/src/chrome/build/pgo_profiles" + for entry in "$PGO_DATA_DIR"/* + do + if [ -f "$entry" ]; then +diff --git a/taskcluster/scripts/misc/build-geckodriver.sh b/taskcluster/scripts/misc/build-geckodriver.sh +--- a/taskcluster/scripts/misc/build-geckodriver.sh ++++ b/taskcluster/scripts/misc/build-geckodriver.sh +@@ -23,11 +23,11 @@ + export TARGET_CXXFLAGS="-Xclang -ivfsoverlay -Xclang $MOZ_FETCHES_DIR/vs/overlay.yaml" + ;; + # OSX cross builds are a bit harder + *-apple-darwin) + export PATH="$MOZ_FETCHES_DIR/clang/bin:$PATH" +- RUSTFLAGS="-Clinker=$MOZ_FETCHES_DIR/clang/bin/clang++ -C link-arg=-isysroot -C link-arg=$MOZ_FETCHES_DIR/MacOSX15.2.sdk -C link-arg=-fuse-ld=lld -C link-arg=--target=$TARGET" ++ RUSTFLAGS="-Clinker=$MOZ_FETCHES_DIR/clang/bin/clang++ -C link-arg=-isysroot -C link-arg=$MOZ_FETCHES_DIR/MacOSX15.4.sdk -C link-arg=-fuse-ld=lld -C link-arg=--target=$TARGET" + if test "$TARGET" = "aarch64-apple-darwin"; then + export MACOSX_DEPLOYMENT_TARGET=11.0 + else + export MACOSX_DEPLOYMENT_TARGET=10.12 + fi +diff --git a/taskcluster/scripts/misc/build-gn-macosx.sh b/taskcluster/scripts/misc/build-gn-macosx.sh +--- a/taskcluster/scripts/misc/build-gn-macosx.sh ++++ b/taskcluster/scripts/misc/build-gn-macosx.sh +@@ -3,11 +3,11 @@ + + # This script is for building GN. + + WORKSPACE=$HOME/workspace + +-CROSS_SYSROOT=$MOZ_FETCHES_DIR/MacOSX15.2.sdk ++CROSS_SYSROOT=$MOZ_FETCHES_DIR/MacOSX15.4.sdk + export MACOSX_DEPLOYMENT_TARGET=10.12 + + export CC=$MOZ_FETCHES_DIR/clang/bin/clang + export CXX=$MOZ_FETCHES_DIR/clang/bin/clang++ + export AR=$MOZ_FETCHES_DIR/clang/bin/llvm-ar +diff --git a/taskcluster/scripts/misc/build-llvm-common.sh b/taskcluster/scripts/misc/build-llvm-common.sh +--- a/taskcluster/scripts/misc/build-llvm-common.sh ++++ b/taskcluster/scripts/misc/build-llvm-common.sh +@@ -37,15 +37,15 @@ + $EXTRA_CMAKE_FLAGS + -DCMAKE_LINKER=$MOZ_FETCHES_DIR/clang/bin/ld64.lld + -DCMAKE_LIPO=$MOZ_FETCHES_DIR/clang/bin/llvm-lipo + -DCMAKE_SYSTEM_NAME=Darwin + -DCMAKE_SYSTEM_VERSION=$MACOSX_DEPLOYMENT_TARGET +- -DCMAKE_OSX_SYSROOT=$MOZ_FETCHES_DIR/MacOSX15.2.sdk ++ -DCMAKE_OSX_SYSROOT=$MOZ_FETCHES_DIR/MacOSX15.4.sdk + -DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=lld + -DCMAKE_SHARED_LINKER_FLAGS=-fuse-ld=lld + -DDARWIN_osx_ARCHS=$arch +- -DDARWIN_osx_SYSROOT=$MOZ_FETCHES_DIR/MacOSX15.2.sdk ++ -DDARWIN_osx_SYSROOT=$MOZ_FETCHES_DIR/MacOSX15.4.sdk + -DDARWIN_macosx_OVERRIDE_SDK_VERSION=11.0 + -DDARWIN_osx_BUILTIN_ARCHS=$arch + -DLLVM_DEFAULT_TARGET_TRIPLE=$target + " + # compiler-rt build script expects to find `codesign` in $PATH. +diff --git a/taskcluster/scripts/misc/build-nasm.sh b/taskcluster/scripts/misc/build-nasm.sh +--- a/taskcluster/scripts/misc/build-nasm.sh ++++ b/taskcluster/scripts/misc/build-nasm.sh +@@ -14,11 +14,11 @@ + index de99d076..47031e12 100644 + --- a/output/outelf.c + +++ b/output/outelf.c + @@ -3275,7 +3275,7 @@ static void dwarf_generate(void) + WRITELONG(pbuf,framelen-4); /* initial length */ +- ++ + /* build loc section */ + - loclen = 16; + + loclen = is_elf64() ? 16 : 8; + locbuf = pbuf = nasm_malloc(loclen); + if (is_elf32()) { +@@ -36,17 +36,17 @@ + EXE=.exe + ;; + macosx64) + export MACOSX_DEPLOYMENT_TARGET=10.12 + TARGET=x86_64-apple-darwin +- CC="clang -fuse-ld=lld --target=$TARGET -isysroot $MOZ_FETCHES_DIR/MacOSX15.2.sdk" ++ CC="clang -fuse-ld=lld --target=$TARGET -isysroot $MOZ_FETCHES_DIR/MacOSX15.4.sdk" + EXE= + ;; + macosx64-aarch64) + export MACOSX_DEPLOYMENT_TARGET=11.0 + TARGET=aarch64-apple-darwin +- CC="clang -fuse-ld=lld --target=$TARGET -isysroot $MOZ_FETCHES_DIR/MacOSX15.2.sdk" ++ CC="clang -fuse-ld=lld --target=$TARGET -isysroot $MOZ_FETCHES_DIR/MacOSX15.4.sdk" + EXE= + ;; + *) + CC="clang --sysroot=$MOZ_FETCHES_DIR/sysroot-x86_64-linux-gnu" + EXE= +diff --git a/taskcluster/scripts/misc/build-pkgconf.sh b/taskcluster/scripts/misc/build-pkgconf.sh +--- a/taskcluster/scripts/misc/build-pkgconf.sh ++++ b/taskcluster/scripts/misc/build-pkgconf.sh +@@ -19,17 +19,17 @@ + EXE= + ;; + x86_64-apple-darwin) + export MACOSX_DEPLOYMENT_TARGET=10.12 + TARGET=$1 +- CC="clang --target=$TARGET -isysroot $MOZ_FETCHES_DIR/MacOSX15.2.sdk" ++ CC="clang --target=$TARGET -isysroot $MOZ_FETCHES_DIR/MacOSX15.4.sdk" + EXE= + ;; + aarch64-apple-darwin) + export MACOSX_DEPLOYMENT_TARGET=11.0 + TARGET=$1 +- CC="clang --target=$TARGET -isysroot $MOZ_FETCHES_DIR/MacOSX15.2.sdk" ++ CC="clang --target=$TARGET -isysroot $MOZ_FETCHES_DIR/MacOSX15.4.sdk" + EXE= + ;; + x86_64-pc-windows-gnu) + TARGET=x86_64-w64-mingw32 + CC="x86_64-w64-mingw32-clang -DPKGCONFIG_IS_STATIC=1" +diff --git a/taskcluster/scripts/misc/build-rust-based-toolchain.sh b/taskcluster/scripts/misc/build-rust-based-toolchain.sh +--- a/taskcluster/scripts/misc/build-rust-based-toolchain.sh ++++ b/taskcluster/scripts/misc/build-rust-based-toolchain.sh +@@ -37,11 +37,11 @@ + if test "$TARGET" = "aarch64-apple-darwin"; then + export MACOSX_DEPLOYMENT_TARGET=11.0 + else + export MACOSX_DEPLOYMENT_TARGET=10.12 + fi +- MACOS_SYSROOT=$MOZ_FETCHES_DIR/MacOSX15.2.sdk ++ MACOS_SYSROOT=$MOZ_FETCHES_DIR/MacOSX15.4.sdk + export RUSTFLAGS="-Clinker=$MOZ_FETCHES_DIR/clang/bin/clang++ -C link-arg=-isysroot -C link-arg=$MACOS_SYSROOT -C link-arg=-fuse-ld=lld -C link-arg=--target=$TARGET" + export CC="$MOZ_FETCHES_DIR/clang/bin/clang" + export CXX="$MOZ_FETCHES_DIR/clang/bin/clang++" + export TARGET_CFLAGS="-isysroot $MACOS_SYSROOT -fuse-ld=lld" + export TARGET_CXXFLAGS="-isysroot $MACOS_SYSROOT -fuse-ld=lld -stdlib=libc++" + diff --git a/src/zen/tabs/zen-tabs/vertical-tabs.css b/src/zen/tabs/zen-tabs/vertical-tabs.css index 8c6275e9..858b6248 100644 --- a/src/zen/tabs/zen-tabs/vertical-tabs.css +++ b/src/zen/tabs/zen-tabs/vertical-tabs.css @@ -1063,10 +1063,6 @@ padding: 0 var(--zen-toolbox-padding); display: grid; - &[hidden='true'] { - opacity: 0; - pointer-events: none; - } } .zen-essentials-container > .tabbrowser-tab, @@ -1267,6 +1263,7 @@ transform: translateX(-100%); &:not(.zen-essentials-container) { + display: flex; min-width: calc(100% - var(--zen-toolbox-padding) * 2); } @@ -1275,7 +1272,7 @@ } &[hidden='true'] { - opacity: 0; + visibility: hidden; pointer-events: none; } } diff --git a/src/zen/workspaces/ZenWorkspaces.mjs b/src/zen/workspaces/ZenWorkspaces.mjs index e01513ee..bda99f7e 100644 --- a/src/zen/workspaces/ZenWorkspaces.mjs +++ b/src/zen/workspaces/ZenWorkspaces.mjs @@ -1841,7 +1841,6 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature { _updateMarginTopPinnedTabs(arrowscrollbox, pinnedContainer, essentialContainer, workspaceIndicator, forAnimation = false) { if (arrowscrollbox) { const essentialsHeight = essentialContainer.getBoundingClientRect().height; - pinnedContainer.style.marginTop = essentialsHeight + 'px'; workspaceIndicator.style.marginTop = essentialsHeight + 'px'; let arrowMarginTop = pinnedContainer.getBoundingClientRect().height; const isActive = arrowscrollbox.getAttribute('active') === 'true'; @@ -1850,8 +1849,9 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature { pinnedContainer.style.marginTop = ''; } else { arrowMarginTop += essentialsHeight; + pinnedContainer.style.marginTop = essentialsHeight + 'px'; } - if (!true) { + if (!forAnimation && !this._inChangingWorkspace) { // TODO: gZenUIManager.motion.animate( arrowscrollbox, @@ -2320,6 +2320,10 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature { if (!this._hasInitializedTabsStrip) { return; } + // forAnimation may be of type "ResizeObserver" if it's not a boolean, just ignore it + if (typeof forAnimation !== 'boolean') { + forAnimation = false; + } for (const entry of entries) { const originalWorkspaceId = entry.target.getAttribute('zen-workspace-id'); const workspacesIds = [];