From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:55165) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iHqy8-0005oF-NA for guix-patches@gnu.org; Tue, 08 Oct 2019 11:00:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iHqy3-00083Z-AB for guix-patches@gnu.org; Tue, 08 Oct 2019 11:00:08 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:42391) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iHqy3-00083K-65 for guix-patches@gnu.org; Tue, 08 Oct 2019 11:00:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iHqy3-0002Q7-1Q for guix-patches@gnu.org; Tue, 08 Oct 2019 11:00:03 -0400 Subject: [bug#37642] [PATCH] gnu: Add filters Resent-Message-ID: References: <6f4a21523a30dcf3e3045aad994d8958c78a7b72.camel@gmail.com> In-reply-to: <6f4a21523a30dcf3e3045aad994d8958c78a7b72.camel@gmail.com> Date: Tue, 08 Oct 2019 16:59:48 +0200 Message-ID: <87lftv1dwb.fsf@nckx> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" Reply-to: Tobias Geerinckx-Rice via Guix-patches From: Tobias Geerinckx-Rice via Guix-patches via To: 37642@debbugs.gnu.org, Jesse Gibbons --=-=-= Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Jesse, Thank you! I am b1ff and can't figure out how to make emacs quote=20 an attachment, so consider +es >s below. =20 Jesse Gibbons =E5=86=99=E9=81=93=EF=BC=9A+ %D%/packages/filters.scm \=20 A new file's overkill. I created a toys.scm file long ago for=20 misfit toys that aren't games. They could use some company.=20 There's also games.scm which already contains talkfilters,=20 although they aren't games dammit. Choose wisely. =20 +(define-module (gnu packages filters) +#:use-module (guix=20 build-system gnu) +#:use-module (guix download) +#:use-module=20 (guix git-download) +#:use-module ((guix licenses) #:prefix=20 license:) +#:use-module (guix packages) +#:use-module (gnu=20 packages bison) +#:use-module (gnu packages flex) +#:use-module=20 (gnu packages perl)) Not a relevant nitpick anymore, but this would have been indented. =20 + (let + ((version "2.55") More nitpicking: convention is to write the above as one line. =20 + (uri (git-reference + (url=20 "git://git.joeyh.name/filters") https:// is preferred over git://, if not for any =E2=80=98security=E2=80= =99=20 benefit, then for the fact that it's much more=20 unfriendly-firewall-friendly. https://git.joeyh.name/git/filters.git works here. + (lambda* (#:key outputs #:allow-other-keys) +=20 (let ((out (assoc-ref outputs "out"))) Both lines can be written simply as (lambda _ since OUT and hence OUTPUTS are never used in this final version. =20 + (("kenny") + ""))) This part would have belonged in the phase below, but =20 + ;; kenny is under nonfree Artistic License (Perl) 1.0.=20 + (add-after 'fix-install-directories=20 'remove-nonfree-filter + (lambda _ +=20 (substitute* "Makefile" + (("kenny") +=20 "")) + #t))) I'm afraid this isn't an option when unfree code is involved. The=20 offending files must be removed (and any Makefiles &c. fixed if=20 feasible) in a source snippet so =E2=80=98guix build --source filters=E2=80= =99=20 doesn't return unfree code to unsuspecting users. Examples of=20 snippets abound. =20 + #:make-flags (list "CC=3Dgcc" (string-append "DESTDIR=3D"=20 %output)) Prefer putting each assignment on its own line for clarity. =20 + #:tests? #f)) =E2=80=98; no test suite=E2=80=99? =20 + (home-page "http://joeyh.name/code/filters/") Prefer HTTPS here too. =20 + (synopsis "Various amusing text filters") +=20 (description "The filters collection harks back to the late 80's,=20 when =E2=80=9880s=E2=80=99 (1980s, even, who knows how long Guix will prosper ;-= ). =20 +various text filters were written to munge written language in=20 amusing ways. +The earliest and best known were legends such as=20 the Swiedish Chef filter and =E2=80=98Swedish=E2=80=99 (or =E2=80=98Sweedish=E2=80=99 as below, although= that's not the common=20 name). =E2=80=98legends=E2=80=99 is a bit too PR-ish for my tastes but I'll leave = it up=20 to you. =20 +@item b1ff - The B1FF filter =E2=80=98A satire of a stereotypical Usenet newbie=E2=80=99.=20 +@item censor - CDA-ize text +@item chef - convert English on=20 stdin to Mock Sweedish on stdout +@item cockney - Cockney English This list is long, and each description is written in a wildly=20 different style which annoys me for some reason. I prefer the=20 last one, it's simple and to the point. I think a list of all filters can be justified here (it helps=20 searching for =E2=80=98pirate=E2=80=99 :-) but >1 line each is too much. =E2=80=98jibberish=E2=80=99 & =E2=80=98fanboy=E2=80=99 focus too much the w= orkings of the code; =E2=80=98A=20 random combination of all other filters=E2=80=99 and =E2=80=98Speak like a = fanboy=20 (supports custom fandoms)=E2=80=99 are sufficient. +The GNU project=20 hosts a similar collection of filters, the GNU talkfilters. Due=20 +to copyright concerns and difficulty in communication between=20 maintainers, these +collections have not been merged.") I think the description is already quite long without this=20 factoid. =20 + (license (list license:gpl2+ ;; most of the filters (see=20 debian/copyright) + license:gpl2 ;; rasterman,=20 ky00te.dir/* nethackify, pirate +=20 license:gpl3+ ;; scramble, scottish +=20 license:public-domain ;; jethro, kraut, ken, studly +=20 license:gpl1+ ;; cockney, jive, nyc only say "gpl" +=20 license:expat))))) ;; newspeak.=20 Thank you for taking the time to list each filter! Trailing=20 comments like this take only a single =E2=80=98;=E2=80=99, no =E2=80=98.=E2= =80=99, and are=20 indented together (either by your editor or by=20 etc/indent-code.el). Something like:=20 =20 (license (list license:gpl2+ ; most of the filters (see=20 debian/copyright)=20 license:gpl2 ; rasterman, ky00te.dir/*=20 nethackify, pirate license:gpl3+ ; scramble,=20 scottish license:public-domain ; jethro, kraut, ken,=20 studly license:gpl1+ ; cockney, jive, nyc only say=20 "gpl" license:expat))))) ; newspeak=20 Thanks again, T G-R --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEfo+u0AlEeO9y5k0W2Imw8BjFSTwFAl2cpGQACgkQ2Imw8BjF STyZ2A/+Jj8+moR9zAZyhErPgInPD/eNh2doKhh6Na12x8AziuBOIe1rckhyEOAo QyXqxLSkzcvc1no940EdPaNF7Z72FNO0Nt+MKck32j2uSuZZWa+v22SsDJYwGHe0 yAlfnSm/PsNSDhqFluiZE+KKRFUqDaBlHU5DKzvC284FIhL3CAUNL4eTb7cauu3q zKjXWN1UScDXp7DM0VEcfoQE3fmGJe6JWEBimXKm/cFTcIAGWHXhQpFteN1Gx10X 9PkdyHMGBAd5LAdGJiMYtSErr610iXUwwfkXvls+fE+nlp2mOXCFqCUN0s9FVvdO IsOtZZDukwUb5PbmXAsVBOBtHcm/W59EdxBcV1Z9+bmTlAWmKHDEQ2rFghpf//Fh lHeDDdzv7mhXyBFqRcA5YeF+kknLxLa14w6AX7N21bsG/+nEFmw11rsXYyxsLwEG ZJkdZvjTh9UdRvxS0PLaC1VxVdpXKZpIVbdN9ZZix9H2nAH0fEA1U8Rd2i82wu0X +STrPgRS+H0hwbqIASSGJW2hKnqVdtIh19W9uZfHriD/hRucS1mww8v5DoHXzDoq vG3esiyJ5Y71E22IAniM4LjKBKUZyTo7RAlfWVvN+Fkb7P/wZliWJYDpyS6YIOv1 o1V1AlgEY2yO3ybC1SppzwV59gUbtlulNV9R/zofWtm/yskEURo= =o3Iv -----END PGP SIGNATURE----- --=-=-=--