BSD Ports

archivers/py-brotli 1.2.1 MidnightBSD

Generic-purpose lossless compression algorithm

System
MidnightBSD
Repository
mports
Maintainer
[email protected]
Last update
Commit
a9c6f27c3f
License
mit
Categories
archivers, python

Description

Brotli is a generic-purpose lossless compression algorithm that compresses data using a combination of a modern variant of the LZ77 algorithm, Huffman coding and 2nd order context modeling, with a compression ratio comparable to the best currently available general-purpose compression methods. It is similar in speed with deflate but offers more dense compression.

The specification of the Brotli Compressed Data Format is defined in RFC 7932.

In the other systems

The newest version among them is 1.2.1, as upstream numbers it.

SystemPortVersionVulnerabilitiesStatusMaintainerLast update
MidnightBSDarchivers/py-brotli1.2.1 newestno data-[email protected]2026-10-22
FreeBSDarchivers/py-brotli1.2.1 newestnone known-[email protected]2026-10-23
OpenBSDarchivers/py-brotli1.2.0 behind since 2026-10-22no data-The OpenBSD ports mailing-list <[email protected]>2026-10-23
NetBSDarchivers/py-brotli1.2.0 behind since 2026-10-22none known-[email protected]2026-10-22
DragonFlyarchivers/py-brotli1.1.0 behind since 2026-09-16none known-[email protected]-
HardenedBSDarchivers/py-brotli1.2.0 behind since 2026-10-22no data-[email protected]-
GhostBSDarchivers/py-brotli1.2.0 behind since 2026-10-22no data-[email protected]-

Compare across BSDs

Version history 2

  1. 1.2.1 a9c6f27c3f
  2. 1.2.0 a74685d005

Upstream's version as each commit to the port's Makefile set it, or as this site first saw it in the system's packages; the tree's own revisions are not versions here.

Install

Binary package:

mport install ${PYTHON_PKGNAMEPREFIX}brotli

From mports:

cd /usr/mports/archivers/py-brotli && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}brotli>0:archivers/py-brotli

Dependency graph

Ports that need it on the left, what it needs to run on the right (to build, as it needs nothing to run); at most 8 of each. "Dependencies" below lists them all.

Dependencies

As this port's Makefile names them.

Build 3

Build dependencies 3

Configuration

No options to configure.

USES
cpe python
Service scripts
none

Files

distinfo 1
FileSizeSHA256
brotli-1.2.1.tar.gz7.389447e+0602b2f7b5a83485efe448a44ddf7983def05c3bb1dcf917d4f7154070260e13de
Master sites 1
  • PYPI

Commit history 3

DateCommitCreditsLog message
a9c6f27c3f Lucas Holt archivers/py-brotli: update to 1.2.1 [security] (#1876)
## Summary Update archivers/py-brotli from 1.2.0 to 1.2.1 to fix CVE-2026-111497, an out-of-bounds write in the Brotli decoder that permits remote code execution. The extension builds its own copy of the C sources from the sdist rather than linking archivers/brotli. That's deliberate: it was set up that way when archivers/brotli lagged behind. So it doesn't get the fix from #1871 and needs its own bump. ## Changes - `Makefile`: PORTVERSION is now 1.2.1. - `distinfo`: regenerated. The checksum matches PyPI. - No patch or plist changes. `files/patch-setup.py` still applies. The build backend is unchanged (setuptools + pkgconfig, both already in BUILD_DEPENDS). ## Testing (MidnightBSD 4.0.9 amd64, py312) - `bmake makesum`, `bmake patch`, `bmake build`, `bmake fake` and `bmake …
251a3cf8a1 Lucas Holt archivers/py-brotli: add py-pkgconfig build dependency (#1607)
Fixes the Magus failure in run 648, port ID 2260569: ``` ERROR Missing dependencies: pkgconfig ``` ## Cause brotli 1.2.0's `pyproject.toml` lists `pkgconfig` in `build-system.requires`. The PEP 517 frontend (`python -m build`) checks every listed requirement before building, so the build fails on a clean builder, even though `setup.py` only imports `pkgconfig` when `USE_SYSTEM_BROTLI` is set. The port never declared the dependency. The 1.2.0 update (#1278) passed locally only because `py312-pkgconfig` was already installed. ## Fix Add `${PYTHON_PKGNAMEPREFIX}pkgconfig>=0:devel/py-pkgconfig@${PY_FLAVOR}` to `BUILD_DEPENDS`. `devel/py-pkgconfig` passes on Magus 4.1. The port still builds brotli's bundled C sources, as intended. …
a74685d005 Lucas Holt archivers/py-brotli: update to 1.2.0 (#1278)
1.0.9 -> 1.2.0. Required by `www/py-aiohttp` 3.14, whose `SPEEDUPS` option needs `Brotli>=1.2`. Part of #1269. - Switches from `distutils` to `pep517`, matching upstream's move to a wheel build - Upstream 1.2.0 derives its version from the git checkout, so `setup.py` is patched to use `PORTVERSION` (same patch FreeBSD uses) - Drops the vestigial `SHEBANG_FILES=python/bro.py`: that script was never packaged. Verified against the old 1.0.9_1 `.mport` — the installed file list is unchanged apart from `egg-info` becoming `dist-info`. ### Bundled C sources Unlike FreeBSD, this keeps the bundled brotli C sources rather than setting `USE_SYSTEM_BROTLI=1`. `archivers/brotli` in the tree is 1.1.0, below what py-brotli 1.2.0 wants, and that library has 26 dependents — updating it is a …