aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/kodi.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/kodi.scm')
-rw-r--r--gnu/packages/kodi.scm102
1 files changed, 69 insertions, 33 deletions
diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm
index 62a971a0a8..822fceb46a 100644
--- a/gnu/packages/kodi.scm
+++ b/gnu/packages/kodi.scm
@@ -2,6 +2,8 @@
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -47,6 +49,7 @@
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gperf)
+ #:use-module (gnu packages groff)
#:use-module (gnu packages gnunet)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages image)
@@ -61,6 +64,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages samba)
#:use-module (gnu packages sdl)
+ #:use-module (gnu packages serialization)
#:use-module (gnu packages ssh)
#:use-module (gnu packages swig)
#:use-module (gnu packages textutils)
@@ -74,11 +78,12 @@
#:use-module (gnu packages assembly))
(define-public crossguid
- (let ((commit "8f399e8bd4252be9952f3dfa8199924cc8487ca4"))
+ (let ((commit "fef89a4174a7bf8cd99fa9154864ce9e8e3bf989")
+ (revision "2"))
(package
(name "crossguid")
- (version (string-append "0.0-1." (string-take commit 7)))
- ;; There's no official release. Just a Git repository.
+ (version (string-append "0.0-" revision "." (string-take commit 7)))
+ ;; This is the commit that Kodi wants.
(source (origin
(method git-fetch)
(uri (git-reference
@@ -87,27 +92,26 @@
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "1i29y207qqddvaxbn39pk2fbh3gx8zvdprfp35wasj9rw2wjk3s9"))))
+ "1blrkc7zcqrqcr5msvhyhm98s2jvm9hr0isqs4288q2r4mdnrfq0"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
- (delete 'configure) ; no configure script
- ;; There's no build system here, so we have to do it ourselves.
+ (delete 'configure) ; no configure script
(replace 'build
(lambda _
- (and (zero? (system* "g++" "-c" "guid.cpp" "-o" "guid.o"
- "-std=c++11" "-DGUID_LIBUUID"))
- (zero? (system* "ar" "rvs" "libcrossguid.a" "guid.o")))))
+ (invoke "g++" "-c" "guid.cpp" "-o" "guid.o"
+ "-std=c++11" "-DGUID_LIBUUID")
+ (invoke "ar" "rvs" "libcrossguid.a" "guid.o")))
(replace 'check
(lambda _
- (and (zero? (system* "g++" "-c" "test.cpp" "-o" "test.o"
- "-std=c++11"))
- (zero? (system* "g++" "-c" "testmain.cpp" "-o" "testmain.o"
- "-std=c++11"))
- (zero? (system* "g++" "test.o" "guid.o" "testmain.o"
- "-o" "test" "-luuid"))
- (zero? (system* (string-append (getcwd) "/test"))))))
+ (invoke "g++" "-c" "test.cpp" "-o" "test.o"
+ "-std=c++11")
+ (invoke "g++" "-c" "testmain.cpp" "-o" "testmain.o"
+ "-std=c++11")
+ (invoke "g++" "test.o" "guid.o" "testmain.o"
+ "-o" "test" "-luuid")
+ (invoke (string-append (getcwd) "/test"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
@@ -128,7 +132,7 @@ generator library for C++.")
;; of the standard build process. To make things easier, we bootstrap
;; and patch shebangs here, so we don't have to worry about it later.
(define libdvdnav/kodi
- (let ((commit "6.0.0-Leia-Alpha-1"))
+ (let ((commit "6.0.0-Leia-Alpha-3"))
(package
(name "libdvdnav-bootstrapped")
(version commit)
@@ -140,7 +144,7 @@ generator library for C++.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "1xiyfgf8v8aknlxlzsvk6pbzkhclz0hbh3s1b0w6ivkng2k310j9"))))
+ "0qwlf4lgahxqxk1r2pzl866mi03pbp7l1fc0rk522sc0ak2s9jhb"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f
@@ -163,7 +167,7 @@ generator library for C++.")
(license license:gpl2+))))
(define libdvdread/kodi
- (let ((commit "6.0.0-Leia-Alpha-1"))
+ (let ((commit "6.0.0-Leia-Alpha-3"))
(package
(name "libdvdread-bootstrapped")
(version commit)
@@ -175,7 +179,7 @@ generator library for C++.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "1c3g18n2vwhgcfz3dka1pmw58bnv2ram7xjvizfiykb3sgi9zfwp"))))
+ "1xxn01mhkdnp10cqdr357wx77vyzfb5glqpqyg8m0skyi75aii59"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f
@@ -198,7 +202,7 @@ generator library for C++.")
(license (list license:gpl2+ license:lgpl2.1+)))))
(define libdvdcss/kodi
- (let ((commit "1.4.1-Leia-Alpha-1"))
+ (let ((commit "1.4.2-Leia-Beta-5"))
(package
(name "libdvdcss-bootstrapped")
(version commit)
@@ -210,7 +214,7 @@ generator library for C++.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "0adafwsawxssj3nilkql447v0l4a2584rdpmy5rfjmznh91lykgh"))))
+ "0j41ydzx0imaix069s3z07xqw9q95k7llh06fc27dcn6f7b8ydyl"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f
@@ -232,28 +236,53 @@ generator library for C++.")
(description (package-description libdvdcss))
(license license:gpl2+))))
+(define-public fstrcmp
+ (package
+ (name "fstrcmp")
+ (version "0.7.D001")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://fstrcmp.sourceforge.net/fstrcmp-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0xilghiy3mz78bjmfldi39qyy7jvw5b6wafsx370lw401y2qw0g4"))))
+ (build-system gnu-build-system)
+ (home-page "http://fstrcmp.sourceforge.net/")
+ (arguments
+ '(#:configure-flags '("SH=sh")))
+ (native-inputs
+ `(("ghostscript" ,ghostscript) ; ps2pdf
+ ("groff" ,groff)
+ ("libtool" ,libtool)
+ ("which" ,which)))
+ (synopsis "fuzzy comparison of strings")
+ (description
+ "The fstrcmp project provides a library that is used to make fuzzy
+comparisons of strings and byte arrays, including multi-byte character strings.
+This can be useful in error messages, enabling the suggestion of likely valid
+alternatives. In compilers, this can reduce the cascade of secondary errors.")
+ (license license:gpl3+)))
+
(define-public kodi
- ;; We package the git version because the current released
- ;; version was cut while the cmake transition was in turmoil.
- (let ((commit "ec16dbca4dcf2923f53f819695a6d47c52e68d74")
- (revision "8"))
(package
(name "kodi")
- (version (git-version "18.0_alpha" revision commit))
+ (version "18.0rc1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/xbmc/xbmc.git")
- (commit commit)))
+ (commit (string-append version "-Leia"))))
(file-name (git-file-name name version))
(sha256
(base32
- "1rxg752cl59124cfpfwmyjldn6qpq5jginxddpzvgagfadf10i4d"))
+ "0xzzp4x8l0ywx8aq93a1323il6wwslmgdbhasv0r8zp3w1c0wqf1"))
(snippet
'(begin
(use-modules (guix build utils))
(for-each delete-file-recursively
- '("project/BuildDependencies/bin/"
+ '("project/BuildDependencies/"
;; TODO: Purge these jars.
;;"tools/codegenerator/groovy"
;; And these sources:
@@ -294,7 +323,7 @@ generator library for C++.")
"lib/cpluff")))
(every (lambda (third-party)
(with-directory-excursion third-party
- (zero? (system* "autoreconf" "-vif"))))
+ (invoke "autoreconf" "-vif")))
dirs))))
(add-after 'bootstrap-bundled-software 'patch-stuff
(lambda* (#:key inputs #:allow-other-keys)
@@ -316,6 +345,11 @@ generator library for C++.")
(string-append (assoc-ref inputs "tzdata")
"/share/zoneinfo")))
+ ;; Don't phone home to check for updates.
+ (substitute* "system/addon-manifest.xml"
+ (("<addon optional=\\\"true\\\">service.xbmc.versioncheck</addon>")
+ ""))
+
;; Let's disable some tests that are known not to work here.
;; Doing this later while in the cmake "../build" directory
;; is trickier.
@@ -335,7 +369,7 @@ generator library for C++.")
#t))
(add-before 'check 'build-kodi-test
(lambda _
- (zero? (system* "make" "kodi-test")))))))
+ (invoke "make" "kodi-test"))))))
;; TODO: Add dependencies for:
;; - nfs
;; - cec
@@ -364,10 +398,12 @@ generator library for C++.")
("eudev" ,eudev)
("ffmpeg" ,ffmpeg)
("flac" ,flac)
+ ("flatbuffers" ,flatbuffers)
("fmt" ,fmt)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("fribidi" ,fribidi)
+ ("fstrcmp" ,fstrcmp)
("giflib" ,giflib)
("glew" ,glew)
("gnutls" ,gnutls)
@@ -421,7 +457,7 @@ plug-in system.")
license:expat ;cpluff, dbwrappers
license:public-domain ;cpluff/examples
license:bsd-3 ;misc, gtest
- license:bsd-2))))) ;xbmc/freebsd
+ license:bsd-2)))) ;xbmc/freebsd
(define-public kodi-cli
(let ((commit "104dc23b2a993c8e6db8c46f4f8bec24b146549b") ; Add support for