napframework / nap

NAP Framework source code
https://nap-framework.tech
Mozilla Public License 2.0
410 stars 23 forks source link

Ubuntu 24.04 LTS support #43

Closed cklosters closed 3 months ago

cklosters commented 3 months ago

This PR adds support for Ubuntu 24.04, in combination with a decent amount of compilation / dependency cleanup:

In a future major version of NAP we should remove mpeg123 as a napaudio dependency and include it through libsndfile - which is now supported (in theory), see: https://github.com/napframework/nap/issues/42#issuecomment-2312527015. This PR also brings us 1 step closer to properly supporting arm64 on the Raspberry Pi (4 & 5) because of the libsndfile update.

Note that we should in a future major version remove the libjack dependency for napportaudio. It shouldn't have been there in the first place but has been picked up by the automated build script when portaudio was compiled. We should explicitly disable it because it is no longer required with newer versions of Ubuntu, as it is being replaced by pipewire.

PipeWire is a new low-level multimedia framework. It aims to offer capture and playback for both audio and video with minimal latency and support for PulseAudio, JACK, ALSA and GStreamer-based applications.

cklosters commented 3 months ago

I'm going to merge this as it fixes some minor compatibility check issues and is otherwise a third party dependency update that passes the builds and enables NAP to be used on Ubuntu 24.04. If you encounter issues going forward let me know! I will focus on NAP 0.8 (Pi5, arm64, napkin etc.) from now and will only push patches, no major changes.

cheywood commented 3 months ago

Nice, looks good :+1:

cklosters commented 3 months ago

Nice, looks good 👍

Thanks for the feedback @cheywood, hope you're doing well!