diff options
Diffstat (limited to 'multimedia/kodi')
-rw-r--r-- | multimedia/kodi/README | 15 | ||||
-rw-r--r-- | multimedia/kodi/README.python | 26 | ||||
-rw-r--r-- | multimedia/kodi/kodi.SlackBuild | 87 | ||||
-rw-r--r-- | multimedia/kodi/kodi.info | 42 |
4 files changed, 108 insertions, 62 deletions
diff --git a/multimedia/kodi/README b/multimedia/kodi/README index a78fb1fab7..44352744a8 100644 --- a/multimedia/kodi/README +++ b/multimedia/kodi/README @@ -12,11 +12,24 @@ dav1d - AV1 codec support libcec - CEC support libmicrohttpd - Web interface support libnfs - Browse NFS shares +libudfread - Universal Disk Format (UDF) support lirc - Remote support shairplay - Airplay Support +sndio - Alternative audio backend +waylandpp - Early wayland support NOTE: Kodi can be compiled with jdk11 instead of zulu-openjdk11. ADDITIONAL NOTE: -If you are having issues with addons crashing, please see README.python +If you are having issues with addons crashing, please ensure you're +upgraded to at least python3-3.9.14 or later from the patches/ +directory on your favorite mirror. 3.9.12 and earlier had issues. + +FINAL NOTE: +FFMPEG on 15.0 is too old to be used in kodi v21, so it is using an +internal version of 6.0.1. If you have FFMPEG v6+ installed (probably +mainly -current users), you can have kodi build against the system +version by passing FFMPEG=external when building. System versions of +FFMPEG may need to be recompiled to enable certain functionality like +AV1 after installing dav1d. diff --git a/multimedia/kodi/README.python b/multimedia/kodi/README.python deleted file mode 100644 index 5efb8161da..0000000000 --- a/multimedia/kodi/README.python +++ /dev/null @@ -1,26 +0,0 @@ -# If you run into crashing when running addons, the problem is with the -# python3 version that was released with 15.0 (3.9.12). This has been -# fixed in a newer release, but it hasn't made it to 15.0 yet. You can -# either deal with the crashes and wait until it's updated in 15.0 or -# build your own updated package using the newer source tarball. The -# instructions to do that are below. - -# NOTE: This README has been designed to allow you to run it as root -# and have it build and upgrade the python3 package. -# Run at your own risk. -# -# As root: -# sh /usr/doc/kodi-19.4/README.python - -lftp -c "mirror -e -X *.tar.xz* -X *.tar.bz2 https://mirror.slackbuilds.org/slackware/slackware64-15.0/source/d/python3/" -cd python3 - -# Remove older versions then download newer ones -wget https://www.python.org/ftp/python/3.9.13/Python-3.9.13.tar.xz -wget https://docs.python.org/3.9/archives/python-3.9.13-docs-text.tar.bz2 - -# Run the SlackBuild -BUILD=1_bass sh python3.SlackBuild - -# Install the newer package -upgradepkg --reinstall --install-new /tmp/python3-3.9.13-*-1_bass.txz diff --git a/multimedia/kodi/kodi.SlackBuild b/multimedia/kodi/kodi.SlackBuild index 4adeffbe62..138bd4d8c6 100644 --- a/multimedia/kodi/kodi.SlackBuild +++ b/multimedia/kodi/kodi.SlackBuild @@ -3,7 +3,7 @@ # Slackware build script for kodi # Copyright 2009-2018 Larry Hajali <larryhaja[at]gmail[dot]com> -# Copyright 2022 Jeremy Hansen <jebrhansen+SBo@gmail.com> +# Copyright 2022-2024 Jeremy Hansen <jebrhansen+SBo@gmail.com> # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -27,12 +27,25 @@ cd $(dirname $0) ; CWD=$(pwd) PRGNAM=kodi SRCNAM=xbmc -CODNAM=Matrix -VERSION=${VERSION:-19.4} +CODNAM=Omega +VERSION=${VERSION:-21.0} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} +# Versions used below +crossguidVER=${crossguiVER:-ca1bf4b810e2d188d04cb6286f957008ee1b7681} +fmtVER=${fmtVER:-9.1.0} +libdvdcssVER=${libdvdcssVER:-1.4.3-Next-Nexus-Alpha2-2} +libdvdnavVER=${libdvdnavVER:-6.1.1-Next-Nexus-Alpha2-2} +libdvdreadVER=${libdvdreadVER:-6.1.3-Next-Nexus-Alpha2-2} +rapidjsonVER=${rapidjsonVER:-1.1.0} +spdlogVER=${spdlogVER:-1.10.0} +groovyVER=${groovyVER:-4.0.16} +comLangVER=${comLangVER:-3.14.0} +comTextVER=${comTextVER:-1.11.0} +ffmpegVER=${ffmpegVER:-6.0.1} + if [ -z "$ARCH" ]; then case "$( uname -m )" in i?86) ARCH=i586 ;; @@ -52,16 +65,12 @@ OUTPUT=${OUTPUT:-/tmp} if [ "$ARCH" = "i586" ]; then SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" else SLKCFLAGS="-O2" - LIBDIRSUFFIX="" fi set -e @@ -81,7 +90,7 @@ find -L . \ # Autodetection of "optional" dependencies sucks. It does not work and # compilation will fail on each of these if not explicitly disabled. -# Figured I'd mplemented my own autodetection instead of requiring +# Figured I'd implement my own autodetection instead of requiring # passing a bunch of annoying flags :) if pkg-config --exists avahi-core ; then AVAHI=ON; else AVAHI=OFF; fi if pkg-config --exists cwiid ; then CWIID=ON; else CWIID=OFF; fi @@ -90,19 +99,57 @@ if pkg-config --exists libmicrohttpd ; then WEBSERVER=ON; else WEBSERVER=OFF; fi if pkg-config --exists libcec ; then CEC=ON; else CEC=OFF; fi if pkg-config --exists libnfs ; then NFS=ON; else NFS=OFF; fi if pkg-config --exists lirc ; then LIRC=ON; else LIRC=OFF; fi +if pkg-config --exists libudfread ; then UDFREAD=ON; else UDFREAD=OFF; fi if [ -f /usr/bin/shairplay ] ; then AIRPLAY=ON; else AIRPLAY=OFF; fi +# Adding early support for wayland. Needs libraries/waylandpp from SBo. +PLATFORM="x11 gbm" +if pkg-config --exists wayland-client++; then PLATFORM="$PLATFORM wayland"; fi + mkdir -p $TMP/$PRGNAM-build cd $TMP/$PRGNAM-build + +# 15.0's ffmpeg is not supported in Omega, you need at least ffmpeg 6.0 +# Default to using the internal version, but allow switching to external +# for -current users or people who upgrade their stock ffmpeg. +# Pass FFMPEG=external to enable external support. +if [ "${FFMPEG}" == "external" ]; then + FFMPEG="OFF" + FFMPEGURL="" +else + FFMPEG="ON" + FFMPEGURL="-DFFMPEG_URL=$CWD/ffmpeg-$ffmpegVER.tar.gz" +fi + +# There doesn't seem to be a way to specify the url of these files +# (eg -DGROOVY_URL didn't work for the first one). But if you place them +# in the expected location, it won't try and download them. +mkdir -p build/download +cp -a $CWD/apache-groovy-binary-$groovyVER.zip \ + $CWD/commons-lang3-$comLangVER-bin.tar.gz \ + $CWD/commons-text-$comTextVER-bin.tar.gz \ + build/download + +# Reasons for internal programs +# (so I can remember in the future why we're using them) + +# Internal crossguid & rapidjson is recommended by upstream +# Internal ffmpeg since 15.0's is too old +# Internal fmt & spdlog to prevent issues if spdlog was built without +# optional fmt dependency + cmake \ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_DOCDIR=/usr/doc/$PRGNAM-$VERSION \ -DAPP_RENDER_SYSTEM=gl \ - -DCORE_PLATFORM_NAME="x11" \ - -DENABLE_INTERNAL_FSTRCMP=ON \ - -DENABLE_INTERNAL_UDFREAD=ON \ + -DCORE_PLATFORM_NAME="$PLATFORM" \ + -DENABLE_INTERNAL_CROSSGUID=ON \ + -DENABLE_INTERNAL_RapidJSON=ON \ + -DENABLE_INTERNAL_FMT=ON \ + -DENABLE_INTERNAL_SPDLOG=ON \ + -DENABLE_INTERNAL_FFMPEG=$FFMPEG \ -DENABLE_AIRTUNES=$AIRPLAY \ -DENABLE_AVAHI=$AVAHI \ -DENABLE_CEC=$CEC \ @@ -111,12 +158,15 @@ cd $TMP/$PRGNAM-build -DENABLE_LIRCCLIENT=$LIRC \ -DENABLE_MICROHTTPD=$WEBSERVER \ -DENABLE_NFS=$NFS \ - -Dlibdvdcss_URL=$CWD/libdvdcss-1.4.2-Leia-Beta-5.tar.gz \ - -Dlibdvdnav_URL=$CWD/libdvdnav-6.0.0-Leia-Alpha-3.tar.gz \ - -Dlibdvdread_URL=$CWD/libdvdread-6.0.0-Leia-Alpha-3.tar.gz \ - -DCROSSGUID_URL=$CWD/crossguid-8f399e8bd4.tar.gz \ - -DFSTRCMP_URL=$CWD/fstrcmp-0.7.D001.tar.gz \ - -DUDFREAD_URL=$CWD/libudfread-1.1.0.tar.gz \ + -DENABLE_UDFREAD=$UDFREAD \ + -DCROSSGUID_URL=$CWD/crossguid-$crossguidVER.tar.gz \ + -DFMT_URL=$CWD/fmt-$fmtVER.tar.gz \ + -Dlibdvdcss_URL=$CWD/libdvdcss-$libdvdcssVER.tar.gz \ + -Dlibdvdnav_URL=$CWD/libdvdnav-$libdvdnavVER.tar.gz \ + -Dlibdvdread_URL=$CWD/libdvdread-$libdvdreadVER.tar.gz \ + -DRAPIDJSON_URL=$CWD/rapidjson-$rapidjsonVER.tar.gz \ + -DSPDLOG_URL=$CWD/spdlog-$spdlogVER.tar.gz \ + $FFMPEGURL \ -DCMAKE_BUILD_TYPE=Release ../$SRCNAM-$VERSION-$CODNAM make make install/strip DESTDIR=$PKG @@ -127,7 +177,7 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | gr # Install manpages mkdir -p $PKG/usr/man/man1 -for i in {$PRGNAM{,.bin,-standalone},TexturePacker}.1; do +for i in $PRGNAM{,.bin,-standalone,-TexturePacker}.1; do install -m 0644 $SRCNAM-$VERSION-$CODNAM/docs/manpages/$i $PKG/usr/man/man1/$i done @@ -149,7 +199,6 @@ mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cat tools/EventClients/README.txt > $PKG/usr/doc/$PRGNAM-$VERSION/Event-Client-README.txt fi cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - cat $CWD/README.python > $PKG/usr/doc/$PRGNAM-$VERSION/README.python ) mkdir -p $PKG/install diff --git a/multimedia/kodi/kodi.info b/multimedia/kodi/kodi.info index 088fdf01df..8ea284404e 100644 --- a/multimedia/kodi/kodi.info +++ b/multimedia/kodi/kodi.info @@ -1,22 +1,32 @@ PRGNAM="kodi" -VERSION="19.4" +VERSION="21.0" HOMEPAGE="https://kodi.tv/" -DOWNLOAD="https://github.com/xbmc/xbmc/archive/19.4-Matrix/xbmc-19.4-Matrix.tar.gz \ - https://ponce.cc/slackware/sources/repo/kodi/19.4/libdvdcss-1.4.2-Leia-Beta-5.tar.gz \ - https://ponce.cc/slackware/sources/repo/kodi/19.4/libdvdnav-6.0.0-Leia-Alpha-3.tar.gz \ - https://ponce.cc/slackware/sources/repo/kodi/19.4/libdvdread-6.0.0-Leia-Alpha-3.tar.gz \ - https://ponce.cc/slackware/sources/repo/kodi/19.4/crossguid-8f399e8bd4.tar.gz \ - https://ponce.cc/slackware/sources/repo/kodi/19.4/fstrcmp-0.7.D001.tar.gz \ - https://ponce.cc/slackware/sources/repo/kodi/19.4/libudfread-1.1.0.tar.gz" -MD5SUM="a668854505eff3ca5ed9f33e3ac91c80 \ - fb2824210a4eab2efeef36e7501e4979 \ - 2aec5f8c790449126118abc6bb3cb5cd \ - f3244e7b002d37f91cc6a77461c4f619 \ - 7de3be575744da5f1098295485ef0741 \ - 9c440bbdfcad9fd22e38f2388715b0cc \ - cb71fa46a29183e01692e9fe738ec373" +DOWNLOAD="https://github.com/xbmc/xbmc/archive/21.0-Omega/xbmc-21.0-Omega.tar.gz \ + https://github.com/xbmc/crossguid/archive/ca1bf4b/crossguid-ca1bf4b810e2d188d04cb6286f957008ee1b7681.tar.gz \ + https://github.com/xbmc/libdvdcss/archive/refs/tags/1.4.3-Next-Nexus-Alpha2-2/libdvdcss-1.4.3-Next-Nexus-Alpha2-2.tar.gz \ + https://github.com/xbmc/libdvdnav/archive/refs/tags/6.1.1-Next-Nexus-Alpha2-2/libdvdnav-6.1.1-Next-Nexus-Alpha2-2.tar.gz \ + https://github.com/xbmc/libdvdread/archive/refs/tags/6.1.3-Next-Nexus-Alpha2-2/libdvdread-6.1.3-Next-Nexus-Alpha2-2.tar.gz \ + https://github.com/fmtlib/fmt/archive/refs/tags/9.1.0/fmt-9.1.0.tar.gz \ + https://github.com/gabime/spdlog/archive/refs/tags/v1.10.0/spdlog-1.10.0.tar.gz \ + https://github.com/miloyip/rapidjson/archive/v1.1.0/rapidjson-1.1.0.tar.gz \ + http://mirrors.kodi.tv/build-deps/sources/apache-groovy-binary-4.0.16.zip \ + http://mirrors.kodi.tv/build-deps/sources/commons-lang3-3.14.0-bin.tar.gz \ + http://mirrors.kodi.tv/build-deps/sources/commons-text-1.11.0-bin.tar.gz \ + http://mirrors.kodi.tv/build-deps/sources/ffmpeg-6.0.1.tar.gz" +MD5SUM="74501a89f0ea23d2908a9b983ab3d6f8 \ + d4a8d62f3f8d6d946be75cf5bfa92687 \ + 42dc3770ae928103e8033a18b007e79d \ + 2349cde54d950af21fa4936371ad3349 \ + 0d24c950abfef9dc02e231dda56912ac \ + 21fac48cae8f3b4a5783ae06b443973a \ + effea813cd81cfb5588806c5754e14f1 \ + badd12c511e081fec6c89c43a7027bce \ + bd9eb761a11372dd659da8c2cf1ae692 \ + 88c83b3fa007ae35d4f82a2466cad423 \ + ae1f7607159b192e12f9c8eaaaf3d927 \ + ab9c27629c2a43689c63ff55fd7cbf67" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -REQUIRES="zulu-openjdk11 libass flatbuffers fmt rapidjson spdlog tinyxml gtest" +REQUIRES="zulu-openjdk11 libass flatbuffers tinyxml gtest fmt fstrcmp spdlog tinyxml2 libdisplay-info" MAINTAINER="Jeremy Hansen" EMAIL="jebrhansen+SBo@gmail.com" |