Create auto-updater
This commit is contained in:
+37
@@ -0,0 +1,37 @@
|
||||
{
|
||||
writeShellApplication,
|
||||
gnugrep,
|
||||
nix-prefetch,
|
||||
subversion,
|
||||
}:
|
||||
writeShellApplication {
|
||||
name = "sword-updater";
|
||||
runtimeInputs = [
|
||||
gnugrep
|
||||
nix-prefetch
|
||||
subversion
|
||||
];
|
||||
|
||||
text = ''
|
||||
url="https://www.crosswire.org/svn/sword/trunk"
|
||||
old_rev="$(grep "${./flake.nix}" -e "rev = " | sed -E -e 's/.*"(.*)".*/\1/')"
|
||||
echo "OLD_REV=$old_rev"
|
||||
new_rev="$(svn info "$url" --show-item revision)"
|
||||
echo "NEW_REV=$new_rev"
|
||||
if [ "$new_rev" == "$old_rev" ]; then
|
||||
#exit 0
|
||||
else
|
||||
echo "DO_UPDATE=1"
|
||||
fi
|
||||
hash="$(nix-prefetch \
|
||||
--check-store \
|
||||
--option extra-experimental-features flakes \
|
||||
fetchsvn \
|
||||
--url "$url" \
|
||||
--rev "$new_rev" \
|
||||
)"
|
||||
echo "HASH=$hash"
|
||||
sed -i flake.nix \
|
||||
-e "s/rev = \"$old_rev\"/rev = \"$new_rev\"/"
|
||||
'';
|
||||
}
|
||||
Reference in New Issue
Block a user