mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-29 07:42:23 -05:00
25043e01b6
* gnu/build/icecat-extension.scm: New file with a MAKE-ICECAT-EXTENSION procedure that makes sure the add-on directory is a symlink, so that Icecat can normalize it into a package store path. * gnu/local.mk (dist_patch_DATA): Register it, as well as new patches. * gnu/packages/browser-extensions.scm (ublock-origin)[properties]: Store the add-on ID so that it is accessible in MAKE-ICECAT-EXTENSION. [arguments]: Use the add-on ID as root directory. (ublock-origin/icecat): New procedure. * gnu/packages/gnuzilla.scm (icecat-minimal)[arguments]: Rewrite the unused 'apply-guix-specific-patches' phase so that it applies the following two patches. [native-search-paths]: New field. * gnu/packages/patches/icecat-compare-paths.patch: New patch that compares add-on paths (which are package store paths) to detect package changes. * gnu/packages/patches/icecat-use-system-wide-dir.patch: New patch that replaces "/usr/lib/mozilla" (the system-wide directory for extensions and native manifests) with "$ICECAT_SYSTEM_DIR".
36 lines
1.2 KiB
Diff
36 lines
1.2 KiB
Diff
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);
|