From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id KN84KQ9rM1/jLgAA0tVLHw (envelope-from ) for ; Wed, 12 Aug 2020 04:07:43 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id mOKJIw9rM1+0XQAA1q6Kng (envelope-from ) for ; Wed, 12 Aug 2020 04:07:43 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 809829403D2 for ; Wed, 12 Aug 2020 04:07:42 +0000 (UTC) Received: from localhost ([::1]:41198 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k5i3B-0001JG-Dh for larch@yhetil.org; Wed, 12 Aug 2020 00:07:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34128) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k5i2r-0001JA-Ro for guix-devel@gnu.org; Wed, 12 Aug 2020 00:07:22 -0400 Received: from knopi.disroot.org ([178.21.23.139]:39600) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k5i2m-0002Qz-Oh for guix-devel@gnu.org; Wed, 12 Aug 2020 00:07:21 -0400 Received: from localhost (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id 5E770528DB; Wed, 12 Aug 2020 06:07:14 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at disroot.org Received: from knopi.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8T098nLTjKDT; Wed, 12 Aug 2020 06:07:10 +0200 (CEST) Subject: Re: [OUTREACHY]: Integration of desktop environments into GNU Guix DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1597205229; bh=KmFbAb0+T2rvjsm2TwXKEv0njgNoojjJd7wD0mUCQnA=; h=Subject:From:To:Cc:References:Date:In-Reply-To; b=jlIo6Zn0HG6749JK4VilzXqyRkt+KJMnc5lfbxvavAnZDKHD59di/s/4gROltEwS+ hz4Visaj5acYb6R0lMekY8N3/75aHsO5vI85QnCG8uSkDDMyP0k49ECm/nFYEJieyT 6xwZ3HZSU8566pB5/oWuB4AFvVJEv957h9dy0twbDTyqoSMLC+MTsLpjJAt1oORstz 2YLnqk4gT485f3EZAdZMA4IZDVidaAywZogjkIDUoJwZ9dZJeIQ6Ms6kapbJJZgX/w 3XwFJhjwlHaF4tSoGzVSw3ajb8P4CGWIQWHIVnQDJciM6j8RPD9hDHv2TTu49V7ycD IBC93pFgZ7pUg== From: Raghav Gururajan To: Danny Milosavljevic References: <20200506051334.4558e7b3.raghavgururajan@disroot.org> <20200717143823.3db2405c@scratchpost.org> <39b2d7bc-f9a4-b98e-2565-ddf542acead3@disroot.org> <20200719212257.7add44f8@scratchpost.org> <9859f0c6-473f-3191-189e-5b2aa6fd02f4@disroot.org> <6c92eb83-361b-7eb3-fd63-8b582b9b41db@disroot.org> <08ded8e0-0217-ffba-e173-61c4e72a65dc@disroot.org> <945405e0-29e2-1ad3-9ae7-4c964d14eda2@disroot.org> <07c36137-cbab-1b33-a008-992c3781b04d@disroot.org> <445cfd68-4b49-8d54-6d40-e08fdf2aced3@disroot.org> <20200804002921.39a351a1@scratchpost.org> <20200805171415.38264893@scratchpost.org> <20200810002822.089483da@scratchpost.org> <0e4a4b55-f76e-18f5-a0b5-a76f90e06ab4@disroot.org> Autocrypt: addr=raghavgururajan@disroot.org; keydata= mQENBF6yxWcBCAClEApjrOYs8fSzDl8GBwMFtUzF6VCOVrWaGun1vvPDvk4AFzbB3ZV6+Jn8 VfEuqh3OOvSJGHL2cJoR28Q5gVqeOwupyaMWVdEt6TmDrHISyxriF426KVaJnklfMjYwIi0l /7j8bs3pDRyyR6uFrY6sYL9t6HFvevtt7NwgWL1MAEVy6txKkriyrK1h+qc13wRRgVx3tzl7 dNwYEDWd3yUDn+LESoDOlawJ7TQbO8d1K4FFHaqwyQ/SyaIfLBnMAz9Qd18MUWpDkktLh/9u jRfctouFx5BUr+uGgCHAWcII5D60lt867y5m6vp3Ua75TkVQrYTt7KSF/wm7NZ7L02fTABEB AAG0M1JhZ2hhdiBHdXJ1cmFqYW4gKFJHKSA8cmFnaGF2Z3VydXJhamFuQGRpc3Jvb3Qub3Jn PokBTgQTAQgAOBYhBCdBLzSqkY3qQNKUKK5u8wRtb3tXBQJetePbAhsDBQsJCAcCBhUKCQgL AgQWAgMBAh4BAheAAAoJEK5u8wRtb3tXvWIH/3NiwaJfcrOoO/r4/reE0PmfgVWRpWP8uhdy ZiuBmcnyltxSmxZ1drlWpnbap5P7ssVyIlY6SrLTAeN7R0S70HAINkn7XvKpWajHShX0MR4b NeqjETNZg7gh2PTg6zfTnYD1UQqdNxnPMiJTSBZBLCAm/LhdEuigt559uoDA9ZEVLR5ycKh+ ny94NLUhmuRXpH/sb6Ey0FKmdMc47KNnkGQaySeGY88RwONgfv3/rriNbOJ1t12d2qsqkiOo znuxg5O3nT6obd7hCuq+EYwjzwSVrUZuMelO32UE4d2iePhiPBfiprVCNDGPFztJTe0Y+OQA ajj23CBgGIap/L1CpZ25AQ0EXrLFZwEIANGMTVaAiSGtpAbxRo9AHOc2kgatkAsH/ejtzNH0 mtGwtE0g5Gh0OKTI678KItanztmukKcZmBngPCwvUGGNQYzWWwsS+kBti5wJ3OForg+JtYuf /n9DjSAhnb7h1piL9Xi0drULl5ovVFRp/IPldkbT3R8pgc9VwAa0VVRP59dsgF6nPhoHjxfB p/XcA2QRnRfB2bN4BVCValJelPGYR0pSwkftFpmha4FRa0LrJtcMeh+PG20asPiKcE4sNGZT mH3keHkTfk5Tuds3ly5vlqmEKg7qY/zoS1yWQJj0j36JoX1/ravo+gUxszig80140a5bF2VU ERLcKO+Cp0lI4/8AEQEAAYkBNgQYAQgAIBYhBCdBLzSqkY3qQNKUKK5u8wRtb3tXBQJessVn AhsMAAoJEK5u8wRtb3tXqTIH/A9z70HLCZcAfnpluGj4APfi3haqdU7xvtrkN9eHJoPV7pwx y1luNRR8xg7YHkwcQ/9qEcvSicNIvhjRw5cSpyW9HGmOFyiZ7+KLf3XPUjC7pC5pIM+AAWyy D5GlyqakH1wBe8RC9/8vNyfZnmbV4PUvHoHvY/xZH+D/Afg1J2igdIebkQzzhFBC65TAKFeM NIWQkYIMKjq4u+nmv3sreqvRvlt8VYq0VSq24SFs0JJ+dEmuO3/s72122JIL0XEUS3ooGb/p 678RM2OpelLZcZSPG6vIIrQFKw6/NVjDtOY3DrNPtQ+h84UnFPUtaZyvQQwpGNjvtNzU/Ym+ NwsFm0Q= Message-ID: <1fbcd66c-3534-e69d-ef3b-dddf12a1e417@disroot.org> Date: Wed, 12 Aug 2020 00:05:14 -0400 Mime-Version: 1.0 In-Reply-To: <0e4a4b55-f76e-18f5-a0b5-a76f90e06ab4@disroot.org> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="rxPEZz5VQk4ofcZ09xIZeKXxARe8muXBQ" Received-SPF: pass client-ip=178.21.23.139; envelope-from=raghavgururajan@disroot.org; helo=knopi.disroot.org X-detected-operating-system: by eggs.gnu.org: First seen = 2020/08/12 00:07:14 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel@gnu.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=fail (rsa verify failed) header.d=disroot.org header.s=mail header.b=jlIo6Zn0; dmarc=fail reason="SPF not aligned (relaxed)" header.from=disroot.org (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Spam-Score: -1.51 X-TUID: J2BdDIHkj2xp This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --rxPEZz5VQk4ofcZ09xIZeKXxARe8muXBQ Content-Type: multipart/mixed; boundary="KH6LeB8vHyF1I1hI1Ai4yP0c3ZJ3NTudd"; protected-headers="v1" From: Raghav Gururajan To: Danny Milosavljevic Cc: guix-devel@gnu.org, =?UTF-8?Q?G=c3=a1bor_Boskovits?= , Tobias Geerinckx-Rice Message-ID: <1fbcd66c-3534-e69d-ef3b-dddf12a1e417@disroot.org> Subject: Re: [OUTREACHY]: Integration of desktop environments into GNU Guix References: <20200506051334.4558e7b3.raghavgururajan@disroot.org> <20200717143823.3db2405c@scratchpost.org> <39b2d7bc-f9a4-b98e-2565-ddf542acead3@disroot.org> <20200719212257.7add44f8@scratchpost.org> <9859f0c6-473f-3191-189e-5b2aa6fd02f4@disroot.org> <6c92eb83-361b-7eb3-fd63-8b582b9b41db@disroot.org> <08ded8e0-0217-ffba-e173-61c4e72a65dc@disroot.org> <945405e0-29e2-1ad3-9ae7-4c964d14eda2@disroot.org> <07c36137-cbab-1b33-a008-992c3781b04d@disroot.org> <445cfd68-4b49-8d54-6d40-e08fdf2aced3@disroot.org> <20200804002921.39a351a1@scratchpost.org> <20200805171415.38264893@scratchpost.org> <20200810002822.089483da@scratchpost.org> <0e4a4b55-f76e-18f5-a0b5-a76f90e06ab4@disroot.org> In-Reply-To: <0e4a4b55-f76e-18f5-a0b5-a76f90e06ab4@disroot.org> --KH6LeB8vHyF1I1hI1Ai4yP0c3ZJ3NTudd Content-Type: multipart/mixed; boundary="------------ED28A24D5D8D14C5C7812A10" Content-Language: en-US This is a multi-part message in MIME format. --------------ED28A24D5D8D14C5C7812A10 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable @Danny > I will send you the patch for gnome-shell shortly. Please find the attached patch for gnome-shell. Also I have attached revised patches for mutter and gdm. Regards, RG. --------------ED28A24D5D8D14C5C7812A10 Content-Type: text/x-patch; charset=UTF-8; name="0064-gnu-mutter-Update-package-definition.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0064-gnu-mutter-Update-package-definition.patch" =46rom 4956005520e03defb583fbad14c307c552b59d12 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Mon, 10 Aug 2020 02:07:39 -0400 Subject: [PATCH 64/66] gnu: mutter: Update package definition. * gnu/packages/gnome.scm (mutter) [version]: Update to 3.36.5. [source][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-way= land, wayland-protocols, libxau, libxcb, libxcursor, libxinerama and libxrender= =2E Remove zenity. [synopsis]: Modify. [description]: Modify. [home-page]: Modify. --- 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 dfb65826fc..81e0cce794 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -118,6 +118,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) @@ -8618,114 +8619,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 a= re - ;; 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=3Dfalse" - ;; Otherwise, the RUNPATH will lack the final path componen= t. - (string-append "-Dc_link_args=3D-Wl,-rpath=3D" - (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=3D" - (assoc-ref %build-inputs "xorg-server-xwayla= nd") - "/bin/Xwayland") - - ;; the remaining flags are needed for the bundled cogl - (string-append "-Dopengl_libname=3D" - (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 " all) - (string-append all "\n#include "))) - (substitute* "cogl/cogl/meson.build" - (("#include " all) - (string-append all "\\n#include "))) - #t))))) + (list + (string-append "-Dopengl_libname=3D" + (assoc-ref %build-inputs "mesa") + "/lib/libGL.so") + (string-append "-Dgles2_libname=3D" + (assoc-ref %build-inputs "mesa") + "/lib/libGLESv2.so") + "-Degl_device=3Dtrue" + "-Dwayland_eglstream=3Dtrue" + "-Dinstalled_tests=3Dfalse" + (string-append "-Dxwayland_path=3D" + (assoc-ref %build-inputs "xorg-server-xwayland") + "/bin/Xwayland") + "-Dxwayland_grab_default_access_rules=3Dgnome-boxes" + ;; Otherwise, the RUNPATH will lack the final path component. + (string-append "-Dc_link_args=3D-Wl,-rpath=3D" + (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-ic= on-theme") + "/share/icons")) + (invoke "dbus-launch" "ninja" "test") + #t))))) (native-inputs - `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-d= atabase - ("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 manag= es your -desktop via OpenGL. Mutter combines a sophisticated display engine usin= g the -Clutter toolkit with solid window-management logic inherited from the Me= tacity -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 composi= tor 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 c= ore +protocol as well as various protocol extensions. It also has functional= ity +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 man= agement, +window compositing, focus tracking, workspace management, keybindings an= d +monitor configuration.") + (home-page "https://wiki.gnome.org/Projects/Mutter") (license license:gpl2+))) =20 (define-public gnome-online-accounts --=20 2.28.0 --------------ED28A24D5D8D14C5C7812A10 Content-Type: text/x-patch; charset=UTF-8; name="0065-gnu-gdm-Update-package-definition.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0065-gnu-gdm-Update-package-definition.patch" =46rom 4b0704166c3ba4555752e57a698fec8b5dae2bcb Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Tue, 11 Aug 2020 04:36:54 -0400 Subject: [PATCH 65/66] gnu: gdm: Update package definition. * gnu/packages/gnome.scm (gdm) [version]: Update to 3.36.3. [source][sha256]: Modify base32. [patches][gdm-default-session.patch]: Remove patch. [outputs]: New output "help". [arguments]<#:configure-flags>[--disable-static]: New flag. [--enable-gdm-xsession]: New flag. [--enable-ipv6]: New flag. [--with-help-dir]: New flag. [--with-systemdsystemunitdir]: New flag. [--with-default-path]: Modify flag. [--with-xevie]: New flag. [--without-plymouth]: Remove flag. [--localstatedir]: Remove flag. [--sbindir]: Remove flag. <#:phases>['pre-configure]: Modify phase. ['install-placeholder-desktop-entry]: Remove phase. ['link-autostart-files]: Remove phase. [native-inputs]: Add check. [inputs]: Add glib, audit, keyutils, libice, libselinux, plymouth, tcp-wrappers, libx11, libxau, libxcb, libxdmcp, libext and libxinerama. Remove check. [synopsis]: Modify. [description]: Modify. * gnu/packages/patches/gdm-default-session.patch: Remove file. * gnu/local.mk (gdm-default-session.patch): Remove reference. --- gnu/local.mk | 1 - gnu/packages/gnome.scm | 241 ++++++------------ .../patches/gdm-default-session.patch | 89 ------- 3 files changed, 75 insertions(+), 256 deletions(-) delete mode 100644 gnu/packages/patches/gdm-default-session.patch diff --git a/gnu/local.mk b/gnu/local.mk index 9ff617a1ac..ec0b6defa8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -973,7 +973,6 @@ dist_patch_DATA =3D \ %D%/packages/patches/gd-fix-tests-on-i686.patch \ %D%/packages/patches/gd-brect-bounds.patch \ %D%/packages/patches/gdb-hurd.patch \ - %D%/packages/patches/gdm-default-session.patch \ %D%/packages/patches/gegl-mrg.patch \ %D%/packages/patches/geoclue-config.patch \ %D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \ diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 81e0cce794..83a6689b7c 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -92,6 +92,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages cpio) #:use-module (gnu packages crates-io) + #:use-module (gnu packages crypto) #:use-module (gnu packages cups) #:use-module (gnu packages curl) #:use-module (gnu packages cyrus-sasl) @@ -9543,172 +9544,69 @@ libxml2.") (define-public gdm (package (name "gdm") - (version "3.34.1") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "1lyqvcwxhwxklbxn4xjswjzr6fhjix6h28mi9ypn34wdm9bzcpg8"))= - (patches (search-patches "gdm-default-session.patch")))) + (version "3.36.3") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 "10byz8jwqv1qpvjj8wd36vfb8pbh9g7pchsc1gbwplf0rchbdyrv"))= )) (build-system glib-or-gtk-build-system) + (outputs '("out" "help")) (arguments - '(#:configure-flags - `("--without-plymouth" - "--disable-systemd-journal" - - ;; Using --with-initial-vt=3D7 allows GDM to run alongside TTY = 1, - ;; instead of having to replace it (i.e., stopping the mingetty= - ;; service for TTY 1 before starting GDM). - "--with-initial-vt=3D7" - - ;; Use '/etc/environment' for locale settings instead of the - ;; systemd-specific '/etc/locale.conf'. - "--with-lang-file=3D/etc/environment" - - ,(string-append "--with-udevdir=3D" - (assoc-ref %outputs "out") "/lib/udev") - - "--localstatedir=3D/var" - ,(string-append "--with-default-path=3D" - (string-join '("/run/setuid-programs" - "/run/current-system/profile/bin= " - "/run/current-system/profile/sbi= n") - ":")) - ;; Put GDM in bindir so that glib-or-gtk-build-system wraps the= - ;; XDG_DATA_DIRS so that it finds its schemas. - "--sbindir" ,(string-append (assoc-ref %outputs "out") "/bin"))= + `(#:configure-flags + (list + "--disable-static" + "--enable-gdm-xsession" + "--disable-systemd-journal" + "--enable-ipv6" + (string-append "--with-help-dir=3D" + (assoc-ref %outputs "help") + "/share/help") + (string-append "--with-udevdir=3D" + (assoc-ref %outputs "out") + "/lib/udev") + (string-append "--with-systemdsystemunitdir=3D" + (getcwd)) + (string-append "--with-default-path=3D" + "/run/setuid-programs" + ":" + "/run/current-system/profile/bin" + ":" + "/run/current-system/profile/sbin") + "--with-lang-file=3D/etc/environment" + "--with-xevie" + "--with-initial-vt=3D7") #:phases (modify-phases %standard-phases - (add-before - 'configure 'pre-configure - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; We don't have . - (substitute* '("common/gdm-log.c" - "daemon/gdm-server.c" - "daemon/gdm-session-worker.c" - "daemon/gdm-session-worker-job.c") - (("#include ") "")) - ;; Use elogind for sd-login. - (substitute* '("common/gdm-common.c" - "daemon/gdm-local-display-factory.c" - "daemon/gdm-manager.c" - "libgdm/gdm-user-switching.c") - (("#include ") - "#include ")) - ;; Check for elogind. - (substitute* '("configure") - (("libsystemd") - "libelogind")) - ;; Look for system-installed sessions in - ;; /run/current-system/profile/share. - (substitute* '("libgdm/gdm-sessions.c" - "daemon/gdm-session.c" - "daemon/gdm-display.c" - "daemon/gdm-launch-environment.c") - (("DATADIR \"/x") - "\"/run/current-system/profile/share/x") - (("DATADIR \"/wayland") - "\"/run/current-system/profile/share/wayland") - (("DATADIR \"/gnome") - "\"/run/current-system/profile/share/gnome")) - (let ((propagate '("GDM_CUSTOM_CONF" - "GDM_DBUS_DAEMON" - "GDM_X_SERVER" - "GDM_X_SESSION" - ;; XXX: Remove this once GNOME Shell is - ;; a dependency of GDM. - "XDG_DATA_DIRS"))) - (substitute* "daemon/gdm-session.c" - (("set_up_session_environment \\(self\\);") - (apply string-append - "set_up_session_environment (self);\n" - (map (lambda (name) - (string-append - "gdm_session_set_environment_variable " - "(self, \"" name "\"," - "g_getenv (\"" name "\"));\n")) - propagate))))) - ;; Find the configuration file using an environment variable= =2E - (substitute* '("common/gdm-settings.c") - (("GDM_CUSTOM_CONF") - (string-append "(g_getenv(\"GDM_CUSTOM_CONF\") !=3D NULL"= - " ? g_getenv(\"GDM_CUSTOM_CONF\")" - " : GDM_CUSTOM_CONF)"))) - ;; Use service-supplied path to X. - (substitute* '("daemon/gdm-server.c") - (("\\(X_SERVER X_SERVER_ARG_FORMAT") - "(\"%s\" X_SERVER_ARG_FORMAT, g_getenv (\"GDM_X_SERVER\")= ")) - (substitute* '("daemon/gdm-wayland-session.c" - "daemon/gdm-x-session.c") - (("\"dbus-daemon\"") - "g_getenv (\"GDM_DBUS_DAEMON\")") - (("X_SERVER") - "g_getenv (\"GDM_X_SERVER\")") - (("GDMCONFDIR \"/Xsession\"") - "g_getenv (\"GDM_X_SESSION\")")) - ;; Use an absolute path for GNOME Session. - (substitute* "daemon/gdm-launch-environment.c" - (("\"gnome-session\"") - (string-append "\"" (assoc-ref inputs "gnome-session") - "/bin/gnome-session\""))) - ;; Do not automatically select the placeholder session. - (substitute* "daemon/gdm-session.c" - (("!g_str_has_suffix [(]base_name, \"\\.desktop\"[)]") - (string-append "!g_str_has_suffix (base_name, \".desktop\= ") || " - "(g_strcmp0(search_dirs[i], \"" - (assoc-ref outputs "out") "/share/gdm/Buil= tInSessions/" - "\") =3D=3D 0 && " - "g_strcmp0(base_name, \"fail.desktop\") =3D= =3D 0)")) - (("g_error [(]\"GdmSession: no session desktop files insta= lled, aborting\\.\\.\\.\"[)];") - "{ self->fallback_session_name =3D g_strdup(\"fail\"); go= to out; }")) - #t)) - ;; GDM requires that there be at least one desktop entry - ;; file. This phase installs a hidden one that simply - ;; fails. This enables users to use GDM with a - ;; '~/.xsession' script with no other desktop entry files. - ;; See . - (add-after 'install 'install-placeholder-desktop-entry - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (sessions (string-append out "/share/gdm/BuiltInSess= ions")) - (fail (string-append sessions "/fail.desktop"))) - (mkdir-p sessions) - (with-output-to-file fail - (lambda () - (for-each - display - '("[Desktop Entry]\n" - "Encoding=3DUTF-8\n" - "Type=3DApplication\n" - "Name=3DFail\n" - "Comment=3DThis session fails immediately.\n" - "NoDisplay=3Dtrue\n" - "Exec=3Dfalse\n")))) - #t))) - ;; GDM needs GNOME Session to run these applications. We link - ;; their autostart files in `share/gdm/greeter/autostart' - ;; because GDM explicitly tells GNOME Session to look there. - ;; - ;; XXX: GNOME Shell should be linked here too, but currently - ;; GNOME Shell depends on GDM. - (add-after 'install 'link-autostart-files + (add-before 'configure 'pre-configure (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (autostart (string-append out "/share/gdm/" - "greeter/autostart")) - (settings (assoc-ref inputs "gnome-settings-daemon")= )) - (mkdir-p autostart) - (with-directory-excursion autostart - (for-each (lambda (desktop) - (symlink desktop (basename desktop))) - (find-files (string-append settings "/etc/xdg= ")))) - #t)))))) + ;; We don't have . + (substitute* '("common/gdm-log.c" + "daemon/gdm-server.c" + "daemon/gdm-session-worker.c" + "daemon/gdm-session-worker-job.c") + (("#include ") + "")) + ;; Use elogind for sd-login. + (substitute* '("common/gdm-common.c" + "daemon/gdm-local-display-factory.c" + "daemon/gdm-manager.c" + "libgdm/gdm-user-switching.c") + (("#include ") + "#include ")) + ;; Check for elogind. + (substitute* '("configure") + (("libsystemd") + "libelogind")) + #t))))) (native-inputs - `(("dconf" ,dconf) - ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc. + `(("check" ,check) + ("dconf" ,dconf) + ("glib:bin" ,glib "bin") ("gobject-introspection" ,gobject-introspection) ("intltool" ,intltool) ("itstool" ,itstool) @@ -9716,19 +9614,30 @@ libxml2.") ("xmllint" ,libxml2))) (inputs `(("accountsservice" ,accountsservice) - ("check" ,check) ; for testing ("elogind" ,elogind) + ("glib" ,glib) ("gnome-session" ,gnome-session) ("gnome-settings-daemon" ,gnome-settings-daemon) ("gtk+" ,gtk+) + ("ice" ,libice) ("iso-codes" ,iso-codes) + ("libaudit" ,audit) ("libcanberra" ,libcanberra) - ("linux-pam" ,linux-pam))) - (synopsis "Display manager for GNOME") + ("libkeyutils" ,keyutils) + ("libselinux" ,libselinux) + ("linux-pam" ,linux-pam) + ("plymouth" ,plymouth) + ("tcp-wrappers" ,tcp-wrappers) + ("x11" ,libx11) + ("xau" ,libxau) + ("xcb" ,libxcb) + ("xdmcp" ,libxdmcp) + ("xext" ,libxext) + ("xinerama" ,libxinerama))) + (synopsis "GNOME Display Manager") + (description "GDM is a program that manages graphical display server= s and +handles graphical user logins.") (home-page "https://wiki.gnome.org/Projects/GDM/") - (description - "GNOME Display Manager is a system service that is responsible for -providing graphical log-ins and managing local and remote displays.") (license license:gpl2+))) =20 (define-public libgtop diff --git a/gnu/packages/patches/gdm-default-session.patch b/gnu/package= s/patches/gdm-default-session.patch deleted file mode 100644 index 9ab2829cdb..0000000000 --- a/gnu/packages/patches/gdm-default-session.patch +++ /dev/null @@ -1,89 +0,0 @@ -This patch ensures '.desktop' files are picked up in the system profile -and not in the directories listed in $XDG_DATA_DIRS. The latter include= s -'gnome-session.desktop', which should be used if it's in -/run/current-system/profile, and only then. - -Fixes . - -diff -ur a/daemon/gdm-session.c b/daemon/gdm-session.c ---- a/daemon/gdm-session.c 2019-09-25 10:40:24.000000000 -0400 -+++ b/daemon/gdm-session.c 2020-04-18 18:30:02.671856808 -0400 -@@ -348,24 +348,18 @@ - GArray *search_array =3D NULL; - char **search_dirs; - int i; -- const gchar * const *system_data_dirs =3D g_get_system_data_dir= s (); -=20 - static const char *x_search_dirs[] =3D { - "/etc/X11/sessions/", - DMCONFDIR "/Sessions/", - DATADIR "/gdm/BuiltInSessions/", -- DATADIR "/xsessions/", -+ "/run/current-system/profile/share/xsessions/" - }; -=20 - static const char *wayland_search_dir =3D DATADIR "/wayland-ses= sions/"; -=20 - search_array =3D g_array_new (TRUE, TRUE, sizeof (char *)); -=20 -- for (i =3D 0; system_data_dirs[i]; i++) { -- gchar *dir =3D g_build_filename (system_data_dirs[i], "= xsessions", NULL); -- g_array_append_val (search_array, dir); -- } -- - g_array_append_vals (search_array, x_search_dirs, G_N_ELEMENTS = (x_search_dirs)); -=20 - #ifdef ENABLE_WAYLAND_SUPPORT -@@ -373,16 +367,7 @@ - #ifdef ENABLE_USER_DISPLAY_SERVER - g_array_prepend_val (search_array, wayland_search_dir);= -=20 -- for (i =3D 0; system_data_dirs[i]; i++) { -- gchar *dir =3D g_build_filename (system_data_di= rs[i], "wayland-sessions", NULL); -- g_array_insert_val (search_array, i, dir); -- } - #else -- for (i =3D 0; system_data_dirs[i]; i++) { -- gchar *dir =3D g_build_filename (system_data_di= rs[i], "wayland-sessions", NULL); -- g_array_append_val (search_array, dir); -- } -- - g_array_append_val (search_array, wayland_search_dir); - #endif - } -diff -ur a/libgdm/gdm-sessions.c b/libgdm/gdm-sessions.c ---- a/libgdm/gdm-sessions.c 2019-10-07 04:53:35.000000000 -0400 -+++ b/libgdm/gdm-sessions.c 2020-04-18 18:31:42.491348691 -0400 -@@ -245,19 +245,12 @@ - "/etc/X11/sessions/", - DMCONFDIR "/Sessions/", - DATADIR "/gdm/BuiltInSessions/", -- DATADIR "/xsessions/", -+ "/run/current-system/profile/share/xsessions/" - }; -=20 - names_seen_before =3D g_hash_table_new (g_str_hash, g_str_equal= ); - xorg_search_array =3D g_ptr_array_new_with_free_func (g_free); -=20 -- const gchar * const *system_data_dirs =3D g_get_system_data_dir= s (); -- -- for (i =3D 0; system_data_dirs[i]; i++) { -- session_dir =3D g_build_filename (system_data_dirs[i], = "xsessions", NULL); -- g_ptr_array_add (xorg_search_array, session_dir); -- } -- - for (i =3D 0; i < G_N_ELEMENTS (xorg_search_dirs); i++) { - g_ptr_array_add (xorg_search_array, g_strdup (xorg_sear= ch_dirs[i])); - } -@@ -269,11 +262,6 @@ -=20 - wayland_search_array =3D g_ptr_array_new_with_free_func (g_free= ); -=20 -- for (i =3D 0; system_data_dirs[i]; i++) { -- session_dir =3D g_build_filename (system_data_dirs[i], = "wayland-sessions", NULL); -- g_ptr_array_add (wayland_search_array, session_dir); -- } -- - for (i =3D 0; i < G_N_ELEMENTS (wayland_search_dirs); i++) { - g_ptr_array_add (wayland_search_array, g_strdup (waylan= d_search_dirs[i])); - } --=20 2.28.0 --------------ED28A24D5D8D14C5C7812A10 Content-Type: text/x-patch; charset=UTF-8; name="0066-gnu-gnome-shell-Update-package-definition.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0066-gnu-gnome-shell-Update-package-definition.patch" =46rom b0f56deb81cdf3220c2822811951d5c7fcdce75c Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Tue, 11 Aug 2020 08:51:31 -0400 Subject: [PATCH 66/66] gnu: gnome-shell: Update package definition. * gnu/packages/gnome.scm (gnome-shell) [version]: Update to 3.36.5. [source][sha256]: Modify base32. [patches]: Remove field. [snippet]: Remove field. [outputs]: New output "doc". [arguments]<#:configure-flags>[-Dgtk_doc]: New flag. <#:disallowed-references>: Remove argument. <#:modules>: Remove argument. <#:phases>['patch-docbook]: New phase. ['patch-install-paths]: New phase. ['skip-gtk-update-icon-cache]: New phase. ['check]: Replace phase. ['no-meson-shenanigan]: New phase. ['move-doc]: New phase. ['fix-keysdir]: Remove phase. ['convert-logo-to-png]: Remove phase. ['record-absolute-file-names]: Remove phase. ['pre-check]: Remove phase. ['wrap-programs]: Remove phase. [native-inputs]: Add dbus, docbook-xml, docbook-xsl and gtk-doc. Remove inkscape and ruby-sassc. Replace python with python-wrapper. [inputs]: Add appstream-glib, at-spi2-atk, bash-completion, clutter, cogl, glib, gnome-control-center, gsettings-desktop-schemas, gstreamer, gtk+, json-glib, network-manager, libsecret, libxml2, pango and libx11. Remove caribou, docbook-xsl, libcanberra, libcroco, libgnomekbd, libnma, libsoup, mesa-headers, network-manager-applet, python-pygobject, telepathy-logger and upower. [synopsis]: Modify. [description]: Modify. * gnu/packages/patches/gnome-shell-disable-test.patch: Remove file. * gnu/packages/patches/gnome-shell-theme.patch: Remove file. * gnu/local.mk (gnome-shell-disable-test.patch): Remove reference. * gnu/local.mk (gnome-shell-theme.patch): Remove reference. --- gnu/local.mk | 2 - gnu/packages/gnome.scm | 238 +++++++++--------- .../patches/gnome-shell-disable-test.patch | 25 -- gnu/packages/patches/gnome-shell-theme.patch | 51 ---- 4 files changed, 115 insertions(+), 201 deletions(-) delete mode 100644 gnu/packages/patches/gnome-shell-disable-test.patch delete mode 100644 gnu/packages/patches/gnome-shell-theme.patch diff --git a/gnu/local.mk b/gnu/local.mk index ec0b6defa8..4cd240d432 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1030,8 +1030,6 @@ dist_patch_DATA =3D \ %D%/packages/patches/glibc-supported-locales.patch \ %D%/packages/patches/gmp-arm-asm-nothumb.patch \ %D%/packages/patches/gmp-faulty-test.patch \ - %D%/packages/patches/gnome-shell-theme.patch \ - %D%/packages/patches/gnome-shell-disable-test.patch \ %D%/packages/patches/gnome-todo-delete-esource-duplicate.patch \ %D%/packages/patches/gnome-tweaks-search-paths.patch \ %D%/packages/patches/gnupg-default-pinentry.patch \ diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 83a6689b7c..4c3694881c 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -9889,162 +9889,154 @@ configuration of various aspects of your deskto= p.") (define-public gnome-shell (package (name "gnome-shell") - (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 - "0k9vq2gh1nhdd6fpp7jnwx37qxaakawiqw1xnlfjvq5g5zdn8ckh"))= - (patches (search-patches "gnome-shell-theme.patch" - "gnome-shell-disable-test.patch")= ) - (modules '((guix build utils))) - (snippet - #~(begin - ;; Copy images for use on the GDM log-in screen. - (copy-file #$(file-append %artwork-repository - "/slim/0.x/background.png")= - "data/theme/guix-background.png") - (copy-file #$(file-append %artwork-repository - "/logo/Guix-horizontal-whit= e.svg") - "data/theme/guix-logo.svg") - #t)))) + (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 "1hj7gmjmy92xndlgw7pzk5m6j2fbzcgfd1pxc32k38gml8qg19d4"))= )) (build-system meson-build-system) + (outputs '("out" "doc")) (arguments - `(#:glib-or-gtk? #t - #:disallowed-references ((,glib "bin") - ,inkscape ,libxslt - ,ruby-sass) + `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas #:configure-flags - (list "-Dsystemd=3Dfalse" - ;; Otherwise, the RUNPATH will lack the final path componen= t. - (string-append "-Dc_link_args=3D-Wl,-rpath=3D" - (assoc-ref %outputs "out") - "/lib/gnome-shell")) - - #:modules ((guix build meson-build-system) - (guix build utils) - (srfi srfi-1)) - + (list + "-Dgtk_doc=3Dtrue" + "-Dsystemd=3Dfalse" + ;; Otherwise, the RUNPATH will lack the final path component. + (string-append "-Dc_link_args=3D-Wl,-rpath=3D" + (assoc-ref %outputs "out") + "/lib/gnome-shell")) #:phases (modify-phases %standard-phases - (add-after 'unpack 'fix-keysdir - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (keysdir (string-append - out "/share/gnome-control-center/keybindin= gs"))) - (substitute* "meson.build" - (("keysdir =3D.*") - (string-append "keysdir =3D '" keysdir "'\n"))) - #t))) - (add-before 'configure 'convert-logo-to-png - (lambda* (#:key inputs #:allow-other-keys) - ;; Convert the logo from SVG to PNG. - (invoke "inkscape" "--export-png=3Ddata/theme/guix-logo.png= " - "data/theme/guix-logo.svg"))) - (add-before 'configure 'record-absolute-file-names + (add-after 'unpack 'patch-docbook (lambda* (#:key inputs #:allow-other-keys) - (substitute* "js/misc/ibusManager.js" - (("'ibus-daemon'") - (string-append "'" (assoc-ref inputs "ibus") - "/bin/ibus-daemon'"))) - (substitute* "js/ui/status/keyboard.js" - (("'gkbd-keyboard-display'") - (string-append "'" (assoc-ref inputs "libgnomekbd") - "/bin/gkbd-keyboard-display'"))) + (substitute* '("man/gnome-shell.xml" "man/meson.build" + "docs/reference/shell/shell-docs.sgml" + "docs/reference/st/st-docs.sgml") + (("http://docbook.sourceforge.net/release/xsl/current") + (string-append (assoc-ref inputs "docbook-xsl") + "/xml/xsl/docbook-xsl-" + ,(package-version docbook-xsl))) + (("http://www.oasis-open.org/docbook/xml/4.3/") + (string-append (assoc-ref inputs "docbook-xml-4.3") + "/xml/dtd/docbook/")) + (("http://www.oasis-open.org/docbook/xml/4.2/") + (string-append (assoc-ref inputs "docbook-xml-4.2") + "/xml/dtd/docbook/"))) #t)) - (add-before 'check 'pre-check - (lambda* (#:key inputs #:allow-other-keys) + (add-after 'patch-docbook 'patch-install-paths + (lambda* (#:key outputs #:allow-other-keys) + (substitute* '("src/meson.build" "src/st/meson.build" + "subprojects/gvc/meson.build") + (("install_dir_gir: pkgdatadir,") + "install_dir_gir: join_paths(pkgdatadir, 'gir-1.0'),") + (("install_dir_typelib: pkglibdir,") + "install_dir_typelib: join_paths(pkglibdir, 'girepositor= y-1.0'),")) + (substitute* "subprojects/extensions-tool/meson.build" + (("bash_completion\\.get_pkgconfig_variable\\('completion= sdir'\\)") + (string-append "'" + (assoc-ref outputs "out") + "/share/bash-completion/completions" + "'"))) + #t)) + (add-before 'configure 'skip-gtk-update-icon-cache + (lambda _ + (substitute* "meson/postinstall.py" + (("gtk-update-icon-cache") + "true")) + #t)) + (replace 'check + (lambda _ ;; Tests require a running X server. - (system "Xvfb :1 &") + (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") + (invoke "dbus-launch" "ninja" "test") #t)) - (add-after 'install 'wrap-programs - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (gi-typelib-path (getenv "GI_TYPELIB_PATH")) - (python-path (getenv "PYTHONPATH"))) - (wrap-program (string-append out "/bin/gnome-shell") - `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)) - ;; FIXME: gnome-shell loads these libraries with unqual= ified - ;; names only, so they need to be on LD_LIBRARY_PATH. = The - ;; alternative might be to patch gnome-shell. - `("LD_LIBRARY_PATH" ":" prefix - ,(map (lambda (pkg) - (string-append (assoc-ref inputs pkg) "/lib")= ) - '("gdk-pixbuf" - "gnome-bluetooth" "librsvg" "libgweather"))))= - (for-each - (lambda (prog) - (wrap-program (string-append out "/bin/" prog) - `("PYTHONPATH" ":" prefix (,python-path)) - `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))= - '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))= - #t))) - (replace 'glib-or-gtk-wrap - (let ((wrap (assoc-ref %standard-phases 'glib-or-gtk-wrap))) - (lambda* (#:key inputs outputs #:allow-other-keys #:rest re= st) - ;; By default Inkscape et al. would end up in the XDG_DAT= A_DIRS - ;; settings of the wrappers created by the 'glib-or-gtk-w= rap' - ;; phase. Fix that since we don't need these. - (wrap #:inputs (fold alist-delete inputs - '("inkscape" "intltool" "glib:bin"))= - #:outputs outputs))))))) + (add-before 'install 'no-meson-shenanigan + ;; Meson automagically invokes pkexec, + ;; which fails without setuid root. + (lambda _ + (setenv "PKEXEC_UID" "whatever") + #t)) + (add-after 'install 'move-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + (mkdir-p (string-append doc "/share")) + (rename-file + (string-append out "/share/gtk-doc") + (string-append doc "/share/gtk-doc")) + #t)))))) (native-inputs `(("asciidoc" ,asciidoc) - ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc. - ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-d= atabase + ("dbus" ,dbus) + ("docbook-xml-4.2" ,docbook-xml-4.2) + ("docbook-xml-4.3" ,docbook-xml-4.3) + ("docbook-xsl" ,docbook-xsl) + ("glib:bin" ,glib "bin") + ("desktop-file-utils" ,desktop-file-utils) ("gobject-introspection" ,gobject-introspection) - ("inkscape" ,inkscape) + ("gtk-doc" ,gtk-doc) ("intltool" ,intltool) ("pkg-config" ,pkg-config) - ("python" ,python) - ("ruby-sass" ,ruby-sass) + ("python" ,python-wrapper) ("sassc" ,sassc) ("xsltproc" ,libxslt) - ;; For tests ("xorg-server" ,xorg-server-for-tests))) (inputs `(("accountsservice" ,accountsservice) - ("caribou" ,caribou) - ("docbook-xsl" ,docbook-xsl) + ("appstream-util" ,appstream-glib) + ("atk-bridge" ,at-spi2-atk) + ("bash-completion" ,bash-completion) + ("clutter" ,clutter) + ("cogl" ,cogl) ("evolution-data-server" ,evolution-data-server) ("gcr" ,gcr) ("gdm" ,gdm) ("gdk-pixbuf" ,gdk-pixbuf+svg) + ("geoclue" ,geoclue) ("gjs" ,gjs) + ("glib" ,glib) ("gnome-autoar" ,gnome-autoar) ("gnome-bluetooth" ,gnome-bluetooth) ("gnome-desktop" ,gnome-desktop) + ("gnome-keybindings" ,gnome-control-center) ("gnome-settings-daemon" ,gnome-settings-daemon) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gstreamer" ,gstreamer) ("gst-plugins-base" ,gst-plugins-base) + ("gtk+" ,gtk+) + ("gweather" ,libgweather) ("ibus" ,ibus) - ("libcanberra" ,libcanberra) - ("libcroco" ,libcroco) - ("libgnomekbd" ,libgnomekbd) ;for gkbd-keyboard-dis= play - ("libgweather" ,libgweather) - ("libnma" ,libnma) - ("libsoup" ,libsoup) - ("mesa-headers" ,mesa-headers) - ("mutter" ,mutter) - ("network-manager-applet" ,network-manager-applet) - ("polkit" ,polkit) - ("pulseaudio" ,pulseaudio) - ("python-pygobject" ,python-pygobject) - ("startup-notification" ,startup-notification) - ("telepathy-logger" ,telepathy-logger) - ("upower" ,upower) - ;; XXX: These requirements were added in 3.24, but no mention in = NEWS. - ;; Missing propagation? See also: + ("json-glib" ,json-glib) + ("libnm" ,network-manager) + ("libpulse" ,pulseaudio) ("librsvg" ,librsvg) - ("geoclue" ,geoclue))) - (synopsis "Desktop shell for GNOME") + ("libsecret" ,libsecret) + ("libstartup-notification" ,startup-notification) + ("libxml2" ,libxml2) + ("mutter" ,mutter) + ("pango" ,pango) + ("polkit-agent" ,polkit) + ("x11" ,libx11))) + (synopsis "Next generation desktop shell") + (description "GNOME-Shell provides core user interface functions for= the +GNOME desktop, like switching to windows and launching applications. It= takes +advantage of the capabilities of modern graphics hardware and introduces= +innovative user interface concepts to provide a visually attractive and = easy to +use experience.") (home-page "https://wiki.gnome.org/Projects/GnomeShell") - (description - "GNOME Shell provides core user interface functions for the GNOME d= esktop, -like switching to windows and launching applications.") (license license:gpl2+))) =20 (define-public gtk-vnc diff --git a/gnu/packages/patches/gnome-shell-disable-test.patch b/gnu/pa= ckages/patches/gnome-shell-disable-test.patch deleted file mode 100644 index b4c7e73cd7..0000000000 --- a/gnu/packages/patches/gnome-shell-disable-test.patch +++ /dev/null @@ -1,25 +0,0 @@ -This test seems to require a D-Bus connection not available in the build= -environment. - -diff -ur /tmp/guix-build-gnome-shell-3.34.2.drv-0/gnome-shell-3.34.2/src= /st/meson.build b/src/st/meson.build ---- /tmp/guix-build-gnome-shell-3.34.2.drv-0/gnome-shell-3.34.2/src/st/m= eson.build 1969-12-31 19:00:00.000000000 -0500 -+++ b/src/st/meson.build 2019-12-23 00:46:14.721198022 -0500 -@@ -132,18 +132,6 @@ - sources: st_enums[1] - ) -=20 --test_theme =3D executable('test-theme', -- sources: 'test-theme.c', -- c_args: st_cflags, -- dependencies: [mutter_dep, gtk_dep], -- build_rpath: mutter_typelibdir, -- link_with: libst --) -- --test('CSS styling support', test_theme, -- workdir: meson.current_source_dir() --) -- - libst_gir =3D gnome.generate_gir(libst, - sources: st_gir_sources, - nsversion: '1.0', diff --git a/gnu/packages/patches/gnome-shell-theme.patch b/gnu/packages/= patches/gnome-shell-theme.patch deleted file mode 100644 index 3fa0670c43..0000000000 --- a/gnu/packages/patches/gnome-shell-theme.patch +++ /dev/null @@ -1,51 +0,0 @@ -Adjust GNOME-Shell so that it uses a Guix theme by default. - -Patch by Ludovic Court=C3=A8s . - -diff -ur a/data/gnome-shell-theme.gresource.xml b/data/gnome-shell-theme= =2Egresource.xml ---- a/data/gnome-shell-theme.gresource.xml 2019-12-11 15:06:31.000000000= -0500 -+++ b/data/gnome-shell-theme.gresource.xml 2019-12-21 00:31:55.895866241= -0500 -@@ -19,6 +19,8 @@ - no-events.svg - no-notifications.svg - noise-texture.png -+ guix-background.png -+ guix-logo.png - pad-osd.css - pointer-dou= ble-click-symbolic.svg - pointer-drag-symbol= ic.svg -diff -ur a/data/theme/gnome-shell-sass/_common.scss b/data/theme/gnome-s= hell-sass/_common.scss ---- a/data/theme/gnome-shell-sass/_common.scss 2019-12-11 15:06:31.00000= 0000 -0500 -+++ b/data/theme/gnome-shell-sass/_common.scss 2019-12-21 00:33:49.49583= 2135 -0500 -@@ -1994,7 +1994,16 @@ - } - } -=20 -- .login-dialog-logo-bin { padding: 24px 0px; } -+ .login-dialog-logo-bin { -+ /* Make it a bit narrower than .login-dialog-user-list. */ -+ width: 12em; -+ height: 8em; -+ background: url(resource:///org/gnome/shell/theme/guix-logo.png);= -+ background-color: transparent; -+ background-repeat: no-repeat; -+ background-size: contain; -+ background-position: center; } -+ - .login-dialog-banner { color: darken($osd_fg_color,10%); } - .login-dialog-button-box { spacing: 5px; } - .login-dialog-message-warning { color: $warning_color; } -@@ -2143,9 +2152,10 @@ - } -=20 - #lockDialogGroup { -- background: lighten(#2e3436, 8%) url(resource:///org/gnome/shell/them= e/noise-texture.png); -- background-repeat: repeat; --} -+ background: lighten(#2e3436, 8%) url(resource:///org/gnome/shell/them= e/guix-background.png); -+ background-repeat: no-repeat; -+ background-size: cover; -+ background-position: center; } -=20 - #screenShieldNotifications { - StButton#vhandle, StButton#hhandle { --=20 2.28.0 --------------ED28A24D5D8D14C5C7812A10-- --KH6LeB8vHyF1I1hI1Ai4yP0c3ZJ3NTudd-- --rxPEZz5VQk4ofcZ09xIZeKXxARe8muXBQ Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEJ0EvNKqRjepA0pQorm7zBG1ve1cFAl8zanoACgkQrm7zBG1v e1fRZQf+Jjyt69c5HUN4YAYfDOUb4PGGKDuhU25dehfuGVhffU3gLokc5zadFkER 73wPIC4N/JHUC1OB9V9xJApGhSs9RGOLLGimx0pxgQn/JRTjbDILBYkWhAjivGMw oR7Y4rU8I6wMMbAK/oxL93DoMCm/szqxBLZ5LV3URksg4Yv885UcaS1VgLj5LKuY d/Ku0PPts2PN3e3+25o92EJ1CLPPPCsRElAca6uD0qIkPPO/gOs6jnWSy+IXSkt2 XpAadz+nAaeZWD310G9zI2/p5HQdzU4hStd44ttgRMbRP950IXdzTq1cv4BsE784 IWeUNjJpgumhY6YId6vAT6nxE1mJnQ== =TSWx -----END PGP SIGNATURE----- --rxPEZz5VQk4ofcZ09xIZeKXxARe8muXBQ--