diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix index 408c9d8ebac..7ba7262f720 100644 --- a/pkgs/applications/version-management/mercurial/default.nix +++ b/pkgs/applications/version-management/mercurial/default.nix @@ -1,23 +1,40 @@ args: with args; stdenv.mkDerivation { - name = "mercurial-0.9.5"; + name = "mercurial-1.0.2"; src = fetchurl { - url = http://www.selenic.com/mercurial/release/mercurial-0.9.5.tar.gz; - sha256 = "1n34yl4z7nc3vmsgpkmqc94hsmy846ny86xgpgv3m371ljm2pq6g"; + url = http://www.selenic.com/mercurial/release/mercurial-1.0.2.tar.gz; + sha256 = "0fj2aakband855684q76h7zl328iq8i6l81c2k64hy5m0if9hvgr"; }; buildInputs = [ python makeWrapper ]; makeFlags = "PREFIX=$(out)"; - postInstall = '' - for i in $(cd $out/bin && ls); do - wrapProgram $out/bin/$i \ - --prefix PYTHONPATH : "$(toPythonPath $out)" - done - ''; + postInstall = (if args.guiSupport then + '' + ensureDir $out/etc/mercurial + cp contrib/hgk $out/bin + cat >> $out/etc/mercurial/hgrc << EOF + [extensions] + hgk=$out/lib/python2.5/site-packages/hgext/hgk.py + EOF + # setting HG so that hgk can be run itself as well (not only hg view) + WRAP_TK=" --set TK_LIBRARY \"${tk}/lib/tk8.4\" + --set HG \"$out/bin/hg\" + --prefix PATH : \"${tk}/bin\" " + '' + else "") + + + '' + for i in $(cd $out/bin && ls); do + wrapProgram $out/bin/$i \ + --prefix PYTHONPATH : "$(toPythonPath $out)" \ + $WRAP_TK + done + ''; meta = { description = "A fast, lightweight SCM system for very large distributed projects"; homepage = http://www.selenic.com/mercurial/; + license = "GPLv2"; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a1d72b34dd4..42f8a8557c5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6888,7 +6888,8 @@ let }; mercurial = import ../applications/version-management/mercurial { - inherit fetchurl stdenv python makeWrapper; + inherit fetchurl stdenv python makeWrapper getConfig tk; + guiSupport = getConfig ["mercurial" "guiSupport"] false; # for hgk (gitk gui for hg) }; midori = builderDefsPackage (import ../applications/networking/browsers/midori) {