diff --git a/pkgs/by-name/pd/pdfium-binaries/package.nix b/pkgs/by-name/pd/pdfium-binaries/package.nix index 4ae0b7cac35b..8f4394c11416 100644 --- a/pkgs/by-name/pd/pdfium-binaries/package.nix +++ b/pkgs/by-name/pd/pdfium-binaries/package.nix @@ -2,8 +2,10 @@ lib, fetchzip, stdenv, + python3Packages, }: let + # also update rev of headers in python3Packages.pypdfium2 version = "6968"; src = let @@ -41,7 +43,12 @@ stdenv.mkDerivation { runHook postInstall ''; - passthru.updateScript = ./update.sh; + passthru = { + updateScript = ./update.sh; + tests = { + inherit (python3Packages) pypdfium2; + }; + }; meta = { description = "Binary distribution of PDFium"; diff --git a/pkgs/development/python-modules/pypdfium2/default.nix b/pkgs/development/python-modules/pypdfium2/default.nix index 1d1e9a0769b4..f883cfc54904 100644 --- a/pkgs/development/python-modules/pypdfium2/default.nix +++ b/pkgs/development/python-modules/pypdfium2/default.nix @@ -3,21 +3,25 @@ pkgs, buildPythonPackage, fetchFromGitHub, - fetchurl, + fetchgit, setuptools-scm, pdfium-binaries, numpy, pillow, pytestCheckHook, - python, }: let pdfiumVersion = "${pdfium-binaries.version}"; - headers = fetchurl { - url = "https://pdfium.googlesource.com/pdfium/+archive/refs/heads/chromium/${pdfiumVersion}/public.tar.gz"; - hash = "sha256-vKfs4Jd8LEtA3aTI+DcJMS0VOErq1IR1eThnMlxiER0="; + headers = fetchgit { + url = "https://pdfium.googlesource.com/pdfium"; + # The latest revision on the chromium/${pdfiumVersion} branch + rev = "f6da7d235728aeaff6586d2190badfb4290a9979"; + hash = "sha256-xUylu//APbwpI+k6cQ7OrPCwDXp9qw0ZVaCba/d5zVg="; + sparseCheckout = [ + "public" + ]; }; # They demand their own fork of ctypesgen @@ -84,8 +88,8 @@ buildPythonPackage rec { in '' # Preseed the headers and version file - mkdir -p ${headersDir} - tar -xf ${headers} -C ${headersDir} + mkdir -p ${bindingsDir} + cp -r ${headers}/public ${headersDir} install -m 644 ${inputVersionFile} ${versionFile} # Make generated bindings consider pdfium derivation path when loading dynamic libraries