summary refs log tree commit diff
path: root/pkgs/applications/version-management/tortoisehg/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/version-management/tortoisehg/default.nix')
-rw-r--r--pkgs/applications/version-management/tortoisehg/default.nix35
1 files changed, 27 insertions, 8 deletions
diff --git a/pkgs/applications/version-management/tortoisehg/default.nix b/pkgs/applications/version-management/tortoisehg/default.nix
index 7bd1e9586c9..a6cdf2e4373 100644
--- a/pkgs/applications/version-management/tortoisehg/default.nix
+++ b/pkgs/applications/version-management/tortoisehg/default.nix
@@ -1,13 +1,30 @@
-{lib, fetchurl, mercurial, python2Packages}:
+{ lib, fetchurl, python2Packages
+, mercurial
+}@args:
+let
+  tortoisehgSrc = fetchurl rec {
+    meta.name = "tortoisehg-${meta.version}";
+    meta.version = "5.0.2";
+    url = "https://bitbucket.org/tortoisehg/targz/downloads/${meta.name}.tar.gz";
+    sha256 = "1fkawx4ymaacah2wpv2w7rxmv1mx08mg4x4r4fxh41jz1njjb8sz";
+  };
 
-python2Packages.buildPythonApplication rec {
-    name = "tortoisehg-${version}";
-    version = "5.0.2";
+  mercurial =
+    if args.mercurial.meta.version == tortoisehgSrc.meta.version
+      then args.mercurial
+      else args.mercurial.override {
+        mercurialSrc = fetchurl rec {
+          meta.name = "mercurial-${meta.version}";
+          meta.version = tortoisehgSrc.meta.version;
+          url = "https://mercurial-scm.org/release/${meta.name}.tar.gz";
+          sha256 = "1y60hfc8gh4ha9sw650qs7hndqmvbn0qxpmqwpn4q18z5xwm1f19";
+        };
+      };
 
-    src = fetchurl {
-      url = "https://bitbucket.org/tortoisehg/targz/downloads/${name}.tar.gz";
-      sha256 = "1fkawx4ymaacah2wpv2w7rxmv1mx08mg4x4r4fxh41jz1njjb8sz";
-    };
+in python2Packages.buildPythonApplication rec {
+
+    inherit (tortoisehgSrc.meta) name version;
+    src = tortoisehgSrc;
 
     pythonPath = with python2Packages; [ pyqt4 mercurial qscintilla iniparse ];
 
@@ -28,6 +45,8 @@ python2Packages.buildPythonApplication rec {
       $out/bin/thg version
     '';
 
+    passthru.mercurial = mercurial;
+
     meta = {
       description = "Qt based graphical tool for working with Mercurial";
       homepage = https://tortoisehg.bitbucket.io/;