Unverified Commit 5525603a authored by K900's avatar K900 Committed by GitHub
Browse files

treewide: deprecate Plasma 5 (#383664)

parents ec2ab40d d443c67c
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -53,7 +53,9 @@

### Deprecations {#sec-nixpkgs-release-25.05-lib-deprecations}

`functor` is an implementation detail and should not be relied upon, but since its status wasn't clear and it has had some use cases without alternatives, changes are being handled as gracefully as possible. Deprecations within functor:
- `functor` is an implementation detail and should not be relied upon, but since its status wasn't clear and it has had some use cases without alternatives, changes are being handled as gracefully as possible. Deprecations within functor:
  - `functor.wrapped` is now deprecated for some types and using it will give a warning with migration instructions. It is deprecated for these types:
    - `lib.types.attrsWith`
    - `lib.types.listOf`

- Plasma 5 and Qt 5 based versions of associated software are deprecated in NixOS 25.05, and will be removed in NixOS 25.11. Users are encouraged to upgrade to Plasma 6.
+3 −0
Original line number Diff line number Diff line
@@ -168,6 +168,9 @@ in
  config = mkMerge [
    # Common Plasma dependencies
    (mkIf (cfg.enable || cfg.mobile.enable || cfg.bigscreen.enable) {
      warnings = [
        "Plasma 5 has been deprecated and will be removed in NixOS 25.11. Please migrate your configuration to Plasma 6."
      ];

      security.wrappers = {
        kwin_wayland = {
+55 −42
Original line number Diff line number Diff line
@@ -40,6 +40,55 @@ let
    p4 = "${prefix}transmission_4${suffix}";
  in "${p} has been renamed to ${p3} since ${p4} is also available. Note that upgrade caused data loss for some users so backup is recommended (see NixOS 24.11 release notes for details)";

  deprecatedPlasma5Packages = {
    inherit (plasma5Packages)
      akonadi akregator arianna ark bluedevil bomber bovo breeze-grub breeze-gtk
      breeze-icons breeze-plymouth breeze-qt5 colord-kde discover dolphin dragon elisa falkon
      ffmpegthumbs filelight granatier gwenview k3b kactivitymanagerd kaddressbook
      kalzium kapman kapptemplate kate katomic kblackbox kblocks kbounce
      kcachegrind kcalc kcharselect kcolorchooser kde-cli-tools kde-gtk-config
      kdenlive kdeplasma-addons kdevelop-pg-qt kdevelop-unwrapped kdev-php
      kdev-python kdevelop kdf kdialog kdiamond keditbookmarks kfind
      kgamma5 kget kgpg khelpcenter kig kigo killbots kinfocenter kitinerary
      kleopatra klettres klines kmag kmail kmenuedit kmines kmix kmplot
      knavalbattle knetwalk knights kollision kolourpaint kompare konsole kontact
      konversation korganizer kpkpass krdc kreversi krfb kscreen kscreenlocker
      kshisen ksquares ksshaskpass ksystemlog kteatime ktimer ktorrent ktouch
      kturtle kwallet-pam kwalletmanager kwave kwayland-integration kwin kwrited
      marble merkuro milou minuet okular oxygen oxygen-icons5 picmi
      plasma-browser-integration plasma-desktop plasma-integration plasma-nano
      plasma-nm plasma-pa plasma-mobile plasma-systemmonitor plasma-thunderbolt
      plasma-vault plasma-workspace plasma-workspace-wallpapers polkit-kde-agent
      powerdevil qqc2-breeze-style sddm-kcm skanlite skanpage spectacle
      systemsettings xdg-desktop-portal-kde yakuake zanshin
      ;

    inherit (plasma5Packages.thirdParty)
      krohnkite
      krunner-ssh
      krunner-symbols
      kwin-dynamic-workspaces
      kwin-tiling
      plasma-applet-caffeine-plus
      plasma-applet-virtual-desktop-bar
      ;

    inherit (libsForQt5)
      sddm
      ;
  };

  makePlasma5Throw = name: throw ''
    The top-level ${name} alias has been removed.

    Please explicitly use kdePackages.${name} for the latest Qt 6-based version,
    or libsForQt5.${name} for the deprecated Qt 5 version.

    Note that Qt 5 versions of most KDE software will be removed in NixOS 25.11.
  '';

  plasma5Throws = lib.mapAttrs (k: _: makePlasma5Throw k) deprecatedPlasma5Packages;

  # Make sure that we are not shadowing something from all-packages.nix.
  checkInPkgs = n: alias:
    if builtins.hasAttr n super
@@ -476,7 +525,7 @@ mapAliases {
  gfortran49 = throw "'gfortran49' has been removed from nixpkgs"; # Added 2024-09-11
  gfortran7 = throw "gfortran7 has been removed from Nixpkgs, as it is unmaintained and obsolete"; # Added 2024-11-20
  gfortran8 = throw "gfortran8 has been removed from Nixpkgs, as it is unmaintained and obsolete"; # Added 2024-11-20
  ghostwriter = libsForQt5.kdeGear.ghostwriter; # Added 2023-03-18
  ghostwriter = makePlasma5Throw "ghostwriter"; # Added 2023-03-18
  git-codeowners = throw "'git-codeowners' has been removed due to lack of upstream maintenance"; # Added 2025-01-25
  gmp5 = throw "'gmp5' has been removed as it is unmaintained. Consider using 'gmp' instead"; # Added 2024-10-28
  gmpc = throw "'gmpc' has been removed due to lack of maintenance upstream. Consider using 'plattenalbum' instead"; # Added 2024-09-14
@@ -664,7 +713,7 @@ mapAliases {
  kgx = gnome-console; # Added 2022-02-19
  kibana7 = throw "Kibana 7.x has been removed from nixpkgs as it depends on an end of life Node.js version and received no maintenance in time."; # Added 2023-30-10
  kibana = kibana7;
  kio-admin = libsForQt5.kdeGear.kio-admin; # Added 2023-03-18
  kio-admin = makePlasma5Throw "kio-admin"; # Added 2023-03-18
  kiwitalk = throw "KiwiTalk has been removed because the upstream has been deprecated at the request of Kakao and it's now obsolete."; # Added 2024-10-10
  kodiGBM = kodi-gbm;
  kodiPlain = kodi;
@@ -964,7 +1013,7 @@ mapAliases {
  ''; # Added 2024-06-25
  nextcloud27Packages = throw "Nextcloud27 is EOL!"; # Added 2024-06-25
  nagiosPluginsOfficial = monitoring-plugins;
  neochat = libsForQt5.kdeGear.neochat; # added 2022-05-10
  neochat = makePlasma5Throw "neochat"; # added 2022-05-10
  nerdfonts = throw ''
    nerdfonts has been separated into individual font packages under the namespace nerd-fonts.
    For example change:
@@ -1091,7 +1140,7 @@ mapAliases {
  paperoni = throw "paperoni has been removed, because it is unmaintained"; # Added 2024-07-14
  paperless = throw "'paperless' has been renamed to/replaced by 'paperless-ngx'"; # Converted to throw 2024-10-17
  paperless-ng = paperless-ngx; # Added 2022-04-11
  partition-manager = libsForQt5.partitionmanager; # Added 2024-01-08
  partition-manager = makePlasma5Throw "partitionmanager"; # Added 2024-01-08
  patchelfStable = patchelf; # Added 2024-01-25
  paup =  paup-cli; # Added 2024-09-11
  pcsctools = pcsc-tools; # Added 2023-12-07
@@ -1577,7 +1626,7 @@ mapAliases {
  xtrlock-pam = throw "xtrlock-pam has been removed because it is unmaintained for 10 years and doesn't support Python 3.10 or newer"; # Added 2025-01-25
  xulrunner = firefox-unwrapped; # Added 2023-11-03
  xvfb_run = throw "'xvfb_run' has been renamed to/replaced by 'xvfb-run'"; # Converted to throw 2024-10-17
  xwaylandvideobridge = libsForQt5.xwaylandvideobridge; # Added 2024-09-27
  xwaylandvideobridge = makePlasma5Throw "xwaylandvideobridge"; # Added 2024-09-27
  xxv = throw "'xxv' has been removed due to lack of upstream maintenance"; # Added 2025-01-25

  ### Y ###
@@ -1627,45 +1676,9 @@ mapAliases {
    between mixed versions of qt. See:
  https://github.com/NixOS/nixpkgs/pull/101369 */

  inherit (plasma5Packages)
    akonadi akregator arianna ark bluedevil bomber bovo breeze-grub breeze-gtk
    breeze-icons breeze-plymouth breeze-qt5 colord-kde discover dolphin dragon elisa falkon
    ffmpegthumbs filelight granatier gwenview k3b kactivitymanagerd kaddressbook
    kalzium kapman kapptemplate kate katomic kblackbox kblocks kbounce
    kcachegrind kcalc kcharselect kcolorchooser kde-cli-tools kde-gtk-config
    kdenlive kdeplasma-addons kdevelop-pg-qt kdevelop-unwrapped kdev-php
    kdev-python kdevelop kdf kdialog kdiamond keditbookmarks kfind
    kgamma5 kget kgpg khelpcenter kig kigo killbots kinfocenter kitinerary
    kleopatra klettres klines kmag kmail kmenuedit kmines kmix kmplot
    knavalbattle knetwalk knights kollision kolourpaint kompare konsole kontact
    konversation korganizer kpkpass krdc kreversi krfb kscreen kscreenlocker
    kshisen ksquares ksshaskpass ksystemlog kteatime ktimer ktorrent ktouch
    kturtle kwallet-pam kwalletmanager kwave kwayland-integration kwin kwrited
    marble merkuro milou minuet okular oxygen oxygen-icons5 picmi
    plasma-browser-integration plasma-desktop plasma-integration plasma-nano
    plasma-nm plasma-pa plasma-mobile plasma-systemmonitor plasma-thunderbolt
    plasma-vault plasma-workspace plasma-workspace-wallpapers polkit-kde-agent
    powerdevil qqc2-breeze-style sddm-kcm skanlite skanpage spectacle
    systemsettings xdg-desktop-portal-kde yakuake zanshin
    ;

  kalendar = merkuro; # Renamed in 23.08
  kfloppy = throw "kfloppy has been removed upstream in KDE Gear 23.08";

  inherit (plasma5Packages.thirdParty)
    krohnkite
    krunner-ssh
    krunner-symbols
    kwin-dynamic-workspaces
    kwin-tiling
    plasma-applet-caffeine-plus
    plasma-applet-virtual-desktop-bar
    ;

  inherit (libsForQt5)
    sddm
    ;

  inherit (pidginPackages)
    pidgin-indicator
    pidgin-latex
@@ -1694,4 +1707,4 @@ mapAliases {
    purple-facebook
    ;

}
} // plasma5Throws