GNU bug report logs - #34650
[PATCH] ruby-mailcatcher: Draft

Previous Next

Package: guix-patches;

Reported by: Pierre Neidhardt <mail <at> ambrevar.xyz>

Date: Mon, 25 Feb 2019 15:18:02 UTC

Severity: normal

Tags: patch

Done: Pierre Neidhardt <mail <at> ambrevar.xyz>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 34650 in the body.
You can then email your comments to 34650 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#34650; Package guix-patches. (Mon, 25 Feb 2019 15:18:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Pierre Neidhardt <mail <at> ambrevar.xyz>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Mon, 25 Feb 2019 15:18:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: guix-patches <at> gnu.org
Subject: [PATCH] ruby-mailcatcher: Draft
Date: Mon, 25 Feb 2019 16:17:05 +0100
---
 gnu/packages/ruby.scm | 185 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 185 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 6da7109d1..21a00c3ea 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7683,3 +7683,188 @@ uniquely identify it.")
 serves JavaScript, CoffeeScript, CSS, LESS, Sass, and SCSS.")
     (home-page "https://github.com/rails/sprockets")
     (license license:expat)))
+
+(define-public ruby-eventmachine-mailcatcher
+  (package
+    (inherit ruby-eventmachine)
+    (version "1.0.9.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "eventmachine" version))
+       (sha256
+        (base32
+         "17jr1caa3ggg696dd02g2zqzdjqj9x9q2nl7va82l36f7c5v6k4z"))))
+    (synopsis "ruby-eventmachine for mailcatcher")))
+
+(define-public ruby-rack-mailcatcher
+  (package
+    (inherit ruby-rack)
+    (name "ruby-rack")
+    (version "1.5.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url
+              "https://github.com/rack/rack/")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "09k24li8hp65ybpwmvvyy7ipxrbh62zd3n1qv1jh9kcrrhaihpya"))))
+    (arguments
+     ;; TODO: Fix tests.
+     `(#:tests? #f))))
+
+(define-public ruby-tilt
+  (package
+    (name "ruby-tilt")
+    (version "2.0.9")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "tilt" version))
+       (sha256
+        (base32
+         "0ca4k0clwf0rkvy7726x4nxpjxkpv67w043i39saxgldxd97zmwz"))))
+    (build-system ruby-build-system)
+    (arguments
+     ;; TODO: Fix tests.
+     `(#:tests? #f))
+    (synopsis
+     "Generic interface to multiple Ruby template engines")
+    (description
+     "Generic interface to multiple Ruby template engines")
+    (home-page "http://github.com/rtomayko/tilt/")
+    (license license:expat)))
+
+(define-public ruby-mustermann
+  (package
+    (name "ruby-mustermann")
+    (version "1.0.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "mustermann" version))
+       (sha256
+        (base32
+         "0lycgkmnyy0bf29nnd2zql5a6pcf8sp69g9v4xw0gcfcxgpwp7i1"))))
+    (build-system ruby-build-system)
+    (arguments
+     ;; TODO: Fix tests.
+     `(#:tests? #f))
+    (synopsis
+     "A library implementing patterns that behave like regular expressions.")
+    (description
+     "This package provides a library implementing patterns that behave like regular expressions.")
+    (home-page
+     "https://github.com/sinatra/mustermann")
+    (license license:expat)))
+
+(define-public ruby-sinatra
+  (package
+    (name "ruby-sinatra")
+    (version "2.0.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "sinatra" version))
+       (sha256
+        (base32
+         "1gasgn5f15myv08k10i16p326pchxjsy37pgqfw0xm66kcc5d7ry"))))
+    (build-system ruby-build-system)
+    (propagated-inputs
+     `(("ruby-mustermann" ,ruby-mustermann)
+       ("ruby-rack" ,ruby-rack)
+       ("ruby-rack-protection" ,ruby-rack-protection)
+       ("ruby-tilt" ,ruby-tilt)))
+    (synopsis "DSL for quick web applications creation in Ruby")
+    (description
+     "Sinatra is a DSL for quickly creating web applications in Ruby with
+minimal effort.")
+    (home-page "http://sinatrarb.com/")
+    (license license:expat)))
+
+(define-public ruby-thin
+  (package
+    (name "ruby-thin")
+    (version "1.7.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "thin" version))
+       (sha256
+        (base32
+         "0nagbf9pwy1vg09k6j4xqhbjjzrg5dwzvkn4ffvlj76fsn6vv61f"))))
+    (build-system ruby-build-system)
+    (arguments
+     ;; TODO: Fix tests.
+     `(#:tests? #f))
+    (propagated-inputs
+     `(("ruby-daemons" ,ruby-daemons)
+       ("ruby-eventmachine" ,ruby-eventmachine)
+       ("ruby-rack" ,ruby-rack)))
+    (synopsis "A thin and fast web server")
+    (description
+     "This package provides a thin and fast web server")
+    (home-page "http://code.macournoyer.com/thin/")
+    ;; TODO: License?
+    (license (list #f #f))))
+
+(define-public ruby-skinny
+  (package
+    (name "ruby-skinny")
+    (version "0.2.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "skinny" version))
+       (sha256
+        (base32
+         "1y3yvx88ylgz4d2s1wskjk5rkmrcr15q3ibzp1q88qwzr5y493a9"))))
+    (build-system ruby-build-system)
+    (arguments
+     ;; TODO: Fix tests.
+     `(#:tests? #f))
+    (propagated-inputs
+     `(("ruby-eventmachine" ,ruby-eventmachine)
+       ("ruby-thin" ,ruby-thin)))
+    (synopsis
+     "Simple, upgradable WebSockets for Thin.")
+    (description
+     "Simple, upgradable WebSockets for Thin.")
+    (home-page "http://github.com/sj26/skinny")
+    (license license:expat)))
+
+(define-public ruby-mailcatcher
+  (package
+    (name "ruby-mailcatcher")
+    (version "0.6.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "mailcatcher" version))
+       (sha256
+        (base32
+         "0h6gk8n18i5f651f244al1hscjzl27fpma4vqw0qhszqqpd5p3bx"))))
+    (build-system ruby-build-system)
+    (propagated-inputs
+     `(("ruby-eventmachine" ,ruby-eventmachine)
+       ;; ("ruby-eventmachine" ,ruby-eventmachine-mailcatcher)
+       ("ruby-mail" ,ruby-mail)
+       ("ruby-rack" ,ruby-rack)
+       ;; ("ruby-rack" ,ruby-rack-mailcatcher)
+       ("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 "http://mailcatcher.me")
+    (license license:expat)))
-- 
2.20.1





Information forwarded to guix-patches <at> gnu.org:
bug#34650; Package guix-patches. (Mon, 25 Feb 2019 15:22:01 GMT) Full text and rfc822 format available.

Message #8 received at 34650 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: 34650 <at> debbugs.gnu.org
Subject: Re: bug#34650: Acknowledgement ([PATCH] ruby-mailcatcher: Draft)
Date: Mon, 25 Feb 2019 16:21:39 +0100
[Message part 1 (text/plain, inline)]
I've never touched Ruby before, so I've got a bunch of questions:

- Almost none of the tests pass.  Anyone knows what's going on?

- ruby-sinatra 'install phase hangs forever (i.e. several minutes at
  least).  I suspect an infinite loop, and it's quite weird this is
  happening at the 'install phase.

- Should mailcatcher be packaged as "ruby-mailcatcher" or "mailcatcher"?

- Mailcatcher seems to depend on older version of some packages,
  e.g. version 1.0.9.1 of ruby-eventmachine.  What's the commended
  procedure then?

--
Pierre Neidhardt
https://ambrevar.xyz/
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#34650; Package guix-patches. (Mon, 25 Feb 2019 19:11:01 GMT) Full text and rfc822 format available.

Message #11 received at 34650 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Pierre Neidhardt <mail <at> ambrevar.xyz>
Cc: 34650 <at> debbugs.gnu.org
Subject: Re: [bug#34650] Acknowledgement ([PATCH] ruby-mailcatcher: Draft)
Date: Mon, 25 Feb 2019 19:10:12 +0000
[Message part 1 (text/plain, inline)]
Hey,

Thanks for these patches Pierre, I haven't looked at them in detail, but
one I did spot was ruby-tilt. I've already sent a patch for that here
[1]. In fact, maybe have a look through the patches in that bug, as that
will at least give you an idea of how I've been packaging some Ruby gems
recently.

1: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=34514#68


Pierre Neidhardt <mail <at> ambrevar.xyz> writes:

> I've never touched Ruby before, so I've got a bunch of questions:
>
> - Almost none of the tests pass.  Anyone knows what's going on?

I haven't checked the patch, but often the test suites are omitted from
the archives published to rubygems.org. This avoids users who use the
rubygems package manager from downloading the tests unnecessarily (as I
don't believe rubygems provides a way to run the tests), but obviously
doesn't suit packaging for Guix.

Fetching from the version control repository is a good way of getting
all the tests, but obviously that isn't what the gem importer generates.

> - ruby-sinatra 'install phase hangs forever (i.e. several minutes at
>   least).  I suspect an infinite loop, and it's quite weird this is
>   happening at the 'install phase.

I think theres a commit on the staging branch to pass the --verbose flag
to gem install, which may be revealing.

> - Should mailcatcher be packaged as "ruby-mailcatcher" or "mailcatcher"?

In my opinion, if you think someone might use it as a Ruby library,
stick with the ruby- prefix for consistency. Otherwise, call it what you
think makes most sense.

> - Mailcatcher seems to depend on older version of some packages,
>   e.g. version 1.0.9.1 of ruby-eventmachine.  What's the commended
>   procedure then?

If you're confident that the more recent versions of the dependencies
work, then I'd recommend patching the source to loosen the dependency
constraints.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#34650; Package guix-patches. (Tue, 26 Feb 2019 11:00:03 GMT) Full text and rfc822 format available.

Message #14 received at 34650 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34650 <at> debbugs.gnu.org
Subject: Re: [bug#34650] Acknowledgement ([PATCH] ruby-mailcatcher: Draft)
Date: Tue, 26 Feb 2019 11:59:27 +0100
[Message part 1 (text/plain, inline)]
Hi Christopher,

Thanks for all the details, that will help tremendously for sure.

> ruby-tilt

I tried applying your patch but I get the following error:

--8<---------------cut here---------------start------------->8---
starting phase `check'
rake aborted!
Bundler::VersionConflict: Bundler could not find compatible versions for gem "ffi":
  In Gemfile:
    sassc was resolved to 2.0.0, which depends on
      ffi (~> 1.9.6)

Could not find gem 'ffi (~> 1.9.6)', which is required by gem 'sassc', in any of the sources.
--8<---------------cut here---------------end--------------->8---

I suppose that ruby-ffi was updated recently and that the version number needs patching?

> I think theres a commit on the staging branch to pass the --verbose flag
> to gem install, which may be revealing.

I'll look into it, thanks for the tip.

> In my opinion, if you think someone might use it as a Ruby library,
> stick with the ruby- prefix for consistency. Otherwise, call it what you
> think makes most sense.

I'll call if mailcatcher then.

> If you're confident that the more recent versions of the dependencies
> work, then I'd recommend patching the source to loosen the dependency
> constraints.

I see that's what you are doing in your patch.  It's quite cumbersome though :p
At this point I wonder: if the developer explicitly say
"A should be version X or above, while B should be exactly version Y", shouldn't
we respect the upstream wish?

-- 
Pierre Neidhardt
https://ambrevar.xyz/
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#34650; Package guix-patches. (Thu, 28 Feb 2019 17:45:01 GMT) Full text and rfc822 format available.

Message #17 received at 34650 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: 34650 <at> debbugs.gnu.org
Subject: [PATCH 1/7] gnu: ruby-rack-protection: Update to 2.0.5.
Date: Thu, 28 Feb 2019 18:44:29 +0100
* gnu/packages/ruby.scm (ruby-rack-protection): Update to 2.0.5.
---
 gnu/packages/ruby.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 6da7109d1..63cfa8cf4 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2017 Clément Lassieur <clement <at> lassieur.org>
 ;;; Copyright © 2018 Vasile Dumitrascu <va511e <at> yahoo.com>
 ;;; Copyright © 2018 Alex Vong <alexvong1995 <at> gmail.com>
+;;; Copyright © 2019 Pierre Neidhardt <mail <at> ambrevar.xyz>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -4453,14 +4454,14 @@ testing libraries to build on.")
 (define-public ruby-rack-protection
   (package
     (name "ruby-rack-protection")
-    (version "2.0.3")
+    (version "2.0.5")
     (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "rack-protection" version))
        (sha256
         (base32
-         "1z5598qipilmnf45428jnxi63ykrgvnyywa5ckpr52zv2vpd8jdp"))))
+         "15167q25rmxipqwi6hjqj3i1byi9iwl3xq9b7mdar7qiz39pmjsk"))))
     (build-system ruby-build-system)
     (arguments
      '(;; Tests missing from the gem.
-- 
2.20.1





Information forwarded to guix-patches <at> gnu.org:
bug#34650; Package guix-patches. (Thu, 28 Feb 2019 17:45:02 GMT) Full text and rfc822 format available.

Message #20 received at 34650 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: 34650 <at> debbugs.gnu.org
Subject: [PATCH 7/7] gnu: Add mailcatcher.
Date: Thu, 28 Feb 2019 18:44:35 +0100
* 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
+       #: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\"")))))))
+    (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)))
-- 
2.20.1





