guix-patches
[Top][All Lists]
Advanced

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

[bug#34650] [PATCH 7/7] gnu: Add mailcatcher.


From: Christopher Baines
Subject: [bug#34650] [PATCH 7/7] gnu: Add mailcatcher.
Date: Mon, 04 Mar 2019 21:50:05 +0000
User-agent: mu4e 1.0; emacs 26.1

Pierre Neidhardt <address@hidden> writes:

> * gnu/packages/ruby.scm (mailcatcher): New variable.
> ---
>  gnu/packages/ruby.scm | 49 +++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 49 insertions(+)
>
> diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
> index 8cb170e17..854b4669b 100644
> --- a/gnu/packages/ruby.scm
> +++ b/gnu/packages/ruby.scm
> @@ -7814,3 +7814,52 @@ minimal effort.")
>      (description "Simple, upgradable WebSockets for Ruby Thin.")
>      (home-page "https://github.com/sj26/skinny";)
>      (license license:expat)))
> +
> +(define-public mailcatcher
> +  (package
> +    (name "mailcatcher")
> +    (version "0.6.5")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (rubygems-uri "mailcatcher" version))
> +       (sha256
> +        (base32
> +         "0h6gk8n18i5f651f244al1hscjzl27fpma4vqw0qhszqqpd5p3bx"))))
> +    (build-system ruby-build-system)
> +    (arguments
> +     ;; TODO: Grab from GitHub to get tests?
> +     `(#:tests? #f

As with ruby-skinny, if there are no tests, I'd put:

  '(#:tests? #f ; No included tests

> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-before 'build 'patch-gemspec
> +           (lambda _
> +             (substitute* ".gemspec"
> +               (("<eventmachine>.freeze, \\[\\\"= 1.0.9.1") "<eventmachine>, 
> [\">= 1.0.9.1")
> +               (("<rack>.freeze, \\[\\\"~> 1.5") "<rack>, [\">= 1.5")
> +               (("<thin>.freeze, \\[\\\"~> 1.5.0") "<thin>, [\">= 1.5.0")
> +               (("<sinatra>.freeze, \\[\\\"~> 1.2") "<sinatra>, [\">= 1.2")
> +               )))
> +         (add-before 'build 'loosen-dependency-contraint
> +             (lambda _
> +               (substitute* "lib/mail_catcher.rb"
> +                 (("\"eventmachine\", \"1.0.9.1\"") "\"eventmachine\", \">= 
> 1.0.9.1\"")
> +                 (("\"rack\", \"~> 1.5\"") "\"rack\", \">= 1.5\"")
> +                 (("\"thin\", \"~> 1.5.0\"") "\"thin\", \">= 1.5.0\"")
> +                 (("\"sinatra\", \"~> 1.2\"") "\"sinatra\", \">= 
> 1.2\"")))))))

I'd add an explicit #t at the end of these phases.

Also, using wildcards in place of the versions in the mailcatcher gem
would probably make it easier to update this package if new versions are
released.

> +    (inputs
> +     `(("ruby-eventmachine" ,ruby-eventmachine)
> +       ("ruby-mail" ,ruby-mail)
> +       ("ruby-rack" ,ruby-rack)
> +       ("ruby-sinatra" ,ruby-sinatra)
> +       ("ruby-skinny" ,ruby-skinny)
> +       ("ruby-sqlite3" ,ruby-sqlite3)
> +       ("ruby-thin" ,ruby-thin)))
> +    (synopsis "Run an SMTP server which catches any message sent to it to 
> display in a browser")
> +    (description
> +     "MailCatcher runs a super simple SMTP server which catches any message
> +sent to it to display in a web interface.  Run mailcatcher, set your 
> favourite
> +app to deliver to smtp://127.0.0.1:1025 instead of your default SMTP server,
> +then check out http://127.0.0.1:1080 to see the mail.")
> +    (home-page "https://mailcatcher.me";)
> +    (license license:expat)))

Attachment: signature.asc
Description: PGP signature


reply via email to

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