unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Raghav Gururajan <raghavgururajan@disroot.org>
To: guix-devel@gnu.org
Subject: Re: [OUTREACHY]: Integration of desktop environments into GNU Guix
Date: Thu, 4 Jun 2020 14:31:46 -0400	[thread overview]
Message-ID: <30888750-2c5b-d94f-6199-f8539b2d0de0@disroot.org> (raw)
In-Reply-To: <1742d1f9-43ed-83a5-1354-bf1c94c2f679@disroot.org>


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

@Danny

Please find attached patches.

Regards,
RG.

[-- Attachment #1.1.2: 0011-gnu-Add-presage.patch --]
[-- Type: text/x-patch, Size: 3441 bytes --]

From efe996a0c53ac90522498a980bd6a40beb1d9a56 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Tue, 2 Jun 2020 19:41:00 -0400
Subject: [PATCH 11/16] gnu: Add presage.

* gnu/packages/fcitx.scm (presage): New variable.
---
 gnu/packages/fcitx.scm | 60 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)

diff --git a/gnu/packages/fcitx.scm b/gnu/packages/fcitx.scm
index e699d7d59d..61bf36cd83 100644
--- a/gnu/packages/fcitx.scm
+++ b/gnu/packages/fcitx.scm
@@ -22,18 +22,78 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system glib-or-gtk)
+  #:use-module (gnu packages check)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages enchant)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages iso-codes)
+  #:use-module (gnu packages man)
+  #:use-module (gnu packages ncurses)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages sqlite)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg))
 
