-
-
Notifications
You must be signed in to change notification settings - Fork 15.5k
kodi: add Wayland support #58400
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
kodi: add Wayland support #58400
Conversation
@@ -153,7 +158,7 @@ in stdenv.mkDerivation rec { | |||
which | |||
pkgconfig gnumake | |||
autoconf automake libtool # still needed for some components. Check if that is the case with 18.0 | |||
]; | |||
] ++ lib.optional useWayland [ wayland-protocols ]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this really belong to nativeBuildInputs
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As I understand it, wayland-protocols
are just xml files that describes the different protocols used in Wayland. They are converted to code at build time (usually with wayland-scanner
for C/C++ headers).
@minijackson Any reason why you closed this? |
Absolutely not, this was purely a mistake, sorry about that ^^' Thank you for noticing and telling me! |
You're welcome 😄 I was considering that you closed this since it's been two weeks without a review. Perhaps @cpages would be interested in reviewing, you can also ask in a discourse post or in Else fails, I should be able to in a couple of days. (this was on my sights). |
@@ -13,7 +13,8 @@ | |||
, libmpeg2, libsamplerate, libmad | |||
, libogg, libvorbis, flac, libxslt | |||
, lzo, libcdio, libmodplug, libass, libbluray | |||
, sqlite, mysql, nasm, gnutls, libva, libdrm, wayland | |||
, sqlite, mysql, nasm, gnutls, libva, libdrm | |||
, wayland, wayland-protocols, waylandpp, libxkbcommon |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These should be optional now that wayland is optional
++ lib.optional vdpauSupport libvdpau; | ||
++ lib.optional vdpauSupport libvdpau | ||
++ lib.optional useWayland [ | ||
wayland waylandpp libxkbcommon.dev |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add a comment if we cannot sort out needing .dev
I just did a quick review. I could not try it, but other than my minor suggestions, looks good to me. I'd go ahead and push this to have a working kodi for wayland. We can always try to have a mixed build later on. Btw, I'll be away for a few days, so @worldofpeace you can merge when you think it's ok. Thanks! |
d88d759
to
0f01d44
Compare
I implemented @cpages 's suggestions (thanks for the review by the way!), rebased on master and everything still works like a charm! |
@GrahamcOfBorg build kodi-wayland |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add wayland
to the derivation name when useWayland
is true
?
0f01d44
to
3520f42
Compare
Done! |
@GrahamcOfBorg build kodi-wayland sorry ofborg 😄 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've built and ran this with wayland ❇️
3520f42
to
e1f802d
Compare
Thank you @minijackson |
Motivation for this change
Kodi has had support (again) for Wayland since v18.0. It would be nice to ship it in NixOS.
I mimicked Firefox for Wayland's attribute path for Kodi with plugins:
kodiPlainWayland
kodiPlainWayland
gets wrapped with plugins intokodi-wayland
I'm open to suggestions / discussion, particularly on 2 things:
libxkbcommon
build dependency is specified aslibxkbcommon.dev
, otherwisekodiPlainWayland
won't build for me (cmake doesn't find xcbcommon), and I don't know why :-/kodi
andkodi-wayland
: the/bin/kodi
script already selects the right Kodi to launch if in a Wayland or X11 environment. So if we have a derivation which compiles bothkodi
+kodiPlainWayland
, and "copy"${kodiPlainWayland}/lib/kodi/kodi-wayland
into${kodi}/lib/kodi/
, we should have something that is both native to X11 and Wayland!Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nix-review --run "nix-review wip"
./result/bin/
)nix path-info -S
before and after)