guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#37642] [PATCH] gnu: Add filters


From: Jesse Gibbons
Subject: [bug#37642] [PATCH] gnu: Add filters
Date: Tue, 08 Oct 2019 13:46:51 -0600

On Tue, 2019-10-08 at 16:59 +0200, Tobias Geerinckx-Rice wrote:
> Jesse,
> 
> Thank you!  I am b1ff and can't figure out how to make emacs quote 
> an attachment, so consider +es >s below.
>  
> ...
That review was a bit of a mess. Let's see if I can rephrase what you want,
in a human-friendly format (no emacs involved):
>      * gnu/packages/filters.scm: New file.
>      * gnu/local.mk: Add it.
>      * gnu/packages/cvassistant.scm (filters): New variable.
Spot my "commit message template" remnants!

You want me to put it into either games.scm or toys.scm, preferrably
toys.scm, for the sake of organization.

I had previously started a discussion on the guix-devel list with a similar
concern and was convinced that it is fine to have some packages isolated in
their own files. That's why I put rednotebook cv-assistant isolated in their
own sources. However, since you asked, and there are two different files it
would fit in, I will put filters in toys.scm. I'll leave it to you to
convince the others that packages like cmatrix, cowsay, fortune-mod, and no-
more-secrets should be moved to toys because they are not games.

See https://lists.gnu.org/archive/html/guix-devel/2019-07/msg00240.html
 for the explanation that convinced me solo packages are fine.

> +(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))
Make sure these are indented when I add a new file.
I guess indent-code.el doesn't look outside the package definition...
> +
> +(define-public filters
> +  (let
> +      ((version "2.55")
> +       (commit "c5c291916b52ed9e6418448a8eee30475fb9adcf"))
Move version to the same line as let.
> +    (package
> +      (name "filters")
> +      (version "2.55")
> +      (source
> +       (origin
> +         (method git-fetch)
> +         (uri (git-reference
> +               (url "git://git.joeyh.name/filters")
> +               (commit commit)))
Use https: instead of git:
> +             (lambda* (#:key outputs #:allow-other-keys)
> +               (let ((out (assoc-ref outputs "out")))
Replace these two lines with "(lambda _"

> +           ;; kenny is under nonfree Artistic License (Perl) 1.0.
> +           (add-after 'fix-install-directories 'remove-nonfree-filter
> +             (lambda _
> +               (substitute* "Makefile"
> +                 (("kenny")
> +                  ""))
> +               #t)))
Use a patch instead or move this to the source's snippet so kenny is removed
from the raw source.
> +         #:tests? #f))
clarify we have no tests suite
> +      (home-page "http://joeyh.name/code/filters/";)
use https:// for the home page.
> +      (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
Fix misspelling.

> +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.
...
> +@end enumerate
Trim these not to be more concise.
Descriptions for programs like "jibberish" and "fanboy" should focus on
output.
> +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.")
You want me to remove this.
I think it's appropriate to say something about gnu talkfilters and note
that this is not the same package, given that filters and talkfilters
packages are often confused with each other on the internet, but I will
remove the last sentence.
> +      (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.

Use only one semicolon in comments at the end of the line, and indent so the
comments align.
I'm trying to keep the definition 80 characters per column or shorter so it
can be terminal-friendly. If the comments go beyond 80 characters I will
move the comments above the license. indent-code.el missed these comments.

Am I missing anything?





reply via email to

[Prev in Thread] Current Thread [Next in Thread]