summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Volf <~@wolfsden.cz>2026-07-21 21:52:49 +0200
committerJonathan Brielmaier <jonathan.brielmaier@web.de>2026-08-16 11:30:49 +0200
commit38c4d08cb96d7f148d4a23d07945fef576eb5ed8 (patch)
tree17bd686d312aa0ec569fecfe01d48e4d6e3efa10
parentc786b0280654044411567a567b8fb6c1d6f9666a (diff)
nongnu: firefox-esr: Update to 153.0esr [security fixes].
Fixes CVE-2026-15718, CVE-2026-15719, CVE-2026-16349, CVE-2026-16350, CVE-2026-16351, CVE-2026-16352, CVE-2026-16353, CVE-2026-16354, CVE-2026-16355, CVE-2026-16356, CVE-2026-16357, CVE-2026-16358, CVE-2026-16359, CVE-2026-16360, CVE-2026-16361, CVE-2026-16362, CVE-2026-16363, CVE-2026-16368, CVE-2026-16369, CVE-2026-16371, CVE-2026-16374, CVE-2026-16375, CVE-2026-16377, CVE-2026-16379, CVE-2026-16381, CVE-2026-16383, CVE-2026-16387, CVE-2026-16390, CVE-2026-16391, CVE-2026-16396, CVE-2026-16405, CVE-2026-16412. * nongnu/packages/mozilla.scm (firefox-esr): Update to 153.0esr. [source]<patches>: Remove -esr, -ge-138 from patch names. Sort. [inputs]: Use icu4c-78, clang-19, rust-cbindgen-0.29.4. (rust-cbindgen-0.29.4): New variable. (firefox)[source]<patches>: Remove -ge-138 from patch name. [inputs]: Drop icu4c replacement. * nongnu/packages/patches/firefox-ge-138-compare-paths.patch: Rename from this... * nongnu/packages/patches/firefox-compare-paths.patch: ... to this. * nongnu/packages/patches/firefox-esr-add-store-to-rdd-allowlist.patch, nongnu/packages/patches/firefox-esr-use-system-wide-dir.patch: Delete files. * nongnu/packages/wasm.scm (wasm32-wasi-clang-runtime): Inherit from clang-runtime-19. [native-inputs]: Use clang-19. [inputs]: Use llvm-19. (wasm32-wasi-clang) [base]: Use llvm-19. Drop #:patches. (wasm32-wasi-libcxx) [version]: Use llvm-19. [arguments]<#:configure-flags>: Add -DLIBCXXABI_USE_LLVM_UNWINDER=OFF. Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
-rw-r--r--nongnu/packages/mozilla.scm23
-rw-r--r--nongnu/packages/patches/firefox-compare-paths.patch (renamed from nongnu/packages/patches/firefox-ge-138-compare-paths.patch)0
-rw-r--r--nongnu/packages/patches/firefox-esr-add-store-to-rdd-allowlist.patch36
-rw-r--r--nongnu/packages/patches/firefox-esr-use-system-wide-dir.patch37
-rw-r--r--nongnu/packages/wasm.scm14
5 files changed, 17 insertions, 93 deletions
diff --git a/nongnu/packages/mozilla.scm b/nongnu/packages/mozilla.scm
index 085d65f..4f97cec 100644
--- a/nongnu/packages/mozilla.scm
+++ b/nongnu/packages/mozilla.scm
@@ -88,25 +88,25 @@
88 88
89;; Update this id with every firefox update to its release date. 89;; Update this id with every firefox update to its release date.
90;; It's used for cache validation and therefore can lead to strange bugs. 90;; It's used for cache validation and therefore can lead to strange bugs.
91(define %firefox-esr-build-id "20260720102539") 91(define %firefox-esr-build-id "20260720102245")
92 92
93(define-public firefox-esr 93(define-public firefox-esr
94 (package 94 (package
95 (name "firefox-esr") 95 (name "firefox-esr")
96 (version "140.13.0esr") 96 (version "153.0esr")
97 (source 97 (source
98 (origin 98 (origin
99 (method url-fetch) 99 (method url-fetch)
100 (uri (string-append "https://archive.mozilla.org/pub/firefox/releases/" 100 (uri (string-append "https://archive.mozilla.org/pub/firefox/releases/"
101 version "/source/firefox-" version ".source.tar.xz")) 101 version "/source/firefox-" version ".source.tar.xz"))
102 (sha256 102 (sha256
103 (base32 "00adf648nrhzngb4ssx31l17bh4zym491mx7b8ca3g9ajk39sfzm")) 103 (base32 "1dbcc80wq1354pzy6wg17gm81qiddyf5b3384fva865ivkgdkqyv"))
104 (patches 104 (patches
105 (nongnu-patches 105 (nongnu-patches
106 "firefox-add-store-to-rdd-allowlist.patch"
107 "firefox-compare-paths.patch"
106 "firefox-restore-desktop-files.patch" 108 "firefox-restore-desktop-files.patch"
107 "firefox-ge-138-compare-paths.patch" 109 "firefox-use-system-wide-dir.patch"))
108 "firefox-esr-use-system-wide-dir.patch"
109 "firefox-esr-add-store-to-rdd-allowlist.patch"))
110 ;; XXX: 75 Mo (800+ Mo uncompressed) of unused tests. 110 ;; XXX: 75 Mo (800+ Mo uncompressed) of unused tests.
111 ;; Removing it makes it possible to compile on some systems. 111 ;; Removing it makes it possible to compile on some systems.
112 (modules '((guix build utils))) 112 (modules '((guix build utils)))
@@ -460,7 +460,7 @@
460 gtk+ 460 gtk+
461 gtk+-2 461 gtk+-2
462 hunspell 462 hunspell
463 icu4c-76 463 icu4c-78
464 jemalloc 464 jemalloc
465 libcanberra 465 libcanberra
466 libevent 466 libevent
@@ -498,7 +498,7 @@
498 alsa-lib 498 alsa-lib
499 autoconf-2.13 499 autoconf-2.13
500 `(,rust-firefox-esr "cargo") 500 `(,rust-firefox-esr "cargo")
501 clang-18 501 clang-19
502 llvm 502 llvm
503 wasm32-wasi-clang-toolchain 503 wasm32-wasi-clang-toolchain
504 m4 504 m4
@@ -508,7 +508,7 @@
508 pkg-config 508 pkg-config
509 python 509 python
510 rust-firefox-esr 510 rust-firefox-esr
511 rust-cbindgen-0.28 511 rust-cbindgen-0.29
512 which 512 which
513 yasm)) 513 yasm))
514 (native-search-paths 514 (native-search-paths
@@ -543,7 +543,7 @@ Release (ESR) version.")
543 (patches 543 (patches
544 (nongnu-patches 544 (nongnu-patches
545 "firefox-restore-desktop-files.patch" 545 "firefox-restore-desktop-files.patch"
546 "firefox-ge-138-compare-paths.patch" 546 "firefox-compare-paths.patch"
547 "firefox-use-system-wide-dir.patch" 547 "firefox-use-system-wide-dir.patch"
548 "firefox-add-store-to-rdd-allowlist.patch")) 548 "firefox-add-store-to-rdd-allowlist.patch"))
549 ;; XXX: 75 Mo (800+ Mo uncompressed) of unused tests. 549 ;; XXX: 75 Mo (800+ Mo uncompressed) of unused tests.
@@ -557,9 +557,6 @@ Release (ESR) version.")
557 (replace 'set-build-id 557 (replace 'set-build-id
558 (lambda _ 558 (lambda _
559 (setenv "MOZ_BUILD_DATE" #$%firefox-build-id))))))) 559 (setenv "MOZ_BUILD_DATE" #$%firefox-build-id)))))))
560 (inputs
561 (modify-inputs inputs
562 (replace "icu4c" icu4c-78)))
563 (native-inputs 560 (native-inputs
564 (modify-inputs native-inputs 561 (modify-inputs native-inputs
565 (replace "rust" rust-firefox) 562 (replace "rust" rust-firefox)
diff --git a/nongnu/packages/patches/firefox-ge-138-compare-paths.patch b/nongnu/packages/patches/firefox-compare-paths.patch
index b7d92d7..b7d92d7 100644
--- a/nongnu/packages/patches/firefox-ge-138-compare-paths.patch
+++ b/nongnu/packages/patches/firefox-compare-paths.patch
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
deleted file mode 100644
index 4bdaa7d..0000000
--- a/nongnu/packages/patches/firefox-esr-add-store-to-rdd-allowlist.patch
+++ /dev/null
@@ -1,36 +0,0 @@
1diff --git a/security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp b/security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp
2index 4eff5e6..42171eb 100644
3--- a/security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp
4+++ b/security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp
5@@ -476,6 +476,7 @@ void SandboxBrokerPolicyFactory::InitContentPolicy() {
6 // Various places where fonts reside
7 policy->AddTree(rdonly, "/usr/X11R6/lib/X11/fonts");
8 policy->AddTree(rdonly, "/nix/store");
9+ policy->AddTree(rdonly, "/gnu/store");
10 // https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/blob/e434e680d22260f277f4a30ec4660ed32b591d16/files/fontconfig-flatpak.conf
11 policy->AddTree(rdonly, "/run/host/fonts");
12 policy->AddTree(rdonly, "/run/host/user-fonts");
13@@ -485,6 +486,7 @@ void SandboxBrokerPolicyFactory::InitContentPolicy() {
14 // Bug 1848615
15 policy->AddPath(rdonly, "/usr");
16 policy->AddPath(rdonly, "/nix");
17+ policy->AddPath(rdonly, "/gnu");
18
19 AddLdconfigPaths(policy);
20 AddLdLibraryEnvPaths(policy);
21@@ -934,6 +936,7 @@ SandboxBrokerPolicyFactory::GetRDDPolicy(int aPid) {
22 policy->AddTree(rdonly, "/usr/lib64");
23 policy->AddTree(rdonly, "/run/opengl-driver/lib");
24 policy->AddTree(rdonly, "/nix/store");
25+ policy->AddTree(rdonly, "/gnu/store");
26
27 // Bug 1647957: memory reporting.
28 AddMemoryReporting(policy.get(), aPid);
29@@ -1079,6 +1082,7 @@ SandboxBrokerPolicyFactory::GetUtilityProcessPolicy(int aPid) {
30 // Required to make sure ffmpeg loads properly, this is already existing on
31 // Content and RDD
32 policy->AddTree(rdonly, "/nix/store");
33+ policy->AddTree(rdonly, "/gnu/store");
34
35 // glibc will try to stat64("/") while populating nsswitch database
36 // 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-use-system-wide-dir.patch b/nongnu/packages/patches/firefox-esr-use-system-wide-dir.patch
deleted file mode 100644
index 564f12f..0000000
--- a/nongnu/packages/patches/firefox-esr-use-system-wide-dir.patch
+++ /dev/null
@@ -1,37 +0,0 @@
1Replace "/usr/lib/mozilla" (the system-wide directory for extensions and
2native manifests) with "$ICECAT_SYSTEM_DIR".
3
4diff --git a/toolkit/xre/nsXREDirProvider.cpp b/toolkit/xre/nsXREDirProvider.cpp
5index e3be04e70c..a3501c4f44 100644
6--- a/toolkit/xre/nsXREDirProvider.cpp
7+++ b/toolkit/xre/nsXREDirProvider.cpp
8@@ -280,24 +280,11 @@ nsresult nsXREDirProvider::GetBackgroundTasksProfilesRootDir(
9 static nsresult GetSystemParentDirectory(nsIFile** aFile) {
10 nsresult rv;
11 nsCOMPtr<nsIFile> localDir;
12-# if defined(XP_MACOSX)
13- rv = GetOSXFolderType(kOnSystemDisk, kApplicationSupportFolderType,
14- getter_AddRefs(localDir));
15- if (NS_SUCCEEDED(rv)) {
16- rv = localDir->AppendNative("Mozilla"_ns);
17- }
18-# else
19- constexpr auto dirname =
20-# ifdef HAVE_USR_LIB64_DIR
21- "/usr/lib64/mozilla"_ns
22-# elif defined(__OpenBSD__) || defined(__FreeBSD__)
23- "/usr/local/lib/mozilla"_ns
24-# else
25- "/usr/lib/mozilla"_ns
26-# endif
27- ;
28- rv = NS_NewNativeLocalFile(dirname, getter_AddRefs(localDir));
29-# endif
30+ const char* systemParentDir = getenv("ICECAT_SYSTEM_DIR");
31+ if (!systemParentDir || !*systemParentDir) return NS_ERROR_FAILURE;
32+
33+ rv = NS_NewNativeLocalFile(nsDependentCString(systemParentDir),
34+ getter_AddRefs(localDir));
35
36 if (NS_SUCCEEDED(rv)) {
37 localDir.forget(aFile);
diff --git a/nongnu/packages/wasm.scm b/nongnu/packages/wasm.scm
index 3451489..ba74aea 100644
--- a/nongnu/packages/wasm.scm
+++ b/nongnu/packages/wasm.scm
@@ -67,11 +67,11 @@ other APIs.")
67 license:expat)))) 67 license:expat))))
68 68
69(define-public wasm32-wasi-clang-runtime 69(define-public wasm32-wasi-clang-runtime
70 (package (inherit clang-runtime-17) 70 (package (inherit clang-runtime-19)
71 (native-inputs 71 (native-inputs
72 (list clang-17 72 (list clang-19
73 wasi-libc)) 73 wasi-libc))
74 (inputs (list llvm-17)) 74 (inputs (list llvm-19))
75 (arguments 75 (arguments
76 (list 76 (list
77 #:build-type "Release" 77 #:build-type "Release"
@@ -109,8 +109,7 @@ other APIs.")
109 109
110(define-public wasm32-wasi-clang 110(define-public wasm32-wasi-clang
111 (let ((base 111 (let ((base
112 (clang-from-llvm llvm-17 wasm32-wasi-clang-runtime 112 (clang-from-llvm llvm-19 wasm32-wasi-clang-runtime)))
113 #:patches '("clang-17.0-fix-build-with-gcc-14-on-arm.patch"))))
114 (package 113 (package
115 (inherit base) 114 (inherit base)
116 (name "wasm32-wasi-clang") 115 (name "wasm32-wasi-clang")
@@ -132,7 +131,7 @@ other APIs.")
132(define-public wasm32-wasi-libcxx 131(define-public wasm32-wasi-libcxx
133 (package 132 (package
134 (name "wasm32-wasi-libcxx") 133 (name "wasm32-wasi-libcxx")
135 (version (package-version llvm-17)) 134 (version (package-version llvm-19))
136 (source (llvm-monorepo version)) 135 (source (llvm-monorepo version))
137 (build-system cmake-build-system) 136 (build-system cmake-build-system)
138 (arguments 137 (arguments
@@ -173,7 +172,8 @@ other APIs.")
173 "-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF" 172 "-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF"
174 "-DLIBCXXABI_ENABLE_SHARED=OFF" 173 "-DLIBCXXABI_ENABLE_SHARED=OFF"
175 "-DLIBCXXABI_ENABLE_THREADS=OFF" 174 "-DLIBCXXABI_ENABLE_THREADS=OFF"
176 "-DLIBCXXABI_ENABLE_FILESYSTEM=OFF") 175 "-DLIBCXXABI_ENABLE_FILESYSTEM=OFF"
176 "-DLIBCXXABI_USE_LLVM_UNWINDER=OFF")
177 #:tests? #f 177 #:tests? #f
178 #:phases 178 #:phases
179 #~(modify-phases %standard-phases 179 #~(modify-phases %standard-phases