;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-xyz)
#:use-module (gnu packages guile)
+ #:use-module (gnu packages guile-xyz)
#:use-module (gnu packages cups)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
- #:use-module (gnu packages xdisorg))
+ #:use-module (gnu packages xdisorg)
+ #:use-module (srfi srfi-1)
+ #:use-module (srfi srfi-26))
(define-public atk
(package
(define-public cairo
(package
(name "cairo")
- (version "1.14.12")
+ (version "1.16.0")
(source (origin
(method url-fetch)
(uri (string-append "https://cairographics.org/releases/cairo-"
version ".tar.xz"))
(sha256
(base32
- "05mzyxkvsfc1annjw2dja8vka01ampp9pp93lg09j8hba06g144c"))
- (patches (search-patches "cairo-CVE-2016-9082.patch"))))
+ "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
(build-system gnu-build-system)
(propagated-inputs
`(("fontconfig" ,fontconfig)
(define-public harfbuzz
(package
(name "harfbuzz")
- (version "1.8.4")
+ (version "2.2.0")
(source (origin
(method url-fetch)
(uri (string-append "https://www.freedesktop.org/software/"
version ".tar.bz2"))
(sha256
(base32
- "1za5lmzz4j2plh6a12llnwxyy7dnspsykjlq1qp9x9hdza32yn9w"))))
+ "047q63jr513azf3g1y7f5xn60b4jdjs9zsmrx04sfw5rasyzrk5p"))))
(build-system gnu-build-system)
(outputs '("out"
"bin")) ; 160K, only hb-view depend on cairo
(define-public pango
(package
(name "pango")
- (version "1.42.2")
+ (version "1.42.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/pango/"
name "-" version ".tar.xz"))
(sha256
(base32
- "1qm17k7r4299jbvqifk469q4hs5qj9j19kr4h9nfy5h4sjs1dr5i"))))
+ "17bwb7dgbncrfsmchlib03k9n3xaalirb39g3yb43gg8cg6p8aqx"))))
(build-system gnu-build-system)
(propagated-inputs
;; These are all in Requires or Requires.private of the '.pc' files.
(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)
(define-public gtksourceview
(package
(name "gtksourceview")
- (version "3.24.7")
+ (version "3.24.8")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
name "-" version ".tar.xz"))
(sha256
(base32
- "1rp8zspwyw3mmdgccsas3pa6v7s0hqjaaglg6n4kcls7ccx0vhm5"))))
+ "1zinqid62zjcsq7vy1y4mq1qh3hzd3zj7p8np7g0bdqd37zvi6qy"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(define-public gdk-pixbuf
(package
(name "gdk-pixbuf")
- (version "2.36.12")
+ (version "2.38.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
name "-" version ".tar.xz"))
(sha256
(base32
- "0d534ysa6n9prd17wwzisq7mj6qkhwh8wcf8qgin1ar3hbs5ry7z"))))
- (build-system gnu-build-system)
+ "0ixfmnxjylx06mjaw116apymwi1a8rnkmkbbvqaxxg2pfwy9fl6x"))))
+ (build-system meson-build-system)
(arguments
- '(#:configure-flags '("--with-x11")
+ `(#:configure-flags '("-Dinstalled_tests=false")
#:phases
(modify-phases %standard-phases
(add-after
'unpack 'disable-failing-tests
(lambda _
- (substitute* "tests/Makefile.in"
+ (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\\$\\(EXEEXT\\) ") "")
+ ((".*'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\\$\\(EXEEXT\\) ") ""))
- #t)))))
+ ((".*'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"))))
+ '())
+ (add-before 'configure 'aid-install-script
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; "build-aux/post-install.sh" invokes `gdk-pixbuf-query-loaders`
+ ;; for updating loader.cache, but it's not on PATH. Make it use
+ ;; the one we're installing. XXX: Won't work when cross-compiling.
+ (substitute* "build-aux/post-install.sh"
+ (("gdk-pixbuf-query-loaders" match)
+ (string-append (assoc-ref outputs "out") "/bin/" match)))
+ #t)))))
(propagated-inputs
`(;; Required by gdk-pixbuf-2.0.pc
("glib" ,glib)
("libx11" ,libx11)))
(native-inputs
`(("pkg-config" ,pkg-config)
+ ("gettext" ,gettext-minimal)
("glib" ,glib "bin") ; glib-mkenums, etc.
("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
(synopsis "GNOME image loading and manipulation library")
`(("librsvg" ,librsvg)
,@(package-inputs gdk-pixbuf)))
(arguments
- '(#:configure-flags '("--with-x11")
+ '(#:configure-flags '("-Dinstalled-tests=false")
#:tests? #f ; tested by the gdk-pixbuf package already
#:phases
(modify-phases %standard-phases
(define-public at-spi2-atk
(package
(name "at-spi2-atk")
- (version "2.26.1")
+ (version "2.26.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
name "-" version ".tar.xz"))
(sha256
(base32
- "0x9vc99ni46fg5dzlx67vbw0zqffr24gz8jvbdxbmzyvc5xw5w5l"))))
+ "0vkan52ab9vrkknnv8y4f1cspk8x7xd10qx92xk9ys71p851z2b1"))))
(build-system gnu-build-system)
(arguments
'(#:phases
suitable for projects ranging from small one-off tools to complete
application suites.")
(license license:lgpl2.0+)
- (home-page "http://www.gtk.org/")))
+ (home-page "https://www.gtk.org/")))
(define-public gtk+
(package (inherit gtk+-2)
(name "gtk+")
;; NOTE: When updating the version of 'gtk+', the hash of 'mate-themes' in
;; mate.scm will also need to be updated.
- (version "3.22.30")
+ (version "3.24.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
name "-" version ".tar.xz"))
(sha256
(base32
- "0rv5k8fyi2i19k4zncai6vf429s6zy3kncr8vb6f3m034z0sb951"))
+ "14l8mimdm44r3h5pn5hzigl1z25jna8jxvb16l88v4nc4zj0afsv"))
(patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
- "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
+ "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Version 3.24.2 was released with a typo that broke the build.
+ ;; See upstream commit 2905fc861acda3d134a198e56ef2f6c962ad3061
+ ;; at <https://gitlab.gnome.org/GNOME/gtk/tree/gtk-3-24>
+ (substitute* "docs/tools/shooter.c"
+ (("gdk_screen_get_dfeault") "gdk_screen_get_default"))
+ #t))))
(outputs '("out" "bin" "doc"))
(propagated-inputs
`(("at-spi2-atk" ,at-spi2-atk)
("python-wrapper" ,python-wrapper)
;; By using a special xorg-server for GTK+'s tests, we reduce the impact
;; of updating xorg-server directly on the master branch.
- ("xorg-server" ,xorg-server-1.19.3)))
+ ("xorg-server" ,xorg-server-for-tests)))
(arguments
- `(#:disallowed-references (,xorg-server-1.19.3)
+ `(#:disallowed-references (,xorg-server-for-tests)
;; 47 MiB goes to "out" (24 of which is locale data!), and 26 MiB goes
;; to "doc".
#:configure-flags (list (string-append "--with-html-dir="
(define-public guile-cairo
(package
(name "guile-cairo")
- (version "1.4.1")
+ (version "1.10.0")
(source (origin
(method url-fetch)
- (uri (string-append
- "http://download.gna.org/guile-cairo/guile-cairo-"
- version
- ".tar.gz"))
+ (uri (string-append "mirror://savannah/guile-cairo/guile-cairo-"
+ version ".tar.gz"))
(sha256
(base32
- "1f5nd9n46n6cwfl1byjml02q3y2hgn7nkx98km1czgwarxl7ws3x"))))
+ "0p6xrhf2k6n5dybn88050za7h90gnd7534n62l53vsca187pwgdf"))
+ (modules '((guix build utils)))
+ (snippet
+ (begin
+ '(begin
+ ;; Install Scheme files in …/guile/site/X.Y.
+ (substitute* (find-files "." "^Makefile\\.in$")
+ (("^(.*)dir = (.*)/guile/site(.*)" _ name prefix suffix)
+ (string-append name "dir = " prefix
+ "/guile/site/@GUILE_EFFECTIVE_VERSION@"
+ suffix)))
+ #t)))))
(build-system gnu-build-system)
- (arguments
- '(#:modules ((guix build utils)
- (guix build gnu-build-system)
- (ice-9 popen)
- (ice-9 rdelim))
-
- #:phases (modify-phases %standard-phases
- (add-before 'configure 'set-module-directory
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Install modules under $out/share/guile/site/2.0.
- (let ((out (assoc-ref outputs "out"))
- (effective
- (read-line
- (open-pipe* OPEN_READ "guile" "-c"
- "(display (effective-version))"))))
- (substitute* "Makefile.in"
- (("scmdir = ([[:graph:]]+).*" _ value)
- (string-append "scmdir = " value "/" effective "\n")))
- (substitute* "cairo/Makefile.in"
- (("moduledir = ([[:graph:]]+).*" _ value)
- (string-append "moduledir = "
- "$(prefix)/share/guile/site/"
- effective "/cairo\n'")))
- #t)))
- (add-after 'install 'install-missing-file
- (lambda* (#:key outputs #:allow-other-keys)
- ;; By default 'vector-types.scm' is not installed, so do
- ;; it here.
- (let ((out (assoc-ref outputs "out"))
- (effective
- (read-line
- (open-pipe* OPEN_READ "guile" "-c"
- "(display (effective-version))"))))
- (install-file "cairo/vector-types.scm"
- (string-append out "/share/guile/site/"
- effective "/cairo"))
- #t))))))
(inputs
`(("guile-lib" ,guile-lib)
("expat" ,expat)
(sha256
(base32
"1qam447m05sxxv6x8dlzg7qnyfc4dh8apjw1idpfhpns671gfr6m"))
- (patches (search-patches "guile-present-coding.patch"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- (substitute* "Makefile.in"
- (("godir = .*$")
- "godir = $(moddir)\n"))
- #t))))
+ (patches (search-patches "guile-present-coding.patch"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)
("glib" ,glib "bin") ;for 'glib-compile-resources'
- ("xorg-server" ,xorg-server-1.19.3)))
+ ("xorg-server" ,xorg-server-for-tests)))
(propagated-inputs
`(("pangomm" ,pangomm)
("cairomm" ,cairomm)
`(;; XXX: Tests require C++14 or later. Remove this when the default
;; compiler is >= GCC6.
#:configure-flags '("CXXFLAGS=-std=gnu++14")
- #:disallowed-references (,xorg-server-1.19.3)
+ #:disallowed-references (,xorg-server-for-tests)
#:phases (modify-phases %standard-phases
(add-before 'check 'run-xvfb
(lambda* (#:key inputs #:allow-other-keys)
(define-public python-pycairo
(package
(name "python-pycairo")
- (version "1.16.3")
+ (version "1.17.1")
(source
(origin
(method url-fetch)
version "/pycairo-" version ".tar.gz"))
(sha256
(base32
- "1xq1bwhyi5imca5kvd28szh2rdzi8g0kaspwaqgsbczqskjj3csv"))))
+ "165n0g7gp2a0qi8558snvfans17x83jv2lv7bx4vr1rxjbn3a2hg"))))
(build-system python-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("perl-extutils-pkgconfig" ,perl-extutils-pkgconfig)))
(inputs
`(("cairo" ,cairo)))
- (home-page "http://search.cpan.org/dist/Cairo/")
+ (home-page "https://metacpan.org/release/Cairo")
(synopsis "Perl interface to the cairo 2d vector graphics library")
(description "Cairo provides Perl bindings for the vector graphics library
cairo. It supports multiple output targets, including PNG, PDF and SVG. Cairo
`(("gtk+" ,gtk+-2)))
(propagated-inputs
`(("perl-pango" ,perl-pango)))
- (home-page "http://search.cpan.org/dist/Gtk2/")
+ (home-page "https://metacpan.org/release/Gtk2")
(synopsis "Perl interface to the 2.x series of the Gimp Toolkit library")
(description "Perl bindings to the 2.x series of the Gtk+ widget set.
This module allows you to write graphical user interfaces in a Perlish and
(propagated-inputs
`(("perl-cairo" ,perl-cairo)
("perl-glib" ,perl-glib)))
- (home-page "http://search.cpan.org/dist/Pango/")
+ (home-page "https://metacpan.org/release/Pango")
(synopsis "Layout and render international text")
(description "Pango is a library for laying out and rendering text, with an
emphasis on internationalization. Pango can be used anywhere that text layout
(define-public girara
(package
(name "girara")
- (version "0.2.9")
+ (version "0.3.2")
(source (origin
(method url-fetch)
(uri
version ".tar.xz"))
(sha256
(base32
- "0lkxrfna818wkkr2f6mdzf15y5z8xl1b9592ylmzjbqsqya3w7x8"))))
+ "1kc6n1mxjxa7wvwnqy94qfg8l9jvx9qrvrr2kc7m4g0z20x3a00p"))))
(native-inputs `(("pkg-config" ,pkg-config)
("check" ,check)
("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
- ("xorg-server" ,xorg-server-1.19.3)))
+ ("xorg-server" ,xorg-server-for-tests)))
;; Listed in 'Requires.private' of 'girara.pc'.
(propagated-inputs `(("gtk+" ,gtk+)))
(arguments
(string-append (assoc-ref inputs "docbook-xsl")
"/xml/xsl/docbook-xsl-"
,(package-version docbook-xsl)
- "/html/chunk.xsl")))
+ "/html/chunk.xsl"))
+ (("http://docbook.sourceforge.net/release/xsl/current/common/en.xml")
+ (string-append (assoc-ref inputs "docbook-xsl")
+ "/xml/xsl/docbook-xsl-"
+ ,(package-version docbook-xsl)
+ "/common/en.xml")))
#t))
(add-after 'patch-gtk-doc-scan 'patch-test-out
(lambda _
("source-highlight" ,source-highlight)
("glib" ,glib)
("python-six" ,python-six)))
- (home-page "http://www.gtk.org/gtk-doc/")
+ (home-page "https://www.gtk.org/gtk-doc/")
(synopsis "Documentation generator from C source code")
(description
"GTK-Doc generates API documentation from comments added to C code. It is
`(("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(inputs
- `(("enchant" ,enchant)
- ("gobject-introspection" ,gobject-introspection)
+ `(("gobject-introspection" ,gobject-introspection)
("gtk+" ,gtk+)
("pango" ,pango)))
(propagated-inputs
- `(("enchant" ,enchant))) ; gtkspell3-3.0.pc refers to it.
+ `(("enchant" ,enchant-1.6))) ;gtkspell3-3.0.pc refers to it
(home-page "http://gtkspell.sourceforge.net")
(synopsis "Spell-checking addon for GTK's TextView widget")
(description
(base32 "1zd2daj7y590wnzn4jw0niyc4fnzgxrcl9i7nwhy8b25ks2hz5wq"))))
(build-system gnu-build-system)
(arguments
- `(#:configure-flags '("--enable-introspection=yes")
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'autogen
- (lambda _
- (zero? (system* "./autogen.sh")))))))
+ `(#:configure-flags '("--enable-introspection=yes")))
(native-inputs
`(("autoconf" ,autoconf)
("which" ,which)
it does not deal with windowing system surfaces, drawing, scene graphs, or
input.")
(license license:expat)))
+
+(define-public spread-sheet-widget
+ (package
+ (name "spread-sheet-widget")
+ (version "0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://alpha.gnu.org/gnu/ssw/"
+ name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1h93yyh2by6yrmkwqg38nd5knids05k5nqzcihc1hdwgzg3c4b8y"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
+ ("pkg-config" ,pkg-config)))
+ ;; In 'Requires' of spread-sheet-widget.pc.
+ (propagated-inputs
+ `(("glib" ,glib)
+ ("gtk+" ,gtk+)))
+ (home-page "https://www.gnu.org/software/ssw/")
+ (synopsis "Gtk+ widget for dealing with 2-D tabular data")
+ (description
+ "GNU Spread Sheet Widget is a library for Gtk+ which provides a widget for
+viewing and manipulating 2 dimensional tabular data in a manner similar to many
+popular spread sheet programs.")
+ (license license:gpl3+)))
+
+(define-public yad
+ (package
+ (name "yad")
+ (version "0.40.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/v1cont/yad.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1vpgbjbkkbk5plicyklzpf65j1vlig4n4bi3qpvrz5bb09ic5alw"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ '("--with-gtk=gtk3"
+ "--enable-html"
+ "--enable-gio"
+ "--enable-spell"
+ "--enable-icon-browser")
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'bootstrap
+ (lambda _
+ (invoke "autoreconf" "-vif")
+ (invoke "intltoolize" "--force" "--automake")
+ #t)))))
+ (inputs
+ `(("gtk+" ,gtk+)))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("intltool" ,intltool)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://sourceforge.net/projects/yad-dialog/")
+ (synopsis "GTK+ dialog boxes for shell scripts")
+ (description
+ "This program allows you to display GTK+ dialog boxes from command line or
+shell scripts. Example of how to use @code{yad} can be consulted at
+@url{https://sourceforge.net/p/yad-dialog/wiki/browse_pages/}.")
+ (license license:gpl3+)))