Skip to content

Commit

Permalink
refac(back): fluidattacks#1282 minor refactors
Browse files Browse the repository at this point in the history
- Minor refactors to make-python-environment builtin
for clarity

Signed-off-by: Daniel Salazar <podany270895@gmail.com>
  • Loading branch information
dsalaza4 committed Jan 31, 2024
1 parent b2cca5f commit 329162c
Showing 1 changed file with 46 additions and 44 deletions.
90 changes: 46 additions & 44 deletions src/args/make-python-environment/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
pythonProjectDir,
pythonVersion,
preferWheels ? true,
overrides ? (self: super: {}),
overrides ? {},
}: let
poetry2nix = let
commit = "528d500ea826383cc126a9be1e633fc92b19ce5d";
Expand All @@ -18,29 +18,6 @@
};
in
import src {pkgs = __nixpkgs__;};
getPoetryPackages = let
tomlPath = "${pythonProjectDir}/poetry.lock";
tomlData = builtins.fromTOML (builtins.readFile tomlPath);
tomlPackages = tomlData.package;
packagesNames = builtins.map (pkg: pkg.name) tomlPackages;
extraPackagesLst = builtins.concatLists (builtins.map (
pkg:
if builtins.hasAttr "extras" pkg
then
builtins.concatLists (
builtins.attrValues pkg.extras
)
else []
)
tomlPackages);
extraPackagesNames =
builtins.map (
extra:
builtins.toString (builtins.head (builtins.split " " (__nixpkgs__.lib.toLower extra)))
)
extraPackagesLst;
in
packagesNames ++ extraPackagesNames;

is39 = pythonVersion == "3.9";
is310 = pythonVersion == "3.10";
Expand All @@ -55,35 +32,60 @@
}
.${pythonVersion};

overrideWithHome = pkg: super:
super.${pkg}.overridePythonAttrs (
old: {
preUnpack =
''
export HOME=$(mktemp -d)
rm -rf /homeless-shelter
''
+ (old.preUnpack or "");
}
);
tomlOverrides = self: super:
builtins.listToAttrs (
overridenPackages = self: super: let
overridePackageHome = pkg: super:
super.${pkg}.overridePythonAttrs (
old: {
preUnpack =
''
export HOME=$(mktemp -d)
rm -rf /homeless-shelter
''
+ (old.preUnpack or "");
}
);
packages = let
lock = "${pythonProjectDir}/poetry.lock";
data = builtins.fromTOML (builtins.readFile lock);
main = builtins.map (pkg: pkg.name) data.package;
extras = let
list = builtins.concatLists (
builtins.map (
pkg:
if builtins.hasAttr "extras" pkg
then builtins.concatLists (builtins.attrValues pkg.extras)
else []
)
data.package
);
names =
builtins.map (
extra:
builtins.toString (
builtins.head (
builtins.split " " (__nixpkgs__.lib.toLower extra)
)
)
)
list;
in
names;
in
main ++ extras;
overridenHomes = builtins.listToAttrs (
builtins.map (
pkg: {
name = pkg;
value = overrideWithHome pkg super;
value = overridePackageHome pkg super;
}
)
getPoetryPackages
packages
);
combinedOverrides = self: super: let
toml = tomlOverrides self super;
orig = overrides self super;
in
toml // orig;
overridenHomes // (overrides self super);

env = poetry2nix.mkPoetryEnv {
overrides = poetry2nix.defaultPoetryOverrides.extend combinedOverrides;
overrides = poetry2nix.defaultPoetryOverrides.extend overridenPackages;
inherit preferWheels;
projectDir = pythonProjectDir;
inherit python;
Expand Down

0 comments on commit 329162c

Please sign in to comment.