My personal project and infrastructure archive
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
nomicon/pkgs/development/libraries/audio/libopenmpt/update.sh

31 lines
1.2 KiB

#!/usr/bin/env nix-shell
#!nix-shell -i bash -p common-updater-scripts curl xmlstarlet
attr=libopenmpt
set -eu -o pipefail
# Get update notifications, remove updates for libopenmpt-modplug, find latest eligible & extract versions
versions="$(
curl -s 'https://lib.openmpt.org/libopenmpt/feed.xml' |
xmlstarlet sel -N atom="http://www.w3.org/2005/Atom" -t -m /atom:feed/atom:entry -v atom:title -n |
grep -v 'libopenmpt-modplug' | head -n1 |
grep -Eo '([0-9][^,\s]+)' | tr '\n' ' '
)"
echo "Latest $attr versions: $versions"
# Find a version that is > current version and not a rc
# rc's have different download path and a full release will usually follow shortly
currentVersion="$(nix-instantiate --eval -E "with import ./. {}; $attr.version" | tr -d '"')"
echo "Current $attr version: $currentVersion"
for version in $versions; do
(echo "$version" | grep -q 'rc') && continue
[ "$version" = "$(printf '%s\n%s' "$version" "$currentVersion" | sort -V | head -n1)" ] && continue
echo "Updating to $version. Please check if other versions qualify for backport to stable!"
update-source-version "$attr" "$version"
exit 0
done
echo "No version eligible for bump."
exit 0