summaryrefslogtreecommitdiff
path: root/gnu/packages/gtk.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/gtk.scm')
-rw-r--r--gnu/packages/gtk.scm268
1 files changed, 107 insertions, 161 deletions
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 5eda60aa30..428273ee89 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -191,7 +191,7 @@ tools have full access to view and control running applications.")
("pkg-config" ,pkg-config)
("python" ,python-wrapper)))
(inputs
- `(("bash-minimal" ,bash-minimal)
+ `(("bash-minimal" ,bash-minimal) ;for glib-or-gtk-wrap
("drm" ,libdrm)
("ghostscript" ,ghostscript)
("libspectre" ,libspectre)
@@ -243,67 +243,41 @@ output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.")
(define-public harfbuzz
(package
- (name "harfbuzz")
- (version "2.8.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/harfbuzz/harfbuzz"
- "/releases/download/" version "/harfbuzz-"
- version ".tar.xz"))
- (sha256
- (base32
- "1rvv86wpm3y04fqns1655268rhvhvms469837709v2z2bhwn316m"))))
- (build-system gnu-build-system)
- (outputs '("out"
- "bin")) ; 160K, only hb-view depend on cairo
- (inputs
- (list cairo))
- (propagated-inputs
- ;; There are all in the Requires or Requires.private field of '.pc'.
- (list glib graphite2 icu4c))
- (native-inputs
- `(("glib:bin" ,glib "bin") ;for glib-mkenums
- ("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)
- ("python" ,python-wrapper)
- ("which" ,which)))
- (arguments
- `(#:configure-flags `("--with-graphite2"
- "--with-gobject"
- ,(string-append
- "--bindir=" (assoc-ref %outputs "bin") "/bin"))))
- (synopsis "OpenType text shaping engine")
- (description
- "HarfBuzz is an OpenType text shaping engine.")
- (license (license:x11-style "file://COPYING"
- "See 'COPYING' in the distribution."))
- (home-page "https://www.freedesktop.org/wiki/Software/HarfBuzz/")))
-
-(define-public harfbuzz-3
- (package
- (inherit harfbuzz)
- (version "3.4.0")
+ (name "harfbuzz")
+ (version "5.1.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/harfbuzz/harfbuzz"
- "/releases/download/" version
- "/harfbuzz-" version ".tar.xz"))
+ "/releases/download/" version "/harfbuzz-"
+ version ".tar.xz"))
(sha256
(base32
- "0lprrl8iih8ji1n17xwm5llz05a1hv4g04b7a3y229dq9myahn3i"))))))
-
-(define-public harfbuzz-4
- (package
- (inherit harfbuzz)
- (version "4.3.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/harfbuzz/harfbuzz"
- "/releases/download/" version
- "/harfbuzz-" version ".tar.xz"))
- (sha256
- (base32
- "0c5mzwgz43d37h75p4b6cgjg4v24jdd96i7gjpgxirn8qks2i5m4"))))))
+ "01agx06abnb0sv6m685i65ghi07zw8dx4n89sslam0c7cvdrbnrf"))))
+ (build-system gnu-build-system)
+ (outputs '("out"
+ "bin")) ;160K, only hb-view depend on cairo
+ (inputs
+ (list cairo))
+ (propagated-inputs
+ ;; There are all in the Requires or Requires.private field of '.pc'.
+ (list glib graphite2 icu4c))
+ (native-inputs
+ (list `(,glib "bin") ;for glib-mkenums
+ gobject-introspection
+ pkg-config
+ python-wrapper
+ which))
+ (arguments
+ (list #:configure-flags
+ #~(list "--with-graphite2"
+ "--with-gobject"
+ (string-append "--bindir=" #$output:bin "/bin"))))
+ (synopsis "OpenType text shaping engine")
+ (description
+ "HarfBuzz is an OpenType text shaping engine.")
+ (license (license:x11-style "file://COPYING"
+ "See 'COPYING' in the distribution."))
+ (home-page "https://www.freedesktop.org/wiki/Software/HarfBuzz/")))
(define-public libdatrie
(package
@@ -338,7 +312,7 @@ representing trie. Trie is a kind of digital search tree.")
(define-public libthai
(package
(name "libthai")
- (version "0.1.28")
+ (version "0.1.29")
(source
(origin
(method url-fetch)
@@ -346,7 +320,7 @@ representing trie. Trie is a kind of digital search tree.")
(string-append "https://linux.thai.net/pub/thailinux/software/"
"libthai/libthai-" version ".tar.xz"))
(sha256
- (base32 "04g93bgxrcnay9fglpq2lj9nr7x1xh06i60m7haip8as9dxs3q7z"))))
+ (base32 "1kab1w6i1fb76807xrwjfac8n2nky8jbvkhpnh117qahrdywr07w"))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(arguments
@@ -371,7 +345,7 @@ applications.")
(define-public pango
(package
(name "pango")
- (version "1.48.10")
+ (version "1.50.8")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/pango/"
@@ -380,7 +354,7 @@ applications.")
(patches (search-patches "pango-skip-libthai-test.patch"))
(sha256
(base32
- "166wxhsjb6hb0dk7wkkdcmpvasl9n0a0aa64mdgagzfdidwzbq91"))))
+ "1yjm28qnq4v3dm8nj59cmhjiszv6x4h4j0y4fhqh4v0lvmcnyqng"))))
(build-system meson-build-system)
(arguments
'(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
@@ -396,26 +370,26 @@ applications.")
(("\\[ 'test-harfbuzz'.*") "")))))))
(propagated-inputs
;; These are all in Requires or Requires.private of the '.pc' files.
- `(("cairo" ,cairo)
- ("fontconfig" ,fontconfig)
- ("freetype" ,freetype)
- ("fribidi" ,fribidi)
- ("glib" ,glib)
- ("harfbuzz" ,harfbuzz)
- ("libthai" ,libthai)
- ;; Some packages, such as Openbox, expect Pango to be built with the
- ;; optional libxft support.
- ("libxft" ,libxft)
- ("libxrender" ,libxrender)))
+ (list cairo
+ fontconfig
+ freetype
+ fribidi
+ glib
+ harfbuzz
+ libthai
+ ;; Some packages, such as Openbox, expect Pango to be built with the
+ ;; optional libxft support.
+ libxft
+ libxrender))
(inputs
(list bash-minimal zlib))
(native-inputs
- `(("glib" ,glib "bin") ; glib-mkenums, etc.
- ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler, etc.
- ("help2man" ,help2man)
- ("perl" ,perl)
- ("pkg-config" ,pkg-config)
- ("python" ,python-wrapper)))
+ (list `(,glib "bin") ;glib-mkenums, etc.
+ gobject-introspection ;g-ir-compiler, etc.
+ help2man
+ perl
+ pkg-config
+ python-wrapper))
(synopsis "Text and font handling library")
(description "Pango is a library for laying out and rendering of text, with
an emphasis on internationalization. Pango can be used anywhere that text
@@ -425,22 +399,6 @@ handling for GTK+-2.x.")
(home-page "https://pango.gnome.org/")
(license license:lgpl2.0+)))
-;; TODO: Make this the default package in next release cycle.
-(define-public pango-next
- (package
- (inherit pango)
- (name "pango")
- (version "1.50.4")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/pango/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (patches (search-patches "pango-skip-libthai-test.patch"))
- (sha256
- (base32
- "0qn1a7ccs3p5vc6swbqm6hdzka879l0gp9220lq4bcf2gpl67bgl"))))))
-
(define-public pango-1.42
(package
(inherit pango)
@@ -487,9 +445,7 @@ handling for GTK+-2.x.")
#~(begin
(substitute* "pango/pangocairo-font.c"
(("cairo_user_font_face_set_render_color_glyph_func")
- "cairo_user_font_face_set_render_glyph_func"))))))
- (inputs (modify-inputs (package-inputs pango)
- (prepend harfbuzz-4)))))
+ "cairo_user_font_face_set_render_glyph_func"))))))))
(define-public pangox-compat
(package
@@ -672,7 +628,7 @@ highlighting and other features typical of a source code editor.")
(define-public gdk-pixbuf
(package
(name "gdk-pixbuf")
- (version "2.42.4")
+ (version "2.42.8")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -680,7 +636,7 @@ highlighting and other features typical of a source code editor.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0k9f9177qxaryaxprwrhqnv5p2gdq4a8i6y05gm98qa8izc5v77y"))))
+ "1iplb43nn74pp3w1wjwwn522i9man6jia85k6j8v4494rcxfmb44"))))
(build-system meson-build-system)
(outputs '("out" "debug"))
(arguments
@@ -688,57 +644,42 @@ highlighting and other features typical of a source code editor.")
#:configure-flags '("-Dinstalled_tests=false")
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'patch-docbook
- (lambda* (#:key native-inputs inputs #:allow-other-keys)
- (with-directory-excursion "docs"
- (substitute* "meson.build"
- (("http://docbook.sourceforge.net/release/xsl/current/")
- (string-append (assoc-ref ,(if (%current-target-system)
- '(or native-inputs inputs)
- 'inputs) "docbook-xsl")
- "/xml/xsl/docbook-xsl-1.79.2/")))
- (substitute* (find-files "." "\\.xml$")
- (("http://www.oasis-open.org/docbook/xml/4\\.3/")
- (string-append (assoc-ref ,(if (%current-target-system)
- '(or native-inputs inputs)
- 'inputs) "docbook-xml")
- "/xml/dtd/docbook/"))))))
(add-before 'configure 'disable-failing-tests
(lambda _
(substitute* "tests/meson.build"
(("\\[ 'pixbuf-fail', \\['conform', 'slow'\\], \\],")
""))))
;; The slow tests take longer than the specified timeout.
- ,@(if (any (cute string=? <> (%current-system))
- '("armhf-linux" "aarch64-linux"))
+ ,@(if (target-arm? (%current-system))
'((replace 'check
- (lambda _
- (invoke "meson" "test" "--timeout-multiplier" "5"))))
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "meson" "test" "--timeout-multiplier" "5")))))
'()))))
(propagated-inputs
- (list ;; Required by gdk-pixbuf-2.0.pc
- glib
- ;; Required by gdk-pixbuf-xlib-2.0.pc
- ;; TODO: Remove on core-updates.
- libx11
- ;; Used for testing and required at runtime.
- shared-mime-info))
+ (list glib ;in Requires of gdk-pixbuf-2.0.pc
+
+ ;; These are in Requires.private of gdk-pixbuf-2.0.pc
+ libjpeg-turbo
+ libpng
+ libtiff
+ shared-mime-info)) ;required at runtime, too
(inputs
- `(,@(if (%current-target-system)
- `(("bash-minimal" ,bash-minimal)) ; for glib-or-gtk-wrap
- '())
- ("libjpeg" ,libjpeg-turbo)
- ("libpng" ,libpng)
- ("libtiff" ,libtiff)))
+ (if (%current-target-system)
+ (list bash-minimal) ;for glib-or-gtk-wrap
+ '()))
(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.
- ("perl" ,perl)
- ("pkg-config" ,pkg-config)
- ("xsltproc" ,libxslt)))
+ (list gettext-minimal
+ `(,glib "bin") ;glib-mkenums, etc.
+ gobject-introspection ;g-ir-compiler, etc.
+ perl
+ pkg-config
+
+ ;; For the documentation.
+ docbook-xml-4.3
+ docbook-xsl
+ libxml2 ;for XML_CATALOG_FILES
+ libxslt)) ;for xsltproc
(native-search-paths
;; This file is produced by the gdk-pixbuf-loaders-cache-file
;; profile hook.
@@ -931,7 +872,7 @@ is part of the GNOME accessibility project.")
(propagated-inputs
(list atk cairo
(if (target-x86-64?)
- librsvg-bootstrap
+ librsvg
librsvg-2.40)
glib pango))
(inputs
@@ -973,6 +914,12 @@ is part of the GNOME accessibility project.")
(("g_test_add_func \\(\"/recent-manager.*;") ""))
(substitute* "gtk/tests/defaultvalue.c"
(("return g_test_run\\(\\);") ""))
+ ;; These require XPM support in Gdk-Pixbuf which is obsolete.
+ (substitute* "gtk/tests/textbuffer.c"
+ (("g_test_add_func.*test_fill_empty\\);")
+ "")
+ (("g_test_add_func.*test_tag\\);")
+ ""))
#t))
(add-before 'check 'pre-check
(lambda _
@@ -1030,7 +977,7 @@ application suites.")
fontconfig
freetype
(if (target-x86-64?)
- librsvg-bootstrap
+ librsvg
librsvg-2.40)
glib
libcloudproviders-minimal
@@ -1317,7 +1264,7 @@ application suites.")
libxkbcommon
libxrandr
libxrender
- pango-next
+ pango
vulkan-headers
vulkan-loader ;for vulkan graphics API support
wayland ;for wayland display-backend
@@ -1709,10 +1656,8 @@ library.")
(build-system meson-build-system)
(outputs '("out" "doc"))
(arguments
- `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
- #:configure-flags
- (list
- "-Dbuild-documentation=true")
+ '(#:glib-or-gtk? #t
+ #:configure-flags '("-Dbuild-documentation=true")
#:phases
(modify-phases %standard-phases
(add-after 'install 'move-doc
@@ -1722,19 +1667,18 @@ library.")
(mkdir-p (string-append doc "/share"))
(rename-file
(string-append out "/share/doc")
- (string-append doc "/share/doc"))
- #t))))))
+ (string-append doc "/share/doc"))))))))
(native-inputs
- `(("dot" ,graphviz)
- ("doxygen" ,doxygen)
- ("m4" ,m4)
- ("mm-common" ,mm-common)
- ("perl" ,perl)
- ("pkg-config" ,pkg-config)
- ("python" ,python)
- ("xsltproc" ,libxslt)))
+ (list doxygen
+ graphviz ;for 'dot'
+ libxslt ;for 'xsltproc'
+ m4
+ mm-common
+ perl
+ pkg-config
+ python))
(propagated-inputs
- (list cairo cairomm glibmm pango-next))
+ (list cairo cairomm glibmm pango))
(home-page "https://pango.gnome.org//")
(synopsis "C++ interface to the Pango text rendering library")
(description
@@ -1746,7 +1690,7 @@ library.")
(package
(inherit pangomm)
(name "pangomm")
- (version "2.46.0")
+ (version "2.46.2")
(source
(origin
(method url-fetch)
@@ -1755,7 +1699,7 @@ library.")
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
- (base32 "06zczkaxf5p5kjgnzrfylzi40w9a8lxpndgs7rpn12qrsq27sy6k"))))
+ (base32 "1x56xb4k1d9g88a1d9rlcvy97mmj39rib6c3wfzpff04vjs2li2p"))))
(propagated-inputs
(list cairomm-1.14 glibmm-2.64 pango))))
@@ -1970,7 +1914,7 @@ printing and other features typical of a source code editor.")
(define-public python-pycairo
(package
(name "python-pycairo")
- (version "1.20.0")
+ (version "1.21.0")
(source
(origin
(method url-fetch)
@@ -1978,7 +1922,7 @@ printing and other features typical of a source code editor.")
version "/pycairo-" version ".tar.gz"))
(sha256
(base32
- "1326aa2ybhhhrvz3n4p22z5sic25m016ddb5yq0hvbprnw6a35an"))))
+ "0jxpyibpjadw8ah1mqbhvryr795myiznb1ikm8wgjbamibqhf695"))))
(build-system python-build-system)
(native-inputs
(list pkg-config python-pytest))
@@ -1988,6 +1932,8 @@ printing and other features typical of a source code editor.")
(synopsis "Python bindings for cairo")
(description
"Pycairo is a set of Python bindings for the Cairo graphics library.")
+ (properties
+ '((upstream-name . "pycairo")))
(license license:lgpl3+)))
;; Pycairo no longer supports Python 2 since version 1.19.0, so we stick