;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2019 Jesse Gibbons ;;; ;;; 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 . (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:) #:use-module (guix packages)) (define-public sl (package (name "sl") (version "5.02") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/mtoyoda/sl.git") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "1zrfd71zx2px2xpapg45s8xvi81xii63yl0h60q72j71zh4sif8b")))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses))) (arguments `(#:phases (modify-phases %standard-phases (delete 'configure) ; no configure script (delete 'check) ; no tests (replace 'install ; no ‘make install’ target (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin")) (man (string-append out "/share/man")) (man1 (string-append man "/man1")) (man1-ja (string-append man "/ja/man1"))) (install-file "sl" bin) (install-file "sl.1" man1) (mkdir-p man1-ja) (copy-file "sl.1.ja" (string-append man1-ja "/sl.1")) #t)))))) (home-page "http://www.tkl.iis.u-tokyo.ac.jp/~toyoda/index_e.html") (synopsis "Joke command to correct typing \"sl\" by mistake") (description "@dfn{SL} (for Steam Locomotive) displays one of several animated trains 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 `(#:phases (modify-phases %standard-phases (delete 'configure) (add-after 'unpack 'fix-install-directories (lambda _ (substitute* "Makefile" (("/usr/games") "/bin/") (("/usr/share/") "/share/")) #t))) #:make-flags (list "CC=gcc" (string-append "DESTDIR=" %output)) #: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 1980'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 the following filters: @enumerate @item b1ff - The B1FF filter @item censor - CDA-ize text @item chef - convert English to Mock Swedish. @item cockney - Cockney English @item eleet - K3wl hacker slang @item fanboy - Echo instances of the words fans use. (supports custom fandoms) @item fudd - Elmer Fudd @item jethro - Hillbilly text filter @item jibberish - A random selection of the filters. @item jive - Jive English @item ken - English into Cockney. @item kraut - Generates text with a bad German accent. @item ky00te - This program places a very cute accent on any text file. @item LOLCAT - as seen in internet gifs everywhere. @item nethackify - Wiped out text like what 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. @item scramble - Scramble the \"inner\" letters of each word in the input. @item spammer - Turns 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 - Flips 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