1{ lib
2, buildPerlPackage
3, fetchFromGitHub
4, makeWrapper
5, openssh
6, GitRepository
7, URI
8, XMLMini
9}:
10
11buildPerlPackage {
12 pname = "ham-unstable";
13 version = "2022-10-26";
14
15 src = fetchFromGitHub {
16 owner = "kernkonzept";
17 repo = "ham";
18 rev = "f2f10516177d00a79fe81701351632df2544ba4e";
19 hash = "sha256-cxlZh1x8ycpZIwSeOwqB6BtwYaMoWtSPaeiyW41epdk=";
20 };
21
22 outputs = [ "out" ];
23
24 nativeBuildInputs = [ makeWrapper ];
25 propagatedBuildInputs = [ openssh GitRepository URI XMLMini ];
26
27 preConfigure = ''
28 patchShebangs .
29 touch Makefile.PL
30 rm -f Makefile
31 '';
32
33 installPhase = ''
34 mkdir -p $out/lib $out/bin
35 cp -r . $out/lib/ham
36
37 makeWrapper $out/lib/ham/ham $out/bin/ham --argv0 ham \
38 --prefix PATH : ${openssh}/bin
39 '';
40
41 doCheck = false;
42
43 meta = with lib; {
44 description = "A tool to manage big projects consisting of multiple loosely-coupled git repositories";
45 homepage = "https://github.com/kernkonzept/ham";
46 license = licenses.bsd2;
47 maintainers = with maintainers; [ aw ];
48 mainProgram = "ham";
49 platforms = platforms.unix;
50 };
51}