1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
| | ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages filters)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (gnu packages bison)
#:use-module (gnu packages flex)
#:use-module (gnu packages perl))
(define-public filters
(let
((version "2.55")
(commit "c5c291916b52ed9e6418448a8eee30475fb9adcf"))
(package
(name "filters")
(version "2.55")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "git://git.joeyh.name/filters")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1gaigpda1w9wxfh8an3sam1hpacc1bhxl696w4yj0vzhc6izqvxs"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'fix-install-directories
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "Makefile"
(("/usr/games")
"/bin/")
(("/usr/share/")
"/share/")
(("kenny")
"")))
#t))
;; kenny is under nonfree Artistic License (Perl) 1.0.
(add-after 'fix-install-directories 'remove-nonfree-filter
(lambda _
(substitute* "Makefile"
(("kenny")
""))
#t)))
#:make-flags (list "CC=gcc" (string-append "DESTDIR=" %output))
#:tests? #f))
(native-inputs
`(("bison" ,bison)
("flex" ,flex)))
(inputs
`(("perl" ,perl)))
(home-page "http://joeyh.name/code/filters/")
(synopsis "Various amusing text filters")
(description "The filters collection harks back to the late 80's, when
various text filters were written to munge written language in amusing ways.
The earliest and best known were legends such as the Swiedish Chef filter and
B1FF.
The current filters package contains more than 20 filters:
@enumerate
@item b1ff - The B1FF filter
@item censor - CDA-ize text
@item chef - convert English on stdin to Mock Sweedish on stdout
@item cockney - Cockney English
@item eleet - K3wl hacker slang
@item fanboy - Speak like a fanboy. Filters out extraneous words and focuses on
the words fans use. By default, it will speak like a fan of git/Linus/linux
development. To change this, pass as parameters the words that the fanboy
typically uses. Alternatively, pass the name of a topic that typically has
fanboys to use a predefined word list.
@item fudd - Elmer Fudd
@item jethro - Hillbilly text filter
@item jibberish - Runs text through a random selection of the rest of the
filters, to make really weird output.
@item jive - Jive English
@item ken - English into Cockney, featuring (dubious) rhyming slang for a lot of
computer technology.
@item kraut - Generates text with a bad German accent.
@item ky00te - This program places a very cute (and familiar to FurryMucck fans)
accent on any text file.
@item LOLCAT - as seen in internet gifs everywhere.
@item nethackify - Wiped out text like can be found in nethack.
@item newspeak - A-la-1984
@item nyc - Brooklyn English
@item pirate - Talk like a pirate.
@item rasterman - Makes text look like it came from the keyboard of Carsten
Haitzler.
@item scottish - Fake scottish (dwarven) accent filter, inspired by the
character \"Durkon\" from Order of the Stick.
@item scramble - Scramble the \"inner\" letters of each word in the input into a
random order. The resulting text is still strangely readable.
@item spammer - Turns honest text into something that is liable to be flagged as
spam.
@item studly - Studly caps.
@item uniencode - Use glorious unicode to the fullest possible extent. As seen
previously in many man pages.
@item upside-down - Flips the text upside down. Stand on your head and squint
to read the output.
@end enumerate
The GNU project hosts a similar collection of filters, the GNU talkfilters. Due
to copyright concerns and difficulty in communication between maintainers, these
collections have not been merged.")
(license (list license:gpl2+ ;; most of the filters (see debian/copyright)
license:gpl2 ;; rasterman, ky00te.dir/* nethackify, pirate
license:gpl3+ ;; scramble, scottish
license:public-domain ;; jethro, kraut, ken, studly
license:gpl1+ ;; cockney, jive, nyc only say "gpl"
license:expat))))) ;; newspeak.
|