Patchwork [3/6] gnu: Add python-orderedmultidict.

login
register
mail settings
Submitter Danny Milosavljevic
Date Nov. 3, 2016, 10:56 a.m.
Message ID <20161103105604.2937-4-dannym@scratchpost.org>
Download mbox | patch
Permalink /patch/17153/
State New
Headers show

Comments

Danny Milosavljevic - Nov. 3, 2016, 10:56 a.m.
* gnu/packages/python.scm (python-orderedmultidict, python2-orderedmultidict): New variables.
---
 gnu/packages/python.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)
Hartmut Goebel - Nov. 3, 2016, 9:58 p.m.
Am 03.11.2016 um 11:56 schrieb Danny Milosavljevic:
> +    (arguments
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         (add-after 'unpack 'fix-tests
> +           (lambda _
> +             (and (zero? (system* "touch" "tests/__init__.py"))))))))

Maybe add a note like: "The packages uses nosetest for running the
tests. Adding this initfile allows to run the test suite without
requiring nosetest."

> +    (synopsis "Python Ordered Multivalue Dictionary - omdict.")
Trailing period
> +    (description "This package contains Ordered Multivalue Dictionary - omdict
> +- for Python.")

Please be more verbose here. Maybe the description could be enhanced
using text from the setup.py:

    A multivalue dictionary is a dictionary that can store multiple
    values for the
    same key. An ordered multivalue dictionary is a multivalue
    dictionary that
    retains the order of insertions and deletions.

Patch

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 86436fd..aee97cb 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -3857,6 +3857,43 @@  simple and Pythonic domain language.")
        `(("python2-setuptools" ,python2-setuptools)
          ,@(package-native-inputs base))))))
 
+(define-public python-orderedmultidict
+  (package
+    (name "python-orderedmultidict")
+    (version "0.7.10")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "orderedmultidict" version))
+        (sha256
+          (base32
+            "1gvqk0jd432wsn88kq4svad68xz3r012jfpnhh9in7bqrkyxidky"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-tests
+           (lambda _
+             (and (zero? (system* "touch" "tests/__init__.py"))))))))
+    (propagated-inputs
+     `(("python-six" ,python-six)))
+    (native-inputs
+     `(("python-pycodestyle" ,python-pycodestyle)))
+    (home-page "https://github.com/gruns/orderedmultidict")
+    (synopsis "Python Ordered Multivalue Dictionary - omdict.")
+    (description "This package contains Ordered Multivalue Dictionary - omdict
+- for Python.")
+    (license license:unlicense)
+    (properties `((python2-variant . ,(delay python2-orderedmultidict))))))
+
+(define-public python2-orderedmultidict
+  (let ((base (package-with-python2 (strip-python2-variant
+                                     python-orderedmultidict))))
+    (package (inherit base)
+      (native-inputs
+       `(("python2-setuptools" ,python2-setuptools)
+         ,@(package-native-inputs base))))))
+
 (define-public python-sqlalchemy-utils
   (package
     (name "python-sqlalchemy-utils")