RedFlag/installer/windows/provision-msitools.sh
Fimeg 765ec4188f publish: carry the Windows product into the projection
The tree adds the installer, service and test paths admitted by this source commit. Nothing else changes about what may cross.

Source-Sha: 3e4a3aa4ce092e9e3f51bc78daf3ddc14d9638f8

Policy-Sha: 3e4a3aa4ce092e9e3f51bc78daf3ddc14d9638f8

Tree-Digest: 89d6fce3828a0e0de0c8eeb41ee6750f4462217e2a04b5190297134d7f4a50c3
2026-09-09 12:47:34 -04:00

30 lines
1.6 KiB
Shell

#!/usr/bin/env bash
# CI-only tool bootstrap shared by release and custody proof. wixl 0.101
# silently omits the Server UI tables; 0.106 implements the required grammar.
set -euo pipefail
[ "$#" -eq 1 ] || { echo "usage: $0 <empty-install-prefix>" >&2; exit 2; }
PREFIX=$(realpath -m "$1")
[ ! -e "$PREFIX" ] || { echo "tool prefix already exists: $PREFIX" >&2; exit 2; }
WORK=$(mktemp -d)
sudo apt-get update -qq
sudo apt-get install -y -qq build-essential valac bison gettext ninja-build \
libglib2.0-dev libgsf-1-dev libgcab-dev libxml2-dev gobject-introspection \
python3-venv curl jq
curl --fail --location --retry 3 \
https://download.gnome.org/sources/msitools/0.106/msitools-0.106.tar.xz \
-o "$WORK/msitools.tar.xz"
echo "1ed34279cf8080f14f1b8f10e649474125492a089912e7ca70e59dfa2e5a659b $WORK/msitools.tar.xz" | sha256sum -c -
curl --fail --location --retry 3 \
https://files.pythonhosted.org/packages/55/a6/47b9353c331318a13eb050887eacfd61eb075746285f9baf7ef7de6ae235/meson-1.5.2-py3-none-any.whl \
-o "$WORK/meson-1.5.2-py3-none-any.whl"
echo "77706e2368a00d789c097632ccf4fc39251fba56d03e1e1b262559a3c7a08f5b $WORK/meson-1.5.2-py3-none-any.whl" | sha256sum -c -
python3 -m venv "$WORK/venv"
"$WORK/venv/bin/pip" install --no-index --no-deps "$WORK/meson-1.5.2-py3-none-any.whl"
tar -xJf "$WORK/msitools.tar.xz" -C "$WORK"
"$WORK/venv/bin/meson" setup "$WORK/build" "$WORK/msitools-0.106" \
--prefix="$PREFIX" --libdir=lib
"$WORK/venv/bin/meson" compile -C "$WORK/build"
"$WORK/venv/bin/meson" install -C "$WORK/build"
LD_LIBRARY_PATH="$PREFIX/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" "$PREFIX/bin/wixl" --version