Information forwarded to guix-patches <at> gnu.org:
bug#34650; Package guix-patches. (Thu, 28 Feb 2019 17:45:02 GMT) Full text and rfc822 format available.

Message #23 received at 34650 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: 34650 <at> debbugs.gnu.org
Subject: [PATCH 2/7] gnu: Add ruby-tilt.
Date: Thu, 28 Feb 2019 18:44:30 +0100
* gnu/packages/ruby.scm (ruby-tilt): New variable.
---
 gnu/packages/ruby.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 63cfa8cf4..f6b6a19d5 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7684,3 +7684,27 @@ uniquely identify it.")
 serves JavaScript, CoffeeScript, CSS, LESS, Sass, and SCSS.")
     (home-page "https://github.com/rails/sprockets")
     (license license:expat)))
+
+(define-public ruby-tilt
+  (package
+    (name "ruby-tilt")
+    (version "2.0.9")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "tilt" version))
+       (sha256
+        (base32
+         "0ca4k0clwf0rkvy7726x4nxpjxkpv67w043i39saxgldxd97zmwz"))))
+    (build-system ruby-build-system)
+    (arguments
+     ;; TODO: Fix tests.
+     `(#:tests? #f))
+    (synopsis "Generic interface to multiple Ruby template engines")
+    (description "Tilt is a thin interface over a bunch of different Ruby
+template engines in an attempt to make their usage as generic as
+possible.  This is useful for web frameworks, static site generators, and other
+systems that support multiple template engines but don't want to code for each
+of them individually.")
+    (home-page "https://github.com/rtomayko/tilt/")
+    (license license:expat)))
-- 
2.20.1





Information forwarded to guix-patches <at> gnu.org:
bug#34650; Package guix-patches. (Thu, 28 Feb 2019 17:45:03 GMT) Full text and rfc822 format available.

Message #26 received at 34650 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: 34650 <at> debbugs.gnu.org
Subject: [PATCH 4/7] gnu: Add ruby-sinatra.
Date: Thu, 28 Feb 2019 18:44:32 +0100
* gnu/packages/ruby.scm (ruby-sinatra): New variable.
---
 gnu/packages/ruby.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 1c10a16c2..78d113af7 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7730,3 +7730,27 @@ object that behaves like a regular expression and has comparable performance
 characteristics.")
     (home-page "https://github.com/sinatra/mustermann")
     (license license:expat)))
+
+(define-public ruby-sinatra
+  (package
+    (name "ruby-sinatra")
+    (version "2.0.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "sinatra" version))
+       (sha256
+        (base32
+         "1gasgn5f15myv08k10i16p326pchxjsy37pgqfw0xm66kcc5d7ry"))))
+    (build-system ruby-build-system)
+    (propagated-inputs
+     `(("ruby-mustermann" ,ruby-mustermann)
+       ("ruby-rack" ,ruby-rack)
+       ("ruby-rack-protection" ,ruby-rack-protection)
+       ("ruby-tilt" ,ruby-tilt)))
+    (synopsis "DSL for quick web applications creation in Ruby")
+    (description
+     "Sinatra is a DSL for quickly creating web applications in Ruby with
+minimal effort.")
+    (home-page "http://sinatrarb.com/")
+    (license license:expat)))
-- 
2.20.1





