feat(desktop): add flatpak and arch packaging inputs (#2838)

This commit is contained in:
Hampus authored and GitHub committed 2026-09-19 15:31:41 +02:00
1 parent f9bb8bd585
commit 87f3eb3c81
7 files changed
+253 -3

No files matched your search

@@ -47,9 +47,6 @@
<image type="source" width="1920" height="1080">https://fluxerstatic.com/marketing/screenshots/desktop-1920w.avif</image>
</screenshot>
</screenshots>
<releases>
<release version="0.0.8" date="2026-02-16"/>
</releases>
<url type="bugtracker">https://github.com/fluxerapp/fluxer/issues</url>
<url type="homepage">https://fluxer.app</url>
<url type="donation">https://fluxer.app/donate</url>
+6
View File
@@ -0,0 +1,6 @@
#!/bin/sh
export TMPDIR="${XDG_RUNTIME_DIR}/app/${FLATPAK_ID}"
export FLUXER_FLATPAK_COMMAND="${FLATPAK_ID}"
exec zypak-wrapper "/app/fluxer/fluxer" "$@"
@@ -0,0 +1,51 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
id: app.fluxer.Fluxer
runtime: org.freedesktop.Platform
runtime-version: '25.08'
sdk: org.freedesktop.Sdk
base: org.electronjs.Electron2.BaseApp
base-version: '25.08'
branch: stable
command: app.fluxer.Fluxer
separate-locales: false
finish-args:
- --share=ipc
- --share=network
- --socket=wayland
- --socket=fallback-x11
- --socket=pulseaudio
- --device=all
- --filesystem=xdg-download
- --filesystem=xdg-run/pipewire-0:ro
- --filesystem=xdg-run/speech-dispatcher:ro
- --talk-name=org.freedesktop.Notifications
- --talk-name=org.kde.StatusNotifierWatcher
- --talk-name=org.ayatana.indicator.application
- --talk-name=com.canonical.indicator.application
- --env=ELECTRON_OZONE_PLATFORM_HINT=auto
- --env=XCURSOR_PATH=/run/host/user-share/icons:/run/host/share/icons
build-options:
strip: false
no-debuginfo: true
cleanup-commands:
- rm -f /app/fluxer/chrome-sandbox
modules:
- name: fluxer
buildsystem: simple
build-commands:
- install -Dm755 app.fluxer.Fluxer.sh ${FLATPAK_DEST}/bin/${FLATPAK_ID}
- mkdir -p ${FLATPAK_DEST}/fluxer
- cp -a app/. ${FLATPAK_DEST}/fluxer/
- patch-electron-desktop-filename ${FLATPAK_DEST}/fluxer/resources/app.asar
- install -Dm644 app.fluxer.Fluxer.desktop ${FLATPAK_DEST}/share/applications/${FLATPAK_ID}.desktop
- install -Dm644 app.fluxer.Fluxer.metainfo.xml ${FLATPAK_DEST}/share/metainfo/${FLATPAK_ID}.metainfo.xml
- install -Dm644 app.fluxer.Fluxer.svg ${FLATPAK_DEST}/share/icons/hicolor/scalable/apps/${FLATPAK_ID}.svg
sources:
- type: file
path: app.fluxer.Fluxer.sh
- type: file
path: app.fluxer.Fluxer.desktop
- type: file
path: app.fluxer.Fluxer.metainfo.xml
- type: file
path: app.fluxer.Fluxer.svg
@@ -0,0 +1,6 @@
#!/bin/sh
export TMPDIR="${XDG_RUNTIME_DIR}/app/${FLATPAK_ID}"
export FLUXER_FLATPAK_COMMAND="${FLATPAK_ID}"
exec zypak-wrapper "/app/fluxer/fluxer-canary" "$@"
@@ -0,0 +1,51 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
id: app.fluxer.FluxerCanary
runtime: org.freedesktop.Platform
runtime-version: '25.08'
sdk: org.freedesktop.Sdk
base: org.electronjs.Electron2.BaseApp
base-version: '25.08'
branch: stable
command: app.fluxer.FluxerCanary
separate-locales: false
finish-args:
- --share=ipc
- --share=network
- --socket=wayland
- --socket=fallback-x11
- --socket=pulseaudio
- --device=all
- --filesystem=xdg-download
- --filesystem=xdg-run/pipewire-0:ro
- --filesystem=xdg-run/speech-dispatcher:ro
- --talk-name=org.freedesktop.Notifications
- --talk-name=org.kde.StatusNotifierWatcher
- --talk-name=org.ayatana.indicator.application
- --talk-name=com.canonical.indicator.application
- --env=ELECTRON_OZONE_PLATFORM_HINT=auto
- --env=XCURSOR_PATH=/run/host/user-share/icons:/run/host/share/icons
build-options:
strip: false
no-debuginfo: true
cleanup-commands:
- rm -f /app/fluxer/chrome-sandbox
modules:
- name: fluxer
buildsystem: simple
build-commands:
- install -Dm755 app.fluxer.FluxerCanary.sh ${FLATPAK_DEST}/bin/${FLATPAK_ID}
- mkdir -p ${FLATPAK_DEST}/fluxer
- cp -a app/. ${FLATPAK_DEST}/fluxer/
- patch-electron-desktop-filename ${FLATPAK_DEST}/fluxer/resources/app.asar
- install -Dm644 app.fluxer.FluxerCanary.desktop ${FLATPAK_DEST}/share/applications/${FLATPAK_ID}.desktop
- install -Dm644 app.fluxer.FluxerCanary.metainfo.xml ${FLATPAK_DEST}/share/metainfo/${FLATPAK_ID}.metainfo.xml
- install -Dm644 app.fluxer.FluxerCanary.svg ${FLATPAK_DEST}/share/icons/hicolor/scalable/apps/${FLATPAK_ID}.svg
sources:
- type: file
path: app.fluxer.FluxerCanary.sh
- type: file
path: app.fluxer.FluxerCanary.desktop
- type: file
path: app.fluxer.FluxerCanary.metainfo.xml
- type: file
path: app.fluxer.FluxerCanary.svg
+33
View File
@@ -0,0 +1,33 @@
#!/bin/sh
# SPDX-License-Identifier: AGPL-3.0-or-later
set -eu
: "${FLATPAK_APP_ID:?FLATPAK_APP_ID must be set}"
: "${FLATPAK_TARGET_ARCH:?FLATPAK_TARGET_ARCH must be set}"
: "${FLATPAK_RUNTIME_BRANCH:?FLATPAK_RUNTIME_BRANCH must be set}"
: "${HOST_UID:?HOST_UID must be set}"
: "${HOST_GID:?HOST_GID must be set}"
dnf install -y --setopt=install_weak_deps=False flatpak flatpak-builder
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak install -y --noninteractive --arch="${FLATPAK_TARGET_ARCH}" flathub \
"org.freedesktop.Platform//${FLATPAK_RUNTIME_BRANCH}" \
"org.freedesktop.Sdk//${FLATPAK_RUNTIME_BRANCH}" \
"org.electronjs.Electron2.BaseApp//${FLATPAK_RUNTIME_BRANCH}"
cd /build
rm -rf repo builddir .fb-state
flatpak-builder \
--arch="${FLATPAK_TARGET_ARCH}" \
--repo=repo \
--force-clean \
--disable-rofiles-fuse \
--state-dir=.fb-state \
builddir "${FLATPAK_APP_ID}.yml"
rm -rf builddir .fb-state
ostree --repo=repo refs
rm -rf repo/tmp repo/state repo/extensions repo/.lock
chown -R "${HOST_UID}:${HOST_GID}" repo