mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-11 00:11:05 +00:00
## Summary
Transfers verified improvements and reviewer feedback from the FlatPark
package review to ArtCraft's first-party Flatpak build:
- **Data Persistence:** Adds `--persist=Artcraft` to `finish-args` in
`flatpak.yml` so user settings, credentials, provider tokens, and local
task SQLite queue stored in `~/Artcraft` persist in
`~/.var/app/ai.artcraft.app/Artcraft` across launches instead of being
discarded on exit.
- **Accelerated Rendering:** Adds `artcraft-wrapper` setting
`WEBKIT_DISABLE_DMABUF_RENDERER="${WEBKIT_DISABLE_DMABUF_RENDERER:-0}"`
and
`WEBKIT_DISABLE_COMPOSITING_MODE="${WEBKIT_DISABLE_COMPOSITING_MODE:-0}"`.
Keeping WebKitGTK's accelerated rendering path enabled prevents
rendering glitches on `org.gnome.Platform//51` while preserving user
override capability.
- **Dependency Checking:** Updates the Flatpak build runtime
verification to inspect the real binary (`/app/bin/artcraft.real`).
- **Enriched AppStream Metainfo:** Updates
`ai.artcraft.app.metainfo.xml` with CC0-1.0 metadata license,
bugtracker/vcs-browser/contact URLs, bulleted feature description,
search keywords, branding colors, hardware display requirements, input
controls, and OARS-1.1 content rating.
## Verification
- `actionlint .github/workflows/*.yml` passed.
- `shellcheck packaging/linux/*.sh packaging/linux/artcraft-wrapper`
passed.
- `xmllint --noout packaging/linux/ai.artcraft.app.metainfo.xml` passed.
- `appstreamcli validate packaging/linux/ai.artcraft.app.metainfo.xml`
passed with 0 errors and 0 info notices.
33 lines
1.0 KiB
YAML
33 lines
1.0 KiB
YAML
app-id: ai.artcraft.app
|
|
runtime: org.gnome.Platform
|
|
runtime-version: '51'
|
|
sdk: org.gnome.Sdk
|
|
command: artcraft
|
|
finish-args:
|
|
- --socket=wayland
|
|
- --socket=fallback-x11
|
|
- --socket=pulseaudio
|
|
- --share=ipc
|
|
- --share=network
|
|
- --device=dri
|
|
- --filesystem=xdg-pictures
|
|
- --filesystem=xdg-videos
|
|
- --filesystem=xdg-download
|
|
# The app hardcodes its data to ~/Artcraft (settings, credentials, state).
|
|
# Persist it under ~/.var/app/ai.artcraft.app/Artcraft so data survives exits.
|
|
- --persist=Artcraft
|
|
modules:
|
|
- name: artcraft
|
|
buildsystem: simple
|
|
build-commands:
|
|
- cp -a . /app/
|
|
- install -Dm644 /app/share/icons/hicolor/128x128/apps/artcraft.png /app/share/icons/hicolor/128x128/apps/ai.artcraft.app.png
|
|
- sed -i 's/^Icon=.*/Icon=ai.artcraft.app/' /app/share/applications/ai.artcraft.app.desktop
|
|
- mv /app/bin/artcraft /app/bin/artcraft.real
|
|
- install -Dm755 artcraft-wrapper /app/bin/artcraft
|
|
sources:
|
|
- type: dir
|
|
path: stage
|
|
- type: file
|
|
path: artcraft-wrapper
|