Package: guix-patches;
Reported by: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Date: Sun, 8 Sep 2024 21:12:01 UTC
Severity: normal
Tags: patch
Done: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Bug is archived. No further changes may be made.
Message #83 received at 73128 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: 73128 <at> debbugs.gnu.org Subject: [PATCH gnome-team v2 05/13] gnu: gdm: Update to 46.2. Date: Fri, 13 Sep 2024 09:37:01 +0200
* gnu/packages/gnome.scm (gdm): Update to 46.2. [source]: Drop “gdm-elogind-support.patch”. [#:phases]<pre-configure>: Fix handling of dconf. [inputs]: Sort. Ad json-glib. * gnu/packages/patches/gdm-elogind-support.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. --- gnu/local.mk | 1 - gnu/packages/gnome.scm | 22 +- .../patches/gdm-elogind-support.patch | 199 ------------------ 3 files changed, 12 insertions(+), 210 deletions(-) delete mode 100644 gnu/packages/patches/gdm-elogind-support.patch diff --git a/gnu/local.mk b/gnu/local.mk index 5e100ea756..bbf342119c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1356,7 +1356,6 @@ dist_patch_DATA = \ %D%/packages/patches/gd-fix-tests-on-i686.patch \ %D%/packages/patches/gd-brect-bounds.patch \ %D%/packages/patches/gdm-default-session.patch \ - %D%/packages/patches/gdm-elogind-support.patch \ %D%/packages/patches/gdm-remove-hardcoded-xwayland-path.patch \ %D%/packages/patches/gdm-wayland-session-wrapper-from-env.patch \ %D%/packages/patches/gdm-pass-gdk-pixbuf-loader-env.patch \ diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 6bebd03c06..16ace031ad 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -8974,7 +8974,7 @@ (define-public libxml++-2 (define-public gdm (package (name "gdm") - (version "44.1") + (version "46.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -8982,11 +8982,10 @@ (define-public gdm name "-" version ".tar.xz")) (sha256 (base32 - "03avvkrm2jd0731ggh9cjnkhrfysqp4slrq0km3gqa3xpqx6n9k8")) + "12r6ppsdq9f0rlhfwldwhilshb1blp6m0944rm872lqn5914bqsf")) (patches (search-patches "gdm-default-session.patch" - "gdm-elogind-support.patch" "gdm-remove-hardcoded-xwayland-path.patch" "gdm-wayland-session-wrapper-from-env.patch" "gdm-pass-gdk-pixbuf-loader-env.patch")))) @@ -9033,6 +9032,10 @@ (define-public gdm (search-input-file inputs "bin/dbus-run-session"))))) (add-before 'configure 'pre-configure (lambda* (#:key inputs #:allow-other-keys) + ;; We don't want to write to other packages. + (substitute* "meson.build" + (("if dconf_dep\\.found\\(\\)" all) + (string-append all " and false"))) ;; We don't have <systemd/sd-daemon.h>. (substitute* '("common/gdm-log.c" "daemon/gdm-server.c" @@ -9184,23 +9187,22 @@ (define-public gdm pkg-config)) (inputs (list accountsservice - check ;for testing + at-spi2-core + check ; for testing dbus + dconf ; for wrap-accessibility-dependencies egl-wayland elogind eudev gnome-session + gnome-control-center gnome-settings-daemon gtk+ iso-codes + json-glib libcanberra libgudev - linux-pam - - ;; accessibility dependencies - at-spi2-core - dconf - gnome-control-center)) + linux-pam)) (synopsis "Display manager for GNOME") (home-page "https://wiki.gnome.org/Projects/GDM/") (description diff --git a/gnu/packages/patches/gdm-elogind-support.patch b/gnu/packages/patches/gdm-elogind-support.patch deleted file mode 100644 index b27e000585..0000000000 --- a/gnu/packages/patches/gdm-elogind-support.patch +++ /dev/null @@ -1,199 +0,0 @@ -https://gitlab.gnome.org/GNOME/gdm/-/merge_requests/113 - -From 462cc0f5346f5913cf7151044f1c232c5d21c1c3 Mon Sep 17 00:00:00 2001 -From: Dudemanguy <random342 <at> airmail.cc> -Date: Fri, 13 Sep 2024 09:37:01 +0200 -Subject: [PATCH] meson: allow building with elogind - -Currently, the GDM meson build has a hard dependency on systemd. -However, GDM can function just fine if one is using elogind. This allows -a user to build GDM against libelogind and also disable the systemd -system and user units. ---- - common/meson.build | 2 +- - data/meson.build | 62 ++++++++++++++---------- - data/pam-arch/gdm-launch-environment.pam | 1 + - libgdm/meson.build | 2 +- - meson.build | 36 +++++++++----- - meson_options.txt | 5 +- - 6 files changed, 66 insertions(+), 42 deletions(-) - -Index: gdm-44.1/common/meson.build -=================================================================== ---- gdm-44.1.orig/common/meson.build -+++ gdm-44.1/common/meson.build -@@ -11,7 +11,7 @@ libgdmcommon_src = files( - ) - - libgdmcommon_deps = [ -- libsystemd_dep, -+ logind_dep, - gobject_dep, - gio_dep, - gio_unix_dep, -Index: gdm-44.1/data/meson.build -=================================================================== ---- gdm-44.1.orig/data/meson.build -+++ gdm-44.1/data/meson.build -@@ -164,41 +164,53 @@ else - service_config.set('PLYMOUTH_QUIT_SERVICE', '') - endif - --if get_option('systemdsystemunitdir') != '' -- systemd_systemunitdir = get_option('systemdsystemunitdir') --else -- systemd_systemunitdir = systemd_dep.get_pkgconfig_variable('systemdsystemunitdir') -+systemdsystemunitdir = get_option('systemdsystemunitdir') -+if systemdsystemunitdir != 'no' -+ assert(systemd_dep.found(), 'systemd required but not found, please provide a valid systemd system unit dir or disable it') -+ if get_option('systemdsystemunitdir') != '' -+ systemd_systemunitdir = get_option('systemdsystemunitdir') -+ else -+ systemd_systemunitdir = systemd_dep.get_pkgconfig_variable('systemdsystemunitdir') -+ endif - endif - --if get_option('systemduserunitdir') != '' -- systemd_userunitdir = get_option('systemduserunitdir') --else -- systemd_userunitdir = systemd_dep.get_pkgconfig_variable('systemduserunitdir', -- define_variable: ['prefix', get_option('prefix')]) -+systemduserunitdir = get_option('systemduserunitdir') -+if systemduserunitdir != 'no' -+ assert(systemd_dep.found(), 'systemd required but not found, please provide a valid systemd user unit dir or disable it') -+ if get_option('systemduserunitdir') != '' -+ systemd_userunitdir = get_option('systemduserunitdir') -+ else -+ systemd_userunitdir = systemd_dep.get_pkgconfig_variable('systemduserunitdir', -+ define_variable: ['prefix', get_option('prefix')]) -+ endif - endif - --configure_file( -- input: 'gdm.service.in', -- output: '@BASENAME@', -- configuration: service_config, -- install_dir: systemd_systemunitdir, -- format: 'cmake' --) -+if systemdsystemunitdir != 'no' -+ configure_file( -+ input: 'gdm.service.in', -+ output: '@BASENAME@', -+ configuration: service_config, -+ install_dir: systemd_systemunitdir, -+ format: 'cmake' -+ ) -+endif - - gdm_gnome_session_wanted_targets = [] - foreach component: gdm_gnome_user_session_wanted_components - gdm_gnome_session_wanted_targets += 'Wants=@0@.target'.format(component) - endforeach - --configure_file( -- input: 'session.conf.in', -- output: 'session.conf', -- configuration: { -- 'requires_component': gdm_gnome_shell_component, -- 'wants_required_components': '\n'.join(gdm_gnome_session_wanted_targets), -- }, -- install_dir: systemd_userunitdir / 'gnome-session <at> gnome-login.target.d', --) -+if systemduserunitdir != 'no' -+ configure_file( -+ input: 'session.conf.in', -+ output: 'session.conf', -+ configuration: { -+ 'requires_component': gdm_gnome_shell_component, -+ 'wants_required_components': '\n'.join(gdm_gnome_session_wanted_targets), -+ }, -+ install_dir: systemd_userunitdir / 'gnome-session <at> gnome-login.target.d', -+ ) -+endif - - # XSession - if get_option('gdm-xsession') -Index: gdm-44.1/libgdm/meson.build -=================================================================== ---- gdm-44.1.orig/libgdm/meson.build -+++ gdm-44.1/libgdm/meson.build -@@ -56,7 +56,7 @@ libgdm_deps = [ - glib_dep, - gio_dep, - gio_unix_dep, -- libsystemd_dep, -+ logind_dep, - libgdmcommon_dep, - ] - -Index: gdm-44.1/meson.build -=================================================================== ---- gdm-44.1.orig/meson.build -+++ gdm-44.1/meson.build -@@ -100,16 +100,24 @@ if xdmcp_dep.found() and get_option('tcp - libwrap_dep = cc.find_library('wrap') - endif - # systemd --systemd_dep = dependency('systemd') --libsystemd_dep = dependency('libsystemd') --systemd_multiseat_x = find_program('systemd-multi-seat-x', -- required: false, -- dirs: [ -- systemd_dep.get_pkgconfig_variable('systemdutildir'), -- '/lib/systemd', -- '/usr/lib/systemd', -- ]) --systemd_x_server = systemd_multiseat_x.found()? systemd_multiseat_x.path() : '/lib/systemd/systemd-multi-seat-x' -+logind_provider = get_option('logind-provider') -+systemd_dep = dependency('systemd', required: false) -+if logind_provider == 'systemd' -+ libsystemd_dep = dependency('libsystemd') -+ logind_dep = libsystemd_dep -+ systemd_multiseat_x = find_program('systemd-multi-seat-x', -+ required: false, -+ dirs: [ -+ systemd_dep.get_pkgconfig_variable('systemdutildir'), -+ '/lib/systemd', -+ '/usr/lib/systemd', -+ ]) -+ systemd_x_server = systemd_multiseat_x.found()? systemd_multiseat_x.path() : '/lib/systemd/systemd-multi-seat-x' -+else -+ elogind_dep = dependency('libelogind') -+ logind_dep = elogind_dep -+ systemd_x_server = 'disabled' -+endif - # Plymouth - plymouth_dep = dependency('ply-boot-client', required: get_option('plymouth')) - # Check for Solaris auditing API (ADT) -@@ -319,6 +327,7 @@ summary({ - 'PAM Syslog': have_pam_syslog, - 'Supports PAM Extensions': pam_extensions_supported, - 'SeLinux': libselinux_dep.found(), -+ 'Logind Provider': get_option('logind-provider'), - 'Use GDM Xsession': get_option('gdm-xsession'), - 'Use UserDisplayServer': get_option('user-display-server'), - 'Use SystemdJournal': get_option('systemd-journal'), -Index: gdm-44.1/meson_options.txt -=================================================================== ---- gdm-44.1.orig/meson_options.txt -+++ gdm-44.1/meson_options.txt -@@ -12,6 +12,7 @@ option('initial-vt', type: 'integer', va - option('ipv6', type: 'boolean', value: false, description: 'Enables compilation of IPv6 code.') - option('lang-file', type: 'string', value: '', description: 'File containing default language settings.') - option('libaudit', type: 'feature', value: 'auto', description: 'Add Linux audit support.') -+option('logind-provider', type: 'combo', choices: ['systemd', 'elogind'], value: 'systemd', description: 'Which logind library to use.') - option('log-dir', type: 'string', value: '/var/log/gdm', description: 'Log directory.') - option('pam-mod-dir', type: 'string', value: '', description: 'Directory to install PAM modules in.') - option('pam-prefix', type: 'string', value: '', description: 'Specify where PAM files go.') -@@ -27,8 +28,8 @@ option('solaris', type: 'boolean', value - option('split-authentication', type: 'boolean', value: true, description: 'Enable multiple simultaneous PAM conversations during login.') - option('sysconfsubdir', type: 'string', value: 'gdm', description: 'Directory name used under sysconfdir.') - option('systemd-journal', type: 'boolean', value: true, description: 'Use journald support.') --option('systemdsystemunitdir', type: 'string', value: '', description: 'Directory for systemd service files.') --option('systemduserunitdir', type: 'string', value: '', description: 'Directory for systemd user service files.') -+option('systemdsystemunitdir', type: 'string', value: '', description: 'Directory for systemd service files, or \'no\' to disable.') -+option('systemduserunitdir', type: 'string', value: '', description: 'Directory for systemd user service files, or \'no\' to disable.') - option('tcp-wrappers', type: 'boolean', value: false, description: 'Use TCP wrappers.') - option('udev-dir', type: 'string', value: '', description: 'Directory for udev rules file.') - option('user', type: 'string', value: 'gdm', description: 'GDM\'s username.') -- 2.45.2
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.