nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 85 lines 2.0 kB view raw
1{ 2 lib, 3 fetchurl, 4 installShellFiles, 5 versionCheckHook, 6 stdenvNoCC, 7 version-channel ? "stable", 8}: 9let 10 inherit (stdenvNoCC.hostPlatform) system; 11 sources = 12 if "${version-channel}" == "main" then 13 lib.importJSON ./sources-main.json 14 else 15 lib.importJSON ./sources-stable.json; 16 arch = sources.archMap.${system}; 17 18in 19stdenvNoCC.mkDerivation { 20 pname = if "${version-channel}" == "main" then "upbound-main" else "upbound"; 21 version = sources.version; 22 srcs = [ 23 (fetchurl { 24 url = sources.fetchurlAttrSet.docker-credential-up.${system}.url; 25 sha256 = sources.fetchurlAttrSet.docker-credential-up.${system}.hash; 26 }) 27 28 (fetchurl { 29 url = sources.fetchurlAttrSet.up.${system}.url; 30 sha256 = sources.fetchurlAttrSet.up.${system}.hash; 31 }) 32 ]; 33 34 sourceRoot = "."; 35 36 nativeBuildInputs = [ installShellFiles ]; 37 38 installPhase = '' 39 runHook preInstall 40 41 mkdir -p $out/bin 42 43 cp ./${arch}/up $out/bin/up 44 chmod +x $out/bin/up 45 46 cp ./${arch}/docker-credential-up $out/bin/docker-credential-up 47 chmod +x $out/bin/docker-credential-up 48 49 runHook postInstall 50 ''; 51 52 postInstall = '' 53 installShellCompletion --bash --name up <(echo complete -C up up) 54 ''; 55 56 # FIXME: error when running `env -i up`: 57 # "up: error: $HOME is not defined" 58 doInstallCheck = false; 59 versionCheckProgram = "${placeholder "out"}/bin/up"; 60 versionCheckProgramArg = "version"; 61 62 nativeInstallCheckInputs = [ 63 versionCheckHook 64 ]; 65 66 doCheck = false; 67 68 passthru.updateScript = [ 69 ./update 70 "${version-channel}" 71 ]; 72 73 meta = { 74 description = "CLI for interacting with Upbound Cloud, Upbound Enterprise, and Universal Crossplane (UXP)"; 75 changelog = "https://docs.upbound.io/reference/cli/rel-notes/#whats-changed"; 76 homepage = "https://upbound.io"; 77 license = lib.licenses.unfree; 78 maintainers = with lib.maintainers; [ 79 lucperkins 80 jljox 81 ]; 82 mainProgram = "up"; 83 platforms = sources.platformList; 84 }; 85}