summaryrefslogtreecommitdiff
path: root/libre/kodi
diff options
context:
space:
mode:
Diffstat (limited to 'libre/kodi')
-rw-r--r--libre/kodi/PKGBUILD256
-rw-r--r--libre/kodi/fix-python-lib-path.patch29
-rw-r--r--libre/kodi/kodi-use-external-libraries.patch20
-rw-r--r--libre/kodi/libre.patch472
4 files changed, 184 insertions, 593 deletions
diff --git a/libre/kodi/PKGBUILD b/libre/kodi/PKGBUILD
index e4a17a80f..933cd2232 100644
--- a/libre/kodi/PKGBUILD
+++ b/libre/kodi/PKGBUILD
@@ -1,5 +1,4 @@
# vim:set ts=2 sw=2 et:
-# $Id: PKGBUILD 217763 2017-03-20 20:27:16Z idevolder $
# Maintainer (Arch): Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer (Arch): BlackIkeEagle < ike DOT devolder AT gmail DOT com >
# Contributor (Arch): graysky <graysky AT archlinux DOT us>
@@ -23,12 +22,15 @@
_pkgbase=kodi-libre
pkgbase=kodi
-pkgname=kodi
-pkgver=17.6
-_codename=Krypton
-pkgrel=5.parabola3
-arch=('i686' 'x86_64' 'armv7h')
-url="http://kodi.tv"
+pkgname=(
+ 'kodi' 'kodi-bin' 'kodi-wayland' 'kodi-gbm'
+)
+pkgver=18.3
+pkgrel=1
+pkgrel+=.par1
+arch=('x86_64')
+arch+=('i686' 'armv7h')
+url="https://kodi.tv"
license=('GPL2')
# Attention!
@@ -37,125 +39,161 @@ makedepends_i686=('libvdpau')
makedepends_x86_64=('libvdpau')
makedepends=(
'afpfs-ng' 'bluez-libs' 'cmake' 'curl' 'doxygen' 'glew'
- 'gperf' 'hicolor-icon-theme' 'jasper' 'java-runtime' 'libaacs' 'libass'
- 'libbluray' 'libcdio' 'libcec' 'libgl' 'libmariadbclient' 'libmicrohttpd'
- 'libmodplug' 'libmpeg2' 'libnfs' 'libplist' 'libpulse' 'libssh' 'libva'
- 'libxrandr' 'libxslt' 'lzo' 'mesa' 'nasm' 'nss-mdns'
- 'python2-pillow' 'python2-pybluez' 'python2-simplejson' 'rtmpdump'
- 'shairplay' 'smbclient' 'speex' 'swig' 'taglib' 'tinyxml' 'unzip' 'upower'
- 'yajl' 'zip' 'giflib'
+ 'gperf' 'hicolor-icon-theme' 'java-runtime' 'libaacs' 'libass'
+ 'libbluray' 'libcdio' 'libcec' 'libgl' 'mariadb-libs' 'libmicrohttpd'
+ 'libmodplug' 'libmpeg2' 'libnfs' 'libplist' 'libpulse' 'libva'
+ 'libvdpau' 'libxrandr' 'libxslt' 'lirc' 'lzo' 'mesa' 'nasm'
+ 'python2-pycryptodome' 'python2-pillow' 'python2-pybluez' 'python2-simplejson'
+ 'shairplay' 'smbclient' 'taglib' 'tinyxml' 'swig'
+ 'upower' 'giflib' 'rapidjson' 'ghostscript'
+ # wayland
+ 'wayland-protocols' 'waylandpp' 'libxkbcommon'
+ # gbm
+ 'libinput'
+ 'ffmpeg' 'flatbuffers' 'fmt'
+)
+
+_codename=Leia
+
+_libdvdcss_version="1.4.2-$_codename-Beta-5"
+_libdvdnav_version="6.0.0-$_codename-Alpha-3"
+_libdvdread_version="6.0.0-$_codename-Alpha-3"
+#_ffmpeg_version="4.0.3-$_codename-18.2"
+#_fmt_version="5.1.0"
+_crossguid_version="8f399e8bd4"
+_fstrcmp_version="0.7.D001"
+#_flatbuffers_version="1.9.0"
+source=(
+ "$pkgbase-$pkgver-$_codename.tar.gz::https://github.com/xbmc/xbmc/archive/$pkgver-$_codename.tar.gz"
+ "$pkgbase-libdvdcss-$_libdvdcss_version.tar.gz::https://github.com/xbmc/libdvdcss/archive/$_libdvdcss_version.tar.gz"
+ "$pkgbase-libdvdnav-$_libdvdnav_version.tar.gz::https://github.com/xbmc/libdvdnav/archive/$_libdvdnav_version.tar.gz"
+ "$pkgbase-libdvdread-$_libdvdread_version.tar.gz::https://github.com/xbmc/libdvdread/archive/$_libdvdread_version.tar.gz"
+# "$pkgbase-ffmpeg-$_ffmpeg_version.tar.gz::https://github.com/xbmc/FFmpeg/archive/$_ffmpeg_version.tar.gz"
+# "$pkgbase-fmt-$_fmt_version.tar.gz::http://mirrors.kodi.tv/build-deps/sources/fmt-$_fmt_version.tar.gz"
+ "$pkgbase-crossguid-$_crossguid_version.tar.gz::http://mirrors.kodi.tv/build-deps/sources/crossguid-$_crossguid_version.tar.gz"
+ "$pkgbase-fstrcmp-$_fstrcmp_version.tar.gz::http://mirrors.kodi.tv/build-deps/sources/fstrcmp-$_fstrcmp_version.tar.gz"
+# "$pkgbase-flatbuffers-$_flatbuffers_version.tar.gz::http://mirrors.kodi.tv/build-deps/sources/flatbuffers-$_flatbuffers_version.tar.gz"
+ 'libre.patch'
)
-_libdvdcss_commit=2f12236bc1c92f73c21e973363f79eb300de603f
-_libdvdnav_commit=981488f7f27554b103cca10c1fbeba027396c94a
-_libdvdread_commit=17d99db97e7b8f23077b342369d3c22a6250affd
-_ffmpeg_version="3.1.11-$_codename-17.5"
-_crossguid=8f399e8bd4
-mksource=("$pkgbase-$pkgver-$_codename.tar.gz::https://github.com/xbmc/xbmc/archive/$pkgver-$_codename.tar.gz")
-source=("https://repo.parabola.nu/other/$_pkgbase/$_pkgbase-$pkgver-$_codename.tar.gz"
- "$pkgbase-libdvdcss-$_libdvdcss_commit.tar.gz::https://github.com/xbmc/libdvdcss/archive/$_libdvdcss_commit.tar.gz"
- "$pkgbase-libdvdnav-$_libdvdnav_commit.tar.gz::https://github.com/xbmc/libdvdnav/archive/$_libdvdnav_commit.tar.gz"
- "$pkgbase-libdvdread-$_libdvdread_commit.tar.gz::https://github.com/xbmc/libdvdread/archive/$_libdvdread_commit.tar.gz"
- "$pkgbase-ffmpeg-$_ffmpeg_version.tar.gz::https://github.com/xbmc/FFmpeg/archive/$_ffmpeg_version.tar.gz"
- "crossguid-${_crossguid}.tar.gz::http://mirrors.kodi.tv/build-deps/sources/crossguid-${_crossguid}.tar.gz"
- 'fix-python-lib-path.patch'
- 'kodi-use-external-libraries.patch'
- 'libre.patch')
noextract=(
"$pkgbase-libdvdcss-$_libdvdcss_commit.tar.gz"
"$pkgbase-libdvdnav-$_libdvdnav_commit.tar.gz"
"$pkgbase-libdvdread-$_libdvdread_commit.tar.gz"
- "$pkgbase-ffmpeg-$_ffmpeg_version.tar.gz"
+# "$pkgbase-ffmpeg-$_ffmpeg_version.tar.gz"
+# "$pkgbase-fmt-$_fmt_version.tar.gz"
+ "$pkgbase-crossguid-$_crossguid_version.tar.gz"
+ "$pkgbase-fstrcmp-$_fstrcmp_version.tar.gz"
+# "$pkgbase-flatbuffers-$_flatbuffers_version.tar.gz"
)
-mksha512sums=('1f1ba91e6129ab423f9ad47b63d7bb75775dbf18638a96413a572aaa790f4f0d738ca35486513e158a7f55d501f78f08dd9d68aabe2fbb80a729c6091b264111')
-sha512sums=('2b9ed2b4b6999253004f029a22d71145f6c1e89fc86b2219ecb56feb0043ee2499c288745b5a5f95e9f152ef8ae8d5b5d0b16587d9ccef12e82ed477472a0105'
- '12ba7aa653fcb26d5336bf2a8110c924d634cec79f684bbf19dc38ea33f69fb68c22c97f4c09e5ca7c35f95f6c324a6d70ccc2c501a99122a9321cafd33b2cd9'
- '005355da5e3d34f69737f7c3fe7884e82ffdc8f654f337e97d4a4d1e486c9f346f63b4dee74de2765e7a8d94925de5d25c3c82da732d2e8d4f58fcfeb9dd2586'
- 'e59ae0bfdc62698e407e3d70503c6a7c5e308545c9dae7843e25db3b5b62d9b26256be77ef4e884263add6b4abec3438c324bfd5715f6ca2ce7fa5962d43a6c2'
- 'b28bb6970c6767213f34e5f4f3e48ad5219a6c668a5264ff7de0a42712cb7393f389ddd88f56785a2dc8089f8231ae5fd05adfa10dbf15ea3e0ad7bc2ccd4d73'
+sha512sums=('4e898e28238dcbc67e106c5a0ef88bd6a82f8c0ad00e77e3ddbe2da6181b37d9ca1ba6bda57206223cfa119c5291edb4410d3e773d97b5ab67660e49929437ec'
+ '5185dbdbeb1bd13ea9d8723f1f4ab599d6f3102f5ba1096cd085aa1cda252c045f327c719227bba8e1b742352ade5e335106c8d0c1637a5a6b93ce661620dd7e'
+ '11c93eaacd156f8fd7dec7c43d366438b201f31ad55b2870463a9e286912b6ada08882319a021fb7992190f87b909a49f2b83e0321cc17aedc29f7fe5898fa72'
+ 'b3419ba0a1a2dd70f1bb6236afdfe1c6e88c9ad4264198b289e3bba9375e077cecf7f89848c7b09debaa445327f3507101f3d157e692f7a7163b2bb52643e1e7'
+# 'b4d4bf16f05b953ba81769446c8fd90246e1919b9ef671fb212008151c83d8445e4123ad37c352aa6243074962832e817749d2de318eb721d5bb5d655fd77ab2'
+# 'b759a718353254fa8cd981e483bf01a45af0fc76901216404ace5e47f5d3edf43d42422184e5413c221e49832322fdf60d1860e8ec87349c674511064b31e5d6'
'2682d63609d3dcdfcd8136be632e45df26ad88ce93b9c49745cf728bbd2e6254a7b05c8b059ab581d532372e504206a525a52564b64d076dfdae9c965a09fd16'
- '0f41604e38648969572a66d1124d6e090c3bfca4f9d8ccabcd1806254c38b178ee08df35e1bbbd1228f820729df52353321b3257122af601c3233dbc6405c6d2'
- '8185721fb8a067861291ea1c96188af095fadb8ea66fd8452fc8fd50f94bb753c980fc962e9c476dfed5eb84c2a0fb8129cb49baec274a439716214fe011c5dc'
- 'e6397b3925b67f1c17699057feea3d258f7735829d87a2049a1f54026bfeb21b10a67750c667dc591f1dee342aa3381f0af70ceb98174b42488528101e251fa3')
-
-mksource() {
- cd "$srcdir/xbmc-$pkgver-$_codename"
-
- msg2 "remove nonfree unRAR utility files from the source"
- rm -rv lib/UnrarXLib
-}
+ 'aaeb0227afd5ada5955cbe6a565254ff88d2028d677d199c00e03b7cb5de1f2c69b18e6e8b032e452350a8eda7081807b01765adbeb8476eaf803d9de6e5509c'
+# '0ba07dbe5b2fde1d0a6e14ee26ee2816062541d934eda204b846a30c019362f2626761b628c900293928b9b546dba8ca477c13182e022c3e0e0a142fd67f0696'
+ '664167256a1d0ebadde7416ff57141532e47a6c18c4eb77a63a507deeed19af47027fee2098c3e43704c03ec897c5477641d22ea8ce728037d72a3eb8219b0a2')
prepare() {
- [[ -d kodi-build ]] && rm -rf kodi-build
- mkdir kodi-build
+ # force python 'binary' as python2
+ [[ -d "$srcdir/path" ]] && rm -rf "$srcdir/path"
+ mkdir "$srcdir/path"
+ ln -s /usr/bin/python2 "$srcdir/path/python"
+
+ [[ -d kodi-build-x11 ]] && rm -rf kodi-build-x11
+ mkdir kodi-build-x11
+ [[ -d kodi-build-wayland ]] && rm -rf kodi-build-wayland
+ mkdir kodi-build-wayland
+ [[ -d kodi-build-gbm ]] && rm -rf kodi-build-gbm
+ mkdir kodi-build-gbm
cd "xbmc-$pkgver-$_codename"
# patches
- patch -p1 -i "$srcdir/fix-python-lib-path.patch"
- patch -p1 -i "$srcdir/kodi-use-external-libraries.patch"
- msg2 "Use addons.xml from Parabola server (without nonfree addons support) and remove nonfree stuff references"
- rm -v xbmc/filesystem/{Rar{Directory,File,Manager}.{cpp,h},test/TestRarFile.cpp}
+ msg2 "Use addons.xml from Parabola server (without nonfree addons support)"
patch -Np1 -i ../libre.patch
}
build() {
- cd kodi-build
+ export PATH="$srcdir/path:$PATH"
+
+ msg2 "building kodi-x11"
+ cd "$srcdir/kodi-build-x11"
local configure_options=(
-DCMAKE_INSTALL_PREFIX=/usr
-DCMAKE_INSTALL_LIBDIR=/usr/lib
-DENABLE_EVENTCLIENTS=ON
- -DLIRC_DEVICE=/run/lirc/lircd
-# -DENABLE_INTERNAL_FFMPEG="no"
-# -DWITH_FFMPEG="yes"
- -Dlibdvdcss_URL="$srcdir/$pkgbase-libdvdcss-$_libdvdcss_commit.tar.gz"
- -Dlibdvdnav_URL="$srcdir/$pkgbase-libdvdnav-$_libdvdnav_commit.tar.gz"
- -Dlibdvdread_URL="$srcdir/$pkgbase-libdvdread-$_libdvdread_commit.tar.gz"
- -DFFMPEG_URL="$srcdir/$pkgbase-ffmpeg-$_ffmpeg_version.tar.gz"
- -DCROSSGUID_URL="$srcdir/crossguid-${_crossguid}.tar.gz"
+ -DENABLE_INTERNAL_FFMPEG=OFF
+ -DENABLE_INTERNAL_FMT=OFF
+ -DENABLE_INTERNAL_CROSSGUID=ON
+ -DENABLE_INTERNAL_FSTRCMP=ON
+ -DENABLE_INTERNAL_FLATBUFFERS=OFF
+ -Dlibdvdcss_URL="$srcdir/$pkgbase-libdvdcss-$_libdvdcss_version.tar.gz"
+ -Dlibdvdnav_URL="$srcdir/$pkgbase-libdvdnav-$_libdvdnav_version.tar.gz"
+ -Dlibdvdread_URL="$srcdir/$pkgbase-libdvdread-$_libdvdread_version.tar.gz"
+# -DFFMPEG_URL="$srcdir/$pkgbase-ffmpeg-$_ffmpeg_version.tar.gz"
+# -DFMT_URL="$srcdir/$pkgbase-fmt-$_fmt_version.tar.gz"
+ -DCROSSGUID_URL="$srcdir/$pkgbase-crossguid-$_crossguid_version.tar.gz"
+ -DFSTRCMP_URL="$srcdir/$pkgbase-fstrcmp-$_fstrcmp_version.tar.gz"
+# -DFLATBUFFERS_URL="$srcdir/$pkgbase-flatbuffers-$_flatbuffers_version.tar.gz"
)
if [ "$CARCH" = "armv7h" ]; then
configure_options+=(-DENABLE_VAAPI=OFF)
fi
- cmake "${configure_options[@]}" ../"xbmc-$pkgver-$_codename"/project/cmake
+ cmake "${configure_options[@]}" \
+ ../"xbmc-$pkgver-$_codename"
+ make
+ make preinstall
+
+ msg2 "building kodi-wayland"
+ cd "$srcdir/kodi-build-wayland"
+ cmake "${configure_options[@]}" \
+ -DCORE_PLATFORM_NAME=wayland \
+ -DWAYLAND_RENDER_SYSTEM=gl ../"xbmc-$pkgver-$_codename"
+ make
+ make preinstall
+
+ msg2 "building kodi-gbm"
+ cd "$srcdir/kodi-build-gbm"
+ cmake "${configure_options[@]}" \
+ -DCORE_PLATFORM_NAME=gbm \
+ -DGBM_RENDER_SYSTEM=gles ../"xbmc-$pkgver-$_codename"
make
make preinstall
}
# kodi
-# components: kodi, kodi-bin
+# components: kodi
package_kodi() {
pkgdesc="A software media player and entertainment hub for digital media, without nonfree decompression engine for RAR archives and support for nonfree addons"
depends=(
- 'bluez-libs' 'desktop-file-utils' 'freetype2' 'fribidi'
- 'hicolor-icon-theme' 'libass' 'libcdio' 'libjpeg-turbo' 'libmariadbclient'
- 'libmicrohttpd' 'libpulse' 'libssh' 'libva' 'libvdpau' 'libxrandr'
- 'libxslt' 'lzo' 'mesa' 'python2-pillow' 'python2-simplejson' 'smbclient'
- 'speex' 'taglib' 'tinyxml' 'xorg-xdpyinfo' 'yajl'
+ 'desktop-file-utils' 'hicolor-icon-theme' 'mesa' 'python2-pycryptodome'
+ 'python2-pillow' 'python2-simplejson' 'xorg-xdpyinfo'
+ 'kodi-bin'
)
optdepends=(
'afpfs-ng: Apple shares support'
'bluez: Blutooth support'
'python2-pybluez: Bluetooth support'
- 'libnfs: NFS shares support'
'libplist: AirPlay support'
- 'libcec: Pulse-Eight USB-CEC adapter support'
- 'lirc: Remote controller support'
- 'lsb-release: log distro information in crashlog'
'pulseaudio: PulseAudio support'
'shairplay: AirPlay support'
- 'unzip: Archives support'
'upower: Display battery level'
)
- provides=('xbmc' 'xbmc-lts')
- conflicts=('xbmc' 'xbmc-lts')
- replaces=('xbmc' 'xbmc-lts')
+ provides=('xbmc')
+ conflicts=('xbmc')
+ replaces=('xbmc')
_components=(
'kodi'
'kodi-bin'
)
- cd kodi-build
+ export PATH="$srcdir/path:$PATH"
+
+ cd kodi-build-x11
# install eventclients
for _cmp in ${_components[@]}; do
DESTDIR="$pkgdir" /usr/bin/cmake \
@@ -163,14 +201,62 @@ package_kodi() {
-P cmake_install.cmake
done
- # Licenses
- install -dm755 "$pkgdir/usr/share/licenses/$pkgname"
- for licensef in LICENSE.GPL copying.txt; do
- mv "$pkgdir/usr/share/doc/kodi/$licensef" \
- "$pkgdir/usr/share/licenses/$pkgname"
- done
-
# python2 is being used
cd "$pkgdir"
- grep -lR '#!.*python' * | while read file; do sed -s 's/\(#!.*python\)/\12/g' -i "$file"; done
+ grep -lR '#!.*python' * | \
+ while read file; do sed -s 's/\(#!.*python\)/\12/g' -i "$file"; done
+
+ # remove x11 binaries
+ rm "$pkgdir/usr/lib/kodi/"{kodi-x11,kodi-xrandr}
+}
+
+# kodi-x11
+# components: kodi-bin
+
+package_kodi-bin() {
+ pkgdesc="x11 kodi binary"
+ depends=(
+ 'bluez-libs' 'curl' 'lcms2' 'libass' 'libbluray' 'libcdio' 'libcec'
+ 'libmicrohttpd' 'libnfs' 'libpulse' 'libva' 'libvdpau' 'libxrandr'
+ 'libxslt' 'lirc' 'mariadb-libs' 'python2' 'smbclient' 'taglib'
+ 'tinyxml' 'kodi'
+ )
+
+ cd kodi-build-x11
+ install -Dm755 kodi-x11 "$pkgdir/usr/lib/kodi/kodi-x11"
+ install -Dm755 kodi-xrandr "$pkgdir/usr/lib/kodi/kodi-xrandr"
+}
+
+# kodi-wayland
+# components: kodi-bin
+
+package_kodi-wayland() {
+ pkgdesc="wayland kodi binary"
+ provides=('kodi-bin')
+ depends=(
+ 'bluez-libs' 'curl' 'lcms2' 'libass' 'libbluray' 'libcdio' 'libcec'
+ 'libmicrohttpd' 'libnfs' 'libpulse' 'libva' 'libxkbcommon' 'libxslt'
+ 'lirc' 'mariadb-libs' 'python2' 'smbclient' 'taglib' 'tinyxml'
+ 'waylandpp' 'kodi'
+ )
+
+ cd kodi-build-wayland
+ install -Dm755 kodi-wayland "$pkgdir/usr/lib/kodi/kodi-wayland"
+}
+
+# kodi-gbm
+# components: kodi-bin
+
+package_kodi-gbm() {
+ pkgdesc="gbm kodi binary"
+ provides=('kodi-bin')
+ depends=(
+ 'bluez-libs' 'curl' 'lcms2' 'libass' 'libbluray' 'libcdio' 'libcec'
+ 'libinput' 'libmicrohttpd' 'libnfs' 'libpulse' 'libva' 'libxkbcommon'
+ 'libxslt' 'lirc' 'mariadb-libs' 'python2' 'smbclient' 'taglib'
+ 'tinyxml' 'kodi'
+ )
+
+ cd kodi-build-gbm
+ install -Dm755 kodi-gbm "$pkgdir/usr/lib/kodi/kodi-gbm"
}
diff --git a/libre/kodi/fix-python-lib-path.patch b/libre/kodi/fix-python-lib-path.patch
deleted file mode 100644
index 395658008..000000000
--- a/libre/kodi/fix-python-lib-path.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- a/project/cmake/scripts/linux/Install.cmake 2017-03-20 17:17:49.000000000 +0100
-+++ b/project/cmake/scripts/linux/Install.cmake 2017-05-20 15:42:09.608550173 +0200
-@@ -199,7 +199,7 @@
- install(PROGRAMS ${CORE_SOURCE_DIR}/tools/EventClients/lib/python/bt/__init__.py
- ${CORE_SOURCE_DIR}/tools/EventClients/lib/python/bt/bt.py
- ${CORE_SOURCE_DIR}/tools/EventClients/lib/python/bt/hid.py
-- DESTINATION lib/python2.7/dist-packages/${APP_NAME_LC}/bt
-+ DESTINATION lib/python2.7/site-packages/${APP_NAME_LC}/bt
- COMPONENT kodi-eventclients-common)
-
- # Install kodi-eventclients-common PS3 python files
-@@ -208,7 +208,7 @@
- ${CORE_SOURCE_DIR}/tools/EventClients/lib/python/ps3/sixaxis.py
- ${CORE_SOURCE_DIR}/tools/EventClients/lib/python/ps3/sixpair.py
- ${CORE_SOURCE_DIR}/tools/EventClients/lib/python/ps3/sixwatch.py
-- DESTINATION lib/python2.7/dist-packages/${APP_NAME_LC}/ps3
-+ DESTINATION lib/python2.7/site-packages/${APP_NAME_LC}/ps3
- COMPONENT kodi-eventclients-common)
-
- # Install kodi-eventclients-common python files
-@@ -218,7 +218,7 @@
- "${CORE_SOURCE_DIR}/tools/EventClients/Clients/PS3 BD Remote/ps3_remote.py"
- ${CORE_SOURCE_DIR}/tools/EventClients/lib/python/xbmcclient.py
- ${CORE_SOURCE_DIR}/tools/EventClients/lib/python/zeroconf.py
-- DESTINATION lib/python2.7/dist-packages/${APP_NAME_LC}
-+ DESTINATION lib/python2.7/site-packages/${APP_NAME_LC}
- COMPONENT kodi-eventclients-common)
-
- # Install kodi-eventclients-common icons
diff --git a/libre/kodi/kodi-use-external-libraries.patch b/libre/kodi/kodi-use-external-libraries.patch
deleted file mode 100644
index c1bfbb2c2..000000000
--- a/libre/kodi/kodi-use-external-libraries.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- xbmc-17.3-Krypton.orig/lib/libdvd/Makefile.in 2017-05-24 15:49:32.000000000 -0500
-+++ xbmc-17.3-Krypton/lib/libdvd/Makefile.in 2017-08-03 14:48:13.650801985 -0500
-@@ -12,7 +12,7 @@
- else
- DVDNAV_A = @abs_top_srcdir@/tools/depends/target/libdvdnav/dvdnav-install/lib/libdvdnav.a
- DVDREAD_A = @abs_top_srcdir@/tools/depends/target/libdvdread/dvdread-install/lib/libdvdread.a
-- DVDCSS_A = @abs_top_srcdir@/tools/depends/target/libdvdcss/dvdcss-install/lib/libdvdcss.a
-+ DVDCSS_A =
- endif
-
- SYSDIR = @abs_top_srcdir@/system/players/VideoPlayer
-@@ -36,7 +36,7 @@
- ifeq ($(ARCH),arm-osx)
- BUILD_DVDCSS = 0
- else
-- BUILD_DVDCSS = 1
-+ BUILD_DVDCSS = 0
- endif
- ifeq ($(BUILD_DVDCSS),1)
- SOS += libdvdcss-$(ARCH).so
diff --git a/libre/kodi/libre.patch b/libre/kodi/libre.patch
index 6170efa08..7b0df1f03 100644
--- a/libre/kodi/libre.patch
+++ b/libre/kodi/libre.patch
@@ -1,463 +1,17 @@
-diff --git a/Kodi.xcodeproj/project.pbxproj b/Kodi.xcodeproj/project.pbxproj
-index 7ce0ad368..fbdfcf195 100644
---- a/Kodi.xcodeproj/project.pbxproj
-+++ b/Kodi.xcodeproj/project.pbxproj
-@@ -969,7 +969,6 @@
- DF93D6A51444A8B1007C6459 /* MusicDatabaseFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF93D67B1444A8B0007C6459 /* MusicDatabaseFile.cpp */; };
- DF93D6A61444A8B1007C6459 /* NFSFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF93D67D1444A8B0007C6459 /* NFSFile.cpp */; };
- DF93D6A71444A8B1007C6459 /* PipeFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF93D67F1444A8B0007C6459 /* PipeFile.cpp */; };
-- DF93D6A81444A8B1007C6459 /* RarFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF93D6811444A8B0007C6459 /* RarFile.cpp */; };
- DF93D6AA1444A8B1007C6459 /* SFTPFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF93D6851444A8B0007C6459 /* SFTPFile.cpp */; };
- DF93D6AB1444A8B1007C6459 /* ShoutcastFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF93D6871444A8B0007C6459 /* ShoutcastFile.cpp */; };
- DF93D6AD1444A8B1007C6459 /* SMBFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF93D68B1444A8B0007C6459 /* SMBFile.cpp */; };
-@@ -1221,8 +1220,6 @@
- E38E204F0D25F9FD00618676 /* PlaylistDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17400D25F9FA00618676 /* PlaylistDirectory.cpp */; };
- E38E20500D25F9FD00618676 /* PlaylistFileDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17420D25F9FA00618676 /* PlaylistFileDirectory.cpp */; };
- E38E20510D25F9FD00618676 /* PluginDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17440D25F9FA00618676 /* PluginDirectory.cpp */; };
-- E38E20520D25F9FD00618676 /* RarDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17460D25F9FA00618676 /* RarDirectory.cpp */; };
-- E38E20530D25F9FD00618676 /* RarManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17480D25F9FA00618676 /* RarManager.cpp */; };
- E38E20580D25F9FD00618676 /* SmartPlaylistDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17530D25F9FA00618676 /* SmartPlaylistDirectory.cpp */; };
- E38E205B0D25F9FD00618676 /* StackDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17590D25F9FA00618676 /* StackDirectory.cpp */; };
- E38E205C0D25F9FD00618676 /* UPnPDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E175B0D25F9FA00618676 /* UPnPDirectory.cpp */; settings = {COMPILER_FLAGS = "-I$SRCROOT/lib/libUPnP -I$SRCROOT/lib/libUPnP/Neptune/Source/Core -I$SRCROOT/lib/libUPnP/Platinum/Source/Core -I$SRCROOT/lib/libUPnP/Platinum/Source/Platinum -I$SRCROOT/lib/libUPnP/Platinum/Source/Extras -I$SRCROOT/lib/libUPnP/Platinum/Source/Devices/MediaServer -I$SRCROOT/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I$SRCROOT/lib/libUPnP/Platinum/Source/Devices/MediaRenderer"; }; };
-@@ -1687,9 +1684,6 @@
- E49912A0174E5D9900741B6D /* PlaylistFileDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17420D25F9FA00618676 /* PlaylistFileDirectory.cpp */; };
- E49912A1174E5D9900741B6D /* PluginDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17440D25F9FA00618676 /* PluginDirectory.cpp */; };
- E49912A2174E5D9900741B6D /* PVRDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C8482905156CFF24005A996F /* PVRDirectory.cpp */; };
-- E49912A4174E5D9900741B6D /* RarDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17460D25F9FA00618676 /* RarDirectory.cpp */; };
-- E49912A5174E5D9900741B6D /* RarFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF93D6811444A8B0007C6459 /* RarFile.cpp */; };
-- E49912A6174E5D9900741B6D /* RarManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17480D25F9FA00618676 /* RarManager.cpp */; };
- E49912A7174E5D9900741B6D /* RSSDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 889B4D8C0E0EF86C00FAD25E /* RSSDirectory.cpp */; };
- E49912AC174E5D9900741B6D /* SFTPDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5A7B37C113AFB900059D6AA /* SFTPDirectory.cpp */; };
- E49912AD174E5D9900741B6D /* SFTPFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF93D6851444A8B0007C6459 /* SFTPFile.cpp */; };
-@@ -3914,8 +3908,6 @@
- DF93D67E1444A8B0007C6459 /* NFSFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NFSFile.h; sourceTree = "<group>"; };
- DF93D67F1444A8B0007C6459 /* PipeFile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PipeFile.cpp; sourceTree = "<group>"; };
- DF93D6801444A8B0007C6459 /* PipeFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PipeFile.h; sourceTree = "<group>"; };
-- DF93D6811444A8B0007C6459 /* RarFile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RarFile.cpp; sourceTree = "<group>"; };
-- DF93D6821444A8B0007C6459 /* RarFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RarFile.h; sourceTree = "<group>"; };
- DF93D6851444A8B0007C6459 /* SFTPFile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SFTPFile.cpp; sourceTree = "<group>"; };
- DF93D6861444A8B0007C6459 /* SFTPFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SFTPFile.h; sourceTree = "<group>"; };
- DF93D6871444A8B0007C6459 /* ShoutcastFile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShoutcastFile.cpp; sourceTree = "<group>"; };
-@@ -4356,10 +4348,6 @@
- E38E17430D25F9FA00618676 /* PlaylistFileDirectory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlaylistFileDirectory.h; sourceTree = "<group>"; };
- E38E17440D25F9FA00618676 /* PluginDirectory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PluginDirectory.cpp; sourceTree = "<group>"; };
- E38E17450D25F9FA00618676 /* PluginDirectory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PluginDirectory.h; sourceTree = "<group>"; };
-- E38E17460D25F9FA00618676 /* RarDirectory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RarDirectory.cpp; sourceTree = "<group>"; };
-- E38E17470D25F9FA00618676 /* RarDirectory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RarDirectory.h; sourceTree = "<group>"; };
-- E38E17480D25F9FA00618676 /* RarManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RarManager.cpp; sourceTree = "<group>"; };
-- E38E17490D25F9FA00618676 /* RarManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RarManager.h; sourceTree = "<group>"; };
- E38E17530D25F9FA00618676 /* SmartPlaylistDirectory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SmartPlaylistDirectory.cpp; sourceTree = "<group>"; };
- E38E17540D25F9FA00618676 /* SmartPlaylistDirectory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SmartPlaylistDirectory.h; sourceTree = "<group>"; };
- E38E17560D25F9FA00618676 /* SMBDirectory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SMBDirectory.h; sourceTree = "<group>"; };
-@@ -8445,12 +8433,6 @@
- E38E17450D25F9FA00618676 /* PluginDirectory.h */,
- C8482905156CFF24005A996F /* PVRDirectory.cpp */,
- C8482906156CFF24005A996F /* PVRDirectory.h */,
-- E38E17460D25F9FA00618676 /* RarDirectory.cpp */,
-- E38E17470D25F9FA00618676 /* RarDirectory.h */,
-- DF93D6811444A8B0007C6459 /* RarFile.cpp */,
-- DF93D6821444A8B0007C6459 /* RarFile.h */,
-- E38E17480D25F9FA00618676 /* RarManager.cpp */,
-- E38E17490D25F9FA00618676 /* RarManager.h */,
- 395C2A0D1A9F072400EBC7AD /* ResourceDirectory.cpp */,
- 395C2A0E1A9F072400EBC7AD /* ResourceDirectory.h */,
- 395C2A0F1A9F072400EBC7AD /* ResourceFile.cpp */,
-@@ -9920,8 +9902,6 @@
- 68AE5C1B1C92438E00C4D527 /* GUIControllerButton.cpp in Sources */,
- E38E20510D25F9FD00618676 /* PluginDirectory.cpp in Sources */,
- 7CF3194B1BD2C65500A44A41 /* MusicInfoTagLoaderFFmpeg.cpp in Sources */,
-- E38E20520D25F9FD00618676 /* RarDirectory.cpp in Sources */,
-- E38E20530D25F9FD00618676 /* RarManager.cpp in Sources */,
- DF54F7FE1B6580AD000FCBA4 /* ContextMenuItem.cpp in Sources */,
- 395C29C51A98A0E100EBC7AD /* ILanguageInvoker.cpp in Sources */,
- E38E20580D25F9FD00618676 /* SmartPlaylistDirectory.cpp in Sources */,
-@@ -10497,7 +10477,6 @@
- DF93D6A61444A8B1007C6459 /* NFSFile.cpp in Sources */,
- DF93D6A71444A8B1007C6459 /* PipeFile.cpp in Sources */,
- EDED2E8B1C878E62000F5E80 /* AddonCallbacksGUI.cpp in Sources */,
-- DF93D6A81444A8B1007C6459 /* RarFile.cpp in Sources */,
- DF93D6AA1444A8B1007C6459 /* SFTPFile.cpp in Sources */,
- DF93D6AB1444A8B1007C6459 /* ShoutcastFile.cpp in Sources */,
- DF93D6AD1444A8B1007C6459 /* SMBFile.cpp in Sources */,
-@@ -11235,9 +11214,6 @@
- E49912A1174E5D9900741B6D /* PluginDirectory.cpp in Sources */,
- E49912A2174E5D9900741B6D /* PVRDirectory.cpp in Sources */,
- 395C29DC1A98A11C00EBC7AD /* WsgiResponse.cpp in Sources */,
-- E49912A4174E5D9900741B6D /* RarDirectory.cpp in Sources */,
-- E49912A5174E5D9900741B6D /* RarFile.cpp in Sources */,
-- E49912A6174E5D9900741B6D /* RarManager.cpp in Sources */,
- E49912A7174E5D9900741B6D /* RSSDirectory.cpp in Sources */,
- 7C8E02231BA35D0B0072E8B2 /* Builtins.cpp in Sources */,
- E49912AC174E5D9900741B6D /* SFTPDirectory.cpp in Sources */,
-diff --git a/Makefile.in b/Makefile.in
-index 0d70e9b12..a434052e0 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -193,10 +193,6 @@ ifeq ($(findstring freebsd,@ARCH@),freebsd)
- DIRECTORY_ARCHIVES += xbmc/freebsd/freebsd.a
- endif
-
--ifeq (@HAVE_XBMC_NONFREE@,1)
--DIRECTORY_ARCHIVES += lib/UnrarXLib/UnrarXLib.a
--endif
--
- ifeq (@USE_ANDROID@,1)
- DIRECTORY_ARCHIVES += xbmc/platform/android/loader/AndroidDyload.a
- DIRECTORY_ARCHIVES += xbmc/windowing/android/windowing_android.a
-diff --git a/addons/repository.xbmc.org/addon.xml b/addons/repository.xbmc.org/addon.xml
-index 54e1a20b1..511606b00 100644
---- a/addons/repository.xbmc.org/addon.xml
-+++ b/addons/repository.xbmc.org/addon.xml
-@@ -7,9 +7,9 @@
- <import addon="xbmc.addon" version="12.0.0"/>
+--- xbmc-18.3-Leia.orig/addons/repository.xbmc.org/addon.xml 2019-06-19 04:18:07.000000000 -0500
++++ xbmc-18.3-Leia/addons/repository.xbmc.org/addon.xml 2019-08-24 21:09:14.677670552 -0500
+@@ -8,10 +8,10 @@
</requires>
<extension point="xbmc.addon.repository">
-- <info>http://mirrors.kodi.tv/addons/krypton/addons.xml.gz</info>
-- <checksum>http://mirrors.kodi.tv/addons/krypton/addons.xml.gz.md5</checksum>
-- <datadir>http://mirrors.kodi.tv/addons/krypton</datadir>
-+ <info>http://repo.parabola.nu/other/kodi-libre/addons/krypton/addons.xml.gz</info>
-+ <checksum>http://repo.parabola.nu/other/kodi-libre/addons/krypton/addons.xml.gz.md5</checksum>
-+ <datadir>http://repo.parabola.nu/other/kodi-libre/addons/krypton</datadir>
- <hashes>true</hashes>
+ <!-- Do not forget to bump add-on version when changing paths to force a repo refresh -->
+- <info>http://mirrors.kodi.tv/addons/leia/addons.xml.gz</info>
+- <checksum verify="sha256">http://mirrors.kodi.tv/addons/leia/addons.xml.gz?sha256</checksum>
+- <datadir>https://mirrors.kodi.tv/addons/leia</datadir>
+- <artdir>http://mirrors.kodi.tv/addons/leia</artdir>
++ <info>http://repo.parabola.nu/other/kodi-libre/addons/leia/addons.xml.gz</info>
++ <checksum verify="sha256">http://repo.parabola.nu/other/kodi-libre/addons/leia/addons.xml.gz?sha256</checksum>
++ <datadir>http://repo.parabola.nu/other/kodi-libre/addons/leia</datadir>
++ <artdir>http://repo.parabola.nu/other/kodi-libre/addons/leia</artdir>
+ <hashes>sha256</hashes>
</extension>
<extension point="xbmc.addon.metadata">
-diff --git a/configure.ac b/configure.ac
-index 060939073..63cea4cc9 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -370,12 +370,6 @@ AC_ARG_ENABLE([avahi],
- [use_mdnsembedded=$enableval],
- [use_mdnsembedded=auto])
-
--AC_ARG_ENABLE([non-free],
-- [AS_HELP_STRING([--disable-non-free],
-- [disable components with non-compliant licenses])],
-- [use_nonfree=$enableval],
-- [use_nonfree=yes])
--
- AC_ARG_ENABLE([mysql],
- [AS_HELP_STRING([--disable-mysql],
- [disable mysql])],
-@@ -2015,15 +2009,6 @@ else
- final_message="$final_message\n mDNSEmbedded:\tNo"
- fi
-
--if test "$use_nonfree" = "yes"; then
-- final_message="$final_message\n Non-free:\tYes"
-- HAVE_XBMC_NONFREE=1
-- AC_DEFINE([HAVE_XBMC_NONFREE], [1], [Define to 1 to enable non-free components.])
--else
-- HAVE_XBMC_NONFREE=0
-- final_message="$final_message\n Non-free:\tNo"
--fi
--
- if test "$use_mysql" = "yes"; then
- final_message="$final_message\n MySQL:\tYes"
- USE_MYSQL=1
-@@ -2292,7 +2277,6 @@ AC_SUBST(GNUTLS_ALL_LIBS)
- AC_SUBST(USE_LIBAV_HACKS)
- AC_SUBST(PYTHON_VERSION)
- AC_SUBST(OUTPUT_FILES)
--AC_SUBST(HAVE_XBMC_NONFREE)
- AC_SUBST(LIBCURL_BASENAME)
- AC_SUBST(LIBASS_BASENAME)
- AC_SUBST(LIBMEPG2_BASENAME)
-diff --git a/project/cmake/CMakeLists.txt b/project/cmake/CMakeLists.txt
-index 504e4c046..861d5e9ab 100644
---- a/project/cmake/CMakeLists.txt
-+++ b/project/cmake/CMakeLists.txt
-@@ -41,7 +41,6 @@ set(CMAKE_ASM_FLAGS "${CMAKE_C_FLAGS} -x assembler-with-cpp")
- option(VERBOSE "Enable verbose output?" OFF)
- option(ENABLE_DVDCSS "Enable libdvdcss support?" ON)
- option(ENABLE_UPNP "Enable UPnP support?" ON)
--option(ENABLE_NONFREE "Enable non-free components?" ON)
- option(ENABLE_AIRTUNES "Enable AirTunes support?" ON)
- option(ENABLE_OPTICAL "Enable optical support?" ON)
- # use ffmpeg from depends or system
-@@ -165,10 +164,6 @@ if(ENABLE_UPNP)
- list(APPEND DEP_DEFINES "-DUSE_UPNP=1")
- endif()
-
--if(ENABLE_NONFREE)
-- list(APPEND DEP_DEFINES "-DHAVE_XBMC_NONFREE=1")
--endif()
--
- if(ENABLE_OPTICAL)
- list(APPEND DEP_DEFINES -DHAS_DVD_DRIVE)
- endif()
-diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
-index c6ef0c0e0..4b253fbde 100644
---- a/xbmc/Application.cpp
-+++ b/xbmc/Application.cpp
-@@ -78,9 +78,6 @@
- #include "GUILargeTextureManager.h"
- #include "TextureCache.h"
- #include "playlists/SmartPlayList.h"
--#ifdef HAS_FILESYSTEM_RAR
--#include "filesystem/RarManager.h"
--#endif
- #include "playlists/PlayList.h"
- #include "profiles/ProfilesManager.h"
- #include "windowing/WindowingFactory.h"
-@@ -2941,9 +2938,6 @@ void CApplication::Stop(int exitCode)
- #endif
-
- CLog::Log(LOGNOTICE, "clean cached files!");
--#ifdef HAS_FILESYSTEM_RAR
-- g_RarManager.ClearCache(true);
--#endif
-
- #ifdef HAS_FILESYSTEM_SFTP
- CSFTPSessionManager::DisconnectAllSessions();
-diff --git a/xbmc/SystemGlobals.cpp b/xbmc/SystemGlobals.cpp
-index 9050b4168..dd47e16c7 100644
---- a/xbmc/SystemGlobals.cpp
-+++ b/xbmc/SystemGlobals.cpp
-@@ -37,9 +37,6 @@
- #include "filesystem/SpecialProtocol.h"
- std::map<std::string, std::string> CSpecialProtocol::m_pathMap;
-
--#if defined(HAS_FILESYSTEM_RAR)
--#include "filesystem/RarManager.h"
--#endif
- #include "filesystem/ZipManager.h"
-
- #ifdef TARGET_RASPBERRY_PI
-diff --git a/xbmc/Util.cpp b/xbmc/Util.cpp
-index c35679411..0ddd47d98 100644
---- a/xbmc/Util.cpp
-+++ b/xbmc/Util.cpp
-@@ -54,9 +54,6 @@
- #include "filesystem/MultiPathDirectory.h"
- #include "filesystem/SpecialProtocol.h"
- #include "filesystem/RSSDirectory.h"
--#ifdef HAS_FILESYSTEM_RAR
--#include "filesystem/RarManager.h"
--#endif
- #ifdef HAS_UPNP
- #include "filesystem/UPnPDirectory.h"
- #endif
-@@ -1933,16 +1930,6 @@ int CUtil::ScanArchiveForAssociatedItems(const std::string& strArchivePath,
- return false;
- }
- else
-- {
--#ifdef HAS_FILESYSTEM_RAR
-- // get _ALL_files in the rar, even those located in subdirectories because we set the bMask to false.
-- // so now we dont have to find any subdirs anymore, all files in the rar is checked.
-- if (!g_RarManager.GetFilesInRar(ItemList, strArchivePath, false, ""))
-- return false;
--#else
-- return false;
--#endif
-- }
- for (int it = 0; it < ItemList.Size(); ++it)
- {
- std::string strPathInRar = ItemList[it]->GetPath();
-diff --git a/xbmc/filesystem/CMakeLists.txt b/xbmc/filesystem/CMakeLists.txt
-index aa9fdf9eb..d4d7ea145 100644
---- a/xbmc/filesystem/CMakeLists.txt
-+++ b/xbmc/filesystem/CMakeLists.txt
-@@ -44,9 +44,6 @@ set(SOURCES AddonsDirectory.cpp
- PlaylistFileDirectory.cpp
- PluginDirectory.cpp
- PVRDirectory.cpp
-- RarDirectory.cpp
-- RarFile.cpp
-- RarManager.cpp
- ResourceDirectory.cpp
- ResourceFile.cpp
- RSSDirectory.cpp
-@@ -123,9 +120,6 @@ set(HEADERS AddonsDirectory.h
- PlaylistFileDirectory.h
- PluginDirectory.h
- RSSDirectory.h
-- RarDirectory.h
-- RarFile.h
-- RarManager.h
- ResourceDirectory.h
- ResourceFile.h
- SFTPDirectory.h
-diff --git a/xbmc/filesystem/DirectoryFactory.cpp b/xbmc/filesystem/DirectoryFactory.cpp
-index 662b63b5c..3da6513c6 100644
---- a/xbmc/filesystem/DirectoryFactory.cpp
-+++ b/xbmc/filesystem/DirectoryFactory.cpp
-@@ -76,9 +76,6 @@
- #endif
- #include "XbtDirectory.h"
- #include "ZipDirectory.h"
--#ifdef HAS_FILESYSTEM_RAR
--#include "RarDirectory.h"
--#endif
- #include "FileItem.h"
- #include "URL.h"
- #include "RSSDirectory.h"
-@@ -139,14 +136,6 @@ IDirectory* CDirectoryFactory::Create(const CURL& url)
- if (url.IsProtocol("apk")) return new CAPKDirectory();
- #endif
- if (url.IsProtocol("zip")) return new CZipDirectory();
-- if (url.IsProtocol("rar"))
-- {
--#ifdef HAS_FILESYSTEM_RAR
-- return new CRarDirectory();
--#else
-- CLog::Log(LOGWARNING, "%s - Compiled without non-free, rar support is disabled", __FUNCTION__);
--#endif
-- }
- if (url.IsProtocol("xbt")) return new CXbtDirectory();
- if (url.IsProtocol("multipath")) return new CMultiPathDirectory();
- if (url.IsProtocol("stack")) return new CStackDirectory();
-diff --git a/xbmc/filesystem/FileDirectoryFactory.cpp b/xbmc/filesystem/FileDirectoryFactory.cpp
-index a0fd0a901..af4b7a5df 100644
---- a/xbmc/filesystem/FileDirectoryFactory.cpp
-+++ b/xbmc/filesystem/FileDirectoryFactory.cpp
-@@ -26,9 +26,6 @@
- #include "UDFDirectory.h"
- #include "RSSDirectory.h"
- #endif
--#ifdef HAS_FILESYSTEM_RAR
--#include "RarDirectory.h"
--#endif
- #if defined(TARGET_ANDROID)
- #include "APKDirectory.h"
- #endif
-@@ -178,15 +175,6 @@ IFileDirectory* CFileDirectoryFactory::Create(const CURL& url, CFileItem* pItem,
- *pItem = *items[0];
- }
- else
-- {
--#ifdef HAS_FILESYSTEM_RAR
-- // compressed or more than one file -> create a rar dir
-- pItem->SetURL(rarURL);
-- return new CRarDirectory;
--#else
-- return NULL;
--#endif
-- }
- return NULL;
- }
- if (url.IsFileType("xbt"))
-diff --git a/xbmc/filesystem/FileFactory.cpp b/xbmc/filesystem/FileFactory.cpp
-index c7760bf40..e565726bd 100644
---- a/xbmc/filesystem/FileFactory.cpp
-+++ b/xbmc/filesystem/FileFactory.cpp
-@@ -50,9 +50,6 @@
- #endif
- #include "XbtFile.h"
- #include "ZipFile.h"
--#ifdef HAS_FILESYSTEM_RAR
--#include "RarFile.h"
--#endif
- #ifdef HAS_FILESYSTEM_SFTP
- #include "SFTPFile.h"
- #endif
-@@ -105,14 +102,6 @@ IFile* CFileFactory::CreateLoader(const CURL& url)
- if (url.IsProtocol("apk")) return new CAPKFile();
- #endif
- if (url.IsProtocol("zip")) return new CZipFile();
-- else if (url.IsProtocol("rar"))
-- {
--#ifdef HAS_FILESYSTEM_RAR
-- return new CRarFile();
--#else
-- CLog::Log(LOGWARNING, "%s - Compiled without non-free, rar support is disabled", __FUNCTION__);
--#endif
-- }
- else if (url.IsProtocol("xbt")) return new CXbtFile();
- else if (url.IsProtocol("musicdb")) return new CMusicDatabaseFile();
- else if (url.IsProtocol("videodb")) return nullptr;
-diff --git a/xbmc/filesystem/Makefile.in b/xbmc/filesystem/Makefile.in
-index 14fb7b7be..9c412136e 100644
---- a/xbmc/filesystem/Makefile.in
-+++ b/xbmc/filesystem/Makefile.in
-@@ -78,12 +78,6 @@ SRCS += AndroidAppFile.cpp
- SRCS += AndroidAppDirectory.cpp
- endif
-
--ifeq (@HAVE_XBMC_NONFREE@,1)
--SRCS += RarFile.cpp
--SRCS += RarDirectory.cpp
--SRCS += RarManager.cpp
--endif
--
- ifeq (@USE_LIBSMBCLIENT@,1)
- SRCS += SMBFile.cpp
- SRCS += SMBDirectory.cpp
-diff --git a/xbmc/filesystem/test/CMakeLists.txt b/xbmc/filesystem/test/CMakeLists.txt
-index 5d7763365..6946a6e56 100644
---- a/xbmc/filesystem/test/CMakeLists.txt
-+++ b/xbmc/filesystem/test/CMakeLists.txt
-@@ -1,7 +1,6 @@
- set(SOURCES TestDirectory.cpp
- TestFile.cpp
- TestFileFactory.cpp
-- TestRarFile.cpp
- TestZipFile.cpp
- TestZipManager.cpp)
-
- core_add_test_library(filesystem_test)
-diff --git a/xbmc/filesystem/test/Makefile b/xbmc/filesystem/test/Makefile
-index 6589d7164..d528be284 100644
---- a/xbmc/filesystem/test/Makefile
-+++ b/xbmc/filesystem/test/Makefile
-@@ -3,7 +3,6 @@ SRCS= \
- TestFile.cpp \
- TestFileFactory.cpp \
- TestNfsFile.cpp \
-- TestRarFile.cpp \
- TestZipFile.cpp
-
- LIB=filesystemTest.a
-diff --git a/xbmc/interfaces/builtins/ApplicationBuiltins.cpp b/xbmc/interfaces/builtins/ApplicationBuiltins.cpp
-index 86be03fd9..a33b859f9 100644
---- a/xbmc/interfaces/builtins/ApplicationBuiltins.cpp
-+++ b/xbmc/interfaces/builtins/ApplicationBuiltins.cpp
-@@ -21,9 +21,6 @@
- #include "ApplicationBuiltins.h"
-
- #include "Application.h"
--#ifdef HAS_FILESYSTEM_RAR
--#include "filesystem/RarManager.h"
--#endif
- #include "filesystem/ZipManager.h"
- #include "messaging/ApplicationMessenger.h"
- #include "input/Key.h"
-@@ -49,7 +46,7 @@ using namespace KODI::MESSAGING;
- */
- static int Extract(const std::vector<std::string>& params)
- {
-- // Detects if file is zip or rar then extracts
-+ // Detects if file is zip then extracts
- std::string strDestDirect;
- if (params.size() < 2)
- strDestDirect = URIUtils::GetDirectory(params[0]);
-@@ -60,10 +57,6 @@ static int Extract(const std::vector<std::string>& params)
-
- if (URIUtils::IsZIP(params[0]))
- g_ZipManager.ExtractArchive(params[0],strDestDirect);
--#ifdef HAS_FILESYSTEM_RAR
-- else if (URIUtils::IsRAR(params[0]))
-- g_RarManager.ExtractArchive(params[0],strDestDirect);
--#endif
- else
- CLog::Log(LOGERROR, "Extract, No archive given");
-
-diff --git a/xbmc/system.h b/xbmc/system.h
-index 07dfe87e4..a60b4f23b 100644
---- a/xbmc/system.h
-+++ b/xbmc/system.h
-@@ -81,14 +81,6 @@
- #define HAS_MDNS_EMBEDDED
- #endif
-
--/**********************
-- * Non-free Components
-- **********************/
--
--#if defined(HAVE_XBMC_NONFREE)
-- #define HAS_FILESYSTEM_RAR
--#endif
--
- /*****************
- * Win32 Specific
- *****************/