silx: 2.1.1 -> 2.1.2 (#361612)
[NixPkgs.git] / pkgs / by-name / to / tortoisehg / package.nix
blobe4ad91a8713feb8f137ad8601f17c9c8b1465f3d
1 { lib
2 , fetchurl
3 , python3Packages
4 , mercurial
5 , qt5
6 }:
8 python3Packages.buildPythonApplication rec {
9   pname = "tortoisehg";
10   version = "6.6.3";
12   src = fetchurl {
13     url = "https://www.mercurial-scm.org/release/tortoisehg/targz/tortoisehg-${version}.tar.gz";
14     sha256 = "sha256-9pg1N5uj1ZaZCAm4N8toRwfVHme7nAsNMZkXSRgFves=";
15   };
17   nativeBuildInputs = [
18     qt5.wrapQtAppsHook
19   ];
20   propagatedBuildInputs = with python3Packages; [
21     mercurial
22     # The one from python3Packages
23     qscintilla-qt5
24     iniparse
25   ];
26   buildInputs = [
27     # Makes wrapQtAppsHook add these qt libraries to the wrapper search paths
28     qt5.qtwayland
29   ];
31   # In order to spare double wrapping, we use:
32   preFixup = ''
33     makeWrapperArgs+=("''${qtWrapperArgs[@]}")
34   '';
35   # Convenient alias
36   postInstall = ''
37     ln -s $out/bin/thg $out/bin/tortoisehg
38   '';
40   # In python3Packages.buildPythonApplication doCheck is always true, and we
41   # override it to not run the default unittests
42   checkPhase = ''
43     runHook preCheck
45     $out/bin/thg version | grep -q "${version}"
46     # Detect breakage of thg in case of out-of-sync mercurial update. In that
47     # case any thg subcommand just opens up an gui dialog with a description of
48     # version mismatch.
49     echo "thg smoke test"
50     $out/bin/thg -h > help.txt &
51     sleep 1s
52     grep -q "list of commands" help.txt
54     runHook postCheck
55   '';
57   passthru = {
58     # If at some point we'll override this argument, it might be useful to have
59     # access to it here.
60     inherit mercurial;
61   };
63   meta = {
64     description = "Qt based graphical tool for working with Mercurial";
65     homepage = "https://tortoisehg.bitbucket.io/";
66     license = lib.licenses.gpl2Only;
67     platforms = lib.platforms.linux;
68     maintainers = with lib.maintainers; [ danbst gbtb ];
69   };