Closed sy6sy2 closed 4 years ago
For 4 i have a branch based off master with only ios changes
https://github.com/fuzzard/xbmc/commits/master_darwin-embedded
Just doing a full ios build to make sure no silly mistakes, then ill PR to master
Do you mean for point 5.?
Ya, point 5 make sense. As you already have a PR for 4 and it’s merged 😉
Do you think they will accept 5 without the tvOS PR? Also does this change effect binary addons in any way?
Also, are you proposing making changes like this:
#include "platform/darwin/ios-common/IOSKeyboard.h"
EDIT: answered myself, just takes longer to figure out from a tiny phone screen (missing my laptop!).
This is really nice work. Even just sifting through your branch @fuzzard the code layout/directory structure makes sense. I can’t say that about before this PR!
It will mean binary addon changes however.
Why the PR number 5 would not be accepted as such? For me the PR 5 is just here as a "pre-PR" before adding tvOS change. So with PR 5 we need to be able to build and run Kodi for iOS without any addition of tvOS code. And PR 6 only add tvOS code with the least possible change on iOS code.
Concerning binary addon, I don't think PR 5 will break binary addon build because the iOS toolchain need to set both TARGET_DARWIN_IOS
and TARGET_DARWIN_EMBEDED
BUT we will still have to change binary addon code to use TARGET_DARWIN_EMBEDED
else we will have problem with tvOS toolchain.
Hoping not to be too wrong in my answer.
Edit: Edit point 5 with @fuzzard branch suggestion
Example: the PR in 5 changes CORE_SYSTEM_NAME.
Yes you are right. I just notice that fuzzard changed CORE_SYSTEM_NAME
from ios
to darwin_embedded
.
For me:
darwin_embedded
over ios
because it is now clear that darwin_embedded is used with both iPhone, iPad and Apple TVI completely agree with the change. It’s just that it means a complete run through the binary addons to finish it!
I think it's worth the hassle. Won't take long as it will just be 1 or 2 lines each add-on on there findXXX scripts most likely. Best to get it done and out of the way early in v19 Dev, haha
Sure.
(I just start trying to build and run your master_darwin-embedded
branch on my iPhone)
Step 5 PR'd https://github.com/xbmc/xbmc/pull/16039
Thank you. I just adapted the description according to your PR and changes!
Edit: I will wait before adjusting branch code of PR6...
So Jenkins failed for OS X, iOS32/64 and tvOS. Didn’t get a chance to dig into why yet.
iOS failed with cat: ./migrate_to_kodi_ios.sh: No such file or directory
This isstrange because this file was renamed to migrate_to_kodi.sh
...
Must be something in the Jenkins files as it doesn’t happen in a local build
Maybe… I will try to build again the PR tonight and also the deb target but it would be ok...
Hmmm, I don’t see a build error for OS X. Not an obvious one anyway.
May just be as I’m trying to read the log on my phone 😉
I did not find it either
The Jenkins iOS build failed because of this line: https://github.com/fuzzard/xbmc/blob/f2f4d9917992afc0e425507aed500efdb86e6c39/tools/darwin/packaging/darwin_embedded/mkdeb-darwin_embedded.sh.in#L106
@fuzzard, did you apply changes from my PR (https://github.com/fuzzard/xbmc/pull/2) before opened the PR. Because in my fork this line is ok: https://github.com/SylvainCecchetto/xbmc/blob/12214fdcb473847e85a2be2df545d584fe7b324f/tools/darwin/packaging/darwin_embedded/mkdeb-darwin_embedded.sh.in#L106
Missed that one. Odd it built fine on my machine, but I'll get it fixed today sometime
Yes the Kodi target is not affected by this change, only the deb target ;-)
opened xbmc/xbmc#16160, although it doesn't affect tvOS in any way (but modifies Install.cmake
)
xbmc#16017 is finally merged
xbmc#16160 has been approved, but to be merged it first needs Jenkins build steps that use Xcode instead of make
@SylvainCecchetto can we also include xbmc#16259 in the list of PRs
@kambala-decapitator, so xbmc#16160 is dependent on which PR exactly to use Xcode in stead of make for ios. xbmc#16259?
@phunkyfish yes, correct
Thanks, updated issue description.
xbmc#16374, xbmc#16399
@kambala-decapitator these appear to be mainly iOS related. Is tvOS dev dependant on them being included?
like I wrote in Slack, storage code can be used for tvos without changes, and I’ll convert tvos to ARC as well as soon as that PR is merged (tvOS shares some code with iOS, so it's dependent)
Cool, thanks
All add-on related PRs are merged. Keep up the great work!
Thanks @hudokkow . After everything was merged, i found one i missed. PR is open
Also for those playing at home, ive added a commit to https://github.com/xbmc/xbmc/pull/16259 that will build binary addons as part of the xcode project. This means correctly adding binary addons to the final package for projects built using Xcode. This will make binary addons package correctly for tvos
just merged my ARC PR, now we can do this for tvOS as well
merged storage change, now disk space will be displayed in tvOS as well https://github.com/xbmc/xbmc/pull/16374
cmakebuildsys changes were actually merged just now - [ios] enable cmakebuildsys to generate xcodeproject - xbmc#16259
This opens the way for the storyboard merge Item 7
Ok, so apart from the MrMc Audio sink port and tvOS core changes everything on this list is merged!!!!
Well done @fuzzard, @kambala-decapitator and @SylvainCecchetto
Disclaimer:
Kodi 19 for Apple TV is still in development and many things do not work yet. If you want a daily Kodi app please follow this tutorial. If you really want to try Kodi 19 from one of the above branches (maybe to find any bug or to help in the development), be sure to have the necessary skills to do it and do not expect any "basic" support here. And last but not least, please do not share any generated
deb
from this branches! Official Kodi 19 version for Apple TV will be available for end users sooner or later, please be patient and use Kodi 17.Just a summary to follow our current workflow/plan (I will try to keep it updated with all references) with the needed order.
[Apple TV] Tools and dependencies support - https://github.com/xbmc/xbmc/pull/15919
OS
is set toios
andTARGET_PLATFORM
is set toappletvos
)[iOS] backport audio sink from MrMC - https://github.com/xbmc/xbmc/pull/16015
xbmc/cores/AudioEngine/Sinks/AESinkDARWINIOS.mm
[iOS] remove some legacy code - https://github.com/xbmc/xbmc/pull/16017
xbmc/platform/darwin/ios/
[ios] Move keyboard and keyboardview to ios-common - https://github.com/xbmc/xbmc/pull/16018
ios-common
folder[ios] change to darwin_embedded from ios for
CORE_SYSTEM_NAME
+ platform defines - https://github.com/xbmc/xbmc/pull/16039TARGET_DARWIN_EMBEDED
for both iOS and tvOS so we firstly need to adapt iOS code before add tvOS support. (We need to follow Rechi advice from here https://github.com/xbmc/xbmc/pull/15956#discussion_r279653063)CORE_SYSTEM_NAME
:ios
-->darwin_embedded
CORE_PLATFORM_NAME
-->ios
(and latertvos
with Apple TV)TARGET_DARWIN_EMBEDED
for both iOS and later tvOSTARGET_DARWIN_IOS
for iOS only[Apple TV] tvOS support for Kodi (WIP) - https://github.com/xbmc/xbmc/pull/15956
CORE_SYSTEM_NAME = darwin_embedded
andCORE_PLATFORM_NAME = tvos
TARGET_DARWIN_EMBEDED
andTARGET_DARWIN_TVOS
[iOS] migrate to Launch Screen storyboard - https://github.com/xbmc/xbmc/pull/16160
[ios] enable cmakebuildsys to generate xcodeproject - https://github.com/xbmc/xbmc/pull/16259
[iOS] separate storage provider - https://github.com/xbmc/xbmc/pull/16374
[darwin] convert Objective-C code to ARC - https://github.com/xbmc/xbmc/pull/16399
[kodi-platform] Update kodi-platform sha for PR29 - https://github.com/xbmc/xbmc/pull/16404
[addon] fix ios runtime failure after PR 14908 - https://github.com/xbmc/xbmc/pull/16397
[p8-platform] Update p8-platform sha for PR5 - https://github.com/xbmc/xbmc/pull/16417
[settings/cosmetic] Replace "computer" by "device" in setting help text - https://github.com/xbmc/xbmc/pull/16487
Feel free to ask me to modify this description!