summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2022-06-21 16:18:09 +0200
committerMarius Bakke <marius@gnu.org>2022-06-21 17:30:44 +0200
commit705c609048a221a76394c5a0b477b348e08db6ef (patch)
treee8af8032045913d969e368583fa135cc3df26087 /gnu
parentc7738ffcadb6b8348a520d745a1eb7e91ee28524 (diff)
downloadguix-705c609048a221a76394c5a0b477b348e08db6ef.tar.gz
gnu: Add python-autopage.
* gnu/packages/python-xyz.scm (python-autopage): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/python-xyz.scm52
1 files changed, 52 insertions, 0 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 72d144fdcf..a07e130e8a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -6668,6 +6668,58 @@ multivalue dictionary that retains the order of insertions and deletions.")
 run simple @code{argparse} parsers from function signatures.")
     (license license:lgpl3+)))
 
+(define-public python-autopage
+  (package
+    (name "python-autopage")
+    (version "0.5.1")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "autopage" version))
+              (sha256
+               (base32
+                "169ixll1ncm2a2pcc86665ikjv2lrzs10p6c1w4yj55p3gk3xgh1"))))
+    (build-system python-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          ;; Do a manual PEP 517 style build/install procedure until the
+          ;; python-build-system overhaul is merged.
+          (replace 'build
+            (lambda _
+              ;; ZIP does not support timestamps before 1980.
+              (let ((circa-1980 (* 10 366 24 60 60)))
+                (setenv "SOURCE_DATE_EPOCH" (number->string circa-1980))
+                (invoke "python" "-m" "build" "--wheel" "--no-isolation" "."))))
+          (add-before 'check 'disable-e2e-tests
+            (lambda _
+              ;; These tests rely on KeyboardInterrupts which do not
+              ;; work in the build container.
+              (delete-file "autopage/tests/test_end_to_end.py")))
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (invoke "pytest" "-vv"))))
+          (replace 'install
+            (lambda _
+              (let ((whl (car (find-files "dist" "\\.whl$"))))
+                (invoke "pip" "--no-cache-dir" "--no-input"
+                        "install" "--no-deps" "--prefix" #$output whl)))))))
+    (native-inputs
+     (list python-pypa-build
+           python-setuptools
+           python-wheel
+           ;; For tests.
+           python-fixtures
+           python-pytest
+           python-testtools))
+    (home-page "https://github.com/zaneb/autopage")
+    (synopsis "Automatic paging for console output")
+    (description
+     "Autopage is a Python library to automatically display terminal output
+from a program in a @dfn{pager} such as @command{less}.")
+    (license license:asl2.0)))
+
 (define-public python-autopep8
   (package
     (name "python-autopep8")