summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
author宋文武 <iyzsong@gmail.com>2015-11-08 21:41:52 +0800
committer宋文武 <iyzsong@gmail.com>2015-11-08 21:46:31 +0800
commitf47ba77e5fe0c890c412953e1621ad63d1e6f3fe (patch)
treee6d2f52075a9e41669874c5ca7a5e8647c86e19d /gnu
parentcefdcb3801dad656c8b711979c16b34313d57dc7 (diff)
downloadguix-f47ba77e5fe0c890c412953e1621ad63d1e6f3fe.tar.gz
gnu: Add gjs.
* gnu/packages/gnome.scm (gjs): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/gnome.scm48
1 files changed, 48 insertions, 0 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 3030f1f949..3c3742770f 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -90,6 +90,7 @@
   #:use-module (gnu packages video)
   #:use-module (gnu packages cdrom)
   #:use-module (gnu packages samba)
+  #:use-module (gnu packages readline)
   #:use-module (srfi srfi-1))
 
 (define-public brasero
@@ -3714,3 +3715,50 @@ such as gzip tarballs.")
 configuration program to choose applications starting on login.")
     (home-page "https://wiki.gnome.org/Projects/SessionManagement")
     (license license:gpl2+)))
+
+(define-public gjs
+  (package
+    (name "gjs")
+    (version "1.44.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version) "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "106fgpr4y99sj68l72pnfa2za11ps4bn6p9z28fr79j7mpv61jc8"))
+              (modules '((guix build utils)))
+              (snippet '(substitute* "test/run-with-dbus"
+                          (("/bin/rm") "rm")))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-before
+          'check 'pre-check
+          (lambda _
+            ;; For the missing /etc/machine-id.
+            (setenv "DBUS_FATAL_WARNINGS" "0")
+            #t)))))
+    (native-inputs
+     `(("glib:bin" ,glib "bin")       ; for glib-compile-resources
+       ("pkg-config" ,pkg-config)
+       ("xmllint" ,libxml2)
+       ;; For testing
+       ("dbus-launch" ,dbus)
+       ("uuidgen" ,util-linux)
+       ("xvfb" ,xorg-server)))
+    (propagated-inputs
+     ;; These are all in the Requires.private field of gjs-1.0.pc.
+     `(("gobject-introspection" ,gobject-introspection)
+       ("mozjs" ,mozjs-24)))
+    (inputs
+     `(("gtk+" ,gtk+)
+       ("readline" ,readline)))
+    (synopsis "Javascript bindings for GNOME")
+    (home-page "http://live.gnome.org/Gjs")
+    (description
+     "Gjs is a javascript binding for GNOME.  It's mainly based on spidermonkey
+javascript engine and the GObject introspection framework.")
+    (license license:gpl2+)))