diff options
author | Jan Tojnar <jtojnar@gmail.com> | 2024-08-31 11:00:50 +0200 |
---|---|---|
committer | Jan Tojnar <jtojnar@gmail.com> | 2024-09-01 14:16:31 +0200 |
commit | 58bf5606fb16bc89a65d86150e4065e3b7d27629 (patch) | |
tree | bd9263d4f2a07594db4bb886bbc32ab25492e341 /pkgs/desktops | |
parent | b37f158fb00eb0a43dc2a7bc205919fdac4df3fa (diff) |
gnome-flashback: Move from gnome scope to top-level
Diffstat (limited to 'pkgs/desktops')
-rw-r--r-- | pkgs/desktops/gnome/default.nix | 5 | ||||
-rw-r--r-- | pkgs/desktops/gnome/misc/gnome-flashback/default.nix | 223 |
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; - }; -}) |