summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlexey Lebedeff <binarin@binarin.ru>2018-11-30 10:55:09 +0100
committerAlexey Lebedeff <binarin@binarin.ru>2018-11-30 10:55:09 +0100
commit8d61b9d079de1460d9e1e73f73174bea30fd324d (patch)
tree949bd045b7c1d81e86f1a1afe6f2636367fef316
parent76c7a8bac083522ea10ba43f699421ca64007708 (diff)
downloadnixpkgs-8d61b9d079de1460d9e1e73f73174bea30fd324d.tar
nixpkgs-8d61b9d079de1460d9e1e73f73174bea30fd324d.tar.gz
nixpkgs-8d61b9d079de1460d9e1e73f73174bea30fd324d.tar.bz2
nixpkgs-8d61b9d079de1460d9e1e73f73174bea30fd324d.tar.lz
nixpkgs-8d61b9d079de1460d9e1e73f73174bea30fd324d.tar.xz
nixpkgs-8d61b9d079de1460d9e1e73f73174bea30fd324d.tar.zst
nixpkgs-8d61b9d079de1460d9e1e73f73174bea30fd324d.zip
anki: 2.1.6-beta1 -> 2.1.6-beta2, fix python 3.7
With recent switch to python 3.7 this was no longer building.

Upstream PR with the same patch: https://github.com/dae/anki/pull/266
-rw-r--r--pkgs/games/anki/default.nix5
-rw-r--r--pkgs/games/anki/python-3.7-compat.patch23
2 files changed, 26 insertions, 2 deletions
diff --git a/pkgs/games/anki/default.nix b/pkgs/games/anki/default.nix
index fb43640b2b1..c73afdd0393 100644
--- a/pkgs/games/anki/default.nix
+++ b/pkgs/games/anki/default.nix
@@ -25,7 +25,7 @@
 }:
 
 buildPythonApplication rec {
-    version = "2.1.6-beta1";
+    version = "2.1.6-beta2";
     name = "anki-${version}";
 
     src = fetchurl {
@@ -35,7 +35,7 @@ buildPythonApplication rec {
         # "http://ankisrs.net/download/mirror/${name}.tgz"
         # "http://ankisrs.net/download/mirror/archive/${name}.tgz"
       ];
-      sha256 = "0yqn8qjx9dyf754jljhyyrk8mahii188nz0yifl1lr3py9sxzbsf";
+      sha256 = "0h71s1j1269x0b8481z8xf019caqglcjs32xlpzk72087ps169fa";
     };
 
     propagatedBuildInputs = [ pyqt5 sqlalchemy
@@ -53,6 +53,7 @@ buildPythonApplication rec {
     patches = [
       # Disable updated version check.
       ./no-version-check.patch
+      ./python-3.7-compat.patch
     ];
 
     buildPhase = ''
diff --git a/pkgs/games/anki/python-3.7-compat.patch b/pkgs/games/anki/python-3.7-compat.patch
new file mode 100644
index 00000000000..8545b39d08c
--- /dev/null
+++ b/pkgs/games/anki/python-3.7-compat.patch
@@ -0,0 +1,23 @@
+commit 3d69aa9ce454a151ba75deafd7de117af2c7307d
+Author: Alexey Lebedeff <binarin@binarin.ru>
+Date:   Fri Nov 30 10:44:39 2018 +0100
+
+    Fix searching for python 3.7
+    
+    3.7 introduced a change to `re.escape()`, which no longer escapes
+    `%`. By using `re.escape("%")` instead of a literal, we can detect
+    a proper form at runtime.
+
+diff --git a/anki/find.py b/anki/find.py
+index 48d0dd1..213216d 100644
+--- a/anki/find.py
++++ b/anki/find.py
+@@ -440,7 +440,7 @@ select distinct(n.id) from cards c, notes n where c.nid=n.id and """+preds
+             # nothing has that field
+             return
+         # gather nids
+-        regex = re.escape(val).replace("_", ".").replace("\\%", ".*")
++        regex = re.escape(val).replace("_", ".").replace(re.escape('%'), ".*")
+         nids = []
+         for (id,mid,flds) in self.col.db.execute("""
+ select id, mid, flds from notes