aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/gtk.scm202
1 files changed, 111 insertions, 91 deletions
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index db93eb5b44..74fd5ceb8e 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -923,97 +923,117 @@ application suites.")
(home-page "https://www.gtk.org/")))
(define-public gtk+
- (package (inherit gtk+-2)
- (name "gtk+")
- (version "3.24.24")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "12ipk1d376bai9v820qzhxba93kkh5abi6mhyqr4hwjvqmkl77fc"))
- (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
- "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
- (propagated-inputs
- `(("at-spi2-atk" ,at-spi2-atk)
- ("atk" ,atk)
- ;; SVG support is optional and requires librsvg, which pulls in rust.
- ;; Rust is not supported well on every architecture yet.
- ("gdk-pixbuf" ,(if (string-prefix? "x86_64" (or (%current-target-system)
- (%current-system)))
- gdk-pixbuf+svg
- gdk-pixbuf))
- ("libepoxy" ,libepoxy)
- ("libxcursor" ,libxcursor)
- ("libxi" ,libxi)
- ("libxinerama" ,libxinerama)
- ("libxkbcommon" ,libxkbcommon)
- ("libxdamage" ,libxdamage)
- ("libxrandr" ,libxrandr)
- ("mesa" ,mesa)
- ("pango" ,pango)
- ("wayland" ,wayland)
- ("wayland-protocols" ,wayland-protocols)))
- (inputs
- `(("libxml2" ,libxml2)
- ;; XXX: colord depends on mozjs (through polkit), which fails on
- ;; on non-intel systems now.
- ;;("colord" ,colord)
- ("cups" ,cups) ;for printing support
- ;; XXX: rest depends on p11-kit, which fails on mips64el now.
- ;;("rest" ,rest)
- ("json-glib" ,json-glib)))
- (native-inputs
- `(("perl" ,perl)
- ("glib" ,glib "bin")
- ("gettext" ,gettext-minimal)
- ("pkg-config" ,pkg-config)
- ("gobject-introspection" ,gobject-introspection)
- ("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-for-tests)))
- (arguments
- `(#: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="
- (assoc-ref %outputs "doc")
- "/share/gtk-doc/html")
- ;; The header file <gdk/gdkwayland.h> is required
- ;; by gnome-control-center
- "--enable-wayland-backend"
- ;; This is necessary to build both backends.
- "--enable-x11-backend"
- ;; This enables the HTML5 websocket backend.
- "--enable-broadway-backend")
- #:phases (modify-phases %standard-phases
- (add-before 'configure 'pre-configure
- (lambda _
- ;; Disable most tests, failing in the chroot with the message:
- ;; D-Bus library appears to be incorrectly set up; failed to read
- ;; machine uuid: Failed to open "/etc/machine-id": No such file or
- ;; directory.
- ;; See the manual page for dbus-uuidgen to correct this issue.
- (substitute* "testsuite/Makefile.in"
- (("SUBDIRS = gdk gtk a11y css reftests")
- "SUBDIRS = gdk"))
- #t))
- (add-after 'install 'move-desktop-files
- ;; Move desktop files into 'bin' to avoid cycle references.
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (bin (assoc-ref outputs "bin")))
- (mkdir-p (string-append bin "/share"))
- (rename-file (string-append out "/share/applications")
- (string-append bin "/share/applications"))
- #t))))))
- (native-search-paths
- (list (search-path-specification
- (variable "GUIX_GTK3_PATH")
- (files '("lib/gtk-3.0")))))))
+ (package
+ (inherit gtk+-2)
+ (name "gtk+")
+ (version "3.24.24")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "12ipk1d376bai9v820qzhxba93kkh5abi6mhyqr4hwjvqmkl77fc"))
+ (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
+ "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
+ (propagated-inputs
+ `(("at-spi2-atk" ,at-spi2-atk)
+ ("atk" ,atk)
+ ;; SVG support is optional and requires librsvg, which pulls in rust.
+ ;; Rust is not supported well on every architecture yet.
+ ("gdk-pixbuf" ,(if (string-prefix? "x86_64" (or (%current-target-system)
+ (%current-system)))
+ gdk-pixbuf+svg
+ gdk-pixbuf))
+ ("libepoxy" ,libepoxy)
+ ("libxcursor" ,libxcursor)
+ ("libxi" ,libxi)
+ ("libxinerama" ,libxinerama)
+ ("libxkbcommon" ,libxkbcommon)
+ ("libxdamage" ,libxdamage)
+ ("libxrandr" ,libxrandr)
+ ("mesa" ,mesa)
+ ("pango" ,pango)
+ ("wayland" ,wayland)
+ ("wayland-protocols" ,wayland-protocols)))
+ (inputs
+ `(("libxml2" ,libxml2)
+ ;; XXX: colord depends on mozjs (through polkit), which fails on
+ ;; on non-intel systems now.
+ ;;("colord" ,colord)
+ ("cups" ,cups) ;for printing support
+ ;; XXX: rest depends on p11-kit, which fails on mips64el now.
+ ;;("rest" ,rest)
+ ("json-glib" ,json-glib)))
+ (native-inputs
+ `(("perl" ,perl)
+ ("glib" ,glib "bin")
+ ("gettext" ,gettext-minimal)
+ ("pkg-config" ,pkg-config)
+ ("gobject-introspection" ,gobject-introspection)
+ ("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-for-tests)))
+ (arguments
+ `(#: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="
+ (assoc-ref %outputs "doc")
+ "/share/gtk-doc/html")
+ ;; The header file <gdk/gdkwayland.h> is required
+ ;; by gnome-control-center
+ "--enable-wayland-backend"
+ ;; This is necessary to build both backends.
+ "--enable-x11-backend"
+ ;; This enables the HTML5 websocket backend.
+ "--enable-broadway-backend")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'disable-failing-tests
+ (lambda _
+ (substitute* "testsuite/gtk/Makefile.in"
+ (("builderparser cellarea check-icon-names check-cursor-names")
+ "builderparser cellarea check-cursor-names")
+ (("notify no-gtk-init object objects-finalize papersize rbtree")
+ "no-gtk-init papersize rbtree")
+ (("stylecontext templates textbuffer textiter treemodel treepath")
+ "stylecontext textbuffer textiter treemodel treepath"))
+ (substitute* "testsuite/a11y/Makefile.in"
+ (("accessibility-dump tree-performance text children derive")
+ "tree-performance text children derive"))
+ (substitute* "testsuite/reftests/Makefile.in"
+ (("TEST_PROGS = gtk-reftest")
+ "TEST_PROGS = "))
+ #t))
+ (add-before 'check 'pre-check
+ (lambda _
+ ;; Tests require a running X server.
+ (system "Xvfb :1 +extension GLX &")
+ (setenv "DISPLAY" ":1")
+ ;; Tests write to $HOME.
+ (setenv "HOME" (getcwd))
+ ;; Tests look for $XDG_RUNTIME_DIR.
+ (setenv "XDG_RUNTIME_DIR" (getcwd))
+ ;; For missing '/etc/machine-id'.
+ (setenv "DBUS_FATAL_WARNINGS" "0")
+ #t))
+ (add-after 'install 'move-desktop-files
+ ;; Move desktop files into 'bin' to avoid cycle references.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (bin (assoc-ref outputs "bin")))
+ (mkdir-p (string-append bin "/share"))
+ (rename-file (string-append out "/share/applications")
+ (string-append bin "/share/applications"))
+ #t))))))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "GUIX_GTK3_PATH")
+ (files '("lib/gtk-3.0")))))))
;;;
;;; Guile bindings.
ry....Also ensure prompt_yes_no always print the message with a trailing space, which is more pleasing to the eye. * etc/guix-daemon.conf.in <--discover=no>: New guix-daemon option. * etc/guix-daemon.service.in: Likewise. * etc/init.d/guix-daemon.in: Likewise. * etc/openrc/guix-daemon.in: Likewise. * etc/guix-install.sh (configure_substitute_discovery): New procedure. (sys_enable_guix_daemon): Ask the user whether automatic substitute discovery should be enabled. Set the '--discover' argument accordingly. (prompt_yes_no): Add a trailing space to the message. (sys_authorize_build_farms): Remove trailing space from the message argument. * NEWS (Distribution): Add news. Maxim Cournoyer 2021-07-07guix-install.sh: No longer export GUIX_PROFILE....If GUIX_PROFILE is exported here, any subsequent "source /some/other/profile/etc/profile" will set variables pointing to "$HOME/.guix-profile" instead of pointing to the sourced profile. * etc/guix-install.sh (sys_create_init_profile): No longer export GUIX_PROFILE. Hartmut Goebel 2021-05-05guix-install.sh: Exit early if Guix is already installed....* etc/guix-install.sh (sys_create_store): Move the check & exit before The Guix binary archive is unpacked. Re-indent tar extraction command. Maxim Cournoyer 2021-05-05guix-install.sh: Propose automatically fetching OpenPGP keys....Via, for example, yes | ./guix-install.sh. * etc/guix-install.sh (prompt_yes_no): New procedure. (chk_gpg_keyring, sys_authorize_build_farms): Use it. Maxim Cournoyer 2021-05-05guix-install.sh: Please the shellcheck linter....* etc/guix-install.sh <FUNCNAME>: Explicitly refer to the first item of the FUNCNAME array. (ROOT_HOME): Replace variable by ~root directly; manually expanding it via echo was not necessary. (chk_gpg_keyring): Use an if branch for the exit to avoid a warning about expression precedence. (chk_term) <ansi_term>: Remove unused variable. (guix_get_bin) <wget, gpg>: Test the commands directly. Use an array for the wget arguments, which can then be properly expanded. (sys_create_store): Disable SC1090 for the source command, as we don't care about following the sourced script. <_msg>: Reuse the GUIX_PROFILE variable in the message. (sys_create_build_user) <getent>: Test the command directly. Maxim Cournoyer 2021-05-01guix-install.sh: Add support for more than one signing key....The forthcoming 1.3.0 release will be signed with my personal GnuPG key; the installation script need to tell users how fetch it. * etc/guix-install.sh (OPENPGP_SIGNING_KEY_ID): Remove variable. (GPG_SIGNING_KEYS): New associative array. (chk_gpg_keyring): Process all the keys contained in the above array. (main) <GUIX_BINARY_FILE_NAME>: Double quote variable. Maxim Cournoyer 2021-04-29guix-install.sh: Ensure GUIX_BINARY_FILE_NAME is an absolute path....This is necessary as the directory context is changed in the script, breaking the use of a relative path. * etc/guix-install.sh (main) <GUIX_BINARY_FILE_NAME>: Resolve its absolute path via the 'realpath' command. Maxim Cournoyer 2021-04-24guix-install.sh: Allow overriding the Guix binary source....This is useful for example for testing release candidates not yet uploaded to the FTP, or for testing manually downloaded images from the CI. * etc/guix-install.sh (main)[GUIX_BINARY_FILE_NAME]: When this variable is defined, use it as the file name of a Guix binary, instead of automatically retrieving the latest archive from the FTP. Maxim Cournoyer 2021-04-14guix-install.sh: Add the build users to the 'kvm' group....Fixes <https://bugs.gnu.org/42129>. * etc/guix-install.sh (sys_create_build_user): If a 'kvm' group exists, add it to the guixbuilders' lists of supplementary groups. Leo Famulari 2021-03-23Add powerpc64le-linux as a supported Guix architecture....This makes powerpc64le-linux a supported architecture for Guix, but not for Guix System. * Makefile.am (SUPPORTED_SYSTEMS): Add an entry for powerpc64le-linux. * etc/guix-install.sh (chk_sys_arch): Same. * guix/packages.scm (%supported-systems): Same. * m4/guix.m4 (GUIX_ASSERT_SUPPORTED_SYSTEM): Same. * tests/guix-build.sh (all_systems): Same. Chris Marusich