Commit | Line | Data |
---|---|---|
5d5ad3da | 1 | ;;; GNU Guix --- Functional package management for GNU |
834ab064 | 2 | ;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> |
57705f47 | 3 | ;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com> |
916003fa | 4 | ;;; Copyright © 2019, 2020 Timotej Lazar <timotej.lazar@araneo.si> |
61daf2db | 5 | ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> |
dc68018e | 6 | ;;; Copyright © 2021 Leo Famulari <leo@famulari.name> |
5d5ad3da TGR |
7 | ;;; |
8 | ;;; This file is part of GNU Guix. | |
9 | ;;; | |
10 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
11 | ;;; under the terms of the GNU General Public License as published by | |
12 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
13 | ;;; your option) any later version. | |
14 | ;;; | |
15 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
16 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
17 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
18 | ;;; GNU General Public License for more details. | |
19 | ;;; | |
20 | ;;; You should have received a copy of the GNU General Public License | |
21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
22 | ||
23 | (define-module (gnu packages toys) | |
57705f47 JG |
24 | #:use-module (gnu packages bison) |
25 | #:use-module (gnu packages flex) | |
70f2920c | 26 | #:use-module (gnu packages gtk) |
5d5ad3da | 27 | #:use-module (gnu packages ncurses) |
57705f47 | 28 | #:use-module (gnu packages perl) |
70f2920c TL |
29 | #:use-module (gnu packages pkg-config) |
30 | #:use-module (gnu packages xml) | |
31 | #:use-module (gnu packages xorg) | |
5d5ad3da | 32 | #:use-module (guix build-system gnu) |
70f2920c | 33 | #:use-module (guix download) |
49dcfb50 | 34 | #:use-module (guix git-download) |
5d5ad3da | 35 | #:use-module ((guix licenses) #:prefix license:) |
834ab064 TGR |
36 | #:use-module (guix packages) |
37 | #:use-module (guix utils)) | |
5d5ad3da TGR |
38 | |
39 | (define-public sl | |
40 | (package | |
41 | (name "sl") | |
42 | (version "5.02") | |
43 | (source | |
44 | (origin | |
49dcfb50 TGR |
45 | (method git-fetch) |
46 | (uri (git-reference | |
b0e7b699 | 47 | (url "https://github.com/mtoyoda/sl") |
49dcfb50 TGR |
48 | (commit version))) |
49 | (file-name (git-file-name name version)) | |
5d5ad3da | 50 | (sha256 |
49dcfb50 | 51 | (base32 "1zrfd71zx2px2xpapg45s8xvi81xii63yl0h60q72j71zh4sif8b")))) |
5d5ad3da TGR |
52 | (build-system gnu-build-system) |
53 | (inputs | |
54 | `(("ncurses" ,ncurses))) | |
55 | (arguments | |
56 | `(#:phases | |
57 | (modify-phases %standard-phases | |
58 | (delete 'configure) ; no configure script | |
59 | (delete 'check) ; no tests | |
60 | (replace 'install ; no ‘make install’ target | |
61 | (lambda* (#:key outputs #:allow-other-keys) | |
62 | (let* ((out (assoc-ref outputs "out")) | |
63 | (bin (string-append out "/bin")) | |
64 | (man (string-append out "/share/man")) | |
65 | (man1 (string-append man "/man1")) | |
66 | (man1-ja (string-append man "/ja/man1"))) | |
67 | (install-file "sl" bin) | |
68 | (install-file "sl.1" man1) | |
69 | (mkdir-p man1-ja) | |
70 | (copy-file "sl.1.ja" (string-append man1-ja "/sl.1")) | |
71 | #t)))))) | |
72 | (home-page "http://www.tkl.iis.u-tokyo.ac.jp/~toyoda/index_e.html") | |
73 | (synopsis "Joke command to correct typing \"sl\" by mistake") | |
74 | (description | |
75 | "@dfn{SL} (for Steam Locomotive) displays one of several animated trains | |
76 | on the text terminal. It serves no useful purpose but to discourage mistakenly | |
77 | typing @command{sl} instead of @command{ls}.") | |
78 | (license (license:non-copyleft "file://LICENSE" | |
79 | "See LICENSE in the distribution.")))) | |
57705f47 JG |
80 | |
81 | (define-public filters | |
d7b83e2f TGR |
82 | (package |
83 | (name "filters") | |
84 | (version "2.55") | |
85 | (source | |
86 | (origin | |
87 | (method git-fetch) | |
88 | (uri (git-reference | |
dae2ac51 | 89 | (url "git://git.joeyh.name/filters") |
d7b83e2f TGR |
90 | (commit version))) |
91 | (file-name (git-file-name name version)) | |
92 | (sha256 | |
93 | (base32 "1gaigpda1w9wxfh8an3sam1hpacc1bhxl696w4yj0vzhc6izqvxs")) | |
94 | (modules '((guix build utils))) | |
95 | (snippet '(begin | |
96 | ;; kenny is under nonfree Artistic License (Perl) 1.0. | |
97 | (delete-file "kenny") | |
98 | (substitute* "Makefile" | |
99 | (("kenny") | |
100 | "")))))) | |
101 | (build-system gnu-build-system) | |
102 | (arguments | |
103 | `(#:make-flags | |
104 | (list (string-append "CC=" ,(cc-for-target)) | |
54467202 | 105 | (string-append "prefix=" (assoc-ref %outputs "out"))) |
d7b83e2f TGR |
106 | #:phases |
107 | (modify-phases %standard-phases | |
108 | (delete 'configure) | |
54467202 | 109 | (add-after 'unpack 'respect-prefix |
d7b83e2f TGR |
110 | (lambda _ |
111 | (substitute* "Makefile" | |
112 | (("/usr/games") | |
54467202 TGR |
113 | "$(prefix)/bin/") |
114 | (("/usr") | |
115 | "$(prefix)")) | |
d7b83e2f TGR |
116 | #t))) |
117 | #:tests? #f)) ; no test suite | |
118 | (native-inputs | |
119 | `(("bison" ,bison) | |
120 | ("flex" ,flex))) | |
121 | (inputs | |
122 | `(("perl" ,perl))) | |
123 | (home-page "https://joeyh.name/code/filters/") | |
124 | (synopsis "Various amusing text filters") | |
125 | (description | |
126 | "The filters collection harks back to the late 1980s, when various text | |
57705f47 JG |
127 | filters were written to munge written language in amusing ways. The earliest |
128 | and best known were legends such as the Swedish Chef filter and B1FF. | |
129 | ||
130 | This package contains the following filter commands: | |
131 | @enumerate | |
132 | @item b1ff: a satire of a stereotypical Usenet newbie | |
133 | @item censor: comply with the @acronym{CDA, Communications Decency Act} | |
134 | @item chef: convert English to Mock Swedish | |
135 | @item cockney: Cockney English | |
136 | @item elee: k3wl hacker slang | |
137 | @item fanboy: a stereotypical fan (supports custom fandoms) | |
138 | @item fudd: Elmer Fudd | |
139 | @item jethro: hillbilly text filter | |
140 | @item jibberish: a random selection of these filters | |
141 | @item jive: Jive English | |
142 | @item ken: turn English into Cockney | |
143 | @item kraut: a bad German accent | |
144 | @item ky00te: a very cute accent | |
145 | @item LOLCAT: as seen in Internet GIFs everywhere | |
146 | @item nethackify: wiped-out text as found in nethack | |
147 | @item newspeak: à la 1984 | |
148 | @item nyc: Brooklyn English | |
149 | @item pirate: talk like a pirate | |
150 | @item rasterman: straight from the keyboard of Carsten Haitzler | |
151 | @item scottish: fake Scottish (Dwarven) accent | |
152 | @item scramble: scramble the \"inner\" letters of each word | |
153 | @item spammer: turn honest text into something liable to be flagged as spam | |
154 | @item studly: studly caps. | |
155 | @item uniencode: use glorious Unicode to the fullest possible extent | |
156 | @item upside-down: flip the text upside down | |
157 | @end enumerate | |
158 | ||
159 | The GNU project hosts a similar collection of filters, the GNU talkfilters.") | |
d7b83e2f TGR |
160 | (license ; see debian/copyright |
161 | (list license:gpl2+ ; most of the filters | |
162 | license:gpl2 ; rasterman, ky00te.dir/* nethackify, pirate | |
163 | license:gpl3+ ; scramble, scottish | |
164 | license:public-domain ; jethro, kraut, ken, studly | |
165 | license:gpl1+ ; cockney, jive, nyc only say "gpl" | |
166 | license:expat)))) ; newspeak | |
70f2920c TL |
167 | |
168 | (define-public xsnow | |
169 | (package | |
170 | (name "xsnow") | |
916003fa | 171 | (version "2.0.22") |
70f2920c TL |
172 | (source |
173 | (origin | |
174 | (method url-fetch) | |
175 | (uri (string-append | |
176 | "https://www.ratrabbit.nl/ratrabbit/system/files/xsnow/xsnow-" | |
177 | version ".tar.gz")) | |
178 | (sha256 | |
916003fa | 179 | (base32 "1880643fal6l7bskqbm4zfbr2s719698mkx4pchrxkjpb240sj0z")))) |
70f2920c TL |
180 | (build-system gnu-build-system) |
181 | (arguments | |
182 | '(#:phases | |
183 | (modify-phases %standard-phases | |
184 | (add-before 'configure 'fix-install-path | |
185 | (lambda _ | |
186 | ;; Install program to bin instead of games. | |
187 | (substitute* "src/Makefile.in" | |
188 | (("(gamesdir = \\$\\(exec_prefix\\)/)games" _ prefix) | |
189 | (string-append prefix "bin"))) | |
190 | #t))))) | |
191 | (inputs | |
192 | `(("gtk+" ,gtk+) | |
193 | ("libx11" ,libx11) | |
194 | ("libxpm" ,libxpm) | |
195 | ("libxt" ,libxt) | |
196 | ("libxxml2" ,libxml2))) | |
197 | (native-inputs | |
198 | `(("pkg-config" ,pkg-config))) | |
199 | (home-page "https://www.ratrabbit.nl/ratrabbit/content/xsnow/introduction") | |
200 | (synopsis "Let it snow on the desktop") | |
201 | (description "@code{Xsnow} animates snowfall and Santa with reindeer on | |
202 | the desktop background. Additional customizable effects include wind, stars | |
203 | and various scenery elements.") | |
204 | (license license:gpl3+))) | |
61daf2db EF |
205 | |
206 | (define-public nyancat | |
207 | (package | |
208 | (name "nyancat") | |
209 | (version "1.5.2") | |
210 | (source | |
211 | (origin | |
212 | (method git-fetch) | |
213 | (uri (git-reference | |
214 | (url "https://github.com/klange/nyancat") | |
215 | (commit version))) | |
216 | (file-name (git-file-name name version)) | |
217 | (sha256 | |
218 | (base32 | |
219 | "1mg8nm5xzcq1xr8cvx24ym2vmafkw53rijllwcdm9miiz0p5ky9k")))) | |
220 | (build-system gnu-build-system) | |
221 | (arguments | |
222 | '(#:make-flags '("CC=gcc") | |
223 | #:phases | |
224 | (modify-phases %standard-phases | |
225 | (delete 'configure) ; no configure script | |
226 | (replace 'install | |
227 | (lambda* (#:key outputs #:allow-other-keys) | |
228 | (let* ((out (assoc-ref outputs "out")) | |
229 | (bin (string-append out "/bin")) | |
230 | (man (string-append out "/share/man/man1"))) | |
231 | (install-file "src/nyancat" bin) | |
232 | (install-file "nyancat.1" man)) | |
233 | #t))))) | |
234 | (home-page "https://nyancat.dakko.us/") | |
235 | (synopsis "Nyan cat telnet server") | |
236 | (description | |
237 | "This is an animated, color, ANSI-text telnet server that renders a loop | |
238 | of the Nyan Cat / Poptart Cat animation.") | |
239 | (license license:ncsa))) | |
dc68018e LF |
240 | |
241 | (define-public cbonsai | |
242 | (package | |
243 | (name "cbonsai") | |
244 | (version "1.0.4") | |
245 | (source (origin | |
246 | (method git-fetch) | |
247 | (uri (git-reference | |
248 | (url "https://gitlab.com/jallbrit/cbonsai.git") | |
249 | (commit (string-append "v" version)))) | |
250 | (file-name (git-file-name name version)) | |
251 | (sha256 | |
252 | (base32 | |
253 | "0a5lqc0il0dq26j4wxg1z2siqanra2905x9akwi86zriq65ayb77")))) | |
254 | (build-system gnu-build-system) | |
255 | (arguments | |
256 | `(#:tests? #f ; No test suite | |
257 | #:make-flags | |
258 | (list (string-append "CC=" ,(cc-for-target)) | |
259 | (string-append "PREFIX=" (assoc-ref %outputs "out"))) | |
260 | #:phases | |
261 | (modify-phases %standard-phases | |
262 | (delete 'configure) ; No ./configure script | |
263 | (add-after 'install 'install-doc | |
264 | (lambda* (#:key outputs #:allow-other-keys) | |
265 | (let* ((out (assoc-ref outputs "out")) | |
266 | (doc (string-append out "/share/doc/" ,name "-" | |
267 | ,(package-version this-package)))) | |
268 | (install-file "README.md" doc))))))) | |
269 | (native-inputs | |
270 | `(("pkg-config" ,pkg-config))) | |
271 | (inputs | |
272 | `(("ncurses" ,ncurses))) | |
273 | (home-page "https://gitlab.com/jallbrit/cbonsai") | |
274 | (synopsis "Grow bonsai trees in a terminal") | |
275 | (description "Cbonsai is a bonsai tree generator using ASCII art. It | |
276 | creates, colors, and positions a bonsai tree, and is configurable.") | |
277 | (license license:gpl3+))) |