From d9ca548d95e2d30589213c07dd8f216e6b6fff28 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Thu, 16 Jul 2020 19:22:18 +0000 Subject: [PATCH 1/3] gitAndTools.git-remote-hg: 1.0.1 -> unstable-2020-06-12 This package needs to use the same Python as Mercurial, but the released version doesn't support Python 3. --- .../git-and-tools/git-remote-hg/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix b/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix index 37c06d3a85e2..58d9bf80fb3a 100644 --- a/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "git-remote-hg"; - version = "1.0.1"; + version = "unstable-2020-06-12"; src = fetchFromGitHub { owner = "mnauw"; repo = "git-remote-hg"; - rev = "v${version}"; - sha256 = "1by5ygqvq9ww990kdrjndaqsssyf2jc4n380f9pfh2avsr7871wc"; + rev = "28ed63b707919734d230cb13bff7d231dfeee8fc"; + sha256 = "0dw48vbnk7pp0w6fzgl29mq8fyn52pacbya2w14z9c6jfvh5sha1"; }; buildInputs = [ mercurial.python mercurial makeWrapper @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { homepage = "https://github.com/mnauw/git-remote-hg"; description = "Semi-official Mercurial bridge from Git project"; license = licenses.gpl2; - maintainers = [ ]; + maintainers = with maintainers; [ qyliss ]; platforms = platforms.unix; }; } From 8deb97c2108bdd970d8b44ab276d33c9345d36c1 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Thu, 16 Jul 2020 19:52:45 +0000 Subject: [PATCH 2/3] python3Packages.mercurial: init This exposes mercurial as a Python library. Packages that call into Mercurial from Python can now do so in a less hacky way. --- pkgs/top-level/python-packages.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index cf3c2f23aabc..04a58ccc48e5 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3256,6 +3256,10 @@ in { measurement = callPackage ../development/python-modules/measurement {}; + mercurial = disabledIf (!isPy3k) (toPythonModule (pkgs.mercurial.override { + python3Packages = self; + })); + midiutil = callPackage ../development/python-modules/midiutil {}; mido = callPackage ../development/python-modules/mido { }; From 8c05e036ea485166c474f39d46e6f4441baeda0e Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Thu, 16 Jul 2020 19:53:31 +0000 Subject: [PATCH 3/3] gitAndTools.git-remote-hg: use buildPythonApplication This is much cleaner than constructing PYTHONPATH using interpolated subshells. --- .../git-and-tools/git-remote-hg/default.nix | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix b/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix index 58d9bf80fb3a..dd4e6e011a6e 100644 --- a/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix @@ -1,8 +1,8 @@ -{ stdenv, lib, fetchFromGitHub, mercurial, makeWrapper +{ stdenv, lib, fetchFromGitHub, python3Packages , asciidoc, xmlto, docbook_xsl, docbook_xml_dtd_45, libxslt, libxml2 }: -stdenv.mkDerivation rec { +python3Packages.buildPythonApplication rec { pname = "git-remote-hg"; version = "unstable-2020-06-12"; @@ -13,17 +13,13 @@ stdenv.mkDerivation rec { sha256 = "0dw48vbnk7pp0w6fzgl29mq8fyn52pacbya2w14z9c6jfvh5sha1"; }; - buildInputs = [ mercurial.python mercurial makeWrapper + nativeBuildInputs = [ asciidoc xmlto docbook_xsl docbook_xml_dtd_45 libxslt libxml2 ]; - - doCheck = false; - - installFlags = [ "HOME=\${out}" "install-doc" ]; + propagatedBuildInputs = with python3Packages; [ mercurial ]; postInstall = '' - wrapProgram $out/bin/git-remote-hg \ - --prefix PYTHONPATH : "$(echo ${mercurial}/lib/python*/site-packages):$(echo ${mercurial.python}/lib/python*/site-packages)${stdenv.lib.concatMapStrings (x: ":$(echo ${x}/lib/python*/site-packages)") mercurial.pythonPackages or []}" + make install-doc prefix=$out ''; meta = with lib; {