Add simple flatpak manifest

This commit is contained in:
Tom A. Wagner
2021-07-22 10:31:44 +02:00
parent f64a936dd9
commit b719e0d2ec
4 changed files with 58 additions and 1 deletions

1
.gitignore vendored
View File

@@ -1,2 +1,3 @@
/.flatpak-builder
/.vscode
/target

View File

@@ -13,6 +13,26 @@ Helvum is a GTK-based patchbay for pipewire, inspired by the JACK tool [catia](h
More suggestions are welcome!
# Building
## Via flatpak (recommended)
The recommended way to build is using flatpak, which will take care of all dependencies and avoid any problems that may come from different system configurations.
First, install the required flatpak platform and SDK, if you dont have them already:
```shell
$ flatpak install org.gnome.{Platform,Sdk}//40 org.freedesktop.Sdk.Extension.rust-stable//20.08
```
To compile and install as a flatpak, run
```shell
$ flatpak-builder --install flatpak-build/ org.freedesktop.ryuukyu.Helvum.json
```
You can then run the app via
```shell
flatpak run org.freedesktop.ryuukyu.Helvum
```
## Manually
For compilation, you will need:
- An up-to-date rust toolchain

View File

@@ -0,0 +1,36 @@
{
"app-id": "org.freedesktop.ryuukyu.Helvum",
"runtime": "org.gnome.Platform",
"runtime-version": "40",
"sdk": "org.gnome.Sdk",
"sdk-extensions": ["org.freedesktop.Sdk.Extension.rust-stable"],
"command": "helvum",
"finish-args" : [
"--socket=fallback-x11",
"--socket=wayland",
"--device=dri",
"--share=ipc",
"--filesystem=xdg-run/pipewire-0"
],
"build-options" : {
"append-path" : "/usr/lib/sdk/rust-stable/bin",
"build-args" : [
"--share=network"
]
},
"modules": [
{
"name": "Helvum",
"buildsystem": "simple",
"build-commands": [
"cargo install --path . --root /app --no-track"
],
"sources": [
{
"type": "dir",
"path": "./"
}
]
}
]
}

View File

@@ -83,7 +83,7 @@ impl Application {
pw_sender: Sender<GtkMessage>,
) -> Self {
let app: Application =
glib::Object::new(&[("application-id", &"org.freedesktop.ryuukyu.helvum")])
glib::Object::new(&[("application-id", &"org.freedesktop.ryuukyu.Helvum")])
.expect("Failed to create new Application");
let imp = imp::Application::from_instance(&app);