uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead

https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948
this can do it nicely.

Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
Anton Arapov 2021-04-03 12:58:10 +02:00 committed by Alan Daniels
commit 56de2bcd43
30691 changed files with 3076956 additions and 0 deletions

View file

@ -0,0 +1,66 @@
{ lib, stdenv, fetchzip }:
stdenv.mkDerivation rec {
pname = "octant";
version = "0.25.1";
src =
let
inherit (stdenv.hostPlatform) system;
suffix = {
x86_64-linux = "Linux-64bit";
aarch64-linux = "Linux-arm64";
x86_64-darwin = "macOS-64bit";
aarch64-darwin = "macOS-arm64";
}.${system} or (throw "Unsupported system: ${system}");
fetchsrc = version: sha256: fetchzip {
url = "https://github.com/vmware-tanzu/octant/releases/download/v${version}/octant_${version}_${suffix}.tar.gz";
sha256 = sha256.${system};
};
in
fetchsrc version {
x86_64-linux = "sha256-bYqycTB036J8trojySPNkC+jrw76F7+N4I4puGCyalU=";
aarch64-linux = "sha256-DlzSIZCAASPnflXQ8ndPU7/0jXA18U4bGGOfmgLXPr0=";
x86_64-darwin = "sha256-FaPyrPzO7AzC6LHQP5c58NjLTqU+ei8vFffT8x6mUhQ=";
aarch64-darwin = "sha256-31CYhAsHYIVAenp8hFHYj8LhFf3lSiOTw7gULBu3gio=";
};
dontConfigure = true;
dontBuild = true;
installPhase = ''
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.
It aims to be part of the developer's toolkit for gaining insight and
approaching complexity found in Kubernetes. Octant offers a combination of
introspective tooling, cluster navigation, and object management along
with a plugin system to further extend its capabilities.
'';
license = licenses.asl20;
maintainers = with maintainers; [ jk ];
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
};
}

View file

@ -0,0 +1,77 @@
{ lib, stdenv, appimageTools, fetchurl, undmg }:
let
pname = "octant-desktop";
version = "0.23.0";
name = "${pname}-${version}";
inherit (stdenv.hostPlatform) system;
suffix = {
x86_64-linux = "AppImage";
x86_64-darwin = "dmg";
}.${system} or (throw "Unsupported system: ${system}");
src = fetchurl {
url = "https://github.com/vmware-tanzu/octant/releases/download/v${version}/Octant-${version}.${suffix}";
sha256 = {
x86_64-linux = "sha256-K4z6SVCiuqy3xkWMWpm8KM7iYVXyKcnERljMG3NEFMw=";
x86_64-darwin = "sha256-WYra0yw/aPW/wUGrlIn5ud3kjFTkekYEi2LWZcYO5Nw=";
}.${system};
};
linux = appimageTools.wrapType2 {
inherit name src passthru meta;
profile = ''
export LC_ALL=C.UTF-8
'';
multiPkgs = null; # no 32bit needed
extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
extraInstallCommands =
let appimageContents = appimageTools.extractType2 { inherit name src; }; in
''
mv $out/bin/{${name},${pname}}
install -Dm444 ${appimageContents}/octant.desktop -t $out/share/applications
substituteInPlace $out/share/applications/octant.desktop \
--replace 'Exec=AppRun --no-sandbox' 'Exec=${pname}'
install -m 444 -D ${appimageContents}/octant.png \
$out/share/icons/hicolor/512x512/apps/octant.png
'';
};
darwin = stdenv.mkDerivation {
inherit name src passthru meta;
nativeBuildInputs = [ undmg ];
sourceRoot = "Octant.app";
installPhase = ''
mkdir -p $out/Applications/Octant.app
cp -R . $out/Applications/Octant.app
'';
};
passthru = { updateScript = ./update-desktop.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.
It aims to be part of the developer's toolkit for gaining insight and
approaching complexity found in Kubernetes. Octant offers a combination of
introspective tooling, cluster navigation, and object management along
with a plugin system to further extend its capabilities.
'';
license = licenses.asl20;
maintainers = with maintainers; [ jk ];
platforms = [ "x86_64-linux" "x86_64-darwin" ];
};
in
if stdenv.isDarwin
then darwin
else linux

View file

@ -0,0 +1,31 @@
{ lib, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "starboard-octant-plugin";
version = "0.12.0";
src = fetchFromGitHub {
owner = "aquasecurity";
repo = pname;
rev = "v${version}";
sha256 = "sha256-JTSZtIRVFdUjhQsp2EMukeoVIo6nNx4xofq+3iOZUIk=";
};
vendorSha256 = "sha256-1zrB+CobUBgdpBHRJPpfDYCD6oVWY4j4Met9EqNQQbE=";
ldflags = [
"-s" "-w"
];
meta = with lib; {
homepage = "https://github.com/aquasecurity/starboard-octant-plugin";
changelog = "https://github.com/aquasecurity/starboard-octant-plugin/releases/tag/v${version}";
description = "Octant plugin for viewing Starboard security information";
longDescription = ''
This is an Octant plugin for Starboard which provides visibility into vulnerability assessment reports for
Kubernetes workloads stored as custom security resources.
'';
license = licenses.asl20;
maintainers = with maintainers; [ jk ];
};
}

View file

@ -0,0 +1,36 @@
#!/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/desktop.nix"
if [ ! -f "$NIX_DRV" ]; then
echo "ERROR: cannot find desktop.nix in $ROOT"
exit 1
fi
fetch_arch() {
VER="$1"; SUFFIX="$2"
URL="https://github.com/vmware-tanzu/octant/releases/download/v${VER}/Octant-${VER}.${SUFFIX}"
nix-prefetch "{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
pname = \"octant-desktop\"; version = \"${VER}\";
src = fetchurl { 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_DESKTOP_LINUX_X64_SHA256=$(fetch_arch "$OCTANT_VER" "AppImage")
OCTANT_DESKTOP_DARWIN_X64_SHA256=$(fetch_arch "$OCTANT_VER" "dmg")
sed -i "s/version = \".*\"/version = \"$OCTANT_VER\"/" "$NIX_DRV"
replace_sha "x86_64-linux" "$OCTANT_DESKTOP_LINUX_X64_SHA256"
replace_sha "x86_64-darwin" "$OCTANT_DESKTOP_DARWIN_X64_SHA256"

View file

@ -0,0 +1,40 @@
#!/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_LINUX_AARCH64_SHA256=$(fetch_arch "$OCTANT_VER" "Linux-arm64")
OCTANT_DARWIN_X64_SHA256=$(fetch_arch "$OCTANT_VER" "macOS-64bit")
OCTANT_DARWIN_AARCH64_SHA256=$(fetch_arch "$OCTANT_VER" "macOS-arm64")
sed -i "s/version = \".*\"/version = \"$OCTANT_VER\"/" "$NIX_DRV"
replace_sha "x86_64-linux" "$OCTANT_LINUX_X64_SHA256"
replace_sha "aarch64-linux" "$OCTANT_LINUX_AARCH64_SHA256"
replace_sha "x86_64-darwin" "$OCTANT_DARWIN_X64_SHA256"
replace_sha "aarch64-darwin" "$OCTANT_DARWIN_AARCH64_SHA256"