summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Volf <~@wolfsden.cz>2025-06-26 23:01:22 +0200
committerHilton Chain <hako@ultrarare.space>2025-06-28 21:03:20 +0800
commit1b17c6dfc04faf545e4142a1d5efab6a93d31fcf (patch)
treece66040d7c863c84b7adade8b5e2d7a7175569ce
parent250a6b02d09d6b0eac17b488b8464ce0ab73b85b (diff)
nongnu: firefox-esr: Update to 140.0esr.
* nongnu/packages/mozilla.scm (firefox-esr): Update to 140.0esr. [source]<patches>: Add firefox-restore-desktop-files.patch. Use >=138 version of path comparison patch. [inputs]: Use icu4c-76. [native-inputs]: Use rust-cbindgen-0.28. (firefox)[inputs]: Drop. [native-inputs]: Do not replace rust-cbindgen. * nongnu/packages/patches/firefox-esr-add-store-to-rdd-allowlist.patch: Update to new version. No functional changes. * nongnu/packages/patches/firefox-esr-use-system-wide-dir.patch: Same. * nongnu/packages/patches/firefox-esr-compare-paths.patch: Delete file. Signed-off-by: Hilton Chain <hako@ultrarare.space>
-rw-r--r--nongnu/packages/mozilla.scm17
-rw-r--r--nongnu/packages/patches/firefox-esr-add-store-to-rdd-allowlist.patch32
-rw-r--r--nongnu/packages/patches/firefox-esr-compare-paths.patch23
-rw-r--r--nongnu/packages/patches/firefox-esr-use-system-wide-dir.patch9
4 files changed, 27 insertions, 54 deletions
diff --git a/nongnu/packages/mozilla.scm b/nongnu/packages/mozilla.scm
index d8deb825..9193d5dc 100644
--- a/nongnu/packages/mozilla.scm
+++ b/nongnu/packages/mozilla.scm
@@ -87,26 +87,27 @@
;; Update this id with every firefox update to its release date.
;; It's used for cache validation and therefore can lead to strange bugs.
-(define %firefox-esr-build-id "20250623124138")
+(define %firefox-esr-build-id "20250623125548")
(define-public firefox-esr
(package
(name "firefox-esr")
- (version "128.12.0esr")
+ (version "140.0esr")
(source
(origin
(method url-fetch)
(uri (string-append "https://archive.mozilla.org/pub/firefox/releases/"
version "/source/firefox-" version ".source.tar.xz"))
(sha256
- (base32 "0gwpkpl053jv8j7bl8cjdqngxfj5wbj2mm48rqzws5nbqs3fpv9b"))
+ (base32 "0gz9z6lh2iz0mpfa0cqlz86dpxhn235lhvh4kg5ka9g7i8x2i9x1"))
(patches
(map (lambda (patch)
(search-path
(map (cut string-append <> "/nongnu/packages/patches")
%load-path)
patch))
- '("firefox-esr-compare-paths.patch"
+ '("firefox-restore-desktop-files.patch"
+ "firefox-ge-138-compare-paths.patch"
"firefox-esr-use-system-wide-dir.patch"
"firefox-esr-add-store-to-rdd-allowlist.patch")))
;; XXX: 75 Mo (800+ Mo uncompressed) of unused tests.
@@ -462,7 +463,7 @@
gtk+
gtk+-2
hunspell
- icu4c
+ icu4c-76
jemalloc
libcanberra
libevent
@@ -510,7 +511,7 @@
pkg-config
python
rust-firefox-esr
- rust-cbindgen-0.26
+ rust-cbindgen-0.28
which
yasm))
(native-search-paths
@@ -574,13 +575,9 @@ Release (ESR) version.")
(if (string=? old-content
(pk (call-with-input-file file get-string-all)))
(error "substitute did nothing, phase requires an update")))))))))
- (inputs
- (modify-inputs (package-inputs firefox-esr)
- (replace "icu4c" icu4c-76)))
(native-inputs
(modify-inputs (package-native-inputs firefox-esr)
(replace "rust" rust-firefox)
- (replace "rust-cbindgen" rust-cbindgen-0.28)
(replace "rust:cargo" `(,rust-firefox "cargo"))))
(description
"Full-featured browser client built from Firefox source tree, without
diff --git a/nongnu/packages/patches/firefox-esr-add-store-to-rdd-allowlist.patch b/nongnu/packages/patches/firefox-esr-add-store-to-rdd-allowlist.patch
index 6ae18c37..4bdaa7dd 100644
--- a/nongnu/packages/patches/firefox-esr-add-store-to-rdd-allowlist.patch
+++ b/nongnu/packages/patches/firefox-esr-add-store-to-rdd-allowlist.patch
@@ -1,16 +1,16 @@
diff --git a/security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp b/security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp
-index 0e5358e68e..efbde9616e 100644
+index 4eff5e6..42171eb 100644
--- a/security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp
+++ b/security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp
-@@ -452,6 +452,7 @@ void SandboxBrokerPolicyFactory::InitContentPolicy() {
+@@ -476,6 +476,7 @@ void SandboxBrokerPolicyFactory::InitContentPolicy() {
// Various places where fonts reside
- policy->AddDir(rdonly, "/usr/X11R6/lib/X11/fonts");
- policy->AddDir(rdonly, "/nix/store");
-+ policy->AddDir(rdonly, "/gnu/store");
+ policy->AddTree(rdonly, "/usr/X11R6/lib/X11/fonts");
+ policy->AddTree(rdonly, "/nix/store");
++ policy->AddTree(rdonly, "/gnu/store");
// https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/blob/e434e680d22260f277f4a30ec4660ed32b591d16/files/fontconfig-flatpak.conf
- policy->AddDir(rdonly, "/run/host/fonts");
- policy->AddDir(rdonly, "/run/host/user-fonts");
-@@ -461,6 +462,7 @@ void SandboxBrokerPolicyFactory::InitContentPolicy() {
+ policy->AddTree(rdonly, "/run/host/fonts");
+ policy->AddTree(rdonly, "/run/host/user-fonts");
+@@ -485,6 +486,7 @@ void SandboxBrokerPolicyFactory::InitContentPolicy() {
// Bug 1848615
policy->AddPath(rdonly, "/usr");
policy->AddPath(rdonly, "/nix");
@@ -18,19 +18,19 @@ index 0e5358e68e..efbde9616e 100644
AddLdconfigPaths(policy);
AddLdLibraryEnvPaths(policy);
-@@ -920,6 +922,7 @@ SandboxBrokerPolicyFactory::GetRDDPolicy(int aPid) {
- policy->AddDir(rdonly, "/usr/lib64");
- policy->AddDir(rdonly, "/run/opengl-driver/lib");
- policy->AddDir(rdonly, "/nix/store");
-+ policy->AddDir(rdonly, "/gnu/store");
+@@ -934,6 +936,7 @@ SandboxBrokerPolicyFactory::GetRDDPolicy(int aPid) {
+ policy->AddTree(rdonly, "/usr/lib64");
+ policy->AddTree(rdonly, "/run/opengl-driver/lib");
+ policy->AddTree(rdonly, "/nix/store");
++ policy->AddTree(rdonly, "/gnu/store");
// Bug 1647957: memory reporting.
AddMemoryReporting(policy.get(), aPid);
-@@ -1043,6 +1046,7 @@ SandboxBrokerPolicyFactory::GetUtilityProcessPolicy(int aPid) {
+@@ -1079,6 +1082,7 @@ SandboxBrokerPolicyFactory::GetUtilityProcessPolicy(int aPid) {
// Required to make sure ffmpeg loads properly, this is already existing on
// Content and RDD
- policy->AddDir(rdonly, "/nix/store");
-+ policy->AddDir(rdonly, "/gnu/store");
+ policy->AddTree(rdonly, "/nix/store");
++ policy->AddTree(rdonly, "/gnu/store");
// glibc will try to stat64("/") while populating nsswitch database
// https://sourceware.org/git/?p=glibc.git;a=blob;f=nss/nss_database.c;h=cf0306adc47f12d9bc761ab1b013629f4482b7e6;hb=9826b03b747b841f5fc6de2054bf1ef3f5c4bdf3#l396
diff --git a/nongnu/packages/patches/firefox-esr-compare-paths.patch b/nongnu/packages/patches/firefox-esr-compare-paths.patch
deleted file mode 100644
index dd113c79..00000000
--- a/nongnu/packages/patches/firefox-esr-compare-paths.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-See comment in gnu/build/icecat-extension.scm.
-
-diff --git a/toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs b/toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
-index 0b885f6..0bbfbee 100644
---- a/toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
-+++ b/toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
-@@ -3607,6 +3607,7 @@ export const XPIDatabaseReconcile = {
- if (
- newAddon ||
- oldAddon.updateDate != xpiState.mtime ||
-+ oldAddon.path != xpiState.path ||
- (aUpdateCompatibility && this.isAppBundledLocation(installLocation))
- ) {
- newAddon = this.updateMetadata(
-@@ -3615,8 +3616,6 @@ export const XPIDatabaseReconcile = {
- xpiState,
- newAddon
- );
-- } else if (oldAddon.path != xpiState.path) {
-- newAddon = this.updatePath(installLocation, oldAddon, xpiState);
- } else if (aUpdateCompatibility || aSchemaChange) {
- newAddon = this.updateCompatibility(
- installLocation,
diff --git a/nongnu/packages/patches/firefox-esr-use-system-wide-dir.patch b/nongnu/packages/patches/firefox-esr-use-system-wide-dir.patch
index 67a17096..564f12f3 100644
--- a/nongnu/packages/patches/firefox-esr-use-system-wide-dir.patch
+++ b/nongnu/packages/patches/firefox-esr-use-system-wide-dir.patch
@@ -2,10 +2,10 @@ Replace "/usr/lib/mozilla" (the system-wide directory for extensions and
native manifests) with "$ICECAT_SYSTEM_DIR".
diff --git a/toolkit/xre/nsXREDirProvider.cpp b/toolkit/xre/nsXREDirProvider.cpp
-index d3af49b495..4beef0aa7e 100644
+index e3be04e70c..a3501c4f44 100644
--- a/toolkit/xre/nsXREDirProvider.cpp
+++ b/toolkit/xre/nsXREDirProvider.cpp
-@@ -296,24 +296,12 @@ nsresult nsXREDirProvider::GetBackgroundTasksProfilesRootDir(
+@@ -280,24 +280,11 @@ nsresult nsXREDirProvider::GetBackgroundTasksProfilesRootDir(
static nsresult GetSystemParentDirectory(nsIFile** aFile) {
nsresult rv;
nsCOMPtr<nsIFile> localDir;
@@ -25,13 +25,12 @@ index d3af49b495..4beef0aa7e 100644
- "/usr/lib/mozilla"_ns
-# endif
- ;
-- rv = NS_NewNativeLocalFile(dirname, false, getter_AddRefs(localDir));
+- rv = NS_NewNativeLocalFile(dirname, getter_AddRefs(localDir));
-# endif
-+
+ const char* systemParentDir = getenv("ICECAT_SYSTEM_DIR");
+ if (!systemParentDir || !*systemParentDir) return NS_ERROR_FAILURE;
+
-+ rv = NS_NewNativeLocalFile(nsDependentCString(systemParentDir), false,
++ rv = NS_NewNativeLocalFile(nsDependentCString(systemParentDir),
+ getter_AddRefs(localDir));
if (NS_SUCCEEDED(rv)) {