guix-devel
[Top][All Lists]
Advanced

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

[PATCHES] Add cogl, clutter, clutter-gtk, and clutter-gst


From: Mark H Weaver
Subject: [PATCHES] Add cogl, clutter, clutter-gtk, and clutter-gst
Date: Sun, 21 Jun 2015 00:01:29 -0400

Hello Guix,

These patches add clutter and related libraries.  It is a prerequisite
for totem a.k.a. GNOME Videos, which I will be sending in a followup
email.  Comments and suggestions welcome.

      Mark


>From 888a56ec560bf8e623e37a238006cce4fe5a369c Mon Sep 17 00:00:00 2001
From: Mark H Weaver <address@hidden>
Date: Wed, 17 Jun 2015 02:28:43 -0400
Subject: [PATCH 1/5] licenses: Add the SGI Free Software License B, version
 2.0.

* guix/licenses.scm (sgifreeb2.0): New variable.
---
 guix/licenses.scm | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/guix/licenses.scm b/guix/licenses.scm
index 4804421..a036c8e 100644
--- a/guix/licenses.scm
+++ b/guix/licenses.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2012, 2014, 2015 Ludovic Courtès <address@hidden>
 ;;; Copyright © 2013, 2015 Andreas Enge <address@hidden>
 ;;; Copyright © 2012, 2013 Nikita Karetnikov <address@hidden>
+;;; Copyright © 2015 Mark H Weaver <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -51,6 +52,7 @@
             psfl public-domain
             qpl
             ruby
+            sgifreeb2.0
             silofl1.1
             vim
             x11 x11-style
@@ -318,6 +320,11 @@ at URI, which may be a file:// URI pointing the package's 
tree."
            "http://directory.fsf.org/wiki/License:Ruby";
            "https://www.ruby-lang.org/en/about/license.txt";))
 
+(define sgifreeb2.0
+  (license "SGI Free Software License B, version 2.0"
+           "http://directory.fsf.org/wiki/License:SGIFreeBv2";
+           "https://www.gnu.org/licenses/license-list.html#SGIFreeB";))
+
 (define silofl1.1
   (license "SIL OFL 1.1"
            "http://scripts.sil.org/OFL_web";
-- 
2.4.3

>From 7e4277f7021daa3101aa682bca181ed27885b60c Mon Sep 17 00:00:00 2001
From: Mark H Weaver <address@hidden>
Date: Wed, 17 Jun 2015 02:56:02 -0400
Subject: [PATCH 2/5] gnu: Add cogl.

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

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 21ca3a8..a1d9cda 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -8,6 +8,7 @@
 ;;; Copyright © 2015 Andy Wingo <address@hidden>
 ;;; Copyright © 2015 David Hashe <address@hidden>
 ;;; Copyright © 2015 Ricardo Wurmus <address@hidden>
+;;; Copyright © 2015 Mark H Weaver <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -71,6 +72,7 @@
   #: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)
@@ -2480,3 +2482,70 @@ which are easy to play with the aid of a mouse.")
 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 pathname 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 errors 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/
-- 
2.4.3

>From 8f42babb5ccd7e11ba05aaf32ae62b3bf31f1bc7 Mon Sep 17 00:00:00 2001
From: Mark H Weaver <address@hidden>
Date: Sat, 20 Jun 2015 17:48:11 -0400
Subject: [PATCH 3/5] gnu: Add clutter.

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

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index a1d9cda..075be90 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -66,6 +66,7 @@
   #: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)
@@ -2549,3 +2550,49 @@ without stepping on each others toes.")
                    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+)))
-- 
2.4.3

>From 9e5b77a487fbea13c07685e2123184b665fc7c39 Mon Sep 17 00:00:00 2001
From: Mark H Weaver <address@hidden>
Date: Sat, 20 Jun 2015 18:49:03 -0400
Subject: [PATCH 4/5] gnu: Add clutter-gtk.

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

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 075be90..adcee3d 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2596,3 +2596,31 @@ without stepping on each others toes.")
 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+)))
-- 
2.4.3

>From 6fdf1635b83033a07b881e80249e8b77db1dde69 Mon Sep 17 00:00:00 2001
From: Mark H Weaver <address@hidden>
Date: Sat, 20 Jun 2015 18:56:42 -0400
Subject: [PATCH 5/5] gnu: Add clutter-gst.

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

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index adcee3d..b3dbbe2 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2624,3 +2624,33 @@ presentations, kiosk style applications and so on.")
 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 "Open GL based interactive canvas library GStreamer elements")
+    (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+)))
-- 
2.4.3


reply via email to

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