Arch ships R 4.6.1, but JASP pins its R packages against a frozen CRAN snapshot (2026-03-31 for 0.98.1) that targets R 4.5. Configuring against Arch's R fails at Rcpp 1.1.1, which cannot compile on R 4.6 since R_NamespaceRegistry was removed; the Rcpp release that fixes it is newer than the pinned snapshot, so the lockfile cannot reach it either. Build R 4.5.3 into /opt/jasp-desktop/R and point R_HOME at it, matching what upstream CI does. This drops 'r' from depends entirely, so an Arch R upgrade can no longer break an installed JASP, and the rebuild triggers become Qt6 and ICU - the libraries actually still linked against.
47 lines
1.3 KiB
Bash
Executable File
47 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
# Commit state.json back to this repo so the next scheduled run knows what was
|
|
# already built. Without this the daily check would rebuild every night.
|
|
#
|
|
# STATE_PUSH_TOKEN token with write access to this repo (required)
|
|
|
|
set -euo pipefail
|
|
|
|
: "${STATE_PUSH_TOKEN:?STATE_PUSH_TOKEN is required}"
|
|
|
|
python3 - <<'PY'
|
|
import json
|
|
|
|
meta = json.load(open("release-meta.json"))
|
|
state = {
|
|
"jasp_tag": meta["jasp_tag"],
|
|
"jasp_version": meta["jasp_version"],
|
|
"pkgrel": meta["pkgrel"],
|
|
"bundled_r_version": meta["bundled_r_version"],
|
|
"qt6_minor": meta["qt6_minor"],
|
|
"icu_major": meta["icu_major"],
|
|
"sha256": meta["sha256"],
|
|
"download_url": meta["download_url"],
|
|
}
|
|
with open("state.json", "w") as fh:
|
|
json.dump(state, fh, indent=2)
|
|
fh.write("\n")
|
|
print(json.dumps(state, indent=2))
|
|
PY
|
|
|
|
if git diff --quiet -- state.json; then
|
|
echo ":: state.json unchanged"
|
|
exit 0
|
|
fi
|
|
|
|
git config user.name "jasp-bin autobuilder"
|
|
git config user.email "noreply@weircon.dk"
|
|
git add state.json
|
|
git commit -m "Record build of ${GITHUB_REF_NAME:-build}: $(python3 -c 'import json;print(json.load(open("state.json"))["jasp_version"])')"
|
|
|
|
origin="$(git remote get-url origin)"
|
|
host_path="${origin#*://}"
|
|
host_path="${host_path#*@}"
|
|
git push "https://x-access-token:${STATE_PUSH_TOKEN}@${host_path}" HEAD:"${GITHUB_REF_NAME:-master}"
|
|
|
|
echo ":: state recorded"
|