mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-01-24 23:32:12 +08:00
275 lines
8.6 KiB
XML
275 lines
8.6 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
|
<!ENTITY % general-entities SYSTEM "../../general.ent">
|
|
%general-entities;
|
|
|
|
<!ENTITY vala-download-http "&gnome-download-http;/vala/&vala-major-version;/vala-&vala-version;.tar.xz">
|
|
<!ENTITY vala-download-ftp " ">
|
|
<!ENTITY vala-md5sum "ba7738749bfb5b3c159a55825c9e20bc">
|
|
<!ENTITY vala-size "3.8 MB">
|
|
<!ENTITY vala-buildsize "160 MB (add 18 MB for tests)">
|
|
<!ENTITY vala-time "0.5 SBU (add 1.0 SBU for tests; both using parallelism=4)">
|
|
]>
|
|
|
|
<sect1 id="vala" xreflabel="Vala-&vala-version;">
|
|
<?dbhtml filename="vala.html"?>
|
|
|
|
<title>Vala-&vala-version;</title>
|
|
|
|
<indexterm zone="vala">
|
|
<primary sortas="a-Vala">Vala</primary>
|
|
</indexterm>
|
|
|
|
<sect2 role="package">
|
|
<title>Introduction to Vala</title>
|
|
|
|
<para>
|
|
<application>Vala</application> is a new programming language that
|
|
aims to bring modern programming language features to
|
|
<application>GNOME</application> developers without imposing any
|
|
additional runtime requirements and without using a different ABI
|
|
compared to applications and libraries written in C.
|
|
</para>
|
|
|
|
&lfs121_checked;
|
|
|
|
<bridgehead renderas="sect3">Package Information</bridgehead>
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>
|
|
Download (HTTP): <ulink url="&vala-download-http;"/>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download (FTP): <ulink url="&vala-download-ftp;"/>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download MD5 sum: &vala-md5sum;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download size: &vala-size;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Estimated disk space required: &vala-buildsize;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Estimated build time: &vala-time;
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<bridgehead renderas="sect3">Vala Dependencies</bridgehead>
|
|
|
|
<bridgehead renderas="sect4">Required</bridgehead>
|
|
<para role="required">
|
|
<xref linkend="glib2"/> (GObject Introspection required for the tests)
|
|
</para>
|
|
|
|
<bridgehead renderas="sect4">Recommended</bridgehead>
|
|
<para role="recommended">
|
|
<xref linkend="graphviz"/> (Required for valadoc)
|
|
</para>
|
|
|
|
<bridgehead renderas="sect4">Optional</bridgehead>
|
|
<para role="optional">
|
|
<xref linkend="dbus"/> (Required for the tests),
|
|
<xref linkend="libxslt"/> (Required for generating the documentation),
|
|
<ulink url="https://ftpmirror.gnu.org/gnu/help2man/">help2man</ulink>,
|
|
<ulink url="https://github.com/relaxng/jing-trang">jing</ulink>, and
|
|
<ulink url="https://weasyprint.org/">weasyprint</ulink>
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="installation">
|
|
<title>Installation of Vala</title>
|
|
|
|
<!-- https://gitlab.gnome.org/GNOME/vala/-/issues/1485 -->
|
|
<!-- Fixed in vala-0.56.14
|
|
<para>
|
|
At first, fix an issue causing <command>vapigen</command> to crash
|
|
building some packages (for example NetworkManager):
|
|
</para>
|
|
|
|
<screen><userinput>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</userinput></screen>
|
|
-->
|
|
|
|
<!-- See Ticket #19283 and
|
|
https://gitlab.gnome.org/GNOME/vala/-/issues/1524
|
|
<para>
|
|
First, fix a build failure that occurs with graphviz-10.x:
|
|
</para>
|
|
|
|
<screen><userinput>sed -i '/gvc.h/a#define TRUE 1' libvaladoc/gvc-compat.c</userinput></screen>
|
|
-->
|
|
|
|
<para>
|
|
Install <application>Vala</application> by running the following
|
|
commands:
|
|
</para>
|
|
|
|
<screen><userinput>./configure --prefix=/usr &&
|
|
make</userinput></screen>
|
|
|
|
<para>
|
|
To test the results, issue: <command>make check</command>.
|
|
</para>
|
|
|
|
<para>
|
|
Now, as the <systemitem class="username">root</systemitem> user:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>make install</userinput></screen>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="commands">
|
|
<title>Command Explanations</title>
|
|
|
|
<para>
|
|
<option>bootstrap</option>: This <command>make</command>
|
|
target forces the building system to build the package twice and use
|
|
the <command>vala</command> executable produced in the first build
|
|
to regenerate the <filename class="extension">.c</filename> files
|
|
from the <filename class="extension">.vala</filename> files if needed.
|
|
If a <command>vala</command> executable is not installed yet and
|
|
you've modified any <filename class="extension">.vala</filename> files
|
|
in the source tree, run <command>make bootstrap</command> instead of
|
|
<command>make</command>.
|
|
</para>
|
|
|
|
<para>
|
|
<option>--disable-valadoc</option>: This option is
|
|
required if <xref linkend="graphviz"/> is not installed.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 role="content">
|
|
<title>Contents</title>
|
|
|
|
<segmentedlist>
|
|
<segtitle>Installed Programs</segtitle>
|
|
<segtitle>Installed Library</segtitle>
|
|
<segtitle>Installed Directories</segtitle>
|
|
|
|
<seglistitem>
|
|
<seg>
|
|
vala,
|
|
vala-&vala-major-version;,
|
|
valac,
|
|
valadoc,
|
|
vala-gen-introspect, and
|
|
vapigen (symlinks);
|
|
|
|
valac-&vala-major-version;,
|
|
valadoc-&vala-major-version;,
|
|
vala-gen-introspect-&vala-major-version;, and
|
|
vapigen-&vala-major-version;
|
|
</seg>
|
|
<seg>
|
|
libvala-&vala-major-version;.so and
|
|
libvaladoc-&vala-major-version;.so
|
|
</seg>
|
|
<seg>
|
|
/usr/include/vala-&vala-major-version;,
|
|
/usr/include/valadoc-&vala-major-version;,
|
|
/usr/lib/vala-&vala-major-version;,
|
|
/usr/lib/valadoc-&vala-major-version;,
|
|
/usr/share/vala,
|
|
/usr/share/vala-&vala-major-version;,
|
|
/usr/share/valadoc-&vala-major-version;, and
|
|
/usr/share/devhelp/books/vala-&vala-major-version;
|
|
</seg>
|
|
</seglistitem>
|
|
</segmentedlist>
|
|
|
|
<variablelist>
|
|
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
|
<?dbfo list-presentation="list"?>
|
|
<?dbhtml list-presentation="table"?>
|
|
|
|
<varlistentry id="valac">
|
|
<term><command>valac</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a compiler that translates <application>Vala</application>
|
|
source code into C source and header files
|
|
</para>
|
|
<indexterm zone="vala valac">
|
|
<primary sortas="b-valac">valac</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="valadoc">
|
|
<term><command>valadoc</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a documentation generator for generating API documentation
|
|
from <application>Vala</application> source code based on libvala
|
|
</para>
|
|
<indexterm zone="vala valadoc">
|
|
<primary sortas="b-valadoc">valadoc</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="vala-gen-introspect">
|
|
<term><command>vala-gen-introspect</command></term>
|
|
<listitem>
|
|
<para>
|
|
generates a GI file for GObject and
|
|
<application>GLib</application> based packages
|
|
</para>
|
|
<indexterm zone="vala vala-gen-introspect">
|
|
<primary sortas="b-vala-gen-introspect">vala-gen-introspect</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="vapigen">
|
|
<term><command>vapigen</command></term>
|
|
<listitem>
|
|
<para>
|
|
is an utility which generates <application>Vala</application> API
|
|
(VAPI) files from GI files
|
|
</para>
|
|
<indexterm zone="vala vapigen">
|
|
<primary sortas="b-vapigen">vapigen</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="libvala">
|
|
<term><filename class="libraryfile">libvala-&vala-major-version;.so</filename></term>
|
|
<listitem>
|
|
<para>
|
|
contains the <application>Vala</application> API functions
|
|
</para>
|
|
<indexterm zone="vala libvala">
|
|
<primary sortas="c-libvala">libvala-&vala-major-version;.so</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|