gnu: python-cffi: Update to 1.10.0.
authorMarius Bakke <mbakke@fastmail.com>
Sun, 2 Jul 2017 23:22:52 +0000 (01:22 +0200)
committerMarius Bakke <mbakke@fastmail.com>
Tue, 4 Jul 2017 00:52:25 +0000 (02:52 +0200)
* gnu/packages/python.scm (python-cffi): Update to 1.10.0.
[arguments]<#:phases>: Patch distutils.ccompiler call to use "gcc". Patch
another hard-coded cc invocation. Adjust `py.test` invocation per README.

gnu/packages/python.scm

index a55cdaf..d190223 100644 (file)
@@ -4763,13 +4763,13 @@ a front-end for C compilers or analysis tools.")
 (define-public python-cffi
   (package
     (name "python-cffi")
-    (version "1.4.2")
+    (version "1.10.0")
     (source
      (origin
       (method url-fetch)
       (uri (pypi-uri "cffi" version))
       (sha256
-       (base32 "161rj52rzi3880lij17d6i9kvgkiwjilrqjs8405k8sf6ryif7cg"))))
+       (base32 "1mffyilq4qycm8gs4wkgb18rnqil8a9blqq77chdlshzxc8jkc5k"))))
     (build-system python-build-system)
     (outputs '("out" "doc"))
     (inputs
@@ -4794,7 +4794,18 @@ a front-end for C compilers or analysis tools.")
                       (getenv "PYTHONPATH")
                       ":" (getcwd) "/build/"
                       (car (scandir "build" (cut string-prefix? "lib." <>)))))
-             (zero? (system* "py.test" "-v"))))
+
+             ;; XXX The "normal" approach of setting CC and friends does
+             ;; not work here.  Is this the correct way of doing things?
+             (substitute* "testing/embedding/test_basic.py"
+               (("c = distutils\\.ccompiler\\.new_compiler\\(\\)")
+                (string-append "c = distutils.ccompiler.new_compiler();"
+                               "c.set_executables(compiler='gcc',"
+                               "compiler_so='gcc',linker_exe='gcc',"
+                               "linker_so='gcc -shared')")))
+             (substitute* "testing/cffi0/test_ownlib.py"
+               (("'cc testownlib") "'gcc testownlib"))
+             (zero? (system* "py.test" "-v" "c/" "testing/"))))
          (add-after 'install 'install-doc
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((data (string-append (assoc-ref outputs "doc") "/share"))