Add flatpak build plumbing
- io.github.bemagri.nomines.yml: builds libsigc++/glibmm/cairomm/pangomm/gtkmm from tarballs against the GNOME 46 runtime, then the app from the v1.0.0 tag - Icon: app-id-named PNGs (128/512) for flatpak export, svg kept for native installs; desktop file Icon updated - README/AGENTS.md: flatpak build instructions and version traps
This commit is contained in:
@@ -0,0 +1,112 @@
|
||||
# Flatpak manifest for NoMines.
|
||||
#
|
||||
# The GNOME runtime pins the exact gtk4/glib versions the gtkmm stack is
|
||||
# built against: 46 = gtk 4.14 + glib 2.80, matching gtkmm 4.14/glibmm 2.80.
|
||||
#
|
||||
# Build locally:
|
||||
# flatpak install -y flathub org.gnome.Platform//46 org.gnome.Sdk//46
|
||||
# flatpak-builder --user --install --force-clean build-flatpak io.github.bemagri.nomines.yml
|
||||
# flatpak run io.github.bemagri.nomines
|
||||
|
||||
app-id: io.github.bemagri.nomines
|
||||
runtime: org.gnome.Platform
|
||||
runtime-version: '46'
|
||||
sdk: org.gnome.Sdk
|
||||
command: nomines
|
||||
|
||||
# flatpak-builder's appstreamcli compose fetches the metainfo screenshot URL;
|
||||
# it 404s until the repo is published. Remove this line once the repo is
|
||||
# public (Flathub CI runs its own compose/validation anyway).
|
||||
appstream-compose: false
|
||||
|
||||
finish-args:
|
||||
- --share=ipc
|
||||
- --socket=fallback-x11
|
||||
- --socket=wayland
|
||||
- --device=dri
|
||||
# Leaderboard persistence (~/.config/nomines/leaderboard.ini)
|
||||
- --filesystem=xdg-config/nomines:create
|
||||
|
||||
build-options:
|
||||
no-debuginfo: true
|
||||
|
||||
cleanup:
|
||||
- /include
|
||||
- /lib/pkgconfig
|
||||
- /lib/cmake
|
||||
- /lib/girepository-1.0
|
||||
- /lib/*.a
|
||||
- /lib/*.la
|
||||
- /share/aclocal
|
||||
- /share/doc
|
||||
- /share/gir-1.0
|
||||
- /share/gtk-doc
|
||||
- /share/pkgconfig
|
||||
# flatpak's icon validation can't decode SVGs; the PNGs suffice
|
||||
- /share/icons/hicolor/scalable/apps/*.svg
|
||||
|
||||
modules:
|
||||
- name: libsigc++
|
||||
buildsystem: meson
|
||||
config-opts:
|
||||
- -Dbuild-tests=false
|
||||
- -Dbuild-examples=false
|
||||
sources:
|
||||
- type: archive
|
||||
url: https://download.gnome.org/sources/libsigc++/3.6/libsigc++-3.6.0.tar.xz
|
||||
sha256: c3d23b37dfd6e39f2e09f091b77b1541fbfa17c4f0b6bf5c89baef7229080e17
|
||||
|
||||
- name: glibmm
|
||||
buildsystem: meson
|
||||
config-opts:
|
||||
- -Dmaintainer-mode=false
|
||||
- -Dbuild-documentation=false
|
||||
- -Dbuild-examples=false
|
||||
sources:
|
||||
- type: archive
|
||||
url: https://download.gnome.org/sources/glibmm/2.80/glibmm-2.80.0.tar.xz
|
||||
sha256: 539b0a29e15a96676c4f0594541250566c5ca44da5d4d87a3732fa2d07909e4a
|
||||
|
||||
- name: cairomm
|
||||
buildsystem: meson
|
||||
config-opts:
|
||||
- -Dmaintainer-mode=false
|
||||
- -Dbuild-documentation=false
|
||||
- -Dbuild-examples=false
|
||||
- -Dbuild-tests=false
|
||||
sources:
|
||||
- type: archive
|
||||
url: https://www.cairographics.org/releases/cairomm-1.16.2.tar.xz
|
||||
sha256: 6a63bf98a97dda2b0f55e34d1b5f3fb909ef8b70f9b8d382cb1ff3978e7dc13f
|
||||
|
||||
- name: pangomm
|
||||
buildsystem: meson
|
||||
config-opts:
|
||||
- -Dmaintainer-mode=false
|
||||
- -Dbuild-documentation=false
|
||||
sources:
|
||||
- type: archive
|
||||
# gtkmm 4.14 needs pangomm >= 2.50.0 (which still installs the
|
||||
# pangomm-2.48.pc name). 2.48.x is too old.
|
||||
url: https://download.gnome.org/sources/pangomm/2.50/pangomm-2.50.2.tar.xz
|
||||
sha256: 1bc5ab4ea3280442580d68318226dab36ceedfc3288f9d83711cf7cfab50a9fb
|
||||
|
||||
- name: gtkmm
|
||||
buildsystem: meson
|
||||
config-opts:
|
||||
- -Dmaintainer-mode=false
|
||||
- -Dbuild-documentation=false
|
||||
- -Dbuild-demos=false
|
||||
- -Dbuild-tests=false
|
||||
sources:
|
||||
- type: archive
|
||||
url: https://download.gnome.org/sources/gtkmm/4.14/gtkmm-4.14.0.tar.xz
|
||||
sha256: 9350a0444b744ca3dc69586ebd1b6707520922b6d9f4f232103ce603a271ecda
|
||||
|
||||
- name: nomines
|
||||
buildsystem: meson
|
||||
sources:
|
||||
- type: git
|
||||
url: https://github.com/bemagri/nomines
|
||||
tag: v1.0.0
|
||||
commit: 2dbf64a2e8c9bf828d69a4fc27f2af1bbfa780f2
|
||||
Reference in New Issue
Block a user