Marius Bakke (2016-09-01 18:41 +0300) wrote: > From f1bccf9bf26088107b6fec31eece30676d5a362f Mon Sep 17 00:00:00 2001 > From: Marius Bakke <mba...@fastmail.com> > 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. And since 'every' is from (srfi srfi-1) module, we need to use it in 'arguments', like this: #:modules ((srfi srfi-1) (guix build python-build-system) (guix build utils)) The rest looks good to me, so if there will be no other comments, I will commit it in several days, thanks! > + (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 different licenses. > + (list license:gpl2+ license:asl2.0 license:lgpl2.1+ > license:cc-by-sa3.0)))) > + > +(define-public python2-odfpy > + (package-with-python2 python-odfpy)) -- Alex