From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andy Wingo Subject: Re: [PATCH] Add procmail Date: Mon, 29 Feb 2016 14:54:09 +0100 Message-ID: <87povffwqm.fsf@igalia.com> References: <87io1aqzrd.wl-lgradl@openmailbox.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:59363) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aaOHn-0000St-1p for guix-devel@gnu.org; Mon, 29 Feb 2016 08:54:56 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aaOHj-0002iW-MW for guix-devel@gnu.org; Mon, 29 Feb 2016 08:54:54 -0500 Received: from pb-sasl0.int.icgroup.com ([208.72.237.25]:60920 helo=sasl.smtp.pobox.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aaOHj-0002gR-Hs for guix-devel@gnu.org; Mon, 29 Feb 2016 08:54:51 -0500 In-Reply-To: <87io1aqzrd.wl-lgradl@openmailbox.org> (Lukas Gradl's message of "Sat, 27 Feb 2016 03:16:38 -0600") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Lukas Gradl Cc: guix-devel@gnu.org Hi Lukas, On Sat 27 Feb 2016 10:16, Lukas Gradl writes: > I am new to Guix and Scheme, so I would very much welcome any comments > you might have. Welcome :) > + ;; the following patch fixes an ambiguous definition of > + ;; getline() in formail.c. The patch is provided by Debian as > + ;; patch 24 We tend to prefer full sentences in comments like this one, including ending punctuation. Also as a GNU-ism, we are in the church of two-spaces-after-full-stops :) > + (arguments > + `(#:phases (alist-replace > + 'configure > + (lambda _ > + (substitute* "Makefile" > + (("/bin/sh") > + (which "sh"))) > + (substitute* "Makefile" > + (("/usr") > + (assoc-ref %outputs "out"))) > + (substitute* "Makefile" > + (("/bin/rm") > + (which "rm")))) > + %standard-phases) There are many packages that still use this syntax, but the current Best Practice=E2=84=A2 is to use `modify-phases'. Search Guix for some examples. Also, substitute* can do all these clauses in one: (substitute* "Makefile" (("/bin/sh") (which "sh")) (("/usr") (assoc-ref %outputs "out")) (("/bin/rm") (which "rm"))) The * in substitute* is like the * in let*, meaning the substitutions will be done in order. Also, the return value of substitute* is unspecified (see the Guile manual for more), so be sure to return a true value from this lambda by just ending the lambda with #t. > + #:tests? #f)) ; no tests Please mention why the tests are disabled. > + (build-system gnu-build-system) > + (inputs `(("glibc" ,glibc) > + ("exim" ,exim))) > + (home-page "http://www.procmail.org/") > + (synopsis "Versatile mail delivery agent (MDA)") > + (description "Procmail is a mail delivery agent (MDA) featuring supp= ort > +for a variety of mailbox formats such as mbox, mh and maildir. Incoming= mail > +can be sorted into separate files/directories and arbitrary commands can= be > +executed on mail arrival. Procmail is considered stable, but is no long= er > +maintained.") > + (license gpl2+))) ; procmail allows to choose the > + ; nonfree Artistic License 1.0 > + ; as alternative to the GPL2+. > + ; This option is not listed here. This sort of a comment is best done as a two-semicolon comment, I think. Looking pretty good! Andy