;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
-;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
+;;; Coypright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Fabian Harfert <fhmgufs@web.de>
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; 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.10")
+ (version "1.16.0")
(source (origin
(method url-fetch)
(uri (string-append "https://cairographics.org/releases/cairo-"
version ".tar.xz"))
(sha256
(base32
- "02banr0wxckq62nbhc3mqidfdh2q956i2r7w2hd9bjgjb238g1vy"))
- (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.7.6")
+ (version "2.2.0")
(source (origin
(method url-fetch)
(uri (string-append "https://www.freedesktop.org/software/"
version ".tar.bz2"))
(sha256
(base32
- "16rf7qwgy1gza74v2ws79zdwwb1lpvgz2abwwm8ws9j82cwysyys"))))
+ "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.0")
- (replacement pango-1.42.4)
+ (version "1.42.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/pango/"
name "-" version ".tar.xz"))
(sha256
(base32
- "0illn78nfwpa8y5knh9ir74wa1skc2hi8f3ny19zgpyf7n5dh94r"))))
+ "17bwb7dgbncrfsmchlib03k9n3xaalirb39g3yb43gg8cg6p8aqx"))))
(build-system gnu-build-system)
(propagated-inputs
;; These are all in Requires or Requires.private of the '.pc' files.
`(("cairo" ,cairo)
+ ("fribidi" ,fribidi)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("glib" ,glib)
("harfbuzz" ,harfbuzz)))
(inputs
- `(("fribidi" ,fribidi)
- ("zlib" ,zlib)
+ `(("zlib" ,zlib)
;; Some packages, such as Openbox, expect Pango to be built with the
;; optional libxft support.
(license license:lgpl2.0+)
(home-page "https://developer.gnome.org/pango/")))
-(define-public pango-1.42.4
- (package
- (inherit pango)
- (version "1.42.4")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/pango/"
- (version-major+minor version) "/"
- "pango-" version ".tar.xz"))
- (sha256
- (base32
- "17bwb7dgbncrfsmchlib03k9n3xaalirb39g3yb43gg8cg6p8aqx"))))))
-
(define-public pangox-compat
(package
(name "pangox-compat")
(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 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
(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)
(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)
(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 _
`(("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)
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")