Unverified Commit e8e22b2a authored by Weijia Wang's avatar Weijia Wang Committed by GitHub
Browse files

timoni: move to by-name (#427979)

parents 0918e192 ef8e51ef
Loading
Loading
Loading
Loading
+0 −45
Original line number Diff line number Diff line
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl gnused nix jq
set -euo pipefail

PKG_DIR=$(dirname "${BASH_SOURCE[@]}")
FILE="$PKG_DIR/default.nix"
NIXPKGS_ROOT=$(cd $PKG_DIR && git rev-parse --show-toplevel)
ATTR="timoni"

PREV_VERSION=$(nix eval --raw -f $NIXPKGS_ROOT/default.nix $ATTR.version)
LATEST_TAG=$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} --silent https://api.github.com/repos/stefanprodan/timoni/releases/latest | jq -r '.tag_name')
NEXT_VERSION=$(echo ${LATEST_TAG} | sed 's/^v//')

# update version
sed -i "s|$PREV_VERSION|$NEXT_VERSION|" "$FILE"

# update hash
PREV_HASH=$(nix eval --raw -f $NIXPKGS_ROOT/default.nix $ATTR.src.outputHash)
NEXT_HASH=$(nix --extra-experimental-features nix-command hash to-sri --type sha256 $(nix-prefetch-url --unpack --type sha256 $(nix eval --raw -f $NIXPKGS_ROOT/default.nix $ATTR.src.url)))
sed -i "s|$PREV_HASH|$NEXT_HASH|" "$FILE"

# update vendor hash
PREV_VENDOR_HASH=$(nix eval --raw -f $NIXPKGS_ROOT/default.nix $ATTR.vendorHash)
EMPTY_HASH="sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
sed -i "s|$PREV_VENDOR_HASH|$EMPTY_HASH|" "$FILE"

set +e
NEXT_VENDOR_HASH=$(nix-build $NIXPKGS_ROOT --no-out-link -A $ATTR 2>&1 | grep "got:" | cut -d':' -f2 | sed 's| ||g')
set -e

if [ -z "${NEXT_VENDOR_HASH:-}" ]; then
    echo "Update failed. NEXT_VENDOR_HASH is empty." >&2
    exit 1
fi

sed -i "s|$EMPTY_HASH|$NEXT_VENDOR_HASH|" "$FILE"

cat <<EOF
[{
    "attrPath": "$ATTR",
    "oldVersion": "$PREV_VERSION",
    "newVersion": "$NEXT_VERSION",
    "files": ["$PWD/default.nix.nix"]
}]
EOF
+20 −11
Original line number Diff line number Diff line
@@ -3,16 +3,18 @@
  buildGoModule,
  fetchFromGitHub,
  installShellFiles,
  versionCheckHook,
  nix-update-script,
}:

buildGoModule rec {
buildGoModule (finalAttrs: {
  pname = "timoni";
  version = "0.25.1";

  src = fetchFromGitHub {
    owner = "stefanprodan";
    repo = "timoni";
    rev = "v${version}";
    tag = "v${finalAttrs.version}";
    hash = "sha256-iTVTlxMCLHTXQj3I+nDHhE5w4fDaaM7p52wuvZY2uy4=";
  };

@@ -24,12 +26,9 @@ buildGoModule rec {
  # Some tests require running Kubernetes instance
  doCheck = false;

  passthru.updateScript = ./update.sh;

  ldflags = [
    "-s"
    "-w"
    "-X main.VERSION=${version}"
    "-X main.VERSION=${finalAttrs.version}"
  ];

  postInstall = ''
@@ -39,12 +38,22 @@ buildGoModule rec {
    --zsh <($out/bin/timoni completion zsh)
  '';

  meta = with lib; {
  nativeInstallCheckInputs = [
    versionCheckHook
  ];
  versionCheckProgramArg = "--version";
  doInstallCheck = true;

  passthru = {
    updateScript = nix-update-script { };
  };

  meta = {
    homepage = "https://timoni.sh";
    changelog = "https://github.com/stefanprodan/timoni/releases/tag/${src.rev}";
    changelog = "https://github.com/stefanprodan/timoni/releases/tag/v${finalAttrs.version}";
    description = "Package manager for Kubernetes, powered by CUE and inspired by Helm";
    mainProgram = "timoni";
    license = licenses.asl20;
    maintainers = with maintainers; [ votava ];
    license = lib.licenses.asl20;
    maintainers = with lib.maintainers; [ votava ];
  };
}
})
+0 −2
Original line number Diff line number Diff line
@@ -12890,8 +12890,6 @@ with pkgs;

  kup = libsForQt5.callPackage ../applications/misc/kup { };

  timoni = callPackage ../applications/networking/cluster/timoni { };

  kvirc = libsForQt5.callPackage ../applications/networking/irc/kvirc { };

  ladspaH = callPackage ../applications/audio/ladspa-sdk/ladspah.nix { };