Skip to content

feat: empaquetado AppImage AnyLinux (sharun, portable total) - #84

Merged
javiercplus merged 1 commit into
Trinity-LA:mainfrom
SrDicov:feat/anylinux-appimage-oficial
Sep 12, 2026
Merged

javiercplus merged 1 commit into
Trinity-LA:mainfrom
SrDicov:feat/anylinux-appimage-oficial

Conversation

@SrDicov

@SrDicov SrDicov commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

Que trae

Nuevo metodo de empaquetado AppImage siguiendo las directrices de Anylinux-AppImages: build en Arch Linux, deploy con quick-sharun/sharun (glibc y ld-linux propios, DwarFS + uruntime), paquetes mesa debloated y test de arranque con xvfb.

El AppImage resultante corre en cualquier distro, musl y NixOS sin FHS-wrapper, con auto-update (zsync) y los mismos nombres de archivo (Trinity_Launcher-x86_64/aarch64.AppImage).

Archivos (3 nuevos, nada mas)

  • trinity-appimage.sh: receta autocontenida. Compila engine (via secrets.MCPE_NX, sin GUI, SDL3) + tapk-extract (Zig) + Trinity, instala todo en /usr y empaqueta con quick-sharun. Incluye datos linux-bin, sidecar 32-bit aislado en lib32/ (sin mezclar con los .so de 64-bit) y reintentos anti-429 para HuggingFace.
  • .github/workflows/anylinux-appimage.yml: matrix x86_64 + aarch64 en ghcr.io/pkgforge-dev/archlinux:latest, publica en latest.
  • patches/libc-shim-fcntl-getlk.patch: el script lo aplica al engine tras clonarlo. El shim solo implementaba SETLK(6) y el libsqliteX del juego sondea F_GETLK(5) al iniciar -> runtime_error -> SIGABRT. El parche suma GETLK(5)/SETLKW(7). Sin esto el juego no arranca (verificado en 26.33 y 26.45.1 x86_64).

Notas

  • Los workflows linuxdeploy existentes quedan intactos.
  • Reglas AnyLinux respetadas: compilar solo en Arch, app instalada en /usr antes del deploy, ningun .so copiado a mano, sin LD_LIBRARY_PATH.
  • Probado en CI (build + test de arranque en ambas arquitecturas) y en escritorio real.

Sustituye Ubuntu+linuxdeploy por el flujo certificado de
Anylinux-AppImages: build en Arch, deploy con quick-sharun (glibc y
ld-linux propios, DwarFS + uruntime), paquetes mesa debloated y test
con xvfb. El AppImage resultante corre en cualquier distro, musl y
NixOS sin FHS-wrapper.

- trinity-appimage.sh: receta autocontenida (engine via secrets.MCPE_NX,
  tapk-extract, Trinity; install en /usr; deploy; datos linux-bin;
  sidecar 32-bit aislado en lib32/; make-appimage + test). Aplica
  patches/libc-shim-fcntl-getlk.patch al engine tras clonarlo.
- .github/workflows/anylinux-appimage.yml: matrix x86_64 + aarch64 en
  ghcr.io/pkgforge-dev/archlinux:latest, publica en latest.
- patches/libc-shim-fcntl-getlk.patch: el shim necesita fcntl
  GETLK(5)/SETLKW(7) porque el libsqliteX del juego los sondea al
  iniciar (si no: SIGABRT).

Los workflows linuxdeploy existentes quedan intactos.

@javiercplus javiercplus left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aprobado por chayane

@javiercplus
javiercplus merged commit ce3d8bf into Trinity-LA:main Sep 12, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants