From 57705f47497b97a0ed42362148f4a523ae5fc8ce Mon Sep 17 00:00:00 2001 From: Jesse Gibbons Date: Wed, 9 Oct 2019 22:29:16 -0600 Subject: gnu: add filters. * gnu/packages/toys.scm (filters): New variable. Signed-off-by: Tobias Geerinckx-Rice . --- gnu/packages/toys.scm | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) diff --git a/gnu/packages/toys.scm b/gnu/packages/toys.scm index 87706d2277..8c1a03b5d2 100644 --- a/gnu/packages/toys.scm +++ b/gnu/packages/toys.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice +;;; Copyright © 2019 Jesse Gibbons ;;; ;;; This file is part of GNU Guix. ;;; @@ -17,7 +18,10 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages toys) + #:use-module (gnu packages bison) + #:use-module (gnu packages flex) #:use-module (gnu packages ncurses) + #:use-module (gnu packages perl) #:use-module (guix build-system gnu) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) @@ -64,3 +68,91 @@ on the text terminal. It serves no useful purpose but to discourage mistakenly typing @command{sl} instead of @command{ls}.") (license (license:non-copyleft "file://LICENSE" "See LICENSE in the distribution.")))) + +(define-public filters + (let ((version "2.55") + (commit "c5c291916b52ed9e6418448a8eee30475fb9adcf")) + (package + (name "filters") + (version "2.55") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.joeyh.name/filters") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1gaigpda1w9wxfh8an3sam1hpacc1bhxl696w4yj0vzhc6izqvxs")) + (modules '((guix build utils))) + (snippet '(begin + ;; kenny is under nonfree Artistic License (Perl) 1.0. + (delete-file "kenny") + (substitute* "Makefile" + (("kenny") + "")))))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (list "CC=gcc" (string-append "DESTDIR=" %output)) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'fix-install-directories + (lambda _ + (substitute* "Makefile" + (("/usr/games") + "/bin/") + (("/usr/share/") + "/share/")) + #t))) + #:tests? #f)) ; no test suite + (native-inputs + `(("bison" ,bison) + ("flex" ,flex))) + (inputs + `(("perl" ,perl))) + (home-page "https://joeyh.name/code/filters/") + (synopsis "Various amusing text filters") + (description + "The filters collection harks back to the late 1980s, when various text +filters were written to munge written language in amusing ways. The earliest +and best known were legends such as the Swedish Chef filter and B1FF. + +This package contains the following filter commands: +@enumerate +@item b1ff: a satire of a stereotypical Usenet newbie +@item censor: comply with the @acronym{CDA, Communications Decency Act} +@item chef: convert English to Mock Swedish +@item cockney: Cockney English +@item elee: k3wl hacker slang +@item fanboy: a stereotypical fan (supports custom fandoms) +@item fudd: Elmer Fudd +@item jethro: hillbilly text filter +@item jibberish: a random selection of these filters +@item jive: Jive English +@item ken: turn English into Cockney +@item kraut: a bad German accent +@item ky00te: a very cute accent +@item LOLCAT: as seen in Internet GIFs everywhere +@item nethackify: wiped-out text as found in nethack +@item newspeak: à la 1984 +@item nyc: Brooklyn English +@item pirate: talk like a pirate +@item rasterman: straight from the keyboard of Carsten Haitzler +@item scottish: fake Scottish (Dwarven) accent +@item scramble: scramble the \"inner\" letters of each word +@item spammer: turn honest text into something liable to be flagged as spam +@item studly: studly caps. +@item uniencode: use glorious Unicode to the fullest possible extent +@item upside-down: flip the text upside down +@end enumerate + +The GNU project hosts a similar collection of filters, the GNU talkfilters.") + (license ; see debian/copyright + (list license:gpl2+ ; most of the filters + 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 -- cgit v1.2.3