diff options
author | José Romildo Malaquias <malaquias@gmail.com> | 2018-10-30 19:17:45 -0300 |
---|---|---|
committer | José Romildo Malaquias <malaquias@gmail.com> | 2018-11-10 12:27:38 -0200 |
commit | 287db0f9b97789606c63974487c6a5c2b7467ef4 (patch) | |
tree | c77630dba006f14a89219abc29ac4e5054e475a8 /pkgs/desktops/deepin/update.nix | |
parent | d0df66ea60cf8a9543db6d393b38f2d9ec667097 (diff) | |
download | nixpkgs-287db0f9b97789606c63974487c6a5c2b7467ef4.tar nixpkgs-287db0f9b97789606c63974487c6a5c2b7467ef4.tar.gz nixpkgs-287db0f9b97789606c63974487c6a5c2b7467ef4.tar.bz2 nixpkgs-287db0f9b97789606c63974487c6a5c2b7467ef4.tar.lz nixpkgs-287db0f9b97789606c63974487c6a5c2b7467ef4.tar.xz nixpkgs-287db0f9b97789606c63974487c6a5c2b7467ef4.tar.zst nixpkgs-287db0f9b97789606c63974487c6a5c2b7467ef4.zip |
deepin: add update script
Diffstat (limited to 'pkgs/desktops/deepin/update.nix')
-rw-r--r-- | pkgs/desktops/deepin/update.nix | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/pkgs/desktops/deepin/update.nix b/pkgs/desktops/deepin/update.nix new file mode 100644 index 00000000000..761ead015c6 --- /dev/null +++ b/pkgs/desktops/deepin/update.nix @@ -0,0 +1,37 @@ +{ lib, writeScript, coreutils, curl, gnugrep, gnused, jq, common-updater-scripts, nix }: +{ name, ignored-versions ? "^2014\\.|^v[0-9]+" }: + +let + nameAndVersion = builtins.parseDrvName name; + packageVersion = nameAndVersion.version; + packageName = nameAndVersion.name; + attrPath = "deepin.${packageName}"; +in + +writeScript "update-${packageName}" '' + set -o errexit + set -x + + # search for the latest version of the package on github + PATH=${lib.makeBinPath [ common-updater-scripts coreutils curl gnugrep gnused jq ]} + tags=$(curl -s https://api.github.com/repos/linuxdeepin/${packageName}/tags) + tags=$(echo "$tags" | jq -r '.[] | .name') + echo "# ${name}" >> git-commits.txt + echo "# available tags:" >> git-commits.txt + echo "$tags" | ${gnused}/bin/sed -e 's/^/# /' >> git-commits.txt + if [ -n "${ignored-versions}" ]; then + tags=$(echo "$tags" | grep -vE "${ignored-versions}") + fi + latest_tag=$(echo "$tags" | sort --version-sort | tail -1) + + # generate commands to commit the changes + if [ "${packageVersion}" != "$latest_tag" ]; then + pfile=$(EDITOR=echo ${nix}/bin/nix edit -f. ${attrPath}) + echo " git add $pfile " >> git-commits.txt + echo " git commit -m \"${attrPath}: ${packageVersion} -> $latest_tag\"" >> git-commits.txt + fi + + # update the nix expression + update-source-version "${attrPath}" "$latest_tag" + echo "" >> git-commits.txt +'' |