Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flatpak Support? #186

Open
RileyMeta opened this issue Aug 7, 2024 · 3 comments
Open

Flatpak Support? #186

RileyMeta opened this issue Aug 7, 2024 · 3 comments

Comments

@RileyMeta
Copy link

Hiya, I noticed the AUR install currently has a broken dependency with Rust/Cargo and wont install, so I made a temporary work-a-round that installs the .rpm package. (Not future proofed, only functional for the current release).

# Maintainer: Craig McLure <[email protected]>
pkgname=goxlr-utility
pkgver=1.1.1
pkgrel=1
pkgdesc="A utility for monitoring and controlling a TC-Helicon GoXLR or GoXLR Mini."
arch=('x86_64')
url="https://github.com/GoXLR-on-Linux/goxlr-utility"
license=('MIT' 'custom')
depends=('libusb' 'bzip2' 'libpulse' 'speech-dispatcher')
source=("$pkgname-$pkgver.rpm::https://github.com/GoXLR-on-Linux/goxlr-utility/releases/download/v1.1.1/goxlr-utility-1.1.1-1.x86_64.rpm")
noextract=("$pkgname-$pkgver.rpm")
sha512sums=('SKIP')

build() {
    cd "${srcdir}"
    rpmextract.sh "${srcdir}/goxlr-utility-${pkgver}.rpm"
}

package() {
    mkdir -p "${pkgdir}/usr"
    cd "${srcdir}/usr"
    cp -r * "${pkgdir}/usr/"
}

In saying that, would you guys be interested in porting the GoXLR Utility to Flatpak?

Flatpaks are basically self-contained little virtual environments, that would make things more consistent, safer and convenient to install.

Currently, Stream Controller, another third-party app that replaces proprietary software for the Stream Deck has a flatpak and it works the same as a Native install, if not faster. I could absolutely look into this and try building it myself if it would help.

@FrostyCoolSlug
Copy link
Member

I have a new release scheduled in the next day or two which will solve the build issue (it seems like run 1.80 broke compatibility with a dependency of a dependency), so figured it would be easier to wait until that release rather than spend time working around it.

As far as flatpaks are concerned, I have investigated this, but because the utility requires a file in /etc/udev/rules.d/ to be present to allow access to the GoXLR in user space, it would still require manual intervention from the user to make it functional.

@RileyMeta
Copy link
Author

Correct, the same manually intervention is required for StreamController. I'm not sure how they do it, but after installing, a dialog box from both Gnome Software and KDE Discover pops up showing a command.

Looking at a forum post, it would be a single command that could be ran.
Example: flatpak override --filesystem=/etc/udev:ro com.visualsutdio.code.oss

@RileyMeta
Copy link
Author

After a little more research it looks like you can get really specific with flatpak's override command. It looks like you can add a flag for "additional configuration" with flatpaks that would prompt the user for the command, or maybe a post install script. Looking through all the possible overrides, I think it would be something like:
flatpak override --device=all --filesystem=home --share=network com.goxlr.utility

  • --device=all: Give the Utility access to all USB devices

  • --filesystem=home: Grant access to the user's home directory

You could specify common directories for the utility instead of entire system access

  • --filesystem=xdg-music:rw
  • --filesystem=xdg-documents:rw
  • --share=network: (optional) for the network share of the dashboard.

There's also:

  • --persist=config for config files to persist
  • --socket=pulseaudio for people that rely on it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants