libadwaita-1.4.0

Introduction to libadwaita

The libadwaita package provides additional GTK4 UI widgets for use in developing user interfaces. It is used primarily for GNOME applications.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

libadwaita Dependencies

Required

AppStream-1.0.0 and GTK-4.12.4

Recommended

Optional

Gi-DocGen-2023.3

Installation of libadwaita

Adapt some AppStream API usage for AppStream-1.0.0 or later:

sed -e "/releases =/s/=.*/ =                             \
        as_release_list_get_entries                      \
        (as_component_get_releases_plain (component));/" \
    -e "/ developer_name =/s/=.*/ =                      \
        as_developer_get_name                            \
        (as_component_get_developer (component));/"      \
    -i src/adw-about-window.c

Install libadwaita by running the following commands:

mkdir build &&
cd    build &&

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

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

sed "s/apiversion/'1.4.0'/" -i ../doc/meson.build &&
meson configure -Dgtk_doc=true                    &&
ninja

To test the results, issue: ninja test. The tests must be run from a graphical session. One test named Validate appstream file is known to fail because the test input contains constructs deprecated by AppStream-1.0.0 or later.

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.

Contents

Installed Programs: adwaita-1-demo
Installed Libraries: libadwaita-1.so
Installed Directories: /usr/include/libadwaita-1

Short Descriptions

adwaita-1-demo

provides an example of how to use the libadwaita library

libadwaita-1.so

provides additional GTK widgets for use in creating user interfaces