source: general/genlib/libportal.xml@ 5ea236f

12.1 ken/TL2024 lazarus plabs/newcss rahul/power-profiles-daemon trunk xry111/llvm18
Last change on this file since 5ea236f was 5ea236f, checked in by Xi Ruoyao <xry111@…>, 5 months ago

libportal: Add test suite fix patch for dbusmock >= 0.30.0

  • Property mode set to 100644
File size: 8.1 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
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 libportal-download-http "https://github.com/flatpak/libportal/releases/download/&libportal-version;/libportal-&libportal-version;.tar.xz">
8 <!ENTITY libportal-download-ftp " ">
9 <!ENTITY libportal-md5sum "f94be41e8495ae7d6aaed046481daa61">
10 <!ENTITY libportal-size "76 KB">
11 <!ENTITY libportal-buildsize "3.0 MB (with tests)">
12 <!ENTITY libportal-time "0.1 SBU (add 0.3 SBU for tests)">
13]>
14
15<sect1 id="libportal" xreflabel="libportal-&libportal-version;">
16 <?dbhtml filename="libportal.html"?>
17
18
19 <title>libportal-&libportal-version;</title>
20
21 <indexterm zone="libportal">
22 <primary sortas="a-libportal">libportal</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to libportal</title>
27
28 <para>
29 The <application>libportal</application> package provides
30 a library that contains GIO-style async APIs for most Flatpak portals.
31 </para>
32
33 &lfs120_checked;
34
35 <bridgehead renderas="sect3">Package Information</bridgehead>
36 <itemizedlist spacing="compact">
37 <listitem>
38 <para>
39 Download (HTTP): <ulink url="&libportal-download-http;"/>
40 </para>
41 </listitem>
42 <listitem>
43 <para>
44 Download (FTP): <ulink url="&libportal-download-ftp;"/>
45 </para>
46 </listitem>
47 <listitem>
48 <para>
49 Download MD5 sum: &libportal-md5sum;
50 </para>
51 </listitem>
52 <listitem>
53 <para>
54 Download size: &libportal-size;
55 </para>
56 </listitem>
57 <listitem>
58 <para>
59 Estimated disk space required: &libportal-buildsize;
60 </para>
61 </listitem>
62 <listitem>
63 <para>
64 Estimated build time: &libportal-time;
65 </para>
66 </listitem>
67 </itemizedlist>
68
69 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
70 <itemizedlist spacing="compact">
71 <listitem>
72 <para>
73 Optional patch (required for running the test suite):
74 <ulink url="&patch-root;/libportal-&libportal-version;-testsuite_fix-1.patch"/>
75 </para>
76 </listitem>
77 </itemizedlist>
78
79 <bridgehead renderas="sect3">libportal Dependencies</bridgehead>
80
81 <bridgehead renderas="sect4">Required</bridgehead>
82 <para role="required">
83 <xref linkend="gobject-introspection"/>
84 </para>
85
86 <bridgehead renderas="sect4">Recommended</bridgehead>
87 <para role="recommended">
88 <xref linkend="gtk3"/> and
89 <xref linkend="gtk4"/>
90 </para>
91
92 <bridgehead renderas="sect4">Optional</bridgehead>
93 <para role="optional">
94 <xref linkend="gi-docgen"/> (for documentation),
95 <xref linkend="python-dbusmock"/> and
96 <xref linkend="pytest"/> (for testing),
97 &qt5-deps; (for the Qt5 version of libportal), and
98 <xref linkend="vala"/>
99 </para>
100
101 </sect2>
102
103 <sect2 role="installation">
104 <title>Installation of libportal</title>
105
106 <warning>
107 <para>
108 If a previous version of libportal is installed, move the
109 headers out of the way so that later packages do not encounter
110 conflicts (as the <systemitem role="username">root</systemitem>
111 user):
112 </para>
113<screen role="root"><userinput>if [ -e /usr/include/libportal ]; then
114 rm -rf /usr/include/libportal.old &amp;&amp;
115 mv -vf /usr/include/libportal{,.old}
116fi</userinput></screen>
117 </warning>
118
119 <para>
120 If running the test suite, apply a patch to fix a dozen of test
121 failures with python-dbusmock 0.30.0 or later:
122 </para>
123
124 <screen><userinput>patch -Np1 -i ../libportal-&libportal-version;-testsuite_fix-1.patch</userinput></screen>
125
126 <para>
127 Install <application>libportal</application> by running the following
128 commands:
129 </para>
130
131<screen><userinput>mkdir build &amp;&amp;
132cd build &amp;&amp;
133
134meson setup --prefix=/usr --buildtype=release -Ddocs=false .. &amp;&amp;
135ninja</userinput></screen>
136
137 <para>
138 If you have <xref linkend='gi-docgen'/> installed and wish to build
139 the API documentation for this package, issue:
140 </para>
141
142<screen role='nodump'><userinput>sed "/output/s/-1/-&libportal-version;/" -i ../doc/meson.build &amp;&amp;
143meson configure -Ddocs=true &amp;&amp;
144ninja</userinput></screen>
145
146 <para>
147 To test the results, issue: <command>ninja test</command>. Note that
148 additional <filename>dbus-daemon</filename> processes may need to be
149 killed after the tests are run.
150 </para>
151
152 <para>
153 Now, as the <systemitem class="username">root</systemitem> user:
154 </para>
155
156<screen role="root"><userinput>ninja install</userinput></screen>
157
158 </sect2>
159
160 <sect2 role="commands">
161 <title>Command Explanations</title>
162
163 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
164 href="../../xincludes/meson-buildtype-release.xml"/>
165
166 <para>
167 <parameter>-Ddocs=false</parameter>: &gi-doc-disable;
168 </para>
169
170<!-- These options are now automatically detected, so it doesn't make sense to
171 explicitly set which ones are used (as of version 0.7)
172 <para>
173 <option>-Dbackends=gtk3,gtk4,qt5</option>: This switch allows you to set
174 the available backends. You can use it to disable the dependency on gtk-3,
175 gtk-4, or qt-5. Most applications that use libportal will use either
176 gtk-4 or gtk-3. The default is to build all three backends.
177 </para>
178-->
179
180 </sect2>
181 <sect2 role="content">
182 <title>Contents</title>
183
184 <segmentedlist>
185 <segtitle>Installed Programs</segtitle>
186 <segtitle>Installed Libraries</segtitle>
187 <segtitle>Installed Directories</segtitle>
188
189 <seglistitem>
190 <seg>
191 None
192 </seg>
193 <seg>
194 libportal.so,
195 libportal-gtk3.so,
196 libportal-gtk4.so, and
197 libportal-qt5.so
198 </seg>
199 <seg>
200 /usr/include/libportal and
201 /usr/share/gtk-doc/html/libportal
202 </seg>
203 </seglistitem>
204 </segmentedlist>
205
206 <variablelist>
207 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
208 <?dbfo list-presentation="list"?>
209 <?dbhtml list-presentation="table"?>
210
211 <varlistentry id="libportal-lib">
212 <term><filename class="libraryfile">libportal.so</filename></term>
213 <listitem>
214 <para>
215 provides GIO-style async APIs for most Flatpak portals
216 </para>
217 <indexterm zone="libportal libportal-lib">
218 <primary sortas="c-libportal">libportal.so</primary>
219 </indexterm>
220 </listitem>
221 </varlistentry>
222
223 <varlistentry id="libportal-gtk3">
224 <term><filename class="libraryfile">libportal-gtk3.so</filename></term>
225 <listitem>
226 <para>
227 provides GTK+-3 specific functions for interacting with Flatpak
228 portals
229 </para>
230 <indexterm zone="libportal libportal-gtk3">
231 <primary sortas="c-libportal-gtk3">libportal-gtk3.so</primary>
232 </indexterm>
233 </listitem>
234 </varlistentry>
235
236 <varlistentry id="libportal-gtk4">
237 <term><filename class="libraryfile">libportal-gtk4.so</filename></term>
238 <listitem>
239 <para>
240 provides GTK-4 specific functions for interacting with Flatpak
241 portals
242 </para>
243 <indexterm zone="libportal libportal-gtk4">
244 <primary sortas="c-libportal-gtk4">libportal-gtk4.so</primary>
245 </indexterm>
246 </listitem>
247 </varlistentry>
248
249 <varlistentry id="libportal-qt5">
250 <term><filename class="libraryfile">libportal-qt5.so</filename></term>
251 <listitem>
252 <para>
253 provides Qt5 specific functions for interacting with Flatpak
254 portals
255 </para>
256 <indexterm zone="libportal libportal-qt5">
257 <primary sortas="c-libportal-qt5">libportal-qt5.so</primary>
258 </indexterm>
259 </listitem>
260 </varlistentry>
261 </variablelist>
262 </sect2>
263
264</sect1>
Note: See TracBrowser for help on using the repository browser.