@Danny

Please find the attached patches.

Regards,
RG.
From daaf04cbc2a1c9ad894fbe788e4089593d287c84 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgurura...@disroot.org>
Date: Fri, 29 May 2020 05:33:21 -0400
Subject: [PATCH 1/4] gnu: clutter: Update package definition.

* gnu/packages/gnome.scm (clutter) [version]: Update to 1.26.4.
[build-system]: Change from gnu to meson.
[arguments]<#:glib-or-gtk?>: New argument.
<#:tests?>: Remove argument.
<#:configure-flags>[-Dwayland_compositor]: New flag.
[--with-html-dir]: Remove flag.
<#:phases>['patch-docbook-xml]: New phase.
['patch-docbook-examples]: New phase.
['move-doc]: New phase.
['pre-check]: New phase.
[native-inputs]: Add docbook-xml, docbook-xsl, gtk-doc, perl, ruby and
xorg-server.
[inputs]: Remove eudev and libxkbcommon.
[propagated-inputs]: Add gdk-pixbuf+svg, eudev, libgudev, libinput,
libx11, libxi, libxkbcommon, pango and wayland. Remove xinput.
[home-page]: Change from http to https.
[license]: Update to lgpl2.1+.
---
 gnu/packages/gnome.scm | 108 ++++++++++++++++++++++++++++-------------
 1 file changed, 74 insertions(+), 34 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index df29ba0000..6608f8228b 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4779,57 +4779,97 @@ without stepping on each others toes.")
 (define-public clutter
   (package
     (name "clutter")
-    (version "1.26.2")
+    (version "1.26.4")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://gnome/sources/" name "/"
-                           (version-major+minor version) "/"
-                           name "-" version ".tar.xz"))
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version) "/"
+                       name "-" version ".tar.xz"))
        (sha256
-        (base32
-         "0mif1qnrpkgxi43h7pimim6w6zwywa16ixcliw0yjm9hk0a368z7"))))
+        (base32 "1rn4cd1an6a9dfda884aqpcwcgq8dgydpqvb19nmagw4b70zlj4b"))))
     ;; NOTE: mutter exports a bundled fork of clutter, so when making changes
     ;; to clutter, corresponding changes may be appropriate in mutter as well.
