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

Ship the libpulse headers #90

Open
linkmauve opened this issue Aug 21, 2018 · 3 comments
Open

Ship the libpulse headers #90

linkmauve opened this issue Aug 21, 2018 · 3 comments

Comments

@linkmauve
Copy link

linkmauve commented Aug 21, 2018

Currently when building software which depends on PulseAudio, I have to install libpulse to get its headers and pkg-config files. It would be nice if apulse would ship the ones it already has in 3rdparty/, as well as create a .pc file, so I could continue using apulse as my sole libpulse implementation.

@i-rinat
Copy link
Owner

i-rinat commented Aug 21, 2018

Apulse's sources actually come with a copy of PulseAudio headers (3rdparty/pulseaudio-headers directory), and by default bundled headers are used at compilation stage. One can switch to system headers by setting USE_BUNDLED_PULSEAUDIO_HEADERS to 0, but that has to be an explicit decision. Perhaps, your distribution maintainer decided to use headers from the libpulse for some reason.

IIRC, configuration option was added after question #11.

@linkmauve
Copy link
Author

linkmauve commented Aug 21, 2018

This bug report isn’t about using them for apulse compilation, it is about installing them to /usr/include for other programs’ compilation, in the case you built apulse with -DAPULSEPATH=/usr/lib in order to replace libpulse system-wide.

Note that I’m not using a distribution package, but building it myself in order to avoid any libpulse or pulseaudio being present on my system.

@i-rinat
Copy link
Owner

i-rinat commented Aug 21, 2018

it is about installing them to /usr/include for other programs’ compilation

I don't know why exactly, but that feels wrong. Resembles plagiarism.

in the case you built apulse with -DAPULSEPATH=/usr/lib in order to replace libpulse system-wide.

Apulse is far from complete implementation of PulseAudio API. Trying to implement all of the API will essentially turn apulse into reimplementation of PulseAudio with the same client-server architecture. That will most probably will introduce various bugs that were solved in PulseAudio years ago. I don't know why one would invest a ton of effort into apulse to bring it to that point, when it's easier to just take PulseAudio itself and make required changes.

By the way, installing it into /usr/lib will make every application aware that machine has PulseAudio. Since most applications first try PulseAudio, and only then try ALSA, they will use apulse, which has a lot of API not implemented.

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