diff options
Diffstat (limited to 'gnu/packages/gtk.scm')
-rw-r--r-- | gnu/packages/gtk.scm | 254 |
1 files changed, 97 insertions, 157 deletions
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index cc25fac2aa..18531ec5f7 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") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/harfbuzz/harfbuzz" - "/releases/download/" version - "/harfbuzz-" version ".tar.xz")) - (sha256 - (base32 - "0lprrl8iih8ji1n17xwm5llz05a1hv4g04b7a3y229dq9myahn3i")))))) - -(define-public harfbuzz-4 - (package - (inherit harfbuzz) - (version "4.3.0") + (name "harfbuzz") + (version "5.0.1") (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 - "0c5mzwgz43d37h75p4b6cgjg4v24jdd96i7gjpgxirn8qks2i5m4")))))) + "0rli2xm0955gbqb75pzw34mh4p22b2rmk88aaksvjik3lfcl42fh")))) + (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 @@ -371,7 +345,7 @@ applications.") (define-public pango (package (name "pango") - (version "1.48.10") + (version "1.50.7") (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")))) + "0cxdwfvr0rsw82nfqzp29mznlx84q2fri9lrfbgrbinlldlz6xq4")))) (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. @@ -1317,7 +1258,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 +1650,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 +1661,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 +1684,7 @@ library.") (package (inherit pangomm) (name "pangomm") - (version "2.46.0") + (version "2.46.2") (source (origin (method url-fetch) @@ -1755,7 +1693,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 +1908,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 +1916,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 +1926,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 |