2
0
mirror of https://codeberg.org/kiss-community/repo synced 2025-01-09 12:21:00 -07:00

firefox: 134.0

This commit is contained in:
Owen Rafferty 2025-01-07 00:42:36 -06:00
parent 79d0fd59ac
commit a6f884ebd6
No known key found for this signature in database
5 changed files with 18 additions and 148 deletions

View File

@ -1,9 +1,8 @@
109bf9851d2d233f7886d53de2fac64d6c43e41dfa52436b6893d642a94ae83870
570073da2cbe06d3d438887fcb207ae1e46cfe7fa8153a0c2ce4ed5deac7a151ec
3e4e722acd2ab2e38a16ec23b29296318d77cc54f034d4b21d91bde085e26bc0a3
49e95cf848c09df618587bb8286bed3ed9531e24554b9ef275f070201078dba7f5
0d706838ba8eccf898dbebb70c1bd71b2ef76f83c5c89b5af33831584e912e08b4
ff77749c0abdce8930fa98be8e62c1fd567bb690af3a4e173d0428620972dc79a9
9207f7b9aaaeaa7e55b07e8a723f34413f7436404a2c161751e92bf785dffdaa90
7cdfeaee2a37a5ba75901cce28975882d638c4c2705839d66a875bbed3471da7be
8c0f419eb138061e67dbe2ac73e9c8332649fb90aacb57ac4f00d5de94c0cf23a8
b45fc52ba1ab0e20991b7f8f5841fecc42840979cee263f943c0e017fbc2345538
1cace7c18c7d80b4abe8665d5ec2c66a0f3c1807ff3f7c8311b925f8ed635037f0

View File

