writers.writePython2: remove
This commit is contained in:
parent
977810ca50
commit
4e42f6bcb3
@ -34,6 +34,8 @@ In addition to numerous new and upgraded packages, this release has the followin
|
|||||||
- `pkgs.claws-mail-gtk2`, representing Claws Mail's older release version three, was removed in order to get rid of Python 2.
|
- `pkgs.claws-mail-gtk2`, representing Claws Mail's older release version three, was removed in order to get rid of Python 2.
|
||||||
Please switch to `claws-mail`, which is Claws Mail's latest release based on GTK+3 and Python 3.
|
Please switch to `claws-mail`, which is Claws Mail's latest release based on GTK+3 and Python 3.
|
||||||
|
|
||||||
|
- 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.
|
||||||
|
|
||||||
## Other Notable Changes {#sec-release-22.05-notable-changes}
|
## Other Notable Changes {#sec-release-22.05-notable-changes}
|
||||||
|
|
||||||
- The option [services.redis.servers](#opt-services.redis.servers) was added
|
- The option [services.redis.servers](#opt-services.redis.servers) was added
|
||||||
|
35
pkgs/build-support/writers/aliases.nix
Normal file
35
pkgs/build-support/writers/aliases.nix
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
lib: prev:
|
||||||
|
|
||||||
|
let
|
||||||
|
# Removing recurseForDerivation prevents derivations of aliased attribute
|
||||||
|
# set to appear while listing all the packages available.
|
||||||
|
removeRecurseForDerivations = alias: with lib;
|
||||||
|
if alias.recurseForDerivations or false then
|
||||||
|
removeAttrs alias ["recurseForDerivations"]
|
||||||
|
else alias;
|
||||||
|
|
||||||
|
# Disabling distribution prevents top-level aliases for non-recursed package
|
||||||
|
# sets from building on Hydra.
|
||||||
|
removeDistribute = alias: with lib;
|
||||||
|
if isDerivation alias then
|
||||||
|
dontDistribute alias
|
||||||
|
else alias;
|
||||||
|
|
||||||
|
# Make sure that we are not shadowing something from
|
||||||
|
# writers.
|
||||||
|
checkInPkgs = n: alias: if builtins.hasAttr n prev
|
||||||
|
then throw "Alias ${n} is still in writers"
|
||||||
|
else alias;
|
||||||
|
|
||||||
|
mapAliases = aliases:
|
||||||
|
lib.mapAttrs (n: alias: removeDistribute
|
||||||
|
(removeRecurseForDerivations
|
||||||
|
(checkInPkgs n alias)))
|
||||||
|
aliases;
|
||||||
|
|
||||||
|
in
|
||||||
|
mapAliases ({
|
||||||
|
/* Cleanup before 22.05, Added 2021-12-11 */
|
||||||
|
writePython2 = "Python 2 is EOL and the use of writers.writePython2 is deprecated.";
|
||||||
|
writePython2Bin = "Python 2 is EOL and the use of writers.writePython2Bin is deprecated.";
|
||||||
|
})
|
@ -1,7 +1,9 @@
|
|||||||
{ pkgs, buildPackages, lib, stdenv, libiconv, gawk, gnused, gixy }:
|
{ pkgs, config, buildPackages, lib, stdenv, libiconv, gawk, gnused, gixy }:
|
||||||
|
|
||||||
with lib;
|
let
|
||||||
rec {
|
aliases = if (config.allowAliases or true) then (import ./aliases.nix lib) else prev: {};
|
||||||
|
|
||||||
|
writers = with lib; rec {
|
||||||
# Base implementation for non-compiled executables.
|
# Base implementation for non-compiled executables.
|
||||||
# Takes an interpreter, for example `${pkgs.bash}/bin/bash`
|
# Takes an interpreter, for example `${pkgs.bash}/bin/bash`
|
||||||
#
|
#
|
||||||
@ -245,24 +247,6 @@ rec {
|
|||||||
'');
|
'');
|
||||||
} name;
|
} name;
|
||||||
|
|
||||||
# writePython2 takes a name an attributeset with libraries and some python2 sourcecode and
|
|
||||||
# returns an executable
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# writePython2 "test_python2" { libraries = [ pkgs.python2Packages.enum ]; } ''
|
|
||||||
# from enum import Enum
|
|
||||||
#
|
|
||||||
# class Test(Enum):
|
|
||||||
# a = "success"
|
|
||||||
#
|
|
||||||
# print Test.a
|
|
||||||
# ''
|
|
||||||
writePython2 = makePythonWriter pkgs.python2 pkgs.python2Packages;
|
|
||||||
|
|
||||||
# writePython2Bin takes the same arguments as writePython2 but outputs a directory (like writeScriptBin)
|
|
||||||
writePython2Bin = name:
|
|
||||||
writePython2 "/bin/${name}";
|
|
||||||
|
|
||||||
# writePython3 takes a name an attributeset with libraries and some python3 sourcecode and
|
# writePython3 takes a name an attributeset with libraries and some python3 sourcecode and
|
||||||
# returns an executable
|
# returns an executable
|
||||||
#
|
#
|
||||||
@ -280,4 +264,7 @@ rec {
|
|||||||
# writePython3Bin takes the same arguments as writePython3 but outputs a directory (like writeScriptBin)
|
# writePython3Bin takes the same arguments as writePython3 but outputs a directory (like writeScriptBin)
|
||||||
writePython3Bin = name:
|
writePython3Bin = name:
|
||||||
writePython3 "/bin/${name}";
|
writePython3 "/bin/${name}";
|
||||||
}
|
|
||||||
|
};
|
||||||
|
in
|
||||||
|
writers // (aliases writers)
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
, lib
|
, lib
|
||||||
, nodePackages
|
, nodePackages
|
||||||
, perlPackages
|
, perlPackages
|
||||||
, python2Packages
|
|
||||||
, python3Packages
|
, python3Packages
|
||||||
, runCommand
|
, runCommand
|
||||||
, writers
|
, writers
|
||||||
@ -54,17 +53,6 @@ let
|
|||||||
print "success\n" if true;
|
print "success\n" if true;
|
||||||
'';
|
'';
|
||||||
|
|
||||||
python2 = writePython2Bin "test-writers-python2-bin" { libraries = [ python2Packages.enum ]; } ''
|
|
||||||
from enum import Enum
|
|
||||||
|
|
||||||
|
|
||||||
class Test(Enum):
|
|
||||||
a = "success"
|
|
||||||
|
|
||||||
|
|
||||||
print Test.a
|
|
||||||
'';
|
|
||||||
|
|
||||||
python3 = writePython3Bin "test-writers-python3-bin" { libraries = [ python3Packages.pyyaml ]; } ''
|
python3 = writePython3Bin "test-writers-python3-bin" { libraries = [ python3Packages.pyyaml ]; } ''
|
||||||
import yaml
|
import yaml
|
||||||
|
|
||||||
@ -111,17 +99,6 @@ let
|
|||||||
print "success\n" if true;
|
print "success\n" if true;
|
||||||
'';
|
'';
|
||||||
|
|
||||||
python2 = writePython2 "test-writers-python2" { libraries = [ python2Packages.enum ]; } ''
|
|
||||||
from enum import Enum
|
|
||||||
|
|
||||||
|
|
||||||
class Test(Enum):
|
|
||||||
a = "success"
|
|
||||||
|
|
||||||
|
|
||||||
print Test.a
|
|
||||||
'';
|
|
||||||
|
|
||||||
python3 = writePython3 "test-writers-python3" { libraries = [ python3Packages.pyyaml ]; } ''
|
python3 = writePython3 "test-writers-python3" { libraries = [ python3Packages.pyyaml ]; } ''
|
||||||
import yaml
|
import yaml
|
||||||
|
|
||||||
@ -131,10 +108,6 @@ let
|
|||||||
print(y[0]['test'])
|
print(y[0]['test'])
|
||||||
'';
|
'';
|
||||||
|
|
||||||
python2NoLibs = writePython2 "test-writers-python2-no-libs" {} ''
|
|
||||||
print("success")
|
|
||||||
'';
|
|
||||||
|
|
||||||
python3NoLibs = writePython3 "test-writers-python3-no-libs" {} ''
|
python3NoLibs = writePython3 "test-writers-python3-no-libs" {} ''
|
||||||
print("success")
|
print("success")
|
||||||
'';
|
'';
|
||||||
|
Loading…
Reference in New Issue
Block a user