diff mbox series

[bug#39915] gnu: Add nyancat.

Message ID 20200304194448.11305-1-efraim@flashner.co.il
State Accepted
Headers show
Series [bug#39915] gnu: Add nyancat. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job

Commit Message

Efraim Flashner March 4, 2020, 7:44 p.m. UTC
* gnu/packages/toys.scm (nyancat): New variable.
---
 gnu/packages/toys.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

Comments

Maja Kądziołka March 9, 2020, 12:12 p.m. UTC | #1
On Wed, Mar 04, 2020 at 09:44:48PM +0200, Efraim Flashner wrote:
> +    (arguments
> +     '(#:phases
> +       (modify-phases %standard-phases
> +         (delete 'configure) ; no configure script
> +         (add-after 'unpack 'set-environment-variables
> +           (lambda _ (setenv "CC" (which "gcc")) #t))
I'm not fond of formatting a whole phase on one line, I feel like
(lambda _
  (setenv "CC" (which "gcc"))
  #t)
would be clearer. Either way, as far as I can see, this can also be done
with the simpler #:make-flags '("CC=gcc")

Apart from that, LGTM.

> +    (synopsis "Nyan cat telnet server")
I'm kinda disappointed you didn't include a service to go with it :P
Efraim Flashner March 9, 2020, 12:32 p.m. UTC | #2
On Mon, Mar 09, 2020 at 01:12:19PM +0100, Jakub Kądziołka wrote:
> On Wed, Mar 04, 2020 at 09:44:48PM +0200, Efraim Flashner wrote:
> > +    (arguments
> > +     '(#:phases
> > +       (modify-phases %standard-phases
> > +         (delete 'configure) ; no configure script
> > +         (add-after 'unpack 'set-environment-variables
> > +           (lambda _ (setenv "CC" (which "gcc")) #t))
> I'm not fond of formatting a whole phase on one line, I feel like
> (lambda _
>   (setenv "CC" (which "gcc"))
>   #t)
> would be clearer. Either way, as far as I can see, this can also be done
> with the simpler #:make-flags '("CC=gcc")

Good points. make-flags it is.

> 
> Apart from that, LGTM.
> 
> > +    (synopsis "Nyan cat telnet server")
> I'm kinda disappointed you didn't include a service to go with it :P

It's coming one of these days :) It turned out it was harder than
expected to have the output go to a telnet connection and not to stdout
when running a service. I'll have to play with it more one of these
days.
Maja Kądziołka March 9, 2020, 12:44 p.m. UTC | #3
On Mon, Mar 09, 2020 at 02:32:37PM +0200, Efraim Flashner wrote:
> > > +    (synopsis "Nyan cat telnet server")
> > I'm kinda disappointed you didn't include a service to go with it :P
> 
> It's coming one of these days :) It turned out it was harder than
> expected to have the output go to a telnet connection and not to stdout
> when running a service. I'll have to play with it more one of these
> days.

I would've expected this to be pretty straight-forward with
inetd-service-type, but I haven't tried, so I'll take your word for it.
diff mbox series

Patch

diff --git a/gnu/packages/toys.scm b/gnu/packages/toys.scm
index fd86aec6ef..3f2b273cf9 100644
--- a/gnu/packages/toys.scm
+++ b/gnu/packages/toys.scm
@@ -2,6 +2,7 @@ 
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com>
 ;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si>
+;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -200,3 +201,39 @@  The GNU project hosts a similar collection of filters, the GNU talkfilters.")
 the desktop background.  Additional customizable effects include wind, stars
 and various scenery elements.")
     (license license:gpl3+)))
+
+(define-public nyancat
+  (package
+    (name "nyancat")
+    (version "1.5.2")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/klange/nyancat")
+               (commit version)))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32
+          "1mg8nm5xzcq1xr8cvx24ym2vmafkw53rijllwcdm9miiz0p5ky9k"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (delete 'configure) ; no configure script
+         (add-after 'unpack 'set-environment-variables
+           (lambda _ (setenv "CC" (which "gcc")) #t))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin"))
+                    (man (string-append out "/share/man/man1")))
+               (install-file "src/nyancat" bin)
+               (install-file "nyancat.1" man))
+             #t)))))
+    (home-page "https://nyancat.dakko.us/")
+    (synopsis "Nyan cat telnet server")
+    (description
+     "This is an animated, color, ANSI-text telnet server that renders a loop
+of the Nyan Cat / Poptart Cat animation.")
+    (license license:ncsa)))