about summary refs log tree commit diff
path: root/pkgs/servers
diff options
context:
space:
mode:
authorLeo Maroni <git@em0lar.de>2021-06-26 21:56:45 +0200
committerYuka <yuka@yuka.dev>2021-07-08 22:17:57 +0200
commit0bef1bb91fee138649b26e46cb2c55da2ad47bf3 (patch)
tree9b80f4f16c15f756b9f3d7acd6db4d2431288112 /pkgs/servers
parent3338d28040658e13ffec5255c24fe134472f72b5 (diff)
vikunja-api: init at 0.17.1
vikunja-api: use mage in build (thanks to @jtojnar)
Diffstat (limited to 'pkgs/servers')
-rw-r--r--pkgs/servers/web-apps/vikunja/api.nix55
1 files changed, 55 insertions, 0 deletions
diff --git a/pkgs/servers/web-apps/vikunja/api.nix b/pkgs/servers/web-apps/vikunja/api.nix
new file mode 100644
index 0000000000000..4cc9d634b3c22
--- /dev/null
+++ b/pkgs/servers/web-apps/vikunja/api.nix
@@ -0,0 +1,55 @@
+{ lib, buildGoModule, fetchFromGitea, mage, writeShellScriptBin }:
+
+buildGoModule rec {
+  pname = "vikunja-api";
+  version = "0.17.1";
+
+  src = fetchFromGitea {
+    domain = "kolaente.dev";
+    owner = "vikunja";
+    repo = "api";
+    rev = "v${version}";
+    sha256 = "sha256-xqC7MaPe5cClMUTSRE3HLTEH3LH1J1bJSdH+1ZOfGo4=";
+  };
+
+  nativeBuildInputs =
+      let
+        fakeGit = writeShellScriptBin "git" ''
+          if [[ $@ = "describe --tags --always --abbrev=10" ]]; then
+              echo "${version}"
+          else
+              >&2 echo "Unknown command: $@"
+              exit 1
+          fi
+        '';
+      in [ fakeGit mage ];
+
+  vendorSha256 = "sha256-/vXyZznGxj5hxwqi4sttBBkEoS25DJqwoBtADCRO9Qc=";
+
+  # checks need to be disabled because of needed internet for some checks
+  doCheck = false;
+
+  buildPhase = ''
+    runHook preBuild
+
+    # Fixes "mkdir /homeless-shelter: permission denied" - "Error: error compiling magefiles" during build
+    export HOME=$(mktemp -d)
+    mage build:build
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install -Dt $out/bin vikunja
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "API of the Vikunja to-do list app";
+    homepage = "https://vikunja.io/";
+    license = lib.licenses.agpl3Plus;
+    maintainers = with lib.maintainers; [ em0lar ];
+    platforms = lib.platforms.all;
+  };
+}