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] [Desktop Entry]
Version=1.0 Version=1.0
Type=Application Type=Application
Name=MIH App Name=MIH
Name[af]=MIH Toepassing GenericName=Mzansi Innovation Hub
Name[zu]=I-App ye-MIH Comment=Mzansi Innovation Hub official application
Comment=First Super App of Mzansi
Comment[af]=Eerste Super Toepassing van Mzansi
Comment[zu]=I-Super App yokuqala yaseMzansi
Exec=mzansi_innovation_hub Exec=mzansi_innovation_hub
Icon=za.co.mzansiinnovationhub.mih Icon=za.co.mzansiinnovationhub.mih
Terminal=false Terminal=false
Categories=Network;Utility; Categories=Utility;
Keywords=Mzansi;Innovation;Hub;App; Keywords=MIH;Mzansi;Innovation;Hub;
StartupWMClass=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"?> <?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application"> <component type="desktop-application">
<id>za.co.mzansiinnovationhub.mih</id> <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> <metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-3.0-or-later</project_license> <project_license>GPL-3.0</project_license>
<developer_name>Mzansi Innovation Hub</developer_name>
<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>
<description> <description>
<p> <p>
The Mzansi Innovation Hub (MIH) App is a multipurpose platform designed to MIH (Mzansi Innovation Hub) is a modern desktop application designed to provide
empower users with integrated digital services. innovation tools and services for users. Built with Flutter, it offers a
high-performance, responsive interface tailored for the Linux desktop.
</p> </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> </description>
<launchable type="desktop-id">za.co.mzansiinnovationhub.mih.desktop</launchable> <launchable type="desktop-id">za.co.mzansiinnovationhub.mih.desktop</launchable>
<screenshots> <screenshots>
<screenshot type="default"> <screenshot type="default">
<caption>The main dashboard of the MIH App</caption> <caption>The main dashboard of the MIH application.</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> <image>https://git.mzansi-innovation-hub.co.za/yaso_meth/mih-project/raw/main/screenshots/main.png</image>
</screenshot> </screenshot>
</screenshots> </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="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"> <provides>
<content_attribute id="violence-cartoon">none</content_attribute> <binary>mzansi_innovation_hub</binary>
<content_attribute id="violence-fantasy">none</content_attribute> </provides>
<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>
<releases> <releases>
<release version="1.2.6" date="2026-02-25"> <release version="1.0.0" date="2026-02-26"/>
<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>
</releases> </releases>
<keywords> <content_rating type="oars-1.1"/>
<keyword>mzansi</keyword>
<keyword>innovation</keyword> <categories>
<keyword>hub</keyword> <category>Utility</category>
<keyword>super app</keyword> </categories>
<keyword>digital services</keyword>
<keyword>south africa</keyword>
</keywords>
<custom>
<value key="flathub::flathub:minimum_runtime_version">48</value>
</custom>
</component> </component>

View File

@@ -1,38 +1,55 @@
app-id: za.co.mzansiinnovationhub.mih id: za.co.mzansiinnovationhub.mih
runtime: org.gnome.Platform runtime: org.freedesktop.Platform
runtime-version: '48' runtime-version: '24.08'
sdk: org.gnome.Sdk sdk: org.freedesktop.Sdk
command: mzansi_innovation_hub command: mzansi_innovation_hub
finish-args: finish-args:
- --share=ipc - --share=ipc
- --share=network # Added for Internet access
- --socket=fallback-x11 - --socket=fallback-x11
- --socket=wayland - --socket=wayland
- --device=dri - --device=dri
- --socket=pulseaudio # Removed --filesystem=home for better security; add back only if strictly needed.
- --share=network
- --talk-name=org.freedesktop.Notifications
- --filesystem=xdg-documents:create
modules: modules:
- name: mih-app - name: mzansi-innovation-hub
buildsystem: simple 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: sources:
- type: archive - type: archive
url: https://git.mzansi-innovation-hub.co.za/yaso_meth/mih-project/releases/download/linux/mzansi_innovation_hub.tar.gz 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 - type: file
path: za.co.mzansiinnovationhub.mih.desktop path: za.co.mzansiinnovationhub.mih.desktop
- type: file - type: file
path: za.co.mzansiinnovationhub.mih.metainfo.xml path: za.co.mzansiinnovationhub.mih.metainfo.xml
- type: file - 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