Information forwarded to guix-patches <at> gnu.org:
bug#34650; Package guix-patches. (Thu, 28 Feb 2019 17:45:04 GMT) Full text and rfc822 format available.

Message #29 received at 34650 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: 34650 <at> debbugs.gnu.org
Subject: [PATCH 3/7] gnu: Add ruby-mustermann.
Date: Thu, 28 Feb 2019 18:44:31 +0100
* gnu/packages/ruby.scm (ruby-mustermann): New variable.
---
 gnu/packages/ruby.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index f6b6a19d5..1c10a16c2 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7708,3 +7708,25 @@ systems that support multiple template engines but don't want to code for each
 of them individually.")
     (home-page "https://github.com/rtomayko/tilt/")
     (license license:expat)))
+
+(define-public ruby-mustermann
+  (package
+    (name "ruby-mustermann")
+    (version "1.0.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "mustermann" version))
+       (sha256
+        (base32
+         "0lycgkmnyy0bf29nnd2zql5a6pcf8sp69g9v4xw0gcfcxgpwp7i1"))))
+    (build-system ruby-build-system)
+    (arguments
+     ;; TODO: Fix tests.
+     `(#:tests? #f))
+    (synopsis "Library implementing patterns that behave like regular expressions")
+    (description "Given a string pattern, Mustermann will turn it into an
+object that behaves like a regular expression and has comparable performance
+characteristics.")
+    (home-page "https://github.com/sinatra/mustermann")
+    (license license:expat)))
-- 
2.20.1





Information forwarded to guix-patches <at> gnu.org:
bug#34650; Package guix-patches. (Thu, 28 Feb 2019 17:45:04 GMT) Full text and rfc822 format available.

Message #32 received at 34650 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: 34650 <at> debbugs.gnu.org
Subject: [PATCH 5/7] gnu: Add ruby-thin.
Date: Thu, 28 Feb 2019 18:44:33 +0100
* gnu/packages/ruby.scm (ruby-thin): New variable.
---
 gnu/packages/ruby.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 78d113af7..9d3c4b246 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7754,3 +7754,32 @@ characteristics.")
 minimal effort.")
     (home-page "http://sinatrarb.com/")
     (license license:expat)))
+
+(define-public ruby-thin
+  (package
+    (name "ruby-thin")
+    (version "1.7.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "thin" version))
+       (sha256
+        (base32
+         "0nagbf9pwy1vg09k6j4xqhbjjzrg5dwzvkn4ffvlj76fsn6vv61f"))))
+    (build-system ruby-build-system)
+    (arguments
+     ;; TODO: Fix tests.
+     `(#:tests? #f))
+    (propagated-inputs
+     `(("ruby-daemons" ,ruby-daemons)
+       ("ruby-eventmachine" ,ruby-eventmachine)
+       ("ruby-rack" ,ruby-rack)))
+    (synopsis "Thin and fast web server for Ruby")
+    (description "Thin is a Ruby web server that glues together 3 Ruby libraries:
+@itemize
+@item the Mongrel parser,
+@item Event Machine, a network I/O library with high scalability, performance and stability
+@item Rack, a minimal interface between webservers and Ruby frameworks
+@end itemize\n")
+    (home-page "http://code.macournoyer.com/thin/")
+    (license license:ruby)))
-- 
2.20.1





Information forwarded to guix-patches <at> gnu.org:
bug#34650; Package guix-patches. (Thu, 28 Feb 2019 17:45:05 GMT) Full text and rfc822 format available.

Message #35 received at 34650 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: 34650 <at> debbugs.gnu.org
Subject: [PATCH 6/7] gnu: Add ruby-skinny.
Date: Thu, 28 Feb 2019 18:44:34 +0100
* gnu/packages/ruby.scm (ruby-skinny): New variable.
---
 gnu/packages/ruby.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 9d3c4b246..8cb170e17 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7783,3 +7783,34 @@ minimal effort.")
 @end itemize\n")
     (home-page "http://code.macournoyer.com/thin/")
     (license license:ruby)))
+
+(define-public ruby-skinny
+  (package
+    (name "ruby-skinny")
+    (version "0.2.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "skinny" version))
+       (sha256
+        (base32
+         "1y3yvx88ylgz4d2s1wskjk5rkmrcr15q3ibzp1q88qwzr5y493a9"))))
+    (build-system ruby-build-system)
+    (arguments
+     ;; TODO: Grab from GitHub to get tests?
+     `(#:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'patch-gemspec
+           (lambda _
+             (substitute* ".gemspec"
+               (("<eventmachine>.freeze, \\[\\\"~> 1.0.0\"")
+                "<eventmachine>, [\">= 1.0.0\"")
+               (("<thin>.freeze, \\[\\\"< 1.7\", ") "<thin>, [")))))))
+    (propagated-inputs
+     `(("ruby-eventmachine" ,ruby-eventmachine)
+       ("ruby-thin" ,ruby-thin)))
+    (synopsis "Simple, upgradable WebSockets for Ruby Thin")
+    (description "Simple, upgradable WebSockets for Ruby Thin.")
+    (home-page "https://github.com/sj26/skinny")
+    (license license:expat)))
-- 
2.20.1





Information forwarded to guix-patches <at> gnu.org:
bug#34650; Package guix-patches. (Thu, 28 Feb 2019 17:48:01 GMT) Full text and rfc822 format available.

Message #38 received at 34650 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34650 <at> debbugs.gnu.org
Subject: Re: [bug#34650] Acknowledgement ([PATCH] ruby-mailcatcher: Draft)
Date: Thu, 28 Feb 2019 18:47:39 +0100
[Message part 1 (text/plain, inline)]
I've eventually figured that many of the dep requirements in the Ruby community
follow poor practices, so I've lifter all of them to ">=" and Mailcatcher seems
to work smoothly still (it starts at least).

I've cleanup up the packages, only the tests are missing.  The rest should be
ready for merge.

Christopher, feel free to merge.  Only ruby-tilt conflicts with your patch.

-- 
Pierre Neidhardt
https://ambrevar.xyz/
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#34650; Package guix-patches. (Mon, 04 Mar 2019 21:08:02 GMT) Full text and rfc822 format available.

Message #41 received at 34650 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Pierre Neidhardt <mail <at> ambrevar.xyz>
Cc: 34650 <at> debbugs.gnu.org
Subject: Re: [bug#34650] Acknowledgement ([PATCH] ruby-mailcatcher: Draft)
Date: Mon, 04 Mar 2019 21:06:56 +0000
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <mail <at> ambrevar.xyz> writes:

> I've eventually figured that many of the dep requirements in the Ruby community
> follow poor practices, so I've lifter all of them to ">=" and Mailcatcher seems
> to work smoothly still (it starts at least).
>
> I've cleanup up the packages, only the tests are missing.  The rest should be
> ready for merge.
>
> Christopher, feel free to merge.  Only ruby-tilt conflicts with your patch.

I've now merged some of the Ruby patches that I was working on,
including ruby-tilt. It would be good if you could rebase your patches
on top of master, and check if they still work.

I also ran guix lint on the packages and got the following warnings:

gnu/packages/ruby.scm:8431:2: ruby-thin <at> 1.7.2: line 8453 is way too long (91 characters)
gnu/packages/ruby.scm:8491:2: mailcatcher <at> 0.6.5: can be upgraded to 0.7.1
gnu/packages/ruby.scm:8491:2: mailcatcher <at> 0.6.5: line 8510 is way too long (92 characters)
gnu/packages/ruby.scm:8491:2: mailcatcher <at> 0.6.5: line 8514: parentheses feel lonely, move to the previous or next line
gnu/packages/ruby.scm:8491:2: mailcatcher <at> 0.6.5: line 8530 is way too long (96 characters)

I'll have a look at the individual patches as well.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#34650; Package guix-patches. (Mon, 04 Mar 2019 21:22:02 GMT) Full text and rfc822 format available.

Message #44 received at 34650 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Pierre Neidhardt <mail <at> ambrevar.xyz>
Cc: 34650 <at> debbugs.gnu.org
Subject: Re: [bug#34650] [PATCH 3/7] gnu: Add ruby-mustermann.
Date: Mon, 04 Mar 2019 21:20:57 +0000
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <mail <at> ambrevar.xyz> writes:

> * gnu/packages/ruby.scm (ruby-mustermann): New variable.
> ---
>  gnu/packages/ruby.scm | 22 ++++++++++++++++++++++
>  1 file changed, 22 insertions(+)
>
> diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
> index f6b6a19d5..1c10a16c2 100644
> --- a/gnu/packages/ruby.scm
> +++ b/gnu/packages/ruby.scm
> @@ -7708,3 +7708,25 @@ systems that support multiple template engines but don't want to code for each
>  of them individually.")
>      (home-page "https://github.com/rtomayko/tilt/")
>      (license license:expat)))
> +
> +(define-public ruby-mustermann
> +  (package
> +    (name "ruby-mustermann")
> +    (version "1.0.3")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (rubygems-uri "mustermann" version))
> +       (sha256
> +        (base32
> +         "0lycgkmnyy0bf29nnd2zql5a6pcf8sp69g9v4xw0gcfcxgpwp7i1"))))
> +    (build-system ruby-build-system)
> +    (arguments
> +     ;; TODO: Fix tests.
> +     `(#:tests? #f))

Could you include some details of what is broken about the tests? Even
just a bit of the error message if there is one.

Also, I'd usually use a single quote unless a backtick is necessary.

> +    (synopsis "Library implementing patterns that behave like regular expressions")
> +    (description "Given a string pattern, Mustermann will turn it into an
> +object that behaves like a regular expression and has comparable performance
> +characteristics.")
> +    (home-page "https://github.com/sinatra/mustermann")
> +    (license license:expat)))

I'd recommend trying to avoid inserting packages at the end of modules,
or generally in the same place. This can make rebases difficult, and
increase the chances of conflicts when going to apply patches. I
generally try to fit patches in to modules somewhat alphabetically.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#34650; Package guix-patches. (Mon, 04 Mar 2019 21:34:01 GMT) Full text and rfc822 format available.

Message #47 received at 34650 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Pierre Neidhardt <mail <at> ambrevar.xyz>
Cc: 34650 <at> debbugs.gnu.org
Subject: Re: [bug#34650] [PATCH 5/7] gnu: Add ruby-thin.
Date: Mon, 04 Mar 2019 21:33:49 +0000
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <mail <at> ambrevar.xyz> writes:

> * gnu/packages/ruby.scm (ruby-thin): New variable.
> ---
>  gnu/packages/ruby.scm | 29 +++++++++++++++++++++++++++++
>  1 file changed, 29 insertions(+)
>
> diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
> index 78d113af7..9d3c4b246 100644
> --- a/gnu/packages/ruby.scm
> +++ b/gnu/packages/ruby.scm
> @@ -7754,3 +7754,32 @@ characteristics.")
>  minimal effort.")
>      (home-page "http://sinatrarb.com/")
>      (license license:expat)))
> +
> +(define-public ruby-thin
> +  (package
> +    (name "ruby-thin")
> +    (version "1.7.2")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (rubygems-uri "thin" version))
> +       (sha256
> +        (base32
> +         "0nagbf9pwy1vg09k6j4xqhbjjzrg5dwzvkn4ffvlj76fsn6vv61f"))))
> +    (build-system ruby-build-system)
> +    (arguments
> +     ;; TODO: Fix tests.
> +     `(#:tests? #f))

As with the other package, it would be good to put at least some
information here about what the problem is.

> +    (propagated-inputs
> +     `(("ruby-daemons" ,ruby-daemons)
> +       ("ruby-eventmachine" ,ruby-eventmachine)
> +       ("ruby-rack" ,ruby-rack)))
> +    (synopsis "Thin and fast web server for Ruby")
> +    (description "Thin is a Ruby web server that glues together 3 Ruby libraries:
> +@itemize
> +@item the Mongrel parser,
> +@item Event Machine, a network I/O library with high scalability, performance and stability
> +@item Rack, a minimal interface between webservers and Ruby frameworks
> +@end itemize\n")
> +    (home-page "http://code.macournoyer.com/thin/")
> +    (license license:ruby)))
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#34650; Package guix-patches. (Mon, 04 Mar 2019 21:44:02 GMT) Full text and rfc822 format available.

