Commit | Line | Data |
---|---|---|
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 | |
73 | on the text terminal. It serves no useful purpose but to discourage mistakenly | |
74 | typing @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 | |
125 | filters were written to munge written language in amusing ways. The earliest | |
126 | and best known were legends such as the Swedish Chef filter and B1FF. | |
127 | ||
128 | This 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 | ||
157 | The 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 | |
200 | the desktop background. Additional customizable effects include wind, stars | |
201 | and various scenery elements.") | |
202 | (license license:gpl3+))) |