nixpkgs/pkgs/games/anki/fix-paths.patch
Robert Helgesson 5558dc828c anki: major refactor
This refactoring changes a number of things:

 - use system copies of Python libraries BeautifulSoup, and HTTPLIB2,

 - custom install to avoid installation of unnecessary files and poor
   directory structure, and

 - add patch for sorting out file paths, in particular this fixes
   localization.
2015-12-27 16:18:45 +01:00

98 lines
3.8 KiB
Diff

diff -Nurp anki-2.0.33.orig/anki/lang.py anki-2.0.33/anki/lang.py
--- anki-2.0.33.orig/anki/lang.py 2015-12-27 11:23:02.334908723 +0100
+++ anki-2.0.33/anki/lang.py 2015-12-27 14:06:00.688003103 +0100
@@ -71,13 +71,7 @@ def ngettext(single, plural, n):
return localTranslation().ungettext(single, plural, n)
def langDir():
- dir = os.path.join(os.path.dirname(
- os.path.abspath(__file__)), "locale")
- if not os.path.isdir(dir):
- dir = os.path.join(os.path.dirname(sys.argv[0]), "locale")
- if not os.path.isdir(dir):
- dir = "/usr/share/anki/locale"
- return dir
+ return "@anki@/share/locale"
def setLang(lang, local=True):
trans = gettext.translation(
diff -Nurp anki-2.0.33.orig/anki/sound.py anki-2.0.33/anki/sound.py
--- anki-2.0.33.orig/anki/sound.py 2015-12-27 11:23:02.334908723 +0100
+++ anki-2.0.33/anki/sound.py 2015-12-27 11:34:11.863147265 +0100
@@ -29,8 +29,9 @@ processingDst = u"rec.mp3"
processingChain = []
recFiles = []
+lameCmd = "@lame@/bin/lame"
processingChain = [
- ["lame", "rec.wav", processingDst, "--noreplaygain", "--quiet"],
+ [lameCmd, "rec.wav", processingDst, "--noreplaygain", "--quiet"],
]
# don't show box on windows
@@ -44,13 +45,6 @@ if isWin:
else:
si = None
-if isMac:
- # make sure lame, which is installed in /usr/local/bin, is in the path
- os.environ['PATH'] += ":" + "/usr/local/bin"
- dir = os.path.dirname(os.path.abspath(__file__))
- dir = os.path.abspath(dir + "/../../../..")
- os.environ['PATH'] += ":" + dir + "/audio"
-
def retryWait(proc):
# osx throws interrupted system call errors frequently
while 1:
@@ -62,13 +56,7 @@ def retryWait(proc):
# Mplayer settings
##########################################################################
-if isWin:
- mplayerCmd = ["mplayer.exe", "-ao", "win32"]
- dir = os.path.dirname(os.path.abspath(sys.argv[0]))
- os.environ['PATH'] += ";" + dir
- os.environ['PATH'] += ";" + dir + "\\..\\win\\top" # for testing
-else:
- mplayerCmd = ["mplayer"]
+mplayerCmd = ["@mplayer@/bin/mplayer"]
mplayerCmd += ["-really-quiet", "-noautosub"]
# Mplayer in slave mode
@@ -220,7 +208,7 @@ class _Recorder(object):
self.encode = encode
for c in processingChain:
#print c
- if not self.encode and c[0] == 'lame':
+ if not self.encode and c[0] == lameCmd:
continue
try:
ret = retryWait(subprocess.Popen(c, startupinfo=si))
diff -Nurp anki-2.0.33.orig/aqt/__init__.py anki-2.0.33/aqt/__init__.py
--- anki-2.0.33.orig/aqt/__init__.py 2015-12-27 11:23:02.338908782 +0100
+++ anki-2.0.33/aqt/__init__.py 2015-12-27 12:35:03.405565214 +0100
@@ -107,7 +107,7 @@ def setupLang(pm, app, force=None):
app.setLayoutDirection(Qt.LeftToRight)
# qt
_qtrans = QTranslator()
- if _qtrans.load("qt_" + lang, dir):
+ if _qtrans.load("qt_" + lang, "@qt4@/share/@qt4name@/translations"):
app.installTranslator(_qtrans)
# App initialisation
diff -Nurp anki-2.0.33.orig/oldanki/lang.py anki-2.0.33/oldanki/lang.py
--- anki-2.0.33.orig/oldanki/lang.py 2015-12-27 11:23:02.390909551 +0100
+++ anki-2.0.33/oldanki/lang.py 2015-12-27 14:05:51.663920453 +0100
@@ -32,11 +32,7 @@ def ngettext(single, plural, n):
return localTranslation().ungettext(single, plural, n)
def setLang(lang, local=True):
- base = os.path.dirname(os.path.abspath(__file__))
- localeDir = os.path.join(base, "locale")
- if not os.path.exists(localeDir):
- localeDir = os.path.join(
- os.path.dirname(sys.argv[0]), "locale")
+ localeDir = "@anki@/share/locale"
trans = gettext.translation('libanki', localeDir,
languages=[lang],
fallback=True)