lc3plus
codec is here (If any packager @eh5 wants to package) : https://www.etsi.org/deliver/etsi_ts/103600_103699/103634/01.03.01_60/
for
-D bluez5-codec-lc3plus=enabled
Git Clone URL: | https://aur.archlinux.org/pipewire-common-git.git (read-only, click to copy) |
---|---|
Package Base: | pipewire-common-git |
Description: | Low-latency audio/video router and processor |
Upstream URL: | https://pipewire.org |
Licenses: | MIT |
Conflicts: | pipewire-alsa |
Provides: | pipewire-alsa, pulseaudio-alsa |
Submitter: | eh5 |
Maintainer: | eh5 |
Last Packager: | eh5 |
Votes: | 5 |
Popularity: | 0.011274 |
First Submitted: | 2021-01-10 08:40 (UTC) |
Last Updated: | 2022-07-21 02:54 (UTC) |
lc3plus
codec is here (If any packager @eh5 wants to package) : https://www.etsi.org/deliver/etsi_ts/103600_103699/103634/01.03.01_60/
for
-D bluez5-codec-lc3plus=enabled
Noticed you are a TU, here is a short explanation on why I created pipewire-common-git
https://aur.archlinux.org/pkgbase/pipewire-common-git#comment-785408 .
@dvzrv The PKGBUILD of this this pkgbase build the latest version(git master branch) of pipewire.
The "common" in package name is just to distinguish from another AUR package of pipewire, "pipewire-git".
@eh5: What is the use-case for this package in comparison to the extra/pipewire split-package?
Since pipewire 0.3.39, pipewire-media-session has moved into a separate package base. Hence I have changed some packages in this package base to depends on pipewire-session-manager
instead, which also depends on pipewire >= 0.3.39 if it resolves to pipewire-media-session. So it's a little bit tricky to upgrade to 0.3.39 because of circular dependency between this package base with pipewire-media-session.
And here is my guide if you want to build/use pipewire-media-session-git:
pipewire>=0.3.39
with pacman -Udd
or pacman -Sdd
pipewire>=0.3.39
)Once wireplumber has added a provide to pipewire-session-manager
, you could then use it instead.
edit: use pipewire-media-session-git instead of media-session-git, which is about to merge into the former.
@Netboy3
please reconsider adding media-session-git as "depends".
Oh, yes. I was trying to say to not build media-session source in this package base. Sorry for the confusion.
@eh5, please reconsider adding media-session-git as "depends". there are many folks out there using wireplumber instead of media-session. Upstream has intentionally created a balanced hierarchy of pipewire with two sub-projects dealing with media-session management. Creating a dependency on one of the session managers deviates from the intention of the upstream and should really be left to the user to decide.
Upstream has now separated[1] its example media session pipewire-media-session
into a standalone project https://gitlab.freedesktop.org/pipewire/media-session. So I have created a AUR package for it, https://aur.archlinux.org/packages/media-session-git. I would probably change this package to depends on media-session-git
when things are settled in upstream.
Currently the media-session is still built as a meson subproject of pipewire here, so you don't have to build&install media-session-git
yet.
[1] https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1024
@eh5, I just saw, nice and thank you!
@Edu4rdSHL I have done something similar.
Hello, please can you merge this PKGBUILD.patch: https://paste.rs/mmr
libopenaptx was removed from repos and pipewire now depends on libfreeaptx, see https://github.com/archlinux/svntogit-packages/commit/729407a399f990659ffb6472d39989beefb9eddc#diff-3e341d2d9c67be01819b25b25d5e53ea3cdf3a38d28846cda85a195eb9b7203a for more context.
Thank you.
@eh5 experiencing that error as well (unable to resolve the libwebrtc dep) - I was able to install pipewire by updating my webrtc-audio-processing
to version 0.3.1-3
which yay/pacman wasn't updating.
Use yay --getpkgbuild webrtc-audio-processing
and build it yourself makepkg
then install.
@Dude803 I guess you would need to update your packages repo, the libwebrtc_audio_processing.so=1-64
is provided by webrtc-audio-processing.
But somehow AUR web also can not recognize libwebrtc_audio_processing.so
...
Starting yesterday (June 5) I am experiencing a weird error on package upgrade: cannot resolve "libwebrtc_audio_processing.so=1-64", a dependency of "pipewire-common-git"
. Is this something wrong on my end or is this something wrong with the package?
edit: Following "extra/pipewire", I have removed all /usr/share/pipewire/**/*.conf
entries from backup=()
array. From now on all files under /usr/share/pipewire
would be overwritten during upgrading.
@Netboy3 It's OK as long as pacdiff
is used and the diffs are properly handled after every pipewire upgrading.
pipewire currently don't merge config from multiple files, it search config name from ~/.config/pipewire
, /etc/pipewire
, /usr/share/pipewire
and only accept the first one found.
For someone (like me) who has custom property values in configs and still want other properties to be in sync with upstream, /usr/share/pipewire
+ pacdiff
might be an easier way to go. Otherwise, one might need to write a custom script to sync changes from /usr/share/pipewire
to /etc/pipewire
on every upgrading, or do it manually.
Thanks for updating the package promptly. Your part (3) advice is not recommended. Normally /usr/share
is reserved for package content, not user managed configs. Advising users to modify /usr/share
configs is not recommended and most packages will warn you that any changes to /usr/share
will be overwritten during package updates. This is especially concerning when the developers provide the users with two locations for overriding/modifying the configs (/etc/pipewire
and ~/.config/pipewire
).
Config files are now installed to /usr/share/pipewire
, all previously installed configs in /etc/pipewire
would be renamed to *.pacsave
. You have several options to migrate those files.
If you have never modified any config property in /etc/pipewire
, you can safely delete all those *.pacsave
. (e.g. rm /etc/pipewire/**/*.pacsave
or rm -rf /etc/pipewire
)
Remove .pacsave
postfix from config files you have modified, pipewire
would still read config from /etc/pipewire
and it has higher priority than /usr/share/pipewire
.
In the latest master, pipewire changed the package-delivered config directory from /etc/pipewire
to /usr/share/pipewire
. The /etc/pipewire
is still being scanned for systemwide config changes, but is optional for the system admin to modify. This requires a few _pick and install invocations to be adjusted.
Dropped JACK SPA plugin following "extra/pipewire", if your setup needs pipewire to perform a JACK device role, please switch to pipewire-full-git, pipewire-full-jack-client-git.
Check which version you upgraded from in /var/log/pacman.log (e.g. cat /var/log/pacman.log | grep pipewire-common-git -C 10 | tail -n 20
).
The service enabling command should be executed if you upgrade pipewire-common-git from a version less than 0.3.22.r46.ge340a44a-2. (see https://aur.archlinux.org/cgit/aur.git/tree/pipewire.install?h=pipewire-common-git&id=1ec9f9db66eb2faf4b286877c0e5be0f429d7461#n12) If you have already manually enabled the service, the install script would not outputs any hint message even if it re-runs the service enabling command.
edit: Updated with https://aur.archlinux.org/cgit/aur.git/commit/?h=pipewire-common-git&id=c33c0c09b7450bac58e6d0046dc84cc1ff43d3f3.
For some reason the install script is not enabling pipewire-media-session.service
for me.
The execution for pipewire's media session is now split out into pipewire-media-session.service
.
Enable the service manually with systemctl --user enable --now pipewire-media-session.service
, or (force) rebuild the pacakge base and then install script will do it for you.
You were right @eh5.
For anyone who comes across this issue: the build dir was cached, deleting it fixed it. Never had this issue before.
So sorry for the noise.
@kleinph The pkgvel did changed. https://aur.archlinux.org/cgit/aur.git/commit/?h=pipewire-common-git&id=573ffe8f7341ae14563f64881f06432230b42ec1
Again, vulkan-headers is now not required to build, I have successfully built it in a fakeroot.
Sorry, I see you increased the commit hash, which I missed because I forced a rebuild meanwhile.
My apologizes...
@eh5 If I build it with an AUR helper this should be a clean build, I also saw the changed meson options in the diff review.
-Because-you-did-not-increase-the-pkgrel
-after-you-added-the-additional-replaces/conflicts-(so-I-had-to-use-the---devel
-option-on-pikaur-to-force-a-rebuild).-
Also note that you have to increase the pkgrel if you want that AUR helplers get this changes (or update to a new commit hash if there is any). @kleinph Why you think I don't know that...
@kleinph It requires a clean build, meson options are changed.
I see the replaces/conflict was already solved while I was writing my comment. Pleas also look into the vulkan-headers
issue.
Also note that you have to increase the pkgrel
if you want that AUR helplers get this changes (or update to a new commit hash if there is any).
There are two errors in the PKGBUILD:
vulkan-headers
is still needed as a makedeppipewire-common-ffmpeg-git
(and maybe also pipewire-common-bluez5-hsphfpd-git
should be conflicts/replaced as @PedroHLC already pointed out.(The pipewire-common-ffmpeg-git
caused conflicting files, the other one was not installed on my system.)
@PedroHLC Updated, replaces+conflicts should do the trick.
I think then you can put package_pipewire-common-git()
to replace+provides+conflicts (pipewire-common-bluez5-git pipewire-common-bluez5-hsphfpd-git pipewire-common-ffmpeg-git)
Dropped vulkan, ffmpeg, hsphfpd SPA plugins in this "common" package base because they are disabled by default in upstream, you can still find them in https://aur.archlinux.org/pkgbase/pipewire-full-git.
Vulkan, ffmpeg SPA plugins are actually not used by pipewire's default media session, you won't have any lose on it except less dependency.
Consider that pipewire's native HSP/HFP support is now good enough compared to hsphfpd, I also dropped hsphfpd varient of bluez plugin.
@kode54 Maybe you are on the old version? pipewire-common-git
now is not depends on alsa-card-profiles
. https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=pipewire-common-git#n63
I see. Since pipewire-common-git is providing it, it shouldn't be depending on the alsa-card-profiles package, or delete the alsa card profiles files, then.
alsa-card-profiles
is now split from pipewire in Arch. https://github.com/archlinux/svntogit-packages/commit/c57aba57e6185ba5221d497444b25ab03fb7ba2a#diff-37538beb61ff63edebbf735dfcf39e5d732f49183d6beb097169d971875ca422
Splitting alsa-card-profiles
is meaningless for this VCS package base since it's a pipewire specific version and only pipewire requires it currently, so we let pipewire-common-git
provides it.
@tornado99 Then just replace pipewire-git
with pipewire-common-git
. I would add pipewire-git
as conflict of pipewire-common-git
in next commit.
edit: Make bluze5 plugin be dependent on pipewire-common-git
instead.
What I said about makepkg -rs
in my previous comment is to showcase that pipewire
is not required for building this package base. It's still a runtime dependency though. Since pipewire-common-git
"provides" pipewire, it's not a problem to add pipewire as runtime dependency (aka. put pipewire into depends array).
Seems your AUR helper don't recognize pipewire-common-git
as a "pipewire" provider(like pipewire-git
). You'd better build/install pipewire-common-git
and pipewire-common-pulse-git
firstly before building pipewire-common-bluez5-*
.
I would like to use a package manager like Pacman/pamac/yay. Even if I start with no pipewire packages installed it seems your AUR package always installs pipewire first. The error I get is:
conflicting files: - pipewire-common-bluez5-hsphfpd-git: /usr/lib/spa-0.2/bluez5/libspa-bluez5.so already exists in filesystem (owned by pipewire-git)
Perhaps you could remove pipewire as a dependency?
@tornado99
It wants to install pipewire or pipewire-git first,
I don't think it requires pipewire
to build. Maybe you can try building it with makepkg -rs
.
Ex.
$ git clone https://aur.archlinux.org/pipewire-common-git.git
$ cd pipewire-common-git && makepkg -rs
and then complains there is a conflict with pipewire when installing itself.
Of course it conflict with pipewire
, the package is meant to replace other pipewire
builds.
I'm confused about how to install this. It wants to install pipewire or pipewire-git first, and then complains there is a conflict with pipewire when installing itself.
If someone needs any of these packages pre-built, chaotic-aur builds them hourly...
@FabioLolix This one has gstreamer support (provides gst-plugin-pipewire
) and hsphfpd support enabled.
(All below is edit message for anyone who interests.)
Be aware that https://aur.archlinux.org/packages/gst-plugin-pipewire-git/ depend by pipewire-git is not part of pipewire-git package base.
Many people request[1-2] the maintainer(https://aur.archlinux.org/account/sl1pkn07) of pipewire-git to enable gstreamer support but seems he refuse to do that. Despite gstreamer support is enabled by default in upstream (also in Arch repo) and gstreamer plugin is a dynamic loadable library which is capable to be split into separate package.
And some request to orphan or delete pipewire-git but all has been rejected by TU[3].
There was a VCS package solved gstreamer problem named pipewire-nightly
, but a TU decides to delete it for the reason that the suffix "-nightly" in package name imply that it has to be a snapshot package[4].
Those are reasons why I create this package base.
[1] https://aur.archlinux.org/pkgbase/pipewire-git/?O=20&PP=10#comment-775875
[2] https://aur.archlinux.org/pkgbase/pipewire-git/?O=10&PP=10#comment-777463
[3] https://lists.archlinux.org/pipermail/aur-requests/2020-December/thread.html (search keyword "pipewire")
[4] https://lists.archlinux.org/pipermail/aur-requests/2020-December/047836.html
What is the difference with pipewire-git?
Pinned Comments
PedroHLC commented on 2021-01-11 22:53 (UTC)
If someone needs any of these packages pre-built, chaotic-aur builds them hourly...