about summary refs log tree commit diff
path: root/pkgs/applications/misc/collision/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/misc/collision/default.nix')
-rw-r--r--pkgs/applications/misc/collision/default.nix17
1 files changed, 17 insertions, 0 deletions
diff --git a/pkgs/applications/misc/collision/default.nix b/pkgs/applications/misc/collision/default.nix
index f550e48ba954d..45185a39697c4 100644
--- a/pkgs/applications/misc/collision/default.nix
+++ b/pkgs/applications/misc/collision/default.nix
@@ -10,6 +10,11 @@
 , openssl
 , libxml2
 , pkg-config
+, gitUpdater
+, _experimental-update-script-combinators
+, runCommand
+, crystal2nix
+, writeShellScript
 }:
 crystal.buildCrystalPackage rec {
   pname = "Collision";
@@ -40,6 +45,18 @@ crystal.buildCrystalPackage rec {
 
   installTargets = ["desktop" "install"];
 
+  passthru = {
+    updateScript = _experimental-update-script-combinators.sequence [
+      (gitUpdater { rev-prefix = "v"; })
+      (_experimental-update-script-combinators.copyAttrOutputToFile "collision.shardLock" ./shard.lock)
+      { command = [ (writeShellScript "update-lock" "cd $1; ${lib.getExe crystal2nix}") ./. ]; supportedFeatures = [ "silent" ]; }
+      { command = [ "rm" ./shard.lock ]; supportedFeatures = [ "silent" ]; }
+    ];
+    shardLock = runCommand "shard.lock" { inherit src; } ''
+      cp $src/shard.lock $out
+    '';
+  };
+
   meta = with lib; {
     description = "Check hashes for your files";
     homepage = "https://github.com/GeopJr/Collision";