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,17 +1,12 @@
[Desktop Entry]
Version=1.0
Type=Application
Name=MIH App
Name[af]=MIH Toepassing
Name[zu]=I-App ye-MIH
Comment=First Super App of Mzansi
Comment[af]=Eerste Super Toepassing van Mzansi
Comment[zu]=I-Super App yokuqala yaseMzansi
Name=MIH
GenericName=Mzansi Innovation Hub
Comment=Mzansi Innovation Hub official application
Exec=mzansi_innovation_hub
Icon=za.co.mzansiinnovationhub.mih
Terminal=false
Categories=Network;Utility;
Keywords=Mzansi;Innovation;Hub;App;
Categories=Utility;
Keywords=MIH;Mzansi;Innovation;Hub;
StartupWMClass=mzansi_innovation_hub
X-GNOME-UsesNotifications=true
DBusActivatable=false

View File

@@ -1,92 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>za.co.mzansiinnovationhub.mih</id>
<name>MIH</name>
<summary>Innovation tools and services for the Mzansi ecosystem</summary>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-3.0-or-later</project_license>
<name>MIH App</name>
<name xml:lang="af">MIH Toepassing</name>
<name xml:lang="zu">I-App ye-MIH</name>
<summary>First Super App of Mzansi</summary>
<developer>
<name>Mzansi Innovation Hub</name>
</developer>
<project_license>GPL-3.0</project_license>
<developer_name>Mzansi Innovation Hub</developer_name>
<description>
<p>
The Mzansi Innovation Hub (MIH) App is a multipurpose platform designed to
empower users with integrated digital services.
MIH (Mzansi Innovation Hub) is a modern desktop application designed to provide
innovation tools and services for users. Built with Flutter, it offers a
high-performance, responsive interface tailored for the Linux desktop.
</p>
<ul>
<li>Access professional innovation resources</li>
<li>Streamlined user interface for efficiency</li>
<li>Native integration with Linux desktop environments</li>
</ul>
</description>
<launchable type="desktop-id">za.co.mzansiinnovationhub.mih.desktop</launchable>
<screenshots>
<screenshot type="default">
<caption>The main dashboard of the MIH App</caption>
<image width="1920" height="1080">https://git.mzansi-innovation-hub.co.za/yaso_meth/mih-project/raw/branch/main/mih_ui/mih_app_flatpak/main.png</image>
<caption>The main dashboard of the MIH application.</caption>
<image>https://git.mzansi-innovation-hub.co.za/yaso_meth/mih-project/raw/main/screenshots/main.png</image>
</screenshot>
</screenshots>
<url type="homepage">https://mzansi-innovation-hub.co.za</url>
<url type="homepage">https://mzansi-innovation-hub.co.za/</url>
<url type="bugtracker">https://git.mzansi-innovation-hub.co.za/yaso_meth/mih-project/issues</url>
<url type="help">https://mzansi-innovation-hub.co.za/support</url>
<url type="donation">https://mzansi-innovation-hub.co.za/donate</url>
<content_rating type="oars-1.1">
<content_attribute id="violence-cartoon">none</content_attribute>
<content_attribute id="violence-fantasy">none</content_attribute>
<content_attribute id="violence-realistic">none</content_attribute>
<content_attribute id="violence-bloodshed">none</content_attribute>
<content_attribute id="violence-sexual">none</content_attribute>
<content_attribute id="violence-desecration">none</content_attribute>
<content_attribute id="drugs-alcohol">none</content_attribute>
<content_attribute id="drugs-narcotics">none</content_attribute>
<content_attribute id="drugs-tobacco">none</content_attribute>
<content_attribute id="sex-nudity">none</content_attribute>
<content_attribute id="sex-themes">none</content_attribute>
<content_attribute id="sex-homosexuality">none</content_attribute>
<content_attribute id="sex-prostitution">none</content_attribute>
<content_attribute id="sex-adultery">none</content_attribute>
<content_attribute id="sex-appearance">none</content_attribute>
<content_attribute id="language-profanity">none</content_attribute>
<content_attribute id="language-humor">none</content_attribute>
<content_attribute id="language-discrimination">none</content_attribute>
<content_attribute id="social-chat">mild</content_attribute>
<content_attribute id="social-info">none</content_attribute>
<content_attribute id="social-audio">none</content_attribute>
<content_attribute id="social-location">none</content_attribute>
<content_attribute id="social-contacts">none</content_attribute>
<content_attribute id="money-purchasing">none</content_attribute>
<content_attribute id="money-gambling">none</content_attribute>
</content_rating>
<provides>
<binary>mzansi_innovation_hub</binary>
</provides>
<releases>
<release version="1.2.6" date="2026-02-25">
<description>
<p>Initial Flatpak release of the MIH App</p>
<ul>
<li>First Super App of Mzansi</li>
<li>Integrated digital services platform</li>
<li>Flutter-based cross-platform experience</li>
<li>User-friendly dashboard interface</li>
</ul>
</description>
</release>
<release version="1.0.0" date="2026-02-26"/>
</releases>
<keywords>
<keyword>mzansi</keyword>
<keyword>innovation</keyword>
<keyword>hub</keyword>
<keyword>super app</keyword>
<keyword>digital services</keyword>
<keyword>south africa</keyword>
</keywords>
<content_rating type="oars-1.1"/>
<categories>
<category>Utility</category>
</categories>
<custom>
<value key="flathub::flathub:minimum_runtime_version">48</value>
</custom>
</component>

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
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