python3Packages.pikepdf: 2.16.1 -> 3.0.0

https://pikepdf.readthedocs.io/en/latest/release_notes.html#v3-0-0
This commit is contained in:
Robert Schütz 2021-09-18 13:49:10 -07:00
parent ed332b0bc7
commit fc1c501f4c
2 changed files with 40 additions and 13 deletions

View file

@ -5,13 +5,12 @@
, fetchPypi , fetchPypi
, hypothesis , hypothesis
, isPy3k , isPy3k
, jbig2dec
, lxml , lxml
, mupdf
, pillow , pillow
, psutil , psutil
, pybind11 , pybind11
, pytest-cov
, pytest-helpers-namespace
, pytest-timeout
, pytest-xdist , pytest-xdist
, pytestCheckHook , pytestCheckHook
, python-dateutil , python-dateutil
@ -20,18 +19,27 @@
, setuptools , setuptools
, setuptools-scm , setuptools-scm
, setuptools-scm-git-archive , setuptools-scm-git-archive
, substituteAll
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "pikepdf"; pname = "pikepdf";
version = "2.16.1"; version = "3.0.0";
disabled = ! isPy3k; disabled = ! isPy3k;
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "sha256-4k3/avMfHrcy/LXbRniDXR8xJkOZb9zZ2+uKylK8Dd4="; sha256 = "sha256-PBeTfiMLIq+pdeaRMOid8pEd0eLHu+IAE4aEFU5CiEM=";
}; };
patches = [
(substituteAll {
src = ./paths.patch;
jbig2dec = "${lib.getBin jbig2dec}/bin/jbig2dec";
mudraw = "${lib.getBin mupdf}/bin/mudraw";
})
];
buildInputs = [ buildInputs = [
pybind11 pybind11
qpdf qpdf
@ -45,11 +53,8 @@ buildPythonPackage rec {
checkInputs = [ checkInputs = [
attrs attrs
hypothesis hypothesis
pytest-helpers-namespace
pytest-timeout
pytest-xdist pytest-xdist
psutil psutil
pytest-cov
pytestCheckHook pytestCheckHook
python-dateutil python-dateutil
python-xmp-toolkit python-xmp-toolkit
@ -62,17 +67,13 @@ buildPythonPackage rec {
setuptools setuptools
]; ];
preBuild = ''
HOME=$TMPDIR
'';
pythonImportsCheck = [ "pikepdf" ]; pythonImportsCheck = [ "pikepdf" ];
meta = with lib; { meta = with lib; {
homepage = "https://github.com/pikepdf/pikepdf"; homepage = "https://github.com/pikepdf/pikepdf";
description = "Read and write PDFs with Python, powered by qpdf"; description = "Read and write PDFs with Python, powered by qpdf";
license = licenses.mpl20; license = licenses.mpl20;
maintainers = [ maintainers.kiwi ]; maintainers = with maintainers; [ kiwi dotlambda ];
changelog = "https://github.com/pikepdf/pikepdf/blob/${version}/docs/release_notes.rst"; changelog = "https://github.com/pikepdf/pikepdf/blob/${version}/docs/release_notes.rst";
}; };
} }

View file

@ -0,0 +1,26 @@
diff --git a/src/pikepdf/_methods.py b/src/pikepdf/_methods.py
index 70cdc9e..c3a14d0 100644
--- a/src/pikepdf/_methods.py
+++ b/src/pikepdf/_methods.py
@@ -190,7 +190,7 @@ def _mudraw(buffer, fmt) -> bytes:
tmp_in.flush()
proc = run(
- ['mudraw', '-F', fmt, '-o', '-', tmp_in.name],
+ ['@mudraw@', '-F', fmt, '-o', '-', tmp_in.name],
stdout=PIPE,
stderr=PIPE,
check=True,
diff --git a/src/pikepdf/jbig2.py b/src/pikepdf/jbig2.py
index 80cc910..64f6d31 100644
--- a/src/pikepdf/jbig2.py
+++ b/src/pikepdf/jbig2.py
@@ -25,7 +25,7 @@ def extract_jbig2(
global_path = Path(tmpdir) / "global"
output_path = Path(tmpdir) / "outfile"
- args = ["jbig2dec", "-e", "-o", os.fspath(output_path)]
+ args = ["@jbig2dec@", "-e", "-o", os.fspath(output_path)]
# Get the raw stream, because we can't decode im_obj - that is why we are here
# (Strictly speaking we should remove any non-JBIG2 filters if double encoded)