evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / ho / homebox / package.nix
blobc24e35ba112d45b9fb8e20c1f90661f7bba65f1f
2   lib,
3   buildGo123Module,
4   fetchFromGitHub,
5   pnpm,
6   nodejs,
7   go_1_23,
8   git,
9   cacert,
10   nixosTests,
12 let
13   pname = "homebox";
14   version = "0.15.2";
15   src = fetchFromGitHub {
16     owner = "sysadminsmedia";
17     repo = "homebox";
18     rev = "v${version}";
19     hash = "sha256-2jB2Oo0dK36n5tQPrGNyPO3Q0yNkUms4RPQzXiDzuks=";
20   };
22 buildGo123Module {
23   inherit pname version src;
25   vendorHash = "sha256-Ftm5tR3w8S3mjYLJG0+17nYP5kDbaAd8QkbZpNt7WuE=";
26   modRoot = "backend";
27   # the goModules derivation inherits our buildInputs and buildPhases
28   # Since we do pnpm thing in those it fails if we don't explicitely remove them
29   overrideModAttrs = _: {
30     nativeBuildInputs = [
31       go_1_23
32       git
33       cacert
34     ];
35     preBuild = "";
36   };
38   pnpmDeps = pnpm.fetchDeps {
39     inherit pname version;
40     src = "${src}/frontend";
41     hash = "sha256-fOb3oboNlOv/TpIrs3BsSlxIqNbbtSCE8zLMia2RIDw=";
42   };
43   pnpmRoot = "../frontend";
45   env.NUXT_TELEMETRY_DISABLED = 1;
47   preBuild = ''
48     pushd ../frontend
50     pnpm build
52     popd
54     mkdir -p ./app/api/static/public
55     cp -r ../frontend/.output/public/* ./app/api/static/public
56   '';
58   nativeBuildInputs = [
59     pnpm
60     pnpm.configHook
61     nodejs
62   ];
64   CGO_ENABLED = 0;
65   GOOS = "linux";
66   doCheck = false;
68   ldflags = [
69     "-s"
70     "-w"
71     "-extldflags=-static"
72     "-X main.version=${version}"
73     "-X main.commit=${version}"
74   ];
76   passthru = {
77     tests = {
78       inherit (nixosTests) homebox;
79     };
80   };
82   meta = {
83     mainProgram = "api";
84     homepage = "https://homebox.software/";
85     description = "Inventory and organization system built for the Home User";
86     maintainers = with lib.maintainers; [ patrickdag ];
87     license = lib.licenses.agpl3Only;
88     platforms = lib.platforms.linux;
89   };