nongnu: electron: Use extended wrapper-plan syntax.

* nongnu/packages/electron.scm (electron-27)
[#:wrapper-plan]: Use extended wrapper-plan syntax.
[#:phases]<wrap-where-patchelf-does-not-work>: Replace it with...
<symlink-binary-file>: ...this lighter phase.
[inputs]: Add nss, necessary for the RUNPATH.

Signed-off-by: Hilton Chain <hako@ultrarare.space>
Modified-by: Hilton Chain <hako@ultrarare.space>
This commit is contained in:
Nicolas Graves 2025-06-21 15:04:18 +02:00 committed by Hilton Chain
parent 8e65d6358b
commit 5da1544521
No known key found for this signature in database
GPG key ID: ACC66D09CA528292

View file

@ -17,6 +17,7 @@
#:use-module (ice-9 match)
#:use-module (gnu packages compression)
#:use-module (gnu packages gtk)
#:use-module (gnu packages nss)
#:use-module (gnu packages video))
(define (electron-source version hash)
@ -46,10 +47,8 @@
(arguments
(list
#:wrapper-plan
#~'("electron"
"libffmpeg.so"
"libGLESv2.so"
"libEGL.so")
#~'(("electron" (("out" "/share/electron")
("nss" "/lib/nss"))))
#:install-plan
#~'(("." "share/electron/" #:include
("electron"
@ -69,20 +68,14 @@
("locales" "share/electron/"))
#:phases
#~(modify-phases %standard-phases
(add-before 'install-wrapper 'wrap-where-patchelf-does-not-work
(lambda* (#:key inputs #:allow-other-keys)
(let ((bin (string-append #$output "/share/electron/electron"))
(wrapper (string-append #$output "/bin/electron")))
(mkdir-p (dirname wrapper))
(make-wrapper wrapper bin
`("LD_LIBRARY_PATH" ":"
prefix
(,(string-join
(list
(string-append out "/share/electron"))
":"))))))))))
(add-after 'install 'symlink-binary-file
(lambda _
(let ((bin (string-append #$output "/bin")))
(mkdir-p bin)
(symlink (string-append #$output "/share/electron/electron")
(string-append bin "/electron"))))))))
(native-inputs (list unzip))
(inputs (list ffmpeg gdk-pixbuf))
(inputs (list ffmpeg gdk-pixbuf nss))
(home-page "https://www.electronjs.org/")
(synopsis "Cross platform desktop application shell")
(description "The Electron framework lets you write cross-platform desktop