Vala-0.56.13

Introduction to Vala

Vala is a new programming language that aims to bring modern programming language features to GNOME developers without imposing any additional runtime requirements and without using a different ABI compared to applications and libraries written in C.

[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

Vala Dependencies

Required

GLib-2.78.1

Recommended

Optional

dbus-1.14.10 (Required for the tests), libxslt-1.1.38 (Required for generating the documentation), help2man, jing, and weasyprint

Installation of Vala

At first, fix an issue causing vapigen to crash building some packages (for example NetworkManager):

sed -e "/next_pos =/s/$/ \
        char buf[16]; \
        Memory.copy (buf, next_pos, \
        (end - next_pos >= buf.length ? buf.length - 1 : end - next_pos));/" \
    -e 's/(string) next_pos/(string) buf/' \
    -i vala/valamarkupreader.vala

Install Vala by running the following commands:

./configure --prefix=/usr &&
make bootstrap

To test the results, issue: make check.

Now, as the root user:

make install

Command Explanations

bootstrap: This make target forces the building system to build the package twice and use the vala executable produced in the first build to regenerate the .c files from the .vala files if needed. Since the vala executable is not installed yet, this is necessary for really fixing the crash because the fix has modified a .vala file.

--disable-valadoc: This option is required if Graphviz-9.0.0 is not installed.

Contents

Installed Programs: vala, vala-0.56, valac, valadoc, vala-gen-introspect, and vapigen (symlinks); valac-0.56, valadoc-0.56, vala-gen-introspect-0.56, and vapigen-0.56
Installed Library: libvala-0.56.so and libvaladoc-0.56.so
Installed Directories: /usr/include/vala-0.56, /usr/include/valadoc-0.56, /usr/lib/vala-0.56, /usr/lib/valadoc-0.56, /usr/share/vala, /usr/share/vala-0.56, /usr/share/valadoc-0.56, and /usr/share/devhelp/books/vala-0.56

Short Descriptions

valac

is a compiler that translates Vala source code into C source and header files

valadoc

is a documentation generator for generating API documentation from Vala source code based on libvala

vala-gen-introspect

generates a GI file for GObject and GLib based packages

vapigen

is an utility which generates Vala API (VAPI) files from GI files

libvala-0.56.so

contains the Vala API functions