From: Waldemar Brodkorb <wbx@openadk.org>
To: buildroot@buildroot.org
Cc: "Raphaël Mélotte" <raphael.melotte@mind.be>
Subject: Re: [Buildroot] [PATCH 2/2] package/mupdf, python-pymupdf: bump to versions 1.28.5 and 1.28.2
Date: Thu, 1 Oct 2026 07:52:48 +0200 [thread overview]
Message-ID: <ar31MOefHRDMsx46@waldemar-brodkorb.de> (raw)
In-Reply-To: <20260930120101.474560-2-raphael.melotte@mind.be>
Hi,
Raphaël Mélotte via buildroot wrote,
> Release notes:
> https://mupdf.com/releases
> https://pymupdf.readthedocs.io/en/latest/changes.html
>
> Note that this bump fixes multiple security vulnerabilities, and at
> least the following ones:
> - CVE-2025-46206
> - CVE-2025-71382
> - CVE-2026-7233
> - CVE-2026-40505
>
> With this new python-pymupdf (and mupdf) version, we can no longer
> build the old implementation (the 'a' implementation). We now need to
> build mupdf's python binding, which require host-clang (and its python
> bindings) to be built.
>
> Also note that python-mupdf's version still needs to stay close to
> mupdf's version, they can only be updated together.
>
> A number of mupdf patches were needed:
> - To allow changing the build-time log level from an environment
> variable.
> - To be able to provide the libclang include directories. This is
> needed because our default libclang include directories are not
> properly set.
> - To be able to link against mupdf with no versioning number.
> - To fix build errors when generating the python bindings for
> python-pymupdf with clang 22.
> - To fix build errors with uClibc.
> - To make it possible to build without a venv.
>
> python-pymupdf also needed a (backported) patch to fix building with
> swig 4.5+.
>
> In mupdf, setting JLIB_log_levels is not strictly necessary, but it
> greatly helps debugging build issues. It also only has an impact at
> build time anyway. To make it easier to debug potential future CI
> build failures, we enable it unconditionally.
> brotli is also added as a new optional dependency, supported since
> mupdf v1.26.0.
> Starting from version 1.28.1 pipcl is no longer bundled and needs to
> be installed separately, so add host-python-pipcl when we build the
> python bindings.
> Starting from version 1.28.2, mupdf added the unconditional use of a
> venv, so disable it with MUPDF_NO_AUTOVENV.
>
> In python-pymupdf, !BR2_STATIC_LIBS is now required by mupdf anyway,
> so update the comment accordingly.
> pipcl (required to build python-pymupdf) used to be bundled in
> python-pymupdf but is now available as a separate package, so use
> it. This also allows us to use 'pep517' as the setup type.
> The test is also updated to use the new implementation.
>
> For both packages, the patches that are now upstream are also removed.
>
> The tarball filename for python-pymupdf has changed upstream so it is
> also updated accordingly.
>
> These new versions no longer fit in the 120M rootfs configured for the
> runtime test, so double its size.
Thanks for your patch. I was once trying to do an update myself and
failed to get python-pymupdf to compile. They changed so much in
their new version. Great work!
You can add my
Tested-By: Waldemar Brodkorb <wbx@openadk.org>
Tested mupdf-x11 in fluxbox with qemu-system-x86_64 and glibc
toolchain.
> The mupdf builds are quite finicky on at least swig and libclang
> versions, so applying these changes on the Buildroot LTS branches
> should only be done with careful consideration (and making sure that
> it builds and passes the runtime test).
I tried the update for 2025.02, but get:
./scripts/mupdfwrap.py -d build/shared-release -b 01
(+0.0s): jlib.py:371:log_levels_add: adding level: filename_prefix='/' function_prefix=''
(+0.0s): parse.py:16:<module>: Warning, could not import clang: No module named 'clang'
(+0.0s): state.py:21:<module>: Warning: failed to import clang.cindex: e=ModuleNotFoundError("No module named 'clang'")
(+0.0s): state.py:21:<module>: We need Clang Python to build MuPDF python.
(+0.0s): state.py:21:<module>: Install with `pip install libclang` (typically inside a Python venv),
So adding it to LTS will be challenging again I think.
best regards
Waldemar
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next prev parent reply other threads:[~2026-10-01 5:54 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-30 12:00 [Buildroot] [PATCH 1/2] package/python-pipcl: new host package Raphaël Mélotte via buildroot
2026-09-30 12:00 ` [Buildroot] [PATCH 2/2] package/mupdf, python-pymupdf: bump to versions 1.28.5 and 1.28.2 Raphaël Mélotte via buildroot
2026-10-01 5:52 ` Waldemar Brodkorb [this message]
2026-10-04 15:41 ` Thomas Petazzoni via buildroot
2026-10-05 12:47 ` Raphaël Mélotte via buildroot
2026-10-05 15:50 ` Thomas Petazzoni via buildroot
2026-10-07 10:46 ` Raphaël Mélotte via buildroot
2026-10-04 15:38 ` [Buildroot] [PATCH 1/2] package/python-pipcl: new host package Thomas Petazzoni via buildroot
2026-10-05 12:39 ` Raphaël Mélotte via buildroot
2026-10-05 15:40 ` [Buildroot] [PATCH v2 " Raphaël Mélotte via buildroot
2026-10-05 15:40 ` [Buildroot] [PATCH v2 2/2] package/mupdf, python-pymupdf: bump to versions 1.28.5 and 1.28.2 Raphaël Mélotte via buildroot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ar31MOefHRDMsx46@waldemar-brodkorb.de \
--to=wbx@openadk.org \
--cc=buildroot@buildroot.org \
--cc=raphael.melotte@mind.be \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox