source: general/genlib/brotli.xml@ ca4c24b

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 ca4c24b was e8314fa, checked in by Xi Ruoyao <xry111@…>, 13 months ago

brotli: Demote cmake to recommended

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