1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-09-11 15:08:33 +01:00

python.pkgs.git-annex-adapter: use patch to hardcode git-annex path

This commit is contained in:
Robert Schütz 2019-02-20 15:05:16 +01:00
parent 5e3bdbedd3
commit c1b7deab9f
2 changed files with 86 additions and 11 deletions

View file

@ -1,5 +1,5 @@
{ stdenv, buildPythonPackage, isPy3k, fetchFromGitHub, fetchpatch
, utillinux, pygit2, gitMinimal, git-annex
{ stdenv, buildPythonPackage, isPy3k, fetchFromGitHub, substituteAll
, python, utillinux, pygit2, gitMinimal, git-annex
}:
buildPythonPackage rec {
@ -16,22 +16,22 @@ buildPythonPackage rec {
sha256 = "146q1jhcfc7f96ajkhjffskkljk2xzivs5ih5clb8qx0sh7mj097";
};
prePatch = ''
substituteInPlace git_annex_adapter/process.py \
--replace "'git', 'annex'" "'${git-annex}/bin/git-annex'" \
--replace "'git-annex'" "'${git-annex}/bin/git-annex'"
'';
patches = [
(substituteAll {
src = ./git-annex-path.patch;
gitAnnex = "${git-annex}/bin/git-annex";
})
];
checkInputs = [
gitMinimal
utillinux # `rev` is needed in tests/test_process.py
];
propagatedBuildInputs = [ pygit2 gitMinimal ];
buildInputs = [ git-annex ];
propagatedBuildInputs = [ pygit2 ];
checkPhase = ''
python -m unittest
${python.interpreter} -m unittest
'';
meta = with stdenv.lib; {

View file

@ -0,0 +1,75 @@
diff --git a/git_annex_adapter/process.py b/git_annex_adapter/process.py
index 6ddb985..bbd0ab8 100644
--- a/git_annex_adapter/process.py
+++ b/git_annex_adapter/process.py
@@ -389,7 +389,7 @@ class GitAnnexBatchProcess:
_procclass = Process
def __init__(self, args, workdir):
- self.args = ('git', 'annex', *args)
+ self.args = ('@gitAnnex@', *args)
self.workdir = workdir
self._process = None
self._dead_process = None
@@ -586,7 +586,7 @@ class ProcessRunner:
class GitAnnexRunner(ProcessRunner):
"""Helper class to run git-annex commands."""
def __init__(self, args_prefix, workdir):
- args_prefix = ('git-annex', *args_prefix)
+ args_prefix = ('@gitAnnex@', *args_prefix)
super().__init__(args_prefix, workdir)
def __call__(self, *args_suffix):
diff --git a/tests/test_process.py b/tests/test_process.py
index ed619bb..9335078 100644
--- a/tests/test_process.py
+++ b/tests/test_process.py
@@ -181,7 +181,7 @@ class TestProcessOnEmptyAnnex(TempAnnexTestCase):
def test_process_annex_metadata_batch(self):
"""Process should be able to read one line"""
with Process(
- ['git', 'annex', 'metadata', '--batch', '--json'],
+ ['@gitAnnex@', 'metadata', '--batch', '--json'],
str(self.tempdir),
) as proc:
proc.writeline(
@@ -202,7 +202,7 @@ class TestProcessOnEmptyAnnex(TempAnnexTestCase):
def test_jsonprocess_annex_metadata_batch(self):
"""JsonProcess should encode and decode properly"""
with JsonProcess(
- ['git', 'annex', 'metadata', '--batch', '--json'],
+ ['@gitAnnex@', 'metadata', '--batch', '--json'],
str(self.tempdir),
) as proc:
obj = proc({'key':'SHA256E-s0--0'})
@@ -218,7 +218,7 @@ class TestProcessOnEmptyAnnex(TempAnnexTestCase):
def test_process_annex_info_batch(self):
"""Process should be able to read multiple lines"""
with Process(
- ['git', 'annex', 'info', '--batch'],
+ ['@gitAnnex@', 'info', '--batch'],
str(self.tempdir),
) as proc:
proc.writeline('here')
diff --git a/tests/utils.py b/tests/utils.py
index 281ee3f..969aedc 100644
--- a/tests/utils.py
+++ b/tests/utils.py
@@ -107,7 +107,7 @@ class TempAnnexTestCase(TempRepoTestCase):
# Have to uninit before cleaning directory, since git-annex
# marks its objects read-only so that they don't get deleted.
subprocess.run(
- ['git', 'annex', 'uninit'],
+ ['@gitAnnex@', 'uninit'],
cwd=self.repo.workdir,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
@@ -122,7 +122,7 @@ class TempAnnexTestCase(TempRepoTestCase):
path.write_text(text)
subprocess.run(
- ['git', 'annex', 'add', '--quiet', relpath],
+ ['@gitAnnex@', 'add', '--quiet', relpath],
cwd=self.repo.workdir,
check=True,
)