unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Raghav Gururajan <raghavgururajan@disroot.org>
To: Danny Milosavljevic <dannym@scratchpost.org>
Cc: guix-devel@gnu.org
Subject: Re: [OUTREACHY]: Integration of desktop environments into GNU Guix
Date: Sat, 18 Jul 2020 09:29:40 -0400	[thread overview]
Message-ID: <39b2d7bc-f9a4-b98e-2565-ddf542acead3@disroot.org> (raw)
In-Reply-To: <20200717143823.3db2405c@scratchpost.org>


[-- Attachment #1.1.1: Type: text/plain, Size: 8215 bytes --]

Hi Danny!

> Pushed to wip-desktop.

Thank you!

> Comments:
> 
> * Why is libcamera in (gnu packages networking)?  It sounds like it has digital camera libraries.

OOPS! It should have been in image.scm. I will move it.

> * libcamera:doc is not reproducible.

Ah! As you mentioned in XMPP Chat, it is probably caused by ".doctrees".
I will try to exclude them.

> * building zentiy has webkitgtk as dependencies.

Yeah, it was annoying. But zenity get some things from webkitgtk. May be
I will try to create webkitgtk-minimal, if time permits. :-)

@Danny

Please find attached patches.

@Others

Please find the following git log.

*** START ***

commit 3d97b5d2e1e836d3c2fc20241f84cf0f2e2bd6b8
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sat Jul 18 08:13:48 2020 -0400

    gnu: gtksourceviewmm: Update package definition.

    * gnu/packages/gtk.scm (gtksourceviewmm) [version]: Update to 3.21.3.
    [source]<origin>[sha256]: Modify base32.
    [build-system]: Change from gnu to glib-or-gtk.
    [outputs]: New output "doc".
    [arguments]<#:phases>['move-doc]: New phase.
    [native-inputs]: Add graphviz, doxygen, m4, mm-common, perl and
    libxslt.
    [propagated-inputs]: Change glibmm to glibmm-2.64.
    [synopsis]: Modify.
    [description]: Modify.
    [home-page]: Mofify.

commit 604e2adf2b4ebb2a015539bb38077ce9964803cc
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sat Jul 18 08:24:21 2020 -0400

    gnu: java-jakarta-oro: Update hash.

commit 5d3720a7a2b35b7864e8c88ee597030b249fa40c
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sat Jul 18 06:18:38 2020 -0400

    gnu: gtkmm-2: Update package definition.

    * gnu/packages/gtk.scm (gtkmm-2): Update package definition.
    [arguments]: Remove field.
    [native-inputs]: Remove field.
    [propagated-inputs]: Change; pangomm to pangomm-2.42, cairomm to
    cairomm-1.13 and glibmm to glibmm-2.64.

