Merge branch 'extend-wrapper-plan' into 'master'
nonguix: chromium-binary-build: Extend wrapper-plan syntax. Closes #369 See merge request nonguix/nonguix!617
This commit is contained in:
commit
795f4ff70f
|
@ -40,7 +40,7 @@
|
|||
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
|
||||
#:substitutable? #f
|
||||
#:wrapper-plan
|
||||
#~'("opt/vscodium/codium")
|
||||
#~'(("opt/vscodium/codium" (("out" "/opt/vscodium"))))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'unpack
|
||||
|
@ -83,15 +83,7 @@
|
|||
#:startup-w-m-class "Code"
|
||||
#:comment
|
||||
'(("en" "Code Editing. Redefined.")
|
||||
(#f "Code Editing. Redefined."))))))
|
||||
(add-after 'install-wrapper 'wrap-where-patchelf-does-not-work
|
||||
(lambda _
|
||||
(wrap-program (string-append #$output "/bin/codium")
|
||||
`("LD_LIBRARY_PATH" ":"
|
||||
prefix
|
||||
(,(string-join
|
||||
(list (string-append #$output "/opt/vscodium"))
|
||||
":")))))))))
|
||||
(#f "Code Editing. Redefined.")))))))))
|
||||
(supported-systems '("armhf-linux" "aarch64-linux" "x86_64-linux"))
|
||||
(native-inputs
|
||||
(list tar))
|
||||
|
|
|
@ -58,7 +58,7 @@
|
|||
(define heroic-client
|
||||
(package
|
||||
(name "heroic-client")
|
||||
(version "2.14.1")
|
||||
(version "2.15.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -67,19 +67,12 @@
|
|||
version "/heroic_" version "_amd64.deb"))
|
||||
(sha256
|
||||
(base32
|
||||
"17q8cylhyp48qmjrn6jx0fvpp84q4lb9qvgc99c9y7m31xp897nw"))))
|
||||
"1bzdb9nqmr9w092c22n57ldykm00n98d78rhqzypf430lrl0kzcj"))))
|
||||
(build-system chromium-binary-build-system)
|
||||
(arguments
|
||||
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
|
||||
#:wrapper-plan
|
||||
#~'("lib/Heroic/heroic"
|
||||
"lib/Heroic/libEGL.so"
|
||||
"lib/Heroic/libGLESv2.so"
|
||||
"lib/Heroic/libvk_swiftshader.so"
|
||||
"lib/Heroic/libvulkan.so.1"
|
||||
"lib/Heroic/chrome-sandbox"
|
||||
"lib/Heroic/chrome_crashpad_handler"
|
||||
"lib/Heroic/libffmpeg.so")
|
||||
#~'(("lib/Heroic/heroic" (("out" "/lib/Heroic"))))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'binary-unpack 'setup-cwd
|
||||
|
@ -97,15 +90,7 @@
|
|||
(lambda _
|
||||
(mkdir-p (string-append #$output "/bin"))
|
||||
(symlink (string-append #$output "/lib/Heroic/heroic")
|
||||
(string-append #$output "/bin/heroic"))))
|
||||
(add-after 'install-wrapper 'wrap-where-patchelf-does-not-work
|
||||
(lambda _
|
||||
(wrap-program (string-append #$output "/lib/Heroic/heroic")
|
||||
`("LD_LIBRARY_PATH" ":" prefix
|
||||
(,(string-join
|
||||
(list
|
||||
(string-append #$output "/lib/Heroic"))
|
||||
":")))))))))
|
||||
(string-append #$output "/bin/heroic")))))))
|
||||
(home-page "https://heroicgameslauncher.com")
|
||||
(synopsis "A Native GOG, Amazon and Epic Games Launcher")
|
||||
(description "Heroic is an Open Source Game Launcher. Right now it supports launching
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
(arguments
|
||||
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
|
||||
#:wrapper-plan
|
||||
#~'("lib/Element/element-desktop")
|
||||
#~'(("lib/Element/element-desktop" (("out" "/lib/Element"))))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'binary-unpack 'setup-cwd
|
||||
|
@ -70,15 +70,7 @@
|
|||
(lambda _
|
||||
(mkdir-p (string-append #$output "/bin"))
|
||||
(symlink (string-append #$output "/lib/Element/element-desktop")
|
||||
(string-append #$output "/bin/element-desktop"))))
|
||||
(add-after 'install-wrapper 'wrap-where-patchelf-does-not-work
|
||||
(lambda _
|
||||
(wrap-program (string-append #$output "/lib/Element/element-desktop")
|
||||
`("LD_LIBRARY_PATH" ":" prefix
|
||||
(,(string-join
|
||||
(list
|
||||
(string-append #$output "/lib/Element"))
|
||||
":")))))))))
|
||||
(string-append #$output "/bin/element-desktop")))))))
|
||||
(home-page "https://github.com/vector-im/element-desktop")
|
||||
(synopsis "Matrix collaboration client for desktop")
|
||||
(description "Element Desktop is a Matrix client for desktop with Element Web at
|
||||
|
@ -106,7 +98,7 @@ its core.")
|
|||
(arguments
|
||||
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
|
||||
#:wrapper-plan
|
||||
#~'("lib/Signal/signal-desktop")
|
||||
#~'(("lib/Signal/signal-desktop" (("out" "/lib/Signal"))))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'binary-unpack 'setup-cwd
|
||||
|
@ -124,15 +116,7 @@ its core.")
|
|||
(lambda _
|
||||
(mkdir-p (string-append #$output "/bin"))
|
||||
(symlink (string-append #$output "/lib/Signal/signal-desktop")
|
||||
(string-append #$output "/bin/signal-desktop"))))
|
||||
(add-after 'install-wrapper 'wrap-where-patchelf-does-not-work
|
||||
(lambda _
|
||||
(wrap-program (string-append #$output "/lib/Signal/signal-desktop")
|
||||
`("LD_LIBRARY_PATH" ":" prefix
|
||||
(,(string-join
|
||||
(list
|
||||
(string-append #$output "/lib/Signal"))
|
||||
":")))))))))
|
||||
(string-append #$output "/bin/signal-desktop")))))))
|
||||
(home-page "https://signal.org/")
|
||||
(synopsis "Private messenger using the Signal protocol")
|
||||
(description "Signal Desktop is an Electron application that links with Signal on Android
|
||||
|
|
|
@ -54,7 +54,12 @@
|
|||
#~(let ((patchelf-inputs
|
||||
(list #$@(map car inputs))))
|
||||
(map (lambda (file)
|
||||
(cons file (list patchelf-inputs)))
|
||||
;; Either an entry in WRAPPER-PLAN is just a string which can be
|
||||
;; used directly, or it is a list where the second element is a
|
||||
;; list of additional inputs for patchelf-plan.
|
||||
(if (list? file)
|
||||
(cons (car file) (list (append patchelf-inputs (cadr file))))
|
||||
(cons file (list patchelf-inputs))))
|
||||
#$wrapper-plan)))
|
||||
|
||||
(define* (lower name
|
||||
|
@ -163,7 +168,13 @@
|
|||
(substitutable? #t)
|
||||
allowed-references
|
||||
disallowed-references)
|
||||
"Build SOURCE using binary-build-system."
|
||||
"Build SOURCE using binary-build-system. WRAPPER-PLAN is a list of strings for
|
||||
files which patchelf will add the INPUTS (which implicitly includes the base
|
||||
packages needed for chromium-based binaries) to RPATH and wrap with needed
|
||||
environment variables. Optionally, an entry can be a list with the first
|
||||
entry the file to be patched and the second a list of additional inputs for
|
||||
patchelf, like PATCHELF-PLAN in binary-build-system. PATCHELF-PLAN itself is
|
||||
ignored if WRAPPER-PLAN is not '()."
|
||||
(define builder
|
||||
(with-imported-modules imported-modules
|
||||
#~(begin
|
||||
|
|
Loading…
Reference in New Issue
Block a user