guix_mirror_bot pushed a commit to branch gnome-team
in repository guix.

commit d16524148934762640984b1a8a1b4a2c999262cf
Author: Liliana Marie Prikler <[email protected]>
AuthorDate: Fri Sep 26 18:06:04 2025 +0200

    gnu: Add cjs.
    
    * gnu/packages/cinnamon.scm (cjs): New variable.
---
 gnu/packages/cinnamon.scm | 68 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 68 insertions(+)

diff --git a/gnu/packages/cinnamon.scm b/gnu/packages/cinnamon.scm
index 2aa1ebdb6c..cd2d88975f 100644
--- a/gnu/packages/cinnamon.scm
+++ b/gnu/packages/cinnamon.scm
@@ -44,6 +44,7 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages iso-codes)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages pkg-config)
@@ -52,6 +53,7 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-build)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages readline)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg))
@@ -209,6 +211,72 @@ cross-DE solutions.")
 persist XApp settings windows using GSettings.")
     (license license:lgpl2.0+)))
 
+(define-public cjs
+  (package
+    (name "cjs")
+    (version "6.4.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/linuxmint/cjs";)
+                     (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0gll1pdf9fk9as3ir8klnrbg6008pcygvjyzpdqpi8qfp9d0hnfs"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  (substitute* "installed-tests/scripts/testCommandLine.sh"
+                    (("Valentín") "")
+                    (("☭") ""))))))
+    (build-system meson-build-system)
+    (arguments
+     '(#:configure-flags '("-Dinstalled_tests=false")
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'pre-check
+           (lambda _
+             ;; The test suite requires a running X server.
+             (system "Xvfb :1 &")
+             (setenv "DISPLAY" ":1")
+
+             ;; For the missing /etc/machine-id.
+             (setenv "DBUS_FATAL_WARNINGS" "0")))
+         (add-after 'install 'wrap-gi
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (wrap-program (string-append (assoc-ref outputs "out")
+                                          "/bin/cjs")
+               `("GI_TYPELIB_PATH" suffix
+                 (,(dirname
+                    (search-input-file
+                     inputs
+                     "lib/girepository-1.0/GObject-2.0.typelib"))
+                  ,(dirname
+                    (search-input-file
+                     inputs
+                     "lib/girepository-1.0/GIRepository-2.0.typelib"))))))))))
+    (native-inputs
+     (list `(,glib "bin")               ;for glib-compile-resources
+           pkg-config
+           libxml2
+           ;; For testing
+           dbus
+           dconf                        ;required to properly store settings
+           util-linux
+           xorg-server-for-tests))
+    (propagated-inputs
+     ;; These are all in the Requires.private field of gjs-1.0.pc.
+     ;; Check the version of mozjs required in meson.build.
+     (list cairo gobject-introspection mozjs-115))
+    (inputs
+     (list gtk+ readline))
+    (synopsis "Javascript bindings for Cinnamon")
+    (home-page "https://github.com/linuxmint/cjs/";)
+    (description
+     "CJS is a javascript binding for Cinnamon, forked from GJS.")
+    (license license:gpl2+)))
+
 (define-public cinnamon-desktop
   (package
     (name "cinnamon-desktop")

Reply via email to