···3434- `pkgs.claws-mail-gtk2`, representing Claws Mail's older release version three, was removed in order to get rid of Python 2.
3535 Please switch to `claws-mail`, which is Claws Mail's latest release based on GTK+3 and Python 3.
36363737+- The `writers.writePython2` and corrersponding `writers.writePython2Bin` convenience functions to create executable Python 2 scripts in the store were removed in preparation of removal of the Python 2 interpreter.
3838+3739## Other Notable Changes {#sec-release-22.05-notable-changes}
38403941- The option [services.redis.servers](#opt-services.redis.servers) was added
+35
pkgs/build-support/writers/aliases.nix
···11+lib: prev:
22+33+let
44+ # Removing recurseForDerivation prevents derivations of aliased attribute
55+ # set to appear while listing all the packages available.
66+ removeRecurseForDerivations = alias: with lib;
77+ if alias.recurseForDerivations or false then
88+ removeAttrs alias ["recurseForDerivations"]
99+ else alias;
1010+1111+ # Disabling distribution prevents top-level aliases for non-recursed package
1212+ # sets from building on Hydra.
1313+ removeDistribute = alias: with lib;
1414+ if isDerivation alias then
1515+ dontDistribute alias
1616+ else alias;
1717+1818+ # Make sure that we are not shadowing something from
1919+ # writers.
2020+ checkInPkgs = n: alias: if builtins.hasAttr n prev
2121+ then throw "Alias ${n} is still in writers"
2222+ else alias;
2323+2424+ mapAliases = aliases:
2525+ lib.mapAttrs (n: alias: removeDistribute
2626+ (removeRecurseForDerivations
2727+ (checkInPkgs n alias)))
2828+ aliases;
2929+3030+in
3131+mapAliases ({
3232+ /* Cleanup before 22.05, Added 2021-12-11 */
3333+ writePython2 = "Python 2 is EOL and the use of writers.writePython2 is deprecated.";
3434+ writePython2Bin = "Python 2 is EOL and the use of writers.writePython2Bin is deprecated.";
3535+})
+9-22
pkgs/build-support/writers/default.nix
···11-{ pkgs, buildPackages, lib, stdenv, libiconv, gawk, gnused, gixy }:
11+{ pkgs, config, buildPackages, lib, stdenv, libiconv, gawk, gnused, gixy }:
2233-with lib;
44-rec {
33+let
44+ aliases = if (config.allowAliases or true) then (import ./aliases.nix lib) else prev: {};
55+66+ writers = with lib; rec {
57 # Base implementation for non-compiled executables.
68 # Takes an interpreter, for example `${pkgs.bash}/bin/bash`
79 #
···245247 '');
246248 } name;
247249248248- # writePython2 takes a name an attributeset with libraries and some python2 sourcecode and
249249- # returns an executable
250250- #
251251- # Example:
252252- # writePython2 "test_python2" { libraries = [ pkgs.python2Packages.enum ]; } ''
253253- # from enum import Enum
254254- #
255255- # class Test(Enum):
256256- # a = "success"
257257- #
258258- # print Test.a
259259- # ''
260260- writePython2 = makePythonWriter pkgs.python2 pkgs.python2Packages;
261261-262262- # writePython2Bin takes the same arguments as writePython2 but outputs a directory (like writeScriptBin)
263263- writePython2Bin = name:
264264- writePython2 "/bin/${name}";
265265-266250 # writePython3 takes a name an attributeset with libraries and some python3 sourcecode and
267251 # returns an executable
268252 #
···280264 # writePython3Bin takes the same arguments as writePython3 but outputs a directory (like writeScriptBin)
281265 writePython3Bin = name:
282266 writePython3 "/bin/${name}";
283283-}
267267+268268+};
269269+in
270270+writers // (aliases writers)