-
-
Notifications
You must be signed in to change notification settings - Fork 6.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
Move Neptune/Platinum to an external dependency #17678
base: master
Are you sure you want to change the base?
Conversation
Really nice to remove them and have much more clean. Only not sure how this handled by most Linux distributions? There mostly Kodi's own depends installed inside system. |
AFAIK currently no distro ships platinum/neptune and this PR does one thing that IMO is bad: |
Yea it will have to be handled like libdvd
That's my mistake, I'll fix that |
Hi, to retain backward-compatibility for the cmake options what about something like this? Btw: building kodi with and without neptune/platinum works Updated: bkuhls@4e83e78 |
if(PLATINUM_URL) | ||
get_filename_component(PLATINUM_URL "${PLATINUM_URL}" ABSOLUTE) | ||
else() | ||
set(PLATINUM_URL https://github.com/lrusak/Platinum/archive/${PLATINUM_VER}.tar.gz) |
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.
Should we fork to xbmc org?
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.
yes the plan would be to move them to be under the org
@Paxxi can you take a stab at making the windows libs? |
Sure 😀 |
I never liked how those include paths to |
@lrusak this needs a rebase |
A rebased version of this patch is available here: master...bkuhls:master-PR17678 |
rebased |
again rebased |
ping, shall I try to rebase again? |
This removes the use of
lib/libUPnP
which is a combination of Neptune and Platinum libraries and allows them to be built as external dependencies.There really is no reason to include the code in our tree. We already use specific versions of libdvd and ffmpeg so we should do the same for Neptune/Platinum.
I've forked the respective repositories and created simple CMake based build systems for them that mirrors the functionality that we already had. This makes it so we don't have to track changes to these libraries in our Kodi source tree and makes upstreaming easier (though I think development for these libraries is non existent anymore). I've applied all of our internal patches to the repos with relevant author info, commit names, and dates.
The external trees are here for now but would ideally be moved under the xbmc name:
https://github.com/lrusak/Neptune/tree/1.2.3-Kodi
https://github.com/lrusak/Platinum/tree/1.2.0-Kodi
When creating the build system for these libraries I had to use some creative liberty and installed the headers into the respective library name include folders such as
include/Neptune/Neptune.h
andinclude/Platinum/Platinum.h
that is why there is changes to the include statements in our local files. I also did this to avoid polluting the include folder as there is quite a few headers that are needed. The other annoying part is that the Platinum refers to Neptune headers without a folder name so we need to includeinclude/Neptune
into the Platinum build.