source: general/prog/vala.xml@ d598575

lazarus trunk
Last change on this file since d598575 was c0bc0a9, checked in by Xi Ruoyao <xry111@…>, 3 months ago

Update to glib-2.80.0 and gobject-introspection-1.80.0

Merge gobject-introspection into glib page to better handle a circular
dependency between these two packages.

  • Property mode set to 100644
File size: 8.6 KB
RevLine 
[ab4fdfc]1<?xml version="1.0" encoding="UTF-8"?>
[a1c3701]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
[41aad3e3]7 <!ENTITY vala-download-http "&gnome-download-http;/vala/&vala-major-version;/vala-&vala-version;.tar.xz">
[e1e58be]8 <!ENTITY vala-download-ftp " ">
[9c5827f]9 <!ENTITY vala-md5sum "d93bec6558730f007ae23cff8521de57">
[67042ee]10 <!ENTITY vala-size "3.8 MB">
[b18c081]11 <!ENTITY vala-buildsize "160 MB (add 18 MB for tests)">
12 <!ENTITY vala-time "0.5 SBU (add 1.0 SBU for tests; both using parallelism=4)">
[a1c3701]13]>
14
15<sect1 id="vala" xreflabel="Vala-&vala-version;">
16 <?dbhtml filename="vala.html"?>
17
18 <title>Vala-&vala-version;</title>
19
20 <indexterm zone="vala">
21 <primary sortas="a-Vala">Vala</primary>
22 </indexterm>
23
24 <sect2 role="package">
25 <title>Introduction to Vala</title>
26
[7ded7e3]27 <para>
28 <application>Vala</application> is a new programming language that
29 aims to bring modern programming language features to
30 <application>GNOME</application> developers without imposing any
31 additional runtime requirements and without using a different ABI
32 compared to applications and libraries written in C.
33 </para>
[a1c3701]34
[1241ea19]35 &lfs121_checked;
[a1c3701]36
37 <bridgehead renderas="sect3">Package Information</bridgehead>
38 <itemizedlist spacing="compact">
39 <listitem>
[7ded7e3]40 <para>
41 Download (HTTP): <ulink url="&vala-download-http;"/>
42 </para>
[a1c3701]43 </listitem>
44 <listitem>
[7ded7e3]45 <para>
46 Download (FTP): <ulink url="&vala-download-ftp;"/>
47 </para>
[a1c3701]48 </listitem>
49 <listitem>
[7ded7e3]50 <para>
51 Download MD5 sum: &vala-md5sum;
52 </para>
[a1c3701]53 </listitem>
54 <listitem>
[7ded7e3]55 <para>
56 Download size: &vala-size;
57 </para>
[a1c3701]58 </listitem>
59 <listitem>
[7ded7e3]60 <para>
61 Estimated disk space required: &vala-buildsize;
62 </para>
[a1c3701]63 </listitem>
64 <listitem>
[7ded7e3]65 <para>
66 Estimated build time: &vala-time;
67 </para>
[a1c3701]68 </listitem>
69 </itemizedlist>
[dba62f05]70
[a1c3701]71 <bridgehead renderas="sect3">Vala Dependencies</bridgehead>
72
73 <bridgehead renderas="sect4">Required</bridgehead>
[b8a081c]74 <para role="required">
[c0bc0a9]75 <xref linkend="glib2"/> (GObject Introspection required for the tests)
[b8a081c]76 </para>
[a1c3701]77
[7f7c2b0]78 <bridgehead renderas="sect4">Recommended</bridgehead>
79 <para role="recommended">
80 <xref linkend="graphviz"/> (Required for valadoc)
81 </para>
82
[a1c3701]83 <bridgehead renderas="sect4">Optional</bridgehead>
[b8a081c]84 <para role="optional">
[5637ae8]85 <xref linkend="dbus"/> (Required for the tests),
[03bb997]86 <xref linkend="libxslt"/> (Required for generating the documentation),
[c53fe5a7]87 <ulink url="https://ftpmirror.gnu.org/gnu/help2man/">help2man</ulink>,
88 <ulink url="https://github.com/relaxng/jing-trang">jing</ulink>, and
[03bb997]89 <ulink url="https://weasyprint.org/">weasyprint</ulink>
[b8a081c]90 </para>
[a1c3701]91
92 </sect2>
93
94 <sect2 role="installation">
95 <title>Installation of Vala</title>
96
[e34c9a40]97 <!-- https://gitlab.gnome.org/GNOME/vala/-/issues/1485 -->
[b18c081]98 <!-- Fixed in vala-0.56.14
[e34c9a40]99 <para>
100 At first, fix an issue causing <command>vapigen</command> to crash
101 building some packages (for example NetworkManager):
102 </para>
103
104<screen><userinput>sed -e "/next_pos =/s/$/ \
105 char buf[16]; \
106 Memory.copy (buf, next_pos, \
107 (end - next_pos >= buf.length ? buf.length - 1 : end - next_pos));/" \
108 -e 's/(string) next_pos/(string) buf/' \
109 -i vala/valamarkupreader.vala</userinput></screen>
[b18c081]110 -->
[e34c9a40]111
[3f925a4]112 <!-- See Ticket #19283 and
[9c5827f]113 https://gitlab.gnome.org/GNOME/vala/-/issues/1524
[3f925a4]114 <para>
115 First, fix a build failure that occurs with graphviz-10.x:
116 </para>
117
118<screen><userinput>sed -i '/gvc.h/a#define TRUE 1' libvaladoc/gvc-compat.c</userinput></screen>
[9c5827f]119-->
[3f925a4]120
[de33b2a]121 <para>
122 Install <application>Vala</application> by running the following
123 commands:
124 </para>
125
[2b999b7]126<screen><userinput>./configure --prefix=/usr &amp;&amp;
[7c61e1b]127make</userinput></screen>
[a1c3701]128
[7ded7e3]129 <para>
[e1617c94]130 To test the results, issue: <command>make check</command>.
[7ded7e3]131 </para>
[a1c3701]132
[7ded7e3]133 <para>
134 Now, as the <systemitem class="username">root</systemitem> user:
135 </para>
[a1c3701]136
137<screen role="root"><userinput>make install</userinput></screen>
138
139 </sect2>
140
[565321fe]141 <sect2 role="commands">
142 <title>Command Explanations</title>
143
[e34c9a40]144 <para>
[e872138]145 <option>bootstrap</option>: This <command>make</command>
[e34c9a40]146 target forces the building system to build the package twice and use
147 the <command>vala</command> executable produced in the first build
148 to regenerate the <filename class="extension">.c</filename> files
149 from the <filename class="extension">.vala</filename> files if needed.
[e872138]150 If a <command>vala</command> executable is not installed yet and
[3525199c]151 you've modified any <filename class="extension">.vala</filename> files
[e872138]152 in the source tree, run <command>make bootstrap</command> instead of
153 <command>make</command>.
[e34c9a40]154 </para>
155
[565321fe]156 <para>
157 <option>--disable-valadoc</option>: This option is
158 required if <xref linkend="graphviz"/> is not installed.
159 </para>
160 </sect2>
161
[a1c3701]162 <sect2 role="content">
163 <title>Contents</title>
164
165 <segmentedlist>
166 <segtitle>Installed Programs</segtitle>
167 <segtitle>Installed Library</segtitle>
168 <segtitle>Installed Directories</segtitle>
169
170 <seglistitem>
[e3dcc43]171 <seg>
[8558044]172 vala,
173 vala-&vala-major-version;,
174 valac,
[b7e550f2]175 valadoc,
[488b738f]176 vala-gen-introspect, and
[96f2797]177 vapigen (symlinks);
178
179 valac-&vala-major-version;,
[b7e550f2]180 valadoc-&vala-major-version;,
[488b738f]181 vala-gen-introspect-&vala-major-version;, and
[5ee1266]182 vapigen-&vala-major-version;
[e3dcc43]183 </seg>
184 <seg>
[96f2797]185 libvala-&vala-major-version;.so and
[b7e550f2]186 libvaladoc-&vala-major-version;.so
[e3dcc43]187 </seg>
[0913f48]188 <seg>
[41aad3e3]189 /usr/include/vala-&vala-major-version;,
[b7e550f2]190 /usr/include/valadoc-&vala-major-version;,
[41aad3e3]191 /usr/lib/vala-&vala-major-version;,
[3cdae40]192 /usr/lib/valadoc-&vala-major-version;,
[1ca65eb]193 /usr/share/vala,
[3cdae40]194 /usr/share/vala-&vala-major-version;,
195 /usr/share/valadoc-&vala-major-version;, and
196 /usr/share/devhelp/books/vala-&vala-major-version;
[0913f48]197 </seg>
[a1c3701]198 </seglistitem>
199 </segmentedlist>
200
201 <variablelist>
202 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
203 <?dbfo list-presentation="list"?>
204 <?dbhtml list-presentation="table"?>
205
206 <varlistentry id="valac">
207 <term><command>valac</command></term>
208 <listitem>
[7ded7e3]209 <para>
210 is a compiler that translates <application>Vala</application>
[4c24eb0a]211 source code into C source and header files
[7ded7e3]212 </para>
[a1c3701]213 <indexterm zone="vala valac">
214 <primary sortas="b-valac">valac</primary>
215 </indexterm>
216 </listitem>
217 </varlistentry>
218
[3cdae40]219 <varlistentry id="valadoc">
220 <term><command>valadoc</command></term>
221 <listitem>
222 <para>
223 is a documentation generator for generating API documentation
[4c24eb0a]224 from <application>Vala</application> source code based on libvala
[3cdae40]225 </para>
226 <indexterm zone="vala valadoc">
227 <primary sortas="b-valadoc">valadoc</primary>
228 </indexterm>
229 </listitem>
230 </varlistentry>
231
[e3dcc43]232 <varlistentry id="vala-gen-introspect">
233 <term><command>vala-gen-introspect</command></term>
234 <listitem>
[7ded7e3]235 <para>
[816595b]236 generates a GI file for GObject and
[4c24eb0a]237 <application>GLib</application> based packages
[7ded7e3]238 </para>
[e3dcc43]239 <indexterm zone="vala vala-gen-introspect">
240 <primary sortas="b-vala-gen-introspect">vala-gen-introspect</primary>
241 </indexterm>
242 </listitem>
243 </varlistentry>
244
[a1c3701]245 <varlistentry id="vapigen">
246 <term><command>vapigen</command></term>
247 <listitem>
[7ded7e3]248 <para>
[2c7a1ce]249 is an utility which generates <application>Vala</application> API
[4c24eb0a]250 (VAPI) files from GI files
[7ded7e3]251 </para>
[a1c3701]252 <indexterm zone="vala vapigen">
253 <primary sortas="b-vapigen">vapigen</primary>
254 </indexterm>
255 </listitem>
256 </varlistentry>
257
[816595b]258 <varlistentry id="libvala">
[41aad3e3]259 <term><filename class="libraryfile">libvala-&vala-major-version;.so</filename></term>
[a1c3701]260 <listitem>
[7ded7e3]261 <para>
[4c24eb0a]262 contains the <application>Vala</application> API functions
[7ded7e3]263 </para>
[816595b]264 <indexterm zone="vala libvala">
[41aad3e3]265 <primary sortas="c-libvala">libvala-&vala-major-version;.so</primary>
[a1c3701]266 </indexterm>
267 </listitem>
268 </varlistentry>
269
270 </variablelist>
271
272 </sect2>
273
274</sect1>
Note: See TracBrowser for help on using the repository browser.