source: general/genlib/brotli.xml@ 07efc98

12.0 12.1 ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18
Last change on this file since 07efc98 was 479979e, checked in by Douglas R. Reno <renodr@…>, 11 months ago

Tags

  • Property mode set to 100644
File size: 6.6 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY brotli-download-http "https://github.com/google/brotli/archive/v&brotli-version;/brotli-&brotli-version;.tar.gz">
8 <!ENTITY brotli-download-ftp " ">
9 <!ENTITY brotli-md5sum "c2274f0c7af8470ad514637c35bcee7d">
10 <!ENTITY brotli-size "476 KB">
11 <!ENTITY brotli-buildsize "24 MB (with python3 bindings)">
12 <!-- The python tests for this package are broken. The tarball is missing a lot of test files -->
13 <!ENTITY brotli-time "0.4 SBU (with python3 bindings)">
14]>
15
16<sect1 id="brotli" xreflabel="Brotli-&brotli-version;">
17 <?dbhtml filename="brotli.html"?>
18
19
20 <title>brotli-&brotli-version;</title>
21
22 <indexterm zone="brotli">
23 <primary sortas="a-brotli">Brotli</primary>
24 </indexterm>
25
26 <sect2 role="package">
27 <title>Introduction to Brotli</title>
28
29 <para>
30 <application>Brotli</application> provides a general-purpose lossless
31 compression algorithm that compresses data using a combination of a
32 modern variant of the LZ77 algorithm, Huffman coding and 2nd order
33 context modeling. Its libraries are particularly used for WOFF2 fonts
34 on webpages.
35 </para>
36
37 &lfs120_checked;
38
39 <bridgehead renderas="sect3">Package Information</bridgehead>
40 <itemizedlist spacing="compact">
41 <listitem>
42 <para>
43 Download (HTTP): <ulink url="&brotli-download-http;"/>
44 </para>
45 </listitem>
46 <listitem>
47 <para>
48 Download (FTP): <ulink url="&brotli-download-ftp;"/>
49 </para>
50 </listitem>
51 <listitem>
52 <para>
53 Download MD5 sum: &brotli-md5sum;
54 </para>
55 </listitem>
56 <listitem>
57 <para>
58 Download size: &brotli-size;
59 </para>
60 </listitem>
61 <listitem>
62 <para>
63 Estimated disk space required: &brotli-buildsize;
64 </para>
65 </listitem>
66 <listitem>
67 <para>
68 Estimated build time: &brotli-time;
69 </para>
70 </listitem>
71 </itemizedlist>
72
73 <bridgehead renderas="sect3">Brotli Dependencies</bridgehead>
74
75 <!-- Not "Required" because we can use
76 "./bootstrap && ./configure ... && make && make install".
77 Doing so can break an optional circular dependency:
78 curl is recommended for cmake, and brotli is optional for curl. -->
79 <bridgehead renderas="sect4">Recommended</bridgehead>
80 <para role="recommended">
81 <xref linkend="cmake"/>
82 </para>
83
84 </sect2>
85
86
87 <sect2 role="installation">
88 <title>Installation of Brotli</title>
89
90 <para>
91 At first, fix an issue in pkg-config files:
92 </para>
93
94<screen><userinput>sed -i 's@-R..libdir.@@' scripts/*.pc.in</userinput></screen>
95
96 <para>
97 Install <application>brotli</application> by running the following
98 commands:
99 </para>
100
101<screen><userinput>mkdir out &amp;&amp;
102cd out &amp;&amp;
103
104cmake -DCMAKE_INSTALL_PREFIX=/usr \
105 -DCMAKE_BUILD_TYPE=Release \
106 .. &amp;&amp;
107make</userinput></screen>
108
109
110 <para>
111 To test the results, issue: <command>make test</command>.
112 </para>
113
114<!-- These are broken
115 <para>
116 The python tests are missing most of the necessary testdata files and
117 therefore 240 of 311 tests fail.
118 If you nevertheless wish to test the bindings, go back to the top-level directory and
119 issue: <command>python3 setup.py test</command>.
120 </para>
121-->
122 <para>
123 Now, as the <systemitem class="username">root</systemitem> user:
124 </para>
125
126<screen role="root"><userinput>make install &amp;&amp;
127cd ..</userinput></screen>
128
129 <para>
130 If desired, build and install the <application>Python3</application>
131 bindings as the &root; user:
132 </para>
133
134<screen role="root"><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD &amp;&amp;
135pip3 install --no-index --find-links dist --no-cache-dir --no-user Brotli</userinput></screen>
136
137 </sect2>
138
139 <sect2 role="content">
140 <title>Contents</title>
141
142 <segmentedlist>
143 <segtitle>Installed Programs</segtitle>
144 <segtitle>Installed Libraries</segtitle>
145 <segtitle>Installed Directories</segtitle>
146
147 <seglistitem>
148 <seg>
149 brotli
150 </seg>
151 <seg>
152 libbrotlicommon{-static.a,.so},
153 libbrotlidec{,-static.a,.so}, and
154 libbrotlienc{,-static.a,.so}
155 </seg>
156 <seg>
157 /usr/include/brotli and
158 /usr/lib/python&python3-majorver;/site-packages/Brotli-&brotli-version;.dist-info
159 (if you built and installed the Python3 bindings)
160 </seg>
161 </seglistitem>
162 </segmentedlist>
163
164 <variablelist>
165 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
166 <?dbfo list-presentation="list"?>
167 <?dbhtml list-presentation="table"?>
168
169 <varlistentry id="brotli-prog">
170 <term><command>brotli</command></term>
171 <listitem>
172 <para>
173 can compress or decompress files, or test the integrity of
174 compressed files
175 </para>
176 <indexterm zone="brotli brotli-prog">
177 <primary sortas="b-brotli">brotli</primary>
178 </indexterm>
179 </listitem>
180 </varlistentry>
181
182 <varlistentry id="libbrotlicommon">
183 <term><filename class="libraryfile">libbrotlicommon{-static.a,.so}</filename></term>
184 <listitem>
185 <para>
186 is the Brotli common dictionary library
187 </para>
188 <indexterm zone="brotli libbrotlicommon">
189 <primary sortas="c-libbrotlicommon">libbrotlicommon{,-static.a,.so}</primary>
190 </indexterm>
191 </listitem>
192 </varlistentry>
193
194 <varlistentry id="libbrotlidec">
195 <term><filename class="libraryfile">libbrotlidec{-static.a,.so}</filename></term>
196 <listitem>
197 <para>
198 is the Brotli decoder library
199 </para>
200 <indexterm zone="brotli libbrotlidec">
201 <primary sortas="c-libbrotlidec">libbrotlidec{,-static.a,.so}</primary>
202 </indexterm>
203 </listitem>
204 </varlistentry>
205
206 <varlistentry id="libbrotlienc">
207 <term><filename class="libraryfile">libbrotlienc{-static.a,.so}</filename></term>
208 <listitem>
209 <para>
210 is the Brotli common encoder library
211 </para>
212 <indexterm zone="brotli libbrotlienc">
213 <primary sortas="c-libbrotlienc">libbrotlienc{,-static.a,.so}</primary>
214 </indexterm>
215 </listitem>
216 </varlistentry>
217 </variablelist>
218
219 </sect2>
220
221</sect1>
Note: See TracBrowser for help on using the repository browser.