about summary refs log tree commit diff
path: root/pkgs/applications/video/kodi-packages/addon-update-script/default.nix
blob: 17c1d45783fa0ead5d6e83fedb636f817ad8056d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{ writeShellScript
, nix
, curl
, gzip
, xmlstarlet
, common-updater-scripts
}:

{ attrPath }:

let
  url = "http://mirrors.kodi.tv/addons/matrix/addons.xml.gz";
  updateScript = writeShellScript "update.sh" ''
    set -ex

    attrPath=$1
    namespace=$(${nix}/bin/nix-instantiate $systemArg --eval -E "with import ./. {}; $attrPath.namespace" | tr -d '"')
    version=$(${curl}/bin/curl -s -L ${url} | ${gzip}/bin/gunzip -c | ${xmlstarlet}/bin/xml select -T -t -m "//addons/addon[@id='$namespace']" -v @version)

    ${common-updater-scripts}/bin/update-source-version "$attrPath" "$version"
  '';
in
  [ updateScript attrPath ]