summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
author宋文武 <iyzsong@gmail.com>2015-11-10 16:57:08 +0800
committer宋文武 <iyzsong@gmail.com>2015-11-12 14:21:30 +0800
commitbd7dfafaa37fa26d47ac2d681b3b1a278663e9e2 (patch)
tree4b743790c3fab07d5957bc6775bb6679f0a3ea9d /gnu
parentdf217748e1de2d6399a50e7c0ff2367aee265fef (diff)
gnu: Add caribou.
* gnu/packages/gnome.scm (caribou): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/gnome.scm65
1 files changed, 65 insertions, 0 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 452fad91ab..8869b62629 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4002,3 +4002,68 @@ 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)))