gnome-flashback: 3.56.0 → 3.58.0
https://gitlab.gnome.org/GNOME/gnome-flashback/-/compare/3.56.0...3.58.0 Changelog-Reviewed-By: Bobby Rong <rjl931189261@126.com> Co-authored-by: Bobby Rong <rjl931189261@126.com>
This commit is contained in:
@@ -297,8 +297,12 @@ in
|
|||||||
|
|
||||||
systemd.packages = [
|
systemd.packages = [
|
||||||
pkgs.gnome-flashback
|
pkgs.gnome-flashback
|
||||||
|
pkgs.metacity
|
||||||
|
(pkgs.gnome-panel-with-modules.override {
|
||||||
|
panelModulePackages = cfg.flashback.panelModulePackages;
|
||||||
|
})
|
||||||
]
|
]
|
||||||
++ map pkgs.gnome-flashback.mkSystemdTargetForWm flashbackWms;
|
++ map pkgs.gnome-flashback.mkSystemdTargetForWm cfg.flashback.customSessions;
|
||||||
|
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
pkgs.gnome-flashback
|
pkgs.gnome-flashback
|
||||||
@@ -311,9 +315,7 @@ in
|
|||||||
wm: pkgs.gnome-flashback.mkWmApplication { inherit (wm) wmName wmLabel wmCommand; }
|
wm: pkgs.gnome-flashback.mkWmApplication { inherit (wm) wmName wmLabel wmCommand; }
|
||||||
) flashbackWms)
|
) flashbackWms)
|
||||||
# For /share/pkgs.gnome-session/sessions/gnome-flashback-${wmName}.session
|
# For /share/pkgs.gnome-session/sessions/gnome-flashback-${wmName}.session
|
||||||
++ (map (
|
++ (map (wm: pkgs.gnome-flashback.mkGnomeSession { inherit (wm) wmName wmLabel; }) flashbackWms);
|
||||||
wm: pkgs.gnome-flashback.mkGnomeSession { inherit (wm) wmName wmLabel enableGnomePanel; }
|
|
||||||
) flashbackWms);
|
|
||||||
})
|
})
|
||||||
|
|
||||||
(lib.mkIf serviceCfg.core-os-services.enable {
|
(lib.mkIf serviceCfg.core-os-services.enable {
|
||||||
|
|||||||
@@ -26,8 +26,17 @@
|
|||||||
|
|
||||||
services.desktopManager.gnome.enable = true;
|
services.desktopManager.gnome.enable = true;
|
||||||
services.desktopManager.gnome.debug = true;
|
services.desktopManager.gnome.debug = true;
|
||||||
services.desktopManager.gnome.flashback.enableMetacity = true;
|
|
||||||
services.displayManager.defaultSession = "gnome-flashback-metacity";
|
services.desktopManager.gnome.flashback.customSessions = [
|
||||||
|
{
|
||||||
|
# Intentionally a different name to test mkSystemdTargetForWm.
|
||||||
|
wmName = "metacitytest";
|
||||||
|
wmLabel = "Metacity";
|
||||||
|
wmCommand = "${pkgs.metacity}/bin/metacity";
|
||||||
|
enableGnomePanel = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
services.displayManager.defaultSession = "gnome-flashback-metacitytest";
|
||||||
};
|
};
|
||||||
|
|
||||||
testScript =
|
testScript =
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
libpulseaudio,
|
libpulseaudio,
|
||||||
libxkbfile,
|
libxkbfile,
|
||||||
libxml2,
|
libxml2,
|
||||||
|
metacity,
|
||||||
pkg-config,
|
pkg-config,
|
||||||
polkit,
|
polkit,
|
||||||
gdm,
|
gdm,
|
||||||
@@ -34,43 +35,13 @@
|
|||||||
buildEnv,
|
buildEnv,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
|
||||||
# From data/sessions/Makefile.am
|
|
||||||
requiredComponentsCommon =
|
|
||||||
enableGnomePanel: [ "gnome-flashback" ] ++ lib.optional enableGnomePanel "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: enableGnomePanel:
|
|
||||||
"RequiredComponents=${
|
|
||||||
lib.concatStringsSep ";" (
|
|
||||||
[ wmName ] ++ requiredComponentsCommon enableGnomePanel ++ requiredComponentsGsd
|
|
||||||
)
|
|
||||||
};";
|
|
||||||
in
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "gnome-flashback";
|
pname = "gnome-flashback";
|
||||||
version = "3.56.0";
|
version = "3.58.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/gnome-flashback/${lib.versions.majorMinor finalAttrs.version}/gnome-flashback-${finalAttrs.version}.tar.xz";
|
url = "mirror://gnome/sources/gnome-flashback/${lib.versions.majorMinor finalAttrs.version}/gnome-flashback-${finalAttrs.version}.tar.xz";
|
||||||
hash = "sha256-LQ+iLzc9sIDq7w5Wk7lijN6ETyVjPVqQMTsEndlSkmA=";
|
hash = "sha256-qqI+cEJHfnQfJCebRoudIK9OwZXuQ7PTEs2q+E2YwyE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
@@ -90,10 +61,6 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
# Check that our expected RequiredComponents match the stock session files, but then don't install them.
|
|
||||||
# They can be installed using mkSessionForWm.
|
|
||||||
grep '${requiredComponents "metacity" true}' $out/share/gnome-session/sessions/gnome-flashback-metacity.session || (echo "RequiredComponents have changed, please update gnome-flashback/default.nix."; false)
|
|
||||||
|
|
||||||
rm -r $out/share/gnome-session
|
rm -r $out/share/gnome-session
|
||||||
rm -r $out/share/xsessions
|
rm -r $out/share/xsessions
|
||||||
rm $out/libexec/gnome-flashback-metacity
|
rm $out/libexec/gnome-flashback-metacity
|
||||||
@@ -167,7 +134,6 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
{
|
{
|
||||||
wmName,
|
wmName,
|
||||||
wmLabel,
|
wmLabel,
|
||||||
enableGnomePanel,
|
|
||||||
}:
|
}:
|
||||||
writeTextFile {
|
writeTextFile {
|
||||||
name = "gnome-flashback-${wmName}-gnome-session";
|
name = "gnome-flashback-${wmName}-gnome-session";
|
||||||
@@ -175,7 +141,6 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
text = ''
|
text = ''
|
||||||
[GNOME Session]
|
[GNOME Session]
|
||||||
Name=GNOME Flashback (${wmLabel})
|
Name=GNOME Flashback (${wmLabel})
|
||||||
${requiredComponents wmName enableGnomePanel}
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -209,11 +174,33 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
wmCommand,
|
wmCommand,
|
||||||
enableGnomePanel,
|
enableGnomePanel,
|
||||||
}:
|
}:
|
||||||
runCommand "gnome-flashback-${wmName}.target" { } ''
|
runCommand "gnome-flashback-${wmName}.target" { } (
|
||||||
mkdir -p $out/lib/systemd/user
|
''
|
||||||
cp -r "${finalAttrs.finalPackage}/lib/systemd/user/gnome-session@gnome-flashback-metacity.target.d" \
|
if [ "${wmName}" = "metacity" ]; then
|
||||||
"$out/lib/systemd/user/gnome-session@gnome-flashback-${wmName}.target.d"
|
echo "Use `services.xserver.windowManager.metacity.enable` instead."
|
||||||
'';
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p $out/lib/systemd/user/gnome-session@gnome-flashback-${wmName}.target.d
|
||||||
|
cp "${finalAttrs.finalPackage}/lib/systemd/user/gnome-session@gnome-flashback-metacity.target.d/session.conf" \
|
||||||
|
"$out/lib/systemd/user/gnome-session@gnome-flashback-${wmName}.target.d/session.conf"
|
||||||
|
|
||||||
|
substitute ${finalAttrs.finalPackage}/lib/systemd/user/gnome-session-x11@gnome-flashback-metacity.target \
|
||||||
|
"$out/lib/systemd/user/gnome-session-x11@gnome-flashback-${wmName}.target" \
|
||||||
|
--replace-fail "(Metacity)" "(${wmLabel})"
|
||||||
|
|
||||||
|
echo -e "[Unit]\nWants=${wmName}.service" >> "$out/lib/systemd/user/gnome-session@gnome-flashback-${wmName}.target.d/${wmName}.conf"
|
||||||
|
|
||||||
|
substitute ${metacity}/lib/systemd/user/metacity.service \
|
||||||
|
"$out/lib/systemd/user/${wmName}.service" \
|
||||||
|
--replace-fail "Description=Metacity" "Description=${wmLabel}" \
|
||||||
|
--replace-fail "ExecStart=${metacity}/bin/metacity" "ExecStart=${wmCommand}"
|
||||||
|
''
|
||||||
|
+ lib.optionalString (!enableGnomePanel) ''
|
||||||
|
substituteInPlace "$out/lib/systemd/user/gnome-session@gnome-flashback-${wmName}.target.d/session.conf" \
|
||||||
|
--replace-fail "Wants=gnome-panel.service" ""
|
||||||
|
''
|
||||||
|
);
|
||||||
|
|
||||||
tests = {
|
tests = {
|
||||||
inherit (nixosTests) gnome-flashback;
|
inherit (nixosTests) gnome-flashback;
|
||||||
|
|||||||
Reference in New Issue
Block a user