me
/
guix
Archived
1
0
Fork 0

gnu: ungoogled-chromium: Enable RUNPATH validation.

* gnu/packages/patches/ungoogled-chromium-RUNPATH.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/chromium.scm (%guix-patches): Add it.
(ungoogled-chromium)[arguments]: Remove #:validate-runpath?.
master
Marius Bakke 2021-12-15 18:16:20 +01:00
parent d2af1df65f
commit 48a1bb314d
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
3 changed files with 26 additions and 2 deletions

View File

@ -1849,6 +1849,7 @@ dist_patch_DATA = \
%D%/packages/patches/ucx-tcp-iface-ioctl.patch \ %D%/packages/patches/ucx-tcp-iface-ioctl.patch \
%D%/packages/patches/ungoogled-chromium-extension-search-path.patch \ %D%/packages/patches/ungoogled-chromium-extension-search-path.patch \
%D%/packages/patches/ungoogled-chromium-ffmpeg-compat.patch \ %D%/packages/patches/ungoogled-chromium-ffmpeg-compat.patch \
%D%/packages/patches/ungoogled-chromium-RUNPATH.patch \
%D%/packages/patches/ungoogled-chromium-system-nspr.patch \ %D%/packages/patches/ungoogled-chromium-system-nspr.patch \
%D%/packages/patches/unison-fix-ocaml-4.08.patch \ %D%/packages/patches/unison-fix-ocaml-4.08.patch \
%D%/packages/patches/unknown-horizons-python-3.8-distro.patch \ %D%/packages/patches/unknown-horizons-python-3.8-distro.patch \

View File

@ -373,6 +373,9 @@
(list (local-file (list (local-file
(assume-valid-file-name (assume-valid-file-name
(search-patch "ungoogled-chromium-extension-search-path.patch"))) (search-patch "ungoogled-chromium-extension-search-path.patch")))
(local-file
(assume-valid-file-name
(search-patch "ungoogled-chromium-RUNPATH.patch")))
(local-file (local-file
(assume-valid-file-name (assume-valid-file-name
(search-patch "ungoogled-chromium-ffmpeg-compat.patch"))) (search-patch "ungoogled-chromium-ffmpeg-compat.patch")))
@ -483,8 +486,6 @@
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f `(#:tests? #f
;; FIXME: Chromiums RUNPATH lacks entries for some libraries.
#:validate-runpath? #f
#:modules ((guix build gnu-build-system) #:modules ((guix build gnu-build-system)
(guix build utils) (guix build utils)
(srfi srfi-26)) (srfi srfi-26))

View File

@ -0,0 +1,22 @@
Use RUNPATH instead of RPATH so that end users can override the library
search path (and the 'validate-runpath' phase can do its work).
diff --git a/build/config/gcc/BUILD.gn b/build/config/gcc/BUILD.gn
--- a/build/config/gcc/BUILD.gn
+++ b/build/config/gcc/BUILD.gn
@@ -99,7 +99,14 @@ config("executable_config") {
]
}
- if (!is_android && current_os != "aix") {
+ if (is_linux) {
+ ldflags += [
+ # Set DT_RUNPATH instead of DT_RPATH which is important because the
+ # former can be overridden at runtime, and Guix has support for
+ # verifying that nothing is missing.
+ "-Wl,--enable-new-dtags",
+ ]
+ } else if (!is_android && current_os != "aix") {
ldflags += [
# TODO(GYP): Do we need a check on the binutils version here?
#