diff options
Diffstat (limited to 'gnu/packages/kodi.scm')
-rw-r--r-- | gnu/packages/kodi.scm | 102 |
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 |