2023-05-25 23:07:10 -03:00
|
|
|
# vim: set ft=nix ts=2 sw=2 sts=2 et sta
|
|
|
|
{ system ? builtins.currentSystem, pkgs, lib, fetchurl, installShellFiles }:
|
|
|
|
let
|
|
|
|
shaMap = {
|
|
|
|
{{- with .Archives.linux386.Sha }}
|
|
|
|
i686-linux = "{{ . }}";
|
|
|
|
{{- end }}
|
|
|
|
{{- with .Archives.linuxamd64.Sha }}
|
|
|
|
x86_64-linux = "{{ . }}";
|
|
|
|
{{- end }}
|
2023-05-29 11:59:19 -03:00
|
|
|
{{- with .Archives.linuxarm6.Sha }}
|
|
|
|
armv6l-linux = "{{ . }}";
|
|
|
|
{{- end }}
|
|
|
|
{{- with .Archives.linuxarm7.Sha }}
|
|
|
|
armv7l-linux = "{{ . }}";
|
|
|
|
{{- end }}
|
2023-05-25 23:07:10 -03:00
|
|
|
{{- 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 }}
|
2023-05-29 11:59:19 -03:00
|
|
|
{{- with .Archives.linuxarm6.URL }}
|
|
|
|
armv6l-linux = "{{ . }}";
|
|
|
|
{{- end }}
|
|
|
|
{{- with .Archives.linuxarm7.URL }}
|
|
|
|
armv7l-linux = "{{ . }}";
|
|
|
|
{{- end }}
|
2023-05-25 23:07:10 -03:00
|
|
|
{{- with .Archives.linuxarm64.URL }}
|
|
|
|
aarch64-linux = "{{ . }}";
|
|
|
|
{{- end }}
|
|
|
|
{{- with .Archives.darwinamd64.URL }}
|
|
|
|
x86_64-darwin = "{{ . }}";
|
|
|
|
{{- end }}
|
|
|
|
{{- with .Archives.darwinarm64.URL }}
|
|
|
|
aarch64-darwin = "{{ . }}";
|
|
|
|
{{- end }}
|
|
|
|
};
|
|
|
|
in pkgs.stdenv.mkDerivation {
|
|
|
|
pname = "{{ .Name }}";
|
|
|
|
version = "{{ .Version }}";
|
|
|
|
src = fetchurl {
|
|
|
|
url = urlMap.${system};
|
|
|
|
sha256 = shaMap.${system};
|
|
|
|
};
|
|
|
|
|
|
|
|
sourceRoot = "{{ .SourceRoot }}";
|
|
|
|
|
|
|
|
nativeBuildInputs = [ installShellFiles ];
|
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
{{- range $index, $element := .Install }}
|
|
|
|
{{ . -}}
|
|
|
|
{{- end }}
|
|
|
|
'';
|
|
|
|
|
|
|
|
{{- with .PostInstall }}
|
|
|
|
postInstall = ''
|
|
|
|
{{- range $index, $element := . }}
|
|
|
|
{{ . -}}
|
|
|
|
{{- end }}
|
|
|
|
'';
|
|
|
|
{{- end }}
|
|
|
|
|
|
|
|
system = system;
|
|
|
|
|
|
|
|
meta = with lib; {
|
|
|
|
{{- with .Description }}
|
|
|
|
description = "{{ . }}";
|
|
|
|
{{- end }}
|
|
|
|
{{- with .Homepage }}
|
|
|
|
homepage = "{{ . }}";
|
|
|
|
{{- end }}
|
|
|
|
{{- with .License }}
|
|
|
|
license = licenses.{{ . }};
|
|
|
|
{{- end }}
|
|
|
|
|
|
|
|
platforms = [
|
|
|
|
{{- range $index, $plat := .Platforms }}
|
|
|
|
"{{ . }}"
|
|
|
|
{{- end }}
|
|
|
|
];
|
|
|
|
};
|
|
|
|
}
|