Merge pull request #65775 from Kiwi/ocrmypdf

ocrmypdf: init
This commit is contained in:
Frederik Rietdijk
2019-08-18 08:16:59 +02:00
committed by GitHub
8 changed files with 353 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
{ buildPythonPackage
, fetchFromGitHub
, lxml
, pillow
, reportlab
, stdenv
}:
buildPythonPackage rec {
pname = "hocr-tools";
version = "1.3.0";
src = fetchFromGitHub {
owner = "tmbdev";
repo = "${pname}";
rev = "v${version}";
sha256 = "14f9hkp7pr677085w8iidwd0la9cjzy3pyj3rdg9b03nz9pc0w6p";
};
# hocr-tools uses a test framework that requires internet access
doCheck = false;
propagatedBuildInputs = [ pillow lxml reportlab ];
meta = with stdenv.lib; {
description = "
Tools for manipulating and evaluating the hOCR format for representing multi-lingual OCR results by embedding them into HTML";
homepage = https://github.com/tmbdev/hocr-tools;
license = licenses.asl20;
maintainers = [ maintainers.kiwi ];
};
}

View File

@@ -0,0 +1,73 @@
{ attrs
, buildPythonPackage
, defusedxml
, fetchPypi
, hypothesis
, isPy3k
, lxml
, pillow
, pybind11
, pytest
, pytest-helpers-namespace
, pytest-timeout
, pytest_xdist
, pytestrunner
, python-xmp-toolkit
, python3
, qpdf
, setuptools-scm-git-archive
, setuptools_scm
, stdenv
}:
buildPythonPackage rec {
pname = "pikepdf";
version = "1.1.0";
disabled = ! isPy3k;
src = fetchPypi {
inherit pname version;
sha256 = "14b36r6h3088z2sxp2pqvm171js53hz53mwm1g52iadignjnp0my";
};
buildInputs = [
pybind11
qpdf
];
nativeBuildInputs = [
setuptools-scm-git-archive
setuptools_scm
];
checkInputs = [
attrs
hypothesis
pillow
pytest
pytest-helpers-namespace
pytest-timeout
pytest_xdist
pytestrunner
python-xmp-toolkit
];
propagatedBuildInputs = [ defusedxml lxml ];
postPatch = ''
substituteInPlace requirements/test.txt \
--replace "pytest >= 3.6.0, < 4.1.0" "pytest >= 4.2.1, < 5"
'';
preBuild = ''
HOME=$TMPDIR
'';
meta = with stdenv.lib; {
homepage = "https://github.com/pikepdf/pikepdf";
description = "Read and write PDFs with Python, powered by qpdf";
license = licenses.mpl20;
maintainers = [ maintainers.kiwi ];
};
}

View File

@@ -0,0 +1,35 @@
{ buildPythonPackage
, fetchFromGitHub
, pytest
, stdenv
}:
buildPythonPackage rec {
pname = "pytest-helpers-namespace";
version = "2019.1.8";
src = fetchFromGitHub {
owner = "saltstack";
repo = "${pname}";
rev = "v${version}";
sha256 = "0z9f25d2wpf3lnqzmmnrlvl5b1f7kqwjjf4nzs9x2bpf91s5zny1";
};
buildInputs = [ pytest ];
checkInputs = [ pytest ];
checkPhase = ''
pytest
'';
# The tests fail with newest pytest. They passed with pytest_3, which no longer exists
doCheck = false;
meta = with stdenv.lib; {
homepage = "https://github.com/saltstack/pytest-helpers-namespace";
description = "PyTest Helpers Namespace";
license = licenses.asl20;
maintainers = [ maintainers.kiwi ];
};
}

View File

@@ -0,0 +1,44 @@
{ buildPythonPackage
, exempi
, fetchFromGitHub
, mock
, pythonOlder
, pytz
, stdenv
}:
buildPythonPackage rec {
pname = "python-xmp-toolkit";
version = "2.0.2";
# PyPi has version 2.0.1; the tests fail
# There are commits for a 2.0.2 release that was never published
# Not to github, not to PyPi
# This is the latest commit from Jun 29, 2017 (as of Mar 13, 2019)
# It includes the commits for the unreleased version 2.0.2 and more
# Tests pass with this version
src = fetchFromGitHub {
owner = "python-xmp-toolkit";
repo = "python-xmp-toolkit";
rev = "5692bdf8dac3581a0d5fb3c5aeb29be0ab6a54fc";
sha256 = "16bylcm183ilzp7mrpdzw0pzp6csv9v5v247914qsv2abg0hgl5y";
};
buildInputs = [ exempi ];
checkInputs = stdenv.lib.optionals (pythonOlder "3.3") [ mock ];
propagatedBuildInputs = [ pytz ];
postPatch = ''
substituteInPlace libxmp/exempi.py \
--replace "ctypes.util.find_library('exempi')" "'${exempi}/lib/libexempi${stdenv.hostPlatform.extensions.sharedLibrary}'"
'';
meta = with stdenv.lib; {
homepage = https://github.com/python-xmp-toolkit/python-xmp-toolkit;
description = "Python XMP Toolkit for working with metadata";
license = licenses.bsd3;
maintainers = [ maintainers.kiwi ];
};
}

View File

@@ -0,0 +1,53 @@
{ gevent
, buildPythonPackage
, fetchFromGitHub
, hostname
, pytest
, python
, stdenv
}:
buildPythonPackage rec {
pname = "ruffus";
version = "2.8.1";
src = fetchFromGitHub {
owner = "cgat-developers";
repo = "${pname}";
rev = "v${version}";
sha256 = "1gyabqafq4s2sy0prh3k1m8859shzjmfxr7fimx10liflvki96a9";
};
propagatedBuildInputs = [ gevent ];
postPatch = ''
sed -i -e 's|/bin/bash|${stdenv.shell}|' ruffus/test/Makefile
sed -i -e 's|\tpytest|\t${pytest}/bin/pytest|' ruffus/test/Makefile
sed -i -e 's|\tpython|\t${python.interpreter}|' ruffus/test/Makefile
sed -i -e 's|/usr/bin/env bash|${stdenv.shell}|' ruffus/test/run_all_unit_tests.cmd
sed -i -e 's|python3|${python.interpreter}|' ruffus/test/run_all_unit_tests3.cmd
sed -i -e 's|python %s|${python.interpreter} %s|' ruffus/test/test_drmaa_wrapper_run_job_locally.py
'';
makefile = "ruffus/test/Makefile";
checkInputs = [
gevent
hostname
pytest
];
checkPhase = ''
export HOME=$TMPDIR
cd ruffus/test
make all PYTEST_OPTIONS="-q --disable-warnings"
'';
meta = with stdenv.lib; {
description = "Light-weight Python Computational Pipeline Management";
homepage = http://www.ruffus.org.uk;
license = licenses.mit;
maintainers = [ maintainers.kiwi ];
};
}