mirror of
https://github.com/fluxerapp/fluxer
synced 2026-10-07 19:22:14 +09:00
chore: replace flatpak files with general linux metadata (#648)
This commit is contained in:
@@ -1,48 +0,0 @@
|
||||
# Fluxer Flatpak packaging
|
||||
|
||||
These files are for submitting Fluxer to [Flathub](https://flathub.org), the centralised Flatpak application repository.
|
||||
|
||||
## Files
|
||||
|
||||
- **`app.fluxer.json`** -- Flatpak manifest defining the build, runtime, permissions, and sources.
|
||||
- **`app.fluxer.metainfo.xml`** -- AppStream metadata for the app store listing (description, categories, content rating, etc.).
|
||||
- **`app.fluxer.desktop`** -- XDG desktop entry so the app appears in desktop launchers.
|
||||
- **`icon-256.png`** -- Application icon (256x256). This file must be extracted from the build resources or provided separately; it is not checked in.
|
||||
|
||||
## Placeholder SHA256 hashes
|
||||
|
||||
The `sha256` values in `app.fluxer.json` are set to `PLACEHOLDER_SHA256_X64` and `PLACEHOLDER_SHA256_ARM64`. These are updated automatically by [flatpak-external-data-checker](https://github.com/nickvdp/flatpak-external-data-checker) via the `x-checker-data` configuration on each source. When preparing a manual build, replace them with the actual SHA256 checksums of the downloaded tar.gz archives.
|
||||
|
||||
## Icon
|
||||
|
||||
The `icon-256.png` file needs to be provided before building. You can extract it from the Electron build resources:
|
||||
|
||||
```sh
|
||||
cp ../../build_resources/icons/256x256.png icon-256.png
|
||||
```
|
||||
|
||||
Or generate it from the source SVG/PNG in the build resources directory.
|
||||
|
||||
## Testing locally
|
||||
|
||||
Install the required runtime and base app if you haven't already:
|
||||
|
||||
```sh
|
||||
flatpak install flathub org.freedesktop.Platform//24.08 org.freedesktop.Sdk//24.08 org.electronjs.Electron2.BaseApp//24.08
|
||||
```
|
||||
|
||||
Then build and install:
|
||||
|
||||
```sh
|
||||
flatpak-builder --user --install build-dir app.fluxer.json
|
||||
```
|
||||
|
||||
Run the app:
|
||||
|
||||
```sh
|
||||
flatpak run app.fluxer
|
||||
```
|
||||
|
||||
## Flathub submission
|
||||
|
||||
To submit to Flathub, fork the [flathub/flathub](https://github.com/flathub/flathub) repository and open a pull request adding `app.fluxer.json` along with the supporting files. Refer to the [Flathub submission guide](https://docs.flathub.org/docs/for-app-authors/submission/) for current requirements.
|
||||
@@ -1,78 +0,0 @@
|
||||
{
|
||||
"id": "app.fluxer",
|
||||
"runtime": "org.freedesktop.Platform",
|
||||
"runtime-version": "24.08",
|
||||
"sdk": "org.freedesktop.Sdk",
|
||||
"base": "org.electronjs.Electron2.BaseApp",
|
||||
"base-version": "24.08",
|
||||
"command": "fluxer",
|
||||
"separate-locales": false,
|
||||
"finish-args": [
|
||||
"--share=ipc",
|
||||
"--share=network",
|
||||
"--socket=x11",
|
||||
"--socket=wayland",
|
||||
"--socket=pulseaudio",
|
||||
"--device=all",
|
||||
"--talk-name=org.freedesktop.Notifications",
|
||||
"--talk-name=org.kde.StatusNotifierWatcher",
|
||||
"--talk-name=org.freedesktop.secrets",
|
||||
"--filesystem=xdg-run/pipewire-0",
|
||||
"--env=XCURSOR_PATH=/run/host/user-share/icons:/run/host/share/icons"
|
||||
],
|
||||
"modules": [
|
||||
{
|
||||
"name": "fluxer",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [
|
||||
"install -d /app/lib/fluxer",
|
||||
"cp -r ./* /app/lib/fluxer/",
|
||||
"chmod +x /app/lib/fluxer/fluxer",
|
||||
"install -Dm644 /app/lib/fluxer/resources/app.asar.unpacked/node_modules/electron/dist/chrome-sandbox /app/lib/fluxer/chrome-sandbox || true",
|
||||
"install -d /app/bin",
|
||||
"ln -s /app/lib/fluxer/fluxer /app/bin/fluxer",
|
||||
"install -Dm644 app.fluxer.metainfo.xml /app/share/metainfo/app.fluxer.metainfo.xml",
|
||||
"install -Dm644 app.fluxer.desktop /app/share/applications/app.fluxer.desktop",
|
||||
"install -Dm644 icon-256.png /app/share/icons/hicolor/256x256/apps/app.fluxer.png"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "archive",
|
||||
"only-arches": ["x86_64"],
|
||||
"url": "https://api.fluxer.app/dl/desktop/stable/linux/x64/latest/tar_gz",
|
||||
"sha256": "PLACEHOLDER_SHA256_X64",
|
||||
"x-checker-data": {
|
||||
"type": "json",
|
||||
"url": "https://api.fluxer.app/dl/desktop/stable/linux/x64/latest",
|
||||
"version-query": ".version",
|
||||
"url-query": ".files.tar_gz.url"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"only-arches": ["aarch64"],
|
||||
"url": "https://api.fluxer.app/dl/desktop/stable/linux/arm64/latest/tar_gz",
|
||||
"sha256": "PLACEHOLDER_SHA256_ARM64",
|
||||
"x-checker-data": {
|
||||
"type": "json",
|
||||
"url": "https://api.fluxer.app/dl/desktop/stable/linux/arm64/latest",
|
||||
"version-query": ".version",
|
||||
"url-query": ".files.tar_gz.url"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"path": "app.fluxer.metainfo.xml"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"path": "app.fluxer.desktop"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"path": "icon-256.png"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,41 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop-application">
|
||||
<id>app.fluxer</id>
|
||||
<name>Fluxer</name>
|
||||
<summary>Instant messaging and VoIP application</summary>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>AGPL-3.0-or-later</project_license>
|
||||
<description>
|
||||
<p>Fluxer is a free and open-source instant messaging and voice-over-IP application. It provides text chat, voice calls, video calls, and screen sharing in a modern interface.</p>
|
||||
<p>Features include:</p>
|
||||
<ul>
|
||||
<li>Text messaging with rich formatting and media support</li>
|
||||
<li>Voice and video calls</li>
|
||||
<li>Screen sharing</li>
|
||||
<li>Communities with channels</li>
|
||||
<li>Direct messages and group chats</li>
|
||||
<li>Custom emoji and reactions</li>
|
||||
</ul>
|
||||
</description>
|
||||
<url type="homepage">https://fluxer.app</url>
|
||||
<url type="bugtracker">https://github.com/fluxerapp/fluxer/issues</url>
|
||||
<url type="help">https://fluxer.app/help</url>
|
||||
<launchable type="desktop-id">app.fluxer.desktop</launchable>
|
||||
<categories>
|
||||
<category>Network</category>
|
||||
<category>InstantMessaging</category>
|
||||
</categories>
|
||||
<provides>
|
||||
<binary>fluxer</binary>
|
||||
</provides>
|
||||
<content_rating type="oars-1.1">
|
||||
<content_attribute id="social-chat">intense</content_attribute>
|
||||
<content_attribute id="social-audio">intense</content_attribute>
|
||||
<content_attribute id="social-contacts">intense</content_attribute>
|
||||
<content_attribute id="social-info">moderate</content_attribute>
|
||||
</content_rating>
|
||||
<supports>
|
||||
<control>pointing</control>
|
||||
<control>keyboard</control>
|
||||
</supports>
|
||||
</component>
|
||||
@@ -0,0 +1,6 @@
|
||||
# Fluxer Linux metadata
|
||||
These files are for Linux desktop integration and package managers/app stores.
|
||||
## Files
|
||||
- `app.fluxer.Fluxer.desktop` - XDG desktop entry for app launchers
|
||||
- `app.fluxer.Fluxer.metainfo.xml` - AppStream metadata for package manager and app store listings
|
||||
- `app.fluxer.Fluxer.svg` - Application icon
|
||||
+5
-6
@@ -1,10 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Name=Fluxer
|
||||
Comment=Instant messaging and VoIP application
|
||||
Exec=fluxer %U
|
||||
Icon=app.fluxer
|
||||
Type=Application
|
||||
Categories=Network;InstantMessaging;
|
||||
StartupWMClass=fluxer
|
||||
MimeType=x-scheme-handler/fluxer;
|
||||
Exec=app.fluxer.Fluxer %U
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=app.fluxer.Fluxer
|
||||
Categories=Network;InstantMessaging;
|
||||
StartupWMClass=app.fluxer.Fluxer
|
||||
@@ -0,0 +1,59 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop-application">
|
||||
<id>app.fluxer.Fluxer</id>
|
||||
<launchable type="desktop-id">app.fluxer.Fluxer.desktop</launchable>
|
||||
<name>Fluxer</name>
|
||||
<developer id="app.fluxer">
|
||||
<name>Fluxer</name>
|
||||
</developer>
|
||||
<summary>Instant messaging and VoIP application</summary>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>AGPL-3.0-or-later</project_license>
|
||||
<icon type="stock">app.fluxer.Fluxer</icon>
|
||||
<description>
|
||||
<p>Fluxer is a free and open-source instant messaging and voice-over-IP application. It provides text chat, voice calls, video calls, and screen sharing in a modern interface.</p>
|
||||
<p>Features include:</p>
|
||||
<ul>
|
||||
<li>Text messaging with rich formatting and media support</li>
|
||||
<li>Voice and video calls</li>
|
||||
<li>Screen sharing</li>
|
||||
<li>Communities with channels</li>
|
||||
<li>Direct messages and group chats</li>
|
||||
<li>Custom emoji and reactions</li>
|
||||
</ul>
|
||||
</description>
|
||||
<categories>
|
||||
<category>Network</category>
|
||||
<category>InstantMessaging</category>
|
||||
</categories>
|
||||
<branding>
|
||||
<color type="primary">#4641D9</color>
|
||||
</branding>
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<caption>The main Fluxer window.</caption>
|
||||
<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>
|
||||
<url type="vcs-browser">https://github.com/fluxerapp/fluxer.git</url>
|
||||
<update_contact>[email protected]</update_contact>
|
||||
<content_rating type="oars-1.1">
|
||||
<content_attribute id="social-chat">intense</content_attribute>
|
||||
<content_attribute id="social-info">intense</content_attribute>
|
||||
<content_attribute id="social-audio">intense</content_attribute>
|
||||
<content_attribute id="social-contacts">intense</content_attribute>
|
||||
</content_rating>
|
||||
<requires>
|
||||
<internet>always</internet>
|
||||
</requires>
|
||||
<supports>
|
||||
<control>keyboard</control>
|
||||
<control>pointing</control>
|
||||
</supports>
|
||||
</component>
|
||||
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33.87 33.87"><g transform="translate(-32.28 -138.64)"><circle cx="49.21" cy="155.57" r="15.74" fill="none" stroke="currentColor" stroke-width=".26" opacity=".2" style="marker:none"/><path fill="#4641d9" d="M65.09 155.57a15.87 15.87 0 1 0-31.75 0 15.87 15.87 0 0 0 31.75 0z"/><path fill="#fff" d="M40.84 154.16c-.83 0-1.53-.68-1.42-1.5.1-.9.34-1.66.69-2.29a5 5 0 0 1 2.1-2.08 6.07 6.07 0 0 1 2.74-.65c.97 0 1.84.21 2.63.65a17 17 0 0 1 2.76 1.96c.7.6 1.27 1.02 1.67 1.27.42.25.88.37 1.4.37.81 0 1.46-.3 1.93-.88.23-.28.4-.62.5-1.02.24-.83.88-1.56 1.74-1.56.83 0 1.53.67 1.43 1.5-.1.9-.33 1.66-.7 2.29a4.98 4.98 0 0 1-2.1 2.08 6.07 6.07 0 0 1-5.39.04 14.4 14.4 0 0 1-2.75-2c-.68-.6-1.23-1.01-1.66-1.26a2.7 2.7 0 0 0-1.4-.38 2.43 2.43 0 0 0-2.47 1.91c-.2.83-.84 1.55-1.7 1.55zm0 8.56c-.83 0-1.53-.68-1.42-1.5.1-.9.34-1.66.69-2.29a5 5 0 0 1 2.1-2.08 6.07 6.07 0 0 1 2.74-.65c.97 0 1.84.22 2.63.65a17.5 17.5 0 0 1 2.76 1.96c.7.6 1.27 1.02 1.67 1.27.42.25.88.37 1.4.37.81 0 1.46-.3 1.93-.88.23-.28.4-.62.5-1.02.24-.83.88-1.56 1.74-1.56.83 0 1.53.67 1.43 1.5-.1.9-.33 1.66-.7 2.29a4.98 4.98 0 0 1-2.1 2.08 6.07 6.07 0 0 1-5.39.04 14.4 14.4 0 0 1-2.75-2c-.68-.6-1.23-1.01-1.66-1.26a2.7 2.7 0 0 0-1.4-.38 2.43 2.43 0 0 0-2.47 1.91c-.2.83-.84 1.55-1.7 1.55z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
Reference in New Issue
Block a user