;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2014, 2015, 2017, 2018, 2019 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015, 2017, 2018, 2019, 2021 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; 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 © 2015, 2016, 2017, 2018, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
+;;; 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–2021 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>
+;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
+ #:use-module ((guix build utils) #:select (alist-replace))
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages docbook)
+ #:use-module (gnu packages documentation)
#:use-module (gnu packages enchant)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz)
#:use-module (gnu packages cups)
+ #:use-module (gnu packages version-control)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xdisorg)
(package
(name "cairo")
(version "1.16.0")
+ (replacement cairo/fixed)
(source (origin
(method url-fetch)
(uri (string-append "https://cairographics.org/releases/cairo-"
(license license:lgpl2.1) ; or Mozilla Public License 1.1
(home-page "https://cairographics.org/")))
-(define-public cairo-xcb
+(define cairo/fixed
(package
(inherit cairo)
+ (source (origin
+ (inherit (package-source cairo))
+ (patches (append (search-patches "cairo-CVE-2018-19876.patch"
+ "cairo-CVE-2020-35492.patch")
+ (origin-patches (package-source cairo))))))))
+
+(define-public cairo-sans-poppler
+ ;; Variant used to break the dependency cycle between Poppler and Cairo.
+ (package/inherit cairo
+ (inputs (alist-delete "poppler" (package-inputs cairo)))
+ (properties `((hidden? . #t)))))
+
+(define-public cairo-xcb
+ (package/inherit cairo
(name "cairo-xcb")
(inputs
`(("mesa" ,mesa)
"See 'COPYING' in the distribution."))
(home-page "https://www.freedesktop.org/wiki/Software/HarfBuzz/")))
+(define-public libdatrie
+ (package
+ (name "libdatrie")
+ (version "0.2.13")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://linux.thai.net/pub/ThaiLinux/software/"
+ "libthai/libdatrie-" version ".tar.xz"))
+ (sha256
+ (base32 "1gplcx9ddglpxmqm10qn38kjmvdh4hnhj14rzgqag095psr1n8qj"))))
+ (build-system gnu-build-system)
+ (outputs '("out" "doc"))
+ (arguments
+ `(#:configure-flags
+ (list
+ (string-append "--with-html-docdir="
+ (assoc-ref %outputs "doc")
+ "/share/doc/datrie/html"))))
+ (native-inputs
+ `(("doxygen" ,doxygen)
+ ("pkg-config" ,pkg-config)))
+ (synopsis "Double-Array Trie Library")
+ (description "Libdatrie is an implementation of double-array structure for
+representing trie. Trie is a kind of digital search tree.")
+ (home-page "https://linux.thai.net/~thep/datrie/datrie.html")
+ (license license:lgpl2.1+)))
+
+(define-public libthai
+ (package
+ (name "libthai")
+ (version "0.1.28")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://linux.thai.net/pub/thailinux/software/"
+ "libthai/libthai-" version ".tar.xz"))
+ (sha256
+ (base32 "04g93bgxrcnay9fglpq2lj9nr7x1xh06i60m7haip8as9dxs3q7z"))))
+ (build-system gnu-build-system)
+ (outputs '("out" "doc"))
+ (arguments
+ `(#:configure-flags
+ (list
+ (string-append "--with-html-docdir="
+ (assoc-ref %outputs "doc")
+ "/share/doc/libthai/html"))))
+ (native-inputs
+ `(("doxygen" ,doxygen)
+ ("pkg-config" ,pkg-config)))
+ (propagated-inputs
+ `(("datrie" ,libdatrie)))
+ (synopsis "Thai language support library")
+ (description "LibThai is a set of Thai language support routines aimed to
+ease developers’ tasks to incorporate Thai language support in their
+applications.")
+ (home-page "https://linux.thai.net/projects/libthai")
+ (license license:lgpl2.1+)))
+
(define-public pango
(package
(name "pango")
(base32
"17bwb7dgbncrfsmchlib03k9n3xaalirb39g3yb43gg8cg6p8aqx"))))
(build-system gnu-build-system)
- (arguments '())))
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-after 'configure 'disable-layout-test
+ (lambda _
+ ;; This test requires that fontconfig uses bitmap fonts
+ ;; such as "gs-fonts"; however providing such a package
+ ;; alone is not enough, as the requirement comes from
+ ;; deeper in the font stack. Since this version of Pango
+ ;; is only used for librsvg, simply disable the test.
+ (substitute* "tests/Makefile"
+ (("test-layout\\$\\(EXEEXT\\)") ""))
+ #t)))))))
(define-public pangox-compat
(package
(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
(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)
diagrams.")
(license license:gpl3+)))
-(define-public ganv-devel
- (let ((commit "12f7d6b0438c94dd87f773a92eee3453d971846e")
- (revision "1"))
- (package
- (inherit ganv)
- (name "ganv")
- (version (string-append "1.5.4-" revision "."
- (string-take commit 9)))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://git.drobilla.net/ganv.git")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1cr8w02lr6bk9mkxa12j3imq721b2an2yn4bj5wnwmpm91ddn2gi")))))))
-
(define-public gtksourceview-2
(package
(name "gtksourceview")
(package
(name "gdk-pixbuf")
(version "2.40.0")
+ (replacement gdk-pixbuf/fixed)
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(license license:lgpl2.0+)
(home-page "https://developer.gnome.org/gdk-pixbuf/")))
+(define gdk-pixbuf/fixed
+ (package
+ (inherit gdk-pixbuf)
+ (source (origin
+ (inherit (package-source gdk-pixbuf))
+ (patches
+ (append (search-patches "gdk-pixbuf-CVE-2020-29385.patch")
+ (origin-patches (package-source gdk-pixbuf))))))))
+
;; 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
;; closure size.
(define-public gdk-pixbuf+svg
- (package (inherit gdk-pixbuf)
+ (package/inherit gdk-pixbuf
(name "gdk-pixbuf+svg")
(inputs
`(("librsvg" ,librsvg)
(native-inputs
`(("gettext" ,gettext-minimal)
("gobject-introspection" ,gobject-introspection)
- ("gtk-doc" ,gtk-doc)
+ ("gtk-doc" ,gtk-doc/stable)
("glib" ,glib "bin")
("pkg-config" ,pkg-config)))
(synopsis "Assistive Technology Service Provider Interface, core components")
(license license:lgpl2.0+)
(home-page "https://projects.gnome.org/accessibility/")))
+;;; A minimal variant used to prevent a cycle with Inkscape.
+(define at-spi2-core-minimal
+ (package
+ (inherit at-spi2-core)
+ (name "at-spi2-core-minimal")
+ (outputs (delete "doc" (package-outputs at-spi2-core)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments at-spi2-core)
+ ((#:configure-flags configure-flags)
+ `(delete "-Ddocs=true" ,configure-flags))
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (delete 'set-documentation-path)
+ (delete 'prepare-doc-directory)
+ (delete 'move-documentation)))))
+ (native-inputs
+ (alist-delete "gtk-doc" (package-native-inputs at-spi2-core)))))
+
(define-public at-spi2-atk
(package
(name "at-spi2-atk")
(setenv "DBUS_FATAL_WARNINGS" "0")
(invoke "dbus-launch" "meson" "test"))))))
(propagated-inputs
+ ;; TODO: Replace by at-spi2-core-minimal in the next staging window, or
+ ;; when Inkscape 0.92 is upgraded to 1.0 to avoid a cycle.
`(("at-spi2-core" ,at-spi2-core))) ; required by atk-bridge-2.0.pc
(inputs
`(("atk" ,atk)))
(define-public gtk+
(package (inherit gtk+-2)
(name "gtk+")
- (version "3.24.14")
+ (version "3.24.24")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
name "-" version ".tar.xz"))
(sha256
(base32
- "120yz5gxqbv7sgdbcy4i0b6ixm8jpjzialdrqs0gv15q7bwnjk8w"))
+ "12ipk1d376bai9v820qzhxba93kkh5abi6mhyqr4hwjvqmkl77fc"))
(patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
(propagated-inputs
(define-public guile-cairo
(package
(name "guile-cairo")
- (version "1.10.0")
+ (version "1.11.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/guile-cairo/guile-cairo-"
version ".tar.gz"))
(sha256
(base32
- "0p6xrhf2k6n5dybn88050za7h90gnd7534n62l53vsca187pwgdf"))
+ "0yx0844p61ljd4d3d63qrawiygiw6ks02fwv2cqx7nav5kfd8ck2"))
(modules '((guix build utils)))
(snippet
(begin
(string-append name "dir = " prefix
"/guile/site/@GUILE_EFFECTIVE_VERSION@"
suffix)))
-
- ;; Guile 2.x <libguile.h> used to pull in <string.h> and
- ;; other headers but this is no longer the case in 3.0.
- (substitute* (find-files "." "\\.[ch]$")
- (("^ *# *include.*libguile\\.h.*$")
- "#include <libguile.h>\n#include <string.h>\n"))
#t)))))
(build-system gnu-build-system)
(arguments
;; Uses of 'scm_t_uint8' & co. are deprecated; don't stop the build
;; because of them.
- '(#:configure-flags '("--disable-Werror")))
+ `(#:configure-flags '("--disable-Werror")
+ #:make-flags '("GUILE_AUTO_COMPILE=0") ; to prevent guild warnings
+ #:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (ice-9 rdelim)
+ (ice-9 popen))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'install-go-files
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (effective (read-line
+ (open-pipe* OPEN_READ
+ "guile" "-c"
+ "(display (effective-version))")))
+ (module-dir (string-append out "/share/guile/site/"
+ effective))
+ (object-dir (string-append out "/lib/guile/" effective
+ "/site-ccache"))
+ (prefix (string-length module-dir)))
+ ;; compile to the destination
+ (for-each (lambda (file)
+ (let* ((base (string-drop (string-drop-right file 4)
+ prefix))
+ (go (string-append object-dir base ".go")))
+ (invoke "guild" "compile" "-L" module-dir
+ file "-o" go)))
+ (find-files module-dir "\\.scm$"))
+ #t))))))
(inputs
`(("guile-lib" ,guile-lib)
("expat" ,expat)
(version (string-append "2.18.1-" revision "."
(string-take commit 7)))
(source (origin
- (method url-fetch)
- (uri (string-append "https://gitlab.com/wingo/guile-rsvg/"
- "repository/archive.tar.gz?ref="
- commit))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/wingo/guile-rsvg/")
+ (commit commit)))
(sha256
(base32
- "0vdzjx8l5nc4y2xjqs0g1rqn1zrwfsm30brh5gz00r1x41a2pvv2"))
+ "0cnbl40df2sbhpc32cma6j6w312rfvcgbxxqaixgf0ymim3fb248"))
(patches (search-patches "guile-rsvg-pkgconfig.patch"))
(modules '((guix build utils)))
(snippet
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
(arguments
- `(#:phases (modify-phases %standard-phases
- (replace 'bootstrap
- (lambda _
- (invoke "autoreconf" "-vfi"))))))
+ `(#:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (ice-9 rdelim)
+ (ice-9 popen))
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'bootstrap
+ (lambda _
+ (invoke "autoreconf" "-vfi")))
+ (add-after 'install 'install-go-files
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (effective (read-line
+ (open-pipe* OPEN_READ
+ "guile" "-c"
+ "(display (effective-version))")))
+ (module-dir (string-append out "/share/guile/site/"
+ effective))
+ (object-dir (string-append out "/lib/guile/" effective
+ "/site-ccache"))
+ (prefix (string-length module-dir)))
+ ;; compile to the destination
+ (for-each (lambda (file)
+ (let* ((base (string-drop (string-drop-right file 4)
+ prefix))
+ (go (string-append object-dir base ".go")))
+ (invoke "guild" "compile" "-L" module-dir
+ file "-o" go)))
+ (find-files module-dir "\\.scm$"))
+ #t))))))
(native-inputs `(("pkg-config" ,pkg-config)
("autoconf" ,autoconf)
("automake" ,automake)
library.")
(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++)))))
+
(define-public pangomm
(package
(name "pangomm")
library.")
(license license:lgpl2.1+)))
+(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")
(define-public python-pycairo
(package
(name "python-pycairo")
- (version "1.19.0")
+ (version "1.19.1")
(source
(origin
(method url-fetch)
version "/pycairo-" version ".tar.gz"))
(sha256
(base32
- "176i283glkpycka8wwyndwld0zp1yn9xj9rpvllqgja698vsjnsg"))))
+ "111fav9m1iagw3nh2ws2vzkjh34r97yl7rdlpvsngsqg521k251c"))))
(build-system python-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
(define-public perl-cairo
(package
(name "perl-cairo")
- (version "1.107")
+ (version "1.108")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.gz"))
(sha256
(base32
- "0sg1gf1f2pjq7pji0zsv4rbi3bzpsx82z98k7yqxafzrvlkf27ay"))))
+ "1nh5iya63q6j2w0cdi24x2ygpi8k8wwccnbh8cisnx8nqmywnhk0"))))
(build-system perl-build-system)
(native-inputs
`(("perl-extutils-depends" ,perl-extutils-depends)
(sha256
(base32 "08rpw9hkaprm4r853xy1d35i2af1pji8c3mzzl01mmwmyr9p0x8k"))))
(native-inputs `(("pkg-config" ,pkg-config)
- ("check" ,check)
+ ("check" ,check-0.14)
("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
("xorg-server" ,xorg-server-for-tests)))
can also be used to document application code.")
(license license:gpl2+)))
+;; This is a variant of the 'gtk-doc' package that is not updated often. It
+;; is intended to be used as a native-input at build-time only. This allows
+;; the main 'gtk-doc', 'dblatex' and 'imagemagick' packages to be freely
+;; updated on the 'master' branch without triggering an excessive number of
+;; rebuilds.
+(define-public gtk-doc/stable
+ (hidden-package
+ (package/inherit gtk-doc
+ (inputs (alist-replace "dblatex" `(,dblatex/stable)
+ (package-inputs gtk-doc))))))
+
(define-public gtk-engines
(package
(name "gtk-engines")
(define-public gtkspell3
(package
(name "gtkspell3")
- (version "3.0.9")
+ (version "3.0.10")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gtkspell/"
version "/" name "-" version ".tar.xz"))
(sha256
(base32
- "09jdicmpipmj4v84gnkqwbmj4lh8v0i6pn967rb9jx4zg2ia9x54"))))
+ "0cjp6xdcnzh6kka42w9g0w2ihqjlq8yl8hjm9wsfnixk6qwgch5h"))))
(build-system gnu-build-system)
(native-inputs
`(("intltool" ,intltool)
("gtk+" ,gtk+)
("pango" ,pango)))
(propagated-inputs
- `(("enchant" ,enchant-1.6))) ;gtkspell3-3.0.pc refers to it
+ `(("enchant" ,enchant))) ; gtkspell3-3.0.pc refers to it
(home-page "http://gtkspell.sourceforge.net")
(synopsis "Spell-checking addon for GTK's TextView widget")
(description
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/CristianHenzel/ClipIt.git")
+ (url "https://github.com/CristianHenzel/ClipIt")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(define-public graphene
(package
(name "graphene")
- (version "1.6.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"))
- (sha256
- (base32 "1zd2daj7y590wnzn4jw0niyc4fnzgxrcl9i7nwhy8b25ks2hz5wq"))))
- (build-system gnu-build-system)
+ (version "1.10.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/ebassi/graphene.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "14a0j1rvjlc7yhfdmhmckdmkzy4ch61qbzywdlw1xv58h23wx29p"))))
+ (build-system meson-build-system)
(arguments
- `(#:configure-flags '("--enable-introspection=yes")))
+ `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
+ #:configure-flags
+ (list
+ "-Dinstalled_tests=false")))
(native-inputs
- `(("autoconf" ,autoconf)
- ("which" ,which)
- ("pkg-config" ,pkg-config)
- ("automake" ,automake)
- ("libtool" ,libtool)))
+ `(("git" ,git-minimal)
+ ("gobject-introspection" ,gobject-introspection)
+ ("mutest" ,mutest)
+ ("pkg-config" ,pkg-config)))
(inputs
- `(("python" ,python)
- ("python-2" ,python-2)
- ("glib" ,glib)
- ("gobject-introspection" ,gobject-introspection)))
- (home-page "https://ebassi.github.io/graphene/")
+ `(("glib" ,glib)
+ ("python" ,python)))
(synopsis "Thin layer of graphic data types")
- (description "This library provides graphic types and their relative API;
-it does not deal with windowing system surfaces, drawing, scene graphs, or
-input.")
+ (description "Graphene provides graphic types and their relative API; it
+does not deal with windowing system surfaces, drawing, scene graphs, or input.")
+ (home-page "https://ebassi.github.io/graphene/")
(license license:expat)))
(define-public spread-sheet-widget
(package
(name "spread-sheet-widget")
- (version "0.3")
+ (version "0.7")
(source
(origin
(method url-fetch)
(uri (string-append "https://alpha.gnu.org/gnu/ssw/"
"spread-sheet-widget-" version ".tar.gz"))
(sha256
- (base32 "1h93yyh2by6yrmkwqg38nd5knids05k5nqzcihc1hdwgzg3c4b8y"))))
+ (base32 "09rzgp7gabnzab460x874a1ibgyjiibpwzsz5srn9zs6jv2jdxjb"))))
(build-system gnu-build-system)
(native-inputs
`(("glib" ,glib "bin") ; for glib-genmarshal, etc.
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/v1cont/yad.git")
+ (url "https://github.com/v1cont/yad")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@url{https://sourceforge.net/p/yad-dialog/wiki/browse_pages/}.")
(license license:gpl3+)))
+(define-public dragon-drop
+ (package
+ (name "dragon-drop")
+ (version "1.1.1")
+ (source (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/mwh/dragon")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0fgzz39007fdjwq72scp0qygp2v3zc5f1xkm0sxaa8zxm25g1bra"))))
+ (build-system gnu-build-system)
+ (inputs `(("gtk+" ,gtk+)))
+ (native-inputs `(("pkg-config" ,pkg-config)))
+ (arguments
+ `(#:tests? #f ; no check
+ #:make-flags
+ (list (string-append "CC=" ,(cc-for-target))
+ ;; makefile uses PREFIX for the binary location
+ (string-append "PREFIX=" (assoc-ref %outputs "out")
+ "/bin"))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)))) ; no configure script
+ (synopsis "Drag and drop source/target for X")
+ (description
+ "Dragon is a lightweight drag-and-drop source for X where you can run:
+
+@example
+dragon file.tar.gz
+@end example
+
+to get a window with just that file in it, ready to be dragged where you need it.
+What if you need to drag into something? Using:
+
+@example
+dragon --target
+@end example
+
+you get a window you can drag files and text into. Dropped items are
+printed to standard output.")
+ (home-page "https://github.com/mwh/dragon")
+ (license license:gpl3+)))
+
(define-public libdbusmenu
(package
(name "libdbusmenu")
"/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" "")
(define-public gtk-layer-shell
(package
(name "gtk-layer-shell")
- (version "0.1.0")
+ (version "0.6.0")
(source
(origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/wmww/gtk-layer-shell/releases/download/v"
- version "/gtk-layer-shell-" version ".tar.xz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/wmww/gtk-layer-shell")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "0ncklk3z0fzlz6p76jdcrr1ykyp1f4ykjjch4x2hfp9bwsnl4a3m"))))
+ (base32 "1kcp4p3s7sdh9lwniybjdarfy8z69j2j23hfrw98amhwhq39gdcc"))))
(build-system meson-build-system)
+ (arguments `(#:configure-flags (list "-Dtests=true")))
(native-inputs `(("pkg-config" ,pkg-config)
("gobject-introspection" ,gobject-introspection)))
(inputs `(("wayland" ,wayland)
`(("gettext" ,gettext-minimal)
("glib-bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
- ("gtk-doc" ,gtk-doc)
+ ("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)
("python" ,python)))
(inputs
library for drawing.")
(home-page "https://wiki.gnome.org/GooCanvas")
(license license:lgpl2.0)))
+
+(define-public gtksheet
+ (package
+ (name "gtksheet")
+ (version "4.3.5")
+ (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
+ "13jwr1vly4ga3f09dajwky1cdrz5bmggwga3vnnd6j6zzia7dpyr"))))
+ (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))
+ (add-after 'unpack 'rename-type
+ (lambda _
+ (substitute* "glade/glade-gtksheet-editor.c"
+ (("GladeEditableIface") "GladeEditableInterface"))
+ #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)))))
+ (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+)))
+
+(define-public gtkdatabox
+ (package
+ (name "gtkdatabox")
+ (version "1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/gtkdatabox/gtkdatabox3/"
+ "gtkdatabox-" version ".tar.gz"))
+ (sha256
+ (base32 "1qykm551bx8j8pfgxs60l2vhpi8lv4r8va69zvn2594lchh71vlb"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("gtk+" ,gtk+)))
+ (synopsis "Display widget for dynamic data")
+ (description "GtkDatabox is a widget for live display of large amounts of
+fluctuating numerical data. It enables data presentation (for example, on
+linear or logarithmic scales, as dots or lines, with markers/labels) as well as
+user interaction (e.g. measuring distances).")
+ (home-page "https://sourceforge.net/projects/gtkdatabox/")
+ (license license:lgpl2.1+)))