python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / tools / admin / acme-sh / default.nix
blob544bd9f04123879f8d24ffefa9f79eb1735e5d9b
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.4";
20   src = fetchFromGitHub {
21     owner = "acmesh-official";
22     repo = "acme.sh";
23     rev = version;
24     sha256 = "sha256-PHxL48Gj6CJG4r3LXKQCU0KARmTu7DQrC29oLi7gvU8=";
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.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     description = "A pure Unix shell script implementing ACME client protocol";
57     longDescription = ''
58       An ACME Shell script: acme.sh
60       - An ACME protocol client written purely in Shell (Unix shell) language.
61       - Full ACME protocol implementation.
62       - Support ECDSA certs
63       - Support SAN and wildcard certs
64       - Simple, powerful and very easy to use. You only need 3 minutes to learn it.
65       - Bash, dash and sh compatible.
66       - Purely written in Shell with no dependencies on python.
67       - Just one script to issue, renew and install your certificates automatically.
68       - DOES NOT require root/sudoer access.
69       - Docker ready
70       - IPv6 ready
71       - Cron job notifications for renewal or error etc.
72     '';
73     license = licenses.gpl3Only;
74     maintainers = with lib.maintainers; [ mkaito ] ++ teams.serokell.members;
75     inherit (coreutils.meta) platforms;
76   };