Merge pull request #113379 from 06kellyjac/octant_ver_bump

This commit is contained in:
Sandro 2021-02-17 13:53:20 +01:00 committed by GitHub
commit 25420cd787
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 71 additions and 19 deletions

View File

@ -1,38 +1,53 @@
{ lib, stdenv, fetchurl }:
let
version = "0.16.3";
{ lib, stdenv, fetchzip }:
system = stdenv.hostPlatform.system;
let
inherit (stdenv.hostPlatform) system;
suffix = {
x86_64-linux = "Linux-64bit";
aarch64-linux = "Linux-arm64";
x86_64-darwin = "macOS-64bit";
}."${system}" or (throw "Unsupported system: ${system}");
baseurl = "https://github.com/vmware-tanzu/octant/releases/download";
fetchsrc = sha256: fetchurl {
fetchsrc = version: sha256: fetchzip {
url = "${baseurl}/v${version}/octant_${version}_${suffix}.tar.gz";
sha256 = sha256."${system}";
};
in
stdenv.mkDerivation rec {
pname = "octant";
inherit version;
version = "0.17.0";
src = fetchsrc {
x86_64-linux = "1c6v7d8i494k32b0zrjn4fn1idza95r6h99c33c5za4hi7gqvy0x";
aarch64-linux = "153jd4wsq8qc598w7y4d30dy20ljyhrl68cc3pig1p712l5258zs";
x86_64-darwin = "0y2qjdlyvhrzwg0fmxsr3jl39kd13276a7wg0ndhdjfwxvdwpxkz";
src = fetchsrc version {
x86_64-linux = "sha256-kYS8o97HBjNgwmrG4fjsqFWxZy6ATFOhxt6j3KMZbEc=";
aarch64-linux = "sha256-/Tpna2Y8+PQt+SeOJ9NDweRWGiQXU/sN+Wh/vLYQPwM=";
x86_64-darwin = "sha256-aOUmnD+l/Cc5qTiHxFLBjCatszmPdUc4YYZ6Oy5DT3U=";
};
doCheck = false;
dontConfigure = true;
dontBuild = true;
installPhase = ''
mkdir -p "$out/bin"
mv octant $out/bin
runHook preInstall
install -D octant $out/bin/octant
runHook postInstall
'';
doInstallCheck = true;
installCheckPhase = ''
runHook preInstallCheck
$out/bin/octant --help
$out/bin/octant version | grep "${version}"
runHook postInstallCheck
'';
dontPatchELF = true;
dontPatchShebangs = true;
passthru.updateScript = ./update.sh;
meta = with lib; {
homepage = "https://octant.dev/";
changelog = "https://github.com/vmware-tanzu/octant/blob/v${version}/CHANGELOG.md";
description = "Highly extensible platform for developers to better understand the complexity of Kubernetes clusters.";
longDescription = ''
Octant is a tool for developers to understand how applications run on a Kubernetes cluster.
@ -40,9 +55,8 @@ stdenv.mkDerivation rec {
Octant offers a combination of introspective tooling, cluster navigation, and object management along with a
plugin system to further extend its capabilities.
'';
homepage = "https://octant.dev/";
license = licenses.asl20;
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
maintainers = with maintainers; [ jk ];
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
};
}

View File

@ -0,0 +1,38 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl gnused gawk nix-prefetch
set -euo pipefail
ROOT="$(dirname "$(readlink -f "$0")")"
NIX_DRV="$ROOT/default.nix"
if [ ! -f "$NIX_DRV" ]; then
echo "ERROR: cannot find default.nix in $ROOT"
exit 1
fi
fetch_arch() {
VER="$1"; ARCH="$2"
URL="https://github.com/vmware-tanzu/octant/releases/download/v${VER}/octant_${VER}_${ARCH}.tar.gz"
nix-prefetch "{ stdenv, fetchzip }:
stdenv.mkDerivation rec {
pname = \"octant\"; version = \"${VER}\";
src = fetchzip { url = \"$URL\"; };
}
"
}
replace_sha() {
sed -i "s#$1 = \"sha256-.\{44\}\"#$1 = \"$2\"#" "$NIX_DRV"
}
OCTANT_VER=$(curl -Ls -w "%{url_effective}" -o /dev/null https://github.com/vmware-tanzu/octant/releases/latest | awk -F'/' '{print $NF}' | sed 's/v//')
OCTANT_LINUX_X64_SHA256=$(fetch_arch "$OCTANT_VER" "Linux-64bit")
OCTANT_DARWIN_X64_SHA256=$(fetch_arch "$OCTANT_VER" "Linux-arm64")
OCTANT_LINUX_AARCH64_SHA256=$(fetch_arch "$OCTANT_VER" "macOS-64bit")
sed -i "s/version = \".*\"/version = \"$OCTANT_VER\"/" "$NIX_DRV"
replace_sha "x86_64-linux" "$OCTANT_LINUX_X64_SHA256"
replace_sha "x86_64-darwin" "$OCTANT_LINUX_AARCH64_SHA256"
replace_sha "aarch64-linux" "$OCTANT_DARWIN_X64_SHA256"