44 lines
727 B
Nix
44 lines
727 B
Nix
{
|
|
pkgs,
|
|
config,
|
|
plugins,
|
|
stdenv,
|
|
lib,
|
|
...
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "caddy";
|
|
# https://github.com/NixOS/nixpkgs/issues/113520
|
|
version = "2.7.6";
|
|
dontUnpack = true;
|
|
|
|
nativeBuildInputs = [
|
|
pkgs.git
|
|
pkgs.go
|
|
pkgs.xcaddy
|
|
];
|
|
|
|
configurePhase = ''
|
|
export GOCACHE=$TMPDIR/go-cache
|
|
export GOPATH="$TMPDIR/go"
|
|
'';
|
|
|
|
buildPhase =
|
|
let
|
|
pluginArgs = lib.concatMapStringsSep " " (plugin: "--with ${plugin}") plugins;
|
|
in
|
|
''
|
|
runHook preBuild
|
|
${pkgs.xcaddy}/bin/xcaddy build "v${version}" ${pluginArgs}
|
|
runHook postBuild
|
|
'';
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
mkdir -p $out/bin
|
|
mv caddy $out/bin
|
|
runHook postInstall
|
|
'';
|
|
}
|