[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