source: general/genlib/brotli.xml@ ec288f7

11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since ec288f7 was ec288f7, checked in by Bruce Dubbs <bdubbs@…>, 18 months ago

Stop hard coding the python version

  • Property mode set to 100644
File size: 6.8 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 <sect1info>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>brotli-&brotli-version;</title>
24
25 <indexterm zone="brotli">
26 <primary sortas="a-brotli">Brotli</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to Brotli</title>
31
32 <para>
33 <application>Brotli</application> provides a general-purpose lossless
34 compression algorithm that compresses data using a combination of a
35 modern variant of the LZ77 algorithm, Huffman coding and 2nd order
36 context modeling. Its libraries are particularly used for WOFF2 fonts
37 on webpages.
38 </para>
39
40 &lfs112_checked;
41
42 <bridgehead renderas="sect3">Package Information</bridgehead>
43 <itemizedlist spacing="compact">
44 <listitem>
45 <para>
46 Download (HTTP): <ulink url="&brotli-download-http;"/>
47 </para>
48 </listitem>
49 <listitem>
50 <para>
51 Download (FTP): <ulink url="&brotli-download-ftp;"/>
52 </para>
53 </listitem>
54 <listitem>
55 <para>
56 Download MD5 sum: &brotli-md5sum;
57 </para>
58 </listitem>
59 <listitem>
60 <para>
61 Download size: &brotli-size;
62 </para>
63 </listitem>
64 <listitem>
65 <para>
66 Estimated disk space required: &brotli-buildsize;
67 </para>
68 </listitem>
69 <listitem>
70 <para>
71 Estimated build time: &brotli-time;
72 </para>
73 </listitem>
74 </itemizedlist>
75
76 <bridgehead renderas="sect3">Brotli Dependencies</bridgehead>
77
78 <bridgehead renderas="sect4">Required</bridgehead>
79 <para role="required">
80 <xref linkend="cmake"/>
81 </para>
82
83<!-- Brotli doesn't have any lua bindings, at least not with 1.0.7.
84 Do not advertise python2 as python3 should be used instead
85 <bridgehead renderas="sect4">Optional</bridgehead>
86 <para role="optional">
87 <xref linkend="lua"/> (to create Lua bindings) and
88 <xref linkend="python2"/> (to create python2 bindings)
89 </para>
90-->
91 <para condition="html" role="usernotes">
92 User Notes: <ulink url="&blfs-wiki;/brotli"/>
93 </para>
94 </sect2>
95
96
97 <sect2 role="installation">
98 <title>Installation of Brotli</title>
99
100 <para>
101 At first, fix an issue in pkg-config files:
102 </para>
103
104<screen><userinput>sed -i 's@-R..libdir.@@' scripts/*.pc.in</userinput></screen>
105
106 <para>
107 Install <application>brotli</application> by running the following
108 commands:
109 </para>
110
111<screen><userinput>mkdir out &amp;&amp;
112cd out &amp;&amp;
113
114cmake -DCMAKE_INSTALL_PREFIX=/usr \
115 -DCMAKE_BUILD_TYPE=Release \
116 .. &amp;&amp;
117make</userinput></screen>
118
119
120 <para>
121 To test the results, issue: <command>make test</command>.
122 </para>
123
124<!-- These are broken
125 <para>
126 The python tests are missing most of the necessary testdata files and
127 therefore 240 of 311 tests fail.
128 If you nevertheless wish to test the bindings, go back to the top-level directory and
129 issue: <command>python3 setup.py test</command>.
130 </para>
131-->
132 <para>
133 Now, as the <systemitem class="username">root</systemitem> user:
134 </para>
135
136<screen role="root"><userinput>make install &amp;&amp;
137cd ..</userinput></screen>
138
139 <para>
140 If desired, build and install the <application>Python3</application>
141 bindings as the &root; user:
142 </para>
143
144<screen role="root"><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD &amp;&amp;
145pip3 install --no-index --find-links dist --no-cache-dir --no-user Brotli</userinput></screen>
146
147 </sect2>
148
149 <sect2 role="content">
150 <title>Contents</title>
151
152 <segmentedlist>
153 <segtitle>Installed Programs</segtitle>
154 <segtitle>Installed Libraries</segtitle>
155 <segtitle>Installed Directory</segtitle>
156
157 <seglistitem>
158 <seg>
159 brotli
160 </seg>
161 <seg>
162 libbrotlicommon{-static.a,.so},
163 libbrotlidec{,-static.a,.so}, and
164 libbrotlienc{,-static.a,.so}
165 </seg>
166 <seg>
167 /usr/include/brotli
168 /usr/lib/python&python3-majorver;/site-packages/Brotli-&brotli-version;.dist-info
169 </seg>
170 </seglistitem>
171 </segmentedlist>
172
173 <variablelist>
174 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
175 <?dbfo list-presentation="list"?>
176 <?dbhtml list-presentation="table"?>
177
178 <varlistentry id="brotli-prog">
179 <term><command>brotli</command></term>
180 <listitem>
181 <para>
182 can compress or decompress files, or test the integrity of
183 compressed files
184 </para>
185 <indexterm zone="brotli brotli-prog">
186 <primary sortas="b-brotli">brotli</primary>
187 </indexterm>
188 </listitem>
189 </varlistentry>
190
191 <varlistentry id="libbrotlicommon">
192 <term><filename class="libraryfile">libbrotlicommon{-static.a,.so}</filename></term>
193 <listitem>
194 <para>
195 is the Brotli common dictionary library
196 </para>
197 <indexterm zone="brotli libbrotlicommon">
198 <primary sortas="c-libbrotlicommon">libbrotlicommon{,-static.a,.so}</primary>
199 </indexterm>
200 </listitem>
201 </varlistentry>
202
203 <varlistentry id="libbrotlidec">
204 <term><filename class="libraryfile">libbrotlidec{-static.a,.so}</filename></term>
205 <listitem>
206 <para>
207 is the Brotli decoder library
208 </para>
209 <indexterm zone="brotli libbrotlidec">
210 <primary sortas="c-libbrotlidec">libbrotlidec{,-static.a,.so}</primary>
211 </indexterm>
212 </listitem>
213 </varlistentry>
214
215 <varlistentry id="libbrotlienc">
216 <term><filename class="libraryfile">libbrotlienc{-static.a,.so}</filename></term>
217 <listitem>
218 <para>
219 is the Brotli common encoder library
220 </para>
221 <indexterm zone="brotli libbrotlienc">
222 <primary sortas="c-libbrotlienc">libbrotlienc{,-static.a,.so}</primary>
223 </indexterm>
224 </listitem>
225 </varlistentry>
226 </variablelist>
227
228 </sect2>
229
230</sect1>
Note: See TracBrowser for help on using the repository browser.