38 lines
832 B
Nix
38 lines
832 B
Nix
{
|
|||
|
|
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\"/"
|
||
|
|
'';
|
||
|
|
}
|