-    (build-system gnu-build-system)
-    (outputs '("out"
-               "doc"))                            ;9 MiB of gtk-doc HTML pages
+    (build-system meson-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:glib-or-gtk? #t    ; To wrap binaries and/or compile schemas.
+       #:configure-flags
+       (list
+        "-Dwayland_compositor=true")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let* ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
+                                           "/xml/dtd/docbook")))
+               (substitute* "doc/reference/clutter-docs.xml"
+                 (("http://.*/docbookx\\.dtd";)
+                  (string-append xmldoc "/docbookx.dtd")))
+               #t)))
+         (add-after 'unpack 'patch-cookbook-examples
+           (lambda _
+             (substitute* "doc/cookbook/meson.build"
+               (("subdir\\('examples'\\)")
+                ""))
+             #t))
+         (add-after 'install 'move-doc
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (assoc-ref outputs "doc")))
+               (mkdir-p (string-append doc "/share"))
+               (rename-file
+                (string-append out "/share/gtk-doc")
+                (string-append doc "/share/gtk-doc"))
+               #t)))
+         (add-before 'check 'pre-check
+           (lambda* (#:key tests? inputs #:allow-other-keys)
+             (if tests?
+                 (begin
+                   ;; The test suite requires a running X server.
+                   (system (format #f "~a/bin/Xvfb :1 +extension GLX &"
+                                   (assoc-ref inputs "xorg-server")))
+                   (setenv "DISPLAY" ":1")
+                   #t)
+                 (format #t "test suite not run~%"))
+             #t)))))
     (native-inputs
-     `(("glib:bin" ,glib "bin")     ; for glib-genmarshal
+     `(("docbook-xml" ,docbook-xml-4.3)
+       ("docbook-xsl" ,docbook-xsl)
+       ("glib:bin" ,glib "bin")
        ("gobject-introspection" ,gobject-introspection)
+       ("gtk-doc" ,gtk-doc)
+       ("libxslt" ,libxslt)
+       ("perl" ,perl)
        ("pkg-config" ,pkg-config)
-       ("xsltproc" ,libxslt)))
+       ("ruby" ,ruby)
+       ("xorg-server" ,xorg-server-for-tests)))
     (propagated-inputs
-     `(("cogl" ,cogl)
+     `(("atk" ,atk)
+       ("cogl" ,cogl)
        ("cairo" ,cairo)
-       ("atk" ,atk)
+       ("eudev" ,eudev)
+       ("gdk-pixbuf+svg" ,gdk-pixbuf+svg)
+       ("glib" ,glib)
        ("gtk+" ,gtk+)
        ("json-glib" ,json-glib)
-       ("glib" ,glib)
+       ("libgudev" ,libgudev)
+       ("libinput" ,libinput)
+       ("libx11" ,libx11)
        ("libxcomposite" ,libxcomposite)
        ("libxdamage" ,libxdamage)
        ("libxext" ,libxext)
-       ("xinput" ,xinput)))
-    (inputs
-     `(("libxkbcommon" ,libxkbcommon)
-       ("udev" ,eudev)))
-    (arguments
-     `(#:configure-flags (list "--enable-x11-backend=yes"
-
-                               ;; This produces share/doc/{clutter,cally}.
-                               (string-append "--with-html-dir="
-                                              (assoc-ref %outputs "doc")
-                                              "/share/doc"))
-       ;; 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";)
+       ("libxi" ,libxi)
+       ("libxkbcommon" ,libxkbcommon)
+       ("pango" ,pango)
+       ("wayland" ,wayland)))
     (synopsis "OpenGL-based interactive canvas library")
-    (description
-     "Clutter is an OpenGL-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+)))
+    (description "Clutter is an OpenGL-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.")
+    (home-page "https://www.clutter-project.org";)
+    (license license:lgpl2.1+)))
 
 (define-public clutter-gtk
   (package
-- 
2.26.2

From d9ea6caf006819bc89b778a071b0ca46ea4b6d5e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgurura...@disroot.org>
Date: Fri, 29 May 2020 10:01:08 -0400
Subject: [PATCH 2/4] gnu: clutter-gtk: Update package definition.

* gnu/packages/gnome.scm (clutter-gtk): Update package definition.
[build-system]: Change from gnu to meson.
[arguments]<#:glib-or-gtk?>: New argument.
<#:configure-flags>[-Denable_docs]: New flag.
<#:phases>['patch-docbook-xml]: New phase.
['move-doc]: New phase.
[native-inputs]: Add docbook-xml, gettext and gtk-doc.
[synopsis]: Modify.
[description]: Modify.
[home-page]: Change from http to https.
[license]: Update to lgpl2.1+.
---
 gnu/packages/gnome.scm | 57 +++++++++++++++++++++++++++++++-----------
 1 file changed, 43 insertions(+), 14 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 6608f8228b..d2454901e2 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4878,27 +4878,56 @@ box UIs, presentations, kiosk style applications and so on.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://gnome/sources/" name "/"
-                           (version-major+minor version) "/"
-                           name "-" version ".tar.xz"))
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version) "/"
+                       name "-" version ".tar.xz"))
        (sha256
         (base32
          "01ibniy4ich0fgpam53q252idm7f4fn5xg5qvizcfww90gn9652j"))))
-    (build-system gnu-build-system)
+    (build-system meson-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:glib-or-gtk? #t    ; To wrap binaries and/or compile schemas.
+       #:configure-flags
+       (list
+        "-Denable_docs=true")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let* ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
+                                           "/xml/dtd/docbook")))
+               (substitute* "doc/clutter-gtk-1.0-docs.xml"
+                 (("http://.*/docbookx\\.dtd";)
+                  (string-append xmldoc "/docbookx.dtd")))
+               #t)))
+         (add-after 'install 'move-doc
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (assoc-ref outputs "doc")))
+               (mkdir-p (string-append doc "/share"))
+               (rename-file
+                (string-append out "/share/gtk-doc")
+                (string-append doc "/share/gtk-doc"))
+               #t))))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("gobject-introspection" ,gobject-introspection)))
+     `(("docbook-xml" ,docbook-xml-4.3)
+       ("gettext" ,gettext-minimal)
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk-doc" ,gtk-doc)
+       ("pkg-config" ,pkg-config)))
     (propagated-inputs
-     ;; clutter-gtk.pc refers to all these.
      `(("clutter" ,clutter)
        ("gtk+" ,gtk+)))
