* gnu/packages/patches/beets-python-3.7-fix.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/music.scm (beets)[source]: Use it.
		
			
				
	
	
		
			57 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
Fix compatibility issue with Python 3.7:
 | 
						|
 | 
						|
https://github.com/beetbox/beets/issues/2978
 | 
						|
 | 
						|
Patch copied from upstream source repository:
 | 
						|
 | 
						|
https://github.com/beetbox/beets/commit/15d44f02a391764da1ce1f239caef819f08beed8
 | 
						|
 | 
						|
From 15d44f02a391764da1ce1f239caef819f08beed8 Mon Sep 17 00:00:00 2001
 | 
						|
From: Adrian Sampson <adrian@radbox.org>
 | 
						|
Date: Sun, 22 Jul 2018 12:34:19 -0400
 | 
						|
Subject: [PATCH] Fix Python 3.7 compatibility (#2978)
 | 
						|
 | 
						|
---
 | 
						|
 beets/autotag/hooks.py | 8 +++++++-
 | 
						|
 docs/changelog.rst     | 2 ++
 | 
						|
 2 files changed, 9 insertions(+), 1 deletion(-)
 | 
						|
 | 
						|
diff --git a/beets/autotag/hooks.py b/beets/autotag/hooks.py
 | 
						|
index 3615a9333..1c62a54c5 100644
 | 
						|
--- a/beets/autotag/hooks.py
 | 
						|
+++ b/beets/autotag/hooks.py
 | 
						|
@@ -31,6 +31,12 @@
 | 
						|
 
 | 
						|
 log = logging.getLogger('beets')
 | 
						|
 
 | 
						|
+# The name of the type for patterns in re changed in Python 3.7.
 | 
						|
+try:
 | 
						|
+    Pattern = re._pattern_type
 | 
						|
+except AttributeError:
 | 
						|
+    Pattern = re.Pattern
 | 
						|
+
 | 
						|
 
 | 
						|
 # Classes used to represent candidate options.
 | 
						|
 
 | 
						|
@@ -433,7 +439,7 @@ def _eq(self, value1, value2):
 | 
						|
         be a compiled regular expression, in which case it will be
 | 
						|
         matched against `value2`.
 | 
						|
         """
 | 
						|
-        if isinstance(value1, re._pattern_type):
 | 
						|
+        if isinstance(value1, Pattern):
 | 
						|
             return bool(value1.match(value2))
 | 
						|
         return value1 == value2
 | 
						|
 
 | 
						|
#diff --git a/docs/changelog.rst b/docs/changelog.rst
 | 
						|
#index be6de2904..d487f31f5 100644
 | 
						|
#--- a/docs/changelog.rst
 | 
						|
#+++ b/docs/changelog.rst
 | 
						|
#@@ -19,6 +19,8 @@ New features:
 | 
						|
# 
 | 
						|
# Fixes:
 | 
						|
# 
 | 
						|
#+* Fix compatibility Python 3.7 and its change to a name in the ``re`` module.
 | 
						|
#+  :bug:`2978`
 | 
						|
# * R128 normalization tags are now properly deleted from files when the values
 | 
						|
#   are missing.
 | 
						|
#   Thanks to :user:`autrimpo`.
 |