{ stdenv, lib, fetchurl, substituteAll, lame, mplayer , libpulseaudio, python, pyqt4, qt4, wrapPython , pysqlite, sqlalchemy, pyaudio, beautifulsoup, httplib2, matplotlib # This little flag adds a huge number of dependencies, but we assume that # everyone wants Anki to draw plots with statistics by default. , plotsSupport ? true }: let version = "2.0.33"; in stdenv.mkDerivation rec { name = "anki-${version}"; src = fetchurl { urls = [ "http://ankisrs.net/download/mirror/${name}.tgz" "http://ankisrs.net/download/mirror/archive/${name}.tgz" ]; sha256 = "1d5rf5gcw98m38wam6wh3hyh7qd78ws7zipm67xg744flqsjrzmr"; }; pythonPath = [ pyqt4 pysqlite sqlalchemy pyaudio beautifulsoup httplib2 ] ++ lib.optional plotsSupport matplotlib; buildInputs = [ python wrapPython lame mplayer libpulseaudio ]; phases = [ "unpackPhase" "patchPhase" "installPhase" ]; patches = [ # Disable updated version check. ./no-version-check.patch (substituteAll { src = ./fix-paths.patch; inherit lame mplayer qt4; qt4name = qt4.name; }) ]; postPatch = '' substituteInPlace oldanki/lang.py --subst-var-by anki $out substituteInPlace anki/lang.py --subst-var-by anki $out # Remove unused starter. We'll create our own, minimalistic, # starter. rm anki/anki # Remove QT translation files. We'll use the standard QT ones. rm "locale/"*.qm ''; installPhase = '' pp=$out/lib/${python.libPrefix}/site-packages mkdir -p $out/bin mkdir -p $out/share/applications mkdir -p $out/share/doc/anki mkdir -p $out/share/man/man1 mkdir -p $out/share/mime/packages mkdir -p $out/share/pixmaps mkdir -p $pp cat > $out/bin/anki <