nongnu: electron: Use extended wrapper-plan syntax.

This is a follow-up to 26778f221b.

* nongnu/packages/electron.scm (electron-27)
  [arguments]{wrapper-plan}: Update it.
  {phases}: Replace phase 'wrap-where-patchelf-does-not-work by
  lighter phase 'symlink-binary-file.
  [inputs]: Add nss, necessary for the RUNPATH.
This commit is contained in:
Nicolas Graves 2025-06-21 15:04:18 +02:00 committed by Nicolas Graves
parent caa0d05a3e
commit 735c74940b

View file

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