Files

52 lines
1.3 KiB
Nix

{ lib, fetchFromGitHub }:
let
version = "3.16.0";
vendorHash = "sha256-z87enzlH2jVq/BI6uVbpLG6jKsO5Wr2alJOcFjt/+MM=";
nodeModulesHash = "sha256-zj8InXWu8hRgJaN0dkb6K16kWvXAhAzUPUU1OQcw0Yo=";
in
{
inherit version vendorHash nodeModulesHash;
src = fetchFromGitHub {
owner = "woodpecker-ci";
repo = "woodpecker";
tag = "v${version}";
hash = "sha256-9Bc7225CZFELgra5gnmo7KeNeY4X7+YpyvVGG/Y+sAs=";
};
postInstall = ''
cd $out/bin
for f in *; do
if [ "$f" = cli ]; then
# Issue a warning to the user if they call the deprecated executable
cat >woodpecker << EOF
#!/bin/sh
echo 'WARNING: calling \`woodpecker\` is deprecated, use \`woodpecker-cli\` instead.' >&2
$out/bin/woodpecker-cli "\$@"
EOF
chmod +x woodpecker
patchShebangs woodpecker
fi
mv -- "$f" "woodpecker-$f"
done
cd -
'';
ldflags = [
"-s"
"-w"
"-X go.woodpecker-ci.org/woodpecker/v3/version.Version=${version}"
];
meta = {
homepage = "https://woodpecker-ci.org/";
changelog = "https://github.com/woodpecker-ci/woodpecker/blob/v${version}/CHANGELOG.md";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
ambroisie
marcusramberg
techknowlogick
];
};
}