mirror of
https://github.com/debauchee/barrier.git
synced 2026-05-15 14:16:02 -06:00
[GH-ISSUE #30] Flatpak package #21
Labels
No labels
HiDPI
bounty
bsd/freebsd
bsd/openbsd
bug
bug
build-infra
cantfix
critical
doc
duplicate
enhancement
fix-available
from git
from release
good first issue
help wanted
installer/package
invalid
linux
macOS
meta
needs testing
pull-request
query
question
regression
regression
v2.4.0
windows
wontfix
work-in-progress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/barrier#21
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @AdrianKoshka on GitHub (Apr 21, 2018).
Original GitHub issue: https://github.com/debauchee/barrier/issues/30
Originally assigned to: @AdrianKoshka on GitHub.
I was wondering if there'd be any interest in packaging barrier in flatpak format. Distros like Fedora Atomic Workstation encourage the use of flatpaks for GUI applications over traditionally packaged applications. I help maintain the Thunderbird flatpak so I'd be willing to help package barrier. Getting it up on flathub would also help.
@walker0643 commented on GitHub (Apr 22, 2018):
hi @AdrianKoshka - of course we would have no objection to that. if you're offering to maintain the package then just let us know what you need from us to get started. cheers!
@AdrianKoshka commented on GitHub (Apr 22, 2018):
A list of dependencies that barrier needs to compile against would be a good start, and then how to build in on linux. I see there's an issue filed already for build instructions for linux (#28).
@AdrianKoshka commented on GitHub (Apr 22, 2018):
Seems avahi libraries aren't part of the KDE/FreeDesktop runtime, what version of avahi is barrier 2.0.0 built against?
@AdrianKoshka commented on GitHub (Apr 24, 2018):
If you want to keep up with the repo: https://github.com/AdrianKoshka/flathub/tree/com.gituhb.debauchee.barrier
I don't think I'll make the PR to flathub until I can at least get this thing to at least build.
@AdrianKoshka commented on GitHub (Apr 24, 2018):
In what capacity does barrier make use of avahi? I ask because I realize if I have to compile avahi daemon and all, it would just be more efficient to (in my opinion):
- [x] Ask flatpak/xdg-portal to add Avahi protal(We just need to open the sandbox so it can be talked to over DBus)@walker0643 commented on GitHub (Apr 24, 2018):
avahi is used to do auto configuration (auto-connect) between server and client on the LAN. I've been linking it against 0.7 on linux platforms.
as a quick rundown, barrier also needs the following to build: CMake, Python, GNU Make, GCC v4.9+, X11 headers and libs, Qt 5 (core, ui, widgets, network, qmake), libcurl, and openssl headers and libraries.
there is a clean_build.sh script in the base directory to automate the process a little. anything you need to tweak in the environment should go into a new script beside it called build_env.sh (make it +x). git won't track it nor overwrite it when you pull (it's a site config).
@AdrianKoshka commented on GitHub (Apr 24, 2018):
Thanks for the info.
@AdrianKoshka commented on GitHub (Apr 24, 2018):
Do you know anything about building avahi (or it's libraries rather)?
@walker0643 commented on GitHub (Apr 25, 2018):
I've not built it yet; so far the target platforms have all had usable packages. Are you running into trouble?
@AdrianKoshka commented on GitHub (Apr 25, 2018):
Yeah...the build options are just poorly documented or just not documented at all. I've disabled quite a bit but can't get everything I need disabled (like the daemon component).
@AdrianKoshka commented on GitHub (Apr 26, 2018):
Thanks to @lathiat, I was able to get avahi to at least compile. Though still working out some stuff.
@AdrianKoshka commented on GitHub (Apr 26, 2018):
So If I remember correctly the default config file is
~/.barrier.config? right? I was wondering if instead you could useXDG_CONFIG_HOME. (so something like~/.config/barrier/<files-within>)@AdrianKoshka commented on GitHub (Apr 26, 2018):
Also use
XDG_DATA_HOMEto store the SSL certs?@AdrianKoshka commented on GitHub (Apr 26, 2018):
http://docs.flatpak.org/en/latest/conventions.html#xdg-base-directories
@AdrianKoshka commented on GitHub (Apr 26, 2018):
Also, apparently the
.desktopfile's executable path is hardocded. An excerpt of a conversation I had with a flatpak dev on what's wrong with the.desktopfile you supply with barrier:@AdrianKoshka commented on GitHub (Apr 26, 2018):
Also, there seems to be something wrong the
includecheck you have CMake do. As of now, I have to manually tell it where to look for thedns_sd.hheader for avahi in the flatpak manifest. An excerpt from the manifest:the full manifest
@walker0643 commented on GitHub (Apr 26, 2018):
setting BONJOUR_SDK_HOME in the environment should take care of the non-standard location of the avahi package. eg. if the header is /opt/bonjour/include/dns_sd.h and the lib is /opt/bonjour/lib/dnssd.lib then add "export BONJOUR_SDK_HOME=/opt/bonjour" to your build_env.sh file in the root of the source.
@walker0643 commented on GitHub (Apr 26, 2018):
as far as the config file locations, can you create a new issue for that so it can be addressed separately?
@AdrianKoshka commented on GitHub (Apr 26, 2018):
Can do.
@AdrianKoshka commented on GitHub (Apr 26, 2018):
Issue #31 created.
@AdrianKoshka commented on GitHub (Apr 26, 2018):
The build scripts are actually bypassed entirely when I build with flatpak, I think flatpak-build just knows magically how to run CMake and friends. Though, I can probably add
BONJOUR_SDK_HOMEin the build env section of the manifest.@AdrianKoshka commented on GitHub (Apr 26, 2018):
Putting it in the barrier module section of the build manifest doesn't work.
@AdrianKoshka commented on GitHub (Apr 26, 2018):
Setting it in the higher-level section of the build-manifest via:
doesn't work either...
@AdrianKoshka commented on GitHub (Apr 26, 2018):
The contents of
app/includebtw:@AdrianKoshka commented on GitHub (Apr 27, 2018):
This appears to be a CMake issue (or rather, an issue with your build files)?
because:
#flatpak@walker0643 commented on GitHub (Apr 27, 2018):
oops that was my bad... BONJOUR_SDK_HOME only works on windows. sorry 😛
yes, if cmake isn't finding your bonjour libs then just add your include and link options as you were doing. it's certainly cleaner to find out why cmake isn't finding bonjour and fix that instead, but for now just getting through the build might be enough.
btw, might it have something to do with the fact that bonjour is under /app ?? i'm not familiar with flatpak but /app seems like a very non-standard location. is everything used by the build process under /app or just bonjour?
@AdrianKoshka commented on GitHub (Apr 27, 2018):
Everything, kinda, I can get you a link of flatpak file-structure if you want. While I would rather not do that include thing, but if it makes it work for now and will actually get solved later, I'll do it. I haven't even gotten around to see if barrier launches/work yet, but will probably later today.
here's that link.
@AdrianKoshka commented on GitHub (Apr 27, 2018):
I actually probably won't test that it works until #31 is solved, I don't feel like opening the sandbox.
@AdrianKoshka commented on GitHub (Apr 28, 2018):
I lied, and I can confirm it at least launches. Oh, question, does Barrier need DRI access? I ask because I see this:
@AdrianKoshka commented on GitHub (Apr 28, 2018):
@AdrianKoshka commented on GitHub (Apr 28, 2018):
I added
--device=dri(enables OpenGL rendering) to thefinish-argssection of the manifest, and it no-longer complains about the DRI stuff.@AdrianKoshka commented on GitHub (Apr 28, 2018):
Did a single test, and the keyboard/mouse sharing worked, as well as copy/paste:
barrier(running without SSL [The screenshot above is from before I started testing]) 2.0.0~/.local/bin/barrierc --no-daemon <server-ip>2.0.0I might do a test with SSL later.
@walker0643 commented on GitHub (Apr 28, 2018):
That's good news, Adrian. Cheers for sticking with it. Barrier itself doesn't explicitly access the dri device, though Qt5 might use it if it's available.
On a side note, all the cool kids use i3 😄
@AdrianKoshka commented on GitHub (Apr 28, 2018):
I guess what needs to be done now is:
@AdrianKoshka commented on GitHub (Apr 29, 2018):
Here's a rough-draft of the appstream metadta
@AdrianKoshka commented on GitHub (Apr 29, 2018):
I built barrier as a 32-bit flatpak, and it runs! (flathub prefers if something can build for
i386,x86_64,arm, andaarch64. I'd testarm/aarch64but I don't feel like spinning up VMs.) If you're wondering how I did it, I simply did:make BUILDER_OPTIONS="--arch=i386"which passes that argument toflatpak-buildervia a variable.@AdrianKoshka commented on GitHub (Apr 29, 2018):
Here's the 32-bit flatpak'd barrier running on 32-bit
flatpakon my netbook (64-bit kernel, mostly 32-bit userland, Debian 9 stretch [x86 raspbian spin]):@AdrianKoshka commented on GitHub (May 22, 2018):
Apologies for the radio silence, I was on a vacation for the past two weeks, and went to VCF-E (Vintage Computer Festival East) this past weekend.
@AdrianKoshka commented on GitHub (May 22, 2018):
Thanks for
b43581c2f5, I was able to remove a section from my manifest.@johnny-mac commented on GitHub (May 23, 2018):
So this is in active development on flatpak? that's awesome! But your link up there didn't work, page not found.. You gonna be adding it to flathub any time soon?
I run Void Linux (GLIBC & MUSL) but can't get Barrier to build, would really love to be able to use a flatpak app for it.
@AdrianKoshka commented on GitHub (May 23, 2018):
I'm going to PR to flathub when I feel it's ready. I already have one WIP PR to flathub (for virt-viewer/remote-viewer) so I don't have two WIP PR's.
If you want my repo so you can build from source: https://github.com/AdrianKoshka/flathub/tree/com.github.debauchee.barrier
@AdrianKoshka commented on GitHub (May 23, 2018):
So far, the easiest way to build the flatpak is:
Then to install locally:
@AdrianKoshka commented on GitHub (Jun 30, 2018):
Why was this closed? Inactivity, I've been waiting on a PR you pulled into a different branch to be pulled into master. #48 specifically.
@AdrianKoshka commented on GitHub (Jul 3, 2018):
Now that the
pkg-configfixe was merged (#86), I can say that I no longer have to use the hack to point the compiler to the avahi libraries.@AdrianKoshka commented on GitHub (Jul 3, 2018):
This means I can finally start moving forward again, probably start working on the appstream data.
@AdrianKoshka commented on GitHub (Jul 3, 2018):
How do you properly pass the version of barrier to the buildsystem? I have:
Though when I run
--version, I get:@walker0643 commented on GitHub (Sep 8, 2018):
The top of cmake/Version.cmake has the constants that cmake uses to fill in the placeholder variables like @BARRIER_VERSION@ in the .in files. Is that what you were asking??
@ugtar commented on GitHub (Dec 31, 2018):
is avahi required? i personally don't have the avahi daemon running because i don't need to auto-discover anything. With avahi not running, barrier can't auto-configure, but it works fine if I manually enter the barrier server IP. Seems like avahi could be an optional dependency that just disables the auto-discovery option at build time.
@AdrianKoshka commented on GitHub (Dec 31, 2018):
I'm not going to take avahi out just because one user doesn't use it. Also I should've closed this issue a while ago.
@AdrianKoshka commented on GitHub (Dec 31, 2018):
@ugtar If your intention is to make avahi an optional build component (which it seems to be, partially), then open another issue instead of piggy-backing off of this one.