From 6856e6ecee7e5de23baeb29452b07eab8d95da99 Mon Sep 17 00:00:00 2001 From: luhuaei Date: Mon, 9 Aug 2021 09:45:06 +0800 Subject: [PATCH] pymupdf: add patches for nix --- .../python-modules/pymupdf/default.nix | 39 +++++++++++++++---- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/pymupdf/default.nix b/pkgs/development/python-modules/pymupdf/default.nix index 501f829dc142..ff7b9a464998 100644 --- a/pkgs/development/python-modules/pymupdf/default.nix +++ b/pkgs/development/python-modules/pymupdf/default.nix @@ -1,28 +1,53 @@ -{ lib, buildPythonPackage, fetchPypi, mupdf, swig }: +{ lib +, buildPythonPackage +, fetchPypi +, fetchpatch +, mupdf +, swig +, freetype +, harfbuzz +, openjpeg +, jbig2dec +, libjpeg_turbo +, gumbo +}: + buildPythonPackage rec { pname = "pymupdf"; - version = "1.18.0"; + version = "1.18.16"; src = fetchPypi { pname = "PyMuPDF"; inherit version; - sha256 = "64ce58f92d9edd2631e447175fa13b4024ac3b6dce6e718e0b003c41de6f7952"; + sha256 = "b21e39098fbbe0fdf269fdb2d1dd25a3847bbf22785ee8903d3a5637c2d0b9d7"; }; - patchPhase = '' + patchFlags = [ "--binary" "--ignore-whitespace" ]; + patches = [ + # Add NIX environment support. + # Should be removed next pyMuPDF release. + (fetchpatch { + url = "https://github.com/pymupdf/PyMuPDF/commit/d9b2d42019e5705a1c6621ea0cdfa26da1ce9ad5.patch"; + sha256 = "fc3f6ad88c8f3933ed9ab9d4db9ebec8bc30ed5113f6ca9d72080b56dfa52ad6"; + }) + ]; + + postPatch = '' substituteInPlace setup.py \ --replace '/usr/include/mupdf' ${mupdf.dev}/include/mupdf - ''; + ''; nativeBuildInputs = [ swig ]; - buildInputs = [ mupdf ]; + buildInputs = [ mupdf freetype harfbuzz openjpeg jbig2dec libjpeg_turbo gumbo ]; doCheck = false; + pythonImportsCheck = [ "fitz" ]; + meta = with lib; { description = "Python bindings for MuPDF's rendering library."; homepage = "https://github.com/pymupdf/PyMuPDF"; maintainers = with maintainers; [ teto ]; - license = licenses.agpl3; + license = licenses.agpl3Only; platforms = platforms.linux; }; }