Brotli gir en generell tapsfri komprimeringsalgoritme som komprimerer data ved å bruke en kombinasjon av en moderne variant av LZ77 algoritmen, Huffman koding og 2. orden kontekstmodellering. Bibliotekene brukes spesielt til WOFF2 fonter på nettsider.
Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.
Nedlasting (HTTP): https://github.com/google/brotli/archive/v1.2.0/brotli-1.2.0.tar.gz
Nedlasting MD5 sum: 8fbfae9a5ecbc278ae7f761ecb6d1285
Nedlastingsstørrelse: 632 KB
Estimert diskplass som kreves: 33 MB (med python3 bindinger)
Estimert byggetid: 0,3 SBU (med python3 bindinger; parallellisme=4)
pytest-8.4.2 (for testing av Python3 bindinger)
Installer brotli ved å kjøre følgende kommandoer:
mkdir build &&
cd build &&
cmake -D CMAKE_INSTALL_PREFIX=/usr \
-D CMAKE_BUILD_TYPE=Release \
-G Ninja .. &&
ninja
For å teste resultatene, utsted: ninja test.
Nå, som root bruker:
ninja install
Bygg om ønskelig Python3 bindinger:
cd .. &&
sed -e '/libraries +=/s/=.*/= [required_system_library[3:]]/' \
-e '/package_configuration/d' \
-e '/pkgconfig/d' \
-i setup.py &&
USE_SYSTEM_BROTLI=1 \
pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD
Installer Python3 bindinger som
root bruker:
pip3 install --no-index --find-links dist --no-user Brotli
For å teste Python3 binding, utsted: pytest.
sed ... -i setup.py:
Tillat å bygge Python3 bindinger
med USE_SYSTEM_BROTLI=1 men uten Python
3 pkgconfig modulen (som BLFS ikke tilbyr) installert.
USE_SYSTEM_BROTLI=1: Stoppe setup.py fra å gjenoppbygge hele pakken igjen,
bruk de allerede installerte bibliotekene for Python3 binding i stedet.