lol
1{ stdenv, lib, fetchFromGitHub, autoconf, makeWrapper
2, curl, libiconv, mercurial, zlib
3}:
4
5let
6 python3 = mercurial.python;
7in
8
9stdenv.mkDerivation rec {
10 pname = "git-cinnabar";
11 version = "0.5.7";
12
13 src = fetchFromGitHub {
14 owner = "glandium";
15 repo = "git-cinnabar";
16 rev = version;
17 sha256 = "04dsjlsw98avrckldx7rc70b2zsbajzkyqqph4c7d9xd5djh3yaj";
18 fetchSubmodules = true;
19 };
20
21 nativeBuildInputs = [ autoconf makeWrapper ];
22 buildInputs = [ curl zlib ] ++ lib.optional stdenv.isDarwin libiconv;
23
24 # Ignore submodule status failing due to no git in environment.
25 makeFlags = [ "SUBMODULE_STATUS=yes" ];
26
27 enableParallelBuilding = true;
28
29 installPhase = ''
30 runHook preInstall
31
32 mkdir -p $out/bin $out/libexec
33 install git-cinnabar-helper $out/bin
34 install git-cinnabar git-remote-hg $out/libexec
35 cp -r cinnabar mercurial $out/libexec
36
37 for pythonBin in git-cinnabar git-remote-hg; do
38 makeWrapper $out/libexec/$pythonBin $out/bin/$pythonBin \
39 --prefix PATH : ${lib.getBin python3}/bin \
40 --prefix GIT_CINNABAR_EXPERIMENTS , python3 \
41 --set PYTHONPATH ${mercurial}/${python3.sitePackages}
42 done
43
44 runHook postInstall
45 '';
46
47 meta = with lib; {
48 homepage = "https://github.com/glandium/git-cinnabar";
49 description = "git remote helper to interact with mercurial repositories";
50 license = licenses.gpl2Only;
51 maintainers = with maintainers; [ qyliss ];
52 platforms = platforms.all;
53 };
54}