* [bug#29099] [PATCH] gnu: Add kodi-cli. @ 2017-11-01 6:48 Oleg Pykhalov 2017-11-01 21:32 ` Marius Bakke 0 siblings, 1 reply; 5+ messages in thread From: Oleg Pykhalov @ 2017-11-01 6:48 UTC (permalink / raw) To: 29099 [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1.1: [PATCH] gnu: Add kodi-cli. --] [-- Type: text/x-patch, Size: 3275 bytes --] From 741284b1619490859910fb402802ab10b31f0fd2 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov <go.wigust@gmail.com> Date: Wed, 1 Nov 2017 09:39:05 +0300 Subject: [PATCH] gnu: Add kodi-cli. * gnu/packages/kodi.scm (kodi-cli): New variable. --- gnu/packages/kodi.scm | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index c8a65af79..65621e152 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -25,11 +25,13 @@ #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system trivial) #:use-module (gnu packages algebra) #:use-module (gnu packages audio) #:use-module (gnu packages autotools) #:use-module (gnu packages avahi) #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages cdrom) #:use-module (gnu packages cmake) #:use-module (gnu packages compression) @@ -426,3 +428,49 @@ plug-in system.") license:public-domain ;cpluff/examples license:bsd-3 ;misc, gtest license:bsd-2))))) ;xbmc/freebsd + +(define-public kodi-cli + (let ((commit "104dc23b2a993c8e6db8c46f4f8bec24b146549b") ; Add support for + (revision "1")) ; `$HOME/.kodirc'. + (package + (name "kodi-cli") + (version (string-append "1.1-" revision "." (string-take commit 7))) + (source (origin + (method git-fetch) + (uri (git-reference (url "https://github.com/nawar/kodi-cli") + (commit commit))) + (sha256 + (base32 + "1xjhasc5gngfxpr1dlzy6q24w0wpdfjx12p43fanjppxw4i49n5p")) + (file-name (string-append name "-" version "-checkout")))) + (build-system trivial-build-system) + (inputs `(("bash" ,bash))) + (propagated-inputs `(("curl" ,curl))) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (copy-recursively (assoc-ref %build-inputs "source") ".") + (substitute* "kodi-cli" + (("/bin/bash") (string-append (assoc-ref %build-inputs "bash") + "/bin/bash"))) + (install-file "kodi-cli" (string-append %output "/bin"))))) + (home-page "https://github.com/nawar/kodi-cli") + (synopsis "Bash script to send commands to Kodi using JSON RPC") + (description "@code{kodi-cli} provides the Bash script to send commands to +Kodi using JSON RPC. + +Feautures: + +@itemize +@item Play, pause, stop the current played video. +@item Skip forward or backward in the current played video. +@item Play or queue to the current list YouTube video. +@item Interactive and noninteractive volume control. +@item Interactive navigation. +@item Send text. +@item Toggle fullscreen. +@item Update or clean Kodi libraries. +@end itemize\n") + (license license:gpl2+)))) -- 2.14.3 [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 832 bytes --] ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [bug#29099] [PATCH] gnu: Add kodi-cli. 2017-11-01 6:48 [bug#29099] [PATCH] gnu: Add kodi-cli Oleg Pykhalov @ 2017-11-01 21:32 ` Marius Bakke 2017-11-02 9:14 ` Oleg Pykhalov 0 siblings, 1 reply; 5+ messages in thread From: Marius Bakke @ 2017-11-01 21:32 UTC (permalink / raw) To: Oleg Pykhalov, 29099 [-- Attachment #1: Type: text/plain, Size: 3347 bytes --] Hello Oleg! Oleg Pykhalov <go.wigust@gmail.com> writes: > From 741284b1619490859910fb402802ab10b31f0fd2 Mon Sep 17 00:00:00 2001 > From: Oleg Pykhalov <go.wigust@gmail.com> > Date: Wed, 1 Nov 2017 09:39:05 +0300 > Subject: [PATCH] gnu: Add kodi-cli. > > * gnu/packages/kodi.scm (kodi-cli): New variable. Cool! [...] > +(define-public kodi-cli > + (let ((commit "104dc23b2a993c8e6db8c46f4f8bec24b146549b") ; Add support for > + (revision "1")) ; `$HOME/.kodirc'. > + (package > + (name "kodi-cli") > + (version (string-append "1.1-" revision "." (string-take commit 7))) > + (source (origin > + (method git-fetch) > + (uri (git-reference (url "https://github.com/nawar/kodi-cli") > + (commit commit))) > + (sha256 > + (base32 > + "1xjhasc5gngfxpr1dlzy6q24w0wpdfjx12p43fanjppxw4i49n5p")) > + (file-name (string-append name "-" version "-checkout")))) > + (build-system trivial-build-system) > + (inputs `(("bash" ,bash))) > + (propagated-inputs `(("curl" ,curl))) There is only one reference to `curl` in the script, can you try to substitute it with the absolute path and make it a regular input? It's good to avoid propagation when we can. > + (arguments > + `(#:modules ((guix build utils)) > + #:builder > + (begin > + (use-modules (guix build utils)) > + (copy-recursively (assoc-ref %build-inputs "source") ".") > + (substitute* "kodi-cli" > + (("/bin/bash") (string-append (assoc-ref %build-inputs "bash") > + "/bin/bash"))) > + (install-file "kodi-cli" (string-append %output "/bin"))))) (install-file ...) has an unspecified return value, so please return #t here. > + (home-page "https://github.com/nawar/kodi-cli") > + (synopsis "Bash script to send commands to Kodi using JSON RPC") Maybe just "Control Kodi from the command line". > + (description "@code{kodi-cli} provides the Bash script to send commands to > +Kodi using JSON RPC. Similarly, this sentence can be reduced to something like "@code{kodi-cli} is a tool for sending commands to a Kodi server using JSON-RPC.". Bash is an boring implementation detail IMO. :-) > + > +Feautures: ^ Stray 'u' character. > + > +@itemize > +@item Play, pause, stop the current played video. "currently playing" > +@item Skip forward or backward in the current played video. Same here. Maybe it should be "currently playing item", since I assume this works for music as well. > +@item Play or queue to the current list YouTube video. "List of YouTube videos"? > +@item Interactive and noninteractive volume control. > +@item Interactive navigation. > +@item Send text. What does this mean? Arbitrary commands, or text notifications? > +@item Toggle fullscreen. > +@item Update or clean Kodi libraries. > +@end itemize\n") > + (license license:gpl2+)))) LGTM with some cosmetic improvements. And welcome! By the way, if you use Kodi from Guix, feel free to update the 18 snapshot if you can. My media PC died a while back, and I didn't get a replacement yet, so I have not been able to maintain the Kodi package. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
* [bug#29099] [PATCH] gnu: Add kodi-cli. 2017-11-01 21:32 ` Marius Bakke @ 2017-11-02 9:14 ` Oleg Pykhalov 2017-11-02 20:00 ` Marius Bakke 0 siblings, 1 reply; 5+ messages in thread From: Oleg Pykhalov @ 2017-11-02 9:14 UTC (permalink / raw) To: Marius Bakke; +Cc: 29099 [-- Attachment #1.1: Type: text/plain, Size: 3283 bytes --] Hello Marius, Thank you for review! Marius Bakke <mbakke@fastmail.com> writes: >> +(define-public kodi-cli >> + (let ((commit "104dc23b2a993c8e6db8c46f4f8bec24b146549b") ; Add support for >> + (revision "1")) ; `$HOME/.kodirc'. >> + (package >> + (name "kodi-cli") >> + (version (string-append "1.1-" revision "." (string-take commit 7))) >> + (source (origin >> + (method git-fetch) >> + (uri (git-reference (url "https://github.com/nawar/kodi-cli") >> + (commit commit))) >> + (sha256 >> + (base32 >> + "1xjhasc5gngfxpr1dlzy6q24w0wpdfjx12p43fanjppxw4i49n5p")) >> + (file-name (string-append name "-" version "-checkout")))) >> + (build-system trivial-build-system) >> + (inputs `(("bash" ,bash))) >> + (propagated-inputs `(("curl" ,curl))) > > There is only one reference to `curl` in the script, can you try to > substitute it with the absolute path and make it a regular input? It's > good to avoid propagation when we can. Done. I also added input mps-youtube and did the same. >> + (arguments >> + `(#:modules ((guix build utils)) >> + #:builder >> + (begin >> + (use-modules (guix build utils)) >> + (copy-recursively (assoc-ref %build-inputs "source") ".") >> + (substitute* "kodi-cli" >> + (("/bin/bash") (string-append (assoc-ref %build-inputs "bash") >> + "/bin/bash"))) >> + (install-file "kodi-cli" (string-append %output "/bin"))))) > > (install-file ...) has an unspecified return value, so please return #t here. Done. >> + (home-page "https://github.com/nawar/kodi-cli") >> + (synopsis "Bash script to send commands to Kodi using JSON RPC") > > Maybe just "Control Kodi from the command line". Done. >> + (description "@code{kodi-cli} provides the Bash script to send commands to >> +Kodi using JSON RPC. > > Similarly, this sentence can be reduced to something like > "@code{kodi-cli} is a tool for sending commands to a Kodi server using > JSON-RPC.". Bash is an boring implementation detail IMO. :-) Done. >> + >> +Feautures: > ^ Stray 'u' character. Done. >> + >> +@itemize >> +@item Play, pause, stop the current played video. > > "currently playing" Done. >> +@item Skip forward or backward in the current played video. > > Same here. Maybe it should be "currently playing item", since I assume > this works for music as well. Done. >> +@item Play or queue to the current list YouTube video. > > "List of YouTube videos"? Done. >> +@item Interactive and noninteractive volume control. >> +@item Interactive navigation. >> +@item Send text. > > What does this mean? Arbitrary commands, or text notifications? From my experience this allows you do the following: 1. Open Videos. 2. Add videos… 3. Select <none>. 4. Enter path by sending a command via 'kodi-cli -t PATH'. Maybe call this item of the feature list as “Send text to the Kodi keyboard”? New patch is attached. [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1.2: 0001-gnu-Add-kodi-cli.patch --] [-- Type: text/x-patch, Size: 3738 bytes --] From 82691aa8ec24ebad702867e006014f34eaceeb93 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov <go.wigust@gmail.com> Date: Wed, 1 Nov 2017 09:39:05 +0300 Subject: [PATCH] gnu: Add kodi-cli. * gnu/packages/kodi.scm (kodi-cli): New variable. --- gnu/packages/kodi.scm | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index c8a65af79..8c49f720a 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -25,11 +25,13 @@ #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system trivial) #:use-module (gnu packages algebra) #:use-module (gnu packages audio) #:use-module (gnu packages autotools) #:use-module (gnu packages avahi) #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages cdrom) #:use-module (gnu packages cmake) #:use-module (gnu packages compression) @@ -426,3 +428,60 @@ plug-in system.") license:public-domain ;cpluff/examples license:bsd-3 ;misc, gtest license:bsd-2))))) ;xbmc/freebsd + +(define-public kodi-cli + (let ((commit "104dc23b2a993c8e6db8c46f4f8bec24b146549b") ; Add support for + (revision "1")) ; `$HOME/.kodirc'. + (package + (name "kodi-cli") + (version (string-append "1.1-" revision "." (string-take commit 7))) + (source (origin + (method git-fetch) + (uri (git-reference (url "https://github.com/nawar/kodi-cli") + (commit commit))) + (sha256 + (base32 + "1xjhasc5gngfxpr1dlzy6q24w0wpdfjx12p43fanjppxw4i49n5p")) + (file-name (string-append name "-" version "-checkout")))) + (build-system trivial-build-system) + (inputs + `(("bash" ,bash) + ("curl" ,curl) + ("mps-youtube" ,mps-youtube))) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (copy-recursively (assoc-ref %build-inputs "source") ".") + (substitute* "kodi-cli" + (("/bin/bash") (string-append (assoc-ref %build-inputs "bash") + "/bin/bash")) + (("output=\\$\\((curl)" all curl) + (string-append "output=$(" + (assoc-ref %build-inputs "curl") + "/bin/" curl)) + (("play_youtube `(mpsyt)" all mpsyt) + (string-append "play_youtube `" + (assoc-ref %build-inputs "mps-youtube") + "/bin/" mpsyt))) + (install-file "kodi-cli" (string-append %output "/bin")) + #t))) + (home-page "https://github.com/nawar/kodi-cli") + (synopsis "Control Kodi from the command line") + (description "@code{kodi-cli} is a tool for sending commands to a Kodi +server using JSON RPC. + +Features: + +@itemize +@item Play, pause, stop the current playing item. +@item Skip forward or backward in the current playing item. +@item Play or queue to the current list YouTube videos. +@item Interactive and noninteractive volume control. +@item Interactive navigation. +@item Send text. +@item Toggle fullscreen. +@item Update or clean Kodi libraries. +@end itemize\n") + (license license:gpl2+)))) -- 2.14.3 [-- Attachment #1.3: Type: text/plain, Size: 499 bytes --] >> +@item Toggle fullscreen. >> +@item Update or clean Kodi libraries. >> +@end itemize\n") >> + (license license:gpl2+)))) > > LGTM with some cosmetic improvements. And welcome! > > By the way, if you use Kodi from Guix, feel free to update the 18 > snapshot if you can. My media PC died a while back, and I didn't get a > replacement yet, so I have not been able to maintain the Kodi package. OK. I do, but not much. Primarily use it on a “media tablet”. :-) Oleg. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 832 bytes --] ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [bug#29099] [PATCH] gnu: Add kodi-cli. 2017-11-02 9:14 ` Oleg Pykhalov @ 2017-11-02 20:00 ` Marius Bakke 2017-11-03 3:57 ` Oleg Pykhalov 0 siblings, 1 reply; 5+ messages in thread From: Marius Bakke @ 2017-11-02 20:00 UTC (permalink / raw) To: Oleg Pykhalov; +Cc: 29099 [-- Attachment #1: Type: text/plain, Size: 3225 bytes --] Oleg Pykhalov <go.wigust@gmail.com> writes: > Hello Marius, > > Thank you for review! > > Marius Bakke <mbakke@fastmail.com> writes: > >>> +(define-public kodi-cli >>> + (let ((commit "104dc23b2a993c8e6db8c46f4f8bec24b146549b") ; Add support for >>> + (revision "1")) ; `$HOME/.kodirc'. >>> + (package >>> + (name "kodi-cli") >>> + (version (string-append "1.1-" revision "." (string-take commit 7))) >>> + (source (origin >>> + (method git-fetch) >>> + (uri (git-reference (url "https://github.com/nawar/kodi-cli") >>> + (commit commit))) >>> + (sha256 >>> + (base32 >>> + "1xjhasc5gngfxpr1dlzy6q24w0wpdfjx12p43fanjppxw4i49n5p")) >>> + (file-name (string-append name "-" version "-checkout")))) >>> + (build-system trivial-build-system) >>> + (inputs `(("bash" ,bash))) >>> + (propagated-inputs `(("curl" ,curl))) >> >> There is only one reference to `curl` in the script, can you try to >> substitute it with the absolute path and make it a regular input? It's >> good to avoid propagation when we can. > > Done. I also added input mps-youtube and did the same. Excellent. >>> +@item Interactive and noninteractive volume control. >>> +@item Interactive navigation. >>> +@item Send text. >> >> What does this mean? Arbitrary commands, or text notifications? > > From my experience this allows you do the following: > > 1. Open Videos. > 2. Add videos… > 3. Select <none>. > 4. Enter path by sending a command via 'kodi-cli -t PATH'. > > Maybe call this item of the feature list as > “Send text to the Kodi keyboard”? "Send text to the Kodi keyboard" is much better, thanks! > New patch is attached. [...] > + (arguments > + `(#:modules ((guix build utils)) > + #:builder > + (begin > + (use-modules (guix build utils)) > + (copy-recursively (assoc-ref %build-inputs "source") ".") > + (substitute* "kodi-cli" > + (("/bin/bash") (string-append (assoc-ref %build-inputs "bash") > + "/bin/bash")) > + (("output=\\$\\((curl)" all curl) > + (string-append "output=$(" > + (assoc-ref %build-inputs "curl") > + "/bin/" curl)) > + (("play_youtube `(mpsyt)" all mpsyt) > + (string-append "play_youtube `" > + (assoc-ref %build-inputs "mps-youtube") > + "/bin/" mpsyt))) FYI, you could also use (which "curl") etc from (guix build utils) here, but I usually prefer this form. [...] > +@itemize > +@item Play, pause, stop the current playing item. > +@item Skip forward or backward in the current playing item. These should be "currently playing". > +@item Play or queue to the current list YouTube videos. "... current list of YouTube videos." (note the "of") LGTM otherwise. Don't forget to add a copyright line for yourself. Thanks! [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
* [bug#29099] [PATCH] gnu: Add kodi-cli. 2017-11-02 20:00 ` Marius Bakke @ 2017-11-03 3:57 ` Oleg Pykhalov 0 siblings, 0 replies; 5+ messages in thread From: Oleg Pykhalov @ 2017-11-03 3:57 UTC (permalink / raw) To: Marius Bakke; +Cc: 29099, 29099-done [-- Attachment #1: Type: text/plain, Size: 1772 bytes --] Marius Bakke <mbakke@fastmail.com> writes: [...] >> Maybe call this item of the feature list as >> “Send text to the Kodi keyboard”? > > "Send text to the Kodi keyboard" is much better, thanks! > >> + (arguments >> + `(#:modules ((guix build utils)) >> + #:builder >> + (begin >> + (use-modules (guix build utils)) >> + (copy-recursively (assoc-ref %build-inputs "source") ".") >> + (substitute* "kodi-cli" >> + (("/bin/bash") (string-append (assoc-ref %build-inputs "bash") >> + "/bin/bash")) >> + (("output=\\$\\((curl)" all curl) >> + (string-append "output=$(" >> + (assoc-ref %build-inputs "curl") >> + "/bin/" curl)) >> + (("play_youtube `(mpsyt)" all mpsyt) >> + (string-append "play_youtube `" >> + (assoc-ref %build-inputs "mps-youtube") >> + "/bin/" mpsyt))) > > FYI, you could also use (which "curl") etc from (guix build utils) here, > but I usually prefer this form. Thanks for notice. I prefer a form used in attached patch, too. >> +@itemize >> +@item Play, pause, stop the current playing item. >> +@item Skip forward or backward in the current playing item. > > These should be "currently playing". Done. >> +@item Play or queue to the current list YouTube videos. > > "... current list of YouTube videos." > > (note the "of") Done. > LGTM otherwise. Don't forget to add a copyright line for yourself. OK. I think it's fine to merge it now. Pushed as 72df48dbad95c3bc70a2962f496420ce3363d0de Oleg, Thanks. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 832 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-11-03 3:58 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-11-01 6:48 [bug#29099] [PATCH] gnu: Add kodi-cli Oleg Pykhalov 2017-11-01 21:32 ` Marius Bakke 2017-11-02 9:14 ` Oleg Pykhalov 2017-11-02 20:00 ` Marius Bakke 2017-11-03 3:57 ` Oleg Pykhalov
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).