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

kodi: 18.9 -> 19.0 #105417

Merged
merged 12 commits into from Feb 24, 2021
Merged

kodi: 18.9 -> 19.0 #105417

merged 12 commits into from Feb 24, 2021

Conversation

aanderse
Copy link
Member

Motivation for this change

The newest version of kodi (19.x) has enough changes that I'm guessing we should start testing this sooner rather than later.

This is heavily work in progress. I'm hoping other contributors will work with me on this one ❤️

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@aanderse
Copy link
Member Author

aanderse commented Nov 30, 2020

A list of things I plan to test and confirm work:

  • watching a video
  • nfs shares
  • libcec functionality
  • various kodiPlugins
    • kodiPlugins.inputstream-adaptive
    • kodiPlugins.joystick
    • kodiPlugins.vfs-sftp
  • various 3rd party plugins work
    • subtitles
    • netflix plugin works
    • disney plus plugin works
    • skins
  • x11 support
  • more to come...

kodiPlugins failing to build, requiring a fix:

  • steam-controller
  • pvr-hts
  • pvr-hdhomerun
  • pvr-iptvsimple
  • inputstream-adaptive

kodiPlugins requiring python3 compatibility changes/fixes:

  • advanced-launcher - this plugin is years old, unlikely we'll see a fix
  • advanced-emulator-launcher - maybe kodi has this functionality already builtin these days via retroarch 🤔
  • hyper-launcher
  • simpleplugin - abandoned upstream
  • svtplay - upstream issue
  • pdfreader
  • yatp - abandoned upstream

@aanderse
Copy link
Member Author

aanderse commented Dec 5, 2020

... plus many code and platform-specific fixes and improvements that might be less visible to most users, but are still significant, such as the move to a single Linux binary for multiple windowing systems (X11, Wayland, and GBM).

I just read that from the release notes. Looks like I need to fixup some changes I made.

@cpages
Copy link
Contributor

cpages commented Dec 9, 2020

Changes look good to me, hope I can help you test some of this in the following days

@aanderse aanderse mentioned this pull request Dec 10, 2020
@cpages
Copy link
Contributor

cpages commented Dec 12, 2020

I also tested that vaapi is working, as well as using kore as remote. In fact I saw an issue there (seek is not working), but I guess that's a generic issue. @aanderse have you tried to run it under wayland, btw?

@aanderse
Copy link
Member Author

@cpages thanks for the testing and feedback. I have only tested this under x11. I was hoping other people could test wayland and gbm support.

@aanderse
Copy link
Member Author

Note to self: take a look at #90235 and resolve it with this PR.

@edwtjo
Copy link
Member

edwtjo commented Dec 17, 2020

Looks good to me! I would like to add that I think it's fine to remove the broken plugins if there hasn't been any recent movement from the plugin authors, I'm thinking specifically about the py2 -> py3 plugins.

@aanderse aanderse changed the title kodi: 18.9 -> 19.0b2 kodi: 18.9 -> 19.0RC1 Jan 17, 2021
@aanderse aanderse force-pushed the kodi-19 branch 2 times, most recently from c8e129e to 5ea5fe3 Compare January 17, 2021 01:56
@aanderse
Copy link
Member Author

I dropped the last commit which renamed packages. I decided I have something much better planned for that, which will come in a future PR.

I think this is good to merge now 👍

@minijackson
Copy link
Member

If you're talking about the kodi-x11, kodi-wayland, kodi-something variants, if I remember correctly it is possible to put them in a single package, and the provided Kodi startup script will choose the right one

@aanderse
Copy link
Member Author

@minijackson yes. I assume someone like @peterhoeg had use for a trimmed down version which only include gbm, though.

I'll take care of the package naming changes in a future PR, though... I have a few ideas for some additions to kodi which can make my life easier.

@peterhoeg
Copy link
Member

My kodi appliance (and projector) have been sitting on a shelf, disconnected for quite a while. I'm not going to be able to properly test this out.

@aanderse
Copy link
Member Author

My kodi appliance (and projector) have been sitting on a shelf, disconnected for quite a while.

During a pandemic?! What secret source of entertainment do you have that the rest of us don't!? 😉

@aanderse
Copy link
Member Author

@GrahamcOfBorg build kodi

@aanderse aanderse merged commit 3a567bd into NixOS:master Feb 24, 2021
@aanderse aanderse deleted the kodi-19 branch February 24, 2021 00:39
@peterhoeg
Copy link
Member

peterhoeg commented Feb 24, 2021 via email

@minijackson
Copy link
Member

Hello, sorry I'm late to the party...

It seems I can't compile Kodi for wayland, and I think the problem is due to some word splitting here.

