gnu: evince: Enable introspection.
[jackhill/guix/guix.git] / gnu / packages / toys.scm
CommitLineData
5d5ad3da 1;;; GNU Guix --- Functional package management for GNU
49dcfb50 2;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
57705f47 3;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com>
70f2920c 4;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si>
5d5ad3da
TGR
5;;;
6;;; This file is part of GNU Guix.
7;;;
8;;; GNU Guix is free software; you can redistribute it and/or modify it
9;;; under the terms of the GNU General Public License as published by
10;;; the Free Software Foundation; either version 3 of the License, or (at
11;;; your option) any later version.
12;;;
13;;; GNU Guix is distributed in the hope that it will be useful, but
14;;; WITHOUT ANY WARRANTY; without even the implied warranty of
15;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16;;; GNU General Public License for more details.
17;;;
18;;; You should have received a copy of the GNU General Public License
19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20
21(define-module (gnu packages toys)
57705f47
JG
22 #:use-module (gnu packages bison)
23 #:use-module (gnu packages flex)
70f2920c 24 #:use-module (gnu packages gtk)
5d5ad3da 25 #:use-module (gnu packages ncurses)
57705f47 26 #:use-module (gnu packages perl)
70f2920c
TL
27 #:use-module (gnu packages pkg-config)
28 #:use-module (gnu packages xml)
29 #:use-module (gnu packages xorg)
5d5ad3da 30 #:use-module (guix build-system gnu)
70f2920c 31 #:use-module (guix download)
49dcfb50 32 #:use-module (guix git-download)
5d5ad3da
TGR
33 #:use-module ((guix licenses) #:prefix license:)
34 #:use-module (guix packages))
35
36(define-public sl
37 (package
38 (name "sl")
39 (version "5.02")
40 (source
41 (origin
49dcfb50
TGR
42 (method git-fetch)
43 (uri (git-reference
44 (url "https://github.com/mtoyoda/sl.git")
45 (commit version)))
46 (file-name (git-file-name name version))
5d5ad3da 47 (sha256
49dcfb50 48 (base32 "1zrfd71zx2px2xpapg45s8xvi81xii63yl0h60q72j71zh4sif8b"))))
5d5ad3da
TGR
49 (build-system gnu-build-system)
50 (inputs
51 `(("ncurses" ,ncurses)))
52 (arguments
53 `(#:phases
54 (modify-phases %standard-phases
55 (delete 'configure) ; no configure script
56 (delete 'check) ; no tests
57 (replace 'install ; no ‘make install’ target
58 (lambda* (#:key outputs #:allow-other-keys)
59 (let* ((out (assoc-ref outputs "out"))
60 (bin (string-append out "/bin"))
61 (man (string-append out "/share/man"))
62 (man1 (string-append man "/man1"))
63 (man1-ja (string-append man "/ja/man1")))
64 (install-file "sl" bin)
65 (install-file "sl.1" man1)
66 (mkdir-p man1-ja)
67 (copy-file "sl.1.ja" (string-append man1-ja "/sl.1"))
68 #t))))))
69 (home-page "http://www.tkl.iis.u-tokyo.ac.jp/~toyoda/index_e.html")
70 (synopsis "Joke command to correct typing \"sl\" by mistake")
71 (description
72 "@dfn{SL} (for Steam Locomotive) displays one of several animated trains
73on the text terminal. It serves no useful purpose but to discourage mistakenly
74typing @command{sl} instead of @command{ls}.")
75 (license (license:non-copyleft "file://LICENSE"
76 "See LICENSE in the distribution."))))
57705f47
JG
77
78(define-public filters
79 (let ((version "2.55")
80 (commit "c5c291916b52ed9e6418448a8eee30475fb9adcf"))
81 (package
82 (name "filters")
83 (version "2.55")
84 (source
85 (origin
86 (method git-fetch)
87 (uri (git-reference
88 (url "https://git.joeyh.name/filters")
89 (commit commit)))
90 (file-name (git-file-name name version))
91 (sha256
92 (base32 "1gaigpda1w9wxfh8an3sam1hpacc1bhxl696w4yj0vzhc6izqvxs"))
93 (modules '((guix build utils)))
94 (snippet '(begin
95 ;; kenny is under nonfree Artistic License (Perl) 1.0.
96 (delete-file "kenny")
97 (substitute* "Makefile"
98 (("kenny")
99 ""))))))
100 (build-system gnu-build-system)
101 (arguments
102 `(#:make-flags
103 (list "CC=gcc" (string-append "DESTDIR=" %output))
104 #:phases
105 (modify-phases %standard-phases
106 (delete 'configure)
107 (add-after 'unpack 'fix-install-directories
108 (lambda _
109 (substitute* "Makefile"
110 (("/usr/games")
111 "/bin/")
112 (("/usr/share/")
113 "/share/"))
114 #t)))
115 #:tests? #f)) ; no test suite
116 (native-inputs
117 `(("bison" ,bison)
118 ("flex" ,flex)))
119 (inputs
120 `(("perl" ,perl)))
121 (home-page "https://joeyh.name/code/filters/")
122 (synopsis "Various amusing text filters")
123 (description
124 "The filters collection harks back to the late 1980s, when various text
125filters were written to munge written language in amusing ways. The earliest
126and best known were legends such as the Swedish Chef filter and B1FF.
127
128This package contains the following filter commands:
129@enumerate
130@item b1ff: a satire of a stereotypical Usenet newbie
131@item censor: comply with the @acronym{CDA, Communications Decency Act}
132@item chef: convert English to Mock Swedish
133@item cockney: Cockney English
134@item elee: k3wl hacker slang
135@item fanboy: a stereotypical fan (supports custom fandoms)
136@item fudd: Elmer Fudd
137@item jethro: hillbilly text filter
138@item jibberish: a random selection of these filters
139@item jive: Jive English
140@item ken: turn English into Cockney
141@item kraut: a bad German accent
142@item ky00te: a very cute accent
143@item LOLCAT: as seen in Internet GIFs everywhere
144@item nethackify: wiped-out text as found in nethack
145@item newspeak: à la 1984
146@item nyc: Brooklyn English
147@item pirate: talk like a pirate
148@item rasterman: straight from the keyboard of Carsten Haitzler
149@item scottish: fake Scottish (Dwarven) accent
150@item scramble: scramble the \"inner\" letters of each word
151@item spammer: turn honest text into something liable to be flagged as spam
152@item studly: studly caps.
153@item uniencode: use glorious Unicode to the fullest possible extent
154@item upside-down: flip the text upside down
155@end enumerate
156
157The GNU project hosts a similar collection of filters, the GNU talkfilters.")
158 (license ; see debian/copyright
159 (list license:gpl2+ ; most of the filters
160 license:gpl2 ; rasterman, ky00te.dir/* nethackify, pirate
161 license:gpl3+ ; scramble, scottish
162 license:public-domain ; jethro, kraut, ken, studly
163 license:gpl1+ ; cockney, jive, nyc only say "gpl"
164 license:expat))))) ; newspeak
70f2920c
TL
165
166(define-public xsnow
167 (package
168 (name "xsnow")
169 (version "2.0.15")
170 (source
171 (origin
172 (method url-fetch)
173 (uri (string-append
174 "https://www.ratrabbit.nl/ratrabbit/system/files/xsnow/xsnow-"
175 version ".tar.gz"))
176 (sha256
177 (base32 "086s42frbz9bk550414v908yrax4iwwlvlxv4zwp39cyp7wgws03"))))
178 (build-system gnu-build-system)
179 (arguments
180 '(#:phases
181 (modify-phases %standard-phases
182 (add-before 'configure 'fix-install-path
183 (lambda _
184 ;; Install program to bin instead of games.
185 (substitute* "src/Makefile.in"
186 (("(gamesdir = \\$\\(exec_prefix\\)/)games" _ prefix)
187 (string-append prefix "bin")))
188 #t)))))
189 (inputs
190 `(("gtk+" ,gtk+)
191 ("libx11" ,libx11)
192 ("libxpm" ,libxpm)
193 ("libxt" ,libxt)
194 ("libxxml2" ,libxml2)))
195 (native-inputs
196 `(("pkg-config" ,pkg-config)))
197 (home-page "https://www.ratrabbit.nl/ratrabbit/content/xsnow/introduction")
198 (synopsis "Let it snow on the desktop")
199 (description "@code{Xsnow} animates snowfall and Santa with reindeer on
200the desktop background. Additional customizable effects include wind, stars
201and various scenery elements.")
202 (license license:gpl3+)))