nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 103 lines 3.8 kB view raw
1{ 2 stdenv, 3 buildPlatform, 4 hostPlatform, 5 callPackage, 6 fetchgit, 7 fetchurl, 8 writeText, 9 runCommand, 10 darwin, 11 writeShellScriptBin, 12 depot_toolsCommit ? "580b4ff3f5cd0dcaa2eacda28cefe0f45320e8f7", 13 depot_toolsHash ? "sha256-k+XQSYJQYc9vAUjwrRxaAlX/sK74W45m5byS31hSpwc=", 14 cipdCommit ? "7120a6a515089a3ff5d1f61ff4ee17750dc038af", 15 cipdHashes ? { 16 "linux-386" = "sha256-CshLfw49uglvWNwWE4K7ucBUF+IZlXDaIQsTXtFEJ8U="; 17 "linux-amd64" = "sha256-rxpI+HqfZiOYvzyyQ9P93s70feDmrLgbm4Xh3o88LwQ="; 18 "linux-arm64" = "sha256-XTTKbw1Q2lin+pf7VADalpBy3AWMTEd7yItsE/pePxw="; 19 "linux-armv6l" = "sha256-e5qe2KcguRLPuAq6wOG7A3YghHHon+oHY3fRLhU+e9E="; 20 "linux-loong64" = "sha256-LPTK4Ly173jac+cSGrsWw0ajrWEYepeJDGtP/7Xh528="; 21 "linux-mips" = "sha256-nR5khvHbAijs0MEr8+UgbuHTRNQAsMOyGTU/DI3K5Os="; 22 "linux-mips64" = "sha256-4a/zD1CrC/sxtBHqSRpom0SYVoN38bz3FAM40OSdVI0="; 23 "linux-mips64le" = "sha256-JnfKuBGLHYNLnRieS0KV8sYaTjh2rbp1yijvNOrU0FE="; 24 "linux-mipsle" = "sha256-nWqoay8c4faRk2+G5TvwbsbnndjTU4oglOTfhSC+TLQ="; 25 "linux-ppc64" = "sha256-pjeI/bx0i+QchQLhNB88ACPI34SrFvvFA01F5Nb16Ys="; 26 "linux-ppc64le" = "sha256-ZDMDwrP1zYlOI1hdbd3iZwKr59v/8CWj2sZ1RdosAiE="; 27 "linux-riscv64" = "sha256-O2EvOnjwbNssB7FtbK44yFcXfkrh9HOsPs/HF+uD2m8="; 28 "linux-s390x" = "sha256-BKeNDtuc9IkmV4GpuZcdsGc2F039KQeLdozxh7u+FDw="; 29 "macos-amd64" = "sha256-ZKBm8PbKjg4t0jIBPRKAv85L8eZOwJ1wBvh3cRSqHOI="; 30 "macos-arm64" = "sha256-AvjJp7JF05CetYDnwNJneAsotm1vBHWqB/vCdcIohoU="; 31 "windows-386" = "sha256-AVLbWh+WtJKynFDS6IfhuvYudw4Ow9s6w2JyDWG/2CI="; 32 "windows-amd64" = "sha256-puAQhiPGuwzkElWiBdTRGWOaUR2AIP7Qv9S3pwEY74E="; 33 "windows-arm64" = "sha256-4wxOMG+zvkM7gjhAiQvvNqNS0AamKKJdaBM/+rRxgXk="; 34 }, 35}: 36let 37 constants = callPackage ./constants.nix { platform = buildPlatform; }; 38 host-constants = callPackage ./constants.nix { platform = hostPlatform; }; 39 stdenv-constants = callPackage ./constants.nix { platform = stdenv.hostPlatform; }; 40in 41{ 42 depot_tools = fetchgit { 43 url = "https://chromium.googlesource.com/chromium/tools/depot_tools.git"; 44 rev = depot_toolsCommit; 45 hash = depot_toolsHash; 46 }; 47 48 cipd = 49 let 50 unwrapped = 51 runCommand "cipd-${cipdCommit}" 52 { 53 src = fetchurl { 54 name = "cipd-${cipdCommit}-unwrapped"; 55 url = "https://chrome-infra-packages.appspot.com/client?platform=${stdenv-constants.platform}&version=git_revision:${cipdCommit}"; 56 hash = cipdHashes.${stdenv-constants.platform}; 57 }; 58 } 59 '' 60 mkdir --parents $out/bin 61 install --mode=0755 $src $out/bin/cipd 62 ''; 63 in 64 writeShellScriptBin "cipd" '' 65 params=$@ 66 67 if [[ "$1" == "ensure" ]]; then 68 shift 1 69 params="ensure" 70 71 while [ "$#" -ne 0 ]; do 72 if [[ "$1" == "-ensure-file" ]]; then 73 ensureFile="$2" 74 shift 2 75 params="$params -ensure-file $ensureFile" 76 77 sed -i 's/''${platform}/${host-constants.platform}/g' "$ensureFile" 78 sed -i 's/gn\/gn\/${stdenv-constants.platform}/gn\/gn\/${constants.platform}/g' "$ensureFile" 79 80 if grep flutter/java/openjdk "$ensureFile" >/dev/null; then 81 sed -i '/src\/flutter\/third_party\/java\/openjdk/,+2 d' "$ensureFile" 82 fi 83 else 84 params="$params $1" 85 shift 1 86 fi 87 done 88 fi 89 90 exec ${unwrapped}/bin/cipd $params 91 ''; 92 93 vpython = 94 pythonPkg: 95 runCommand "vpython3" { } '' 96 mkdir --parents $out/bin 97 ln --symbolic ${pythonPkg}/bin/python $out/bin/vpython3 98 ''; 99 100 xcode-select = writeShellScriptBin "xcode-select" '' 101 echo ${darwin.xcode}/Contents/Developer 102 ''; 103}