passExtensions.pass-audit: get rid of pythonEnv

It seems a little odd to first generate an interpreter pointing to an
environment and then building a package from it. This commit alters the
build process so that

* dependencies are listed explicitly as in any normal python build.
* a PYTHONPATH is then generated out of all dependencies and $out. This
  is injected into the package's entrypoint, the `audit.bash`.
This commit is contained in:
Maximilian Bosch 2024-07-11 23:39:09 +02:00
parent 6bb5edd7b1
commit d94ccbdd12
No known key found for this signature in database
2 changed files with 15 additions and 20 deletions

View File

@ -3,19 +3,11 @@
stdenv,
pass,
fetchFromGitHub,
pythonPackages,
python3,
gnupg,
}:
let
pythonEnv = pythonPackages.python.withPackages (p: [
p.requests
p.setuptools
p.zxcvbn
]);
in
pythonPackages.buildPythonApplication rec {
python3.pkgs.buildPythonApplication rec {
pname = "pass-audit";
version = "1.2";
pyproject = true;
@ -34,7 +26,7 @@ pythonPackages.buildPythonApplication rec {
postPatch = ''
substituteInPlace audit.bash \
--replace-fail 'python3' "${pythonEnv.interpreter}"
--replace-fail python3 "${lib.getExe python3}"
rm Makefile
patchShebangs audit.bash
'';
@ -44,26 +36,31 @@ pythonPackages.buildPythonApplication rec {
"man"
];
build-system = with pythonPackages; [ setuptools ];
dependencies = [ pythonEnv ];
build-system = with python3.pkgs; [ setuptools ];
dependencies = with python3.pkgs; [
requests
setuptools
zxcvbn
];
# Tests freeze on darwin with: pass-audit-1.1 (checkPhase): EOFError
doCheck = !stdenv.isDarwin;
nativeCheckInputs = [
pythonPackages.green
python3.pkgs.green
pass
gnupg
];
checkPhase = ''
${pythonEnv.interpreter} -m green -q
python3 -m green -q
'';
postInstall = ''
mkdir -p $out/lib/password-store/extensions
install -m777 audit.bash $out/lib/password-store/extensions/audit.bash
cp -r share $out/
buildPythonPath "$out $dependencies"
wrapProgram $out/lib/password-store/extensions/audit.bash \
--prefix PYTHONPATH : "$out/${pythonEnv.sitePackages}" \
--prefix PYTHONPATH : "$PYTHONPATH" \
--run "export COMMAND"
'';

View File

@ -1,13 +1,11 @@
{ pkgs, ... }:
let
inherit (pkgs) callPackage python3Packages;
inherit (pkgs) callPackage;
in
{
pass-audit = callPackage ./audit {
pythonPackages = python3Packages;
};
pass-audit = callPackage ./audit {};
pass-checkup = callPackage ./checkup.nix {};
pass-import = callPackage ./import.nix {};
pass-otp = callPackage ./otp.nix {};