[ab4fdfc] | 1 | <?xml version="1.0" encoding="UTF-8"?>
|
---|
[ec6047d8] | 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 " ">
|
---|
[87e1d46] | 9 | <!ENTITY libportal-md5sum "f94be41e8495ae7d6aaed046481daa61">
|
---|
[1f45a0f] | 10 | <!ENTITY libportal-size "76 KB">
|
---|
[87e1d46] | 11 | <!ENTITY libportal-buildsize "3.0 MB (with tests)">
|
---|
[1f45a0f] | 12 | <!ENTITY libportal-time "0.1 SBU (add 0.3 SBU for tests)">
|
---|
[ec6047d8] | 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 |
|
---|
[bbfdef7] | 33 | &lfs121_checked;
|
---|
[ec6047d8] | 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 |
|
---|
[5ea236f] | 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 |
|
---|
[ec6047d8] | 79 | <bridgehead renderas="sect3">libportal Dependencies</bridgehead>
|
---|
| 80 |
|
---|
| 81 | <bridgehead renderas="sect4">Required</bridgehead>
|
---|
| 82 | <para role="required">
|
---|
[c0bc0a9] | 83 | &gobject-introspection;
|
---|
[673f231] | 84 | </para>
|
---|
| 85 |
|
---|
| 86 | <bridgehead renderas="sect4">Recommended</bridgehead>
|
---|
| 87 | <para role="recommended">
|
---|
[1f45a0f] | 88 | <xref linkend="gtk3"/> and
|
---|
| 89 | <xref linkend="gtk4"/>
|
---|
[f21106a] | 90 | </para>
|
---|
| 91 |
|
---|
[1e17e6a5] | 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
|
---|
[701f830] | 101 | package to satisfy a build dependency.
|
---|
[1e17e6a5] | 102 | </para>
|
---|
| 103 |
|
---|
[f21106a] | 104 | <bridgehead renderas="sect4">Optional</bridgehead>
|
---|
| 105 | <para role="optional">
|
---|
[1f45a0f] | 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
|
---|
[f56d2e7] | 110 | <xref linkend="vala"/>
|
---|
[ec6047d8] | 111 | </para>
|
---|
| 112 |
|
---|
| 113 | </sect2>
|
---|
| 114 |
|
---|
| 115 | <sect2 role="installation">
|
---|
| 116 | <title>Installation of libportal</title>
|
---|
| 117 |
|
---|
[75b6dff] | 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
|
---|
[77e8024] | 122 | conflicts (as the <systemitem role="username">root</systemitem>
|
---|
| 123 | user):
|
---|
[75b6dff] | 124 | </para>
|
---|
[77e8024] | 125 | <screen role="root"><userinput>if [ -e /usr/include/libportal ]; then
|
---|
[75b6dff] | 126 | rm -rf /usr/include/libportal.old &&
|
---|
| 127 | mv -vf /usr/include/libportal{,.old}
|
---|
| 128 | fi</userinput></screen>
|
---|
| 129 | </warning>
|
---|
| 130 |
|
---|
[5ea236f] | 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 |
|
---|
[ec6047d8] | 138 | <para>
|
---|
| 139 | Install <application>libportal</application> by running the following
|
---|
| 140 | commands:
|
---|
| 141 | </para>
|
---|
| 142 |
|
---|
| 143 | <screen><userinput>mkdir build &&
|
---|
| 144 | cd build &&
|
---|
| 145 |
|
---|
[7c83169b] | 146 | meson setup --prefix=/usr --buildtype=release -D docs=false .. &&
|
---|
[a4bf068b] | 147 | ninja</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 &&
|
---|
[7c83169b] | 155 | meson configure -D docs=true &&
|
---|
[ec6047d8] | 156 | ninja</userinput></screen>
|
---|
| 157 |
|
---|
| 158 | <para>
|
---|
[1f45a0f] | 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.
|
---|
[ec6047d8] | 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>
|
---|
[215f39e] | 169 |
|
---|
[ec6047d8] | 170 | </sect2>
|
---|
| 171 |
|
---|
[f21106a] | 172 | <sect2 role="commands">
|
---|
| 173 | <title>Command Explanations</title>
|
---|
| 174 |
|
---|
[20f070d8] | 175 | <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
---|
| 176 | href="../../xincludes/meson-buildtype-release.xml"/>
|
---|
| 177 |
|
---|
[f21106a] | 178 | <para>
|
---|
[7c83169b] | 179 | <parameter>-D docs=false</parameter>: &gi-doc-disable;
|
---|
[f21106a] | 180 | </para>
|
---|
| 181 |
|
---|
[1f45a0f] | 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)
|
---|
[86bb3fe8] | 184 | <para>
|
---|
[7c83169b] | 185 | <option>-D backends=gtk3,gtk4,qt5</option>: This switch allows you to set
|
---|
[86bb3fe8] | 186 | the available backends. You can use it to disable the dependency on gtk-3,
|
---|
[1fe05eb] | 187 | gtk-4, or qt-5. Most applications that use libportal will use either
|
---|
[86bb3fe8] | 188 | gtk-4 or gtk-3. The default is to build all three backends.
|
---|
| 189 | </para>
|
---|
[1f45a0f] | 190 | -->
|
---|
[86bb3fe8] | 191 |
|
---|
[f21106a] | 192 | </sect2>
|
---|
[ec6047d8] | 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>
|
---|
[673f231] | 206 | libportal.so,
|
---|
| 207 | libportal-gtk3.so,
|
---|
| 208 | libportal-gtk4.so, and
|
---|
| 209 | libportal-qt5.so
|
---|
[ec6047d8] | 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>
|
---|
[4c24eb0a] | 227 | provides GIO-style async APIs for most Flatpak portals
|
---|
[ec6047d8] | 228 | </para>
|
---|
| 229 | <indexterm zone="libportal libportal-lib">
|
---|
| 230 | <primary sortas="c-libportal">libportal.so</primary>
|
---|
| 231 | </indexterm>
|
---|
| 232 | </listitem>
|
---|
| 233 | </varlistentry>
|
---|
[673f231] | 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
|
---|
[1f45a0f] | 240 | portals
|
---|
[673f231] | 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
|
---|
[1f45a0f] | 253 | portals
|
---|
[673f231] | 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
|
---|
[1f45a0f] | 266 | portals
|
---|
[673f231] | 267 | </para>
|
---|
| 268 | <indexterm zone="libportal libportal-qt5">
|
---|
| 269 | <primary sortas="c-libportal-qt5">libportal-qt5.so</primary>
|
---|
| 270 | </indexterm>
|
---|
| 271 | </listitem>
|
---|
| 272 | </varlistentry>
|
---|
[ec6047d8] | 273 | </variablelist>
|
---|
| 274 | </sect2>
|
---|
[4c24eb0a] | 275 |
|
---|
[ec6047d8] | 276 | </sect1>
|
---|