Here is the compilation log for kodiPlainWayland
@nix { "action": "setPhase", "phase": "unpackPhase" }
unpacking sources
unpacking source archive /nix/store/7ns8sjplg7sqhig0gngkl4xws1x3m224-source
source root is source
@nix { "action": "setPhase", "phase": "patchPhase" }
patching sources
@nix { "action": "setPhase", "phase": "configurePhase" }
configuring
fixing cmake files...
cmake flags: -DCMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY=OFF -DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_SKIP_BUILD_RPATH=ON -DBUILD_TESTING=OFF -DCMAKE_INSTALL_LOCALEDIR=/nix/store/vjmpgip72b5sj4b8w9rjdcpzlxypjh64-kodi-wayland-19.0/share/locale -DCMAKE_INSTALL_LIBEXECDIR=/nix/store/vjmpgip72b5sj4b8w9rjdcpzlxypjh64-kodi-wayland-19.0/libexec -DCMAKE_INSTALL_LIBDIR=/nix/store/vjmpgip72b5sj4b8w9rjdcpzlxypjh64-kodi-wayland-19.0/lib -DCMAKE_INSTALL_DOCDIR=/nix/store/vjmpgip72b5sj4b8w9rjdcpzlxypjh64-kodi-wayland-19.0/share/doc/kodi -DCMAKE_INSTALL_INFODIR=/nix/store/vjmpgip72b5sj4b8w9rjdcpzlxypjh64-kodi-wayland-19.0/share/info -DCMAKE_INSTALL_MANDIR=/nix/store/vjmpgip72b5sj4b8w9rjdcpzlxypjh64-kodi-wayland-19.0/share/man -DCMAKE_INSTALL_OLDINCLUDEDIR=/nix/store/vjmpgip72b5sj4b8w9rjdcpzlxypjh64-kodi-wayland-19.0/include -DCMAKE_INSTALL_INCLUDEDIR=/nix/store/vjmpgip72b5sj4b8w9rjdcpzlxypjh64-kodi-wayland-19.0/include -DCMAKE_INSTALL_SBINDIR=/nix/store/vjmpgip72b5sj4b8w9rjdcpzlxypjh64-kodi-wayland-19.0/sbin -DCMAKE_INSTALL_BINDIR=/nix/store/vjmpgip72b5sj4b8w9rjdcpzlxypjh64-kodi-wayland-19.0/bin -DCMAKE_INSTALL_NAME_DIR=/nix/store/vjmpgip72b5sj4b8w9rjdcpzlxypjh64-kodi-wayland-19.0/lib -DCMAKE_POLICY_DEFAULT_CMP0025=NEW -DCMAKE_OSX_SYSROOT= -DCMAKE_OSX_ARCHITECTURES=x86_64 -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_STRIP=/nix/store/cp1sa3xxvl71cypiinw2c62i5s33chlr-binutils-2.35.1/bin/strip -DCMAKE_RANLIB=/nix/store/cp1sa3xxvl71cypiinw2c62i5s33chlr-binutils-2.35.1/bin/ranlib -DCMAKE_AR=/nix/store/cp1sa3xxvl71cypiinw2c62i5s33chlr-binutils-2.35.1/bin/ar -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_INSTALL_PREFIX=/nix/store/vjmpgip72b5sj4b8w9rjdcpzlxypjh64-kodi-wayland-19.0 -DAPP_RENDER_SYSTEM=gl -DCORE_PLATFORM_NAME=wayland x11 -Dlibdvdcss_URL=/nix/store/sawh6jiqqwr1v22g8rjvr2n6cj44cl3r-source -Dlibdvdnav_URL=/nix/store/8ihw7i3l2xrvlzf4dznpwfl8kvvajra8-source -Dlibdvdread_URL=/nix/store/s73vsf3m7faxd7ak1zjn78fl204g6z8m-source -DGIT_VERSION=20210219 -DENABLE_EVENTCLIENTS=ON -DENABLE_INTERNAL_CROSSGUID=OFF -DENABLE_OPTICAL=ON -DLIRC_DEVICE=/run/lirc/lircd -DSWIG_EXECUTABLE=/nix/store/xlkfr9l47kcbbjv74s5ydh2h36r0f3n7-swig-3.0.12/bin/swig -DFLATBUFFERS_FLATC_EXECUTABLE=/nix/store/nnsjyrbk8whanr6c2fpi71bbrs50gnai-flatbuffers-1.12.0/bin/flatc -DPYTHON_EXECUTABLE=/nix/store/yl69v76azrz4daiqksrhb8nnmdiqdjg9-python3-3.8.8/bin/python -DWAYLANDPP_SCANNER=/nix/store/qy31rfaljr6rgwjl3jnlf20pz3jkbrls-waylandpp-0.2.8-bin/bin/wayland-scanner++ 
CMake Error: The source directory "/build/source/build/x11" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.

No line wrapping is annoying, so here is the CMake flags what I found weird:

-DAPP_RENDER_SYSTEM=gl -DCORE_PLATFORM_NAME=wayland x11 -Dlibdvdcss_URL=/nix/store/...

@minijackson
Copy link
Member

Can't wrap my head around why/how the word is splitted, so the only quick fix I found was to set x11Support to false for kodiPlainWayland. I think the same happens for kodiGBM.

That's weird because passing multiple platforms to the CORE_PLATFORM_NAME option should be supported if I'm to believe the Gentoo ebuild file...

@aanderse
Copy link
Member Author

aanderse commented Mar 2, 2021

@minijackson sorry for the hassle... I could swear either I or someone else had tested this, but obviously I screwed something up there 🤷‍♂️

Fix incoming tonight.

@minijackson
Copy link
Member

No worries, for now it just means I'm stuck with Kodi 19.0RC1, not a life or death situation for me ^^

@aanderse aanderse mentioned this pull request Mar 3, 2021
10 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants