From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marius Bakke Subject: Re: 02/02: gnu: certbot: Share python-acme's arguments. Date: Mon, 10 Apr 2017 00:48:27 +0200 Message-ID: <87h91xtcxw.fsf@fastmail.com> References: <20170408172501.10323.59373@vcs0.savannah.gnu.org> <20170408172502.6332922054@vcs0.savannah.gnu.org> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:39904) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cxLdJ-0001No-Od for guix-devel@gnu.org; Sun, 09 Apr 2017 18:48:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cxLdG-0000au-Lw for guix-devel@gnu.org; Sun, 09 Apr 2017 18:48:33 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:44260) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cxLdF-0000ae-S1 for guix-devel@gnu.org; Sun, 09 Apr 2017 18:48:30 -0400 In-Reply-To: <20170408172502.6332922054@vcs0.savannah.gnu.org> 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" To: Leo Famulari , guix-devel@gnu.org --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Leo Famulari writes: > lfam pushed a commit to branch master > in repository guix. > > commit f26d6e4e9c5efbe060697f54456cfc9144350114 > Author: Leo Famulari > Date: Sat Apr 8 12:45:16 2017 -0400 > > gnu: certbot: Share python-acme's arguments. >=20=20=20=20=20 > * gnu/packages/tls.scm (certbot)[arguments]: Use substitute-keyword-a= rguments to > inherit from python-acme. > --- > gnu/packages/tls.scm | 39 +++++++++++++++------------------------ > 1 file changed, 15 insertions(+), 24 deletions(-) > > diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm > index ac5e406..08cc607 100644 > --- a/gnu/packages/tls.scm > +++ b/gnu/packages/tls.scm > @@ -478,8 +478,6 @@ security, and applying best practice development proc= esses.") > "05cqadwzgfcianw3v0qxwja65dxnzw429f7dk8w0mnh21pib72bl")))) > (build-system python-build-system) >=20=20 > - ;; TODO factorize the 'docs' phase and share arguments between pytho= n-acme > - ;; and certbot. > (arguments > `(#:phases > (modify-phases %standard-phases > @@ -541,28 +539,21 @@ security, and applying best practice development pr= ocesses.") > (build-system python-build-system) > (arguments > `(#:python ,python-2 > - #:phases > - (modify-phases %standard-phases > - (add-after 'unpack 'patch-dependency > - ;; This module is part of the Python standard library, so we = don't > - ;; need to use an external package. > - ;; https://github.com/certbot/certbot/pull/2249 > - (lambda _ > - (substitute* "setup.py" > - (("'argparse',") "")) > - #t)) > - (add-after 'build 'docs > - (lambda* (#:key outputs #:allow-other-keys) > - (let* ((out (assoc-ref outputs "out")) > - (man1 (string-append out "/share/man/man1")) > - (man7 (string-append out "/share/man/man7")) > - (info (string-append out "/info"))) > - (and > - (zero? (system* "make" "-C" "docs" "man" "info")) > - (install-file "docs/_build/texinfo/Certbot.info" info) > - (install-file "docs/_build/man/certbot.1" man1) > - (install-file "docs/_build/man/certbot.7" man7) > - #t))))))) > + ,@(substitute-keyword-arguments (package-arguments python-acme) > + ((#:phases phases) > + `(modify-phases ,phases > + (replace 'docs > + (lambda* (#:key outputs #:allow-other-keys) > + (let* ((out (assoc-ref outputs "out")) > + (man1 (string-append out "/share/man/man1")) > + (man7 (string-append out "/share/man/man7")) > + (info (string-append out "/info"))) > + (and > + (zero? (system* "make" "-C" "docs" "man" "info")) > + (install-file "docs/_build/texinfo/Certbot.info" i= nfo) > + (install-file "docs/_build/man/certbot.1" man1) > + (install-file "docs/_build/man/certbot.7" man7) > + #t))))))))) Not to pick on this patch, since this problem was present before..but: "install-file" has an unspecified return value, so I don't think it's safe to use in an "and" block. The attached patch should be more correct. WDYT? --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-gnu-certbot-python-acme-Build-documentation-in-separ.patch Content-Transfer-Encoding: quoted-printable From=20e3bd8d6df932986c35a2f8088c491eb6f89ee6d5 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 10 Apr 2017 00:26:45 +0200 Subject: [PATCH] gnu: certbot, python-acme: Build documentation in separate phase. * gnu/packages/tls.scm (python-acme)[arguments]<:phases>: Add 'build-documentation' phase. Rename 'docs' phase to 'install-documentation'. (certbot)[arguments]<:phases>: Adjust accordingly. =2D-- gnu/packages/tls.scm | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 08cc6075b..7b7de01cb 100644 =2D-- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -489,15 +489,17 @@ security, and applying best practice development proc= esses.") (substitute* "setup.py" (("'argparse',") "")) #t)) =2D (add-after 'build 'docs + (add-after 'build 'build-documentation + (lambda _ + (zero? (system* "make" "-C" "docs" "man" "info")))) + (add-after 'install 'install-documentation (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (man (string-append out "/share/man/man1")) (info (string-append out "/info"))) =2D (and (zero? (system* "make" "-C" "docs" "man" "info")) =2D (install-file "docs/_build/texinfo/acme-python.info"= info) =2D (install-file "docs/_build/man/acme-python.1" man) =2D #t))))))) + (install-file "docs/_build/texinfo/acme-python.info" info) + (install-file "docs/_build/man/acme-python.1" man) + #t)))))) ;; TODO: Add optional inputs for testing. (native-inputs `(("python-mock" ,python-mock) @@ -542,18 +544,16 @@ security, and applying best practice development proc= esses.") ,@(substitute-keyword-arguments (package-arguments python-acme) ((#:phases phases) `(modify-phases ,phases =2D (replace 'docs + (replace 'install-documentation (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (man1 (string-append out "/share/man/man1")) (man7 (string-append out "/share/man/man7")) (info (string-append out "/info"))) =2D (and =2D (zero? (system* "make" "-C" "docs" "man" "info")) =2D (install-file "docs/_build/texinfo/Certbot.info" i= nfo) =2D (install-file "docs/_build/man/certbot.1" man1) =2D (install-file "docs/_build/man/certbot.7" man7) =2D #t))))))))) + (install-file "docs/_build/texinfo/Certbot.info" info) + (install-file "docs/_build/man/certbot.1" man1) + (install-file "docs/_build/man/certbot.7" man7) + #t)))))))) ;; TODO: Add optional inputs for testing. (native-inputs `(("python2-nose" ,python2-nose) =2D-=20 2.12.2 --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAljqujsACgkQoqBt8qM6 VPoapwf9HrMTVp19AiCaN61gkX6kLsWN3UW9wu3i6lsc5jTeHL+nzQyZjuHyyTka 4Op73Z/aVWIKc1Pcm+4rdMcBbo8KhGmURFLxUccjfSHU4VhFM7RQ4H4aK75KEQ7E trRBlbkeo41mweQQbGjDGpbgilhVXeUmVn7n9Cc62vdKrsvm5/6p0J+LQPJugsLb T8DPNQEl99QUaj3ftFSIcOcI7FroasYoWHQCzoc0tyTvWoV8Ljo9FGQ+HYRNEMKT OlHhm6RsPO0bwWwP/CT4JXJVEaEjOcd0/eJsBY0VfF/ZE7lHzvkwxg0v3lDiul8+ AUI38NNRaDvyQmyq4CZMRiPg7aAmUw== =Q3ro -----END PGP SIGNATURE----- --==-=-=--