nur-packages

My NUR packages
git clone git://git.sikmir.ru/nur-packages
Log | Files | Refs | README | LICENSE

package.nix (1283B)


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