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