From e9a86f48915f2ea7e2709210c82946b47544a808 Mon Sep 17 00:00:00 2001 From: Azat Bahawi Date: Sun, 12 Jun 2022 15:09:56 +0300 Subject: [PATCH] boulder: release-2019-10-13 -> release-2022-05-31 --- pkgs/tools/admin/boulder/default.nix | 53 +++++++++++++++++++--------- pkgs/top-level/all-packages.nix | 4 ++- 2 files changed, 40 insertions(+), 17 deletions(-) diff --git a/pkgs/tools/admin/boulder/default.nix b/pkgs/tools/admin/boulder/default.nix index 706ac84afb33..6de6ae6c0202 100644 --- a/pkgs/tools/admin/boulder/default.nix +++ b/pkgs/tools/admin/boulder/default.nix @@ -1,30 +1,51 @@ -{ buildGoPackage -, libtool +{ lib +, buildGoModule , fetchFromGitHub -, lib }: -buildGoPackage rec{ - +buildGoModule rec { pname = "boulder"; - version = "release-2019-10-13"; - - goPackagePath = "github.com/letsencrypt/boulder"; - - buildInputs = [ libtool ]; + version = "release-2022-05-31"; + rev = "99dcb9a5b31be576a55e33184581c942421bc172"; src = fetchFromGitHub { owner = "letsencrypt"; repo = "boulder"; rev = version; - sha256 = "0kis23dnjja6jp192rjpv2m9m2zmzfwhs93440nxg354k6fp8jdg"; + sha256 = "sha256-x1Vf8agwVTgSkDVEdAnG3div+MzRsMi96jKJRc2s8Ks="; }; - meta = { + vendorSha256 = null; + + subPackages = [ "cmd/boulder" ]; + + ldflags = with lib; + mapAttrsToList (n: v: ''"-X github.com/letsencrypt/boulder/core.Build${n}=${v}"'') { + ID = substring 0 8 rev; + Host = "nixbld@localhost"; + Time = "Thu 1 Jan 00:00:00 UTC 1970"; + }; + + postInstall = '' + for i in $($out/bin/boulder --list); do + ln -s $out/bin/boulder $out/bin/$i + done + ''; + + # There are no tests for cmd/boulder. + doCheck = false; + + meta = with lib; { homepage = "https://github.com/letsencrypt/boulder"; - description = "An ACME-based CA, written in Go"; - license = [ lib.licenses.mpl20 ]; - maintainers = [ ]; + description = "An ACME-based certificate authority, written in Go"; + longDescription = '' + This is an implementation of an ACME-based CA. The ACME protocol allows + the CA to automatically verify that an applicant for a certificate + actually controls an identifier, and allows domain holders to issue and + revoke certificates for their domains. Boulder is the software that runs + Let's Encrypt. + ''; + license = licenses.mpl20; + maintainers = with maintainers; [ azahi ]; }; - } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 57099552868d..051f10120f22 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2047,7 +2047,9 @@ with pkgs; botamusique = callPackage ../tools/audio/botamusique { }; - boulder = callPackage ../tools/admin/boulder { }; + boulder = callPackage ../tools/admin/boulder { + buildGoModule = buildGo118Module; + }; btrfs-heatmap = callPackage ../tools/filesystems/btrfs-heatmap { };