-
Notifications
You must be signed in to change notification settings - Fork 2k
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
media-libs/libva: Fix circular dependency with mesa #29900
Conversation
Pull Request assignmentSubmitter: @DarkDefender media-libs/libva: @gentoo/va-api Linked bugsNo bugs to link found. If your pull request references any of the Gentoo bug reports, please add appropriate GLEP 66 tags to the commit message and request reassignment. If you do not receive any reply to this pull request, please open or link a bug to attract the attention of maintainers. In order to force reassignment and/or bug reference scan, please append Docs: Code of Conduct ● Copyright policy (expl.) ● Devmanual ● GitHub PRs ● Proxy-maint guide |
Note that this is just a proposed solution, so I am open for discussing this as I do agree that this might be a bit heavy handed. |
Pull request CI reportReport generated at: 2023-03-02 16:03 UTC There are existing issues already. Please look into the report to make sure none of them affect the packages in question: |
Yes, see https://wiki.gentoo.org/wiki/Project:VA-API
I'm willing to give it a try, but we shouldn't make this change in stable ebuilds. Let's make a 2.17.0-r1 that has this change. Same thing for reverse dependencies; we cannot just modify dependencies in stable ebuilds for a few reasons, not the least of which is that they won't be rebuilt and will prevent installation of the new libva. But I don't understand how the patch makes that change exactly. It looks like it removes Dropping |
Ah yeah, that is a much more sensible solution. I'll revert the changes to everything and just drop the opengl useflag in new and live ebuilds.
If I understand everything correctly, then the x11/wayland backends are used to tie a vaapi surface to a native X11 or Wayland surface. So the GLX backend provided a way to tie a GLX OpenGL surface to the VAAPI output. So in case the a program is not using a OpenGL surface to display the vaapi output, we need these backends. I'm not 100% certain I interpreted this correctly though. |
@mattst88 I'm guessing that we just ignore the CI warnings? |
Yes, they need to be fixed. Since you dropped the See: https://devmanual.gentoo.org/general-concepts/dependencies/index.html
I guess, that you want |
Pull request CI reportReport generated at: 2023-03-07 15:48 UTC There are existing issues already. Please look into the report to make sure none of them affect the packages in question: |
@ConiKost thanks for the heads up! And yes, |
Yep, then |
Just to be clear you want one commit for the |
Yes, exactly :-) |
This removes the GLX backend to drop the "virtual/opengl" dependency. Without removing this, it would pull in mesa which in turn would pull in libva if vaapi support was turned on. Removing the GLX backend doesn't seem to have any practical downsides, even under X11, as the EGL backend seems to be used even if libva were compiled with GLX support. Signed-off-by: Sebastian Parborg <darkdefende@gmail.com>
Done! :) |
Pull request CI reportReport generated at: 2023-03-07 17:13 UTC There are existing issues already. Please look into the report to make sure none of them affect the packages in question: |
@mattst88 lgtm. Wdyt? |
diff --git a/media-libs/xine-lib/xine-lib-1.2.13.ebuild b/media-libs/xine-lib/xine-lib-1.2.13.ebuild
index a7cce97ce1ac7..5440556bc5c9b 100644
--- a/media-libs/xine-lib/xine-lib-1.2.13.ebuild
+++ b/media-libs/xine-lib/xine-lib-1.2.13.ebuild
@@ -81,7 +81,7 @@ RDEPEND="
media-libs/freetype:2
)
v4l? ( media-libs/libv4l )
- vaapi? ( media-libs/libva:=[opengl,X] )
+ vaapi? ( media-libs/libva:=[opengl(+),X] )
vcd? (
>=media-video/vcdimager-0.7.23
dev-libs/libcdio:=[-minimal] We can't just modify this in place -- there's nothing that will trigger a rebuild for it, so if it's already installed it'll continue to depend on |
Ok, then how do we solve the CI warnings? So to me it seems like the only way left would be to remove the old ebuilds completely. |
Sorry, I missed the CI warnings so I've tried to recreate them—
For this, it's okay to revbump the stable ebuilds if we're confident that the functionality (previously) enabled by Otherwise, it's fine to leave the stable ebuilds alone and ignore the warning with the knowledge that we just need to stabilize xine-lib, kodi, and mythtv before stabilizing libva that doesn't have |
From my tests it seems like we should be able to just revbump the stable builds and have no issues. I guess it is your call on what you want to do. |
Signed-off-by: Sebastian Parborg <darkdefende@gmail.com>
Signed-off-by: Sebastian Parborg <darkdefende@gmail.com>
22f24a0
to
2be5bfe
Compare
Pull request CI reportReport generated at: 2023-03-15 15:39 UTC There are existing issues already. Please look into the report to make sure none of them affect the packages in question: |
@mattst88 I did the revbump as you suggested. Now no ebuild depend on the If there are any issues, simply just rolling back to an older version than So if any unforeseen issues happen, all that should be needed is to revert the disabling of the glx backend in the libva ebuilds. |
Pull request CI reportReport generated at: 2023-03-15 15:48 UTC There are existing issues already. Please look into the report to make sure none of them affect the packages in question: |
Sorry I haven't had time to get back to this. |
No problem. I've been kinda busy too, so I know the feeling. |
Signed-off-by: Sebastian Parborg <darkdefende@gmail.com>
Pull request CI reportReport generated at: 2023-04-03 15:24 UTC There are existing issues already. Please look into the report to make sure none of them affect the packages in question: |
@mattst88 any light at the end of the tunnel? 😉 |
@ConiKost perhaps you can take over the review and give the final greenlight as it seems like Mats will not have time in the near future. |
@mattst88 thanks for merging! Sorry for all the nagging... |
This removes the GLX backend to drop the "virtual/opengl" dependency. Without removing this, it would pull in mesa which in turn would pull in libva if vaapi support was turned on.
Removing the GLX backend doesn't seem to have any practical downsides, even under X11, as the EGL backend seems to be used even if libva were compiled with GLX support.
Mesa is currently unconditionally built with EGL support, so there shouldn't be any situation where an end user can end up needing the GLX backend.
However using EGL instead of GLX breaks the dependency loop as it does not need any headers from mesa at compile time.
(The libraries does also not directly link to any opengl libs)
@mattst88 I'm unsure if you are the maintainer now?
This commit is a bit fuzzy about this detail: 1ef3e2a