Message #50 received at 34650 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Pierre Neidhardt <mail <at> ambrevar.xyz>
Cc: 34650 <at> debbugs.gnu.org
Subject: Re: [bug#34650] [PATCH 6/7] gnu: Add ruby-skinny.
Date: Mon, 04 Mar 2019 21:43:09 +0000
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <mail <at> ambrevar.xyz> writes:

> * gnu/packages/ruby.scm (ruby-skinny): New variable.
> ---
>  gnu/packages/ruby.scm | 31 +++++++++++++++++++++++++++++++
>  1 file changed, 31 insertions(+)
>
> diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
> index 9d3c4b246..8cb170e17 100644
> --- a/gnu/packages/ruby.scm
> +++ b/gnu/packages/ruby.scm
> @@ -7783,3 +7783,34 @@ minimal effort.")
>  @end itemize\n")
>      (home-page "http://code.macournoyer.com/thin/")
>      (license license:ruby)))
> +
> +(define-public ruby-skinny
> +  (package
> +    (name "ruby-skinny")
> +    (version "0.2.4")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (rubygems-uri "skinny" version))
> +       (sha256
> +        (base32
> +         "1y3yvx88ylgz4d2s1wskjk5rkmrcr15q3ibzp1q88qwzr5y493a9"))))
> +    (build-system ruby-build-system)
> +    (arguments
> +     ;; TODO: Grab from GitHub to get tests?
> +     `(#:tests? #f

If there are no tests, I'd just put:

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

> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-before 'build 'patch-gemspec
> +           (lambda _
> +             (substitute* ".gemspec"
> +               (("<eventmachine>.freeze, \\[\\\"~> 1.0.0\"")
> +                "<eventmachine>, [\">= 1.0.0\"")
> +               (("<thin>.freeze, \\[\\\"< 1.7\", ") "<thin>, [")))))))

Adding a explicit #t at the end of this phase.

> +    (propagated-inputs
> +     `(("ruby-eventmachine" ,ruby-eventmachine)
> +       ("ruby-thin" ,ruby-thin)))
> +    (synopsis "Simple, upgradable WebSockets for Ruby Thin")
> +    (description "Simple, upgradable WebSockets for Ruby Thin.")

