aboutsummaryrefslogtreecommitdiff
Replace "/usr/lib/librewolf" (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 0cbc825738..5c0bf6ae7f 100644
--- a/toolkit/xre/nsXREDirProvider.cpp
+++ b/toolkit/xre/nsXREDirProvider.cpp
@@ -280,25 +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("LibreWolf"_ns);
-  }
-#  else
-  constexpr auto dirname =
-#    ifdef HAVE_USR_LIB64_DIR
-      "/usr/lib64/librewolf"_ns
-#    elif defined(__OpenBSD__) || defined(__FreeBSD__)
-      "/usr/local/lib/librewolf"_ns
-#    else
-      "/usr/lib/librewolf"_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);
   }