-    (home-page "http://www.clutter-project.org";)
-    (synopsis "OpenGL-based interactive canvas library GTK+ widget")
-    (description
-     "Clutter is an OpenGL-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+)))
+    (synopsis "GTK+ integration library for Clutter")
+    (description "Clutter-GTK is a library providing facilities to integrate
+Clutter into GTK+ applications and vice versa.  It provides a GTK+ widget,
+GtkClutterEmbed, for embedding the a Clutter stage into any GtkContainer; and
+GtkClutterActor, a Clutter actor for embedding any GtkWidget inside a Clutter
+stage.")
+    (home-page "https://www.clutter-project.org";)
+    (license license:lgpl2.1+)))
 
 (define-public clutter-gst
   (package
-- 
2.26.2

From f8b35fa9f6e21a2d04f3449762fe9fd5a8fbc180 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgurura...@disroot.org>
Date: Fri, 29 May 2020 10:51:27 -0400
Subject: [PATCH 3/4] gnu: clutter-gst: Update package definition.

* gnu/packages/gnome.scm (clutter-gst): Update package definition.
[build-system]: Change from gnu to glib-or-gtk.
[outputs]: New output 'doc'.
[arguments]<#:configure-flags>[--enable-gtk-doc]: New flag.
<#:phases>['patch-docbook-xml]: New phase.
['move-doc]: New phase.
[native-inputs]: Add docbook-xml, gtk-doc and python-wrapper.
[propagated-inputs]: Add cogl and glib.
[synopsis]: Modify.
[description]: Modify.
[home-page]: Change from http to https.
[license]: Update to lgpl2.1+.
---
 gnu/packages/gnome.scm | 58 +++++++++++++++++++++++++++++++-----------
 1 file changed, 43 insertions(+), 15 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index d2454901e2..54e1c940c6 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4936,28 +4936,56 @@ stage.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://gnome/sources/clutter-gst/"
-                           (version-major+minor version) "/"
-                           "clutter-gst-" version ".tar.xz"))
+       (uri
+        (string-append "mirror://gnome/sources/clutter-gst/"
+                       (version-major+minor version) "/"
+                       "clutter-gst-" version ".tar.xz"))
        (sha256
         (base32 "17czmpl92dzi4h3rn5rishk015yi3jwiw29zv8qan94xcmnbssgy"))))
