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