mirror of
https://gitlab.com/nonguix/nonguix.git
synced 2024-12-13 18:34:52 +01:00
bb03bb5dba
* nongnu/packages/editors.scm (vscodium)[#:phases]<unpack>: Replace source G-expression by keyword argument source. Signed-off-by: Jelle Licht <jlicht@fsfe.org>
104 lines
4.6 KiB
Scheme
104 lines
4.6 KiB
Scheme
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||
;;; Copyright © 2023, 2024 Giacomo Leidi <goodoldpaul@autistici.org>
|
||
|
||
(define-module (nongnu packages editors)
|
||
#:use-module (gnu packages base)
|
||
#:use-module (gnu packages gtk)
|
||
#:use-module (guix download)
|
||
#:use-module (guix gexp)
|
||
#:use-module (guix packages)
|
||
#:use-module ((guix licenses) :prefix license:)
|
||
#:use-module (nonguix build-system chromium-binary)
|
||
#:use-module (ice-9 match))
|
||
|
||
(define-public vscodium
|
||
(package
|
||
(name "vscodium")
|
||
(version "1.92.1.24225")
|
||
(source
|
||
(let ((arch (match (or (%current-target-system) (%current-system))
|
||
("aarch64-linux" "arm64")
|
||
("armhf-linux" "armhf")
|
||
(_ "x64")))
|
||
(hash (match (or (%current-target-system) (%current-system))
|
||
("aarch64-linux"
|
||
"0m5x9v577h8n16ypzb1y2066alc59v5bw7jiqp2xr7g20s9kb0vy")
|
||
("armhf-linux"
|
||
"047gz12gx8pa5aglykd0785l6i9ivsn4kkgfhi5l0y4jh8hjys8c")
|
||
(_
|
||
"1w1rhbbk177yz85csck3sax51qnvgaip9w238dmzb4a50ikfnp23"))))
|
||
(origin
|
||
(method url-fetch)
|
||
(uri
|
||
(string-append
|
||
"https://github.com/VSCodium/vscodium/releases/download/" version
|
||
"/VSCodium-linux-" arch "-" version ".tar.gz"))
|
||
(sha256
|
||
(base32 hash)))))
|
||
(build-system chromium-binary-build-system)
|
||
(arguments
|
||
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
|
||
#:substitutable? #f
|
||
#:wrapper-plan
|
||
#~'("opt/vscodium/codium")
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(replace 'unpack
|
||
(lambda* (#:key source #:allow-other-keys)
|
||
(mkdir-p "opt/vscodium")
|
||
(invoke "tar" "-xvf" source "-C" "opt/vscodium")))
|
||
(add-before 'install-wrapper 'install-entrypoint
|
||
(lambda _
|
||
(let* ((bin (string-append #$output "/bin")))
|
||
(delete-file (string-append #$output "/environment-variables"))
|
||
(mkdir-p bin)
|
||
(symlink (string-append #$output "/opt/vscodium/codium")
|
||
(string-append bin "/codium")))))
|
||
(add-after 'install-entrypoint 'install-resources
|
||
(lambda _
|
||
(let* ((icons
|
||
(string-append #$output
|
||
"/share/icons/hicolor/512x512/apps"))
|
||
(icon.png
|
||
(string-append #$output
|
||
"/opt/vscodium/resources/app/"
|
||
"resources/linux/code.png"))
|
||
(apps (string-append #$output "/share/applications")))
|
||
(mkdir-p icons)
|
||
(symlink icon.png
|
||
(string-append icons "/code.png"))
|
||
(mkdir-p apps)
|
||
(make-desktop-entry-file
|
||
(string-append apps "/" #$name ".desktop")
|
||
#:name "VSCodium"
|
||
#:generic-name "Text Editor"
|
||
#:exec (string-append #$output "/bin/codium --ozone-platform-hint=auto")
|
||
#:icon "code"
|
||
#:type "Application"
|
||
#:actions '("new-empty-window")
|
||
#:keywords '("vscode")
|
||
#:categories '("TextEditor" "Development"
|
||
"IDE")
|
||
#:startup-notify #t
|
||
#: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"))
|
||
":")))))))))
|
||
(supported-systems '("armhf-linux" "aarch64-linux" "x86_64-linux"))
|
||
(native-inputs
|
||
(list tar))
|
||
(inputs
|
||
(list gdk-pixbuf))
|
||
(home-page "https://vscodium.com/")
|
||
(synopsis "Community-driven, freely-licensed binary distribution of VSCode")
|
||
(description "VSCodium is a community-driven, freely-licensed binary
|
||
distribution of Microsoft’s editor VSCode.")
|
||
(license license:expat)))
|