commit: 76c33462fd519ee4df11fec1426c82af5c4761e6 Author: Craig Andrews <candrews <AT> gentoo <DOT> org> AuthorDate: Wed Sep 12 19:06:19 2018 +0000 Commit: Craig Andrews <candrews <AT> gentoo <DOT> org> CommitDate: Wed Sep 12 19:06:19 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=76c33462
media-tv/kodi: Use mariadb/mysql connector Closes: https://bugs.gentoo.org/665926 Package-Manager: Portage-2.3.49, Repoman-2.3.10 .../kodi/{kodi-9999.ebuild => kodi-17.6-r5.ebuild} | 152 +++++++++------------ media-tv/kodi/kodi-9999.ebuild | 7 +- media-tv/kodi/metadata.xml | 1 + 3 files changed, 74 insertions(+), 86 deletions(-) diff --git a/media-tv/kodi/kodi-9999.ebuild b/media-tv/kodi/kodi-17.6-r5.ebuild similarity index 68% copy from media-tv/kodi/kodi-9999.ebuild copy to media-tv/kodi/kodi-17.6-r5.ebuild index 44cd4f61e39..f30a7cb6c05 100644 --- a/media-tv/kodi/kodi-9999.ebuild +++ b/media-tv/kodi/kodi-17.6-r5.ebuild @@ -7,32 +7,34 @@ EAPI=6 PYTHON_COMPAT=( python2_7 ) PYTHON_REQ_USE="sqlite" -inherit autotools cmake-utils eutils linux-info pax-utils python-single-r1 +inherit autotools cmake-utils eutils linux-info pax-utils python-single-r1 versionator -LIBDVDCSS_VERSION="1.4.1-Leia-Alpha-1" -LIBDVDREAD_VERSION="6.0.0-Leia-Alpha-1" -LIBDVDNAV_VERSION="6.0.0-Leia-Alpha-1" -FFMPEG_VERSION="4.0.1" -CODENAME="Leia" -FFMPEG_KODI_VERSION="Alpha3-1" -SRC_URI="https://github.com/xbmc/libdvdcss/archive/${LIBDVDCSS_VERSION}.tar.gz -> libdvdcss-${LIBDVDCSS_VERSION}.tar.gz - https://github.com/xbmc/libdvdread/archive/${LIBDVDREAD_VERSION}.tar.gz -> libdvdread-${LIBDVDREAD_VERSION}.tar.gz - https://github.com/xbmc/libdvdnav/archive/${LIBDVDNAV_VERSION}.tar.gz -> libdvdnav-${LIBDVDNAV_VERSION}.tar.gz +LIBDVDCSS_COMMIT="2f12236bc1c92f73c21e973363f79eb300de603f" +LIBDVDREAD_COMMIT="17d99db97e7b8f23077b342369d3c22a6250affd" +LIBDVDNAV_COMMIT="43b5f81f5fe30bceae3b7cecf2b0ca57fc930dac" +FFMPEG_VERSION="3.1.11" +FFMPEG_KODI_VERSION="17.5" +CODENAME="Krypton" +PATCHES=( + "${FILESDIR}/${P}-nmblookup.patch" +) +SRC_URI="https://github.com/xbmc/libdvdcss/archive/${LIBDVDCSS_COMMIT}.tar.gz -> libdvdcss-${LIBDVDCSS_COMMIT}.tar.gz + https://github.com/xbmc/libdvdread/archive/${LIBDVDREAD_COMMIT}.tar.gz -> libdvdread-${LIBDVDREAD_COMMIT}.tar.gz + https://github.com/xbmc/libdvdnav/archive/${LIBDVDNAV_COMMIT}.tar.gz -> libdvdnav-${LIBDVDNAV_COMMIT}.tar.gz !system-ffmpeg? ( https://github.com/xbmc/FFmpeg/archive/${FFMPEG_VERSION}-${CODENAME}-${FFMPEG_KODI_VERSION}.tar.gz -> ffmpeg-${PN}-${FFMPEG_VERSION}-${CODENAME}-${FFMPEG_KODI_VERSION}.tar.gz )" DESCRIPTION="A free and open source media-player and entertainment hub" HOMEPAGE="https://kodi.tv/ https://kodi.wiki/" -LICENSE="GPL-2+" +LICENSE="GPL-2" SLOT="0" # use flag is called libusb so that it doesn't fool people in thinking that # it is _required_ for USB support. Otherwise they'll disable udev and # that's going to be worse. -IUSE="airplay alsa bluetooth bluray caps cec +css dbus debug dvd gbm gles lcms libressl libusb lirc mysql nfs +opengl pulseaudio samba systemd +system-ffmpeg test +udev udisks upnp upower vaapi vdpau wayland webserver +X +xslt zeroconf" +IUSE="airplay alsa bluetooth bluray caps cec +css dbus debug dvd gles lcms libressl libusb lirc mariadb mysql nfs nonfree +opengl pulseaudio samba sftp systemd +system-ffmpeg test +udev udisks upnp upower vaapi vdpau webserver +xslt zeroconf" REQUIRED_USE=" ${PYTHON_REQUIRED_USE} || ( gles opengl ) - ^^ ( gbm wayland X ) udev? ( !libusb ) udisks? ( dbus ) upower? ( dbus ) @@ -40,80 +42,60 @@ REQUIRED_USE=" COMMON_DEPEND="${PYTHON_DEPS} airplay? ( - >=app-pda/libplist-2.0.0[python,${PYTHON_USEDEP}] + app-pda/libplist net-libs/shairplay ) - alsa? ( >=media-libs/alsa-lib-1.1.4.1 ) + alsa? ( media-libs/alsa-lib ) bluetooth? ( net-wireless/bluez ) - bluray? ( >=media-libs/libbluray-1.0.2 ) + bluray? ( >=media-libs/libbluray-0.7.0 ) caps? ( sys-libs/libcap ) dbus? ( sys-apps/dbus ) dev-db/sqlite dev-libs/expat - dev-libs/flatbuffers - >=dev-libs/fribidi-0.19.7 + dev-libs/fribidi cec? ( >=dev-libs/libcec-4.0 ) dev-libs/libpcre[cxx] - >=dev-libs/libxml2-2.9.4 + dev-libs/libxml2 >=dev-libs/lzo-2.04 dev-libs/tinyxml[stl] + >=dev-libs/yajl-2 dev-python/pillow[${PYTHON_USEDEP}] - >=dev-libs/libcdio-0.94 - dev-libs/libfmt - dev-libs/libfstrcmp - gbm? ( media-libs/mesa[gbm] ) + dev-libs/libcdio gles? ( media-libs/mesa[gles2] ) lcms? ( media-libs/lcms:2 ) libusb? ( virtual/libusb:1 ) virtual/ttf-fonts + >=media-fonts/noto-20160531 media-fonts/roboto - >=media-libs/fontconfig-2.12.4 - >=media-libs/freetype-2.8 + media-libs/fontconfig + media-libs/freetype >=media-libs/libass-0.13.4 media-libs/mesa[egl] >=media-libs/taglib-1.11.1 system-ffmpeg? ( - >=media-video/ffmpeg-${FFMPEG_VERSION}:=[encode,postproc] - libressl? ( media-video/ffmpeg[libressl,-openssl] ) - !libressl? ( media-video/ffmpeg[-libressl,openssl] ) + >=media-video/ffmpeg-${FFMPEG_VERSION}:=[encode,openssl,postproc] + <media-video/ffmpeg-3.4 ) - mysql? ( virtual/mysql ) - >=net-misc/curl-7.56.1 - nfs? ( >=net-fs/libnfs-2.0.0:= ) + mysql? ( + !mariadb? ( dev-db/mysql-connector-c:= ) + mariadb? ( dev-db/mariadb-connector-c:= ) + ) + >=net-misc/curl-7.51.0 + nfs? ( net-fs/libnfs:= ) opengl? ( media-libs/glu ) - !libressl? ( >=dev-libs/openssl-1.0.2l:0= ) + !libressl? ( >=dev-libs/openssl-1.0.2j:0= ) libressl? ( dev-libs/libressl:0= ) pulseaudio? ( media-sound/pulseaudio ) samba? ( >=net-fs/samba-3.4.6[smbclient(+)] ) - >=sys-libs/zlib-1.2.11 + sftp? ( net-libs/libssh[sftp] ) + sys-libs/zlib udev? ( virtual/udev ) - vaapi? ( - x11-libs/libva:= - opengl? ( x11-libs/libva[opengl] ) - system-ffmpeg? ( media-video/ffmpeg[vaapi] ) - vdpau? ( x11-libs/libva[vdpau] ) - wayland? ( x11-libs/libva[wayland] ) - X? ( x11-libs/libva[X] ) - ) - virtual/libiconv + vaapi? ( x11-libs/libva:=[opengl] ) vdpau? ( || ( >=x11-libs/libvdpau-1.1 >=x11-drivers/nvidia-drivers-180.51 ) system-ffmpeg? ( media-video/ffmpeg[vdpau] ) ) - wayland? ( - >=dev-cpp/waylandpp-0.2.3:= - media-libs/mesa[wayland] - >=dev-libs/wayland-protocols-1.7 - >=x11-libs/libxkbcommon-0.4.1 - ) - webserver? ( >=net-libs/libmicrohttpd-0.9.55[messages] ) - X? ( - x11-libs/libX11 - x11-libs/libXrandr - x11-libs/libXrender - system-ffmpeg? ( media-video/ffmpeg[X] ) - ) - x11-libs/libdrm + webserver? ( >=net-libs/libmicrohttpd-0.9.50[messages] ) xslt? ( dev-libs/libxslt ) zeroconf? ( net-dns/avahi[dbus] ) " @@ -122,7 +104,7 @@ RDEPEND="${COMMON_DEPEND} || ( app-misc/lirc app-misc/inputlircd ) ) !media-tv/xbmc - udisks? ( sys-fs/udisks:2 ) + udisks? ( sys-fs/udisks:0 ) upower? ( systemd? ( sys-power/upower ) !systemd? ( @@ -132,10 +114,11 @@ RDEPEND="${COMMON_DEPEND} " DEPEND="${COMMON_DEPEND} app-arch/bzip2 + app-arch/unzip app-arch/xz-utils + app-arch/zip dev-lang/swig dev-libs/crossguid - dev-libs/rapidjson dev-util/cmake dev-util/gperf media-libs/giflib @@ -179,6 +162,8 @@ In some cases Kodi needs to access multicast addresses. Please consider enabling IP_MULTICAST under Networking options. " +CMAKE_USE_DIR=${S}/project/cmake/ + pkg_setup() { check_extra_config python-single-r1_pkg_setup @@ -193,7 +178,7 @@ src_prepare() { # avoid long delays when powerkit isn't running #348580 sed -i \ -e '/dbus_connection_send_with_reply_and_block/s:-1:3000:' \ - xbmc/platform/linux/*.cpp || die + xbmc/linux/*.cpp || die # Prepare tools and libs witch are configured with autotools during compile time AUTOTOOLS_DIRS=( @@ -212,7 +197,7 @@ src_prepare() { # Prevent autoreconf rerun sed -e 's/autoreconf -vif/echo "autoreconf already done in src_prepare()"/' -i \ - "${S}"/cmake/modules/FindCpluff.cmake \ + "${S}"/project/cmake/modules/FindCpluff.cmake \ "${S}"/tools/depends/native/TexturePacker/src/autogen.sh \ "${S}"/tools/depends/native/JsonSchemaBuilder/src/autogen.sh \ || die @@ -233,27 +218,30 @@ src_configure() { -DENABLE_DVDCSS=$(usex css) -DENABLE_INTERNAL_CROSSGUID=OFF -DENABLE_INTERNAL_FFMPEG="$(usex !system-ffmpeg)" - -DENABLE_INTERNAL_FSTRCMP=OFF -DENABLE_CAP=$(usex caps) -DENABLE_LCMS2=$(usex lcms) - -DENABLE_LIRCCLIENT=$(usex lirc) + -DENABLE_LIRC=$(usex lirc) -DENABLE_MICROHTTPD=$(usex webserver) -DENABLE_MYSQLCLIENT=$(usex mysql) -DENABLE_NFS=$(usex nfs) + -DENABLE_NONFREE=$(usex nonfree) -DENABLE_OPENGLES=$(usex gles) -DENABLE_OPENGL=$(usex opengl) + -DENABLE_OPENSSL=ON -DENABLE_OPTICAL=$(usex dvd) -DENABLE_PLIST=$(usex airplay) -DENABLE_PULSEAUDIO=$(usex pulseaudio) -DENABLE_SMBCLIENT=$(usex samba) + -DENABLE_SSH=$(usex sftp) -DENABLE_UDEV=$(usex udev) -DENABLE_UPNP=$(usex upnp) -DENABLE_VAAPI=$(usex vaapi) -DENABLE_VDPAU=$(usex vdpau) + -DENABLE_X11=ON -DENABLE_XSLT=$(usex xslt) - -Dlibdvdread_URL="${DISTDIR}/libdvdread-${LIBDVDREAD_VERSION}.tar.gz" - -Dlibdvdnav_URL="${DISTDIR}/libdvdnav-${LIBDVDNAV_VERSION}.tar.gz" - -Dlibdvdcss_URL="${DISTDIR}/libdvdcss-${LIBDVDCSS_VERSION}.tar.gz" + -Dlibdvdread_URL="${DISTDIR}/libdvdread-${LIBDVDREAD_COMMIT}.tar.gz" + -Dlibdvdnav_URL="${DISTDIR}/libdvdnav-${LIBDVDNAV_COMMIT}.tar.gz" + -Dlibdvdcss_URL="${DISTDIR}/libdvdcss-${LIBDVDCSS_COMMIT}.tar.gz" ) use libusb && mycmakeargs+=( -DENABLE_LIBUSB=$(usex libusb) ) @@ -264,24 +252,6 @@ src_configure() { mycmakeargs+=( -DFFMPEG_URL="${DISTDIR}/ffmpeg-${PN}-${FFMPEG_VERSION}-${CODENAME}-${FFMPEG_KODI_VERSION}.tar.gz" ) fi - if use gbm; then - mycmakeargs+=( - -DCORE_PLATFORM_NAME="gbm" - -DGBM_RENDER_SYSTEM="$(usex opengl gl gles)" - ) - fi - - if use wayland; then - mycmakeargs+=( - -DCORE_PLATFORM_NAME="wayland" - -DWAYLAND_RENDER_SYSTEM="$(usex opengl gl gles)" - ) - fi - - if use X; then - mycmakeargs+=( -DCORE_PLATFORM_NAME="x11" ) - fi - cmake-utils_src_configure } @@ -299,12 +269,26 @@ src_install() { pax-mark Em "${ED%/}"/usr/$(get_libdir)/${PN}/${PN}.bin + rm "${ED%/}"/usr/share/doc/*/{LICENSE.GPL,copying.txt}* || die + newicon media/icon48x48.png kodi.png + # Replace bundled fonts with system ones. + rm "${ED%/}"/usr/share/kodi/addons/skin.estouchy/fonts/NotoSans-Regular.ttf || die + dosym ../../../../fonts/noto/NotoSans-Regular.ttf \ + usr/share/kodi/addons/skin.estouchy/fonts/NotoSans-Regular.ttf + + local f + for f in NotoMono-Regular.ttf NotoSans-Bold.ttf NotoSans-Regular.ttf ; do + rm "${ED%/}"/usr/share/kodi/addons/skin.estuary/fonts/"${f}" || die + dosym ../../../../fonts/noto/"${f}" \ + usr/share/kodi/addons/skin.estuary/fonts/"${f}" + done + rm "${ED%/}"/usr/share/kodi/addons/skin.estuary/fonts/Roboto-Thin.ttf || die dosym ../../../../fonts/roboto/Roboto-Thin.ttf \ usr/share/kodi/addons/skin.estuary/fonts/Roboto-Thin.ttf python_domodule tools/EventClients/lib/python/xbmcclient.py - python_newscript "tools/EventClients/Clients/KodiSend/kodi-send.py" kodi-send + python_newscript "tools/EventClients/Clients/Kodi Send/kodi-send.py" kodi-send } diff --git a/media-tv/kodi/kodi-9999.ebuild b/media-tv/kodi/kodi-9999.ebuild index 44cd4f61e39..3b98edc8e7e 100644 --- a/media-tv/kodi/kodi-9999.ebuild +++ b/media-tv/kodi/kodi-9999.ebuild @@ -28,7 +28,7 @@ SLOT="0" # use flag is called libusb so that it doesn't fool people in thinking that # it is _required_ for USB support. Otherwise they'll disable udev and # that's going to be worse. -IUSE="airplay alsa bluetooth bluray caps cec +css dbus debug dvd gbm gles lcms libressl libusb lirc mysql nfs +opengl pulseaudio samba systemd +system-ffmpeg test +udev udisks upnp upower vaapi vdpau wayland webserver +X +xslt zeroconf" +IUSE="airplay alsa bluetooth bluray caps cec +css dbus debug dvd gbm gles lcms libressl libusb lirc mariadb mysql nfs +opengl pulseaudio samba systemd +system-ffmpeg test +udev udisks upnp upower vaapi vdpau wayland webserver +X +xslt zeroconf" REQUIRED_USE=" ${PYTHON_REQUIRED_USE} || ( gles opengl ) @@ -77,7 +77,10 @@ COMMON_DEPEND="${PYTHON_DEPS} libressl? ( media-video/ffmpeg[libressl,-openssl] ) !libressl? ( media-video/ffmpeg[-libressl,openssl] ) ) - mysql? ( virtual/mysql ) + mysql? ( + !mariadb? ( dev-db/mysql-connector-c:= ) + mariadb? ( dev-db/mariadb-connector-c:= ) + ) >=net-misc/curl-7.56.1 nfs? ( >=net-fs/libnfs-2.0.0:= ) opengl? ( media-libs/glu ) diff --git a/media-tv/kodi/metadata.xml b/media-tv/kodi/metadata.xml index 919f9f79dc4..47c36082ac5 100644 --- a/media-tv/kodi/metadata.xml +++ b/media-tv/kodi/metadata.xml @@ -12,6 +12,7 @@ <flag name="gbm">Use the Graphics Buffer Manager for EGL on KMS.</flag> <flag name="gles">Enable support for GLES</flag> <flag name="lirc">Enable support for controlling Totem with a remote control using <pkg>app-misc/lirc</pkg></flag> + <flag name="mariadb">Add MariaDB support</flag> <flag name="nfs">Enable NFS client support</flag> <flag name="nonfree">Enable non-free components</flag> <flag name="dvd">Enable optical (CD/DVD drive) support</flag>
