NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
18.08k stars 14.08k forks source link

Remove Xfce 4.12 #68737

Closed worldofpeace closed 4 years ago

worldofpeace commented 5 years ago

Describe the bug We have Xfce 4.14 in nixpkgs, a separate module just for this version and a test.

All of these supersede what's used for Xfce 4.12 and we shouldn't have multiple versions of it in nixpkgs.

Things to do Off the top of my head, these are the things that should be done to achieve this. The remove defunct xfce software is going to need a keen eye.

worldofpeace commented 5 years ago

Note I may not be able to be responsible to produce this myself in 20.03, so I've opened this to solicit some assistance.

worldofpeace commented 5 years ago

alias xfce4-14 to xfce (drop in 20.09)

by 20.09 there will be xfce4-16, they plan yearly releases

So nixpkgs will likely have two xfce versions always

Could you explain further why it'd have to be like this? My understanding is that we'd just update the single xfce package set to 4.16 when it's released. I don't think any other distro keeps old versions of xfce around.

worldofpeace commented 5 years ago

I understand a situation where there would be different versions of Xfce on the stable release and unstable, but I don't think we should maintain multiple package sets. It makes the release more difficult. People could expect the same quality by distributing the latest stable release and its predecessor. Suddenly we're maintaining two different interfaces to interact with the same software, just at different points in time. There may be issues with the latest release, but it is a stable release so they hopefully won't be blocking issues (xfce appears to have more maturity to avoid this.)

worldofpeace commented 5 years ago

We're only in a situation where we actually have to deprecate Xfce 4.12 because a second set of Xfce packages were introduced, and they had a very unreasonable window of time between the release. (#32763 was for testing)

As they've promised more timely releases this will be a much simpler task.

worldofpeace commented 5 years ago

There may be issues with the latest release, but it is a stable release so they hopefully won't be blocking issues

That was the point I tried to argue, sorry for being unclear. What upstream guys say "stable" that means it has no issues on Linux they are using (Ubuntu or something).

4.14 is stable now, but, for example, the start menu remembers full Nix Store paths. Once you run Chromium, it runs chromium-76. Then, after nixos-rebuild which supposes to upgrade chromium to -77, xfce start menu will still run chromium-76. After reboot it will still be chromium-76. And after garbage collection it will be a "file not found".

Of course we could consider issues like this non-blocking, but the very existence of nixos-specific issues is the reason to make difference between "upstream stable" and "nixos stable".

This issue appears to pop up frequently in Nix with application launchers. We should probably report this upstream so it can be fixed, which component is this?. If we had more resources we could coordinate that upstream stable is nixos stable. But unfortunately, it appears that we lack the resources to have this maintained very well in NixOS (I can only contribute to this provisionally). Attracting new maintainers and contributors is something I try to do to help this.

worldofpeace commented 5 years ago

71095 adds a xfce 4.12 specific option description and configuration

    agent.pinentryFlavor = mkOption {
      type = types.nullOr (types.enum pkgs.pinentry.flavors);
      example = "gnome3";
      description = ''
        Which pinentry interface to use. If not null, the path to the
        pinentry binary will be passed to gpg-agent via commandline and
        thus overrides the pinentry option in gpg-agent.conf in the user's
        home directory.
        If not set at all, it'll pick an appropriate flavor depending on the
        system configuration (qt flavor for lxqt and plasma5, gtk2 for xfce
        4.12, gnome3 on all other systems with X enabled, ncurses otherwise).
      '';
    };