Subject: Re: [bug#28151] [PATCH] gnu: Add honcho.

From: Stefan Reichör <[email-masked]>
Date: Wed, 23 Aug 2017 22:23:12 +0200

Marius Bakke <[email-masked]> writes:

>>
>> Both ways have the same effect: They don't collect any tests:
>> ,----
>> | platform linux -- Python 3.5.3 -- py-1.4.32 -- pytest-2.7.3 -- /gnu/store/bf54hnwd8mb63zmssc23fwslf5zvxpxs-python-wrapper-3.5.3/bin/python
>> | rootdir: /tmp/guix-build-python-honcho-1.0.1.drv-0/honcho-1.0.1, inifile: 
>> | collecting ... collected 0 items
>> `----
>
> Aaah, sorry.  I was browsing the GitHub source code and failed to notice
> that the distribution tarball on PyPi does not contain any tests.
>
> So we can either switch to using the GitHub snapshots so that we can
> notice breakage early, or lose tests but gain the integrity guarantees
> from using the PGP-signed tarball on PyPi.
>
> I don't really have a strong preference, but it's worth creating an
> upstream issue in either case IMO.  Ideally we'd have both.
>
> I'll let you be the judge, being the end user and all :)

I switched to the github tarball and I was able to get the testsuite to pass.

Attached is my current attempt.

Stefan.

>From dc289a9c328f6a8f77e88decfa93695da4c735f6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Reich=C3=B6r?= <[email-masked]>
Date: Wed, 23 Aug 2017 22:19:57 +0200
Subject: [PATCH] gnu: Add honcho.

* gnu/packages/python.scm (python-honcho): New variable.
---
 gnu/packages/python.scm | 47 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index d328178..9578f1c 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -5226,6 +5226,53 @@ cluster without needing to write any wrapper code yourself.")
 (define-public python2-gridmap
   (package-with-python2 python-gridmap))
 
+(define-public python-honcho
+  (package
+    (name "python-honcho")
+    (version "1.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://github.com/nickstenning/honcho/archive/v"
+             version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0zizn61n5z5hq421hkypk9pw8s6fpxw30f4hsg7k4ivwzy3gjw9j"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-pytest" ,python-pytest-3.0)
+       ("python-mock" ,python-mock)
+       ("python-tox" ,python-tox)
+       ("which" ,which))) ;for tests
+    (propagated-inputs
+     `(("python-jinja2" ,python-jinja2)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (delete 'check)
+         (add-after 'install 'check
+           (lambda* (#:key outputs inputs #:allow-other-keys)
+             ;; fix honcho path in testsuite
+             (substitute* "tests/conftest.py"
+               (("'honcho'") (string-append "'" (assoc-ref outputs "out")
+                                            "/bin/honcho" "'")))
+             ;; It's easier to run tests after install.
+             ;; Make installed package available for running the tests
+             (add-installed-pythonpath inputs outputs)
+             (zero? (system* "py.test" "-v")))))))
+    (home-page "https://github.com/nickstenning/honcho")
+    (synopsis "Manage Procfile-based applications")
+    (description
+      "A Procfile is a file which describes how to run an application
+consisting of serveral processes. honcho starts all listed processes.
+The output of all running processes is collected by honcho and
+displayed.")
+    (license license:expat)))
+
+(define-public python2-honcho
+  (package-with-python2 python-honcho))
+
 (define-public python-pexpect
   (package
     (name "python-pexpect")
-- 
2.7.4