@ -1,43 +1,38 @@
{ lib , fetchurl , python2 Packages
, mercurial
{ lib , fetchurl , python3 Packages
, mercurial , qt5
} @ args :
let
tortoisehgSrc = fetchurl rec {
meta . name = " t o r t o i s e h g - ${ meta . version } " ;
meta . version = " 5 . 0 . 2 " ;
url = " h t t p s : / / b i t b u c k e t . o r g / t o r t o i s e h g / t a r g z / d o w n l o a d s / ${ meta . name } . t a r . g z " ;
sha256 = " 1 f k a w x 4 y m a a c a h 2 w p v 2 w 7 r x m v 1 m x 0 8 m g 4 x 4 r 4 f x h 4 1 j z 1 n j j b 8 s z " ;
meta . version = " 5 . 2 . 1 " ;
url = " h t t p s : / / b i t b u c k e t . o r g / t o r t o i s e h g / t h g / g e t / 1 4 2 2 1 e 9 9 1 a 5 b 6 2 3 e 0 0 7 2 d 3 b d 3 4 0 b 7 5 9 d b e 9 0 7 2 c a . t a r . g z " ;
sha256 = " 0 1 r p z f 5 z 9 9 i z c d d a 1 p s 9 b h q v h w 6 q g h a g d 8 c 1 y 7 x 1 9 r v 2 2 3 z i 0 5 d v " ;
} ;
mercurial =
if args . mercurial . meta . version == tortoisehgSrc . meta . version
then args . mercurial
else args . mercurial . override {
mercurialSrc = fetchurl rec {
meta . name = " m e r c u r i a l - ${ meta . version } " ;
meta . version = tortoisehgSrc . meta . version ;
url = " h t t p s : / / m e r c u r i a l - s c m . o r g / r e l e a s e / ${ meta . name } . t a r . g z " ;
sha256 = " 1 y 6 0 h f c 8 g h 4 h a 9 s w 6 5 0 q s 7 h n d q m v b n 0 q x p m q w p n 4 q 1 8 z 5 x w m 1 f 1 9 " ;
} ;
} ;
in python2Packages . buildPythonApplication {
tortoiseMercurial = mercurial . overridePythonAttrs ( old : rec {
inherit ( tortoisehgSrc . meta ) version ;
src = fetchurl {
url = " h t t p s : / / m e r c u r i a l - s c m . o r g / r e l e a s e / m e r c u r i a l - ${ version } . t a r . g z " ;
sha256 = " 1 p x k d 3 7 b 0 a 1 m i 2 z a k k 1 h i 1 2 2 l g z 1 f f y 2 f x d n b s 8 a c w l q p w 5 5 b c 8 q " ;
} ;
} ) ;
in python3Packages . buildPythonApplication {
inherit ( tortoisehgSrc . meta ) name version ;
src = tortoisehgSrc ;
pythonPath = with python2Packages ; [ pyqt4 mercurial qscintilla iniparse ] ;
propagatedBuildInputs = with python2Packages ; [ qscintilla iniparse ] ;
propagatedBuildInputs = with python3Packages ; [
tortoiseMercurial qscintilla-qt5 iniparse
] ;
nativeBuildInputs = [ qt5 . wrapQtAppsHook ] ;
doCheck = false ; # tests fail with "thg: cannot connect to X server"
dontStrip = true ;
buildPhase = " " ;
installPhase = ''
$ { python2Packages . python . executable } setup . py install - - prefix = $ out
postInstall = ''
mkdir - p $ out/share/doc/tortoisehg
cp COPYING . txt $ out/share/doc/tortoisehg/Copying.txt.gz
ln - s $ out/bin/thg $ out/bin/tortoisehg #convenient alias
cp COPYING . txt $ out/share/doc/tortoisehg/Copying.txt
# convenient alias
ln - s $ out/bin/thg $ out/bin/tortoisehg
wrapQtApp $ out/bin/thg
'' ;
checkPhase = ''
@ -45,7 +40,7 @@ in python2Packages.buildPythonApplication {
$ out/bin/thg version
'' ;
passthru . mercurial = m ercurial;
passthru . mercurial = tortoiseM ercurial;
meta = {
description = " Q t b a s e d g r a p h i c a l t o o l f o r w o r k i n g w i t h M e r c u r i a l " ;