mirror of
git://git.savannah.gnu.org/guix.git
synced 2023-12-14 03:33:07 +01:00
gnu: ungoogled-chromium: Add search path for installed extensions.
* gnu/packages/patches/ungoogled-chromium-extension-search-path.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/chromium.scm (%guix-patches): New variable. (ungoogled-chromium-snippet): Apply %GUIX-PATCHES. (ungoogled-chromium)[arguments]: Don't hard-code extensions directory. [native-search-paths]: New field.
This commit is contained in:
parent
f7d0a63dda
commit
867e3830e6
3 changed files with 39 additions and 8 deletions
|
@ -1653,6 +1653,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/u-boot-riscv64-fix-extlinux.patch \
|
||||
%D%/packages/patches/ucx-tcp-iface-ioctl.patch \
|
||||
%D%/packages/patches/udiskie-no-appindicator.patch \
|
||||
%D%/packages/patches/ungoogled-chromium-extension-search-path.patch \
|
||||
%D%/packages/patches/ungoogled-chromium-system-nspr.patch \
|
||||
%D%/packages/patches/unison-fix-ocaml-4.08.patch \
|
||||
%D%/packages/patches/unknown-horizons-python-3.8-distro.patch \
|
||||
|
|
|
@ -334,6 +334,10 @@
|
|||
(base32
|
||||
"18p9a7qffmy8m03nqva7maalgil13lj2mn0s56v3crbs4wk4lalj"))))
|
||||
|
||||
(define %guix-patches
|
||||
(list (local-file (search-patch "ungoogled-chromium-system-nspr.patch"))
|
||||
(local-file (search-patch "ungoogled-chromium-extension-search-path.patch"))))
|
||||
|
||||
;; This is a source 'snippet' that does the following:
|
||||
;; *) Applies various patches for unbundling purposes and libstdc++ compatibility.
|
||||
;; *) Runs the ungoogled patch-, domain substitution-, and scrubbing scripts.
|
||||
|
@ -356,9 +360,7 @@
|
|||
(invoke "patch" "-p1" "--force" "--input"
|
||||
patch "--no-backup-if-mismatch"))
|
||||
(append '#+%debian-patches '#+%arch-patches
|
||||
'#+(list (local-file
|
||||
(search-patch
|
||||
"ungoogled-chromium-system-nspr.patch")))))
|
||||
'#+%guix-patches))
|
||||
|
||||
(with-directory-excursion #+%ungoogled-origin
|
||||
(format #t "Ungooglifying...~%")
|
||||
|
@ -571,11 +573,6 @@
|
|||
(find-files (string-append "third_party/webrtc/modules"
|
||||
"/audio_coding/codecs/opus")))
|
||||
|
||||
(substitute* "chrome/common/chrome_paths.cc"
|
||||
(("/usr/share/chromium/extensions")
|
||||
;; TODO: Add ~/.guix-profile.
|
||||
"/run/current-system/profile/share/chromium/extensions"))
|
||||
|
||||
;; Many files try to include ICU headers from "third_party/icu/...".
|
||||
;; Remove the "third_party/" prefix to use system headers instead.
|
||||
(substitute* (find-files "chrome" "\\.cc$")
|
||||
|
@ -840,6 +837,11 @@
|
|||
("udev" ,eudev)
|
||||
("valgrind" ,valgrind)
|
||||
("vulkan-headers" ,vulkan-headers)))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "CHROMIUM_EXTENSION_DIRECTORY")
|
||||
(separator #f) ;single entry
|
||||
(files '("share/chromium/extensions")))))
|
||||
|
||||
;; Building Chromium takes ... a very long time. On a single core, a busy
|
||||
;; mid-end x86 system may need more than 24 hours to complete the build.
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
Look for extensions in $CHROMIUM_EXTENSION_DIRECTORY instead of
|
||||
/usr/share/chromium/extensions.
|
||||
|
||||
--- a/chrome/common/chrome_paths.cc
|
||||
+++ b/chrome/common/chrome_paths.cc
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
#include "chrome/common/chrome_paths.h"
|
||||
|
||||
+#include "base/environment.h"
|
||||
#include "base/files/file_util.h"
|
||||
#include "base/logging.h"
|
||||
#include "base/native_library.h"
|
||||
@@ -511,7 +512,13 @@
|
||||
#endif
|
||||
#if defined(OS_LINUX) || defined(OS_CHROMEOS)
|
||||
case chrome::DIR_STANDALONE_EXTERNAL_EXTENSIONS: {
|
||||
- cur = base::FilePath(kFilepathSinglePrefExtensions);
|
||||
+ std::unique_ptr<base::Environment> environment(base::Environment::Create());
|
||||
+ std::string extension_dir;
|
||||
+ if (environment->GetVar("CHROMIUM_EXTENSION_DIRECTORY", &extension_dir)) {
|
||||
+ cur = base::FilePath(extension_dir);
|
||||
+ } else {
|
||||
+ cur = base::FilePath(kFilepathSinglePrefExtensions);
|
||||
+ }
|
||||
break;
|
||||
}
|
||||
#endif
|
Loading…
Reference in a new issue