guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2] gnu: Add python-odfpy.


From: Marius Bakke
Subject: Re: [PATCH v2] gnu: Add python-odfpy.
Date: Fri, 02 Sep 2016 12:55:01 +0100

Alex Kost <address@hidden> writes:

> Marius Bakke (2016-09-01 18:41 +0300) wrote:
>
>> From f1bccf9bf26088107b6fec31eece30676d5a362f Mon Sep 17 00:00:00 2001
>> From: Marius Bakke <address@hidden>
>> Date: Wed, 17 Aug 2016 17:45:24 +0100
>> Subject: [PATCH] gnu: Add python-odfpy.
>>
>> * gnu/packages/python.scm (python-odfpy, python2-odfpy): New variables.
> [...]
>> +    (arguments
>> +     `(#:phases
>> +       (modify-phases %standard-phases
>> +         (replace 'check
>> +           ;; The test runner invokes python2 and python3 for test*.py.
>> +           ;; To avoid having both in inputs, we replicate it here.
>> +           (lambda _
>> +             (for-each (lambda (test-file)
>
> 'every' procedure should be used here instead: 'for-each' is for side
> effects only, its returned value is unspecified; and with 'every', the
> check phase will fail if any of the tests fails.

Thanks Alex, that's really useful to know.

I've updated the patch.

>From 99216a79ddd817ce7be9da451c0a1b5d9ef73f46 Mon Sep 17 00:00:00 2001
From: Marius Bakke <address@hidden>
Date: Wed, 17 Aug 2016 17:45:24 +0100
Subject: [PATCH] gnu: Add python-odfpy.

* gnu/packages/python.scm (python-odfpy, python2-odfpy): New variables.
---
 gnu/packages/python.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 8b52548..33674fa 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -26,6 +26,7 @@
 ;;; Copyright © 2016 ng0 <address@hidden>
 ;;; Copyright © 2016 Dylan Jeffers <address@hidden@openmailbox.org>
 ;;; Copyright © 2016 David Craven <address@hidden>
+;;; Copyright © 2016 Marius Bakke <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -10241,3 +10242,39 @@ time by mocking the datetime module.")
       (native-inputs
        `(("python2-setuptools" ,python2-setuptools)
          ,@(package-native-inputs base))))))
+
+(define-public python-odfpy
+  (package
+    (name "python-odfpy")
+    (version "1.3.3")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "odfpy" version))
+              (sha256
+               (base32
+                "1a6ms0w9zfhhkqhvrnynwwbxrivw6hgjc0s5k7j06npc7rq0blxw"))))
+    (arguments
+     `(#:modules ((srfi srfi-1)
+                  (guix build python-build-system)
+                  (guix build utils))
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           ;; The test runner invokes python2 and python3 for test*.py.
+           ;; To avoid having both in inputs, we replicate it here.
+           (lambda _
+             (every (lambda (test-file)
+                      (zero? (system* "python" test-file)))
+                    (find-files "tests" "^test.*\\.py$")))))))
+    (build-system python-build-system)
+    (home-page "https://github.com/eea/odfpy";)
+    (synopsis "Python API and tools to manipulate OpenDocument files")
+    (description "Collection of libraries and utility programs written in
+Python to manipulate OpenDocument 1.2 files.")
+    (license
+     ;; The software is mainly dual GPL2+ and ASL2.0, but includes a
+     ;; number of files with other licenses.
+     (list license:gpl2+ license:asl2.0 license:lgpl2.1+ 
license:cc-by-sa3.0))))
+
+(define-public python2-odfpy
+  (package-with-python2 python-odfpy))
-- 
2.9.3


reply via email to

[Prev in Thread] Current Thread [Next in Thread]