source: general/genlib/libportal.xml

trunk
Last change on this file was c0bc0a9, checked in by Xi Ruoyao <xry111@…>, 6 weeks ago

Update to glib-2.80.0 and gobject-introspection-1.80.0

Merge gobject-introspection into glib page to better handle a circular
dependency between these two packages.

  • Property mode set to 100644
File size: 8.6 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 &lfs121_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 &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">Recommended (Runtime)</bridgehead>
93 <para role="runtime">
94 To make this package really useful, install
95 <xref linkend="xdg-desktop-portal"/>,
96 <xref linkend="xdg-desktop-portal-gtk"/>,
97 <xref role="nodep" linkend="xdg-desktop-portal-gnome"/> (if running
98 a GNOME desktop environment), and
99 <xref role="nodep" linkend="xdg-desktop-portal-lxqt"/> (if running
100 a LXQt desktop environment). They are not needed if only using this
101 package to satisfy a build dependency.
102 </para>
103
104 <bridgehead renderas="sect4">Optional</bridgehead>
105 <para role="optional">
106 <xref linkend="gi-docgen"/> (for documentation),
107 <xref linkend="python-dbusmock"/> and
108 <xref linkend="pytest"/> (for testing),
109 &qt5-deps; (for the Qt5 version of libportal), and
110 <xref linkend="vala"/>
111 </para>
112
113 </sect2>
114
115 <sect2 role="installation">
116 <title>Installation of libportal</title>
117
118 <warning>
119 <para>
120 If a previous version of libportal is installed, move the
121 headers out of the way so that later packages do not encounter
122 conflicts (as the <systemitem role="username">root</systemitem>
123 user):
124 </para>
125<screen role="root"><userinput>if [ -e /usr/include/libportal ]; then
126 rm -rf /usr/include/libportal.old &amp;&amp;
127 mv -vf /usr/include/libportal{,.old}
128fi</userinput></screen>
129 </warning>
130
131 <para>
132 If running the test suite, apply a patch to fix a dozen of test
133 failures with python-dbusmock 0.30.0 or later:
134 </para>
135
136 <screen><userinput>patch -Np1 -i ../libportal-&libportal-version;-testsuite_fix-1.patch</userinput></screen>
137
138 <para>
139 Install <application>libportal</application> by running the following
140 commands:
141 </para>
142
143<screen><userinput>mkdir build &amp;&amp;
144cd build &amp;&amp;
145
146meson setup --prefix=/usr --buildtype=release -Ddocs=false .. &amp;&amp;
147ninja</userinput></screen>
148
149 <para>
150 If you have <xref linkend='gi-docgen'/> installed and wish to build
151 the API documentation for this package, issue:
152 </para>
153
154<screen role='nodump'><userinput>sed "/output/s/-1/-&libportal-version;/" -i ../doc/meson.build &amp;&amp;
155meson configure -Ddocs=true &amp;&amp;
156ninja</userinput></screen>
157
158 <para>
159 To test the results, issue: <command>ninja test</command>. Note that
160 additional <filename>dbus-daemon</filename> processes may need to be
161 killed after the tests are run.
162 </para>
163
164 <para>
165 Now, as the <systemitem class="username">root</systemitem> user:
166 </para>
167
168<screen role="root"><userinput>ninja install</userinput></screen>
169
170 </sect2>
171
172 <sect2 role="commands">
173 <title>Command Explanations</title>
174
175 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
176 href="../../xincludes/meson-buildtype-release.xml"/>
177
178 <para>
179 <parameter>-Ddocs=false</parameter>: &gi-doc-disable;
180 </para>
181
182<!-- These options are now automatically detected, so it doesn't make sense to
183 explicitly set which ones are used (as of version 0.7)
184 <para>
185 <option>-Dbackends=gtk3,gtk4,qt5</option>: This switch allows you to set
186 the available backends. You can use it to disable the dependency on gtk-3,
187 gtk-4, or qt-5. Most applications that use libportal will use either
188 gtk-4 or gtk-3. The default is to build all three backends.
189 </para>
190-->
191
192 </sect2>
193 <sect2 role="content">
194 <title>Contents</title>
195
196 <segmentedlist>
197 <segtitle>Installed Programs</segtitle>
198 <segtitle>Installed Libraries</segtitle>
199 <segtitle>Installed Directories</segtitle>
200
201 <seglistitem>
202 <seg>
203 None
204 </seg>
205 <seg>
206 libportal.so,
207 libportal-gtk3.so,
208 libportal-gtk4.so, and
209 libportal-qt5.so
210 </seg>
211 <seg>
212 /usr/include/libportal and
213 /usr/share/gtk-doc/html/libportal
214 </seg>
215 </seglistitem>
216 </segmentedlist>
217
218 <variablelist>
219 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
220 <?dbfo list-presentation="list"?>
221 <?dbhtml list-presentation="table"?>
222
223 <varlistentry id="libportal-lib">
224 <term><filename class="libraryfile">libportal.so</filename></term>
225 <listitem>
226 <para>
227 provides GIO-style async APIs for most Flatpak portals
228 </para>
229 <indexterm zone="libportal libportal-lib">
230 <primary sortas="c-libportal">libportal.so</primary>
231 </indexterm>
232 </listitem>
233 </varlistentry>
234
235 <varlistentry id="libportal-gtk3">
236 <term><filename class="libraryfile">libportal-gtk3.so</filename></term>
237 <listitem>
238 <para>
239 provides GTK+-3 specific functions for interacting with Flatpak
240 portals
241 </para>
242 <indexterm zone="libportal libportal-gtk3">
243 <primary sortas="c-libportal-gtk3">libportal-gtk3.so</primary>
244 </indexterm>
245 </listitem>
246 </varlistentry>
247
248 <varlistentry id="libportal-gtk4">
249 <term><filename class="libraryfile">libportal-gtk4.so</filename></term>
250 <listitem>
251 <para>
252 provides GTK-4 specific functions for interacting with Flatpak
253 portals
254 </para>
255 <indexterm zone="libportal libportal-gtk4">
256 <primary sortas="c-libportal-gtk4">libportal-gtk4.so</primary>
257 </indexterm>
258 </listitem>
259 </varlistentry>
260
261 <varlistentry id="libportal-qt5">
262 <term><filename class="libraryfile">libportal-qt5.so</filename></term>
263 <listitem>
264 <para>
265 provides Qt5 specific functions for interacting with Flatpak
266 portals
267 </para>
268 <indexterm zone="libportal libportal-qt5">
269 <primary sortas="c-libportal-qt5">libportal-qt5.so</primary>
270 </indexterm>
271 </listitem>
272 </varlistentry>
273 </variablelist>
274 </sect2>
275
276</sect1>
Note: See TracBrowser for help on using the repository browser.