guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 3/5] gnu: Add caribou.


From: 宋文武
Subject: [PATCH 3/5] gnu: Add caribou.
Date: Tue, 10 Nov 2015 20:51:35 +0800

* gnu/packages/gnome.scm (caribou): New variable.
---
 gnu/packages/gnome.scm | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 66 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 9e018d6..9f7b01f 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4003,3 +4003,69 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
 contacts, tasks, and calendar information.  It was originally developed for
 Evolution (hence the name), but is now used by other packages as well.")
     (license license:lgpl2.0)))
+
+(define-public caribou
+  (package
+    (name "caribou")
+    (version "0.4.19")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version) "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0i2s2xy9ami3wslam15cajhggpcsj4c70qm7qddcz52z9k0x02rg"))))
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-before
+          'build 'pre-build
+          (lambda* (#:key outputs #:allow-other-keys)
+            (let ((out (assoc-ref outputs "out")))
+              ;; Use absolute shared library path in Caribou-1.0.typelib.
+              (substitute* "libcaribou/Makefile"
+                (("--shared-library=libcaribou.so")
+                 (string-append "--shared-library="
+                                out "/lib/libcaribou.so")))
+              #t)))
+         (add-after
+          'install 'wrap-programs
+          (lambda* (#:key outputs #:allow-other-keys)
+            (let* ((out (assoc-ref outputs "out"))
+                   (python-path (getenv "PYTHONPATH"))
+                   (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
+              (for-each
+               (lambda (prog)
+                 (wrap-program prog
+                   `("PYTHONPATH"      ":" prefix (,python-path))
+                   `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
+               (list (string-append out "/bin/caribou-preferences")
+                     (string-append out "/libexec/antler-keyboard"))))
+            #t)))))
+    (native-inputs
+     `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
+       ("gobject-introspection" ,gobject-introspection)
+       ("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-2) ; incompatible with Python 3 (print syntax)
+       ("vala" ,vala)
+       ("xsltproc" ,libxslt)))
+    (propagated-inputs
+     ;; caribou-1.0.pc refers to all these.
+     `(("libgee" ,libgee)
+       ("libxklavier" ,libxklavier)
+       ("libxtst" ,libxtst)
+       ("gtk+" ,gtk+)))
+    (inputs
+     `(("clutter" ,clutter)
+       ("dconf" ,dconf)
+       ("gtk+-2" ,gtk+-2)
+       ("python-pygobject" ,python2-pygobject)))
+    (synopsis "Text entry and UI navigation application")
+    (home-page "https://wiki.gnome.org/Projects/Caribou";)
+    (description
+     "Caribou is an input assistive technology intended for switch and pointer
+users.")
+    (license license:lgpl2.1)))
-- 
2.5.0





reply via email to

[Prev in Thread] Current Thread [Next in Thread]