-    (build-system gnu-build-system)
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:configure-flags
+       (list
+        "--enable-gtk-doc")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let* ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
+                                           "/xml/dtd/docbook")))
+               (substitute* "doc/reference/clutter-gst-docs.xml"
+                 (("http://.*/docbookx\\.dtd";)
+                  (string-append xmldoc "/docbookx.dtd")))
+               #t)))
+         (add-after 'install 'move-doc
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (assoc-ref outputs "doc")))
+               (mkdir-p (string-append doc "/share"))
+               (rename-file
+                (string-append out "/share/gtk-doc")
+                (string-append doc "/share/gtk-doc"))
+               #t))))))
     (native-inputs
-     `(("glib:bin" ,glib "bin")         ; for glib-mkenums
+     `(("docbook-xml" ,docbook-xml-4.1.2)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk-doc" ,gtk-doc)
        ("pkg-config" ,pkg-config)
-       ("gobject-introspection" ,gobject-introspection)))
-    (inputs
+       ("python-wrapper" ,python-wrapper)))
+    (propagated-inputs
      `(("clutter" ,clutter)
+       ("cogl" ,cogl)
+       ("glib" ,glib)
        ("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
-OpenGL-based interactive canvas library.")
-    (license license:lgpl2.0+)))
+    (synopsis "GStreamer integration library for 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.")
+    (home-page "https://www.clutter-project.org";)
+    (license license:lgpl2.1+)))
 
 (define-public libchamplain
   (package
-- 
2.26.2

From 475694aadd6cf2b6d1c4cbb058784e79ee9fb8eb Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgurura...@disroot.org>
Date: Fri, 29 May 2020 16:43:44 -0400
Subject: [PATCH 4/4] gnu: cogl: Update package definition.

* gnu/packages/gnome.scm (cogl): Update package definition.
[build-system]: Change from gnu to glib-or-gtk.
[outputs]: New output 'doc'.
[arguments]<#:configure-flags>[--enable-sdl2]: New flag.
[--enable-gtk-doc]: New flag.
[--with-html-dir]: New flag.
<#:phases>['patch-docbook-xml]: New phase.
[native-inputs]: Add docbook-xml, gettext, gtk-doc and  python-wrapper.
[inputs]: Add libdrm and sdl2. Remove mesa, cairo, pango, gstreamer,
gst-plugins-base and wayland.
[propagated-inputs]: Add cairo, gstreamer, gst-plugins-base, mesa
and wayland.
[synopsis]: Modify.
---
 gnu/packages/gnome.scm | 124 +++++++++++++++++++++++++----------------
 1 file changed, 76 insertions(+), 48 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 54e1c940c6..93b3d64052 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -161,6 +161,7 @@
   #:use-module (gnu packages rust)
   #:use-module (gnu packages samba)
   #:use-module (gnu packages scanner)
+  #:use-module (gnu packages sdl)
   #:use-module (gnu packages selinux)
   #:use-module (gnu packages slang)
   #:use-module (gnu packages speech)
@@ -4711,70 +4712,97 @@ throughout GNOME for API documentation).")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://gnome/sources/cogl/"
-                           (version-major+minor version) "/"
-                           "cogl-" version ".tar.xz"))
+       (uri
+        (string-append "mirror://gnome/sources/cogl/"
+                       (version-major+minor version) "/"
+                       "cogl-" version ".tar.xz"))
        (sha256
         (base32 "0x8v4n61q89qy27v824bqswpz6bmn801403w2q3pa1lcwk9ln4vd"))))
     ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to
     ;; cogl, corresponding changes may be appropriate in mutter as well.
-    (build-system gnu-build-system)
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:disallowed-references (,xorg-server-for-tests)
+       #:configure-flags
+       (list
+        "--enable-cogl-gst"
+        "--enable-sdl2"
+        "--enable-wayland-egl-platform"
+        "--enable-wayland-egl-server"
+        "--enable-gtk-doc"
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html")
+        (string-append "--with-gl-libname="
+                       (assoc-ref %build-inputs "mesa")
+                       "/lib/libGL.so"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let* ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
+                                           "/xml/dtd/docbook")))
+               (with-directory-excursion "doc/reference"
+                 (substitute*
+                     '("cogl/cogl-docs.xml.in"
+                       "cogl/blend-strings.xml"
+                       "cogl-gst/cogl-gst-docs.xml.in"
+                       "cogl-2.0-experimental/cogl-2.0-experimental-docs.xml.in"
+                       "cogl-2.0-experimental/blend-strings.xml")
+                   (("http://.*/docbookx\\.dtd";)
+                    (string-append xmldoc "/docbookx.dtd"))))
+               #t)))
+         (add-before 'check 'start-xorg-server
+           (lambda* (#:key tests? inputs #:allow-other-keys)
+             (if tests?
+                 (begin
+                   ;; The test suite requires a running X server.
+                   (system (format #f "~a/bin/Xvfb :1 +extension GLX &"
+                                   (assoc-ref inputs "xorg-server")))
+                   (setenv "DISPLAY" ":1")
+                   #t)
+                 (format #t "test suite not run~%"))
+             #t)))))
     (native-inputs
-     `(("glib:bin" ,glib "bin")     ; for glib-mkenums
+     `(("docbook-xml" ,docbook-xml-4.1.2)
+       ("gettext" ,gettext-minimal)
+       ("glib:bin" ,glib "bin")
        ("gobject-introspection" ,gobject-introspection)
+       ("gtk-doc" ,gtk-doc)
        ("xorg-server" ,xorg-server-for-tests)
-       ("pkg-config" ,pkg-config)))
+       ("pkg-config" ,pkg-config)
+       ("python-wrapper" ,python-wrapper)))
+    (inputs
+     `(("libdrm" ,libdrm)
+       ("sdl2" ,sdl2)))
     (propagated-inputs
-     `(("glib" ,glib)
-       ("gdk-pixbuf" ,gdk-pixbuf)
+     `(("cairo" ,cairo)
+       ("glib" ,glib)
+       ("gdk-pixbuf+svg" ,gdk-pixbuf+svg)
+       ("gstreamer" ,gstreamer)
+       ("gst-plugins-base" ,gst-plugins-base)
        ("libx11" ,libx11)
        ("libxext" ,libxext)
        ("libxfixes" ,libxfixes)
        ("libxdamage" ,libxdamage)
        ("libxcomposite" ,libxcomposite)
-       ("libxrandr" ,libxrandr)))
-    (inputs
-     `(("mesa" ,mesa)
-       ("cairo" ,cairo)
+       ("libxrandr" ,libxrandr)
+       ("mesa" ,mesa)
        ("pango" ,pango)
-       ("gstreamer" ,gstreamer)
-       ("gst-plugins-base" ,gst-plugins-base)
        ("wayland" ,wayland)))
-    (arguments
-     `(#:disallowed-references (,xorg-server-for-tests)
-       #:configure-flags (list "--enable-cogl-gst"
-                               "--enable-wayland-egl-platform"
-                               "--enable-wayland-egl-server"
-
-                               ;; 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"))
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'start-xorg-server
-                     (lambda* (#:key tests? inputs #:allow-other-keys)
-                       (if tests?
-                           (begin
-                             ;; The test suite requires a running X server.
-                             (system (format #f "~a/bin/Xvfb :1 +extension GLX &"
-                                             (assoc-ref inputs "xorg-server")))
-                             (setenv "DISPLAY" ":1")
-                             #t)
-                           (format #t "test suite not run~%"))
-                       #t)))))
+    (synopsis "Hardware accelerated 3D graphics API")
+    (description "Cogl is a small library for using 3D graphics hardware for
+rendering.  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.")
     (home-page "https://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/
+    (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
-- 
2.26.2

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to