libportal-0.7.1

Introduction to libportal

The libportal package provides a library that contains GIO-style async APIs for most Flatpak portals.

This package is known to build and work properly using an LFS 12.2 platform.

Package Information

Additional Downloads

libportal Dependencies

Required

GLib-2.80.4 (with GObject Introspection)

Recommended

Recommended (Runtime)

To make this package really useful, install xdg-desktop-portal-1.18.2, xdg-desktop-portal-gtk-1.15.1, xdg-desktop-portal-gnome-46.2 (if running a GNOME desktop environment), and xdg-desktop-portal-lxqt-1.0.2 (if running a LXQt desktop environment). They are not needed if only using this package to satisfy a build dependency.

Optional

Gi-DocGen-2024.1 (for documentation), dbusmock-0.32.1 and pytest-8.3.2 (for testing), qt5-components-5.15.14 (for the Qt5 version of libportal), and Vala-0.56.17

Installation of libportal

[Warning]

Warning

If a previous version of libportal is installed, move the headers out of the way so that later packages do not encounter conflicts (as the root user):

if [ -e /usr/include/libportal ]; then
    rm -rf /usr/include/libportal.old &&
    mv -vf /usr/include/libportal{,.old}
fi

If running the test suite, apply a patch to fix several test failures with python-dbusmock 0.30.0 or later:

patch -Np1 -i ../libportal-0.7.1-testsuite_fix-1.patch

Install libportal by running the following commands:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release -D docs=false .. &&
ninja

If you have Gi-DocGen-2024.1 installed and wish to build the API documentation for this package, issue:

sed "/output/s/-1/-0.7.1/" -i ../doc/meson.build &&
meson configure -D docs=true                   &&
ninja

To test the results, issue: ninja test. Note that additional dbus-daemon processes may need to be killed after the tests are run.

Now, as the root user:

ninja install

Command Explanations

--buildtype=release: Specify a buildtype suitable for stable releases of the package, as the default may produce unoptimized binaries.

-D docs=false: Allow building this package without Gi-DocGen-2024.1 installed. If you have Gi-DocGen-2024.1 installed and you wish to rebuild and install the API documentation, a meson configure command will reset this option.

Contents

Installed Programs: None
Installed Libraries: libportal.so, libportal-gtk3.so, libportal-gtk4.so, and libportal-qt5.so
Installed Directories: /usr/include/libportal and /usr/share/gtk-doc/html/libportal

Short Descriptions

libportal.so

provides GIO-style async APIs for most Flatpak portals

libportal-gtk3.so

provides GTK+-3 specific functions for interacting with Flatpak portals

libportal-gtk4.so

provides GTK-4 specific functions for interacting with Flatpak portals

libportal-qt5.so

provides Qt5 specific functions for interacting with Flatpak portals