gnu: kodi: Update to 19.5.
* gnu/packages/kodi.scm (kodi): Update to 19.5. [source]: Remove obsolete patches; delete bundled jars. [arguments]: Update configure flags; adjust build phase 'patch-stuff to use Groovy from Guix; adjust file names; remove obsolete substitutions; disable TestCPUInfo.GetCPUFrequency test; remove trailing #T from build phases. [native-inputs]: Drop input labels; add googletest, groovy, openjdk9, and java-commons-lang; remove icedtea. [inputs]: Add spdlog-for-kodi; replace fmt-7 with fmt-6 (for spdlog). (kodi/wayland)[arguments]: Adjust configure flags. [inputs]: Use modify-inputs. * gnu/local.mk (dist_patch_DATA): Remove obsolete patches. * gnu/packages/patches/kodi-set-libcurl-ssl-parameters.patch: Adjust. * gnu/packages/patches/kodi-increase-test-timeout.patch: Remove file. * gnu/packages/patches/kodi-skip-test-449.patch: Remove file.master
parent
01a2b3cce6
commit
dbd9305a56
|
@ -1398,9 +1398,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/kobodeluxe-manpage-minus-not-hyphen.patch \
|
%D%/packages/patches/kobodeluxe-manpage-minus-not-hyphen.patch \
|
||||||
%D%/packages/patches/kobodeluxe-midicon-segmentation-fault.patch \
|
%D%/packages/patches/kobodeluxe-midicon-segmentation-fault.patch \
|
||||||
%D%/packages/patches/kobodeluxe-graphics-window-signed-char.patch \
|
%D%/packages/patches/kobodeluxe-graphics-window-signed-char.patch \
|
||||||
%D%/packages/patches/kodi-increase-test-timeout.patch \
|
|
||||||
%D%/packages/patches/kodi-set-libcurl-ssl-parameters.patch \
|
%D%/packages/patches/kodi-set-libcurl-ssl-parameters.patch \
|
||||||
%D%/packages/patches/kodi-skip-test-449.patch \
|
|
||||||
%D%/packages/patches/kwayland-skip-flaky-test.patch \
|
%D%/packages/patches/kwayland-skip-flaky-test.patch \
|
||||||
%D%/packages/patches/laby-make-install.patch \
|
%D%/packages/patches/laby-make-install.patch \
|
||||||
%D%/packages/patches/ldns-drill-examples.patch \
|
%D%/packages/patches/ldns-drill-examples.patch \
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
;;; Copyright © 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
|
;;; Copyright © 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||||
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
|
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
|
||||||
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
|
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
|
||||||
|
;;; Copyright © 2022 Ricardo Wurmus <rekado@elephly.net>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -39,6 +40,7 @@
|
||||||
#:use-module (gnu packages base)
|
#:use-module (gnu packages base)
|
||||||
#:use-module (gnu packages bash)
|
#:use-module (gnu packages bash)
|
||||||
#:use-module (gnu packages cdrom)
|
#:use-module (gnu packages cdrom)
|
||||||
|
#:use-module (gnu packages check)
|
||||||
#:use-module (gnu packages cmake)
|
#:use-module (gnu packages cmake)
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
#:use-module (gnu packages curl)
|
#:use-module (gnu packages curl)
|
||||||
|
@ -55,12 +57,14 @@
|
||||||
#:use-module (gnu packages glib)
|
#:use-module (gnu packages glib)
|
||||||
#:use-module (gnu packages gperf)
|
#:use-module (gnu packages gperf)
|
||||||
#:use-module (gnu packages groff)
|
#:use-module (gnu packages groff)
|
||||||
|
#:use-module (gnu packages groovy)
|
||||||
#:use-module (gnu packages gnunet)
|
#:use-module (gnu packages gnunet)
|
||||||
#:use-module (gnu packages gnupg)
|
#:use-module (gnu packages gnupg)
|
||||||
#:use-module (gnu packages image)
|
#:use-module (gnu packages image)
|
||||||
#:use-module (gnu packages java)
|
#:use-module (gnu packages java)
|
||||||
#:use-module (gnu packages libusb)
|
#:use-module (gnu packages libusb)
|
||||||
#:use-module (gnu packages linux)
|
#:use-module (gnu packages linux)
|
||||||
|
#:use-module (gnu packages logging)
|
||||||
#:use-module (gnu packages mp3)
|
#:use-module (gnu packages mp3)
|
||||||
#:use-module (gnu packages pcre)
|
#:use-module (gnu packages pcre)
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
|
@ -270,43 +274,40 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.")
|
||||||
(define-public kodi
|
(define-public kodi
|
||||||
(package
|
(package
|
||||||
(name "kodi")
|
(name "kodi")
|
||||||
(version "18.8")
|
(version "19.5")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url "https://github.com/xbmc/xbmc")
|
(url "https://github.com/xbmc/xbmc")
|
||||||
(commit (string-append version "-Leia"))))
|
(commit (string-append version "-Matrix"))))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0qpkpz43s207msvv3qkiy6vzqwcgmydxv3py7vc29mv6h30chrva"))
|
"1pfd1ajivr865h0fkpbv778626c4czrvq8650bzqv9aqzh8f36my"))
|
||||||
(patches (search-patches "kodi-skip-test-449.patch"
|
(patches (search-patches "kodi-set-libcurl-ssl-parameters.patch"))
|
||||||
"kodi-increase-test-timeout.patch"
|
(modules '((guix build utils)))
|
||||||
"kodi-set-libcurl-ssl-parameters.patch"))
|
|
||||||
(snippet
|
(snippet
|
||||||
'(begin
|
'(begin
|
||||||
(use-modules (guix build utils))
|
(use-modules (guix build utils))
|
||||||
(for-each delete-file-recursively
|
(for-each delete-file-recursively
|
||||||
'("project/BuildDependencies/"
|
'("project/BuildDependencies/"
|
||||||
;; TODO: Purge these jars.
|
"tools/codegenerator/groovy/commons-lang-2.6.jar"
|
||||||
;;"tools/codegenerator/groovy"
|
"tools/codegenerator/groovy/groovy-all-2.4.4.jar"
|
||||||
;; And these sources:
|
;; Purge these sources:
|
||||||
;; "tools/depend/native/JsonSchemaBuilder"
|
;; "tools/depend/native/JsonSchemaBuilder"
|
||||||
;; "tools/depend/native/TexturePacker"
|
;; "tools/depend/native/TexturePacker"
|
||||||
;; "lib/gtest"
|
|
||||||
;; "lib/cpluff"
|
|
||||||
;; "lib/libUPnP"
|
;; "lib/libUPnP"
|
||||||
"lib/libUPnP/Neptune/ThirdParty"
|
"lib/libUPnP/Neptune/ThirdParty"
|
||||||
"project/Win32BuildSetup/tools/7z"))
|
"project/Win32BuildSetup/tools/7z"))))))
|
||||||
#t))
|
|
||||||
(modules '((guix build utils)))))
|
|
||||||
(build-system cmake-build-system)
|
(build-system cmake-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
'(#:modules ((srfi srfi-1)
|
'(#:modules ((srfi srfi-1)
|
||||||
(guix build cmake-build-system)
|
(guix build cmake-build-system)
|
||||||
(guix build utils))
|
(guix build utils))
|
||||||
#:configure-flags
|
#:configure-flags
|
||||||
(list "-DENABLE_INTERNAL_FFMPEG=OFF"
|
(list "-DCORE_PLATFORM_NAME=x11"
|
||||||
|
"-DAPP_RENDER_SYSTEM=gl"
|
||||||
|
"-DENABLE_INTERNAL_FFMPEG=OFF"
|
||||||
"-DENABLE_INTERNAL_CROSSGUID=OFF"
|
"-DENABLE_INTERNAL_CROSSGUID=OFF"
|
||||||
(string-append "-Dlibdvdread_URL="
|
(string-append "-Dlibdvdread_URL="
|
||||||
(assoc-ref %build-inputs "libdvdread-bootstrapped"))
|
(assoc-ref %build-inputs "libdvdread-bootstrapped"))
|
||||||
|
@ -324,28 +325,36 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.")
|
||||||
;; bootstrap it on our own instead.
|
;; bootstrap it on our own instead.
|
||||||
(add-after 'unpack 'bootstrap-bundled-software
|
(add-after 'unpack 'bootstrap-bundled-software
|
||||||
(lambda _
|
(lambda _
|
||||||
(let ((dirs '("tools/depends/native/JsonSchemaBuilder/src"
|
(let ((dirs '("tools/depends/native/JsonSchemaBuilder/src")))
|
||||||
"lib/cpluff")))
|
|
||||||
(every (lambda (third-party)
|
(every (lambda (third-party)
|
||||||
(with-directory-excursion third-party
|
(with-directory-excursion third-party
|
||||||
(invoke "autoreconf" "-vif")))
|
(invoke "autoreconf" "-vif")))
|
||||||
dirs))))
|
dirs))))
|
||||||
(add-after 'bootstrap-bundled-software 'patch-stuff
|
(add-after 'bootstrap-bundled-software 'patch-stuff
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
;; Run groovy executable directly.
|
||||||
|
(substitute* "xbmc/interfaces/swig/CMakeLists.txt"
|
||||||
|
(("COMMAND \\$\\{Java_JAVA_EXECUTABLE\\}")
|
||||||
|
"COMMAND groovy")
|
||||||
|
(("ARGS \\$\\{JAVA_OPEN_OPTS\\} -cp \"\\$\\{classpath\\}\" groovy.ui.GroovyMain")
|
||||||
|
"ARGS -cp \"${classpath}\" ")
|
||||||
|
(("classpath \\$\\{GROOVY_DIR\\}/groovy-all-\\$\\{GROOVY_VER\\}.jar")
|
||||||
|
"classpath ")
|
||||||
|
(("\\$\\{GROOVY_DIR\\}/commons-lang-\\$\\{COMMONS_VER\\}.jar")
|
||||||
|
(search-input-file inputs "/share/java/commons-lang-2.6.jar"))
|
||||||
|
(("^set\\(GROOVY_VER.*")
|
||||||
|
(string-append "set(GROOVY_VER 3.0.5)\n")))
|
||||||
|
|
||||||
;; Prevent the build scripts from calling autoreconf in the
|
;; Prevent the build scripts from calling autoreconf in the
|
||||||
;; build stage. Otherwise, it would undo the bootstrapping
|
;; build stage. Otherwise, it would undo the bootstrapping
|
||||||
;; and shebang patching that we worked so hard for.
|
;; and shebang patching that we worked so hard for.
|
||||||
(substitute* "cmake/modules/FindCpluff.cmake"
|
|
||||||
(("autoreconf -vif") "true"))
|
|
||||||
(substitute* "lib/cpluff/po/Makefile.in.in"
|
|
||||||
(("/bin/sh") (which "sh")))
|
|
||||||
(substitute* "cmake/modules/FindLibDvd.cmake"
|
(substitute* "cmake/modules/FindLibDvd.cmake"
|
||||||
;; The libdvd* sources that we bootstrapped separately are
|
;; The libdvd* sources that we bootstrapped separately are
|
||||||
;; unpacked in the build phase. This is our best opportunity
|
;; unpacked in the build phase. This is our best opportunity
|
||||||
;; to make them writable before the build process starts.
|
;; to make them writable before the build process starts.
|
||||||
(("autoreconf -vif") "chmod -R u+w ."))
|
(("autoreconf -vif") "chmod -R u+w ."))
|
||||||
|
|
||||||
(substitute* "xbmc/platform/linux/LinuxTimezone.cpp"
|
(substitute* "xbmc/platform/posix/PosixTimezone.cpp"
|
||||||
(("/usr/share/zoneinfo")
|
(("/usr/share/zoneinfo")
|
||||||
(search-input-directory inputs "share/zoneinfo")))
|
(search-input-directory inputs "share/zoneinfo")))
|
||||||
|
|
||||||
|
@ -357,20 +366,21 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.")
|
||||||
;; Let's disable some tests that are known not to work here.
|
;; Let's disable some tests that are known not to work here.
|
||||||
;; Doing this later while in the cmake "../build" directory
|
;; Doing this later while in the cmake "../build" directory
|
||||||
;; is trickier.
|
;; is trickier.
|
||||||
(substitute* '("xbmc/utils/test/TestSystemInfo.cpp")
|
(substitute* "xbmc/utils/test/TestSystemInfo.cpp"
|
||||||
(("TEST_F\\(TestSystemInfo, GetOsPrettyNameWithVersion\\)")
|
(("TEST_F\\(TestSystemInfo, GetOsPrettyNameWithVersion\\)")
|
||||||
"TEST_F(TestSystemInfo, DISABLED_GetOsPrettyNameWithVersion)")
|
"TEST_F(TestSystemInfo, DISABLED_GetOsPrettyNameWithVersion)")
|
||||||
(("TEST_F\\(TestSystemInfo, GetOsName\\)")
|
(("TEST_F\\(TestSystemInfo, GetOsName\\)")
|
||||||
"TEST_F(TestSystemInfo, DISABLED_GetOsName)")
|
"TEST_F(TestSystemInfo, DISABLED_GetOsName)")
|
||||||
(("TEST_F\\(TestSystemInfo, GetOsVersion\\)")
|
(("TEST_F\\(TestSystemInfo, GetOsVersion\\)")
|
||||||
"TEST_F(TestSystemInfo, DISABLED_GetOsVersion)"))
|
"TEST_F(TestSystemInfo, DISABLED_GetOsVersion)"))
|
||||||
#t))
|
(substitute* "xbmc/utils/test/TestCPUInfo.cpp"
|
||||||
|
(("TEST_F\\(TestCPUInfo, GetCPUFrequency\\)")
|
||||||
|
"TEST_F(TestCPUInfo, DISABLED_GetCPUFrequency)"))))
|
||||||
(add-before 'build 'set-build-environment
|
(add-before 'build 'set-build-environment
|
||||||
(lambda _
|
(lambda _
|
||||||
;; Some bundled build scripts fall back to /bin/sh
|
;; Some bundled build scripts fall back to /bin/sh
|
||||||
;; if this is not set.
|
;; if this is not set.
|
||||||
(setenv "CONFIG_SHELL" (which "sh"))
|
(setenv "CONFIG_SHELL" (which "sh"))))
|
||||||
#t))
|
|
||||||
(add-before 'check 'build-kodi-test
|
(add-before 'check 'build-kodi-test
|
||||||
(lambda _
|
(lambda _
|
||||||
(invoke "make" "kodi-test"))))))
|
(invoke "make" "kodi-test"))))))
|
||||||
|
@ -379,77 +389,81 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.")
|
||||||
;; - plist
|
;; - plist
|
||||||
;; - shairplay
|
;; - shairplay
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("autoconf" ,autoconf)
|
(list autoconf
|
||||||
("automake" ,automake)
|
automake
|
||||||
("gettext" ,gettext-minimal)
|
gettext-minimal
|
||||||
("icedtea" ,icedtea) ; needed at build-time only, mandatory
|
googletest
|
||||||
("libdvdcss-bootstrapped" ,libdvdcss/kodi)
|
groovy
|
||||||
("libdvdnav-bootstrapped" ,libdvdnav/kodi)
|
openjdk9 ;like groovy
|
||||||
("libdvdread-bootstrapped" ,libdvdread/kodi)
|
java-commons-lang
|
||||||
("libtool" ,libtool)
|
libdvdcss/kodi
|
||||||
("pkg-config" ,pkg-config)
|
libdvdnav/kodi
|
||||||
("swig" ,swig)
|
libdvdread/kodi
|
||||||
("yasm" ,yasm)))
|
libtool
|
||||||
|
pkg-config
|
||||||
|
swig
|
||||||
|
yasm))
|
||||||
(inputs
|
(inputs
|
||||||
`(("alsa-lib" ,alsa-lib)
|
(list alsa-lib
|
||||||
("avahi" ,avahi)
|
avahi
|
||||||
("bluez" ,bluez)
|
bluez
|
||||||
("crossguid" ,crossguid)
|
crossguid
|
||||||
("curl" ,curl)
|
curl
|
||||||
("dcadec" ,dcadec)
|
dcadec
|
||||||
("dbus" ,dbus)
|
dbus
|
||||||
("eudev" ,eudev)
|
eudev
|
||||||
("ffmpeg" ,ffmpeg-4)
|
ffmpeg-4
|
||||||
("flac" ,flac)
|
flac
|
||||||
("flatbuffers" ,flatbuffers)
|
flatbuffers
|
||||||
("fmt" ,fmt-7)
|
fmt-6
|
||||||
("fontconfig" ,fontconfig)
|
fontconfig
|
||||||
("freetype" ,freetype)
|
freetype
|
||||||
("fribidi" ,fribidi)
|
fribidi
|
||||||
("fstrcmp" ,fstrcmp)
|
fstrcmp
|
||||||
("giflib" ,giflib)
|
giflib
|
||||||
("glew" ,glew)
|
glew
|
||||||
("gnutls" ,gnutls)
|
gnutls
|
||||||
("lame" ,lame)
|
lame
|
||||||
("lcms" ,lcms)
|
lcms
|
||||||
("libass" ,libass)
|
libass
|
||||||
("libbluray" ,libbluray)
|
libbluray
|
||||||
("libcap" ,libcap)
|
libcap
|
||||||
("libcdio" ,libcdio)
|
libcdio
|
||||||
("libdrm" ,libdrm)
|
libdrm
|
||||||
("libgcrypt" ,libgcrypt)
|
libgcrypt
|
||||||
("libjpeg" ,libjpeg-turbo)
|
libjpeg-turbo
|
||||||
("libltdl" ,libltdl)
|
libltdl
|
||||||
("libmad" ,libmad)
|
libmad
|
||||||
("libmicrohttpd" ,libmicrohttpd)
|
libmicrohttpd
|
||||||
("libmpeg2" ,libmpeg2)
|
libmpeg2
|
||||||
("libnfs" ,libnfs)
|
libnfs
|
||||||
("libogg" ,libogg)
|
libogg
|
||||||
("libpng" ,libpng)
|
libpng
|
||||||
("libssh" ,libssh)
|
libssh
|
||||||
("libtiff" ,libtiff)
|
libtiff
|
||||||
("libva" ,libva)
|
libva
|
||||||
("libvorbis" ,libvorbis)
|
libvorbis
|
||||||
("libxml2" ,libxml2)
|
libxml2
|
||||||
("libxrandr" ,libxrandr)
|
libxrandr
|
||||||
("libxrender" ,libxrender)
|
libxrender
|
||||||
("libxslt" ,libxslt)
|
libxslt
|
||||||
("lzo" ,lzo)
|
lzo
|
||||||
("mariadb-dev" ,mariadb "lib")
|
(list mariadb "lib")
|
||||||
("mariadb-dev" ,mariadb "dev")
|
(list mariadb "dev")
|
||||||
("openssl" ,openssl)
|
openssl
|
||||||
("pcre" ,pcre)
|
pcre
|
||||||
("pulseaudio" ,pulseaudio)
|
pulseaudio
|
||||||
("python" ,python-2)
|
python
|
||||||
("rapidjson" ,rapidjson)
|
rapidjson
|
||||||
("samba" ,samba)
|
samba
|
||||||
("sqlite" ,sqlite)
|
spdlog-for-kodi
|
||||||
("taglib" ,taglib)
|
sqlite
|
||||||
("tinyxml" ,tinyxml)
|
taglib
|
||||||
("tzdata" ,tzdata)
|
tinyxml
|
||||||
("util-linux" ,util-linux)
|
tzdata
|
||||||
("zip" ,zip)
|
util-linux
|
||||||
("zlib" ,zlib)))
|
zip
|
||||||
|
zlib))
|
||||||
(synopsis "Media center for home theater computers")
|
(synopsis "Media center for home theater computers")
|
||||||
(description "Kodi is a media center application for playing videos,
|
(description "Kodi is a media center application for playing videos,
|
||||||
music, games, etc. Kodi is highly customizable and features a theme and
|
music, games, etc. Kodi is highly customizable and features a theme and
|
||||||
|
@ -458,11 +472,11 @@ plug-in system.")
|
||||||
;; XBMC is largely GPL2+, with some library components as LGPL2.1+, but
|
;; XBMC is largely GPL2+, with some library components as LGPL2.1+, but
|
||||||
;; there are some other licenses spread throughout.
|
;; there are some other licenses spread throughout.
|
||||||
(license (list license:gpl2+ license:lgpl2.1+
|
(license (list license:gpl2+ license:lgpl2.1+
|
||||||
license:gpl3+ ;WiiRemote client
|
license:gpl3+ ;WiiRemote client
|
||||||
license:expat ;cpluff, dbwrappers
|
license:expat ;cpluff, dbwrappers
|
||||||
license:public-domain ;cpluff/examples
|
license:public-domain ;cpluff/examples
|
||||||
license:bsd-3 ;misc, gtest
|
license:bsd-3 ;misc
|
||||||
license:bsd-2)))) ;xbmc/freebsd
|
license:bsd-2)))) ;xbmc/freebsd
|
||||||
|
|
||||||
(define-public kodi/wayland
|
(define-public kodi/wayland
|
||||||
(package/inherit kodi
|
(package/inherit kodi
|
||||||
|
@ -470,15 +484,14 @@ plug-in system.")
|
||||||
(arguments
|
(arguments
|
||||||
(substitute-keyword-arguments (package-arguments kodi)
|
(substitute-keyword-arguments (package-arguments kodi)
|
||||||
((#:configure-flags flags)
|
((#:configure-flags flags)
|
||||||
`(append '("-DCORE_PLATFORM_NAME=wayland"
|
`(cons "-DCORE_PLATFORM_NAME=wayland"
|
||||||
"-DWAYLAND_RENDER_SYSTEM=gl")
|
(delete "-DCORE_PLATFORM_NAME=x11" ,flags)))))
|
||||||
,flags))))
|
|
||||||
(inputs
|
(inputs
|
||||||
`(("libinput" ,libinput)
|
(modify-inputs (package-input kodi)
|
||||||
("libxkbcommon" ,libxkbcommon)
|
(prepend (list libinput
|
||||||
("waylandpp" ,waylandpp)
|
libxkbcommon
|
||||||
("waylandp-protocols" ,wayland-protocols)
|
waylandpp
|
||||||
,@(package-inputs kodi)))
|
wayland-protocols))))
|
||||||
(synopsis "Kodi with Wayland rendering backend")))
|
(synopsis "Kodi with Wayland rendering backend")))
|
||||||
|
|
||||||
(define-public kodi-cli
|
(define-public kodi-cli
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
Increase thread timeout to reduce flakiness.
|
|
||||||
|
|
||||||
Taken from upstream:
|
|
||||||
https://github.com/xbmc/xbmc/commit/574b0182d8b641fd24029f372ebdcccc897123e2
|
|
||||||
|
|
||||||
diff --git a/xbmc/threads/test/TestEvent.cpp b/xbmc/threads/test/TestEvent.cpp
|
|
||||||
index 42fb8c2fc609..40e644c0ed3c 100644
|
|
||||||
--- a/xbmc/threads/test/TestEvent.cpp
|
|
||||||
+++ b/xbmc/threads/test/TestEvent.cpp
|
|
||||||
@@ -484,7 +484,7 @@ TEST(TestEvent, GroupTimedWait)
|
|
||||||
EXPECT_TRUE(w3.result == NULL);
|
|
||||||
|
|
||||||
// this should end given the wait is for only 50 millis
|
|
||||||
- EXPECT_TRUE(waitThread3.timed_join(MILLIS(100)));
|
|
||||||
+ EXPECT_TRUE(waitThread3.timed_join(MILLIS(200)));
|
|
||||||
|
|
||||||
EXPECT_TRUE(!w3.waiting);
|
|
||||||
EXPECT_TRUE(w3.result == NULL);
|
|
|
@ -3,15 +3,16 @@ connections work we can set them based on SSL_CERT_DIR and SSL_CERT_FILE.
|
||||||
|
|
||||||
--- a/xbmc/filesystem/CurlFile.cpp
|
--- a/xbmc/filesystem/CurlFile.cpp
|
||||||
+++ b/xbmc/filesystem/CurlFile.cpp
|
+++ b/xbmc/filesystem/CurlFile.cpp
|
||||||
@@ -626,5 +626,9 @@
|
@@ -626,8 +626,12 @@
|
||||||
if (!m_cipherlist.empty())
|
if (!m_cipherlist.empty())
|
||||||
g_curlInterface.easy_setopt(h, CURLOPT_SSL_CIPHER_LIST, m_cipherlist.c_str());
|
g_curlInterface.easy_setopt(h, CURLOPT_SSL_CIPHER_LIST, m_cipherlist.c_str());
|
||||||
|
|
||||||
+ // Load certificate data from environment paths
|
+ // Load certificate data from environment paths
|
||||||
+ g_curlInterface.easy_setopt(m_state->m_easyHandle, CURLOPT_CAPATH, getenv("SSL_CERT_DIR"));
|
+ g_curlInterface.easy_setopt(m_state->m_easyHandle, CURLOPT_CAPATH, getenv("SSL_CERT_DIR"));
|
||||||
+ g_curlInterface.easy_setopt(m_state->m_easyHandle, CURLOPT_CAINFO, getenv("SSL_CERT_FILE"));
|
+ g_curlInterface.easy_setopt(m_state->m_easyHandle, CURLOPT_CAINFO, getenv("SSL_CERT_FILE"));
|
||||||
+
|
+
|
||||||
// enable HTTP2 support. default: CURL_HTTP_VERSION_1_1. Curl >= 7.62.0 defaults to CURL_HTTP_VERSION_2TLS
|
if (CServiceBroker::GetSettingsComponent()->GetAdvancedSettings()->m_curlDisableHTTP2)
|
||||||
g_curlInterface.easy_setopt(h, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2_0);
|
g_curlInterface.easy_setopt(h, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
|
||||||
-
|
else
|
||||||
}
|
// enable HTTP2 support. default: CURL_HTTP_VERSION_1_1. Curl >= 7.62.0 defaults to CURL_HTTP_VERSION_2TLS
|
||||||
|
g_curlInterface.easy_setopt(h, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2TLS);
|
||||||
|
|
|
@ -1,53 +0,0 @@
|
||||||
This test fails regularly between 18.0rc3 and 18.0rc5.2
|
|
||||||
|
|
||||||
449/520 Test #449: TestWebServer.CanHeadFile................................................***Failed 0.90 sec
|
|
||||||
Note: Google Test filter = TestWebServer.CanHeadFile
|
|
||||||
[==========] Running 1 test from 1 test case.
|
|
||||||
[----------] Global test environment set-up.
|
|
||||||
[----------] 1 test from TestWebServer
|
|
||||||
[ RUN ] TestWebServer.CanHeadFile
|
|
||||||
/tmp/guix-build-kodi-18.0rc5.2.drv-0/kodi-18.0rc5.2-checkout/xbmc/network/test/TestWebServer.cpp:156: Failure
|
|
||||||
Expected: "4"
|
|
||||||
To be equal to: httpHeader.GetValue("Content-Length").c_str()
|
|
||||||
Which is: "0"
|
|
||||||
[ FAILED ] TestWebServer.CanHeadFile (6 ms)
|
|
||||||
[----------] 1 test from TestWebServer (6 ms total)
|
|
||||||
|
|
||||||
[----------] Global test environment tear-down
|
|
||||||
[==========] 1 test from 1 test case ran. (635 ms total)
|
|
||||||
[ PASSED ] 0 tests.
|
|
||||||
[ FAILED ] 1 test, listed below:
|
|
||||||
[ FAILED ] TestWebServer.CanHeadFile
|
|
||||||
|
|
||||||
---
|
|
||||||
xbmc/network/test/TestWebServer.cpp | 14 +++++++-------
|
|
||||||
1 file changed, 7 insertions(+), 7 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/xbmc/network/test/TestWebServer.cpp b/xbmc/network/test/TestWebServer.cpp
|
|
||||||
index a87d9f4..b2240f4 100644
|
|
||||||
--- a/xbmc/network/test/TestWebServer.cpp
|
|
||||||
+++ b/xbmc/network/test/TestWebServer.cpp
|
|
||||||
@@ -520,13 +520,13 @@ TEST_F(TestWebServer, CanNotHeadNonExistingFile)
|
|
||||||
ASSERT_FALSE(curl.Exists(CURL(GetUrlOfTestFile("file_does_not_exist"))));
|
|
||||||
}
|
|
||||||
|
|
||||||
-TEST_F(TestWebServer, CanHeadFile)
|
|
||||||
-{
|
|
||||||
- CCurlFile curl;
|
|
||||||
- ASSERT_TRUE(curl.Exists(CURL(GetUrlOfTestFile(TEST_FILES_HTML))));
|
|
||||||
-
|
|
||||||
- CheckHtmlTestFileResponse(curl);
|
|
||||||
-}
|
|
||||||
+//TEST_F(TestWebServer, CanHeadFile)
|
|
||||||
+//{
|
|
||||||
+// CCurlFile curl;
|
|
||||||
+// ASSERT_TRUE(curl.Exists(CURL(GetUrlOfTestFile(TEST_FILES_HTML))));
|
|
||||||
+//
|
|
||||||
+// CheckHtmlTestFileResponse(curl);
|
|
||||||
+//}
|
|
||||||
|
|
||||||
TEST_F(TestWebServer, CanNotGetNonExistingFile)
|
|
||||||
{
|
|
||||||
--
|
|
||||||
2.20.1
|
|
||||||
|
|
Reference in New Issue