62 lines
1.4 KiB
Nix
62 lines
1.4 KiB
Nix
{
|
|
version,
|
|
lib,
|
|
stdenv,
|
|
pkgsCross,
|
|
testers,
|
|
cloudflared,
|
|
runCommand,
|
|
wine,
|
|
wine64,
|
|
}:
|
|
|
|
let
|
|
inherit (stdenv) buildPlatform;
|
|
in
|
|
{
|
|
version = testers.testVersion {
|
|
package = cloudflared;
|
|
command = "cloudflared help";
|
|
};
|
|
refuses-to-autoupdate =
|
|
runCommand "cloudflared-${version}-refuses-to-autoupdate"
|
|
{
|
|
nativeBuildInputs = [ cloudflared ];
|
|
}
|
|
''
|
|
set -e
|
|
cloudflared update 2>&1 | tee output.txt
|
|
if ! grep "cloudflared was installed by nixpkgs" output.txt
|
|
then
|
|
echo "cloudflared's output didn't contain the package manager name"
|
|
exit 1
|
|
fi
|
|
mkdir $out
|
|
'';
|
|
}
|
|
// lib.optionalAttrs (buildPlatform.isLinux && (buildPlatform.isi686 || buildPlatform.isx86_64)) {
|
|
runs-through-wine =
|
|
runCommand "cloudflared-${version}-runs-through-wine"
|
|
{
|
|
nativeBuildInputs = [ wine ];
|
|
exe = "${pkgsCross.mingw32.cloudflared}/bin/cloudflared.exe";
|
|
}
|
|
''
|
|
export HOME="$(mktemp -d)"
|
|
wine $exe help
|
|
mkdir $out
|
|
'';
|
|
}
|
|
// lib.optionalAttrs (buildPlatform.isLinux && buildPlatform.isx86_64) {
|
|
runs-through-wine64 =
|
|
runCommand "cloudflared-${version}-runs-through-wine64"
|
|
{
|
|
nativeBuildInputs = [ wine64 ];
|
|
exe = "${pkgsCross.mingwW64.cloudflared}/bin/cloudflared.exe";
|
|
}
|
|
''
|
|
export HOME="$(mktemp -d)"
|
|
wine64 $exe help
|
|
mkdir $out
|
|
'';
|
|
}
|