Subject: [PATCH 8/8] gnu: python-pycairo: Update to 1.16.3.

From: Arun Isaac <[email-masked]>
Date: Thu, 29 Mar 2018 12:58:16 +0530

* gnu/packages/gtk.scm (python-pycairo): Update to 1.16.3.
[source]: Remove patch.
[build-system]: Switch to python-build-system.
[native-inputs]: Remove python-waf.
[home-page]: Use HTTPS URI.
* gnu/packages/patches/pycairo-wscript.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Unregister it.
---
 gnu/local.mk                               |  1 -
 gnu/packages/gtk.scm                       | 53 +++++++++---------------------
 gnu/packages/patches/pycairo-wscript.patch | 31 -----------------
 3 files changed, 16 insertions(+), 69 deletions(-)
 delete mode 100644 gnu/packages/patches/pycairo-wscript.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 786e5a695..f0519ee89 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1006,7 +1006,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/pulseaudio-glibc-2.27.patch		\
   %D%/packages/patches/pulseaudio-fix-mult-test.patch		\
   %D%/packages/patches/pulseaudio-longer-test-timeout.patch	\
-  %D%/packages/patches/pycairo-wscript.patch			\
   %D%/packages/patches/pybugz-encode-error.patch		\
   %D%/packages/patches/pybugz-stty.patch			\
   %D%/packages/patches/pygpgme-disable-problematic-tests.patch  \
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 2fc667b80..191fa698d 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1166,32 +1166,22 @@ printing and other features typical of a source code editor.")
 (define-public python-pycairo
   (package
     (name "python-pycairo")
-    (version "1.10.0")
+    (version "1.16.3")
     (source
      (origin
       (method url-fetch)
-      (uri (string-append "http://cairographics.org/releases/pycairo-"
-                          version ".tar.bz2"))
+      (uri (string-append "https://github.com/pygobject/pycairo/releases/download/v"
+                          version "/pycairo-" version ".tar.gz"))
       (sha256
        (base32
-        "1gjkf8x6hyx1skq3hhwcbvwifxvrf9qxis5vx8x5igmmgs70g94s"))
-      (patches (search-patches "pycairo-wscript.patch"))))
-    (build-system waf-build-system)
+        "1xq1bwhyi5imca5kvd28szh2rdzi8g0kaspwaqgsbczqskjj3csv"))))
+    (build-system python-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
-       ("python-waf" ,python-waf)))
+       ("python-pytest" ,python-pytest)))
     (propagated-inputs                  ;pycairo.pc references cairo
      `(("cairo" ,cairo)))
-    (arguments
-     `(#:tests? #f
-       #:phases
-       (modify-phases %standard-phases
-         (add-before
-          'configure 'patch-waf
-          (lambda* (#:key inputs #:allow-other-keys)
-            ;; The bundled `waf' doesn't work with python-3.4.x.
-            (copy-file (assoc-ref %build-inputs "python-waf") "./waf"))))))
-    (home-page "http://cairographics.org/pycairo/")
+    (home-page "https://cairographics.org/pycairo/")
     (synopsis "Python bindings for cairo")
     (description
      "Pycairo is a set of Python bindings for the Cairo graphics library.")
@@ -1199,26 +1189,15 @@ printing and other features typical of a source code editor.")
     (properties `((python2-variant . ,(delay python2-pycairo))))))
 
 (define-public python2-pycairo
-  (package (inherit (strip-python2-variant python-pycairo))
-    (name "python2-pycairo")
-    (version "1.10.0")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "http://cairographics.org/releases/py2cairo-"
-                          version ".tar.bz2"))
-      (sha256
-       (base32
-        "0cblk919wh6w0pgb45zf48xwxykfif16qk264yga7h9fdkq3j16k"))))
-    (arguments
-     `(#:python ,python-2
-       ,@(substitute-keyword-arguments (package-arguments python-pycairo)
-           ((#:phases phases)
-            `(modify-phases ,phases (delete 'patch-waf)))
-           ((#:native-inputs native-inputs)
-            `(alist-delete "python-waf" ,native-inputs)))))
-    ;; Dual-licensed under LGPL 2.1 or Mozilla Public License 1.1
-    (license (list license:lgpl2.1 license:mpl1.1))))
+  (let ((pycairo (package-with-python2
+                  (strip-python2-variant python-pycairo))))
+    (package
+      (inherit pycairo)
+      (propagated-inputs
+       `(("python2-funcsigs" ,python2-funcsigs)
+         ,@(package-propagated-inputs pycairo)))
+      ;; Dual-licensed under LGPL 2.1 or Mozilla Public License 1.1
+      (license (list license:lgpl2.1 license:mpl1.1)))))
 
 (define-public python2-pygtk
   (package
diff --git a/gnu/packages/patches/pycairo-wscript.patch b/gnu/packages/patches/pycairo-wscript.patch
deleted file mode 100644
index c49f0afcb..000000000
--- a/gnu/packages/patches/pycairo-wscript.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Update the wscript to work with waf-1.8.8.  Based on:
-http://cgit.freedesktop.org/pycairo/commit/?id=c57cd129407c904f8c2f752a59d0183df7b01a5e
-
-
---- pycairo-1.10.0.orig/wscript	2011-04-18 15:42:29.000000000 +0800
-+++ pycairo-1.10.0/wscript	2015-04-20 13:01:45.383756898 +0800
-@@ -13,18 +13,18 @@
- 
- def options(ctx):
-   print('  %s/options()' %d)
--  ctx.tool_options('gnu_dirs')
--  ctx.tool_options('compiler_cc')
--  ctx.tool_options('python') # options for disabling pyc or pyo compilation
-+  ctx.load('gnu_dirs')
-+  ctx.load('compiler_c')
-+  ctx.load('python') # options for disabling pyc or pyo compilation
- 
- 
- def configure(ctx):
-   print('  %s/configure()' %d)
- 
-   env = ctx.env
--  ctx.check_tool('gnu_dirs')
--  ctx.check_tool('compiler_cc')
--  ctx.check_tool('python')
-+  ctx.load('gnu_dirs')
-+  ctx.load('compiler_c')
-+  ctx.load('python')
-   ctx.check_python_version((3,1,0))
-   ctx.check_python_headers()
-   ctx.check_cfg(package='cairo', atleast_version=cairo_version_required,
-- 
2.15.1