Introduction à Brotli
Brotli fournit un algorithme de
compression sans perte générique qui compresse des données avec une
combinaison d'une variante moderne de l'algorithme LZ77, le codage
de Huffman et la modélisation de contexte au second degré. Ses
bibliothèques sont utilisées en particulier pour les polices WOFF2
sur le web.
Note
Les versions de développement de BLFS peuvent ne pas arriver à
contruire ou à exécuter certains paquets correctement si LFS ou
des dépendances ont été mises à jour depuis la dernière version
stable des livres.
Informations sur le paquet
-
Téléchargement (HTTP) :
https://github.com/google/brotli/archive/v1.2.0/brotli-1.2.0.tar.gz
-
Téléchargement (FTP) :
-
Somme de contrôle MD5 du téléchargement :
8fbfae9a5ecbc278ae7f761ecb6d1285
-
Taille du téléchargement : 632 Ko
-
Estimation de l'espace disque requis : 33 Mo (avec
les liaisons python3)
-
Estimation du temps de construction : 0,3 SBU (avec
les liaisons python3, parallélisme = 4)
Dépendances de Brotli
Requises
CMake-4.1.2
Facultatives
pytest-8.4.2 (pour tester les liaisons Python3)
Installation de Brotli
Installez brotli en exécutant les
commandes suivantes :
mkdir build &&
cd build &&
cmake -D CMAKE_INSTALL_PREFIX=/usr \
-D CMAKE_BUILD_TYPE=Release \
-G Ninja .. &&
ninja
Pour tester les résultats lancez : ninja test.
Maintenant, en tant qu'utilisateur root :
ninja install
Si vous le souhaitez, construisez les liaisons Python3 :
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
Installez les liaisons Python3 en
tant qu'utilisateur root :
pip3 install --no-index --find-links dist --no-user Brotli
Pour tester les liaisons Python3,
exécutez : pytest.
Explication des commandes
sed ... -i
setup.py : permet de construire les liaisons
Python3 avec USE_SYSTEM_BROTLI=1 mais sans avoir installé le
module pkgconfig de Python 3 (que BLFS ne fournit pas).
>USE_SYSTEM_BROTLI=1 : empêche
setup.py de reconstruire le paquet
complet de nouveau, pour utiliser les bibliothèque déjà installées
pour les liaisons Python3 à la
place.