python.pkgs.git-annex-adapter: use patch to hardcode git-annex path
This commit is contained in:
parent
5e3bdbedd3
commit
c1b7deab9f
@ -1,5 +1,5 @@
|
|||||||
{ stdenv, buildPythonPackage, isPy3k, fetchFromGitHub, fetchpatch
|
{ stdenv, buildPythonPackage, isPy3k, fetchFromGitHub, substituteAll
|
||||||
, utillinux, pygit2, gitMinimal, git-annex
|
, python, utillinux, pygit2, gitMinimal, git-annex
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
@ -16,22 +16,22 @@ buildPythonPackage rec {
|
|||||||
sha256 = "146q1jhcfc7f96ajkhjffskkljk2xzivs5ih5clb8qx0sh7mj097";
|
sha256 = "146q1jhcfc7f96ajkhjffskkljk2xzivs5ih5clb8qx0sh7mj097";
|
||||||
};
|
};
|
||||||
|
|
||||||
prePatch = ''
|
patches = [
|
||||||
substituteInPlace git_annex_adapter/process.py \
|
(substituteAll {
|
||||||
--replace "'git', 'annex'" "'${git-annex}/bin/git-annex'" \
|
src = ./git-annex-path.patch;
|
||||||
--replace "'git-annex'" "'${git-annex}/bin/git-annex'"
|
gitAnnex = "${git-annex}/bin/git-annex";
|
||||||
'';
|
})
|
||||||
|
];
|
||||||
|
|
||||||
checkInputs = [
|
checkInputs = [
|
||||||
|
gitMinimal
|
||||||
utillinux # `rev` is needed in tests/test_process.py
|
utillinux # `rev` is needed in tests/test_process.py
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [ pygit2 gitMinimal ];
|
propagatedBuildInputs = [ pygit2 ];
|
||||||
|
|
||||||
buildInputs = [ git-annex ];
|
|
||||||
|
|
||||||
checkPhase = ''
|
checkPhase = ''
|
||||||
python -m unittest
|
${python.interpreter} -m unittest
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
@ -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,
|
||||||
|
)
|
Loading…
x
Reference in New Issue
Block a user