source: general/prog/vala.xml@ a1492906

12.1 ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18
Last change on this file since a1492906 was e1e58be, checked in by Pierre Labastie <pierre.labastie@…>, 9 months ago

Remove all ftp urls

neither firefox nor epiphany can download them, and they are not
well maintained, because rarely tested.
This is WIP because the "(HTTP)" part of "Download (HTTP)" will
need to be removed too.
But let's see what users think first...

  • Property mode set to 100644
File size: 8.2 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
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
7 <!ENTITY vala-download-http "&gnome-download-http;/vala/&vala-major-version;/vala-&vala-version;.tar.xz">
8 <!ENTITY vala-download-ftp " ">
9 <!ENTITY vala-md5sum "c8d3e343c93b1e4c1070d662da768de6">
10 <!ENTITY vala-size "3.8 MB">
11 <!ENTITY vala-buildsize "199 MB (add 18 MB for tests)">
12 <!ENTITY vala-time "0.5 SBU (add 1.3 SBU for tests; both using parallelism=4)">
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
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>
34
35 &lfs120_checked;
36
37 <bridgehead renderas="sect3">Package Information</bridgehead>
38 <itemizedlist spacing="compact">
39 <listitem>
40 <para>
41 Download (HTTP): <ulink url="&vala-download-http;"/>
42 </para>
43 </listitem>
44 <listitem>
45 <para>
46 Download (FTP): <ulink url="&vala-download-ftp;"/>
47 </para>
48 </listitem>
49 <listitem>
50 <para>
51 Download MD5 sum: &vala-md5sum;
52 </para>
53 </listitem>
54 <listitem>
55 <para>
56 Download size: &vala-size;
57 </para>
58 </listitem>
59 <listitem>
60 <para>
61 Estimated disk space required: &vala-buildsize;
62 </para>
63 </listitem>
64 <listitem>
65 <para>
66 Estimated build time: &vala-time;
67 </para>
68 </listitem>
69 </itemizedlist>
70
71 <bridgehead renderas="sect3">Vala Dependencies</bridgehead>
72
73 <bridgehead renderas="sect4">Required</bridgehead>
74 <para role="required">
75 <xref linkend="glib2"/>
76 </para>
77
78 <bridgehead renderas="sect4">Recommended</bridgehead>
79 <para role="recommended">
80 <xref linkend="graphviz"/> (Required for valadoc)
81 </para>
82
83 <bridgehead renderas="sect4">Optional</bridgehead>
84 <para role="optional">
85 <xref linkend="dbus"/> (Required for the tests),
86 <xref linkend="libxslt"/> (Required for generating the documentation),
87 <ulink url="https://ftpmirror.gnu.org/gnu/help2man/">help2man</ulink>,
88 <ulink url="https://github.com/relaxng/jing-trang">jing</ulink>, and
89 <ulink url="https://weasyprint.org/">weasyprint</ulink>
90 </para>
91
92 </sect2>
93
94 <sect2 role="installation">
95 <title>Installation of Vala</title>
96
97 <!-- https://gitlab.gnome.org/GNOME/vala/-/issues/1485 -->
98 <para>
99 At first, fix an issue causing <command>vapigen</command> to crash
100 building some packages (for example NetworkManager):
101 </para>
102
103<screen><userinput>sed -e "/next_pos =/s/$/ \
104 char buf[16]; \
105 Memory.copy (buf, next_pos, \
106 (end - next_pos >= buf.length ? buf.length - 1 : end - next_pos));/" \
107 -e 's/(string) next_pos/(string) buf/' \
108 -i vala/valamarkupreader.vala</userinput></screen>
109
110 <para>
111 Install <application>Vala</application> by running the following
112 commands:
113 </para>
114
115<screen><userinput>./configure --prefix=/usr &amp;&amp;
116make bootstrap</userinput></screen>
117
118 <para>
119 To test the results, issue: <command>make check</command>.
120 </para>
121
122 <para>
123 Now, as the <systemitem class="username">root</systemitem> user:
124 </para>
125
126<screen role="root"><userinput>make install</userinput></screen>
127
128 </sect2>
129
130 <sect2 role="commands">
131 <title>Command Explanations</title>
132
133 <para>
134 <parameter>bootstrap</parameter>: This <command>make</command>
135 target forces the building system to build the package twice and use
136 the <command>vala</command> executable produced in the first build
137 to regenerate the <filename class="extension">.c</filename> files
138 from the <filename class="extension">.vala</filename> files if needed.
139 Since the <command>vala</command> executable is not installed yet,
140 this is necessary for really fixing the crash because the fix has
141 modified a <filename class="extension">.vala</filename> file.
142 </para>
143
144 <para>
145 <option>--disable-valadoc</option>: This option is
146 required if <xref linkend="graphviz"/> is not installed.
147 </para>
148 </sect2>
149
150 <sect2 role="content">
151 <title>Contents</title>
152
153 <segmentedlist>
154 <segtitle>Installed Programs</segtitle>
155 <segtitle>Installed Library</segtitle>
156 <segtitle>Installed Directories</segtitle>
157
158 <seglistitem>
159 <seg>
160 vala,
161 vala-&vala-major-version;,
162 valac,
163 valadoc,
164 vala-gen-introspect, and
165 vapigen (symlinks);
166
167 valac-&vala-major-version;,
168 valadoc-&vala-major-version;,
169 vala-gen-introspect-&vala-major-version;, and
170 vapigen-&vala-major-version;
171 </seg>
172 <seg>
173 libvala-&vala-major-version;.so and
174 libvaladoc-&vala-major-version;.so
175 </seg>
176 <seg>
177 /usr/include/vala-&vala-major-version;,
178 /usr/include/valadoc-&vala-major-version;,
179 /usr/lib/vala-&vala-major-version;,
180 /usr/lib/valadoc-&vala-major-version;,
181 /usr/share/vala,
182 /usr/share/vala-&vala-major-version;,
183 /usr/share/valadoc-&vala-major-version;, and
184 /usr/share/devhelp/books/vala-&vala-major-version;
185 </seg>
186 </seglistitem>
187 </segmentedlist>
188
189 <variablelist>
190 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
191 <?dbfo list-presentation="list"?>
192 <?dbhtml list-presentation="table"?>
193
194 <varlistentry id="valac">
195 <term><command>valac</command></term>
196 <listitem>
197 <para>
198 is a compiler that translates <application>Vala</application>
199 source code into C source and header files
200 </para>
201 <indexterm zone="vala valac">
202 <primary sortas="b-valac">valac</primary>
203 </indexterm>
204 </listitem>
205 </varlistentry>
206
207 <varlistentry id="valadoc">
208 <term><command>valadoc</command></term>
209 <listitem>
210 <para>
211 is a documentation generator for generating API documentation
212 from <application>Vala</application> source code based on libvala
213 </para>
214 <indexterm zone="vala valadoc">
215 <primary sortas="b-valadoc">valadoc</primary>
216 </indexterm>
217 </listitem>
218 </varlistentry>
219
220 <varlistentry id="vala-gen-introspect">
221 <term><command>vala-gen-introspect</command></term>
222 <listitem>
223 <para>
224 generates a GI file for GObject and
225 <application>GLib</application> based packages
226 </para>
227 <indexterm zone="vala vala-gen-introspect">
228 <primary sortas="b-vala-gen-introspect">vala-gen-introspect</primary>
229 </indexterm>
230 </listitem>
231 </varlistentry>
232
233 <varlistentry id="vapigen">
234 <term><command>vapigen</command></term>
235 <listitem>
236 <para>
237 is an utility which generates <application>Vala</application> API
238 (VAPI) files from GI files
239 </para>
240 <indexterm zone="vala vapigen">
241 <primary sortas="b-vapigen">vapigen</primary>
242 </indexterm>
243 </listitem>
244 </varlistentry>
245
246 <varlistentry id="libvala">
247 <term><filename class="libraryfile">libvala-&vala-major-version;.so</filename></term>
248 <listitem>
249 <para>
250 contains the <application>Vala</application> API functions
251 </para>
252 <indexterm zone="vala libvala">
253 <primary sortas="c-libvala">libvala-&vala-major-version;.so</primary>
254 </indexterm>
255 </listitem>
256 </varlistentry>
257
258 </variablelist>
259
260 </sect2>
261
262</sect1>
Note: See TracBrowser for help on using the repository browser.