at 18.09-beta 2.2 kB view raw
1{ lib, fetchFromGitHub, buildPythonPackage, pillow, six 2, tesseract, cuneiform, isPy3k 3}: 4 5buildPythonPackage rec { 6 pname = "pyocr"; 7 version = "0.4.7"; 8 name = pname + "-" + version; 9 disabled = !isPy3k; 10 11 # Don't fetch from PYPI because it doesn't contain tests. 12 src = fetchFromGitHub { 13 owner = "jflesch"; 14 repo = "pyocr"; 15 rev = version; 16 sha256 = "1iw73r8yrgjf8g00yzpz62ymqbf89cqhyhl9g430srmsrq7mn2yd"; 17 }; 18 19 NIX_CUNEIFORM_CMD = "${cuneiform}/bin/cuneiform"; 20 NIX_CUNEIFORM_DATA = "${cuneiform}/share/cuneiform"; 21 NIX_LIBTESSERACT_PATH = "${tesseract}/lib/libtesseract.so"; 22 NIX_TESSDATA_PREFIX = "${tesseract}/share/tessdata"; 23 NIX_TESSERACT_CMD = "${tesseract}/bin/tesseract"; 24 25 patches = [ ./paths.patch ]; 26 27 postPatch = '' 28 substituteInPlace src/pyocr/cuneiform.py \ 29 --subst-var NIX_CUNEIFORM_CMD \ 30 --subst-var NIX_CUNEIFORM_CMD 31 32 substituteInPlace src/pyocr/tesseract.py \ 33 --subst-var NIX_TESSERACT_CMD 34 35 substituteInPlace src/pyocr/libtesseract/tesseract_raw.py \ 36 --subst-var NIX_TESSDATA_PREFIX \ 37 --subst-var NIX_LIBTESSERACT_PATH 38 39 # Disable specific tests that are probably failing because of this issue: 40 # https://github.com/jflesch/pyocr/issues/52 41 for test in $disabledTests; do 42 file="''${test%%:*}" 43 fun="''${test#*:}" 44 echo "$fun = unittest.skip($fun)" >> "tests/tests_$file.py" 45 done 46 ''; 47 48 disabledTests = [ 49 "cuneiform:TestTxt.test_basic" 50 "cuneiform:TestTxt.test_european" 51 "cuneiform:TestTxt.test_french" 52 "cuneiform:TestWordBox.test_basic" 53 "cuneiform:TestWordBox.test_european" 54 "cuneiform:TestWordBox.test_french" 55 "libtesseract:TestBasicDoc.test_basic" 56 "libtesseract:TestDigitLineBox.test_digits" 57 "libtesseract:TestLineBox.test_japanese" 58 "libtesseract:TestTxt.test_japanese" 59 "libtesseract:TestWordBox.test_japanese" 60 "tesseract:TestDigitLineBox.test_digits" 61 "tesseract:TestTxt.test_japanese" 62 ]; 63 64 propagatedBuildInputs = [ pillow six ]; 65 66 meta = { 67 homepage = "https://github.com/jflesch/pyocr"; 68 description = "A Python wrapper for Tesseract and Cuneiform"; 69 license = lib.licenses.gpl3Plus; 70 }; 71}