mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-30 10:53:11 +00:00
55 lines
1.4 KiB
Bash
Executable File
55 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env nix-shell
|
|
#!nix-shell -i bash -p coreutils curl gawk gnused nix-prefetch
|
|
|
|
set -euo pipefail
|
|
|
|
ROOT="$(dirname "$(readlink -f "$0")")"
|
|
DRV_BASE=package.nix
|
|
NIX_DRV="$ROOT/$DRV_BASE"
|
|
if [[ ! -f "$NIX_DRV" ]]; then
|
|
echo "ERROR: cannot find $DRV_BASE in $ROOT"
|
|
exit 1
|
|
fi
|
|
|
|
function retrieve_latest_version () {
|
|
curl https://www.yourkit.com/java/profiler/download/ \
|
|
| grep -Eo '(Version|Build): ([a-z0-9#.-])+' \
|
|
| awk '{ print $2 }' \
|
|
| tr -d '\n' \
|
|
| sed 's/#/-b/'
|
|
}
|
|
|
|
function calc_hash () {
|
|
local version=$1
|
|
local url=$2
|
|
nix-prefetch --option extra-experimental-features flakes \
|
|
"{ stdenv, fetchzip }:
|
|
stdenv.mkDerivation {
|
|
pname = \"yourkit-java-binary\";
|
|
version = \"$version\";
|
|
src = fetchzip {
|
|
url = \"$url\";
|
|
};
|
|
}"
|
|
}
|
|
|
|
function update_hash () {
|
|
local arch=$1
|
|
local version=$2
|
|
local date=$(echo $version | sed 's/-.*//')
|
|
local url=https://download.yourkit.com/yjp/$date/YourKit-JavaProfiler-$version-$arch.zip
|
|
local hash=$(calc_hash $version $url)
|
|
sed -i -e "s|^.*$arch.*=.*\"sha256-.*$| $arch = \"$hash\";|" $NIX_DRV
|
|
}
|
|
|
|
version=$(retrieve_latest_version)
|
|
sed -i -e "s|^.*version.*=.*\".*$| version = \"$version\";|" $NIX_DRV
|
|
for arch in arm64 x64; do
|
|
update_hash $arch $version
|
|
done
|
|
|
|
# Local variables:
|
|
# mode: shell-script
|
|
# eval: (sh-set-shell "bash")
|
|
# End:
|