summaryrefslogtreecommitdiff
path: root/nongnu/packages/editors.scm
diff options
context:
space:
mode:
authorGiacomo Leidi <goodoldpaul@autistici.org>2023-05-19 20:35:25 +0200
committerJonathan Brielmaier <jonathan.brielmaier@web.de>2023-07-12 23:24:44 +0200
commit6c1523fc8866181238f6853086563936714e3cbb (patch)
treebf462160ce0fc3c5239306eff8d9b9e907ea3c60 /nongnu/packages/editors.scm
parentbeab5813f060ec3aca1844f368f2debc9cf52f60 (diff)
nongnu: Add vscodium.
* nongnu/packages/editors.scm: New file. (vscodium): new variable. Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
Diffstat (limited to 'nongnu/packages/editors.scm')
-rw-r--r--nongnu/packages/editors.scm91
1 files changed, 91 insertions, 0 deletions
diff --git a/nongnu/packages/editors.scm b/nongnu/packages/editors.scm
new file mode 100644
index 0000000..b87ea1d
--- /dev/null
+++ b/nongnu/packages/editors.scm
@@ -0,0 +1,91 @@
+;;; 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:)
+ #:use-module (nonguix build-system chromium-binary))
+
+(define-public vscodium
+ (package
+ (name "vscodium")
+ (version "1.78.2.23132")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://github.com/VSCodium/vscodium/releases/download/" version
+ "/VSCodium-linux-x64-" version ".tar.gz"))
+ (sha256
+ (base32 "0ymgy0xisfxqrrmwpy0ga2rhlzhxqq39ppjfawxaf0dfdnkhgkgr"))))
+ (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"))
+ ":")))))))))
+ (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)))