2019-05-30, 10:52
To start, this post is about addons that are part of the official 18.2 source download. No 3rd-party addons are being downloaded separately. I think this is the best forum for this since the addon forum seems to be about individual addons, not all of them.
I've been trying to get a working SlackBuild (a shell script that automates building software into an installable package on Slackware and ) for kodi v18 now that I'm running a new enough mesa to build it. kodi compiles without issue, but I found I was missing inputstream.adaptive, as apparently these aren't compiled automatically anymore. Once I figured that out, I was able to add the command to compile the addons to the script, but it seems it doesn't support DESTDIR. That makes it really difficult to use this to package as you're now writing to the main system, possibly overwriting what might already be there.
Is there a way I'm just missing to support DESTDIR or something similar? I want to run it from /usr/, but I want to create the package from /tmp/.
The second issue is once I got all that done, I fire up kodi, get all the addons installed for Netflix, log in, start browsing, and try and play a video, but I get nothing. Once I look into the logs, I find that it is complaining about a missing inputstream.adaptive.so.2.3.18. I check my package and it doesn't exist. I then search the source tree everything was compiled in and I found the .so files in tools/depends/target/binary-addons/native/inputstream.adaptive-prefix/src/inputstream.adaptive-build/ and was able to manually copy them into the package... but shouldn't this be automatic while building the addons? Looking through tools/depends/target/binary-addons/native/, I found many other addons that have .so files that aren't being installed when building the addons. Should I be manually copying all of these .so files into their various addon folders? The addons that contain .so files are:
I'm open to any suggestions or guidance. It wouldn't surprise me if this information is already documented somewhere, but my extensive google-fu just didn't seem to be finding it, but it is possibly because of how common the search terms are.
Thanks for your time!
EDIT: In case it's needed, my cmake options and how I'm compiling kodi are:
and I'm compiling and preparing the addons via:
I've been trying to get a working SlackBuild (a shell script that automates building software into an installable package on Slackware and ) for kodi v18 now that I'm running a new enough mesa to build it. kodi compiles without issue, but I found I was missing inputstream.adaptive, as apparently these aren't compiled automatically anymore. Once I figured that out, I was able to add the command to compile the addons to the script, but it seems it doesn't support DESTDIR. That makes it really difficult to use this to package as you're now writing to the main system, possibly overwriting what might already be there.
Is there a way I'm just missing to support DESTDIR or something similar? I want to run it from /usr/, but I want to create the package from /tmp/.
The second issue is once I got all that done, I fire up kodi, get all the addons installed for Netflix, log in, start browsing, and try and play a video, but I get nothing. Once I look into the logs, I find that it is complaining about a missing inputstream.adaptive.so.2.3.18. I check my package and it doesn't exist. I then search the source tree everything was compiled in and I found the .so files in tools/depends/target/binary-addons/native/inputstream.adaptive-prefix/src/inputstream.adaptive-build/ and was able to manually copy them into the package... but shouldn't this be automatic while building the addons? Looking through tools/depends/target/binary-addons/native/, I found many other addons that have .so files that aren't being installed when building the addons. Should I be manually copying all of these .so files into their various addon folders? The addons that contain .so files are:
Code:
audiodecoder.2sf-prefix
audiodecoder.asap-prefix
audiodecoder.dumb-prefix
audiodecoder.fluidsynth-prefix
audiodecoder.gme-prefix
audiodecoder.gsf-prefix
audiodecoder.modplug-prefix
audiodecoder.ncsf-prefix
audiodecoder.nosefart-prefix
audiodecoder.openmpt-prefix
audiodecoder.organya-prefix
audiodecoder.qsf-prefix
audiodecoder.sidplay-prefix
audiodecoder.snesapu-prefix
audiodecoder.ssf-prefix
audiodecoder.stsound-prefix
audiodecoder.timidity-prefix
audiodecoder.upse-prefix
audiodecoder.usf-prefix
audiodecoder.vgmstream-prefix
audiodecoder.wsr-prefix
audioencoder.flac-prefix
audioencoder.lame-prefix
audioencoder.vorbis-prefix
audioencoder.wav-prefix
game.libretro-prefix
imagedecoder.heif-prefix
imagedecoder.mpo-prefix
imagedecoder.raw-prefix
inputstream.adaptive-prefix
inputstream.rtmp-prefix
peripheral.joystick-prefix
peripheral.xarcade-prefix
pvr.argustv-prefix
pvr.demo-prefix
pvr.dvblink-prefix
pvr.dvbviewer-prefix
pvr.filmon-prefix
pvr.hdhomerun-prefix
pvr.hts-prefix
pvr.iptvsimple-prefix
pvr.mediaportal.tvserver-prefix
pvr.mythtv-prefix
pvr.nextpvr-prefix
pvr.njoy-prefix
pvr.octonet-prefix
pvr.pctv-prefix
pvr.sledovanitv.cz-prefix
pvr.stalker-prefix
pvr.teleboy-prefix
pvr.vbox-prefix
pvr.vdr.vnsi-prefix
pvr.vuplus-prefix
pvr.wmc-prefix
pvr.zattoo-prefix
screensaver.asteroids-prefix
screensaver.asterwave-prefix
screensaver.biogenesis-prefix
screensaver.cpblobs-prefix
screensaver.greynetic-prefix
screensaver.matrixtrails-prefix
screensaver.pingpong-prefix
screensaver.pyro-prefix
screensaver.stars-prefix
screensavers.rsxs-prefix
vfs.libarchive-prefix
vfs.nfs-prefix
vfs.rar-prefix
vfs.sacd-prefix
vfs.sftp-prefix
visualization.fishbmc-prefix
visualization.goom-prefix
visualization.projectm-prefix
visualization.shadertoy-prefix
visualization.spectrum-prefix
visualization.waveform-prefix
I'm open to any suggestions or guidance. It wouldn't surprise me if this information is already documented somewhere, but my extensive google-fu just didn't seem to be finding it, but it is possibly because of how common the search terms are.
Thanks for your time!
EDIT: In case it's needed, my cmake options and how I'm compiling kodi are:
Code:
mkdir -p build
cd build
cmake \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DENABLE_INTERNAL_FMT=ON \
-DENABLE_INTERNAL_FSTRCMP=ON \
-DCMAKE_BUILD_TYPE=Release ..
make
make install DESTDIR=$PKG
cd ..
and I'm compiling and preparing the addons via:
Code:
make -C tools/depends/target/binary-addons PREFIX=/usr
cp -r /usr/share/kodi/addons/* $PKG/usr/share/kodi/addons/.
cp tools/depends/target/binary-addons/native/inputstream.adaptive-prefix/src/inputstream.adaptive-build/inputstream.adaptive.so* $PKG/usr/share/kodi/addons/inputstream.adaptive/.
rm -r /usr/share/kodi/