about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorh7x4 <h7x4@nani.wtf>2024-06-20 12:27:10 +0200
committerGitHub <noreply@github.com>2024-06-20 12:27:10 +0200
commitd34459eae5159894ef07d62e7e043944391d1364 (patch)
treedce3569279406c85769c57766742ebe5d2bb7df7 /pkgs
parente5aa50d7333b9a872c7a77937bc69144c6a209f8 (diff)
parent38649d653654c95c608943bb95ac56ba3a28a29a (diff)
Merge pull request #316731 from d4rkstar/master
nuv: init at 3.0.1-beta.2405292059
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/by-name/nu/nuv/package.nix75
-rw-r--r--pkgs/by-name/nu/nuv/tests.nix17
2 files changed, 92 insertions, 0 deletions
diff --git a/pkgs/by-name/nu/nuv/package.nix b/pkgs/by-name/nu/nuv/package.nix
new file mode 100644
index 0000000000000..30ca0bfecfee4
--- /dev/null
+++ b/pkgs/by-name/nu/nuv/package.nix
@@ -0,0 +1,75 @@
+{ lib
+, stdenv
+, symlinkJoin
+, callPackage
+, fetchFromGitHub
+, fetchurl
+, buildGoModule
+, makeWrapper
+, breakpointHook
+, jq
+, curl
+, kubectl
+, eksctl
+, kind
+, k3sup
+, coreutils
+}:
+
+let
+  branch = "3.0.0";
+  version = "3.0.1-beta.2405292059";
+  pname = "nuv";
+in
+buildGoModule {
+  inherit pname version;
+
+  src = fetchFromGitHub {
+    owner = "nuvolaris";
+    repo = "nuv";
+    rev = version;
+    hash = "sha256-MdnBvlA4S2Mi/bcbE+O02x+wvlIrsK1Zc0dySz4FB/w=";
+  };
+
+  subPackages = [ "." ];
+  vendorHash = "sha256-JkQbQ2NEaumXbAfsv0fNiQf/EwMs3SDLHvu7c/bU7fU=";
+
+  nativeBuildInputs = [ makeWrapper jq curl breakpointHook ];
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X main.NuvVersion=${version}"
+    "-X main.NuvBranch=${branch}"
+  ];
+
+  # false because tests require some modifications inside nix-env
+  doCheck = false;
+
+  postInstall = let
+    nuv-bin = symlinkJoin {
+      name = "nuv-bin";
+      paths = [
+        coreutils
+        kubectl
+        eksctl
+        kind
+        k3sup
+      ];
+    };
+  in ''
+    wrapProgram $out/bin/nuv --set NUV_BIN "${nuv-bin}/bin"
+  '';
+
+  passthru.tests = {
+    simple = callPackage ./tests.nix { inherit version; };
+  };
+
+  meta = {
+    homepage = "https://nuvolaris.io/";
+    description = "A CLI tool for running tasks using the Nuvolaris serverless engine";
+    license = lib.licenses.asl20;
+    mainProgram = "nuv";
+    maintainers = with lib.maintainers; [ msciabarra d4rkstar ];
+  };
+}
diff --git a/pkgs/by-name/nu/nuv/tests.nix b/pkgs/by-name/nu/nuv/tests.nix
new file mode 100644
index 0000000000000..4e531728e8ff4
--- /dev/null
+++ b/pkgs/by-name/nu/nuv/tests.nix
@@ -0,0 +1,17 @@
+{ runCommand, nuv, version }:
+
+runCommand "nuv-test-run"
+{
+  nativeBuildInputs = [ nuv ];
+} ''
+  export TMP_BASE=$(mktemp -d /tmp/.nuv-XXXXX)
+  export HOME=$TMP_BASE
+  export NUV_REPO=""
+  export NUV_ROOT=$TMP_BASE/.nuv/3.0.0/olaris
+  rm -rf $TMP_BASE/.nuv && \
+    mkdir -p $TMP_BASE/.nuv/3.0.0/olaris && \
+    mkdir $TMP_BASE/.nuv/tmp
+  V=$(nuv -version 2>/dev/null)
+  diff -U3 --color=auto <(echo "$V") <(echo "${version}")
+  touch $out
+''