{ 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 ''; }