gnome3.gnome-flashback: 3.34.2 -> 3.36.0

* Removed the use of gnome-screensaver (https://gitlab.gnome.org/GNOME/gnome-flashback/issues/18)
* Flashback's menu-related environment variables are now set in the gnome3.nix module instead of gnome-panel to resolve dependency conflict.
This commit is contained in:
Tor Hedin Brønner 2020-02-09 01:39:46 +01:00 committed by Jan Tojnar
parent b08e8ad727
commit 859c46c933
No known key found for this signature in database
GPG Key ID: 7FAB2A15F7A607A4
3 changed files with 69 additions and 10 deletions

View File

@ -180,7 +180,7 @@ in
wmCommand = "${pkgs.gnome3.metacity}/bin/metacity"; wmCommand = "${pkgs.gnome3.metacity}/bin/metacity";
} ++ cfg.flashback.customSessions); } ++ cfg.flashback.customSessions);
security.pam.services.gnome-screensaver = { security.pam.services.gnome-flashback = {
enableGnomeKeyring = true; enableGnomeKeyring = true;
}; };
@ -191,9 +191,10 @@ in
inherit (wm) wmName; inherit (wm) wmName;
}) cfg.flashback.customSessions); }) cfg.flashback.customSessions);
services.dbus.packages = [ # gnome-panel needs these for menu applet
pkgs.gnome3.gnome-screensaver environment.sessionVariables.XDG_DATA_DIRS = [ "${pkgs.gnome3.gnome-flashback}/share" ];
]; # TODO: switch to sessionVariables (resolve conflict)
environment.variables.XDG_CONFIG_DIRS = [ "${pkgs.gnome3.gnome-flashback}/etc/xdg" ];
}) })
(mkIf serviceCfg.core-os-services.enable { (mkIf serviceCfg.core-os-services.enable {

View File

@ -1,6 +1,7 @@
{ stdenv { stdenv
, autoreconfHook , autoreconfHook
, fetchurl , fetchurl
, fetchpatch
, gettext , gettext
, glib , glib
, gnome-bluetooth , gnome-bluetooth
@ -17,7 +18,10 @@
, libxml2 , libxml2
, pkgconfig , pkgconfig
, polkit , polkit
, gdm
, systemd
, upower , upower
, pam
, wrapGAppsHook , wrapGAppsHook
, writeTextFile , writeTextFile
, writeShellScriptBin , writeShellScriptBin
@ -27,16 +31,64 @@
let let
pname = "gnome-flashback"; pname = "gnome-flashback";
version = "3.34.2"; version = "3.36.0";
requiredComponents = wmName: "RequiredComponents=${wmName};gnome-flashback;gnome-panel;org.gnome.SettingsDaemon.A11ySettings;org.gnome.SettingsDaemon.Color;org.gnome.SettingsDaemon.Datetime;org.gnome.SettingsDaemon.Housekeeping;org.gnome.SettingsDaemon.Keyboard;org.gnome.SettingsDaemon.MediaKeys;org.gnome.SettingsDaemon.Power;org.gnome.SettingsDaemon.PrintNotifications;org.gnome.SettingsDaemon.Rfkill;org.gnome.SettingsDaemon.ScreensaverProxy;org.gnome.SettingsDaemon.Sharing;org.gnome.SettingsDaemon.Smartcard;org.gnome.SettingsDaemon.Sound;org.gnome.SettingsDaemon.Wacom;org.gnome.SettingsDaemon.XSettings;";
# From data/sessions/Makefile.am
requiredComponentsCommon = [
"gnome-flashback"
"gnome-panel"
];
requiredComponentsGsd = [
"org.gnome.SettingsDaemon.A11ySettings"
"org.gnome.SettingsDaemon.Color"
"org.gnome.SettingsDaemon.Datetime"
"org.gnome.SettingsDaemon.Housekeeping"
"org.gnome.SettingsDaemon.Keyboard"
"org.gnome.SettingsDaemon.MediaKeys"
"org.gnome.SettingsDaemon.Power"
"org.gnome.SettingsDaemon.PrintNotifications"
"org.gnome.SettingsDaemon.Rfkill"
"org.gnome.SettingsDaemon.ScreensaverProxy"
"org.gnome.SettingsDaemon.Sharing"
"org.gnome.SettingsDaemon.Smartcard"
"org.gnome.SettingsDaemon.Sound"
"org.gnome.SettingsDaemon.UsbProtection"
"org.gnome.SettingsDaemon.Wacom"
"org.gnome.SettingsDaemon.XSettings"
];
requiredComponents = wmName: "RequiredComponents=${stdenv.lib.concatStringsSep ";" ([wmName] ++ requiredComponentsCommon ++ requiredComponentsGsd)};";
gnome-flashback = stdenv.mkDerivation rec { gnome-flashback = stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "1726xcm2q94nfvb055d3m61m20s0xy3xl1fc3ds3k3rcrn457riv"; sha256 = "qwlTFs4wn6PpB7uZkpvnmECsSTa62OQMpgiIXoZoMRk=";
}; };
patches = [
# Fix locking screen from log out dialogue
# https://gitlab.gnome.org/GNOME/gnome-flashback/issues/43
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-flashback/-/commit/7b151e0a947e4b49e1cee80097c1f8946ba46af9.patch";
sha256 = "pJcJb6EGlInlWpLbbBajWydBtbiWK3AMHzsFQ26bmwA=";
})
# Hide GNOME Shell Extensions manager from menu
# https://gitlab.gnome.org/GNOME/gnome-flashback/issues/42
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-flashback/-/commit/75f95379779c24d42d1e72cdcd4c16a9c6db7657.patch";
sha256 = "cwKZSQTFi0f/T1Ld6vJceQFHBsikOhkp//J1IY5aMKA=";
})
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-flashback/-/commit/12cacf25b1190d9c9bba42f085e54895de7a076e.patch";
sha256 = "mx37kLs3x/e9RJCGN6z8/7b5Tz6yzxeN/14NFi8IWfA=";
})
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-flashback/-/commit/7954376f32348028a3bdba0ea182b0000c4fcb0a.patch";
sha256 = "ZEQcg9OoIOIMh/yUYQ9R1Ky8DElteaDQrSdwFtA4Yno=";
})
];
# make .desktop Execs absolute # make .desktop Execs absolute
postPatch = '' postPatch = ''
patch -p0 <<END_PATCH patch -p0 <<END_PATCH
@ -76,7 +128,11 @@ let
libpulseaudio libpulseaudio
libxkbfile libxkbfile
polkit polkit
gdm
gnome-panel
systemd
upower upower
pam
xkeyboard_config xkeyboard_config
]; ];
@ -84,6 +140,9 @@ let
enableParallelBuilding = true; enableParallelBuilding = true;
PKG_CONFIG_LIBGNOME_PANEL_LAYOUTSDIR = "${placeholder "out"}/share/gnome-panel/layouts";
PKG_CONFIG_LIBGNOME_PANEL_MODULESDIR = "${placeholder "out"}/lib/gnome-panel/modules";
passthru = { passthru = {
updateScript = gnome3.updateScript { updateScript = gnome3.updateScript {
packageName = pname; packageName = pname;

View File

@ -7,7 +7,6 @@
, gettext , gettext
, glib , glib
, gnome-desktop , gnome-desktop
, gnome-flashback
, gnome-menus , gnome-menus
, gnome3 , gnome3
, gtk3 , gtk3
@ -46,8 +45,8 @@ in stdenv.mkDerivation rec {
preFixup = '' preFixup = ''
gappsWrapperArgs+=( gappsWrapperArgs+=(
--prefix XDG_DATA_DIRS : "${gnome-menus}/share:${gnome-flashback}/share" --prefix XDG_DATA_DIRS : "${gnome-menus}/share"
--prefix XDG_CONFIG_DIRS : "${gnome-menus}/etc/xdg:${gnome-flashback}/etc/xdg" --prefix XDG_CONFIG_DIRS : "${gnome-menus}/etc/xdg"
) )
''; '';