package.nix (1254B)
1 { 2 lib, 3 stdenv, 4 buildGoModule, 5 fetchFromGitHub, 6 installShellFiles, 7 libpcap, 8 }: 9 10 buildGoModule (finalAttrs: { 11 pname = "shifu"; 12 version = "0.91.0"; 13 14 src = fetchFromGitHub { 15 owner = "Edgenesis"; 16 repo = "shifu"; 17 tag = "v${finalAttrs.version}"; 18 hash = "sha256-YLXT10FCNpS8SubvQjECLIA7mK/DaKjCH+6hA6cpVtg="; 19 }; 20 21 vendorHash = "sha256-oKn4RnNbDYMJHY2TmAeBlbI10+80taE3+JiO+cfSSjU="; 22 23 nativeBuildInputs = [ installShellFiles ]; 24 25 buildInputs = [ libpcap ]; 26 27 subPackages = [ 28 "cmd/deviceshifu/cmdhttp" 29 "cmd/deviceshifu/cmdmqtt" 30 "cmd/deviceshifu/cmdopcua" 31 "cmd/deviceshifu/cmdsocket" 32 "cmd/httpstub/powershellstub" 33 "cmd/httpstub/sshstub" 34 "cmd/shifuctl" 35 "cmd/telemetryservice" 36 ]; 37 38 postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' 39 installShellCompletion --cmd shifuctl \ 40 --bash <($out/bin/shifuctl completion bash) \ 41 --fish <($out/bin/shifuctl completion fish) \ 42 --zsh <($out/bin/shifuctl completion zsh) 43 ''; 44 45 meta = { 46 description = "Kubernetes-native IoT gateway"; 47 homepage = "https://shifu.dev/"; 48 license = lib.licenses.asl20; 49 maintainers = [ lib.maintainers.sikmir ]; 50 mainProgram = "shifuctl"; 51 }; 52 })
