Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
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}