passExtensions.pass-import: 2.6 -> 3.1

ChangeLog: https://github.com/roddhjav/pass-import/blob/v3.1/CHANGELOG.rst#31---2020-10-25

* Make sure that all features are enabled by adding `pykeepass`,
  `filemagic` etc.

* Patch & use `setup.py` to make sure that everything gets installed
  properly into `$out`.

Co-authored-by: elseym <elseym@me.com>
This commit is contained in:
Maximilian Bosch
2020-12-04 22:33:53 +01:00
co-authored by elseym
parent 85d4fa9769
commit 2b674912b4
2 changed files with 55 additions and 24 deletions
+14 -24
View File
@@ -5,48 +5,38 @@ let
p.defusedxml
p.setuptools
p.pyaml
p.pykeepass
p.filemagic
p.cryptography
p.secretstorage
]);
in stdenv.mkDerivation rec {
pname = "pass-import";
version = "2.6";
version = "3.1";
src = fetchFromGitHub {
owner = "roddhjav";
repo = "pass-import";
rev = "v${version}";
sha256 = "1q8rln4djh2z8j2ycm654df5y6anm5iv2r19spgy07c3fnisxlac";
sha256 = "sha256-nH2xAqWfMT+Brv3z9Aw6nbvYqArEZjpM28rKsRPihqA=";
};
patches = [ ./0001-Fix-installation-with-Nix.patch ];
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ pythonEnv ];
patches = [
# https://github.com/roddhjav/pass-import/pull/91
(fetchpatch {
url = "https://github.com/roddhjav/pass-import/commit/6ccaf639e92df45bd400503757ae4aa2c5c030d7.patch";
sha256 = "0lw9vqvbqcy96s7v7nz0i1bdx93x7qr13azymqypcdhjwmq9i63h";
})
];
makeFlags = [ "DESTDIR=${placeholder "out"}" ];
postPatch = ''
sed -i -e 's|$0|${pass}/bin/pass|' import.bash
'';
dontBuild = true;
installFlags = [
"PREFIX=$(out)"
"BASHCOMPDIR=$(out)/share/bash-completion/completions"
];
postFixup = ''
install -D pass_import.py $out/${pythonPackages.python.sitePackages}/pass_import.py
postInstall = ''
wrapProgram $out/bin/pimport \
--prefix PATH : "${pythonEnv}/bin" \
--prefix PYTHONPATH : "$out/${pythonPackages.python.sitePackages}"
wrapProgram $out/lib/password-store/extensions/import.bash \
--prefix PATH : "${pythonEnv}/bin" \
--prefix PYTHONPATH : "$out/${pythonPackages.python.sitePackages}" \
--run "export PREFIX"
--prefix PYTHONPATH : "$out/${pythonPackages.python.sitePackages}"
'';
meta = with stdenv.lib; {