about summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2024-08-31 11:00:50 +0200
committerJan Tojnar <jtojnar@gmail.com>2024-09-01 14:16:31 +0200
commit58bf5606fb16bc89a65d86150e4065e3b7d27629 (patch)
treebd9263d4f2a07594db4bb886bbc32ab25492e341 /pkgs/desktops
parentb37f158fb00eb0a43dc2a7bc205919fdac4df3fa (diff)
gnome-flashback: Move from gnome scope to top-level
Diffstat (limited to 'pkgs/desktops')
-rw-r--r--pkgs/desktops/gnome/default.nix5
-rw-r--r--pkgs/desktops/gnome/misc/gnome-flashback/default.nix223
2 files changed, 1 insertions, 227 deletions
diff --git a/pkgs/desktops/gnome/default.nix b/pkgs/desktops/gnome/default.nix
index f9ebf1a074d93..a46909b8bb030 100644
--- a/pkgs/desktops/gnome/default.nix
+++ b/pkgs/desktops/gnome/default.nix
@@ -45,10 +45,6 @@ in
 
   nixos-gsettings-overrides = callPackage ./nixos/gsettings-overrides { };
 
-#### Misc -- other packages on http://ftp.gnome.org/pub/GNOME/sources/
-
-  gnome-flashback = callPackage ./misc/gnome-flashback { };
-
 }) // lib.optionalAttrs config.allowAliases {
 #### Legacy aliases. They need to be outside the scope or they will shadow the attributes from parent scope.
   libgnome-keyring = lib.warn "The ‘gnome.libgnome-keyring’ was moved to top-level. Please use ‘pkgs.libgnome-keyring’ directly." pkgs.libgnome-keyring; # Added on 2024-06-22.
@@ -96,6 +92,7 @@ in
   gnome-control-center = lib.warn "The ‘gnome.gnome-control-center’ was moved to top-level. Please use ‘pkgs.gnome-control-center’ directly." pkgs.gnome-control-center; # Added on 2024-08-28.
   gnome-dictionary = lib.warn "The ‘gnome.gnome-dictionary’ was moved to top-level. Please use ‘pkgs.gnome-dictionary’ directly." pkgs.gnome-dictionary; # Added on 2024-06-22.
   gnome-disk-utility = lib.warn "The ‘gnome.gnome-disk-utility’ was moved to top-level. Please use ‘pkgs.gnome-disk-utility’ directly." pkgs.gnome-disk-utility; # Added on 2024-06-22.
+  gnome-flashback = lib.warn "The ‘gnome.gnome-flashback’ was moved to top-level. Please use ‘pkgs.gnome-flashback’ directly." pkgs.gnome-flashback; # Added on 2024-08-31.
   gnome-font-viewer = lib.warn "The ‘gnome.gnome-font-viewer’ was moved to top-level. Please use ‘pkgs.gnome-font-viewer’ directly." pkgs.gnome-font-viewer; # Added on 2024-06-22.
   gnome-initial-setup = lib.warn "The ‘gnome.gnome-initial-setup’ was moved to top-level. Please use ‘pkgs.gnome-initial-setup’ directly." pkgs.gnome-initial-setup; # Added on 2024-08-11.
   gnome-keyring = lib.warn "The ‘gnome.gnome-keyring’ was moved to top-level. Please use ‘pkgs.gnome-keyring’ directly." pkgs.gnome-keyring; # Added on 2024-06-22.
