summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/python-aionotify-0.2.0-py3.8.patch48
-rw-r--r--gnu/packages/python-xyz.scm4
3 files changed, 51 insertions, 2 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 0eac01d72d..7bae1daf61 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1450,6 +1450,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/python-3.8-fix-tests.patch		\
   %D%/packages/patches/python-CVE-2018-14647.patch		\
   %D%/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch	\
+  %D%/packages/patches/python-aionotify-0.2.0-py3.8.patch	\
   %D%/packages/patches/python-alembic-exceptions-cause.patch	\
   %D%/packages/patches/python-argcomplete-1.11.1-fish31.patch	\
   %D%/packages/patches/python-axolotl-AES-fix.patch		\
diff --git a/gnu/packages/patches/python-aionotify-0.2.0-py3.8.patch b/gnu/packages/patches/python-aionotify-0.2.0-py3.8.patch
new file mode 100644
index 0000000000..ebeef34720
--- /dev/null
+++ b/gnu/packages/patches/python-aionotify-0.2.0-py3.8.patch
@@ -0,0 +1,48 @@
+Compatibility with Python 3.8, see upstream issue
+https://github.com/rbarrois/aionotify/pull/15
+
+diff --git a/setup.py b/setup.py
+index 21a554f..094de64 100755
+--- a/setup.py
++++ b/setup.py
+@@ -40,7 +40,7 @@ setup(
+     setup_requires=[
+     ],
+     tests_require=[
+-        'asynctest',
++        'asynctest; python_version<"3.8"',
+     ],
+     classifiers=[
+         "Development Status :: 4 - Beta",
+diff --git a/tests/test_usage.py b/tests/test_usage.py
+index f156291..0476ff1 100644
+--- a/tests/test_usage.py
++++ b/tests/test_usage.py
+@@ -8,7 +8,11 @@ import os.path
+ import tempfile
+ import unittest
+ 
+-import asynctest
++try:
++    testBase = unittest.IsolatedAsyncioTestCase
++except AttributeError:
++    import asynctest
++    testBase = asynctest.TestCase
+ 
+ import aionotify
+ 
+@@ -25,11 +29,13 @@ if AIODEBUG:
+ TESTDIR = os.environ.get('AIOTESTDIR') or os.path.join(os.path.dirname(__file__), 'testevents')
+ 
+ 
+-class AIONotifyTestCase(asynctest.TestCase):
++class AIONotifyTestCase(testBase):
+     forbid_get_event_loop = True
+     timeout = 3
+ 
+     def setUp(self):
++        if not getattr (self, 'loop', None):
++            self.loop = asyncio.get_event_loop()
+         if AIODEBUG:
+             self.loop.set_debug(True)
+         self.watcher = aionotify.Watcher()
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a48f39429d..748f48f229 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19269,9 +19269,9 @@ and cuts down boilerplate code when testing libraries for asyncio.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1sk9i8czxgsbrswsf1nlb4c82vgnlzi8zrvrxdip92w2z8hqh43y"))))
+        (base32 "1sk9i8czxgsbrswsf1nlb4c82vgnlzi8zrvrxdip92w2z8hqh43y"))
+       (patches (search-patches "python-aionotify-0.2.0-py3.8.patch"))))
     (build-system python-build-system)
-    (native-inputs `(("python-asynctest" ,python-asynctest)))
     (home-page "https://github.com/rbarrois/aionotify")
     (synopsis "Asyncio-powered inotify library")
     (description