diff --git a/.gitignore b/.gitignore index 2e0ed6d..b65a02b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ +/.flatpak-builder /.vscode /target diff --git a/README.md b/README.md index ea4a16f..581155b 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/org.freedesktop.ryuukyu.Helvum.json b/org.freedesktop.ryuukyu.Helvum.json new file mode 100644 index 0000000..d24a9d5 --- /dev/null +++ b/org.freedesktop.ryuukyu.Helvum.json @@ -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": "./" + } + ] + } + ] +} diff --git a/src/application.rs b/src/application.rs index 8ec3e5e..b6dc3c5 100644 --- a/src/application.rs +++ b/src/application.rs @@ -83,7 +83,7 @@ impl Application { pw_sender: Sender, ) -> 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);