python3Packages.pymupdf: 1.23.3 -> 1.23.6; use mupdf from nixpkgs
This commit is contained in:
@@ -2,9 +2,10 @@
|
||||
, stdenv
|
||||
, buildPythonPackage
|
||||
, pythonOlder
|
||||
, fetchPypi
|
||||
, fetchFromGitHub
|
||||
, pytestCheckHook
|
||||
, python
|
||||
, swig
|
||||
, xcbuild
|
||||
, mupdf
|
||||
, freetype
|
||||
, harfbuzz
|
||||
@@ -13,33 +14,32 @@
|
||||
, libjpeg_turbo
|
||||
, gumbo
|
||||
, memstreamHook
|
||||
, fonttools
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
let
|
||||
# PyMuPDF needs the C++ bindings generated
|
||||
mupdf-cxx = mupdf.override { enableOcr = true; enableCxx = true; enablePython = true; };
|
||||
in buildPythonPackage rec {
|
||||
pname = "pymupdf";
|
||||
version = "1.23.3";
|
||||
version = "1.23.6";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "PyMuPDF";
|
||||
inherit version;
|
||||
hash = "sha256-AhR4rmx26IWSQdu5cGEskIColX2L1pe7oLRTHcHPT4c=";
|
||||
src = fetchFromGitHub {
|
||||
owner = "pymupdf";
|
||||
repo = "PyMuPDF";
|
||||
rev = version;
|
||||
hash = "sha256-60KT5+EGP+s7HD4UIeaf9x2QVNU9IUbC5WKEJbrIBCI=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace '/usr/include/mupdf' ${mupdf.dev}/include/mupdf
|
||||
'';
|
||||
nativeBuildInputs = [
|
||||
pytestCheckHook
|
||||
swig
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
xcbuild
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
mupdf
|
||||
freetype
|
||||
harfbuzz
|
||||
openjpeg
|
||||
@@ -50,10 +50,40 @@ buildPythonPackage rec {
|
||||
memstreamHook
|
||||
];
|
||||
|
||||
doCheck = false;
|
||||
propagatedBuildInputs = [
|
||||
mupdf-cxx
|
||||
];
|
||||
|
||||
env = {
|
||||
# force using system MuPDF (must be defined in environment and empty)
|
||||
PYMUPDF_SETUP_MUPDF_BUILD = "";
|
||||
# provide MuPDF paths
|
||||
PYMUPDF_MUPDF_LIB = "${lib.getLib mupdf-cxx}/lib";
|
||||
PYMUPDF_MUPDF_INCLUDE = "${lib.getDev mupdf-cxx}/include";
|
||||
};
|
||||
|
||||
# TODO: manually add mupdf rpath until upstream fixes it
|
||||
postInstall = lib.optionalString stdenv.isDarwin ''
|
||||
for lib in */*.so $out/${python.sitePackages}/*/*.so; do
|
||||
install_name_tool -add_rpath ${lib.getLib mupdf-cxx}/lib "$lib"
|
||||
done
|
||||
'';
|
||||
|
||||
checkInputs = [
|
||||
fonttools
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
# fails for indeterminate reasons
|
||||
"test_color_count"
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
# darwin does not support OCR right now
|
||||
"test_tesseract"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"fitz"
|
||||
"fitz_new"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
|
||||
Reference in New Issue
Block a user