Serve from /srv/tarballz on CT148 via a 'location /tarballz/' alias, NOT from under /var/www/asger: the asger-web deploy swaps that whole directory atomically, so tarballs kept inside it would be deleted on the next site deploy. CT148's rootfs was 3G with 2.7G free - one tarball would have filled it - so it is grown to 15G; speedy's thin pool has room even though vgs reports the VG nearly full. Publishing uploads to a .part name and renames on arrival so a download can never see a truncated file, verifies sha256 on the host, then fetches the public URL and checks it against the sha256 baked into the PKGBUILD. Both checks run before the AUR push, so the package cannot go out pointing at a missing file. Old tarballs are pruned to the newest three. GH_TOKEN is kept but demoted to an optional GITHUB_PAT for R module downloads; it no longer has anything to do with publishing.
59 lines
2.3 KiB
Plaintext
59 lines
2.3 KiB
Plaintext
# Maintainer: @MAINTAINER@
|
|
#
|
|
# PROVENANCE OF THE BINARY
|
|
#
|
|
# Upstream JASP publishes installers for Windows and macOS only; the official
|
|
# Linux channel is Flathub. The binary this package installs is therefore NOT an
|
|
# upstream release artifact. It is compiled from the tagged JASP sources
|
|
# (@JASP_TAG@, commit @JASP_COMMIT@) against an Arch Linux userland, in an
|
|
# archlinux:base-devel container, by an automated pipeline:
|
|
#
|
|
# build recipe: https://gitea.weircon.dk/agw/jasp-desktop-bin
|
|
# download: @DOWNLOAD_URL@
|
|
#
|
|
# It bundles its own R @BUNDLED_R@ and the non-system libraries it links against
|
|
# under /opt/jasp-desktop, so it does not constrain the versions of anything on
|
|
# your system. Built against Qt @QT_MINOR@.
|
|
|
|
pkgname=jasp-desktop-bin
|
|
pkgver=@JASP_VERSION@
|
|
pkgrel=@PKGREL@
|
|
pkgdesc="JASP Desktop - a fresh way to do statistics (prebuilt binary)"
|
|
arch=('x86_64')
|
|
url="https://jasp-stats.org/"
|
|
license=('AGPL-3.0-or-later')
|
|
|
|
provides=("jasp-desktop=${pkgver}")
|
|
conflicts=('jasp-desktop')
|
|
|
|
# This package ships its own R @BUNDLED_R@ plus the non-system libraries it and
|
|
# the JASP R modules link against (ICU, jsoncpp, glpk, JAGS, readstat, librdata,
|
|
# BLAS/LAPACK ...) under /opt/jasp-desktop/lib, with rpath pointing there.
|
|
#
|
|
# That is deliberate, and it is why nothing below is version-pinned: on a rolling
|
|
# distro a pin like 'icu<79' would make pacman refuse to upgrade ICU while JASP
|
|
# is installed, blocking the user's entire system upgrade. Bundling means JASP
|
|
# never constrains the system.
|
|
#
|
|
# Qt6 is the exception and stays a system dependency: Qt guarantees binary
|
|
# compatibility across Qt 6 minor releases, and bundling QtWebEngine would add
|
|
# ~500 MB for no real gain. A Qt 7 transition will need a rebuild.
|
|
depends=(
|
|
'qt6-base' 'qt6-declarative' 'qt6-svg' 'qt6-positioning' 'qt6-webchannel'
|
|
'qt6-webengine' 'qt6-5compat' 'qt6-httpserver'
|
|
'fontconfig' 'freetype2' 'libxkbcommon' 'hicolor-icon-theme'
|
|
)
|
|
|
|
# The tarball is a complete /opt + /usr install tree. Stripping would be slow and
|
|
# is a good way to break a bundled R plus several hundred compiled R modules;
|
|
# the rpath set at build time must also survive untouched.
|
|
options=('!strip' '!debug')
|
|
|
|
source=("jasp-desktop-${pkgver}-${pkgrel}-x86_64.tar.zst::@DOWNLOAD_URL@")
|
|
sha256sums=('@SHA256@')
|
|
|
|
package() {
|
|
cp -a "${srcdir}/opt" "${pkgdir}/opt"
|
|
cp -a "${srcdir}/usr" "${pkgdir}/usr"
|
|
}
|