gnu: unbound: Update to 1.10.1.
[jackhill/guix/guix.git] / gnu / packages / gtk.scm
index d20d460..385e4e9 100644 (file)
@@ -9,20 +9,21 @@
 ;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
 ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
 ;;; Coypright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Fabian Harfert <fhmgufs@web.de>
 ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
 ;;; Copyright © 2016 Patrick Hetu <patrick.hetu@auf.org>
-;;; Copyright © 2016 ng0 <ng0@n0.is>
+;;; Copyright © 2016 Nikita <nikita@n0.is>
 ;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
 ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
-;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2018, 2020 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
 ;;; Copyright © 2019 Meiyo Peng <meiyo@riseup.net>
 ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot>
+;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -317,14 +318,14 @@ functions which were removed.")
 (define-public ganv
   (package
     (name "ganv")
-    (version "1.4.2")
+    (version "1.6.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://download.drobilla.net/ganv-"
                                   version ".tar.bz2"))
               (sha256
                (base32
-                "0g7s5mp14qgbfjdql0k1s8464r21g47ssn5dws6jazsnw6njhl0l"))))
+                "0pik2d3995z0rjcjhb4hsj5fsph3m8khg6j10k6mx4j2j727aq6l"))))
     (build-system waf-build-system)
     (arguments
      `(#:phases
@@ -336,7 +337,6 @@ functions which were removed.")
                      (string-append "-Wl,-rpath="
                                     (assoc-ref outputs "out") "/lib"))
              #t)))
-       #:python ,python-2 ;XXX: The bundled waf fails with Python 3.7.0.
        #:tests? #f)) ; no check target
     (inputs
      `(("gtk" ,gtk+-2)
@@ -1762,29 +1762,23 @@ Parcellite and adds bugfixes and features.")
 (define-public graphene
   (package
     (name "graphene")
-    (version "1.6.0")
+    (version "1.10.0")
     (source (origin
               (method url-fetch)
-              (uri (string-append
-                    "https://github.com/ebassi/graphene/archive/"
-                    version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (uri (string-append "https://github.com/ebassi/graphene/releases/"
+                                  "download/" version
+                                  "/graphene-" version ".tar.xz"))
               (sha256
-               (base32 "1zd2daj7y590wnzn4jw0niyc4fnzgxrcl9i7nwhy8b25ks2hz5wq"))))
-    (build-system gnu-build-system)
+               (base32 "16b4hz73bnrgv5v8n96dczkd6xp9qc06lrl43zln3jnl3psrfva0"))))
+    (build-system meson-build-system)
     (arguments
-     `(#:configure-flags '("--enable-introspection=yes")))
+     `(#:configure-flags '("-Dinstalled_tests=false")))
     (native-inputs
-     `(("autoconf" ,autoconf)
-       ("which" ,which)
-       ("pkg-config" ,pkg-config)
-       ("automake" ,automake)
-       ("libtool" ,libtool)))
+     `(("gobject-introspection" ,gobject-introspection)
+       ("pkg-config" ,pkg-config)))
     (inputs
      `(("python" ,python)
-       ("python-2" ,python-2)
-       ("glib" ,glib)
-       ("gobject-introspection" ,gobject-introspection)))
+       ("glib" ,glib)))
     (home-page "https://ebassi.github.io/graphene/")
     (synopsis "Thin layer of graphic data types")
     (description "This library provides graphic types and their relative API;
@@ -1919,6 +1913,14 @@ shell scripts.  Example of how to use @code{yad} can be consulted at
                          "/lib/girepository-1.0"))
        #:phases
        (modify-phases %standard-phases
+         (add-before 'configure 'do-not-treat-warnings-as-errors
+           (lambda _
+             ;; Prevent the build from failing due to deprecation warnings
+             ;; from newer GLib and GTK versions.
+             (substitute* (find-files "." "^Makefile.in$")
+               ((" -Werror")
+                ""))
+             #t))
          (add-before 'configure 'set-environment
            (lambda _
              (setenv "HAVE_VALGRIND_TRUE" "")
@@ -1972,3 +1974,125 @@ anchor windows to a corner or edge of the output, or stretch them across the
 entire output.  It supports all Layer Shell features including popups and
 popovers.")
     (license license:expat)))
+
+(define-public goocanvas
+  (package
+    (name "goocanvas")
+    (version "2.0.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://gnome/sources/goocanvas/"
+                           (version-major+minor version)
+                           "/goocanvas-" version ".tar.xz"))
+       (sha256
+        (base32 "141fm7mbqib0011zmkv3g8vxcjwa7hypmq71ahdyhnj2sjvy4a67"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("glib-bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk-doc" ,gtk-doc)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python)))
+    (inputs
+     `(("cairo" ,cairo)
+       ("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("python-pygobject" ,python-pygobject)))
+    (arguments
+     `(#:configure-flags '("--disable-rebuilds"
+                           "--disable-static")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-install-path
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (substitute* "configure"
+               (("\\(gi._overridesdir\\)")
+                (string-append "((gi._overridesdir).replace(\\\""
+                               (assoc-ref inputs "python-pygobject")
+                               "\\\", \\\""
+                               (assoc-ref outputs "out")
+                               "\\\"))")))
+             #t)))))
+    (synopsis "Canvas widget for GTK+")
+    (description "GooCanvas is a canvas widget for GTK+ that uses the cairo 2D
+library for drawing.")
+    (home-page "https://wiki.gnome.org/GooCanvas")
+    (license license:lgpl2.0)))
+
+(define-public gtksheet
+  (package
+    (name "gtksheet")
+    (version "4.3.4")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/fpaquet/gtksheet")
+             (commit (string-append "V" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "10qzmdkjkkvkcadxn019cbyhwaahxcfv1apv54lc711bqvh63v8r"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags (list "--enable-glade"
+                               "--enable-introspection")
+       #:phases
+       (modify-phases %standard-phases
+         ;; The "configure" script is present, but otherwise the project is
+         ;; not bootstrapped properly. Delete configure so the bootstrap phase
+         ;; will take over.
+         (add-after 'unpack 'delete-configure
+           (lambda _
+             (delete-file "configure")
+             #t))
+         ;; Fix glade install directories.
+         (add-before 'bootstrap 'configure-glade-directories
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("`\\$PKG_CONFIG --variable=catalogdir gladeui-2.0`")
+                (string-append (assoc-ref outputs "out") "/share/glade/catalogs"))
+               (("`\\$PKG_CONFIG --variable=moduledir gladeui-2.0`")
+                (string-append (assoc-ref outputs "out") "/lib/glade/modules"))
+               (("`\\$PKG_CONFIG --variable=pixmapdir gladeui-2.0`")
+                (string-append (assoc-ref outputs "out") "/share/pixmaps")))
+             #t))
+         ;; Fix incorrect typelib version. This is a known upstream bug. See
+         ;; https://github.com/fpaquet/gtksheet/issues/23
+         (add-after 'install 'fix-typelib-version
+           (lambda* (#:key outputs #:allow-other-keys)
+             (with-directory-excursion (string-append (assoc-ref outputs "out")
+                                                      "/lib/girepository-1.0")
+               (rename-file "GtkSheet-4.0.typelib"
+                            (string-append "GtkSheet-" ,version ".typelib")))
+             #t)))))
+    (inputs
+     `(("glade" ,glade3)
+       ("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("libxml2" ,libxml2)))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("gobject-introspection" ,gobject-introspection)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)))
+    (home-page "https://fpaquet.github.io/gtksheet/")
+    (synopsis "Spreadsheet widget for GTK+")
+    (description "GtkSheet is a matrix widget for GTK+.  It consists of an
+scrollable grid of cells where you can allocate text.  Cell contents can be
+edited interactively through a specially designed entry, GtkItemEntry.  It is
+also a container subclass, allowing you to display buttons, images and any
+other widget in it.  You can also set many attributes such as border,
+foreground and background colors, text justification and more.")
+    (native-search-paths
+     (list
+      (search-path-specification
+       (variable "GLADE_CATALOG_SEARCH_PATH")
+       (files '("share/glade/catalogs")))
+      (search-path-specification
+       (variable "GLADE_MODULE_SEARCH_PATH")
+       (files '("lib/glade/modules")))))
+    (license license:lgpl2.0+)))