nonguix-mirrors/nongnu/packages/patches/firefox-esr-use-system-wide-dir.patch
Tomas Volf 1b17c6dfc0
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>
2025-06-28 21:03:20 +08:00

37 lines
1.3 KiB
Diff

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 e3be04e70c..a3501c4f44 100644
--- a/toolkit/xre/nsXREDirProvider.cpp
+++ b/toolkit/xre/nsXREDirProvider.cpp
@@ -280,24 +280,11 @@ nsresult nsXREDirProvider::GetBackgroundTasksProfilesRootDir(
static nsresult GetSystemParentDirectory(nsIFile** aFile) {
nsresult rv;
nsCOMPtr<nsIFile> localDir;
-# if defined(XP_MACOSX)
- rv = GetOSXFolderType(kOnSystemDisk, kApplicationSupportFolderType,
- getter_AddRefs(localDir));
- if (NS_SUCCEEDED(rv)) {
- rv = localDir->AppendNative("Mozilla"_ns);
- }
-# else
- constexpr auto dirname =
-# ifdef HAVE_USR_LIB64_DIR
- "/usr/lib64/mozilla"_ns
-# elif defined(__OpenBSD__) || defined(__FreeBSD__)
- "/usr/local/lib/mozilla"_ns
-# else
- "/usr/lib/mozilla"_ns
-# endif
- ;
- 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),
+ getter_AddRefs(localDir));
if (NS_SUCCEEDED(rv)) {
localDir.forget(aFile);