;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages ssh)
#:use-module (gnu packages xml)
#:use-module (gnu packages gl)
+ #:use-module (gnu packages qt) ; for libxkbcommon
#:use-module (gnu packages compression)
#:use-module (gnu packages texlive)
#:use-module (gnu packages web)
#:use-module (gnu packages webkit)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xdisorg)
+ #:use-module (gnu packages freedesktop)
#:use-module (gnu packages mail)
#:use-module (gnu packages backup)
#:use-module (gnu packages nettle)
(native-inputs
`(("intltool" ,intltool)
("glib" ,glib "bin")
+ ("gobject-introspection" ,gobject-introspection)
("pkg-config" ,pkg-config)))
- (inputs
+ (propagated-inputs
`(("glib" ,glib)
("gmime" ,gmime)
- ("libarchive" ,libarchive)
+ ("libxml2" ,libxml2)))
+ (inputs
+ `(("libarchive" ,libarchive)
("libgcrypt" ,libgcrypt)
("nettle" ,nettle)
- ("libsoup" ,libsoup)
- ("libxml2" ,libxml2)))
+ ("libsoup" ,libsoup)))
(home-page "https://projects.gnome.org/totem")
(synopsis "Library to parse and save media playlists for GNOME")
(description "Totem-pl-parser is a GObjects-based library to parse and save
natively with GTK-Doc (the API reference system developed for GTK+ and used
throughout GNOME for API documentation).")
(license license:gpl2+)))
+
+(define-public cogl
+ (package
+ (name "cogl")
+ (version "1.20.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0aqrj7gc0x7v536vdycgn2i23fj3nx3qwdd3mwgx7rr9b14kb7kj"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("glib:bin" ,glib "bin") ; for glib-mkenums
+ ("gobject-introspection" ,gobject-introspection)
+ ;;("xorg-server" ,xorg-server) ; for the test suite
+ ("pkg-config" ,pkg-config)))
+ (propagated-inputs
+ `(("glib" ,glib)
+ ("gdk-pixbuf" ,gdk-pixbuf)
+ ("libx11" ,libx11)
+ ("libxext" ,libxext)
+ ("libxfixes" ,libxfixes)
+ ("libxdamage" ,libxdamage)
+ ("libxcomposite" ,libxcomposite)
+ ("libxrandr" ,libxrandr)))
+ (inputs
+ `(("mesa" ,mesa)
+ ("cairo" ,cairo)
+ ("pango" ,pango)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)))
+ (arguments
+ `(#:configure-flags (list "--enable-cogl-gst"
+ ;; Arrange to pass an absolute file name to
+ ;; dlopen for libGL.so.
+ (string-append "--with-gl-libname="
+ (assoc-ref %build-inputs "mesa")
+ "/lib/libGL.so"))
+ ;; XXX FIXME: All tests fail, with many warnings printed like this:
+ ;; _FontTransOpen: Unable to Parse address
+ ;; ${prefix}/share/fonts/X11/misc/
+ #:tests? #f
+ #; #:phases
+ #;
+ (modify-phases %standard-phases
+ (add-before 'check 'start-xorg-server
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; The test suite requires a running X server.
+ (system (format #f "~a/bin/Xvfb :1 &"
+ (assoc-ref inputs "xorg-server")))
+ (setenv "DISPLAY" ":1")
+ #t)))))
+ (home-page "http://www.cogl3d.org")
+ (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
+ (description
+ "Cogl is a small library for using 3D graphics hardware to draw pretty
+pictures. The API departs from the flat state machine style of OpenGL and is
+designed to make it easy to write orthogonal components that can render
+without stepping on each others toes.")
+ (license (list license:expat ; most of the code
+ license:bsd-3 ; cogl/cogl-point-in-poly.c
+ license:sgifreeb2.0 ; cogl-path/tesselator/
+ license:asl2.0)))) ; examples/android/
+
+(define-public clutter
+ (package
+ (name "clutter")
+ (version "1.22.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1b0ikh9q3c3qnny3kbvhqih35449q8ajcbh7zkm8k3kykwfx4scf"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("glib:bin" ,glib "bin") ; for glib-genmarshal
+ ("gobject-introspection" ,gobject-introspection)
+ ("pkg-config" ,pkg-config)
+ ("xsltproc" ,libxslt)))
+ (propagated-inputs
+ `(("cogl" ,cogl)
+ ("cairo" ,cairo)
+ ("atk" ,atk)
+ ("gtk+" ,gtk+)
+ ("json-glib" ,json-glib)
+ ("glib" ,glib)
+ ("libxcomposite" ,libxcomposite)
+ ("libxdamage" ,libxdamage)
+ ("libxext" ,libxext)
+ ("xinput" ,xinput)))
+ (inputs
+ `(("libxkbcommon" ,libxkbcommon)
+ ("udev" ,eudev)))
+ (arguments
+ `(#:configure-flags '("--enable-x11-backend=yes")
+ ;; XXX FIXME: Get test suite working. It would probably fail in the
+ ;; same way the cogl tests fail, since clutter is based on cogl.
+ #:tests? #f))
+ (home-page "http://www.clutter-project.org")
+ (synopsis "Open GL based interactive canvas library")
+ (description
+ "Clutter is an Open GL based interactive canvas library, designed for
+creating fast, mainly 2D single window applications such as media box UIs,
+presentations, kiosk style applications and so on.")
+ (license license:lgpl2.0+)))
+
+(define-public clutter-gtk
+ (package
+ (name "clutter-gtk")
+ (version "1.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0k93hbf5d1970hs7vjddr3nnngygc7mxqbj474r3cdm0fjsm0dc8"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("gobject-introspection" ,gobject-introspection)))
+ (inputs
+ `(("clutter" ,clutter)
+ ("gtk+" ,gtk+)))
+ (home-page "http://www.clutter-project.org")
+ (synopsis "Open GL based interactive canvas library GTK+ widget")
+ (description
+ "Clutter is an Open GL based interactive canvas library, designed for
+creating fast, mainly 2D single window applications such as media box UIs,
+presentations, kiosk style applications and so on.")
+ (license license:lgpl2.0+)))
+
+(define-public clutter-gst
+ (package
+ (name "clutter-gst")
+ (version "3.0.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0xnzfdzawl1kdx715gp31nwjp7a1kib094s7xvg7bhbwwlx4kmfn"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("glib:bin" ,glib "bin") ; for glib-mkenums
+ ("pkg-config" ,pkg-config)
+ ("gobject-introspection" ,gobject-introspection)))
+ (inputs
+ `(("clutter" ,clutter)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)))
+ (home-page "http://www.clutter-project.org")
+ (synopsis "Integration library for using GStreamer with Clutter")
+ (description
+ "Clutter-Gst is an integration library for using GStreamer with Clutter.
+It provides a GStreamer sink to upload frames to GL and an actor that
+implements the ClutterGstPlayer interface using playbin. Clutter is an Open
+GL based interactive canvas library.")
+ (license license:lgpl2.0+)))
+
+(define-public gom
+ (package
+ (name "gom")
+ (version "0.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1x9qgviszzh59d009jd13k0pdxzv9w4dmwp3wszbsk3qxr3fnlbr"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("intltool" ,intltool)
+ ("pkg-config" ,pkg-config)
+ ("gobject-introspection" ,gobject-introspection)))
+ (inputs
+ `(("glib" ,glib)
+ ("gdk-pixbuf" ,gdk-pixbuf)
+ ("sqlite" ,sqlite)))
+ ;; XXX TODO: Figure out how to run the test suite.
+ (arguments `(#:tests? #f))
+ (home-page "https://wiki.gnome.org/Projects/Gom")
+ (synopsis "Object mapper from GObjects to SQLite")
+ (description
+ "Gom provides an object mapper from GObjects to SQLite. It helps you
+write applications that need to store structured data as well as make complex
+queries upon that data.")
+ (license license:lgpl2.1+)))
+
+(define-public gnome-klotski
+ (package
+ (name "gnome-klotski")
+ (version "3.16.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0a64935c7pp51jhaf29q9zlx3lamj7zrhyff7clvv0w8v1w6gpax"))))
+ (build-system glib-or-gtk-build-system)
+ (native-inputs
+ `(("desktop-file-utils" ,desktop-file-utils)
+ ("intltool" ,intltool)
+ ("itstool" ,itstool)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("gtk+" ,gtk+)
+ ("librsvg" ,librsvg)))
+ (home-page "https://wiki.gnome.org/Apps/Klotski")
+ (synopsis "Sliding block puzzles")
+ (description
+ "GNOME Klotski is a set of block sliding puzzles. The objective is to move
+the patterned block to the area bordered by green markers. To do so, you will
+need to slide other blocks out of the way. Complete each puzzle in as few moves
+as possible!")
+ (license license:gpl2+)))