source: general/genlib/brotli.xml@ 1ef28cd2

12.0 12.1 kea ken/TL2024 ken/tuningfonts lazarus lxqt plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since 1ef28cd2 was cb594b6c, checked in by Xi Ruoyao <xry111@…>, 12 months ago

general: Remove non-exist User Notes link

Part of User Notes removal by
https://www.linuxfromscratch.org/~xry111/remove-nonexist-usernote.sh

  • Property mode set to 100644
File size: 6.9 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 &lfs113_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<!-- Brotli doesn't have any lua bindings, at least not with 1.0.7.
85 Do not advertise python2 as python3 should be used instead
86 <bridgehead renderas="sect4">Optional</bridgehead>
87 <para role="optional">
88 <xref linkend="lua"/> (to create Lua bindings) and
89 <xref linkend="python2"/> (to create python2 bindings)
90 </para>
91-->
92 </sect2>
93
94
95 <sect2 role="installation">
96 <title>Installation of Brotli</title>
97
98 <para>
99 At first, fix an issue in pkg-config files:
100 </para>
101
102<screen><userinput>sed -i 's@-R..libdir.@@' scripts/*.pc.in</userinput></screen>
103
104 <para>
105 Install <application>brotli</application> by running the following
106 commands:
107 </para>
108
109<screen><userinput>mkdir out &amp;&amp;
110cd out &amp;&amp;
111
112cmake -DCMAKE_INSTALL_PREFIX=/usr \
113 -DCMAKE_BUILD_TYPE=Release \
114 .. &amp;&amp;
115make</userinput></screen>
116
117
118 <para>
119 To test the results, issue: <command>make test</command>.
120 </para>
121
122<!-- These are broken
123 <para>
124 The python tests are missing most of the necessary testdata files and
125 therefore 240 of 311 tests fail.
126 If you nevertheless wish to test the bindings, go back to the top-level directory and
127 issue: <command>python3 setup.py test</command>.
128 </para>
129-->
130 <para>
131 Now, as the <systemitem class="username">root</systemitem> user:
132 </para>
133
134<screen role="root"><userinput>make install &amp;&amp;
135cd ..</userinput></screen>
136
137 <para>
138 If desired, build and install the <application>Python3</application>
139 bindings as the &root; user:
140 </para>
141
142<screen role="root"><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD &amp;&amp;
143pip3 install --no-index --find-links dist --no-cache-dir --no-user Brotli</userinput></screen>
144
145 </sect2>
146
147 <sect2 role="content">
148 <title>Contents</title>
149
150 <segmentedlist>
151 <segtitle>Installed Programs</segtitle>
152 <segtitle>Installed Libraries</segtitle>
153 <segtitle>Installed Directory</segtitle>
154
155 <seglistitem>
156 <seg>
157 brotli
158 </seg>
159 <seg>
160 libbrotlicommon{-static.a,.so},
161 libbrotlidec{,-static.a,.so}, and
162 libbrotlienc{,-static.a,.so}
163 </seg>
164 <seg>
165 /usr/include/brotli
166 /usr/lib/python&python3-majorver;/site-packages/Brotli-&brotli-version;.dist-info
167 </seg>
168 </seglistitem>
169 </segmentedlist>
170
171 <variablelist>
172 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
173 <?dbfo list-presentation="list"?>
174 <?dbhtml list-presentation="table"?>
175
176 <varlistentry id="brotli-prog">
177 <term><command>brotli</command></term>
178 <listitem>
179 <para>
180 can compress or decompress files, or test the integrity of
181 compressed files
182 </para>
183 <indexterm zone="brotli brotli-prog">
184 <primary sortas="b-brotli">brotli</primary>
185 </indexterm>
186 </listitem>
187 </varlistentry>
188
189 <varlistentry id="libbrotlicommon">
190 <term><filename class="libraryfile">libbrotlicommon{-static.a,.so}</filename></term>
191 <listitem>
192 <para>
193 is the Brotli common dictionary library
194 </para>
195 <indexterm zone="brotli libbrotlicommon">
196 <primary sortas="c-libbrotlicommon">libbrotlicommon{,-static.a,.so}</primary>
197 </indexterm>
198 </listitem>
199 </varlistentry>
200
201 <varlistentry id="libbrotlidec">
202 <term><filename class="libraryfile">libbrotlidec{-static.a,.so}</filename></term>
203 <listitem>
204 <para>
205 is the Brotli decoder library
206 </para>
207 <indexterm zone="brotli libbrotlidec">
208 <primary sortas="c-libbrotlidec">libbrotlidec{,-static.a,.so}</primary>
209 </indexterm>
210 </listitem>
211 </varlistentry>
212
213 <varlistentry id="libbrotlienc">
214 <term><filename class="libraryfile">libbrotlienc{-static.a,.so}</filename></term>
215 <listitem>
216 <para>
217 is the Brotli common encoder library
218 </para>
219 <indexterm zone="brotli libbrotlienc">
220 <primary sortas="c-libbrotlienc">libbrotlienc{,-static.a,.so}</primary>
221 </indexterm>
222 </listitem>
223 </varlistentry>
224 </variablelist>
225
226 </sect2>
227
228</sect1>
Note: See TracBrowser for help on using the repository browser.