jamulussoftware / jamulus

Jamulus enables musicians to perform real-time jam sessions over the internet.
https://jamulus.io
Other
997 stars 222 forks source link

Status of Jamulus integration in Linux distributions #223

Closed corrados closed 3 years ago

corrados commented 4 years ago

This issue is basically just a list of URLs which relate to possible integrations of Jamulus in Linux distributions.

Several years ago, there was an attempt to include Jamulus in Redhat: https://bugzilla.redhat.com/show_bug.cgi?id=1118963 The CONFIG options "noupcasename" and "opus_shared_lib" were a result of it.

More recently, mirabilos did some work for including Jamulus in Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=958146 We also have Jamulus Issues related to that, e.g., https://github.com/corrados/jamulus/issues/100

It seems that there is a Jamulus package in OpenSuse available: https://software.opensuse.org/package/Jamulus

If you know of other Linux distributions or have updated informations, please post them here.

Packaging status

trebmuh commented 4 years ago

Not a mainstream distribution, but one focused on music tools, jamulus is actually in its testing phase for LibraZiK. I'm waiting to finish the whole French translation to get it out of the testers repo and in the users repo.

Snayler commented 4 years ago

ArchLinux (and any Arch based distro) has the latest version available in the AUR. https://aur.archlinux.org/packages/jamulus/

pljones commented 4 years ago

Just noticed the AUR has its own jamulus.desktop. Maybe the Linux distros could agree on a jamulus.desktop entry that can be included or have one generated that's distro-specific by the build process?

trebmuh commented 4 years ago

Yep, distros tend to do that from time to time. Sometimes with a very good reason, but usually not. Maybe someone can drop them a message about the existence of a upstream desktop file ?

Oh, after checking, I know the packager and will report that to him.

jujudusud commented 4 years ago

Hi all, Co-maintainer of AUR Archlinux package here. just finishing to update the package in order to use upstream jamulus.desktop file. Thanks a lot trebmuh and all of you guy for all that stuff ! :-)

jtojnar commented 4 years ago

It would be nice if the desktop file was installed by qmake, see https://github.com/corrados/jamulus/pull/247#discussion_r428560108, https://github.com/corrados/jamulus/pull/247#issuecomment-633315300 and https://github.com/corrados/jamulus/pull/247#issuecomment-633318364.

P.S. For cross-distro tracking there is https://repology.org/project/jamulus/versions.

corrados commented 4 years ago

Can you create a pull request for that? If not you, than anybody else?

corrados commented 4 years ago

BTW: The link in your post is pretty cool :-)

Edit: I have moved the link to the packaging status in the first post of this Issue.

jtojnar commented 4 years ago

Unfortuntaely, I will not be able to open a PR anytime soon.

corrados commented 4 years ago

@jtojnar atsampson was so kind to do the implementation and the new code is already merged to the Git master. Do you have the possibility to check if the implementation works as you requested?

seb314 commented 4 years ago

For NixOs/Nix there's a package on master (but not in any of the stable releases currently)

seb314 commented 4 years ago

@jtojnar [...] Do you have the possibility to check if the implementation works as you requested?

https://github.com/corrados/jamulus/pull/331#issuecomment-639666652

trebmuh commented 4 years ago

As said in #439, jamulus 3.5.6 is now officially in the LibraZiK-3 users repo.

ann0see commented 4 years ago

I just found jamulus in homebrew for macOS: https://formulae.brew.sh/cask/jamulus

cosmicfranz commented 3 years ago

Hi everybody, I’m new to Jamulus and I would like to try it on a private Fedora Linux server (version 32). I have been able to create a RPM package, loosely based on the OpenSUSE spec file. I have installed such package and I can run the executable both as a client and a server.

So far, so good. However, a problem arises if I try to connect to this server with a client running on the same machine: in other words, I have two instances of the same executable, one started with ‘-s’. When I ask the client to connect to localhost, it crashes immediately with this error:

_Fatal (internal) error in celt/celtdecoder.c, line 126: assertion failed: st->end <= 21

which seems related to the OPUS library I am using, that is, the one already present on my Fedora installation (version 1.3.1). I have chosen to use the system library instead of the bundled one at compile time.

I know nothing about opus library, and very little about Jamulus internals. Any pointer on how to solve this issue?

Thanks Francesco Napoleoni

The following is the spec file I have written, on its way to conform to Fedora guidelines:

%define _debugsource_template %{nil} # this to get around a build error

Summary: Low-latency internet connection tool for real-time jam sessions Name: jamulus Version: 3.6.0 Release: 1 URL: https://jamulus.io/ License: GPLv2 and STK Source: %{name}-%{version}.tar.gz Patch0: get_rid_of_bundled_opus_library.patch # Deletes the libs/opus directory Patch1: tweak_license_file.patch # Removes the OPUS license and puts the STK license on another file. But this is still not enough for rpmlint...

BuildRequires: qt5-qtdeclarative-devel BuildRequires: jack-audio-connection-kit-dbus BuildRequires: jack-audio-connection-kit-devel BuildRequires: opus-devel BuildRequires: desktop-file-utils

%description The Jamulus software enables musicians to perform real-time jam sessions over the internet. There is one server running the Jamulus server software which collects the audio data from each Jamulus client software, mixes the audio data and sends the mix back to each client.

%prep %setup -q -n Jamulus3.6.0 %patch0 -p1 %patch1 -p1

%build qmake-qt5 PREFIX=/usr CONFIG+=noupcasename CONFIG+=opus_shared_lib make

%install install -D -m 0755 %{name} %{buildroot}/%{_bindir}/%{name} desktop-file-install --dir=%{buildroot}/%{_datadir}/applications %{_builddir}/Jamulus3.6.0/distributions/%{name}.desktop install -D -m 0644 distributions/%{name}.png %{buildroot}/%{_datadir}/icons/hicolor/512x512/%{name}.png

%files %defattr(0644, root, root, 0755) %attr(0755, -, -) %{_bindir}/%{name} %{_datadir}/applications/%{name}.desktop %{_datadir}/icons/hicolor/512x512/%{name}.png %doc README.md CONTRIBUTING.md ChangeLog %license COPYING COPYING-stk

atsampson commented 3 years ago

Yes, it's because you're using the system libopus - there's a bug in libopus's custom mode validation that's been fixed in Git but hasn't made it into a release yet.

cosmicfranz commented 3 years ago

Thank you. I have just verified that compiling with the internal opus library actually solves this problem.

Aside from this, after some research I have found an unofficial RPM for Fedora made by Yann Collette, which can be found here, version 3.5.5.

cheers Francesco Napoleoni

yajo commented 3 years ago

It seems @ycollet volunteered to package it for Fedora. I feel happier now, kudos! :heart:

Oops I just noticed I'm repeating the same as https://github.com/corrados/jamulus/issues/223#issuecomment-722304114... shame on me :see_no_evil:

trebmuh commented 3 years ago

Jamulus 3.6.1 is now officially in the LibraZiK-3 users repo.

trebmuh commented 3 years ago

Jamulus 3.6.2 has been in the LibaZiK-3 users repo since mid-December.