diff --git a/pkgs/desktops/gnome/misc/gnome-flashback/default.nix b/pkgs/desktops/gnome/misc/gnome-flashback/default.nix
deleted file mode 100644
index 89880a68e14ec..0000000000000
--- a/pkgs/desktops/gnome/misc/gnome-flashback/default.nix
+++ /dev/null
@@ -1,223 +0,0 @@
-{
-  stdenv,
-  lib,
-  autoreconfHook,
-  fetchurl,
-  gettext,
-  glib,
-  gnome-bluetooth,
-  gnome-desktop,
-  gnome-panel,
-  gnome-session,
-  gnome,
-  gsettings-desktop-schemas,
-  gtk3,
-  ibus,
-  libcanberra-gtk3,
-  libpulseaudio,
-  libxkbfile,
-  libxml2,
-  pkg-config,
-  polkit,
-  gdm,
-  systemd,
-  upower,
-  pam,
-  wrapGAppsHook3,
-  writeTextFile,
-  xkeyboard_config,
-  xorg,
-  nixosTests,
-  runCommand,
-  buildEnv,
-}:
-
-let
-  # From data/sessions/Makefile.am
-  requiredComponentsCommon = enableGnomePanel: [ ] ++ 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: {
-  pname = "gnome-flashback";
-  version = "3.52.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-flashback/${lib.versions.majorMinor finalAttrs.version}/gnome-flashback-${finalAttrs.version}.tar.xz";
-    hash = "sha256-ugRhPNrbYr2iBkN8BHKZ4WAlzeG9gJXglKp3dpx4YDo=";
-  };
-
-  # make .desktop Execs absolute
-  postPatch = ''
-    patch -p0 <<END_PATCH
-    +++ data/applications/gnome-flashback.desktop.in
-    @@ -4 +4 @@
-    -Exec=gnome-flashback
-    +Exec=$out/bin/gnome-flashback
-    END_PATCH
-  '';
-
-  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/xsessions
-    rm $out/libexec/gnome-flashback-metacity
-  '';
-
-  nativeBuildInputs = [
-    autoreconfHook
-    gettext
-    libxml2
-    pkg-config
-    wrapGAppsHook3
-  ];
-
-  buildInputs = [
-    glib
-    gnome-bluetooth
-    gnome-desktop
-    gsettings-desktop-schemas
-    gtk3
-    ibus
-    libcanberra-gtk3
-    libpulseaudio
-    libxkbfile
-    xorg.libXxf86vm
-    polkit
-    gdm
-    gnome-panel
-    systemd
-    upower
-    pam
-    xkeyboard_config
-  ];
-
-  doCheck = 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 = {
-    updateScript = gnome.updateScript {
-      packageName = "gnome-flashback";
-      attrPath = "gnome.gnome-flashback";
-      versionPolicy = "odd-unstable";
-    };
-
-    mkWmApplication =
-      {
-        wmName,
-        wmLabel,
-        wmCommand,
-      }:
-      writeTextFile {
-        name = "gnome-flashback-${wmName}-wm";
-        destination = "/share/applications/${wmName}.desktop";
-        text = ''
-          [Desktop Entry]
-          Type=Application
-          Encoding=UTF-8
-          Name=${wmLabel}
-          Exec=${wmCommand}
-          NoDisplay=true
-          X-GNOME-WMName=${wmLabel}
-          X-GNOME-Autostart-Phase=WindowManager
-          X-GNOME-Provides=windowmanager
-          X-GNOME-Autostart-Notify=false
-        '';
-      };
-
-    mkGnomeSession =
-      {
-        wmName,
-        wmLabel,
-        enableGnomePanel,
-      }:
-      writeTextFile {
-        name = "gnome-flashback-${wmName}-gnome-session";
-        destination = "/share/gnome-session/sessions/gnome-flashback-${wmName}.session";
-        text = ''
-          [GNOME Session]
-          Name=GNOME Flashback (${wmLabel})
-          ${requiredComponents wmName enableGnomePanel}
-        '';
-      };
-
-    mkSessionForWm =
-      {
-        wmName,
-        wmLabel,
-        wmCommand,
-      }:
-      writeTextFile {
-        name = "gnome-flashback-${wmName}-xsession";
-        destination = "/share/xsessions/gnome-flashback-${wmName}.desktop";
-        text = ''
-          [Desktop Entry]
-          Name=GNOME Flashback (${wmLabel})
-          Comment=This session logs you into GNOME Flashback with ${wmLabel}
-          Exec=${gnome-session}/bin/gnome-session --session=gnome-flashback-${wmName}
-          TryExec=${wmCommand}
-          Type=Application
-          DesktopNames=GNOME-Flashback;GNOME;
-        '';
-      }
-      // {
-        providedSessions = [ "gnome-flashback-${wmName}" ];
-      };
-
-    mkSystemdTargetForWm =
-      {
-        wmName,
-        wmLabel,
-        wmCommand,
-        enableGnomePanel,
-      }:
-      runCommand "gnome-flashback-${wmName}.target" { } ''
-        mkdir -p $out/lib/systemd/user
-        cp -r "${finalAttrs.gnome-flashback}/lib/systemd/user/gnome-session@gnome-flashback-metacity.target.d" \
-          "$out/lib/systemd/user/gnome-session@gnome-flashback-${wmName}.target.d"
-      '';
-
-    tests = {
-      inherit (nixosTests) gnome-flashback;
-    };
-  };
-
-  meta = with lib; {
-    description = "GNOME 2.x-like session for GNOME 3";
-    mainProgram = "gnome-flashback";
-    homepage = "https://gitlab.gnome.org/GNOME/gnome-flashback";
-    license = licenses.gpl2;
-    maintainers = teams.gnome.members;
-    platforms = platforms.linux;
-  };
-})