+(define-public presage
+  (package
+    (name "presage")
+    (version "0.9.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://sourceforge.net/projects/presage/files/presage/"
+                       version "/presage-" version ".tar.gz"))
+       (sha256
+        (base32 "0rm3b3zaf6bd7hia0lr1wyvi1rrvxkn7hg05r5r1saj0a3ingmay"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:configure-flags
+       (list
+        "CFLAGS=-Wno-narrowing"
+        "CXXFLAGS=-Wno-narrowing")
+       #: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/presage"))
+               (rename-file
+                (string-append out "/share/presage/html")
+                (string-append doc "/share/presage/html"))
+               #t))))))
+    (native-inputs
+     `(("dot" ,graphviz)
+       ("doxygen" ,doxygen)
+       ("gettext" ,gettext-minimal)
+       ("glib:bin" ,glib "bin")
+       ("gtk+:bin" ,gtk+ "bin")
+       ("help2man" ,help2man)
+       ("pkg-config" ,pkg-config)
+       ("python-wrapper" ,python-wrapper)))
+    (inputs
+     `(("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("libx11" ,libx11)
+       ("sqlite" ,sqlite)
+       ("tinyxml" ,tinyxml)))
+    (synopsis "Intelligent Predictive Text Entry System")
+    (description "Presage generates predictions by modelling natural language as
+a combination of redundant information sources.  It computes probabilities for
+words which are most likely to be entered next by merging predictions generated
+by the different predictive algorithms.")
+    (home-page "https://presage.sourceforge.io/")
+    (license gpl2+)))
+
 (define-public fcitx
   (package
     (name "fcitx")
-- 
2.26.2


[-- Attachment #1.1.3: 0012-gnu-fcitx-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 6851 bytes --]

From e9121dabc1de6cdd748a8ce2258d3cd2bb1233f9 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Tue, 2 Jun 2020 20:42:46 -0400
Subject: [PATCH 12/16] gnu: fcitx: Update package definition.

* gnu/packages/fcitx.scm (fcitx): Update packages definition.
[arguments]<#:configure-flags>[-DENABLE_QT_GUI]: New flag.
[-DGOBJECT_INTROSPECTION_GIRDIR]: New flag.
[-DGOBJECT_INTROSPECTION_TYPELIBDIR]: New flag.
[-DENABLE_GIR]: Remove flag.
[native-inputs]: Add dot, gettext, gobject-introspection, intltool,
libxml2 and python-wrapper.
[inputs]: Add cairo, ecm, fontconfig, libx11, libxkbcommon, opencc,
pango and presage. Remove glib and libxml2.
[propagated-inputs]: Add glib.
---
 gnu/packages/fcitx.scm | 106 +++++++++++++++++++++++++----------------
 1 file changed, 65 insertions(+), 41 deletions(-)

diff --git a/gnu/packages/fcitx.scm b/gnu/packages/fcitx.scm
index 61bf36cd83..da9eabeced 100644
--- a/gnu/packages/fcitx.scm
+++ b/gnu/packages/fcitx.scm
@@ -24,8 +24,10 @@
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages compression)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages enchant)
+  #:use-module (gnu packages fontutils)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages graphviz)
@@ -37,9 +39,11 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages sqlite)
+  #:use-module (gnu packages textutils)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
-  #:use-module (gnu packages xorg))
+  #:use-module (gnu packages xorg)
+  #:use-module (gnu packages xdisorg))
 
 (define-public presage
   (package
@@ -98,60 +102,80 @@ by the different predictive algorithms.")
   (package
     (name "fcitx")
     (version "4.2.9.7")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "http://download.fcitx-im.org/fcitx/"
-                                  "fcitx-" version "_dict.tar.xz"))
-              (sha256
-               (base32
-                "13vg7yzfq0vj2r8zdf9ly3n243nwwggkhd5qv3z6yqdyj0m3ncyg"))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "http://download.fcitx-im.org/fcitx/"
+                       "fcitx-" version "_dict.tar.xz"))
+       (sha256
+        (base32 "13vg7yzfq0vj2r8zdf9ly3n243nwwggkhd5qv3z6yqdyj0m3ncyg"))))
     (build-system cmake-build-system)
     (outputs '("out" "gtk2" "gtk3"))
     (arguments
      `(#:configure-flags
-       (list "-DENABLE_TEST=ON"
-             (string-append "-DXKB_RULES_XML_FILE="
-                            (assoc-ref %build-inputs "xkeyboard-config")
-                            "/share/X11/xkb/rules/evdev.xml")
-             "-DENABLE_GTK2_IM_MODULE=ON"
-             "-DENABLE_GTK3_IM_MODULE=ON"
-             (string-append "-DGTK2_IM_MODULEDIR="
-                            (assoc-ref %outputs "gtk2")
-                            "/lib/gtk-2.0/2.10.0/immodules")
-             (string-append "-DGTK3_IM_MODULEDIR="
-                            (assoc-ref %outputs "gtk3")
-                            "/lib/gtk-3.0/3.0.0/immodules")
-             ;; XXX: Enable GObject Introspection and Qt4 support.
-             "-DENABLE_GIR=OFF"
-             "-DENABLE_QT=OFF"
-             "-DENABLE_QT_IM_MODULE=OFF")))
+       (list
+        "-DENABLE_GTK2_IM_MODULE=ON"
+        "-DENABLE_GTK3_IM_MODULE=ON"
+        "-DENABLE_QT=OFF"
+        "-DENABLE_QT_IM_MODULE=OFF"
+        "-DENABLE_QT_GUI=OFF"
+        "-DENABLE_TEST=ON"
+        (string-append "-DGOBJECT_INTROSPECTION_GIRDIR="
+                       (assoc-ref %outputs "out")
+                       "/share/gir-1.0")
+        (string-append "-DGOBJECT_INTROSPECTION_TYPELIBDIR="
+                       (assoc-ref %outputs "out")
+                       "/lib/girepository-1.0")
+        (string-append "-DXKB_RULES_XML_FILE="
+                       (assoc-ref %build-inputs "xkeyboard-config")
+                       "/share/X11/xkb/rules/evdev.xml")
+        (string-append "-DGTK2_IM_MODULEDIR="
+                       (assoc-ref %outputs "gtk2")
+                       "/lib/gtk-2.0/2.10.0/immodules")
+        (string-append "-DGTK3_IM_MODULEDIR="
+                       (assoc-ref %outputs "gtk3")
+                       "/lib/gtk-3.0/3.0.0/immodules"))))
     (native-inputs
-     `(("doxygen"    ,doxygen)
+     `(("dot" ,graphviz)
+       ("doxygen" ,doxygen)
        ("extra-cmake-modules"
         ;; XXX: We can't simply #:use-module due to a cycle somewhere.
         ,(module-ref
           (resolve-interface '(gnu packages kde-frameworks))
           'extra-cmake-modules))
-       ("glib:bin"   ,glib "bin")       ; for glib-genmarshal
-       ("pkg-config" ,pkg-config)))
+       ("gettext" ,gettext-minimal)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("intltool" ,intltool)
+       ("libxml2" ,libxml2)
+       ("pkg-config" ,pkg-config)
+       ("python-wrapper" ,python-wrapper)))
     (inputs
-     `(("dbus"             ,dbus)
-       ("enchant"          ,enchant-1.6)
-       ("gettext"          ,gettext-minimal)
-       ("gtk2"             ,gtk+-2)
-       ("gtk3"             ,gtk+)
-       ("icu4c"            ,icu4c)
-       ("iso-codes"        ,iso-codes)
-       ("json-c"           ,json-c)
-       ("libxkbfile"       ,libxkbfile)
-       ("libxml2"          ,libxml2)
+     `(("cairo" ,cairo)
+       ("dbus" ,dbus)
+       ("ecm" ,ecm)
+       ("enchant" ,enchant-1.6)
+       ("fontconfig" ,fontconfig)
+       ("gtk2" ,gtk+-2)
+       ("gtk3" ,gtk+)
+       ("icu4c" ,icu4c)
+       ("iso-codes" ,iso-codes)
+       ("json-c" ,json-c)
+       ("libx11" ,libx11)
+       ("libxkbcommon" ,libxkbcommon)
+       ("libxkbfile" ,libxkbfile)
+       ("opencc" ,opencc)
+       ("pango" ,pango)
+       ("presage" ,presage)
        ("xkeyboard-config" ,xkeyboard-config)))
-    (home-page "https://fcitx-im.org")
+    (propagated-inputs
+     `(("glib" ,glib)))
     (synopsis "Input method framework")
-    (description
-     "Fcitx is an input method framework with extension support.  It has
-Pinyin, Quwei and some table-based (Wubi, Cangjie, Erbi, etc.) input methods
+    (description "Fcitx is an input method framework with extension support.  It
+has Pinyin, Quwei and some table-based (Wubi, Cangjie, Erbi, etc.) input methods
 built-in.")
+    (home-page "https://fcitx-im.org")
     (license gpl2+)))
 
 (define-public fcitx-configtool
-- 
2.26.2


[-- Attachment #1.1.4: 0013-gnu-gcab-Update-to-1.4.patch --]
[-- Type: text/x-patch, Size: 3816 bytes --]

From b139186350acdf7c0bf030af1a24a8289adc2ca9 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 3 Jun 2020 17:13:28 -0400
Subject: [PATCH 13/16] gnu: gcab: Update to 1.4.

* gnu/packages/package-management.scm (gcab): Update package
definition.
[version]: Update to 1.4.
[source]<origin>[sha256]: Modify base32 hash.
[outputs]: New output 'doc'.
[arguments]<#:glib-or-gtk?>: New argument.
<#:configure-flags>[-Ddocs]: Remove flag.
[-Dintrospection]: Remove flag.
<#:phases>['move-doc]: New phase.
[native-inputs]: Add gettext, gobject-introspection and gtk-doc.
Remove inttool.
[inputs]: Remove glib.
[propagated-inputs]: Add glib.
[license]: Remove gpl2+.
---
 gnu/packages/package-management.scm | 53 +++++++++++++++++------------
 1 file changed, 32 insertions(+), 21 deletions(-)

diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 3fc6fc404a..e117a0b6b2 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -997,36 +997,47 @@ in an isolated environment, in separate namespaces.")
 (define-public gcab
   (package
     (name "gcab")
-    (version "1.2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/gcab/"
-                                  version "/gcab-" version ".tar.xz"))
-              (sha256
-               (base32
-                "038h5kk41si2hc9d9169rrlvp8xgsxq27kri7hv2vr39gvz9cbas"))))
+    (version "1.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/gcab/"
+                       version "/gcab-" version ".tar.xz"))
+       (sha256
+        (base32 "13q43iqld4l50yra45lhvkd376pn6qpk7rkx374zn8y9wsdzm9b7"))))
     (build-system meson-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #: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/gtk-doc")
+                (string-append doc "/share/gtk-doc"))
+               #t))))))
     (native-inputs
-     `(("glib:bin" ,glib "bin")         ; for glib-mkenums
-       ("intltool" ,intltool)
+     `(("gettext" ,gettext-minimal)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk-doc" ,gtk-doc)
        ("pkg-config" ,pkg-config)
        ("vala" ,vala)))
     (inputs
-     `(("glib" ,glib)
-       ("zlib" ,zlib)))
-    (arguments
-     `(#:configure-flags
-       ;; XXX This ‘documentation’ is for developers, and fails informatively:
-       ;; Error in gtkdoc helper script: 'gtkdoc-mkhtml' failed with status 5
-       (list "-Ddocs=false"
-             "-Dintrospection=false")))
-    (home-page "https://wiki.gnome.org/msitools") ; no dedicated home page
+     `(("zlib" ,zlib)))
+    (propagated-inputs
+     `(("glib" ,glib)))
     (synopsis "Microsoft Cabinet file manipulation library")
     (description
      "The libgcab library provides GObject functions to read, write, and modify
 Microsoft cabinet (.@dfn{CAB}) files.")
-    (license (list license:gpl2+        ; tests/testsuite.at
-                   license:lgpl2.1+)))) ; the rest
+    (home-page "https://wiki.gnome.org/msitools") ; no dedicated home page
+    (license license:lgpl2.1+)))
 
 (define-public msitools
   (package
-- 
2.26.2


[-- Attachment #1.1.5: 0014-gnu-gcr-Update-to-3.36.0.patch --]
[-- Type: text/x-patch, Size: 5879 bytes --]

From 0defd48a4b7c6c62371f8f0be74c098e502b1bf5 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 3 Jun 2020 18:34:29 -0400
Subject: [PATCH 14/16] gnu: gcr: Update to 3.36.0.

* gnu/packages/gnome.scm (gcr): Update package definition.
[version]: Update to 3.36.0.
[source]<origin>[sha256]: Modify base32.
[build-system]: Change from gnu to meson.
[outputs]: New output 'doc'.
[arguments]<#:glib-or-gtk?>: New argument.
<#:phases>['patch-docbook-xml]: New phase.
['disable-failing-tests]: Modify phase.
['move-doc]: New phase.
[native-inputs]: Add docbook-xml, gtk-doc and gtk+:bin.
[synopsis]: Modify.
[description]: Modify.
---
 gnu/packages/gnome.scm | 88 ++++++++++++++++++++++++++++--------------
 1 file changed, 58 insertions(+), 30 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index d935eda499..ca66818de2 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -1672,56 +1672,84 @@ the font would look under various sizes.")
 (define-public gcr
   (package
     (name "gcr")
-    (version "3.34.0")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/" name "/"
-                                  (version-major+minor version)  "/"
-                                  name "-" version ".tar.xz"))
-              (sha256
-               (base32
-                "0925snsixzkwh49xiayqmj6fcrmklqk8kyy0jkv7m64h9abm1pr9"))))
-    (build-system gnu-build-system)
+    (version "3.36.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version)  "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "00b6bzpr8rj8mvj66r2273r417wg2y21m6n88mhkq9m22z8bxyda"))))
+    (build-system meson-build-system)
+    (outputs '("out" "doc"))
     (arguments
-     '(#:phases
+     '(#:glib-or-gtk? #t    ; To wrap binaries and/or compile schemas.
+       #:phases
        (modify-phases %standard-phases
-         ;; These fail because /var/lib/dbus/machine-id is not present in the
-         ;; build environment.
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs/reference"
+               (substitute* "gcr/gcr-visual-index.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.3/")
+                  (string-append (assoc-ref inputs "docbook-xml-4.3")
+                                 "/xml/dtd/docbook/")))
+               (substitute* '("gcr/gcr-docs.sgml" "gck/gck-docs.sgml"
+                              "gck/gck-pkcs11-links.xml")
+                 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
+                  (string-append (assoc-ref inputs "docbook-xml-4.1.2")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+         ;; Some tests fail due to missing /etc/machine-id.
          (add-after 'unpack 'disable-failing-tests
            (lambda _
-             (substitute* "Makefile.in"
-               (("[[:blank:]]+test-system-prompt\\$\\(EXEEXT\\)")
+             (substitute* "gcr/meson.build"
+               (("'system-prompt',")
                 ""))
              #t))
+         ;; Some tests expect to write to $HOME.
          (add-before 'check 'pre-check
            (lambda _
-             ;; Some tests expect to write to $HOME.
              (setenv "HOME" "/tmp")
-             #t)))))
-    (inputs
-     `(("dbus" ,dbus)
-       ("gnupg" ,gnupg)                ;called as a child process during tests
-       ("libgcrypt" ,libgcrypt)))
+             #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
-     `(("python" ,python-wrapper)       ;for tests
-       ("pkg-config" ,pkg-config)
+     `(("docbook-xml-4.1.2" ,docbook-xml-4.1.2)
+       ("docbook-xml-4.3" ,docbook-xml-4.3)
        ("gettext" ,gettext-minimal)
        ("glib" ,glib "bin")
        ("gobject-introspection" ,gobject-introspection)
+       ("gtk-doc" ,gtk-doc)
+       ("gtk+bin" ,gtk+ "bin")
        ("libxml2" ,libxml2)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
        ("vala" ,vala)
        ("xsltproc" ,libxslt)))
-    ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
+    (inputs
+     `(("dbus" ,dbus)
+       ("gnupg" ,gnupg)
+       ("gnupg2" ,gnupg-2.0)
+       ("libgcrypt" ,libgcrypt)))
     (propagated-inputs
      `(("p11-kit" ,p11-kit)
        ("glib" ,glib)
        ("gtk+" ,gtk+)))
-    (home-page "https://www.gnome.org")
-    (synopsis "Libraries for displaying certificates and accessing key stores")
-    (description
-     "The GCR package contains libraries used for displaying certificates and
-accessing key stores.  It also provides the viewer for crypto files on the
-GNOME Desktop.")
+    (synopsis "GCR and GCK libraries for GNOME")
+    (description "GCR is a library for displaying certificates, and crypto UI,
+accessing key stores.  It also provides the viewer for crypto files on the GNOME
+desktop.  GCK is a library for accessing PKCS#11 modules like smart cards, in a
+GObject oriented way.")
+    (home-page "https://www.gnome.org") ; No dedicated home-page
     (license license:lgpl2.1+)))
 
 (define-public libgnome-keyring
-- 
2.26.2


[-- Attachment #1.1.6: 0015-gnu-gdk-pixbuf-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 6242 bytes --]

From c91b7f70e856915460caa85de1a6479ed5a4dc87 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 4 Jun 2020 12:49:51 -0400
Subject: [PATCH 15/16] gnu: gdk-pixbuf: Update package definition.

* gnu/packages/gtk.scm (gdk-pixbuf): Update package definition.
[arguments]<#:glib-or-gtk?>: New argument.
<#:configure-flags>[-Djasper]: New flag.
<#:phases>['patch-docbook]: New phase.
['disable-failing-tests]: Remove phase.
[native-inputs]: Add docbook-xml, docbook-xsl, perl and libxslt.
[inputs]: Add jasper and libpng. Remove libx11.
[propagated-inputs]: Add libx11. Remove libpng.
[synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
[license]: Update to lgpl2.1+.
---
 gnu/packages/gtk.scm | 114 ++++++++++++++++++++++---------------------
 1 file changed, 58 insertions(+), 56 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index fb67508b09..25be5c6b7d 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -494,63 +494,65 @@ highlighting and other features typical of a source code editor.")
 
 (define-public gdk-pixbuf
   (package
-   (name "gdk-pixbuf")
-   (version "2.40.0")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/" name "/"
-                                (version-major+minor version)  "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "1rnlx9yfw970maxi2x6niaxmih5la11q1ilr7gzshz2kk585k0hm"))))
-   (build-system meson-build-system)
-   (arguments
-    `(#:configure-flags '("-Dinstalled_tests=false")
-      #:phases
-      (modify-phases %standard-phases
-        (add-after
-         'unpack 'disable-failing-tests
-         (lambda _
-           (substitute* "tests/meson.build"
-             ;; XXX FIXME: This test fails on armhf machines with:
-             ;; SKIP Not enough memory to load bitmap image
-             ;; ERROR: cve-2015-4491 - too few tests run (expected 4, got 2)
-             ((".*'cve-2015-4491'.*") "")
-             ;; XXX FIXME: This test fails with:
-             ;; ERROR:pixbuf-jpeg.c:74:test_type9_rotation_exif_tag:
-             ;; assertion failed (error == NULL): Data differ
-             ;; (gdk-pixbuf-error-quark, 0)
-             ((".*'pixbuf-jpeg'.*") ""))
-           #t))
-        ;; The slow tests take longer than the specified timeout.
-        ,@(if (any (cute string=? <> (%current-system))
-                   '("armhf-linux" "aarch64-linux"))
-            '((replace 'check
-              (lambda _
-                (invoke "meson" "test" "--timeout-multiplier" "5"))))
-            '()))))
-   (propagated-inputs
-    `(;; Required by gdk-pixbuf-2.0.pc
-      ("glib" ,glib)
-      ("libpng" ,libpng)
-      ;; Used for testing and required at runtime.
-      ("shared-mime-info" ,shared-mime-info)))
-   (inputs
-    `(("libjpeg" ,libjpeg-turbo)
-      ("libtiff" ,libtiff)
-      ("libx11"  ,libx11)))
-   (native-inputs
-     `(("pkg-config" ,pkg-config)
+    (name "gdk-pixbuf")
+    (version "2.40.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version)  "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "1rnlx9yfw970maxi2x6niaxmih5la11q1ilr7gzshz2kk585k0hm"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:configure-flags
+       (list
+        "-Djasper=true"
+        "-Dinstalled_tests=false")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs"
+               (substitute* "meson.build"
+                 (("http://docbook.sourceforge.net/release/xsl/current/")
+                  (string-append (assoc-ref inputs "docbook-xsl")
+                                 "/xml/xsl/docbook-xsl-1.79.1/")))
+               (substitute* '("gdk-pixbuf-csource.xml"
+                              "gdk-pixbuf-from-drawables.xml"
+                              "gdk-pixbuf-query-loaders.xml"
+                              "gdk-pixbuf-rendering.xml" "gdk-pixbuf.xml")
+                 (("http://www.oasis-open.org/docbook/xml/4.3/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t)))))
+    (native-inputs
+     `(("docbook-xml" ,docbook-xml-4.3)
+       ("docbook-xsl" ,docbook-xsl)
        ("gettext" ,gettext-minimal)
-       ("glib" ,glib "bin")                               ; glib-mkenums, etc.
-       ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
-   (synopsis "GNOME image loading and manipulation library")
-   (description
-    "GdkPixbuf is a library for image loading and manipulation developed
-in the GNOME project.")
-   (license license:lgpl2.0+)
-   (home-page "https://developer.gnome.org/gdk-pixbuf/")))
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
+    (inputs
+     `(("jasper" ,jasper)
+       ("libjpeg" ,libjpeg-turbo)
+       ("libpng" ,libpng)
+       ("libtiff" ,libtiff)))
+    (propagated-inputs
+     `(("glib" ,glib)
+       ("libx11"  ,libx11)
+       ("shared-mime-info" ,shared-mime-info)))
+    (synopsis "Image loading library")
+    (description "GdkPixbuf is a library that loads image data in various
+formats and stores it as linear buffers in memory.  The buffers can then be
+scaled, composited, modified, saved, or rendered.")
+    (home-page "https://wiki.gnome.org/Projects/GdkPixbuf")
+    (license license:lgpl2.1+)))
 
 ;; To build gdk-pixbuf with SVG support, we need librsvg, and librsvg depends
 ;; on gdk-pixbuf, so this new varibale.  Also, librsvg adds 90MiB to the
-- 
2.26.2


[-- Attachment #1.1.7: 0016-gnu-gdk-pixbuf-svg-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 1733 bytes --]

From 0ea983b4f4da35f9961d9b96bc6e929317216a13 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 4 Jun 2020 14:25:23 -0400
Subject: [PATCH 16/16] gnu: gdk-pixbuf+svg: Update package definition.

* gnu/packages/gtk.scm (gdk-pixbuf+svg): Update package definition.
[arguments]: Modify.
[synopsis]: Modify.
---
 gnu/packages/gtk.scm | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 25be5c6b7d..ea60a3c80d 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -564,10 +564,9 @@ scaled, composited, modified, saved, or rendered.")
      `(("librsvg" ,librsvg)
        ,@(package-inputs gdk-pixbuf)))
     (arguments
-     '(#:configure-flags '("-Dinstalled-tests=false")
-       #:tests? #f ; tested by the gdk-pixbuf package already
-       #:phases
-       (modify-phases %standard-phases
+     (substitute-keyword-arguments (package-arguments gdk-pixbuf)
+        ((#:phases phases)
+          `(modify-phases ,phases
          (add-after 'install 'register-svg-loader
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let* ((out     (assoc-ref outputs "out"))
@@ -581,9 +580,8 @@ scaled, composited, modified, saved, or rendered.")
                (apply invoke
                       gdk-pixbuf-query-loaders
                       "--update-cache"
-                      loaders)))))))
-    (synopsis
-     "GNOME image loading and manipulation library, with SVG support")))
+                      loaders))))))))
+    (synopsis "Image loading library, with SVG support")))
 
 (define-public at-spi2-core
   (package
-- 
2.26.2


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

  parent reply	other threads:[~2020-06-04 18:33 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 [this message]
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
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=30888750-2c5b-d94f-6199-f8539b2d0de0@disroot.org \
    --to=raghavgururajan@disroot.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).