The synopsis and description are the same. Even if there is no more
information to add, it would be good to at least provide a slightly
different description.

> +    (home-page "https://github.com/sj26/skinny")
> +    (license license:expat)))
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#34650; Package guix-patches. (Mon, 04 Mar 2019 21:51:02 GMT) Full text and rfc822 format available.

Message #53 received at 34650 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Pierre Neidhardt <mail <at> ambrevar.xyz>
Cc: 34650 <at> debbugs.gnu.org
Subject: Re: [bug#34650] [PATCH 7/7] gnu: Add mailcatcher.
Date: Mon, 04 Mar 2019 21:50:05 +0000
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <mail <at> ambrevar.xyz> 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)))
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#34650; Package guix-patches. (Tue, 05 Mar 2019 15:31:04 GMT) Full text and rfc822 format available.

Message #56 received at 34650 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <pierre <at> atlas.engineer>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34650 <at> debbugs.gnu.org
Subject: Re: [bug#34650] [PATCH 7/7] gnu: Add mailcatcher.
Date: Tue, 05 Mar 2019 10:09:27 +0100
Thanks for the review!

> I'd recommend trying to avoid inserting packages at the end of modules,
> or generally in the same place. This can make rebases difficult, and
> increase the chances of conflicts when going to apply patches. I
> generally try to fit patches in to modules somewhat alphabetically.

You are very true here, but currently ruby.scm seems to follow no order
whatsoever.  Not sure where to insert the new packages then.

-- 
Pierre Neidhardt
https://ambrevar.xyz/




Information forwarded to guix-patches <at> gnu.org:
bug#34650; Package guix-patches. (Tue, 05 Mar 2019 15:31:04 GMT) Full text and rfc822 format available.

Message #59 received at 34650 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <pierre <at> atlas.engineer>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34650 <at> debbugs.gnu.org
Subject: Re: [bug#34650] Acknowledgement ([PATCH] ruby-mailcatcher: Draft)
Date: Tue, 05 Mar 2019 10:18:46 +0100
> gnu/packages/ruby.scm:8431:2: ruby-thin <at> 1.7.2: line 8453 is way too long (91 characters)
> gnu/packages/ruby.scm:8491:2: mailcatcher <at> 0.6.5: can be upgraded to 0.7.1
> gnu/packages/ruby.scm:8491:2: mailcatcher <at> 0.6.5: line 8510 is way too long (92 characters)
> gnu/packages/ruby.scm:8491:2: mailcatcher <at> 0.6.5: line 8514: parentheses feel lonely, move to the previous or next line
> gnu/packages/ruby.scm:8491:2: mailcatcher <at> 0.6.5: line 8530 is way too long (96 characters)

Funny, I did lint the packages and I don't get the long line warnings.  Any clue
what's going on?

-- 
Pierre Neidhardt
https://ambrevar.xyz/




Information forwarded to guix-patches <at> gnu.org:
bug#34650; Package guix-patches. (Tue, 05 Mar 2019 15:31:05 GMT) Full text and rfc822 format available.

Message #62 received at 34650 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <pierre <at> atlas.engineer>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34650 <at> debbugs.gnu.org
Subject: Re: [bug#34650] [PATCH 7/7] gnu: Add mailcatcher.
Date: Tue, 05 Mar 2019 11:27:44 +0100
I've taken all your comments into accounts (hopefully).
I did not manage to run the test suite for mailcatcher.  I've added a
comment explaining what's going on, but I don't know enough Ruby to fix
it properly.

I've pushed to master.

Thanks again for your review!

-- 
Pierre Neidhardt
https://ambrevar.xyz/




Information forwarded to guix-patches <at> gnu.org:
bug#34650; Package guix-patches. (Tue, 05 Mar 2019 18:52:02 GMT) Full text and rfc822 format available.

Message #65 received at 34650 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Pierre Neidhardt <pierre <at> atlas.engineer>
Cc: 34650 <at> debbugs.gnu.org
Subject: Re: [bug#34650] [PATCH 7/7] gnu: Add mailcatcher.
Date: Tue, 05 Mar 2019 18:51:02 +0000
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <pierre <at> atlas.engineer> writes:

> Thanks for the review!
>
>> I'd recommend trying to avoid inserting packages at the end of modules,
>> or generally in the same place. This can make rebases difficult, and
>> increase the chances of conflicts when going to apply patches. I
>> generally try to fit patches in to modules somewhat alphabetically.
>
> You are very true here, but currently ruby.scm seems to follow no order
> whatsoever.  Not sure where to insert the new packages then.

Well, it's in no strict order. One approach I normally use is to start
at the top and work my way down, and fit packages in just below the
first thing that's before them in the alphabet.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#34650; Package guix-patches. (Tue, 05 Mar 2019 18:53:01 GMT) Full text and rfc822 format available.

Message #68 received at 34650 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Pierre Neidhardt <pierre <at> atlas.engineer>
Cc: 34650 <at> debbugs.gnu.org
Subject: Re: [bug#34650] Acknowledgement ([PATCH] ruby-mailcatcher: Draft)
Date: Tue, 05 Mar 2019 18:51:58 +0000
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <pierre <at> atlas.engineer> writes:

>> gnu/packages/ruby.scm:8431:2: ruby-thin <at> 1.7.2: line 8453 is way too long (91 characters)
>> gnu/packages/ruby.scm:8491:2: mailcatcher <at> 0.6.5: can be upgraded to 0.7.1
>> gnu/packages/ruby.scm:8491:2: mailcatcher <at> 0.6.5: line 8510 is way too long (92 characters)
>> gnu/packages/ruby.scm:8491:2: mailcatcher <at> 0.6.5: line 8514: parentheses feel lonely, move to the previous or next line
>> gnu/packages/ruby.scm:8491:2: mailcatcher <at> 0.6.5: line 8530 is way too long (96 characters)
>
> Funny, I did lint the packages and I don't get the long line warnings.  Any clue
> what's going on?

No, I'm unsure why those warnings wouldn't appear.
[signature.asc (application/pgp-signature, inline)]

bug closed, send any further explanations to 34650 <at> debbugs.gnu.org and Pierre Neidhardt <mail <at> ambrevar.xyz> Request was from Pierre Neidhardt <mail <at> ambrevar.xyz> to control <at> debbugs.gnu.org. (Sat, 16 Mar 2019 14:06:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 14 Apr 2019 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 11 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.