all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
blob a635a4d18ee6c367a9323316204cefa7e480ac31 1278 bytes (raw)
name: gnu/packages/patches/icecat-use-system-wide-dir.patch 	 # note: path name is non-authoritative(*)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
Replace "/usr/lib/mozilla" (the system-wide directory for extensions and
native manifests) with "$ICECAT_SYSTEM_DIR".

--- a/toolkit/xre/nsXREDirProvider.cpp
+++ b/toolkit/xre/nsXREDirProvider.cpp
@@ -293,24 +293,12 @@ 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, false, getter_AddRefs(localDir));
-#  endif
+
+  const char* systemParentDir = getenv("ICECAT_SYSTEM_DIR");
+  if (!systemParentDir || !*systemParentDir) return NS_ERROR_FAILURE;
+
+  rv = NS_NewNativeLocalFile(nsDependentCString(systemParentDir), false,
+                             getter_AddRefs(localDir));
 
   if (NS_SUCCEEDED(rv)) {
     localDir.forget(aFile);

debug log:

solving a635a4d18ee6 ...
found a635a4d18ee6 in https://git.savannah.gnu.org/cgit/guix.git

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.