1{ version, lib, stdenv, pkgsCross, testers, cloudflared, runCommand, wine, wine64 }:
2
3let
4 inherit (stdenv) buildPlatform;
5in
6{
7 version = testers.testVersion {
8 package = cloudflared;
9 command = "cloudflared help";
10 };
11 refuses-to-autoupdate = runCommand "cloudflared-${version}-refuses-to-autoupdate"
12 {
13 nativeBuildInputs = [ cloudflared ];
14 } ''
15 set -e
16 cloudflared update 2>&1 | tee output.txt
17 if ! grep "cloudflared was installed by nixpkgs" output.txt
18 then
19 echo "cloudflared's output didn't contain the package manager name"
20 exit 1
21 fi
22 mkdir $out
23 '';
24} // lib.optionalAttrs (buildPlatform.isLinux && (buildPlatform.isi686 || buildPlatform.isx86_64)) {
25 runs-through-wine = runCommand "cloudflared-${version}-runs-through-wine"
26 {
27 nativeBuildInputs = [ wine ];
28 exe = "${pkgsCross.mingw32.cloudflared}/bin/cloudflared.exe";
29 } ''
30 export HOME="$(mktemp -d)"
31 wine $exe help
32 mkdir $out
33 '';
34} // lib.optionalAttrs (buildPlatform.isLinux && buildPlatform.isx86_64) {
35 runs-through-wine64 = runCommand "cloudflared-${version}-runs-through-wine64"
36 {
37 nativeBuildInputs = [ wine64 ];
38 exe = "${pkgsCross.mingwW64.cloudflared}/bin/cloudflared.exe";
39 } ''
40 export HOME="$(mktemp -d)"
41 wine64 $exe help
42 mkdir $out
43 '';
44}