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 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); }