commit 5c9e355598d7b54763e0d7ee740cde2a4d80c11b
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sat Jul 18 06:12:32 2020 -0400

    gnu: gtkmm: Update package definition.

    * gnu/packages/gtk.scm (gtkmm): Update package definition.
    [build-system]: Change from gnu to glib-or-gtk.
    [outputs]: New output "doc".
    [arguments]<#:phases>['start-xvfb]: Remove phase.
    ['pre-check]: New phase.
    ['move-doc]: New phase.
    [native-inputs]: Add graphviz, doxygen, m4, mm-common, perl and
    libxslt.
    [propagated-inputs]: Change; pangomm to pangomm-2.42, cairomm to
    cairomm-1.13 and glibmm to glibmm-2.64.
    [synopsis]: Modify.
    [description]: Modify.
    [license]: Add gpl2+.

commit c8bff53d223af7c4fb2d90376879f971791e8f83
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sat Jul 18 04:42:20 2020 -0400

    gnu: Add pangomm-2.42.

    * gnu/packages/gtk.scm (pangomm-2.42): New variable.

commit 7ab0bd0bba2ba723f47dc699316fc8da127a5a81
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sat Jul 18 04:33:51 2020 -0400

    gnu: pangomm: Update package definition.

    * gnu/packages/gtk.scm (pangomm) [version]: Update to 2.43.2.
    [source]<origin>[sha256]: Modify base32.
    [build-system]: Change from gnu to glib-or-gtk.
    [outputs]: New output "doc".
    [arguments]<#:phases>['move-doc]: New phase.
    [native-inputs]: Add graphviz, doxygen, m4, mm-common, perl,
    python-wrapper and libxslt.
    [synopsis]: Modify.
    [description]: Modify.
    [license]: Add gpl2+.

commit e119693dc2ab384ac81155564ca1ef806beeccf9
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sat Jul 18 04:15:21 2020 -0400

    gnu: atkmm: Update package definition.

    * gnu/packages/gtk.scm (atkmm): Update package definition.
    [build-system]: Change from gnu to glib-or-gtk.
    [outputs]: Add new output "doc".
    [arguments]<#:phases>['move-doc]: New phase.
    [native-inputs]: Add graphviz, doxygen, m4, mm-common, perl and
    libxslt.
    [synopsis]: Modify.
    [description]: Modify.
    [home-page]: Modify.
    [license]: Add gpl2+.

commit eb5d57fb3e84ac057fcd47f13e794d5756e01d0a
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sat Jul 18 04:10:22 2020 -0400

    gnu: Add glibmm-2.64.

    *gnu/packages/glib.scm (glibmm-2.64): New variable.

commit 14bea287b96739498538bf4eaf838bca77a41901
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sat Jul 18 04:08:05 2020 -0400

    gnu: glibmm: Update package definition.

    * gnu/packages/glib.scm (glibmm) [version]: Update to 2.65.3.
    [source]<origin>[sha256]: Modify base32.
    [build-system]: Change from gnu to glib-or-gtk.
    [outputs]: New output "doc".
    [arguments]<#:tests?>: New argument.
    <#:phases>['move-doc]: New phase.
    [native-inputs]: Add graphviz, doxygen, gobject-introspection, m4,
    mm-common, perl, python-wrapper and libxslt.
    [synopsis]: Modify.
    [description]: Modify.
    [home-page]: Modify.
    [license]: Add gpl2+.

commit fd1f18145c9fdcd652b77d75d0c653c7d93ad352
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sat Jul 18 04:01:18 2020 -0400

    gnu: Add cairomm-1.13.

    * gnu/packages/gtk.scm (cairomm-1.13): New variable.

commit 611fc3418926e777d1572a192527ec6b22f24379
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sat Jul 18 03:49:41 2020 -0400

    gnu: cairomm: Update package definition.

    * gnu/packages/gtk.scm (cairomm) [version]: Update to 1.15.5.
    [source]<origin>[sha256]: Modify base32.
    [outputs]: New output "doc".
    [arguments]<#:configure-flags>[CXXFLAGS]: New flag.
    <#:phases>['move-doc]: New phase.
    [native-inputs]: Add graphviz, doxygen, perl and libxslt.
    [synopsis]: Modify.
    [description]: Modify.
    [home-page]: Modify.

commit 68133b1e431b661af8547b1b809b70d72ad093da
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sat Jul 18 03:48:11 2020 -0400

    gnu: Add libsigc++-2.

    * gnu/packages/glib.scm (libsigc++-2): New variable.

commit a827944c714cfa53a58b425d6797562d2877b2e9
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Fri Jul 17 16:07:56 2020 -0400

    gnu: libsigc++: Update package definition.

    * gnu/packages/glib.scm (libsigc++) [version]: Update to 3.0.3.
    [source]<origin>[sha256]: Modify base32.
    [outputs]: New output "doc".
    [arguments]<#:configure-flags>[--enable-benchmark]: New flag.
    [--with-boost]: New flag.
    [--with-boost-libdir]: New flag.
    <#:phases>['move-doc]: New phase.
    [native-inputs]: Add graphviz, doxygen, perl, python-wrapper and
    libxslt.
    [inputs]: Add boost.
    [synopsis]: Modify.
    [description]: Modify.

commit 7039c5ba0440c4555752143c1d943705c6b9537d
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Fri Jul 17 16:06:39 2020 -0400

    gnu: cairo: Update package definition.

    * gnu/packages/gtk.scm (cairo): Update package definition.
    [build-system]: Change from gnu to glib-or-gtk.
    [outputs]: New output "doc".
    [arguments]<#:configure-flags>[--with-html-dir]: New flag.
    [native-inputs]: Add gobject-introspection.
    [inputs]: Add libdrm. Remove xorgproto and zlib.
    [propagated-inputs]: Add libxcb.
    [synopsis]: Modify.
    [description]: Modify.
    [license]: Modify.

commit 9906abc57a6ec99d1c29ff54853eb181b9bb2c7f
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sat Jul 18 05:20:11 2020 -0400

    gnu: hplip: Update hash.

commit 8e8ea03fb867de5eb72ffdd9e3cc0d8423a74c33
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Fri Jul 17 16:06:09 2020 -0400

    gnu: pixman: Update package definition.

    * gnu/packages/xdisorg.scm (pixman) [version]: Update to 0.40.0.
    [source]<origin>[sha256]: Modify base32.
    [arguments]<#:configure-flags>[--enable-timers]: New flag.
    [--enable-gnuplot]: New flag.
    [synopsis]: Modify.
    [description]: Modify.
    [license]: Change from X11 to expat.

*** END ***

Regards,
RG.


[-- Attachment #1.1.2: 0001-gnu-pixman-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 2726 bytes --]

From 8e8ea03fb867de5eb72ffdd9e3cc0d8423a74c33 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 17 Jul 2020 16:06:09 -0400
Subject: [PATCH 01/17] gnu: pixman: Update package definition.

* gnu/packages/xdisorg.scm (pixman) [version]: Update to 0.40.0.
[source]<origin>[sha256]: Modify base32.
[arguments]<#:configure-flags>[--enable-timers]: New flag.
[--enable-gnuplot]: New flag.
[synopsis]: Modify.
[description]: Modify.
[license]: Change from X11 to expat.
---
 gnu/packages/xdisorg.scm | 42 ++++++++++++++++++++++------------------
 1 file changed, 23 insertions(+), 19 deletions(-)

diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 7cf8cc9a67..63a3b5df8d 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -467,30 +467,34 @@ following the mouse.")
 (define-public pixman
   (package
     (name "pixman")
-    (version "0.38.4")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://www.cairographics.org/releases/pixman-"
-                    version ".tar.gz"))
-              (sha256
-               (base32
-                "1ryxzdf048x7wsx4dlvrr1p00gzwfs7lybnhgc7ygbj0dvyxcrns"))
-              (patches (search-patches "pixman-CVE-2016-5296.patch"))))
+    (version "0.40.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append
+         "https://www.cairographics.org/releases/pixman-"
+         version ".tar.gz"))
+       (sha256
+        (base32 "1z13n96m7x91j25qq9wlkxsbq04wfwjhw66ir17frna06zn0s83d"))
+       (patches
+        (search-patches "pixman-CVE-2016-5296.patch"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:configure-flags '("--disable-static")))
-    (inputs
-     `(("libpng" ,libpng)
-       ("zlib" ,zlib)))
+     `(#:configure-flags
+       (list
+        "--disable-static"
+        "--enable-timers"
+        "--enable-gnuplot")))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("libpng" ,libpng)))
+    (synopsis "Image processing and manipulation library")
+    (description "Pixman is a library that provides low-level pixel manipulation
+features such as image compositing and trapezoid rasterization.")
     (home-page "http://www.pixman.org/")
-    (synopsis "Low-level pixel manipulation library")
-    (description "Pixman is a low-level software library for pixel
-manipulation, providing features such as image compositing and trapezoid
-rasterisation.")
-    (license license:x11)))
+    (license license:expat)))
 
 (define-public libdrm
   (package
-- 
2.27.0


[-- Attachment #1.1.3: 0002-gnu-hplip-Update-hash.patch --]
[-- Type: text/x-patch, Size: 976 bytes --]

From 9906abc57a6ec99d1c29ff54853eb181b9bb2c7f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 18 Jul 2020 05:20:11 -0400
Subject: [PATCH 02/17] gnu: hplip: Update hash.

---
 gnu/packages/cups.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index 8bfe96079c..281c2718e8 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -422,7 +422,7 @@ should only be used as part of the Guix cups-pk-helper service.")
                                   "/hplip-" version ".tar.gz"))
               (sha256
                (base32
-                "0rmk7i28mb0q66i5l9d0fq2j23dkhz5gx5g2xvi16ga0dnprcilp"))
+                "083w58wpvvm6sir6rf5dwx3r0rman9sv1zpl26chl0a88crjsjy6"))
               (modules '((guix build utils)))
               (patches (search-patches "hplip-remove-imageprocessor.patch"))
               (snippet
-- 
2.27.0


[-- Attachment #1.1.4: 0003-gnu-cairo-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 5668 bytes --]

From 7039c5ba0440c4555752143c1d943705c6b9537d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 17 Jul 2020 16:06:39 -0400
Subject: [PATCH 03/17] gnu: cairo: Update package definition.

* gnu/packages/gtk.scm (cairo): Update package definition.
[build-system]: Change from gnu to glib-or-gtk.
[outputs]: New output "doc".
[arguments]<#:configure-flags>[--with-html-dir]: New flag.
[native-inputs]: Add gobject-introspection.
[inputs]: Add libdrm. Remove xorgproto and zlib.
[propagated-inputs]: Add libxcb.
[synopsis]: Modify.
[description]: Modify.
[license]: Modify.
---
 gnu/packages/gtk.scm | 114 ++++++++++++++++++++++++-------------------
 1 file changed, 64 insertions(+), 50 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 50827320ee..ede663c2c0 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -131,57 +131,71 @@ accessibility tools have full access to view and control running applications.")
 
 (define-public cairo
   (package
-   (name "cairo")
-   (version "1.16.0")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "https://cairographics.org/releases/cairo-"
-                                version ".tar.xz"))
-            (sha256
-             (base32
-              "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
-   (build-system gnu-build-system)
-   (propagated-inputs
-    `(("fontconfig" ,fontconfig)
-      ("freetype" ,freetype)
-      ("glib" ,glib)
-      ("libpng" ,libpng)
-      ("libx11" ,libx11)
-      ("libxext" ,libxext)
-      ("libxrender" ,libxrender)
-      ("pixman" ,pixman)))
-   (inputs
-    `(("ghostscript" ,ghostscript)
-      ("libspectre" ,libspectre)
-      ("poppler" ,poppler)
-      ("xorgproto" ,xorgproto)
-      ("zlib" ,zlib)))
-   (native-inputs
-     `(("pkg-config" ,pkg-config)
-      ("python" ,python-wrapper)))
+    (name "cairo")
+    (version "1.16.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://cairographics.org/releases/cairo-"
+                       version ".tar.xz"))
+       (sha256
+        (base32 "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
     (arguments
-     `(#:tests? #f  ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
-       #:configure-flags '("--enable-tee"      ;needed for GNU Icecat
-                           "--enable-xml"      ;for cairo-xml support
-                           "--disable-static")))
-   (synopsis "2D graphics library")
-   (description
-    "Cairo is a 2D graphics library with support for multiple output devices.
-Currently supported output targets include the X Window System (via both
-Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file
-output.  Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.
-
-Cairo is designed to produce consistent output on all output media while
-taking advantage of display hardware acceleration when available
-eg. through the X Render Extension).
-
-The cairo API provides operations similar to the drawing operators of
-PostScript and PDF.  Operations in cairo including stroking and filling cubic
-Bézier splines, transforming and compositing translucent images, and
-antialiased text rendering.  All drawing operations can be transformed by any
-affine transformation (scale, rotation, shear, etc.).")
-   (license license:lgpl2.1) ; or Mozilla Public License 1.1
-   (home-page "https://cairographics.org/")))
+     `(#:tests? #f ; See http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
+       #:configure-flags
+       (list
+        "--disable-static"
+        ;; XXX: To be enabled.
+        ;; "--enable-gallium=yes"
+        ;; "--enable-gl=yes"
+        ;; " --enable-glesv2=yes"
+        ;; "--enable-glesv3=yes"
+        ;; "--enable-cogl=yes"
+        ;; "--enable-directfb=yes"
+        ;; "--enable-vg=yes"
+        "--enable-tee=yes"
+        "--enable-xml=yes"
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html"))))
+    (native-inputs
+     `(("gobject-introspection" ,gobject-introspection)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
+    (inputs
+     `(("drm" ,libdrm)
+       ("ghostscript" ,ghostscript)
+       ("libspectre" ,libspectre)
+       ("poppler" ,poppler)))
+    (propagated-inputs
+     `(;; ("cogl" ,cogl)
+       ;; ("directfb" ,directfb)
+       ("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("glib" ,glib)
+       ;; ("gtk+" ,gtk+)
+       ("libpng" ,libpng)
+       ;; ("librsvg" ,librsvg)
+       ;; ("opengl" ,mesa)
+       ("pixman" ,pixman)
+       ("x11" ,libx11)
+       ("xcb" ,libxcb)
+       ("xext" ,libxext)
+       ("xrender" ,libxrender)))
+    (synopsis "Multi-platform 2D graphics library")
+    (description "Cairo is a 2D graphics library with support for multiple output
+devices.  Currently supported output targets include the X Window System (via
+both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file
+output.  Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.")
+    (home-page "https://cairographics.org/")
+    (license
+     ;; This project is dual-licensed.
+     (list
+      license:lgpl2.1+
+      license:mpl1.1))))
 
 (define-public cairo-xcb
   (package
-- 
2.27.0


[-- Attachment #1.1.5: 0004-gnu-libsigc-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 4867 bytes --]

From a827944c714cfa53a58b425d6797562d2877b2e9 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 17 Jul 2020 16:07:56 -0400
Subject: [PATCH 04/17] gnu: libsigc++: Update package definition.

* gnu/packages/glib.scm (libsigc++) [version]: Update to 3.0.3.
[source]<origin>[sha256]: Modify base32.
[outputs]: New output "doc".
[arguments]<#:configure-flags>[--enable-benchmark]: New flag.
[--with-boost]: New flag.
[--with-boost-libdir]: New flag.
<#:phases>['move-doc]: New phase.
[native-inputs]: Add graphviz, doxygen, perl, python-wrapper and
libxslt.
[inputs]: Add boost.
[synopsis]: Modify.
[description]: Modify.
---
 gnu/packages/glib.scm | 72 ++++++++++++++++++++++++++++++-------------
 1 file changed, 51 insertions(+), 21 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 603f0306df..de570ee3f7 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -34,6 +34,7 @@
   #:use-module (gnu packages backup)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bison)
+  #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages docbook)
@@ -46,6 +47,7 @@
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gperf)
+  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages linux)
@@ -499,31 +501,59 @@ translated.")
 by GDBus included in Glib.")
     (license license:gpl2)))                     ; or Academic Free License 2.1
 
-(define libsigc++
+(define-public libsigc++
   (package
     (name "libsigc++")
-    (version "2.10.3")
-    (source (origin
-             (method url-fetch)
-             (uri (string-append "mirror://gnome/sources/libsigc++/"
-                                 (version-major+minor version) "/"
-                                 name "-" version ".tar.xz"))
-             (sha256
-              (base32
-               "11j7j1jv4z58d9s7jvl42fnqa1dzl4idgil9r45cjv1w673dys0b"))))
+    (version "3.0.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/libsigc++/"
+                       (version-major+minor version) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "1dpdqs3nxkxj43fnyx5467ym2s2bpk3cq8pvwi9y1nsbi5m8dx74"))))
     (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)
-                     ("m4" ,m4)))
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:configure-flags
+       (list
+        "--enable-benchmark=yes"
+        (string-append "--with-boost="
+                       (assoc-ref %build-inputs "boost"))
+        (string-append "--with-boost-libdir="
+                       (assoc-ref %build-inputs "boost")
+                       "/lib"))
+       #:phases
+       (modify-phases %standard-phases
+         (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/doc")
+                (string-append doc "/share/doc"))
+               #t))))))
+    (native-inputs
+     `(("dot" ,graphviz)
+       ("doxygen" ,doxygen)
+       ("m4" ,m4)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("xsltproc" ,libxslt)))
+    (inputs
+     `(("boost" ,boost)))
+    (synopsis "Callback Framework for C++")
+    (description "Libsigc++ implements a typesafe callback system for standard
+C++.  It allows you to define signals and to connect those signals to any
+callback function, either global or a member function, regardless of whether it
+is static or virtual.  It also contains adaptor classes for connection of
+dissimilar callbacks and has an ease of use unmatched by other C++ callback
+libraries.")
     (home-page "https://libsigcplusplus.github.io/libsigcplusplus/")
-    (synopsis "Type-safe callback system for standard C++")
-    (description
-     "Libsigc++ implements a type-safe callback system for standard C++.  It
-allows you to define signals and to connect those signals to any callback
-function, either global or a member function, regardless of whether it is
-static or virtual.
-
-It also contains adaptor classes for connection of dissimilar callbacks and
-has an ease of use unmatched by other C++ callback libraries.")
     (license license:lgpl2.1+)))
 
 (define glibmm
-- 
2.27.0


[-- Attachment #1.1.6: 0005-gnu-Add-libsigc-2.patch --]
[-- Type: text/x-patch, Size: 1182 bytes --]

From 68133b1e431b661af8547b1b809b70d72ad093da Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 18 Jul 2020 03:48:11 -0400
Subject: [PATCH 05/17] gnu: Add libsigc++-2.

* gnu/packages/glib.scm (libsigc++-2): New variable.
---
 gnu/packages/glib.scm | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index de570ee3f7..11c0b5471b 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -556,6 +556,21 @@ libraries.")
     (home-page "https://libsigcplusplus.github.io/libsigcplusplus/")
     (license license:lgpl2.1+)))
 
+(define-public libsigc++-2
+  (package
+    (inherit libsigc++)
+    (name "libsigc++")
+    (version "2.10.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/libsigc++/"
+                       (version-major+minor version) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "11j7j1jv4z58d9s7jvl42fnqa1dzl4idgil9r45cjv1w673dys0b"))))))
+
 (define glibmm
   (package
     (name "glibmm")
-- 
2.27.0


[-- Attachment #1.1.7: 0006-gnu-cairomm-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 4063 bytes --]

From 611fc3418926e777d1572a192527ec6b22f24379 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 18 Jul 2020 03:49:41 -0400
Subject: [PATCH 06/17] gnu: cairomm: Update package definition.

* gnu/packages/gtk.scm (cairomm) [version]: Update to 1.15.5.
[source]<origin>[sha256]: Modify base32.
[outputs]: New output "doc".
[arguments]<#:configure-flags>[CXXFLAGS]: New flag.
<#:phases>['move-doc]: New phase.
[native-inputs]: Add graphviz, doxygen, perl and libxslt.
[synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
---
 gnu/packages/gtk.scm | 59 +++++++++++++++++++++++++++++---------------
 1 file changed, 39 insertions(+), 20 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index ede663c2c0..1663b21fad 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -57,6 +57,7 @@
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages boost)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
@@ -72,6 +73,7 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages graphics)
+  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages groovy)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
@@ -1366,29 +1368,46 @@ guile-gnome-platform (GNOME developer libraries), and guile-gtksourceview.")
 (define-public cairomm
   (package
     (name "cairomm")
-    (version "1.12.2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://www.cairographics.org/releases/"
-                                  name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "16fmigxsaz85c3lgcls7biwyz8zy8c8h3jndfm54cxxas3a7zi25"))))
+    (version "1.15.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://www.cairographics.org/releases/"
+                       name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1lg3q5ixs6igd2b4674mq5i4w0il0d92bxri94mwdjkq8gs2kdld"))))
     (build-system gnu-build-system)
+    (outputs '("out" "doc"))
     (arguments
-     ;; The examples lack -lcairo.
-     '(#:make-flags '("LDFLAGS=-lcairo")))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+     `(#:configure-flags
+       (list
+        "CXXFLAGS=-std=c++17")
+       #:phases
+       (modify-phases %standard-phases
+         (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/doc")
+                (string-append doc "/share/doc"))
+               #t))))))
+    (native-inputs
+     `(("dot" ,graphviz)
+       ("doxygen" ,doxygen)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (propagated-inputs
-     `(("libsigc++" ,libsigc++)
-       ("freetype" ,freetype)
-       ("fontconfig" ,fontconfig)
-       ("cairo" ,cairo)))
-    (home-page "https://cairographics.org/")
-    (synopsis "C++ bindings to the Cairo 2D graphics library")
-    (description
-     "Cairomm provides a C++ programming interface to the Cairo 2D graphics
-library.")
+     `(("cairo" ,cairo)
+       ("sigc++" ,libsigc++)))
+    (synopsis "C++ API for Cairo")
+    (description "Cairomm is a C++ wrapper for the cairo graphics library.  It
+offers all the power of cairo with an interface familiar to C++ developers,
+including use of the Standard Template Library where it makes sense.")
+    (home-page "https://cairographics.org/cairomm/")
     (license license:lgpl2.0+)))
 
 (define-public pangomm
-- 
2.27.0


[-- Attachment #1.1.8: 0007-gnu-Add-cairomm-1.13.patch --]
[-- Type: text/x-patch, Size: 1263 bytes --]

From fd1f18145c9fdcd652b77d75d0c653c7d93ad352 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 18 Jul 2020 04:01:18 -0400
Subject: [PATCH 07/17] gnu: Add cairomm-1.13.

* gnu/packages/gtk.scm (cairomm-1.13): New variable.
---
 gnu/packages/gtk.scm | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 1663b21fad..5afe9303d4 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1410,6 +1410,23 @@ including use of the Standard Template Library where it makes sense.")
     (home-page "https://cairographics.org/cairomm/")
     (license license:lgpl2.0+)))
 
+(define-public cairomm-1.13
+  (package
+    (inherit cairomm)
+    (name "cairomm")
+    (version "1.13.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://www.cairographics.org/releases/"
+                       name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1xlfl0fm5mgv53lr8xjv2kqsk3bz67qkk6qzvbrqmbvbvvbqp9wp"))))
+    (propagated-inputs
+     `(("cairo" ,cairo)
+       ("sigc++" ,libsigc++-2)))))
+
 (define-public pangomm
   (package
     (name "pangomm")
-- 
2.27.0


[-- Attachment #1.1.9: 0008-gnu-glibmm-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 5492 bytes --]

From 14bea287b96739498538bf4eaf838bca77a41901 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 18 Jul 2020 04:08:05 -0400
Subject: [PATCH 08/17] gnu: glibmm: Update package definition.

* gnu/packages/glib.scm (glibmm) [version]: Update to 2.65.3.
[source]<origin>[sha256]: Modify base32.
[build-system]: Change from gnu to glib-or-gtk.
[outputs]: New output "doc".
[arguments]<#:tests?>: New argument.
<#:phases>['move-doc]: New phase.
[native-inputs]: Add graphviz, doxygen, gobject-introspection, m4,
mm-common, perl, python-wrapper and libxslt.
[synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
[license]: Add gpl2+.
---
 gnu/packages/glib.scm | 102 +++++++++++++++++++++++++-----------------
 1 file changed, 60 insertions(+), 42 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 11c0b5471b..9705d6a43d 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -64,6 +64,7 @@
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system meson)
   #:use-module (guix build-system perl)
@@ -558,7 +559,7 @@ libraries.")
 
 (define-public libsigc++-2
   (package
-    (inherit libsigc++)
+    (inherit libsigc++) 
     (name "libsigc++")
     (version "2.10.3")
     (source
@@ -571,48 +572,65 @@ libraries.")
        (sha256
         (base32 "11j7j1jv4z58d9s7jvl42fnqa1dzl4idgil9r45cjv1w673dys0b"))))))
 
-(define glibmm
-  (package
+ (define-public glibmm
+   (package
     (name "glibmm")
-    (version "2.62.0")
-    (source (origin
-             (method url-fetch)
-             (uri (string-append "mirror://gnome/sources/glibmm/"
-                                 (version-major+minor version)
-                                 "/glibmm-" version ".tar.xz"))
-             (sha256
-              (base32
-               "1ziwx6r7k7wbvg4qq1rgrv8zninapgrmhn1hs6926a3krh9ryr9n"))))
-    (build-system gnu-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'build 'pre-build
-           (lambda _
-             ;; This test uses /etc/fstab as an example file to read
-             ;; from; choose a better example.
-             (substitute* "tests/giomm_simple/main.cc"
-               (("/etc/fstab")
-                (string-append (getcwd)
-                               "/tests/giomm_simple/main.cc")))
-
-             ;; This test does a DNS lookup, and then expects to be able
-             ;; to open a TLS session; just skip it.
-             (substitute* "tests/giomm_tls_client/main.cc"
-               (("Gio::init.*$")
-                "return 77;\n"))
-             #t)))))
-    (native-inputs `(("pkg-config" ,pkg-config)
-                     ("glib" ,glib "bin")))
-    (propagated-inputs
-     `(("libsigc++" ,libsigc++)
-       ("glib" ,glib)))
-    (home-page "https://gtkmm.org/")
-    (synopsis "C++ interface to the GLib library")
-    (description
-     "Glibmm provides a C++ programming interface to the part of GLib that are
-useful for C++.")
-    (license license:lgpl2.1+)))
+    (version "2.65.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/glibmm/"
+                       (version-major+minor version)
+                       "/glibmm-" version ".tar.xz"))
+       (sha256
+        (base32 "1qk7kkr1xa6n3fdvf3f3p2wmj2haycb7mwhzqmdcrwplnz4qd3rz"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
+     (arguments
+     `(#:tests? #f                      ; XXX: Fix-me
+       #:phases
+        (modify-phases %standard-phases
+         ;; (add-after 'unpack 'disable-failing-tests
+         ;; (lambda _
+         ;; (substitute* "tests/Makefile.in"
+         ;; (("giomm_simple/test\$\\(EXEEXT\\) giomm_stream_vfuncs/test\$\\(EXEEXT\\) \\\\")
+         ;; "")
+         ;; (("giomm_tls_client/test\$\\(EXEEXT\\) giomm_listmodel/test\$\\(EXEEXT\\) \\\\")
+         ;; ""))
+         ;; #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/doc")
+                (string-append doc "/share/doc"))
+               #t))))))
+    (native-inputs
+     `(("dot" ,graphviz)
+       ("doxygen" ,doxygen)
+       ("glib" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("m4" ,m4)
+       ("mm-common" ,mm-common)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("xsltproc" ,libxslt)))
+     (propagated-inputs
+      `(("libsigc++" ,libsigc++)
+        ("glib" ,glib)))
+    (synopsis "C++ interface to the GLib")
+    (description "Glibmm is a C++ API for parts of glib that are useful for C++.")
+    (home-page "https://wiki.gnome.org/Projects/GLib")
+    (license
+     (list
+      ;; Libraries
+      license:lgpl2.1+
+      ;; Tools
+      license:gpl2+))))
 
 (define-public python2-pygobject-2
   (package
-- 
2.27.0


[-- Attachment #1.1.10: 0009-gnu-Add-glibmm-2.64.patch --]
[-- Type: text/x-patch, Size: 1233 bytes --]

From eb5d57fb3e84ac057fcd47f13e794d5756e01d0a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 18 Jul 2020 04:10:22 -0400
Subject: [PATCH 09/17] gnu: Add glibmm-2.64.

*gnu/packages/glib.scm (glibmm-2.64): New variable.
---
 gnu/packages/glib.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 9705d6a43d..17bd7ae835 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -632,6 +632,24 @@ libraries.")
       ;; Tools
       license:gpl2+))))
 
+ (define-public glibmm-2.64
+   (package
+    (inherit glibmm)
+    (name "glibmm")
+    (version "2.64.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/glibmm/"
+                       (version-major+minor version)
+                       "/glibmm-" version ".tar.xz"))
+       (sha256
+        (base32 "1v6lp23fr2qh4zshcnm28sn29j3nzgsvcqj2nhmrnvamipjq4lm7"))))
+     (propagated-inputs
+      `(("libsigc++" ,libsigc++-2)
+        ("glib" ,glib)))))
+
 (define-public python2-pygobject-2
   (package
     (name "python2-pygobject")
-- 
2.27.0


[-- Attachment #1.1.11: 0010-gnu-atkmm-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 3566 bytes --]

From e119693dc2ab384ac81155564ca1ef806beeccf9 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 18 Jul 2020 04:15:21 -0400
Subject: [PATCH 10/17] gnu: atkmm: Update package definition.

* gnu/packages/gtk.scm (atkmm): Update package definition.
[build-system]: Change from gnu to glib-or-gtk.
[outputs]: Add new output "doc".
[arguments]<#:phases>['move-doc]: New phase.
[native-inputs]: Add graphviz, doxygen, m4, mm-common, perl and
libxslt.
[synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
[license]: Add gpl2+.
---
 gnu/packages/gtk.scm | 60 +++++++++++++++++++++++++++++++-------------
 1 file changed, 43 insertions(+), 17 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 5afe9303d4..f10dad48f3 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -80,6 +80,7 @@
   #:use-module (gnu packages iso-codes)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages m4)
   #:use-module (gnu packages man)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
@@ -1457,24 +1458,49 @@ library.")
   (package
     (name "atkmm")
     (version "2.28.0")
-    (source (origin
-             (method url-fetch)
-             (uri (string-append "mirror://gnome/sources/" name "/"
-                                 (version-major+minor version)  "/"
-                                 name "-" version ".tar.xz"))
-             (sha256
-              (base32
-               "0fnxrspxkhhbrjphqrpvl3zjm66n50s4cywrrrwkhbflgy8zqk2c"))))
-    (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version)  "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0fnxrspxkhhbrjphqrpvl3zjm66n50s4cywrrrwkhbflgy8zqk2c"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (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/doc")
+                (string-append doc "/share/doc"))
+               #t))))))
+    (native-inputs
+     `(("dot" ,graphviz)
+       ("doxygen" ,doxygen)
+       ("m4" ,m4)
+       ("mm-common" ,mm-common)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (propagated-inputs
-     `(("glibmm" ,glibmm) ("atk" ,atk)))
-    (home-page "https://www.gtkmm.org")
-    (synopsis "C++ interface to the ATK accessibility library")
-    (description
-     "ATKmm provides a C++ programming interface to the ATK accessibility
-toolkit.")
-    (license license:lgpl2.1+)))
+     `(("atk" ,atk)
+       ("glibmm" ,glibmm-2.64)))
+    (synopsis "C++ bindings for ATK")
+    (description "ATKmm is the C++ binding for the ATK library.")
+    (home-page "https://wiki.gnome.org/Accessibility")
+    (license
+     (list
+      ;; Library
+      license:lgpl2.1+
+      ;; Tools
+      license:gpl2+))))
 
 (define-public gtkmm
   (package
-- 
2.27.0


[-- Attachment #1.1.12: 0011-gnu-pangomm-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 3516 bytes --]

From 7ab0bd0bba2ba723f47dc699316fc8da127a5a81 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 18 Jul 2020 04:33:51 -0400
Subject: [PATCH 11/17] gnu: pangomm: Update package definition.

* gnu/packages/gtk.scm (pangomm) [version]: Update to 2.43.2.
[source]<origin>[sha256]: Modify base32.
[build-system]: Change from gnu to glib-or-gtk.
[outputs]: New output "doc".
[arguments]<#:phases>['move-doc]: New phase.
[native-inputs]: Add graphviz, doxygen, m4, mm-common, perl,
python-wrapper and libxslt.
[synopsis]: Modify.
[description]: Modify.
[license]: Add gpl2+.
---
 gnu/packages/gtk.scm | 61 +++++++++++++++++++++++++++++++-------------
 1 file changed, 43 insertions(+), 18 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index f10dad48f3..4e92fb6623 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1431,28 +1431,53 @@ including use of the Standard Template Library where it makes sense.")
 (define-public pangomm
   (package
     (name "pangomm")
-    (version "2.42.0")
-    (source (origin
-             (method url-fetch)
-             (uri (string-append "mirror://gnome/sources/" name "/"
-                                 (version-major+minor version)  "/"
-                                 name "-" version ".tar.xz"))
-             (sha256
-              (base32
-               "0mmzxp3wniaafkxr30sb22mq9x44xckb5d60h1bl99lkzxks0vfa"))))
-    (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (version "2.43.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version)  "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "1yin5b7hfvz0qdfxgnlk6kclyfhcv0fz10kjsgai59zv0v6g6kbr"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (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/doc")
+                (string-append doc "/share/doc"))
+               #t))))))
+    (native-inputs
+     `(("dot" ,graphviz)
+       ("doxygen" ,doxygen)
+       ("m4" ,m4)
+       ("mm-common" ,mm-common)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("xsltproc" ,libxslt)))
     (propagated-inputs
-     `(("cairo" ,cairo)
-       ("cairomm" ,cairomm)
+     `(("cairomm" ,cairomm)
        ("glibmm" ,glibmm)
        ("pango" ,pango)))
-    (home-page "https://pango.gnome.org//")
-    (synopsis "C++ interface to the Pango text rendering library")
-    (description
-     "Pangomm provides a C++ programming interface to the Pango text rendering
+    (synopsis "C++ API for Pango")
+    (description "Pangomm is the C++ interface for the Pango font layout
 library.")
-    (license license:lgpl2.1+)))
+    (home-page "https://pango.gnome.org//")
+    (license
+     (list
+      ;; Library
+      license:lgpl2.1+
+      ;; Tools
+      license:gpl2+))))
 
 (define-public atkmm
   (package
-- 
2.27.0


[-- Attachment #1.1.13: 0012-gnu-Add-pangomm-2.42.patch --]
[-- Type: text/x-patch, Size: 1242 bytes --]

From c8bff53d223af7c4fb2d90376879f971791e8f83 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 18 Jul 2020 04:42:20 -0400
Subject: [PATCH 12/17] gnu: Add pangomm-2.42.

* gnu/packages/gtk.scm (pangomm-2.42): New variable.
---
 gnu/packages/gtk.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 4e92fb6623..a686e4cd71 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1479,6 +1479,25 @@ library.")
       ;; Tools
       license:gpl2+))))
 
+(define-public pangomm-2.42
+  (package
+    (inherit pangomm)
+    (name "pangomm")
+    (version "2.42.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version)  "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "03zli5amizhv9bfklwfq7xyf0b5dagchx1lnz9f0v1rhk69h9gql"))))
+    (propagated-inputs
+     `(("cairomm" ,cairomm-1.13)
+       ("glibmm" ,glibmm-2.64)
+       ("pango" ,pango)))))
+
 (define-public atkmm
   (package
     (name "atkmm")
-- 
2.27.0


[-- Attachment #1.1.14: 0013-gnu-gtkmm-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 5477 bytes --]

From 5c9e355598d7b54763e0d7ee740cde2a4d80c11b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 18 Jul 2020 06:12:32 -0400
Subject: [PATCH 13/17] gnu: gtkmm: Update package definition.

* gnu/packages/gtk.scm (gtkmm): Update package definition.
[build-system]: Change from gnu to glib-or-gtk.
[outputs]: New output "doc".
[arguments]<#:phases>['start-xvfb]: Remove phase.
['pre-check]: New phase.
['move-doc]: New phase.
[native-inputs]: Add graphviz, doxygen, m4, mm-common, perl and
libxslt.
[propagated-inputs]: Change; pangomm to pangomm-2.42, cairomm to
cairomm-1.13 and glibmm to glibmm-2.64.
[synopsis]: Modify.
[description]: Modify.
[license]: Add gpl2+.
---
 gnu/packages/gtk.scm | 96 ++++++++++++++++++++++++++------------------
 1 file changed, 57 insertions(+), 39 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index a686e4cd71..aa4d7deb04 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1550,48 +1550,66 @@ library.")
   (package
     (name "gtkmm")
     (version "3.24.2")
-    (source (origin
-             (method url-fetch)
-             (uri (string-append "mirror://gnome/sources/" name "/"
-                                 (version-major+minor version)  "/"
-                                 name "-" version ".tar.xz"))
-             (sha256
-              (base32
-               "1hxdnhavjyvbcpxhd5z17l9fj4182028s66lc0s16qqqrldhjwbd"))))
-    (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)
-                     ("glib" ,glib "bin")        ;for 'glib-compile-resources'
-                     ("xorg-server" ,xorg-server-for-tests)))
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version)  "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "1hxdnhavjyvbcpxhd5z17l9fj4182028s66lc0s16qqqrldhjwbd"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'pre-check
+           (lambda _
+             ;; Tests require a running X server.
+             (system "Xvfb :1 +extension GLX &")
+             (setenv "DISPLAY" ":1")
+             ;; For missing '/etc/machine-id'.
+             (setenv "DBUS_FATAL_WARNINGS" "0")
+             #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/doc")
+                (string-append doc "/share/doc"))
+               #t))))))
+    (native-inputs
+     `(("dot" ,graphviz)
+       ("doxygen" ,doxygen)
+       ("m4" ,m4)
+       ("mm-common" ,mm-common)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)
+       ("xorg-server" ,xorg-server-for-tests)))
     (propagated-inputs
-     `(("pangomm" ,pangomm)
-       ("cairomm" ,cairomm)
-       ("atkmm" ,atkmm)
+     `(("atkmm" ,atkmm)
+       ("cairomm" ,cairomm-1.13)
+       ("glibmm" ,glibmm-2.64)
        ("gtk+" ,gtk+)
-       ("glibmm" ,glibmm)))
-    (arguments
-     `(#:disallowed-references (,xorg-server-for-tests)
-       #:phases (modify-phases %standard-phases
-                  (add-before 'check 'run-xvfb
-                    (lambda* (#:key inputs #:allow-other-keys)
-                      (let ((xorg-server (assoc-ref inputs "xorg-server")))
-                        ;; Tests such as 'object_move/test' require a running
-                        ;; X server.
-                        (system (string-append xorg-server "/bin/Xvfb :1 &"))
-                        (setenv "DISPLAY" ":1")
-                        ;; Don't fail because of the missing /etc/machine-id.
-                        (setenv "DBUS_FATAL_WARNINGS" "0")
-                        #t))))))
+       ("pangomm" ,pangomm-2.42)))
+    (synopsis "C++ Interfaces for GTK+ and GNOME")
+    (description "GTKmm is the official C++ interface for the popular GUI
+library GTK+.  Highlights include typesafe callbacks, and a comprehensive set of
+widgets that are easily extensible via inheritance.  You can create user
+interfaces either in code or with the Glade User Interface designer, using
+libglademm.  There's extensive documentation, including API reference and a
+tutorial.")
     (home-page "https://gtkmm.org/")
-    (synopsis
-     "C++ interface to the GTK+ graphical user interface library")
-    (description
-     "gtkmm is the official C++ interface for the popular GUI library GTK+.
-Highlights include typesafe callbacks, and a comprehensive set of widgets that
-are easily extensible via inheritance.  You can create user interfaces either
-in code or with the Glade User Interface designer, using libglademm.  There's
-extensive documentation, including API reference and a tutorial.")
-    (license license:lgpl2.1+)))
-
+    (license
+     (list
+      ;; Library
+      license:lgpl2.1+
+      ;; Tools
+      license:gpl2+))))
 
 (define-public gtkmm-2
   (package (inherit gtkmm)
-- 
2.27.0


[-- Attachment #1.1.15: 0014-gnu-gtkmm-2-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 2093 bytes --]

From 5d3720a7a2b35b7864e8c88ee597030b249fa40c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 18 Jul 2020 06:18:38 -0400
Subject: [PATCH 14/17] gnu: gtkmm-2: Update package definition.

* gnu/packages/gtk.scm (gtkmm-2): Update package definition.
[arguments]: Remove field.
[native-inputs]: Remove field.
[propagated-inputs]: Change; pangomm to pangomm-2.42, cairomm to
cairomm-1.13 and glibmm to glibmm-2.64.
---
 gnu/packages/gtk.scm | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index aa4d7deb04..7f839a6da2 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1612,25 +1612,25 @@ tutorial.")
       license:gpl2+))))
 
 (define-public gtkmm-2
-  (package (inherit gtkmm)
+  (package
+    (inherit gtkmm)
     (name "gtkmm")
     (version "2.24.5")
-    (source (origin
-             (method url-fetch)
-             (uri (string-append "mirror://gnome/sources/" name "/"
-                                 (version-major+minor version)  "/"
-                                 name "-" version ".tar.xz"))
-             (sha256
-              (base32
-               "0wkbzvsx4kgw16f6xjdc1dz7f77ldngdila4yi5lw2zrgcxsb006"))))
-    (arguments '())
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version)  "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0wkbzvsx4kgw16f6xjdc1dz7f77ldngdila4yi5lw2zrgcxsb006"))))
     (propagated-inputs
-     `(("pangomm" ,pangomm)
-       ("cairomm" ,cairomm)
-       ("atkmm" ,atkmm)
+     `(("atkmm" ,atkmm)
+       ("cairomm" ,cairomm-1.13)
+       ("glibmm" ,glibmm-2.64)
        ("gtk+" ,gtk+-2)
-       ("glibmm" ,glibmm)))))
+       ("pangomm" ,pangomm-2.42)))))
 
 (define-public gtksourceviewmm
   (package
-- 
2.27.0


[-- Attachment #1.1.16: 0015-gnu-java-jakarta-oro-Update-hash.patch --]
[-- Type: text/x-patch, Size: 900 bytes --]

From 604e2adf2b4ebb2a015539bb38077ce9964803cc Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 18 Jul 2020 08:24:21 -0400
Subject: [PATCH 15/17] gnu: java-jakarta-oro: Update hash.

---
 gnu/packages/java.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 48f9a52a56..601aecf8f8 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -10985,7 +10985,7 @@ inside a Zip archive.")
                                   "jakarta-oro-" version ".tar.gz"))
               (sha256
                (base32
-                "0rpmnsskiwmsy8r0sckz5n5dbvh3vkxx8hpm177c754r8xy3qksc"))
+                "0v37kj8rj1s0s4dcs8zr1gb32i8ajzx3cxmsqhsbmgkr89vrgrqx"))
               (modules '((guix build utils)))
               (snippet
                `(begin
-- 
2.27.0


[-- Attachment #1.1.17: 0016-gnu-gtksourceviewmm-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 3821 bytes --]

From 3d97b5d2e1e836d3c2fc20241f84cf0f2e2bd6b8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 18 Jul 2020 08:13:48 -0400
Subject: [PATCH 16/17] gnu: gtksourceviewmm: Update package definition.

* gnu/packages/gtk.scm (gtksourceviewmm) [version]: Update to 3.21.3.
[source]<origin>[sha256]: Modify base32.
[build-system]: Change from gnu to glib-or-gtk.
[outputs]: New output "doc".
[arguments]<#:phases>['move-doc]: New phase.
[native-inputs]: Add graphviz, doxygen, m4, mm-common, perl and
libxslt.
[propagated-inputs]: Change glibmm to glibmm-2.64.
[synopsis]: Modify.
[description]: Modify.
[home-page]: Mofify.
---
 gnu/packages/gtk.scm | 58 +++++++++++++++++++++++++++++---------------
 1 file changed, 38 insertions(+), 20 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 7f839a6da2..9087f662a1 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1635,30 +1635,48 @@ tutorial.")
 (define-public gtksourceviewmm
   (package
     (name "gtksourceviewmm")
-    (version "3.18.0")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/" name "/"
-                                  (version-major+minor version)  "/"
-                                  name "-" version ".tar.xz"))
-              (sha256
-               (base32 "0fgvmhm4h4qmxig87qvangs6ijw53mi40siz7pixlxbrsgiil22i"))))
-    (build-system gnu-build-system)
+    (version "3.21.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version)  "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "1danc9mp5mnb65j01qxkwj92z8jf1gns41wbgp17qh7050f0pc6v"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (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/doc")
+                (string-append doc "/share/doc"))
+               #t))))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     `(("dot" ,graphviz)
+       ("doxygen" ,doxygen)
+       ("m4" ,m4)
+       ("mm-common" ,mm-common)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (propagated-inputs
-     ;; In 'Requires' of gtksourceviewmm-3.0.pc.
-     `(("glibmm" ,glibmm)
+     `(("glibmm" ,glibmm-2.64)
        ("gtkmm" ,gtkmm)
        ("gtksourceview" ,gtksourceview-3)))
-    (synopsis "C++ interface to the GTK+ 'GtkTextView' widget")
-    (description
-     "gtksourceviewmm is a portable C++ library that extends the standard GTK+
-framework for multiline text editing with support for configurable syntax
-highlighting, unlimited undo/redo, search and replace, a completion framework,
-printing and other features typical of a source code editor.")
-    (license license:lgpl2.1+)
-    (home-page "https://developer.gnome.org/gtksourceview/")))
+    (synopsis "C++ binding for GtkSourceView")
+    (description "GtkSourceViewmm is a C++ wrapper for the gtksourceview widget
+library.  It offers all the power of gtksourceview with an interface familiar to
+C++ developers, including users of the gtkmm library.")
+    (home-page "https://wiki.gnome.org/Projects/GtkSourceView")
+    (license license:lgpl2.1+)))
 
 ;;;
 ;;; Python bindings.
-- 
2.27.0


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

  reply	other threads:[~2020-07-18 13:31 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-06  9:13 [OUTREACHY]: Integration of desktop environments into GNU Guix Raghav Gururajan
2020-05-06 14:19 ` Ludovic Courtès
2020-05-06 15:05   ` Gábor Boskovits
2020-05-06 15:49 ` Ricardo Wurmus
2020-05-06 16:03   ` Raghav Gururajan
2020-05-06 15:52 ` sirgazil
2020-05-06 16:04   ` Raghav Gururajan
2020-05-06 17:22 ` Jan Nieuwenhuizen
2020-05-06 17:23   ` Raghav Gururajan
2020-05-20 13:34 ` Raghav Gururajan
2020-05-20 13:51   ` Pierre Neidhardt
2020-05-20 13:57     ` Raghav Gururajan
2020-05-20 14:06       ` Pierre Neidhardt
2020-05-21  9:08   ` Efraim Flashner
2020-05-22 11:18     ` Raghav Gururajan
2020-05-22 11:25   ` Raghav Gururajan
2020-05-23 14:26     ` Raghav Gururajan
2020-05-25 20:08       ` Danny Milosavljevic
2020-05-28 17:11         ` Raghav Gururajan
2020-05-28 17:10       ` Raghav Gururajan
2020-05-28 18:23         ` Danny Milosavljevic
2020-05-29 21:01           ` Raghav Gururajan
2020-05-29 23:02             ` Danny Milosavljevic
2020-05-29 20:54         ` Raghav Gururajan
2020-05-29 21:08           ` Raghav Gururajan
2020-05-30 20:30             ` Raghav Gururajan
2020-05-31 13:31               ` Danny Milosavljevic
2020-06-10 13:12                 ` Raghav Gururajan
2020-06-04 18:31               ` Raghav Gururajan
2020-06-04 18:52                 ` Vincent Legoll
2020-06-10 13:06                   ` Raghav Gururajan
2020-06-04 18:57                 ` Danny Milosavljevic
2020-06-14 13:31                 ` Raghav Gururajan
2020-06-19 23:37                   ` Raghav Gururajan
2020-06-24 22:40                     ` Danny Milosavljevic
2020-07-04 10:37                       ` Raghav Gururajan
2020-07-04 11:14                         ` Raghav Gururajan
2020-07-06  1:36                           ` Raghav Gururajan
2020-07-06 19:24                           ` Danny Milosavljevic
2020-07-06 19:56                             ` Efraim Flashner
2020-07-05 19:25                         ` Danny Milosavljevic
2020-07-06  5:05                           ` Raghav Gururajan
2020-07-13 13:45                             ` Ludovic Courtès
2020-07-13 13:50                               ` Raghav Gururajan
2020-07-16  1:21                             ` Raghav Gururajan
2020-07-17 12:38                               ` Danny Milosavljevic
2020-07-18 13:29                                 ` Raghav Gururajan [this message]
2020-07-18 14:12                                   ` Danny Milosavljevic
2020-07-18 19:27                                     ` Raghav Gururajan
2020-07-18 20:18                                       ` Raghav Gururajan
2020-07-19 11:43                                         ` Danny Milosavljevic
2020-07-19 19:21                                         ` Danny Milosavljevic
2020-07-19 19:22                                   ` Danny Milosavljevic
2020-07-20  1:54                                     ` Raghav Gururajan
2020-07-24 18:29                                       ` Raghav Gururajan
2020-07-25  8:15                                         ` Raghav Gururajan
2020-07-25  8:18                                           ` Raghav Gururajan
2020-07-25  8:24                                             ` Raghav Gururajan
2020-07-25  9:12                                               ` Raghav Gururajan
2020-07-27 16:11                                                 ` Raghav Gururajan
2020-07-30 23:51                                                   ` Raghav Gururajan
2020-08-02  7:32                                                   ` Raghav Gururajan
2020-08-03 22:29                                                     ` Danny Milosavljevic
2020-08-04 10:22                                                       ` Raghav Gururajan
2020-08-04 22:50                                                         ` Raghav Gururajan
2020-08-05 15:14                                                           ` Danny Milosavljevic
2020-08-07  2:14                                                             ` Raghav Gururajan
2020-08-09 22:28                                                               ` Danny Milosavljevic
2020-08-11 10:38                                                                 ` Raghav Gururajan
2020-08-12  4:05                                                                   ` Raghav Gururajan
2020-08-12  4:11                                                                     ` Raghav Gururajan
2020-08-12  8:02                                                                       ` Danny Milosavljevic
2020-08-19 15:06                                                                         ` Raghav Gururajan
2020-08-22 14:48                                                                           ` Pierre Neidhardt
2020-08-24  3:18                                                                           ` Maxim Cournoyer
2020-08-14 14:24                                                               ` [20.08.2020 Hartmut Goebel
2020-08-14 14:28                                                                 ` [20.08.2020 Raghav Gururajan
2020-06-24 11:37                   ` [OUTREACHY]: Integration of desktop environments into GNU Guix Danny Milosavljevic
2020-06-25  4:04                     ` Raghav Gururajan
2020-06-25 11:47                       ` Danny Milosavljevic
2020-06-28  5:56                         ` Raghav Gururajan
2020-06-25 11:52                       ` Danny Milosavljevic
2020-05-25 19:58     ` Danny Milosavljevic
2020-05-25 20:00     ` Danny Milosavljevic

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=39b2d7bc-f9a4-b98e-2565-ddf542acead3@disroot.org \
    --to=raghavgururajan@disroot.org \
    --cc=dannym@scratchpost.org \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).