FDH2 / UxPlay

AirPlay Unix mirroring server
GNU General Public License v3.0
1.55k stars 78 forks source link

Package as a flatpak and submit to flathub #9

Closed allaeddineomc closed 2 years ago

allaeddineomc commented 3 years ago

Making a flatpak package will make it easyer for people to install it and due to the confinement of flatpaks it will be unlikely to interfere with other programs and have bugs

fduncanh commented 3 years ago

probably not suitable for flatpak (CLI)

allaeddineomc commented 3 years ago

probably not suitable for flatpak (CLI)

do you like me to build a GUI for it ?

fduncanh commented 2 years ago

@allaeddineomc

UxPlay actually would be good for flatpak since I see that GStreamer is accessible in flatpaks. The development of the enhancements of UxPlay I wanted to do is now done, and the app seems stable. I dont anticipate much further work on it. apart from minor maintenance.

The CLI terminal is just an informative one (no input is accepted after launching UxPlay) and the app works fine as "uxplay [options] >/dev/null 2>&1 " so it could get a gui that allows the options to be set (probabably not including the -d debug option), and optionally opens an auxilliary text window showing the informational output stream after the app is launched. The video window is opened automatically by the gstreamer videosink. There is no attempt to get a handle for it, but a callback listens for a video-window closing event to relaunch the RAOP server.

If you are interested, just fork a copy and see if you can flatpak it with a simple gui. I can give advice or adjust things a little if someone has the basic work done so a flatpak prototype is basically working. The external dependencies are GStreamer1.0-libav + the abiility to optionally choose audiosink and videosink GStreamer plugins (probably by typing their names into a box for them in the gui) plus OpenSSL-3.0.0 's libcrypto (preferred for license reasons, but 1.1.1 is fine) and libplist (from github or packaged by all the Linux distributions)

Uxplay runs (and sometime restarts) a RAOP server to register a service on a local dns_sd avahi-daemon server and communicates with the network through three UDP and three TCP ports. It sends audio and video to gstreamer sinks.

allaeddineomc commented 2 years ago

I would really like to fork it and try to flatpak it but it will be impossible for me to test it since i currently have no iOS device in hand

fduncanh commented 2 years ago

If it builds in a flatpak sandbox I can certainly test and adjust it. The barrier is getting the initial flatpak setup and the simple gui done. Most of the main() is just getting parameter inputs. (a MacOS device can also mirror to UxPlay) But if you don't have a device to mirror, what is your interest? Advancing FlatPaK?

allaeddineomc commented 2 years ago

When i first opened the issue i had an iphone , now I'm on android , but i will try to get that done on my spare time , i will use GTK for the ui it won't look great on mac os without a custom css stylesheet but i will try to figure that out

allaeddineomc commented 2 years ago

BTW if you have a linux binary send it to me , i will try to build a ui that passes the arguments to the binary without editing the current source files to make it easier to debug and develop every part separately and avoid merging problems

fduncanh commented 2 years ago

Sounds tricky! I have no idea yet how flatpak works in detail, but I would think one can't have dependence on a specific binary. (You should be able to produce your own binary) Do you have much experience with buildng flatpak packages?

allaeddineomc commented 2 years ago

I had experience with appimages , i built flatpak only once but with gnome builder where everything is automated , for the dependencies you can build the binaries against a platform or bundle all of them inside the flatpak

fduncanh commented 2 years ago

closing this as an "issue".

please reopen if you are working on this and need any advice

razzeee commented 1 year ago

Just to clear this up, you don't need a gui to be in a flatpak. And even flathub allows tui apps. They are just not listed on the website right now.