Add schist-bin, the Schist image editor, to the fast ring (#293)
Schist is a layered image editor with PSD, Affinity and camera raw support, developed by Infrawrench and packaged by its upstream author. The package re-wraps the pacman-format payloads Schist's release workflow publishes for x86_64 and aarch64, so the builder does no compiling, and both assets are pinned by SHA-256. Releases are tracked declaratively through the GitHub upstream provider, which gains a "digests": true mode here: a vendor that publishes no checksum manifest can have each asset's SHA-256 read from the digest GitHub's release API reports, so the sync never downloads the artifacts. Exactly one of "checksums" or "digests" must be set, and the provider enforces that itself because scheduled runs reach it without the metadata validator. Fresh releases wait 24 hours before the scheduled sync picks them up, as mise-bin already does. vulkan-driver is an optional dependency rather than a hard one: makepkg -s would otherwise satisfy the virtual package with nvidia-utils in the build container, and Omarchy installs a Vulkan driver per machine. Co-authored-by: David Heinemeier Hansson <david@hey.com> Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
6 files changed
+208
-24
No files matched your search
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"source": "local",
|
||||
"release_ring": "fast",
|
||||
"min_release_age": "24h",
|
||||
"upstream": {
|
||||
"github": "Infrawrench/schist",
|
||||
"digests": true,
|
||||
"assets": {
|
||||
"x86_64": "schist-{pkgver}-1-x86_64.pkg.tar.zst",
|
||||
"aarch64": "schist-{pkgver}-1-aarch64.pkg.tar.zst"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
# Maintainer: Infrawrench LLC <astrid@infrawrench.com>
|
||||
pkgname=schist-bin
|
||||
pkgver=0.11.0
|
||||
pkgrel=1
|
||||
# Upstream's own package release, embedded in the asset name. It is
|
||||
# packages.sh's "release=" and only moves when the packaging changes under
|
||||
# a version that has already shipped; pkgrel above is this package's own.
|
||||
# The asset templates in .omarchy/package.json carry the same number.
|
||||
_relver=1
|
||||
pkgdesc="Layered image editor with PSD and Affinity support (binary release)"
|
||||
arch=(x86_64 aarch64)
|
||||
url="https://github.com/Infrawrench/schist"
|
||||
license=(MIT)
|
||||
# The list the payload's own .PKGINFO carries: fontconfig/wayland/
|
||||
# vulkan-icd-loader are dlopen'd, so namcap flags them "may not be needed"
|
||||
# — they are.
|
||||
depends=(fontconfig freetype2 hicolor-icon-theme libxcb libxkbcommon
|
||||
libxkbcommon-x11 vulkan-icd-loader wayland)
|
||||
# A Vulkan ICD is needed to draw, but as a hard dependency makepkg -s would
|
||||
# resolve it to nvidia-utils in the build container; Omarchy installs the right
|
||||
# driver per machine. libheif is dlopen'd; everything else opens without it.
|
||||
optdepends=('vulkan-driver: GPU rendering (any Vulkan ICD, vulkan-swrast in software)'
|
||||
'libheif: HEIC import')
|
||||
provides=(schist)
|
||||
conflicts=(schist)
|
||||
# The released binary ships byte-exact: it is already stripped by the
|
||||
# release workflow, and its build id is what Sentry symbolication matches.
|
||||
options=(!strip !debug)
|
||||
# The release asset is already a pacman-format payload, assembled by
|
||||
# packaging/linux/packages.sh from the CI build — this just re-wraps its
|
||||
# usr/ tree, so the dependency lists here have to stay in step with that
|
||||
# script.
|
||||
source_x86_64=("$url/releases/download/v$pkgver/schist-$pkgver-$_relver-x86_64.pkg.tar.zst")
|
||||
source_aarch64=("$url/releases/download/v$pkgver/schist-$pkgver-$_relver-aarch64.pkg.tar.zst")
|
||||
sha256sums_x86_64=('0fb0a13e579a9bd74880bf49dd69690cc6a5f830db3423f1e448fef516c1bc5f')
|
||||
sha256sums_aarch64=('1dedd50295ac251206dcc271ce59a918258975a7e87facde2dcee1b03fef265b')
|
||||
|
||||
package() {
|
||||
# makepkg has already extracted the payload into srcdir; its .PKGINFO
|
||||
# and .MTREE are upstream's and stay behind, only usr/ is packaged.
|
||||
cp -a "$srcdir/usr" "$pkgdir/"
|
||||
# The payload keeps the licence under the upstream pkgname.
|
||||
mv "$pkgdir/usr/share/licenses/schist" "$pkgdir/usr/share/licenses/$pkgname"
|
||||
}
|
||||
Reference in new issue
Block a user