diff options
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/hglib')
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/hglib/default.nix | 44 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/hglib/hgpath.patch | 24 |
2 files changed, 68 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/hglib/default.nix b/nixpkgs/pkgs/development/python-modules/hglib/default.nix new file mode 100644 index 00000000000..14e5b4edcd7 --- /dev/null +++ b/nixpkgs/pkgs/development/python-modules/hglib/default.nix @@ -0,0 +1,44 @@ +{ stdenv, buildPythonPackage, fetchPypi, fetchpatch, substituteAll, python, nose, mercurial }: + +buildPythonPackage rec { + pname = "python-hglib"; + version = "2.6.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "7c1fa0cb4d332dd6ec8409b04787ceba4623e97fb378656f7cab0b996c6ca3b2"; + }; + + patches = [ + (substituteAll { + src = ./hgpath.patch; + hg = "${mercurial}/bin/hg"; + }) + + # These two patches are needed to fix the tests. + # They will need to be removed on the next update. + (fetchpatch { + url = "https://www.mercurial-scm.org/repo/python-hglib/raw-rev/12e6aaef0f6e"; + sha256 = "159pmhy23gqcc6rkh5jrni8fba4xbhxwcc0jf02wqr7f82kv8a7x"; + }) + (fetchpatch { + url = "https://www.mercurial-scm.org/repo/python-hglib/raw-rev/1a318162f06f"; + sha256 = "04lxfc15m3yw5kvp133xg8zv09l8kndi146xk3lnbbm07fgcnn1z"; + }) + ]; + + checkInputs = [ nose ]; + + checkPhase = '' + ${python.interpreter} test.py --with-hg "${mercurial}/bin/hg" -v \ + --exclude=test_merge_prompt_cb # https://bz.mercurial-scm.org/show_bug.cgi?id=6265 + ''; + + meta = with stdenv.lib; { + description = "Mercurial Python library"; + homepage = "http://selenic.com/repo/python-hglib"; + license = licenses.mit; + maintainers = with maintainers; [ dfoxfranke ]; + platforms = platforms.all; + }; +} diff --git a/nixpkgs/pkgs/development/python-modules/hglib/hgpath.patch b/nixpkgs/pkgs/development/python-modules/hglib/hgpath.patch new file mode 100644 index 00000000000..2141aa32a13 --- /dev/null +++ b/nixpkgs/pkgs/development/python-modules/hglib/hgpath.patch @@ -0,0 +1,24 @@ +diff -r 2d0ec6097d78 hglib/__init__.py +--- a/hglib/__init__.py Mon Apr 30 15:43:29 2018 +0900 ++++ b/hglib/__init__.py Tue Mar 19 23:30:01 2019 +0100 +@@ -1,7 +1,7 @@ + import subprocess + from hglib import client, util, error + +-HGPATH = 'hg' ++HGPATH = '@hg@' + + def open(path=None, encoding=None, configs=None): + '''starts a cmdserver for the given path (or for a repository found +diff -r 2d0ec6097d78 tests/common.py +--- a/tests/common.py Mon Apr 30 15:43:29 2018 +0900 ++++ b/tests/common.py Tue Mar 19 23:30:01 2019 +0100 +@@ -26,7 +26,7 @@ + os.mkdir(self._testtmp) + os.chdir(self._testtmp) + # until we can run norepo commands in the cmdserver +- os.system('hg init') ++ os.system('@hg@ init') + self.client = hglib.open() + + def tearDown(self): |