summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2018-11-24 02:33:40 +0100
committerMarius Bakke <mbakke@fastmail.com>2018-11-24 15:57:56 +0100
commit15b5f9f718e29ccd884658bb8cfbd4104d9c4026 (patch)
tree323d375b47b51dff9f6be435e57b2f6418e8b612 /gnu
parent59a1aa595bfcd997ae9186cbc644df436afed97c (diff)
downloadguix-15b5f9f718e29ccd884658bb8cfbd4104d9c4026.tar.gz
gnu: python-cheetah: Update to 3.1.0.
* gnu/packages/python.scm (python2-cheetah): Rename to ...
(python-cheetah): ... this.  Update to 3.1.0.
[arguments]: Add custom 'check' phase.
[propagated-inputs]: Change PYTHON2-MARKDOWN to PYTHON-MARKDOWN.
(python2-cheetah): Rewrite in terms of PACKAGE-WITH-PYTHON2.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/python.scm47
1 files changed, 40 insertions, 7 deletions
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index e5e02cf4a0..61fcf282ee 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -10698,22 +10698,52 @@ possible on all supported Python versions.")
       (propagated-inputs `(("python2-bz2file" ,python2-bz2file)
                            ,@(package-propagated-inputs base))))))
 
-(define-public python2-cheetah
+(define-public python-cheetah
   (package
-    (name "python2-cheetah")
-    (version "2.4.4")
+    (name "python-cheetah")
+    (version "3.1.0")
     (source
       (origin
         (method url-fetch)
-        (uri (pypi-uri "Cheetah" version))
+        (uri (pypi-uri "Cheetah3" version))
         (sha256
           (base32
-            "0l5mm4lnysjkzpjr95q5ydm9xc8bv43fxmr79ypybrf1y0lq4c5y"))))
+           "1ihag9cxll6b86fc8v5lkhmr3brdbi4yiz16zpgw79yylmv8fgr9"))))
     (build-system python-build-system)
     (arguments
-     `(#:python ,python-2))
+     `(#:modules ((guix build utils)
+                  (guix build python-build-system)
+                  (ice-9 ftw)
+                  (srfi srfi-1)
+                  (srfi srfi-26))
+       #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'use-absolute-python
+                    (lambda _
+                      (substitute* "Cheetah/CheetahWrapper.py"
+                        (("#!/usr/bin/env python")
+                         (string-append "#!" (which "python"))))
+                      #t))
+                  (replace 'check
+                    (lambda _
+                      (let ((cwd (getcwd)))
+                        (setenv "PYTHONPATH"
+                                (string-append
+                                 cwd "/build/"
+                                 (find (cut string-prefix? "lib" <>)
+                                       (scandir (string-append cwd "/build")))
+                                 ":" (getenv "PYTHONPATH")))
+                        (setenv "PATH"
+                                (string-append (getenv "PATH")
+                                               ":" cwd "/bin"))
+                        (setenv "TMPDIR" "/tmp")
+
+                        (substitute* "Cheetah/Tests/Test.py"
+                          (("unittest.TextTestRunner\\(\\)")
+                           "unittest.TextTestRunner(verbosity=2)"))
+
+                        (invoke "python" "Cheetah/Tests/Test.py")))))))
     (propagated-inputs
-     `(("python2-markdown" ,python2-markdown)))
+     `(("python-markdown" ,python-markdown)))    ;optional
     (home-page "http://cheetahtemplate.org/")
     (synopsis "Template engine")
     (description "Cheetah is a text-based template engine and Python code
@@ -10742,6 +10772,9 @@ Features:
 @end enumerate")
     (license (license:x11-style "file://LICENSE"))))
 
+(define-public python2-cheetah
+  (package-with-python2 python-cheetah))
+
 (define-public python-dulwich
   (package
     (name "python-dulwich")