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
|
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
|
||||||
#:substitutable? #f
|
#:substitutable? #f
|
||||||
#:wrapper-plan
|
#:wrapper-plan
|
||||||
#~'("opt/vscodium/codium")
|
#~'(("opt/vscodium/codium" (("out" "/opt/vscodium"))))
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(replace 'unpack
|
(replace 'unpack
|
||||||
|
@ -83,15 +83,7 @@
|
||||||
#:startup-w-m-class "Code"
|
#:startup-w-m-class "Code"
|
||||||
#:comment
|
#:comment
|
||||||
'(("en" "Code Editing. Redefined.")
|
'(("en" "Code Editing. Redefined.")
|
||||||
(#f "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"))
|
|
||||||
":")))))))))
|
|
||||||
(supported-systems '("armhf-linux" "aarch64-linux" "x86_64-linux"))
|
(supported-systems '("armhf-linux" "aarch64-linux" "x86_64-linux"))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list tar))
|
(list tar))
|
||||||
|
|
|
@ -58,7 +58,7 @@
|
||||||
(define heroic-client
|
(define heroic-client
|
||||||
(package
|
(package
|
||||||
(name "heroic-client")
|
(name "heroic-client")
|
||||||
(version "2.14.1")
|
(version "2.15.2")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -67,19 +67,12 @@
|
||||||
version "/heroic_" version "_amd64.deb"))
|
version "/heroic_" version "_amd64.deb"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"17q8cylhyp48qmjrn6jx0fvpp84q4lb9qvgc99c9y7m31xp897nw"))))
|
"1bzdb9nqmr9w092c22n57ldykm00n98d78rhqzypf430lrl0kzcj"))))
|
||||||
(build-system chromium-binary-build-system)
|
(build-system chromium-binary-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
|
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
|
||||||
#:wrapper-plan
|
#:wrapper-plan
|
||||||
#~'("lib/Heroic/heroic"
|
#~'(("lib/Heroic/heroic" (("out" "/lib/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")
|
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(add-after 'binary-unpack 'setup-cwd
|
(add-after 'binary-unpack 'setup-cwd
|
||||||
|
@ -97,15 +90,7 @@
|
||||||
(lambda _
|
(lambda _
|
||||||
(mkdir-p (string-append #$output "/bin"))
|
(mkdir-p (string-append #$output "/bin"))
|
||||||
(symlink (string-append #$output "/lib/Heroic/heroic")
|
(symlink (string-append #$output "/lib/Heroic/heroic")
|
||||||
(string-append #$output "/bin/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"))
|
|
||||||
":")))))))))
|
|
||||||
(home-page "https://heroicgameslauncher.com")
|
(home-page "https://heroicgameslauncher.com")
|
||||||
(synopsis "A Native GOG, Amazon and Epic Games Launcher")
|
(synopsis "A Native GOG, Amazon and Epic Games Launcher")
|
||||||
(description "Heroic is an Open Source Game Launcher. Right now it supports launching
|
(description "Heroic is an Open Source Game Launcher. Right now it supports launching
|
||||||
|
|
|
@ -52,7 +52,7 @@
|
||||||
(arguments
|
(arguments
|
||||||
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
|
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
|
||||||
#:wrapper-plan
|
#:wrapper-plan
|
||||||
#~'("lib/Element/element-desktop")
|
#~'(("lib/Element/element-desktop" (("out" "/lib/Element"))))
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(add-after 'binary-unpack 'setup-cwd
|
(add-after 'binary-unpack 'setup-cwd
|
||||||
|
@ -70,15 +70,7 @@
|
||||||
(lambda _
|
(lambda _
|
||||||
(mkdir-p (string-append #$output "/bin"))
|
(mkdir-p (string-append #$output "/bin"))
|
||||||
(symlink (string-append #$output "/lib/Element/element-desktop")
|
(symlink (string-append #$output "/lib/Element/element-desktop")
|
||||||
(string-append #$output "/bin/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"))
|
|
||||||
":")))))))))
|
|
||||||
(home-page "https://github.com/vector-im/element-desktop")
|
(home-page "https://github.com/vector-im/element-desktop")
|
||||||
(synopsis "Matrix collaboration client for desktop")
|
(synopsis "Matrix collaboration client for desktop")
|
||||||
(description "Element Desktop is a Matrix client for desktop with Element Web at
|
(description "Element Desktop is a Matrix client for desktop with Element Web at
|
||||||
|
@ -106,7 +98,7 @@ its core.")
|
||||||
(arguments
|
(arguments
|
||||||
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
|
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
|
||||||
#:wrapper-plan
|
#:wrapper-plan
|
||||||
#~'("lib/Signal/signal-desktop")
|
#~'(("lib/Signal/signal-desktop" (("out" "/lib/Signal"))))
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(add-after 'binary-unpack 'setup-cwd
|
(add-after 'binary-unpack 'setup-cwd
|
||||||
|
@ -124,15 +116,7 @@ its core.")
|
||||||
(lambda _
|
(lambda _
|
||||||
(mkdir-p (string-append #$output "/bin"))
|
(mkdir-p (string-append #$output "/bin"))
|
||||||
(symlink (string-append #$output "/lib/Signal/signal-desktop")
|
(symlink (string-append #$output "/lib/Signal/signal-desktop")
|
||||||
(string-append #$output "/bin/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"))
|
|
||||||
":")))))))))
|
|
||||||
(home-page "https://signal.org/")
|
(home-page "https://signal.org/")
|
||||||
(synopsis "Private messenger using the Signal protocol")
|
(synopsis "Private messenger using the Signal protocol")
|
||||||
(description "Signal Desktop is an Electron application that links with Signal on Android
|
(description "Signal Desktop is an Electron application that links with Signal on Android
|
||||||
|
|
|
@ -54,7 +54,12 @@
|
||||||
#~(let ((patchelf-inputs
|
#~(let ((patchelf-inputs
|
||||||
(list #$@(map car inputs))))
|
(list #$@(map car inputs))))
|
||||||
(map (lambda (file)
|
(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)))
|
#$wrapper-plan)))
|
||||||
|
|
||||||
(define* (lower name
|
(define* (lower name
|
||||||
|
@ -163,7 +168,13 @@
|
||||||
(substitutable? #t)
|
(substitutable? #t)
|
||||||
allowed-references
|
allowed-references
|
||||||
disallowed-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
|
(define builder
|
||||||
(with-imported-modules imported-modules
|
(with-imported-modules imported-modules
|
||||||
#~(begin
|
#~(begin
|
||||||
|
|
Loading…
Reference in New Issue
Block a user