Merge pull request #272774 from chasecaleb/update-sauce-connect

sauce-connect: 4.5.4 -> 4.9.1

authored by Weijia Wang and committed by GitHub 109400fa b55c45c4

+46 -15
+19 -15
pkgs/development/tools/sauce-connect/default.nix
··· 2 3 stdenv.mkDerivation rec { 4 pname = "sauce-connect"; 5 - version = "4.5.4"; 6 7 - src = fetchurl ( 8 - if stdenv.hostPlatform.system == "x86_64-linux" then { 9 - url = "https://saucelabs.com/downloads/sc-${version}-linux.tar.gz"; 10 - sha256 = "1w8fw47q4bzpk5jfagmc0cbp69jdd6jcv2xl1gx91cbp7xd8mcbf"; 11 - } else if stdenv.hostPlatform.system == "i686-linux" then { 12 - url = "https://saucelabs.com/downloads/sc-${version}-linux32.tar.gz"; 13 - sha256 = "1h9n1mzmrmlrbd0921b0sgg7m8z0w71pdb5sif6h1b9f97cp353x"; 14 - } else { 15 - url = "https://saucelabs.com/downloads/sc-${version}-osx.zip"; 16 - sha256 = "0rkyd402f1n92ad3w1460j1a4m46b29nandv4z6wvg2pasyyf2lj"; 17 - } 18 - ); 19 20 nativeBuildInputs = [ unzip ]; 21 ··· 38 sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; 39 license = licenses.unfree; 40 homepage = "https://docs.saucelabs.com/reference/sauce-connect/"; 41 - maintainers = with maintainers; [offline]; 42 - platforms = platforms.linux ++ platforms.darwin; 43 }; 44 }
··· 2 3 stdenv.mkDerivation rec { 4 pname = "sauce-connect"; 5 + version = "4.9.1"; 6 7 + passthru = { 8 + sources = { 9 + x86_64-linux = fetchurl { 10 + url = "https://saucelabs.com/downloads/sc-${version}-linux.tar.gz"; 11 + hash = "sha256-S3vzng6b0giB6Zceaxi62pQOEHysIR/vVQmswkEZ0/M="; 12 + }; 13 + x86_64-darwin = fetchurl { 14 + url = "https://saucelabs.com/downloads/sc-${version}-osx.zip"; 15 + hash = "sha256-6tJayqo+p7PMz8M651ikHz6tEjGjRIffOqQBchkpW5Q="; 16 + }; 17 + aarch64-darwin = passthru.sources.x86_64-darwin; 18 + }; 19 + }; 20 + 21 + src = passthru.sources.${stdenv.hostPlatform.system} 22 + or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); 23 24 nativeBuildInputs = [ unzip ]; 25 ··· 42 sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; 43 license = licenses.unfree; 44 homepage = "https://docs.saucelabs.com/reference/sauce-connect/"; 45 + maintainers = with maintainers; [ offline ]; 46 + platforms = builtins.attrNames passthru.sources; 47 }; 48 }
+27
pkgs/development/tools/sauce-connect/update.sh
···
··· 1 + #!/usr/bin/env nix-shell 2 + #!nix-shell -i bash -p common-updater-scripts curl jq 3 + # API documentation: https://docs.saucelabs.com/dev/api/connect/ 4 + 5 + set -Eeuo pipefail 6 + shopt -s lastpipe 7 + die() { 8 + echo -e "${BASH_SOURCE[0]}:${BASH_LINENO[0]}" ERROR: "$@" >&2 9 + exit 1 10 + } 11 + # shellcheck disable=2154 12 + trap 's=$?; die "$BASH_COMMAND"; exit $s' ERR 13 + 14 + # Versions may not be updated simultaneously across all platforms, so need to figure out the latest 15 + # version that includes both platforms. For example, currently the latest on Linux is 4.9.2 while 16 + # Mac is 4.9.1. 17 + response=$(curl -fsSL 'https://api.us-west-1.saucelabs.com/rest/v1/public/tunnels/info/versions?all=true') 18 + all_versions=$(jq --exit-status --raw-output \ 19 + '.all_downloads | to_entries[] | select(.value | has("linux") and has("osx")) | .key' \ 20 + <<< "$response") 21 + latest_version=$(sort --version-sort <<< "$all_versions" | tail -n 1) 22 + for platform in x86_64-linux x86_64-darwin; do 23 + update-source-version sauce-connect 0 "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" \ 24 + --source-key="passthru.sources.$platform" 25 + update-source-version sauce-connect "$latest_version" \ 26 + --source-key="passthru.sources.$platform" 27 + done