@ -1,120 +0,0 @@
diff --git a/python/mach/mach/site.py b/python/mach/mach/site.py
--- a/python/mach/mach/site.py
+++ b/python/mach/mach/site.py
@@ -15,10 +15,11 @@
import site
import subprocess
import sys
import sysconfig
import tempfile
+import warnings
from contextlib import contextmanager
from pathlib import Path
from typing import Callable, Optional
from mach.requirements import (
@@ -817,37 +818,79 @@
class PythonVirtualenv:
"""Calculates paths of interest for general python virtual environments"""
def __init__(self, prefix):
- if _is_windows:
- self.bin_path = os.path.join(prefix, "Scripts")
- self.python_path = os.path.join(self.bin_path, "python.exe")
- else:
- self.bin_path = os.path.join(prefix, "bin")
- self.python_path = os.path.join(self.bin_path, "python")
self.prefix = os.path.realpath(prefix)
+ self.paths = self._get_sysconfig_paths(self.prefix)
- @functools.lru_cache(maxsize=None)
- def resolve_sysconfig_packages_path(self, sysconfig_path):
- # macOS uses a different default sysconfig scheme based on whether it's using the
- # system Python or running in a virtualenv.
- # Manually define the scheme (following the implementation in
- # "sysconfig._get_default_scheme()") so that we're always following the
- # code path for a virtualenv directory structure.
- if os.name == "posix":
- scheme = "posix_prefix"
- else:
- scheme = os.name
+ # Name of the Python executable to use in virtual environments.
+ # An executable with the same name as sys.executable might not exist in
+ # virtual environments. An executable with 'python' as the steam —
+ # without version numbers or ABI flags — will always be present in
+ # virtual environments, so we use that.
+ python_exe_name = "python" + sysconfig.get_config_var("EXE")
+
+ self.bin_path = self.paths["scripts"]
+ self.python_path = os.path.join(self.bin_path, python_exe_name)
- sysconfig_paths = sysconfig.get_paths(scheme)
- data_path = Path(sysconfig_paths["data"])
- path = Path(sysconfig_paths[sysconfig_path])
- relative_path = path.relative_to(data_path)
+ @staticmethod
+ def _get_sysconfig_paths(prefix):
+ """Calculate the sysconfig paths of a virtual environment in the given prefix.
- # Path to virtualenv's "site-packages" directory for provided sysconfig path
- return os.path.normpath(os.path.normcase(Path(self.prefix) / relative_path))
+ The virtual environment MUST be using the same Python distribution as us.
+ """
+ # Determine the sysconfig scheme used in virtual environments
+ if "venv" in sysconfig.get_scheme_names():
+ # A 'venv' scheme was added in Python 3.11 to allow users to
+ # calculate the paths for a virtual environment, since the default
+ # scheme may not always be the same as used on virtual environments.
+ # Some common examples are the system Python distributed by macOS,
+ # Debian, and Fedora.
+ # For more information, see https://github.com/python/cpython/issues/89576
+ venv_scheme = "venv"
+ elif os.name == "nt":
+ # We know that before the 'venv' scheme was added, on Windows,
+ # the 'nt' scheme was used in virtual environments.
+ venv_scheme = "nt"
+ elif os.name == "posix":
+ # We know that before the 'venv' scheme was added, on POSIX,
+ # the 'posix_prefix' scheme was used in virtual environments.
+ venv_scheme = "posix_prefix"
+ else:
+ # This should never happen with upstream Python, as the 'venv'
+ # scheme should always be available on >=3.11, and no other
+ # platforms are supported by the upstream on older Python versions.
+ #
+ # Since the 'venv' scheme isn't available, and we have no knowledge
+ # of this platform/distribution, fallback to the default scheme.
+ #
+ # Hitting this will likely be the result of running a custom Python
+ # distribution targetting a platform that is not supported by the
+ # upstream.
+ # In this case, unless the Python vendor patched the Python
+ # distribution in such a way as the default scheme may not always be
+ # the same scheme, using the default scheme should be correct.
+ # If the vendor did patch Python as such, to work around this issue,
+ # I would recommend them to define a 'venv' scheme that matches
+ # the layout used on virtual environments in their Python distribution.
+ # (rec. signed Filipe Laíns — upstream sysconfig maintainer)
+ venv_scheme = sysconfig.get_default_scheme()
+ warnings.warn(
+ f"Unknown platform '{os.name}', using the default install scheme '{venv_scheme}'. "
+ "If this is incorrect, please ask your Python vendor to add a 'venv' sysconfig scheme "
+ "(see https://github.com/python/cpython/issues/89576, or check the code comment).",
+ stacklevel=2,
+ )
+ # Build the sysconfig config_vars dictionary for the virtual environment.
+ venv_vars = sysconfig.get_config_vars().copy()
+ venv_vars["base"] = venv_vars["platbase"] = prefix
+ # Get sysconfig paths for the virtual environment.
+ return sysconfig.get_paths(venv_scheme, vars=venv_vars)
+
+ def resolve_sysconfig_packages_path(self, sysconfig_path):
+ return self.paths[sysconfig_path]
def site_packages_dirs(self):
dirs = []
if sys.platform.startswith("win"):
dirs.append(os.path.normpath(os.path.normcase(self.prefix)))

View File

@ -1,25 +1,10 @@
make SYS_fork non-fatal, musl uses it for fork(2)
--- a/security/sandbox/linux/SandboxFilter.cpp
+++ b/security/sandbox/linux/SandboxFilter.cpp
@@ -1253,6 +1253,10 @@
// usually do something reasonable on error.
case __NR_clone:
return ClonePolicy(Error(EPERM));
+#ifdef __NR_fork
+ case __NR_fork:
+ return Error(ENOSYS);
+#endif
# ifdef __NR_fadvise64
case __NR_fadvise64:
upstream bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1657849
diff --git a/security/sandbox/linux/SandboxFilter.cpp b/security/sandbox/linux/SandboxFilter.cpp
index ed958bc..9824433 100644
index 5f14e78..1b968ea 100644
--- a/security/sandbox/linux/SandboxFilter.cpp
+++ b/security/sandbox/linux/SandboxFilter.cpp
@@ -1751,6 +1751,6 @@ class GMPSandboxPolicy : public SandboxPolicyCommon {
@@ -1763,10 +1763,10 @@ class GMPSandboxPolicy : public SandboxPolicyCommon {
return Allow();
case __NR_sched_get_priority_min:
case __NR_sched_get_priority_max:
+ case __NR_sched_setscheduler:
return Allow();
@ -28,14 +13,21 @@ index ed958bc..9824433 100644
- case __NR_sched_setscheduler: {
+ case __NR_sched_getscheduler: {
Arg<pid_t> pid(0);
@@ -1926,3 +1926,2 @@ class RDDSandboxPolicy final : public SandboxPolicyCommon {
return If(pid == 0, Allow()).Else(Trap(SchedTrap, nullptr));
}
@@ -1956,12 +1956,14 @@ class RDDSandboxPolicy final : public SandboxPolicyCommon {
case __NR_sched_getparam:
case __NR_sched_setparam:
case __NR_sched_getscheduler:
- case __NR_sched_setscheduler:
case __NR_sched_getattr:
@@ -1932,2 +1931,5 @@ class RDDSandboxPolicy final : public SandboxPolicyCommon {
case __NR_sched_setattr: {
Arg<pid_t> pid(0);
return If(pid == 0, Allow()).Else(Trap(SchedTrap, nullptr));
}
+ // sched_setscheduler gets special treatment here (bug 1657849):
+ case __NR_sched_setscheduler:
+ return Allow();
// The priority bounds are also used, sometimes (bug 1838675):
case __NR_sched_get_priority_min:

View File

@ -1,8 +1,7 @@
https://ftp.mozilla.org/pub/firefox/releases/133.0.3/source/firefox-133.0.3.source.tar.xz
https://ftp.mozilla.org/pub/firefox/releases/134.0/source/firefox-134.0.source.tar.xz
patches/fix-target-detection.patch
patches/fix-vaapi.patch
patches/gcc-14.patch
patches/mach-python-3.13.1.patch
patches/musl-sandbox.patch
patches/no-atk.patch
patches/no-dbus.patch

View File

@ -1 +1 @@
133.0.3 1
134.0 1