# This file was generated by GoReleaser. DO NOT EDIT.
# vim: set ft=nix ts=2 sw=2 sts=2 et sta
{
  lib,
  fetchurl,
  installShellFiles,
  stdenvNoCC,
{{- if .DynamicallyLinked }}
  stdenv,
  autoPatchelfHook,
{{- end }}
{{- range $index, $element := .Dependencies }}
  {{ . }},
{{- end }}
}:
let
  inherit (stdenvNoCC.hostPlatform) system;
  shaMap = {
    {{- with  .Archives.linux386.Sha }}
    i686-linux = "{{ . }}";
    {{- end }}
    {{- with  .Archives.linuxamd64.Sha }}
    x86_64-linux = "{{ . }}";
    {{- end }}
    {{- with  .Archives.linuxarm6.Sha }}
    armv6l-linux = "{{ . }}";
    {{- end }}
    {{- with  .Archives.linuxarm7.Sha }}
    armv7l-linux = "{{ . }}";
    {{- end }}
    {{- with  .Archives.linuxarm64.Sha }}
    aarch64-linux = "{{ . }}";
    {{- end }}
    {{- with  .Archives.darwinamd64.Sha }}
    x86_64-darwin = "{{ . }}";
    {{- end }}
    {{- with  .Archives.darwinarm64.Sha }}
    aarch64-darwin = "{{ . }}";
    {{- end }}
  };

  urlMap = {
    {{- with  .Archives.linux386.URL }}
    i686-linux = "{{ . }}";
    {{- end }}
    {{- with  .Archives.linuxamd64.URL }}
    x86_64-linux = "{{ . }}";
    {{- end }}
    {{- with  .Archives.linuxarm6.URL }}
    armv6l-linux = "{{ . }}";
    {{- end }}
    {{- with  .Archives.linuxarm7.URL }}
    armv7l-linux = "{{ . }}";
    {{- end }}
    {{- with  .Archives.linuxarm64.URL }}
    aarch64-linux = "{{ . }}";
    {{- end }}
    {{- with  .Archives.darwinamd64.URL }}
    x86_64-darwin = "{{ . }}";
    {{- end }}
    {{- with  .Archives.darwinarm64.URL }}
    aarch64-darwin = "{{ . }}";
    {{- end }}
  };

  {{- if not .SourceRoot }}
  sourceRootMap = {
    {{- with  .SourceRoots.linux386 }}
    i686-linux = "{{ . }}";
    {{- end }}
    {{- with  .SourceRoots.linuxamd64 }}
    x86_64-linux = "{{ . }}";
    {{- end }}
    {{- with  .SourceRoots.linuxarm6 }}
    armv6l-linux = "{{ . }}";
    {{- end }}
    {{- with  .SourceRoots.linuxarm7 }}
    armv7l-linux = "{{ . }}";
    {{- end }}
    {{- with  .SourceRoots.linuxarm64 }}
    aarch64-linux = "{{ . }}";
    {{- end }}
    {{- with  .SourceRoots.darwinamd64 }}
    x86_64-darwin = "{{ . }}";
    {{- end }}
    {{- with  .SourceRoots.darwinarm64 }}
    aarch64-darwin = "{{ . }}";
    {{- end }}
  };
  {{- end }}
in
stdenvNoCC.mkDerivation {
  pname = "{{ .Name }}";
  version = "{{ .Version }}";
  src = fetchurl {
    url = urlMap.${system};
    sha256 = shaMap.${system};
  };

  sourceRoot = {{ with .SourceRoot }}"{{ . }}"{{ else }}sourceRootMap.${system}{{ end }};

  nativeBuildInputs = [ {{ range $input, $plat := .Inputs }}{{ . }} {{ end }}]{{ if .DynamicallyLinked }} ++ lib.optionals stdenvNoCC.isLinux [ autoPatchelfHook ]{{ end }};
{{- if .DynamicallyLinked }}

  buildInputs = lib.optionals stdenvNoCC.isLinux [
    stdenv.cc.cc.lib
  ];
{{- end }}

  installPhase = ''
    {{- range $index, $element := .Install }}
    {{ . -}}
    {{- end }}
  '';

  {{- with .PostInstall }}
  postInstall = ''
    {{- range $index, $element := . }}
    {{ . -}}
    {{- end }}
  '';
  {{- end }}

  meta = {
    {{- with .Description }}
    description = "{{ . }}";
    {{- end }}
    {{- with .Homepage }}
    homepage = "{{ . }}";
    {{- end }}
    {{- with .License }}
    license = lib.licenses.{{ . }};
    {{- end }}

    sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];

    platforms = [
      {{- range $index, $plat := .Platforms }}
      "{{ . }}"
      {{- end }}
    ];
  };
}
