diff options
author | Alexey Lebedeff <binarin@binarin.ru> | 2018-11-30 10:55:09 +0100 |
---|---|---|
committer | Alexey Lebedeff <binarin@binarin.ru> | 2018-11-30 10:55:09 +0100 |
commit | 8d61b9d079de1460d9e1e73f73174bea30fd324d (patch) | |
tree | 949bd045b7c1d81e86f1a1afe6f2636367fef316 /pkgs/games/anki | |
parent | 76c7a8bac083522ea10ba43f699421ca64007708 (diff) |
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
Diffstat (limited to 'pkgs/games/anki')
-rw-r--r-- | pkgs/games/anki/default.nix | 5 | ||||
-rw-r--r-- | pkgs/games/anki/python-3.7-compat.patch | 23 |
2 files changed, 26 insertions, 2 deletions
diff --git a/pkgs/games/anki/default.nix b/pkgs/games/anki/default.nix index fb43640b2b12..c73afdd03934 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 000000000000..8545b39d08cb --- /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 |