1{
2 lib,
3 python3Packages,
4 fetchFromGitHub,
5 gitMinimal,
6}:
7
8python3Packages.buildPythonApplication rec {
9 pname = "git-aggregator";
10 version = "4.1";
11 format = "setuptools";
12
13 src = fetchFromGitHub {
14 owner = "acsone";
15 repo = "git-aggregator";
16 tag = version;
17 hash = "sha256-sZYh3CN15WTCQ59W24ERJdP48EJt571cbkswLQ3JL2g=";
18 };
19
20 nativeBuildInputs = with python3Packages; [
21 setuptools-scm
22 ];
23
24 propagatedBuildInputs = with python3Packages; [
25 argcomplete
26 colorama
27 gitMinimal
28 kaptan
29 requests
30 ];
31
32 nativeCheckInputs = [
33 gitMinimal
34 ];
35
36 preCheck = ''
37 export HOME="$(mktemp -d)"
38 git config --global user.name John
39 git config --global user.email john@localhost
40 git config --global init.defaultBranch master
41 git config --global pull.rebase false
42 '';
43
44 meta = with lib; {
45 description = "Manage the aggregation of git branches from different remotes to build a consolidated one";
46 homepage = "https://github.com/acsone/git-aggregator";
47 license = licenses.agpl3Plus;
48 maintainers = with maintainers; [ bbjubjub ];
49 mainProgram = "gitaggregate";
50 };
51}