[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
322/401: gnu: mutter: Update package definition.
From: |
guix-commits |
Subject: |
322/401: gnu: mutter: Update package definition. |
Date: |
Tue, 18 Aug 2020 16:22:08 -0400 (EDT) |
dannym pushed a commit to branch wip-desktop
in repository guix.
commit 7d2e4e831c79f1c2c4b85dbae85e49b4cf7c8e34
Author: Raghav Gururajan <raghavgururajan@disroot.org>
AuthorDate: Mon Aug 10 02:07:39 2020 -0400
gnu: mutter: Update package definition.
* gnu/packages/gnome.scm (mutter) [version]: Update to 3.36.5.
[source]<origin>[sha256]: Modify base32.
[arguments]<#:configure-flags>[-Dgles2_libname]: New flag.
[-Degl_device]: New flag.
[-Dwayland_eglstream]: New flag.
[-Dinstalled_tests]: New flag.
[-Dxwayland_grab_default_access_rules]: New flag.
[-Dc_link_args]: Modify flag.
<#:tests?>: Remove argument.
<#:phases>['fix-build-with-mesa-20]: Remove phase.
['check]: Remove phase.
['custom-check]: New phase.
[native-inputs]: Add adwaita-icon-theme, python-wrapper and ruby.
Remove autoconf, automake and libtool.
[propagated-inputs]: Add graphene, wayland and libxi. Remove xinput.
Move gdk-pixbuf+svg, libinput, eudev, libxcomposite, libxdamage, libxext,
libxkbcommon and libxrandr to ...
[inputs]: ... here. Add dbus, freetype, fribidi, libdrm, sysprof,
egl-wayland,
wayland-protocols, libxau, libxcb, libxcursor, libxinerama and libxrender.
Remove zenity.
[synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
gnu/packages/gnome.scm | 215 +++++++++++++++++++++++++++----------------------
1 file changed, 120 insertions(+), 95 deletions(-)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 0190766..043056b 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -119,6 +119,7 @@
#:use-module (gnu packages gnuzilla)
#:use-module (gnu packages geo)
#:use-module (gnu packages gperf)
+ #:use-module (gnu packages graphics)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gsasl)
#:use-module (gnu packages gstreamer)
@@ -8501,114 +8502,138 @@ in commandline and shell scripts.")
(define-public mutter
(package
(name "mutter")
- (version "3.34.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0b8bz5kvs7rlwvqsg87cf6jhrrj95vgd1l235mjx8rip35ipfvrd"))))
- ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
- ;; versions of cogl and clutter. As a result, many of the inputs,
- ;; propagated-inputs, and configure flags used in cogl and clutter are
- ;; needed here as well.
+ (version "3.36.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32 "1py7sqrpvg2qvswxclshysx7hd9jk65i6cwqsagd6rg6rnjhblp0"))))
(build-system meson-build-system)
(arguments
- '(;; XXX: All mutter tests fail with the following error:
- ;; Settings schema 'org.gnome.mutter' is not installed
- #:tests? #f
- #:glib-or-gtk? #t
+ `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
#:configure-flags
- ;; TODO: Enable profiler when Sysprof is packaged.
- (list "-Dprofiler=false"
- ;; Otherwise, the RUNPATH will lack the final path component.
- (string-append "-Dc_link_args=-Wl,-rpath="
- (assoc-ref %outputs "out") "/lib:"
- (assoc-ref %outputs "out") "/lib/mutter-5")
-
- ;; The following flags are needed for the bundled clutter
- (string-append "-Dxwayland_path="
- (assoc-ref %build-inputs "xorg-server-xwayland")
- "/bin/Xwayland")
-
- ;; the remaining flags are needed for the bundled cogl
- (string-append "-Dopengl_libname="
- (assoc-ref %build-inputs "mesa")
- "/lib/libGL.so"))
- #:phases (modify-phases %standard-phases
- (add-after 'unpack 'fix-build-with-mesa-20
- (lambda _
- ;; Mimic upstream commit a444a4c5f58ea516ad for
- ;; compatibility with Mesa 20. Remove for 3.36.
- (substitute* '("src/backends/meta-egl-ext.h"
- "src/backends/meta-egl.c"
- "src/backends/meta-egl.h")
- (("#include <EGL/eglext\\.h>" all)
- (string-append all "\n#include <EGL/eglmesaext.h>")))
- (substitute* "cogl/cogl/meson.build"
- (("#include <EGL/eglext\\.h>" all)
- (string-append all "\\n#include <EGL/eglmesaext.h>")))
- #t)))))
+ (list
+ (string-append "-Dopengl_libname="
+ (assoc-ref %build-inputs "mesa")
+ "/lib/libGL.so")
+ (string-append "-Dgles2_libname="
+ (assoc-ref %build-inputs "mesa")
+ "/lib/libGLESv2.so")
+ "-Degl_device=true"
+ "-Dwayland_eglstream=true"
+ "-Dinstalled_tests=false"
+ (string-append "-Dxwayland_path="
+ (assoc-ref %build-inputs "xorg-server-xwayland")
+ "/bin/Xwayland")
+ "-Dxwayland_grab_default_access_rules=gnome-boxes"
+ ;; Otherwise, the RUNPATH will lack the final path component.
+ (string-append "-Dc_link_args=-Wl,-rpath="
+ (assoc-ref %outputs "out")
+ "/lib"
+ ":"
+ (assoc-ref %outputs "out")
+ "/lib/mutter-6"))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'check)
+ (add-after 'install 'custom-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))
+ ;; Tests look for $XDG_DATA_DIRS.
+ (setenv "XDG_DATA_DIRS"
+ (string-append (getenv "XDG_DATA_DIRS")
+ ":"
+ (assoc-ref %outputs "out")
+ "/share"))
+ ;; For missing '/etc/machine-id'.
+ (setenv "DBUS_FATAL_WARNINGS" "0")
+ ;; Tests look for cursors.
+ (setenv "XCURSOR_PATH"
+ (string-append (assoc-ref %build-inputs
"adwaita-icon-theme")
+ "/share/icons"))
+ (invoke "dbus-launch" "ninja" "test")
+ #t)))))
(native-inputs
- `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
- ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
+ `(("adwaita-icon-theme" ,adwaita-icon-theme)
+ ("desktop-file-utils" ,desktop-file-utils)
+ ("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("intltool" ,intltool)
("pkg-config" ,pkg-config)
- ("xorg-server" ,xorg-server-for-tests)
- ;; For git build
- ("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)))
- (propagated-inputs
- `(;; libmutter.pc refers to these:
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gtk+" ,gtk+)
- ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
- ("atk" ,atk)
- ("cairo" ,cairo)
- ("gdk-pixbuf" ,gdk-pixbuf)
- ("glib" ,glib)
- ("json-glib" ,json-glib)
- ("libinput" ,libinput)
- ("libx11" ,libx11)
- ("libxcomposite" ,libxcomposite)
- ("libxdamage" ,libxdamage)
- ("libxext" ,libxext)
- ("libxfixes" ,libxfixes)
- ("libxkbcommon" ,libxkbcommon)
- ("libxrandr" ,libxrandr)
- ("mesa" ,mesa)
- ("pango" ,pango)
- ("udev" ,eudev)
- ("xinput" ,xinput)))
+ ("python" ,python-wrapper)
+ ("ruby" ,ruby)
+ ("xorg-server" ,xorg-server-for-tests)))
(inputs
- `(("elogind" ,elogind)
+ `(("dbus" ,dbus)
+ ("freetype" ,freetype)
+ ("fribidi" ,fribidi)
+ ("gdk-pixbuf" ,gdk-pixbuf+svg)
("gnome-desktop" ,gnome-desktop)
("gnome-settings-daemon" ,gnome-settings-daemon)
- ("libcanberra-gtk" ,libcanberra)
- ("libgudev" ,libgudev)
- ("libice" ,libice)
- ("libsm" ,libsm)
+ ("gudev" ,libgudev)
+ ("ice" ,libice)
+ ("libcanberra" ,libcanberra)
+ ("libdrm" ,libdrm)
+ ("libelogind" ,elogind)
+ ("libinput" ,libinput)
+ ("libpipewire" ,pipewire)
+ ("libstartup-notification" ,startup-notification)
+ ("libudev" ,eudev)
("libwacom" ,libwacom)
- ("libxkbfile" ,libxkbfile)
- ("libxrandr" ,libxrandr)
- ("libxtst" ,libxtst)
- ("pipewire" ,pipewire)
- ("startup-notification" ,startup-notification)
- ("upower-glib" ,upower)
+ ("sm" ,libsm)
+ ("sysprof" ,sysprof)
+ ("upower" ,upower)
+ ("wayland-eglstream-protocols" ,egl-wayland)
+ ("wayland-protocols" ,wayland-protocols)
+ ("xau" ,libxau)
+ ("xcb" ,libxcb)
+ ("xcomposite" ,libxcomposite)
+ ("xcursor" ,libxcursor)
+ ("xdamage" ,libxdamage)
+ ("xext" ,libxext)
+ ("xinerama" ,libxinerama)
+ ("xkbcommon" ,libxkbcommon)
+ ("xkbfile" ,libxkbfile)
("xkeyboard-config" ,xkeyboard-config)
("xorg-server-xwayland" ,xorg-server-xwayland)
- ("zenity" ,zenity)))
- (synopsis "Window and compositing manager")
- (home-page "https://www.gnome.org")
- (description
- "Mutter is a window and compositing manager that displays and manages your
-desktop via OpenGL. Mutter combines a sophisticated display engine using the
-Clutter toolkit with solid window-management logic inherited from the Metacity
-window manager.")
+ ("xrandr" ,libxrandr)
+ ("xrender" ,libxrender)
+ ("xtst" ,libxtst)))
+ (propagated-inputs
+ `(("atk" ,atk)
+ ("cairo" ,cairo)
+ ("glib" ,glib)
+ ("graphene" ,graphene)
+ ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("gtk+" ,gtk+)
+ ("json-glib" ,json-glib)
+ ("mesa" ,mesa)
+ ("pango" ,pango)
+ ("wayland" ,wayland)
+ ("x11" ,libx11)
+ ("xfixes" ,libxfixes)
+ ("xi" ,libxi)))
+ (synopsis "Wayland display server and X11 window manager and compositor
library")
+ (description "Mutter, when used as a Wayland display server, it runs on top
+of KMS and libinput. It implements the compositor side of the Wayland core
+protocol as well as various protocol extensions. It also has functionality
+related to running X11 applications using Xwayland.
+Mutter, when used on top of Xorg, it acts as a X11 window manager and
+compositing manager.
+Mutter contains functionality related to, among other things, window
management,
+window compositing, focus tracking, workspace management, keybindings and
+monitor configuration.")
+ (home-page "https://wiki.gnome.org/Projects/Mutter")
(license license:gpl2+)))
(define-public gnome-online-accounts
- 386/401: gnu: gnome-weather: Remove custom typelib wrap and add python phases., (continued)
- 386/401: gnu: gnome-weather: Remove custom typelib wrap and add python phases., guix-commits, 2020/08/18
- 387/401: gnu: orca: Remove custom typelib wrap., guix-commits, 2020/08/18
- 391/401: gnu: rygel: Add python phases., guix-commits, 2020/08/18
- 392/401: gnu: gnome-terminal: Enable gnome shell search provider., guix-commits, 2020/08/18
- 393/401: gnu: gst-plugins-bad: Enable wpewebkit support., guix-commits, 2020/08/18
- 397/401: gnu: flatpak: Update package definition., guix-commits, 2020/08/18
- 400/401: gnu: Add generic desktop services., guix-commits, 2020/08/18
- 299/401: gnu: gnome-themes-extra: Update package definition., guix-commits, 2020/08/18
- 309/401: gnu: orca: Update package definition., guix-commits, 2020/08/18
- 310/401: gnu: gst-editing-services: Update package definition., guix-commits, 2020/08/18
- 322/401: gnu: mutter: Update package definition.,
guix-commits <=
- 326/401: build-system/glib-or-gtk: Also wrap executables that are in "sbin"., guix-commits, 2020/08/18
- 353/401: gnu: pango: Include python phases., guix-commits, 2020/08/18
- 363/401: gnu: grilo: Include python phases., guix-commits, 2020/08/18
- 366/401: gnu: network-manager: Include python phases., guix-commits, 2020/08/18
- 368/401: gnu: tracker: Include python phases., guix-commits, 2020/08/18
- 369/401: gnu: gnome-boxes: Include python phases., guix-commits, 2020/08/18
- 377/401: gnu: ccextractor: Include python phases., guix-commits, 2020/08/18
- 383/401: gnu: eog: Remove custom typelib wrap., guix-commits, 2020/08/18
- 398/401: Revert "gnu: libpeas: Include python phases.", guix-commits, 2020/08/18
- 399/401: Revert "gnu: gexiv2: Include python phases.", guix-commits, 2020/08/18