biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / tools / admin / acme-sh / default.nix
blobc79bcebda0863c677af89c22e8fb537f5cb8171a
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , coreutils
5 , curl
6 , dnsutils
7 , gnugrep
8 , gnused
9 , iproute2
10 , makeWrapper
11 , openssl
12 , socat
13 , unixtools
16 stdenv.mkDerivation rec {
17   pname = "acme.sh";
18   version = "3.0.9";
20   src = fetchFromGitHub {
21     owner = "acmesh-official";
22     repo = "acme.sh";
23     rev = "refs/tags/${version}";
24     hash = "sha256-GJNaY5Dxis/x5bCvOPnIvJ4VrJkjjaaOFq68JYXxDf0=";
25   };
27   nativeBuildInputs = [
28     makeWrapper
29   ];
31   installPhase = let
32     binPath = lib.makeBinPath [
33       coreutils
34       curl
35       dnsutils
36       gnugrep
37       gnused
38       openssl
39       socat
40       (if stdenv.hostPlatform.isLinux then iproute2 else unixtools.netstat)
41     ];
42   in
43     ''
44     runHook preInstall
46     mkdir -p $out $out/bin $out/libexec
47     cp -R $src/* $_
48     makeWrapper $out/libexec/acme.sh $out/bin/acme.sh \
49       --prefix PATH : "${binPath}"
51     runHook postInstall
52   '';
54   meta = with lib; {
55     homepage = "https://acme.sh/";
56     changelog = "https://github.com/acmesh-official/acme.sh/releases/tag/${version}";
57     description = "Pure Unix shell script implementing ACME client protocol";
58     longDescription = ''
59       An ACME Shell script: acme.sh
61       - An ACME protocol client written purely in Shell (Unix shell) language.
62       - Full ACME protocol implementation.
63       - Support ECDSA certs
64       - Support SAN and wildcard certs
65       - Simple, powerful and very easy to use. You only need 3 minutes to learn it.
66       - Bash, dash and sh compatible.
67       - Purely written in Shell with no dependencies on python.
68       - Just one script to issue, renew and install your certificates automatically.
69       - DOES NOT require root/sudoer access.
70       - Docker ready
71       - IPv6 ready
72       - Cron job notifications for renewal or error etc.
73     '';
74     license = licenses.gpl3Only;
75     maintainers = with lib.maintainers; [ mkaito ] ++ teams.serokell.members;
76     inherit (coreutils.meta) platforms;
77     mainProgram = "acme.sh";
78   };