Flatpak linux build

This commit is contained in:
2026-02-26 13:54:38 +02:00
parent 8fb31695a8
commit 6e07a55885
3 changed files with 69 additions and 97 deletions

View File

@@ -1,38 +1,55 @@
app-id: za.co.mzansiinnovationhub.mih
runtime: org.gnome.Platform
runtime-version: '48'
sdk: org.gnome.Sdk
id: za.co.mzansiinnovationhub.mih
runtime: org.freedesktop.Platform
runtime-version: '24.08'
sdk: org.freedesktop.Sdk
command: mzansi_innovation_hub
finish-args:
- --share=ipc
- --share=network # Added for Internet access
- --socket=fallback-x11
- --socket=wayland
- --device=dri
- --socket=pulseaudio
- --share=network
- --talk-name=org.freedesktop.Notifications
- --filesystem=xdg-documents:create
# Removed --filesystem=home for better security; add back only if strictly needed.
modules:
- name: mih-app
- name: mzansi-innovation-hub
buildsystem: simple
build-commands:
- mkdir -p /app/bin /app/share/mih-app /app/share/applications /app/share/metainfo /app/share/icons/hicolor/256x256/apps
- cp -r data lib mzansi_innovation_hub /app/share/mih-app/
- chmod +x /app/share/mih-app/mzansi_innovation_hub
- ln -sf /app/share/mih-app/mzansi_innovation_hub /app/bin/mzansi_innovation_hub
- install -Dm644 za.co.mzansiinnovationhub.mih.desktop /app/share/applications/za.co.mzansiinnovationhub.mih.desktop
- install -Dm644 za.co.mzansiinnovationhub.mih.metainfo.xml /app/share/metainfo/za.co.mzansiinnovationhub.mih.metainfo.xml
- install -Dm644 za.co.mzansiinnovationhub.mih.png /app/share/icons/hicolor/256x256/apps/za.co.mzansiinnovationhub.mih.png
sources:
- type: archive
url: https://git.mzansi-innovation-hub.co.za/yaso_meth/mih-project/releases/download/linux/mzansi_innovation_hub.tar.gz
sha256: cd610351f334fccce2d279f3112a5ac21bfa18b39d3c59e2cb0334fe2e8019b3
sha256: b8c383f4d43e2de36b4e6520c9745e3f8e8618bdb9ef6024ad0bf260061137a9
# If the tarball contains a top-level folder (like 'bundle'),
# flatpak-builder enters it automatically.
# If it doesn't, we use the commands below to find them.
- type: file
path: za.co.mzansiinnovationhub.mih.desktop
- type: file
path: za.co.mzansiinnovationhub.mih.metainfo.xml
- type: file
path: za.co.mzansiinnovationhub.mih.png
path: za.co.mzansiinnovationhub.mih.png
build-commands:
# 1. Create the necessary directories
- mkdir -p /app/bin /app/share/applications /app/share/icons/hicolor/256x256/apps /app/share/metainfo
# 2. Move EVERYTHING from your archive into /app/bin/
# We use 'find' to move only the app-related files and avoid the metadata files
- |
find . -mindepth 1 -maxdepth 2 \
! -name "*.desktop" \
! -name "*.xml" \
! -name "*.png" \
! -name "*.yml" \
-exec cp -R -t /app/bin/ {} +
# 3. Ensure the binary is in the right place and executable
# If the binary ended up in a subfolder, this moves it to the top of /app/bin
- find /app/bin -name "mzansi_innovation_hub" -type f -exec mv {} /app/bin/ \;
- chmod +x /app/bin/mzansi_innovation_hub
# 4. Install Metadata (using the exact local files)
- install -Dm644 za.co.mzansiinnovationhub.mih.desktop /app/share/applications/za.co.mzansiinnovationhub.mih.desktop
- install -Dm644 za.co.mzansiinnovationhub.mih.png /app/share/icons/hicolor/256x256/apps/za.co.mzansiinnovationhub.mih.png
- install -Dm644 za.co.mzansiinnovationhub.mih.metainfo.xml /app/share/metainfo/za.co.mzansiinnovationhub.mih.metainfo.xml