envision-unwrapped: 0-unstable-2024-10-20 -> 1.1.1 (#360652)
[NixPkgs.git] / pkgs / by-name / mg / mgmt / package.nix
blobbfa85ef566fdf7501500c2a09aa69503c317a6d4
1 { augeas
2 , buildGoModule
3 , fetchFromGitHub
4 , gotools
5 , lib
6 , libvirt
7 , libxml2
8 , nex
9 , pkg-config
10 , ragel
12 buildGoModule rec {
13   pname = "mgmt";
14   version = "unstable-2022-10-24";
16   src = fetchFromGitHub {
17     owner = "purpleidea";
18     repo = pname;
19     rev = "d8820fa1855668d9e0f7a7829d9dd0d122b2c5a9";
20     hash = "sha256-jurZvEtiaTjWeDkmCJDIFlTzR5EVglfoDxkFgOilo8s=";
21   };
23   # patching must be done in prebuild, so it is shared with goModules
24   # see https://github.com/NixOS/nixpkgs/issues/208036
25   preBuild = ''
26     for file in `find -name Makefile -type f`; do
27       substituteInPlace $file --replace "/usr/bin/env " ""
28     done
30     substituteInPlace lang/types/Makefile \
31       --replace "unset GOCACHE && " ""
32     patchShebangs misc/header.sh
33     make lang funcgen
34   '';
36   buildInputs = [
37     augeas
38     libvirt
39     libxml2
40   ];
42   nativeBuildInputs = [
43     gotools
44     nex
45     pkg-config
46     ragel
47   ];
50   ldflags = [
51     "-s"
52     "-w"
53     "-X main.program=${pname}"
54     "-X main.version=${version}"
55   ];
57   subPackages = [ "." ];
59   vendorHash = "sha256-Dtqy4TILN+7JXiHKHDdjzRTsT8jZYG5sPudxhd8znXY=";
61   meta = with lib; {
62     description = "Next generation distributed, event-driven, parallel config management!";
63     homepage = "https://mgmtconfig.com";
64     license = licenses.gpl3Only;
65     maintainers = with maintainers; [ urandom ];
66     mainProgram = "mgmt";
67   };