unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#45706: vscodium
@ 2021-01-06 20:49 Hamzeh Nasajpour
  2021-01-06 22:38 ` Leo Prikler
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Hamzeh Nasajpour @ 2021-01-06 20:49 UTC (permalink / raw)
  To: 45706

Hello,

I want to package the `vscode` in guix. Actually I packaged it, but I faced with some issues that I think the package definition needs some modifications.

I installed it and I get this error:
```
$ codium --verbose
Cannot upload crash dump: cannot exec /usr/bin/wget
Unexpected crash report id length
Failed to get crash dump id.
Report Id:
[1338:1217/162312.625705:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
Cannot upload crash dump: cannot exec /usr/bin/wget
Unexpected crash report id length
Failed to get crash dump id.
Report Id:

$ codium --verbose --disable-gpu
Cannot upload crash dump: cannot exec /usr/bin/wget
Unexpected crash report id length
Failed to get crash dump id.
Report Id:
Cannot upload crash dump: cannot exec /usr/bin/wget
Unexpected crash report id length
Failed to get crash dump id.
Report Id:
```

While I can run it with `--help` and `--version` options:
```
$ codium --version
1.51.1
e5a624b788d92b8d34d1392e4c4d9789406efe8f
x64

$ codium --help
VSCodium 1.51.1

Usage: codium [options][paths...]

To read from stdin, append '-' (e.g. 'ps aux | grep code | codium -')

Options
  -d --diff <file> <file>           Compare two files with each other.
  -a --add <folder>                 Add folder(s) to the last active window.
  -g --goto <file:line[:character]> Open a file at the path on the specified line and character position.
  -n --new-window                   Force to open a new window.
  -r --reuse-window                 Force to open a file or folder in an already opened window.
  --folder-uri <uri>                Opens a window with given folder uri(s)
  --file-uri <uri>                  Opens a window with given file uri(s)
  -w --wait                         Wait for the files to be closed before returning.
  --locale <locale>                 The locale to use (e.g. en-US or zh-TW).
  --user-data-dir <dir>             Specifies the directory that user data is kept in. Can be used to open multiple distinct instances of Code.
  -h --help                         Print usage.

...
```

The package definition is here:
```
(define-module (px packages programming)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix download)
  #:use-module (guix packages)
  #:use-module (guix utils)
  #:use-module (guix build-system trivial)
  #:use-module (gnu packages bash)
  #:use-module (gnu packages bootstrap)
  #:use-module (gnu packages commencement)
  #:use-module (gnu packages compression)
  #:use-module (gnu packages cups)
  #:use-module (gnu packages elf)
  #:use-module (gnu packages fontutils)
  #:use-module (gnu packages gl)
  #:use-module (gnu packages base)
  #:use-module (gnu packages gcc)
  #:use-module (gnu packages glib)
  #:use-module (gnu packages gtk)
  #:use-module (gnu packages linux)
  #:use-module (gnu packages nss)
  #:use-module (gnu packages xdisorg)
  #:use-module (gnu packages xml)
  #:use-module (gnu packages xorg))
 
 (define-public vscodium
  (package
    (name "vscodium")
    (version "1.51.1")
    (source (origin
             (method url-fetch)
             (uri "https://github.com/VSCodium/vscodium/releases/download/1.51.1/VSCodium-linux-x64-1.51.1.tar.gz")
             (sha256
              (base32
               "0hn4pqmabz3qf3bbqnn1fz7fcgzdkp2lwr2yzgmx8hhh3cff8bnb"))))
    (build-system trivial-build-system)
    (arguments
     `(#:modules ((guix build utils))
       #:builder (begin
                   (use-modules (guix build utils)
                                (srfi srfi-26))
                   (let* ((source     (assoc-ref %build-inputs "source"))
                          (alsa-lib   (assoc-ref %build-inputs "alsa-lib"))
                          (at-spi2-atk (assoc-ref %build-inputs "at-spi2-atk"))
                          (at-spi2-core(assoc-ref %build-inputs "at-spi2-core"))
                          (atk        (assoc-ref %build-inputs "atk"))
                          (bash       (assoc-ref %build-inputs "bash"))
                          (cairo      (assoc-ref %build-inputs "cairo"))
                          (coreutils  (assoc-ref %build-inputs "coreutils"))
                          (cups       (assoc-ref %build-inputs "cups"))
                          (dbus       (assoc-ref %build-inputs "dbus"))
                          (expat      (assoc-ref %build-inputs "expat"))
                          (fontconfig (assoc-ref %build-inputs "fontconfig"))
                          (gcc        (assoc-ref %build-inputs "gcc"))
                          (ar         (assoc-ref %build-inputs "gcc-toolchain"))
                          (gdk-pixbuf (assoc-ref %build-inputs "gdk-pixbuf"))
                          (glib       (assoc-ref %build-inputs "glib")) 
                          (gzip       (assoc-ref %build-inputs "gzip"))
                          (gtk        (assoc-ref %build-inputs "gtk+"))
                          (pango      (assoc-ref %build-inputs "pango"))
                          (patchelf   (assoc-ref %build-inputs "patchelf"))
                          (tar        (assoc-ref %build-inputs "tar"))
                          (xz         (assoc-ref %build-inputs "xz"))
                          (libdrm     (assoc-ref %build-inputs "libdrm"))
                          (libx11     (assoc-ref %build-inputs "libx11"))
                          (libxcb     (assoc-ref %build-inputs "libxcb"))
                          (libxcursor (assoc-ref %build-inputs "libxcursor"))
                          (libxcomposite (assoc-ref %build-inputs "libxcomposite"))
                          (libxdamage (assoc-ref %build-inputs "libxdamage"))
                          (libxext    (assoc-ref %build-inputs "libxext"))
                          (libxfixes  (assoc-ref %build-inputs "libxfixes"))
                          (libxi      (assoc-ref %build-inputs "libxi"))
                          (libxrandr  (assoc-ref %build-inputs "libxrandr"))
                          (libxrender (assoc-ref %build-inputs "libxrender"))
                          (libxss     (assoc-ref %build-inputs "libxscrnsaver"))
                          (libxtst    (assoc-ref %build-inputs "libxtst"))
                          (libnss     (assoc-ref %build-inputs "nss"))
                          (libnspr    (assoc-ref %build-inputs "nspr"))
                          (ld-so      (string-append (assoc-ref %build-inputs "glibc")
                                           ,(glibc-dynamic-linker)))
                          (mesa       (assoc-ref %build-inputs "mesa"))
                          (bin-dir    (string-append %output "/bin"))
                          (lib-dir    (string-append %output "/lib/vscode"))
                          (codium-exec(string-append %output "/lib/vscode/codium")))
                     (mkdir-p bin-dir)
                     (setenv "PATH" (string-append 
                                      (string-append ar         "/bin:")
                                      (string-append bash       "/bin:")
                                      (string-append coreutils  "/bin:")
                                      (string-append gzip       "/bin:")
                                      (string-append patchelf   "/bin:")
                                      (string-append tar        "/bin:")
                                      (string-append xz         "/bin:")))
                     (invoke "tar" "xvf" source)
                     (invoke "mkdir" "-p" lib-dir)
                     (invoke "mkdir" "-p" bin-dir)
                     (copy-recursively "." lib-dir)
                     (substitute* (string-append lib-dir "/bin/codium")
                             (("ELECTRON=" all) (string-append "VSCODE_PATH='" lib-dir "'\nELECTRON=")))
                     (invoke "ln" "-s" (string-append lib-dir "/bin/codium") bin-dir)
                     (invoke "patchelf" "--set-interpreter" ld-so codium-exec)

;                     (substitute* '("usr/share/applications/codium.desktop")
;                             (("Exec=/usr/share/codium/codium") (string-append "Exec=" %output "/bin/codium")))
;                     (substitute* '("usr/share/applications/codium-url-handler.desktop")
;                             (("Exec=/usr/share/codium/codium") (string-append "Exec=" %output "/bin/codium")))
;                     (invoke "cp" "usr/share/codium/resources/app/resources/linux/code.png" (string-append %output "/share/pixmaps/code.png"))
                     (invoke "cat" (string-append bin-dir "/codium"))

                     (wrap-program codium-exec
                             `("FONTCONFIG_PATH" ":" prefix (,(string-append fontconfig "/etc/fonts"))))
                     (wrap-program codium-exec
                             `("LD_LIBRARY_PATH" ":" prefix (,(string-append alsa-lib "/lib"))))
                     (wrap-program codium-exec
                             `("LD_LIBRARY_PATH" ":" prefix (,(string-append at-spi2-core "/lib"))))
                     (wrap-program codium-exec
                             `("LD_LIBRARY_PATH" ":" prefix (,(string-append at-spi2-atk "/lib"))))
                     (wrap-program codium-exec
                             `("LD_LIBRARY_PATH" ":" prefix (,(string-append atk "/lib"))))
                     (wrap-program codium-exec
                             `("LD_LIBRARY_PATH" ":" prefix (,(string-append dbus "/lib"))))
                     (wrap-program codium-exec
                             `("LD_LIBRARY_PATH" ":" prefix (,(string-append cairo "/lib"))))
                     (wrap-program codium-exec
                             `("LD_LIBRARY_PATH" ":" prefix (,(string-append cups "/lib"))))
                     (wrap-program codium-exec
                             `("LD_LIBRARY_PATH" ":" prefix (,(string-append expat "/lib"))))
                     (wrap-program codium-exec
                             `("LD_LIBRARY_PATH" ":" prefix (,(string-append gcc "/lib"))))
                     (wrap-program codium-exec
                             `("LD_LIBRARY_PATH" ":" prefix (,(string-append glib "/lib"))))
                     (wrap-program codium-exec
                             `("LD_LIBRARY_PATH" ":" prefix (,(string-append gdk-pixbuf "/lib"))))
                     (wrap-program codium-exec
                             `("LD_LIBRARY_PATH" ":" prefix (,(string-append gtk "/lib"))))
                     (wrap-program codium-exec
                             `("LD_LIBRARY_PATH" ":" prefix (,(string-append libdrm "/lib"))))
                     (wrap-program codium-exec
                             `("LD_LIBRARY_PATH" ":" prefix (,(string-append libx11 "/lib"))))
                     (wrap-program codium-exec
                             `("LD_LIBRARY_PATH" ":" prefix (,(string-append libxcb "/lib"))))
                     (wrap-program codium-exec  
                             `("LD_LIBRARY_PATH" ":" prefix (,(string-append libxcomposite "/lib"))))
                     (wrap-program codium-exec  
                             `("LD_LIBRARY_PATH" ":" prefix (,(string-append libxcursor "/lib"))))
                     (wrap-program codium-exec
                             `("LD_LIBRARY_PATH" ":" prefix (,(string-append libxdamage "/lib"))))
                     (wrap-program codium-exec
                             `("LD_LIBRARY_PATH" ":" prefix (,(string-append libxext "/lib"))))
                     (wrap-program codium-exec
                             `("LD_LIBRARY_PATH" ":" prefix (,(string-append libxfixes "/lib"))))
                     (wrap-program codium-exec
                             `("LD_LIBRARY_PATH" ":" prefix (,(string-append libxi "/lib"))))
                     (wrap-program codium-exec
                             `("LD_LIBRARY_PATH" ":" prefix (,(string-append libxrandr "/lib"))))
                     (wrap-program codium-exec
                             `("LD_LIBRARY_PATH" ":" prefix (,(string-append libxrender "/lib"))))
                     (wrap-program codium-exec
                             `("LD_LIBRARY_PATH" ":" prefix (,(string-append libxtst "/lib"))))
                     (wrap-program codium-exec
                             `("LD_LIBRARY_PATH" ":" prefix (,(string-append libxss "/lib"))))
                     (wrap-program codium-exec
                             `("LD_LIBRARY_PATH" ":" prefix (,(string-append libnss "/lib/nss"))))
                     (wrap-program codium-exec
                             `("LD_LIBRARY_PATH" ":" prefix (,(string-append libnspr "/lib"))))
                     (wrap-program codium-exec
                             `("LD_LIBRARY_PATH" ":" prefix (,(string-append mesa "/lib"))))
                     (wrap-program codium-exec
                             `("LD_LIBRARY_PATH" ":" prefix (,(string-append pango "/lib"))))
					 #t))))
    (native-inputs `(("alsa-lib" ,alsa-lib)
                     ("at-spi2-atk" ,at-spi2-atk)
                     ("coreutils" ,coreutils)
                     ("cairo" ,cairo)
                     ("cups" ,cups)
                     ("dbus" ,dbus)
                     ("expat" ,expat)
                     ("fontconfig" ,fontconfig)
                     ("gcc" ,gcc "lib")
                     ("gcc-toolchain" ,gcc-toolchain)
                     ("glib" ,glib)
                     ("gdk-pixbuf" ,gdk-pixbuf)
                     ("gtk+" ,gtk+)
                     ("glibc" ,glibc)
                     ("libdrm" ,libdrm)
                     ("libxcb" ,libxcb)
                     ("libxcursor" ,libxcursor)
                     ("libx11" ,libx11)
                     ("libxcomposite" ,libxcomposite)
                     ("libxdamage" ,libxdamage)
                     ("libxext" ,libxext)
                     ("libxfixes" ,libxfixes)
                     ("libxi" ,libxi)
                     ("libxrandr" ,libxrandr)
                     ("libxrender" ,libxrender)
                     ("libxscrnsaver" ,libxscrnsaver)
                     ("libxtst" ,libxtst)
                     ("mesa" ,mesa)
                     ("gzip" ,gzip)
                     ("pango" ,pango)
                     ("patchelf" ,patchelf)
                     ("nss" ,nss)
                     ("nspr" ,nspr)
                     ("tar" ,tar)
                     ("xz" ,xz)))
	(inputs `(("bash" ,bash)
	          ("zlib" ,zlib)))
	(home-page "https://github.com/VSCodium/vscodium")
    (synopsis "Free/Libre Open Source Software Binaries of VSCode")
    (description
     "Free/Libre Open Source Software Binaries of VSCode.")
    (license license:expat)))
```

Do you have any idea? Please help, I need this IDE urgently :) 

Regards,
Hamzeh

--

Hamzeh Nasajpour
PantherX Team




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-12-17 13:35 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-06 20:49 bug#45706: vscodium Hamzeh Nasajpour
2021-01-06 22:38 ` Leo Prikler
2021-01-06 23:03 ` Ricardo Wurmus
2021-12-17 13:29 ` Maxim Cournoyer

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).