55 lines
1.3 KiB
Nix
55 lines
1.3 KiB
Nix
{ pkgs, ... }:
|
|
|
|
with pkgs;
|
|
|
|
caddy.override {
|
|
buildGoModule =
|
|
args:
|
|
buildGoModule (
|
|
args
|
|
// {
|
|
src = stdenv.mkDerivation rec {
|
|
pname = "caddy-using-xcaddy-${xcaddy.version}";
|
|
inherit (caddy) version;
|
|
|
|
dontUnpack = true;
|
|
dontFixup = true;
|
|
|
|
nativeBuildInputs = [
|
|
cacert
|
|
go
|
|
];
|
|
|
|
plugins = [ "github.com/caddy-dns/cloudflare@89f16b99c18ef49c8bb470a82f895bce01cbaece" ];
|
|
|
|
configurePhase = ''
|
|
export GOCACHE=$TMPDIR/go-cache
|
|
export GOPATH="$TMPDIR/go"
|
|
export XCADDY_SKIP_BUILD=1
|
|
'';
|
|
|
|
buildPhase = ''
|
|
${xcaddy}/bin/xcaddy build "${caddy.src.rev}" ${
|
|
lib.concatMapStringsSep " " (plugin: "--with ${plugin}") plugins
|
|
}
|
|
cd buildenv*
|
|
go mod vendor
|
|
'';
|
|
|
|
installPhase = ''
|
|
cp -r --reflink=auto . $out
|
|
'';
|
|
|
|
outputHash = "sha256-lyhEIOgGkR31bt9YV+W854TBZw419G8uuTtBSsFcgCA=";
|
|
outputHashMode = "recursive";
|
|
};
|
|
|
|
subPackages = [ "." ];
|
|
ldflags = [
|
|
"-s"
|
|
"-w"
|
|
]; # # don't include version info twice
|
|
vendorHash = null;
|
|
}
|
|
);
|
|
}
|