2023-05-19 20:35:25 +02:00
|
|
|
|
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
|
;;; Copyright © 2023 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:)
|
2024-01-31 18:23:14 +01:00
|
|
|
|
#:use-module (nonguix build-system chromium-binary)
|
|
|
|
|
#:use-module (ice-9 match))
|
2023-05-19 20:35:25 +02:00
|
|
|
|
|
|
|
|
|
(define-public vscodium
|
|
|
|
|
(package
|
|
|
|
|
(name "vscodium")
|
2024-01-31 18:23:14 +01:00
|
|
|
|
(version "1.85.2.24019")
|
2023-05-19 20:35:25 +02:00
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri
|
2024-01-31 18:23:14 +01:00
|
|
|
|
(let ((arch (match (or (%current-target-system) (%current-system))
|
|
|
|
|
("aarch64-linux" "arm64")
|
|
|
|
|
("armhf-linux" "armhf")
|
|
|
|
|
(_ "x64"))))
|
|
|
|
|
(string-append
|
|
|
|
|
"https://github.com/VSCodium/vscodium/releases/download/" version
|
|
|
|
|
"/VSCodium-linux-" arch "-" version ".tar.gz")))
|
2023-05-19 20:35:25 +02:00
|
|
|
|
(sha256
|
2024-01-31 18:23:14 +01:00
|
|
|
|
(base32 "0nd9hipz1jhjdv6hrm6q2jpppanh8nmkpy9zpayymy4dwif8a49q"))))
|
2023-05-19 20:35:25 +02:00
|
|
|
|
(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 _
|
|
|
|
|
(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")
|
|
|
|
|
#: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"))
|
|
|
|
|
":")))))))))
|
2024-01-31 18:23:14 +01:00
|
|
|
|
(supported-systems '("armhf-linux" "aarch64-linux" "x86_64-linux"))
|
2023-05-19 20:35:25 +02:00
|
|
|
|
(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)))
|