Page MenuHomeSolus

Kodi 17.1: switch to cmake and add extra support libraries
Closed, InvalidPublic

Description

From kodi 18 onwards, autotools will no longer be supported, so it made sense to switch the current build to cmake sooner rather than later.

I've also added support for a few useful things, including:

  • AirPlay
  • ZeroConf/mDNS local network service discovery
  • VDPAU GPU acceleration
  • NFS support (depends on the new libnfs package)

Event Timeline

ermo created this task.Apr 2 2017, 2:21 PM
ermo renamed this task from Kodi 17.1: add support for AirPlay, mDNS (zeroconf) and vdpau to Kodi 17.1: add support for AirPlay/AirTunes, mDNS (zeroconf) and vdpau.Apr 2 2017, 5:13 PM
ermo updated the task description. (Show Details)
ermo updated the task description. (Show Details)Apr 2 2017, 5:31 PM

Doesn't look like libplist and shairplay are actually needed as builddeps, at least it isn't indicated by the abi_used_libs. Are you sure they aren't meant to be rundeps and given they aren't actually required to run, there isn't a particular reason to add them. I don't see a sense in requiring existing installs to install more "dependencies" for functionality that may not be used.

ermo added a comment.EditedApr 5 2017, 4:28 PM

From my testing, my understanding is that libplist and shairplay work together in the sense that kodi starts the shairplay binary (and presumably feeds it whatever it needs to be fed) and libplist parses whatever comes over the wire from an Apple device.

When only libplist (but not shairplay) is available, the AirPlay support is shown in the UI, but kodi errors out with "shairplay not found" (or something to that effect) when I try to enable AirPlay from the UI.

Both libplist and shairplay are searched for and found during the kodi configure phase, so there's bound to be some degree of support compiled in, even if it isn't indicated by the abi_used_libs?

FWIW, I figured including it would make sense for people who are used to streaming from their Apple devices, but I respect that you are of the opinion that it shouldn't be included by default.

Both libplist and shairplay are searched for and found during the kodi configure phase, so there's bound to be some degree of support compiled in, even if it isn't indicated by the abi_used_libs?

It should be indicated in abi_used_libs, whether it is for the binary or a library, but I am indeed seeing reference to it in the CMakeLists file, so I do suppose it is possible that it isn't linking against it, but rather just building some core functionality that enables the dynamic loading:

if(ENABLE_AIRTUNES)
  find_package(Shairplay)
  if(SHAIRPLAY_FOUND)
    core_require_dyload_dep(Shairplay)
  endif()
endif()

With that being the case, still not entirely sure about marking them as rundeps. I think I'll defer to @ikey's judgement on this one. I think keeping them as builddeps seems reasonable though, given the cmake check.

ermo renamed this task from Kodi 17.1: add support for AirPlay/AirTunes, mDNS (zeroconf) and vdpau to Kodi 17.1: switch to cmake and add extra support libraries.Apr 8 2017, 11:35 PM
ermo updated the task description. (Show Details)
ermo created subtask T3215: Add libnfs.
ermo added a comment.Apr 8 2017, 11:39 PM

Spent most of the day saturday on this. A review would be much appreciated -- once you spend so much time on a package, it's easy to become blind to the little things...

ermo updated the task description. (Show Details)Apr 9 2017, 7:20 AM
ermo updated the task description. (Show Details)Apr 9 2017, 7:47 PM

lgtm (+rundeps)

ermo updated the task description. (Show Details)Apr 9 2017, 10:21 PM

Updated with added rundeps: shairplay.

Can drop all the pwd calls and drop binutils-gold line from the builddeps list.

JoshStrobl triaged this task as Normal priority.Apr 10 2017, 1:04 AM
JoshStrobl moved this task from Backlog to Awaiting Fixes on the Patch Submission board.
ermo updated the task description. (Show Details)Apr 10 2017, 7:41 AM

Updated patch per review.

Captured the issues encountered with binutils-gold (which kodi wants!) as a comment.

ermo updated the task description. (Show Details)Apr 10 2017, 7:44 AM
ermo updated the task description. (Show Details)Apr 10 2017, 7:46 AM
JoshStrobl moved this task from Awaiting Fixes to Ready For Merge on the Patch Submission board.

LGTM, thanks!

JoshStrobl moved this task from Ready For Merge to Awaiting Fixes on the Patch Submission board.EditedApr 10 2017, 11:02 AM

Actually I take it back.

  1. Your patch has FROM information implying it's from me. From: Joshua Strobl <joshua@stroblindustries.com>. How did you generate this patch exactly?
  2. You're not using the latest clone of kodi, which uses rel 19 not rel 18, thus the patch fails to apply.
ermo added a comment.Apr 10 2017, 11:10 AM

Weird. I'll take a look.

ermo updated the task description. (Show Details)Apr 10 2017, 11:43 AM
ermo updated the task description. (Show Details)Apr 10 2017, 11:48 AM
ermo added a comment.EditedApr 10 2017, 12:04 PM

Is it any better now?

I think I must have inadvertently done a git commit --amend on top of *your* last commit at some point without noticing?

Yep, LGTM and patch properly applies. Chucking on the server now.

JoshStrobl closed this task as Resolved.Apr 10 2017, 12:22 PM

Landed in unstable as of https://git.solus-project.com/packages/kodi/commit/?id=b2c7a76caccfb6980a3aee624233cb83e1e797a7

Thanks for all the new improvements and goodies =)

Herald changed the task status from Resolved to Invalid. · View Herald TranscriptJan 26 2018, 6:41 PM
Herald changed the status of subtask T3128: Add shairplay from Resolved to Invalid.