source: general/prog/lazarus.xml@ a722d59

lazarus
Last change on this file since a722d59 was cd255e1, checked in by Thomas Trepl <thomas@…>, 7 months ago

Upgrade Lazarus-3.2, add QT6 support to Lazarus

  • Property mode set to 100644
File size: 6.1 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 <!--
8 NOTE:
9 Whenever upgrading to another version of Lazarus,
10 update qt5pas.xml, too!
11 -->
12 <!ENTITY lazarus-download-http "https://downloads.sourceforge.net/project/lazarus/Lazarus Zip _ GZip/Lazarus &lazarus-version;/lazarus-&lazarus-version;-0.tar.gz">
13 <!ENTITY lazarus-md5sum "&lazarus-chksum;">
14 <!ENTITY lazarus-size "&lazarus-pkgsize;">
15 <!ENTITY lazarus-buildsize "817.2 MB">
16 <!ENTITY lazarus-time "1.5 SBU">
17]>
18
19<sect1 id="lazarus" xreflabel="lazarus-&lazarus-version;">
20 <?dbhtml filename="lazarus.html"?>
21
22 <title>Lazarus-&lazarus-version;</title>
23
24 <indexterm zone="lazarus">
25 <primary sortas="a-lazarus">lazarus</primary>
26 </indexterm>
27
28 <sect2 role="package">
29 <title>Introduction to lazarus</title>
30
31 <para><!-- copied from https://www.lazarus-ide.org/ -->
32 Lazarus is a Delphi compatible cross-platform IDE for Rapid
33 Application Development. It has variety of components ready
34 for use and a graphical form designer to easily create complex
35 graphical user interfaces.
36 </para>
37
38 &lfs121_checked;
39
40 <bridgehead renderas="sect3">Package Information</bridgehead>
41 <itemizedlist spacing="compact">
42 <listitem>
43 <para>
44 Download (HTTP): <ulink url="&lazarus-download-http;"/>
45 </para>
46 </listitem>
47 <listitem>
48 <para>
49 Download MD5 sum: &lazarus-md5sum;
50 </para>
51 </listitem>
52 <listitem>
53 <para>
54 Download size: &lazarus-size;
55 </para>
56 </listitem>
57 <listitem>
58 <para>
59 Estimated disk space required: &lazarus-buildsize;
60 </para>
61 </listitem>
62 <listitem>
63 <para>
64 Estimated build time: &lazarus-time;
65 </para>
66 </listitem>
67 </itemizedlist>
68
69 <bridgehead renderas="sect3">Lazarus Dependencies</bridgehead>
70 <para role="required">
71 <xref linkend="fpc"/>, and one of
72 <xref linkend="qt5"/> and <xref linkend="qt5pas"/> for QT5 based IDE,
73 <xref linkend="qt6"/> and <xref linkend="qt6pas"/> for QT6 based IDE,
74 or
75 <xref linkend="gtk3"/> for Gtk3 based IDE
76 </para>
77<!--
78 <para condition="html" role="usernotes">User Notes:
79 <ulink url="&blfs-wiki;/lazarus"/></para>
80-->
81 </sect2>
82
83 <sect2 role="installation">
84 <title>Installation of Lazarus</title>
85
86 <para>
87 Ensure that the source tree is in proper state:
88 </para>
89
90<screen><userinput>make -j1 FPC=/usr/bin/fpc clean</userinput></screen>
91
92<!--
93 Looks like that even both versions (gtk3, qt5) can be on one machine
94 when the binaries 'lazarus' and 'startlazarus' are moved to
95 lazarus -> lazarus-gtk3
96 startlazarus -> startlazarus-gtk3
97 and after building the QT5 variant
98 lazarus -> lazarus-qt5
99 startlazarus -> startlazarus-qt5
100 and than symlink lazarus/startlazarus to the desired ones.
101 (it needs to be analyzed more deeply)
102
103 Instructions are taken from ArchLinux and adopted to LFS
104-->
105 <para>
106 If you want to build <application>Lazarus</application> with
107 the gtk3 toolkit, build the package by running the following
108 commands, otherwise skip the following instructions and proceed
109 to the instructions to build the QT5 based variant below.
110 </para>
111
112<screen><userinput>make -j1 FPC=/usr/bin/fpc LCL_PLATFORM=gtk3 bigide</userinput></screen>
113
114 <para>
115 If the gtk3 variant has bee built, skip the QT5 and QT6 section and
116 proceed to the installation.
117 Otherwise <application>Lazarus</application> is to be built using
118 the QT5 library by running the following commands:
119 </para>
120
121<screen><userinput>make -j1 FPC=/usr/bin/fpc LCL_PLATFORM=qt5 bigide</userinput></screen>
122
123 <para>
124 Now proceed to the installation.
125 </para>
126
127 <para>
128 <application>Lazarus</application> can also be built using the
129 QT6 library. Build it in similar way:
130 </para>
131<screen><userinput>make -j1 FPC=/usr/bin/fpc LCL_PLATFORM=qt6 bigide</userinput></screen>
132
133 <para>
134 Likewise, a gtk2 variant can be built in similar way - just use
135 LCL_PLATFORM=gtk2 in the <code>make ... bigide</code> command. It
136 is not included here as gtk2 is quite outdated and no longer included
137 in the BLFS book.
138 </para>
139
140 <para>
141 This package does not come with a test suite.
142 </para>
143
144 <para>
145 Now, install <application>lazarus</application> as the
146 <systemitem class="username">root</systemitem> user:
147 </para>
148
149<screen role="root"><userinput>make INSTALL_PREFIX=/usr distinstall
150
151mv /usr/share/lazarus/docs /usr/share/doc/lazarus
152
153mv /usr/share/lazarus /usr/lib/
154for L in $(find /usr/bin -type l); do
155 ln -svf "$(readlink $L | sed 's@/share/@/lib/@')" "$L"
156done
157
158sed -e 's|\(Categories\).*|\1=IDE;Development;|' \
159 -i /usr/share/applications/lazarus.desktop
160
161install -Dm644 images/ide_icon48x48.png \
162 /usr/share/pixmaps/lazarus.png</userinput></screen>
163
164 </sect2>
165
166 <sect2 role="content">
167 <title>Contents</title>
168
169 <segmentedlist>
170 <segtitle>Installed Program</segtitle>
171 <segtitle>Installed Libraries</segtitle>
172 <segtitle>Installed Directories</segtitle>
173
174 <seglistitem>
175 <seg>startlazarus, lazarus-ide, lrstolfm, updatepofiles, lazbuild, lazres</seg>
176 <seg>None</seg>
177 <seg>/usr/lib/lazarus</seg>
178 </seglistitem>
179 </segmentedlist>
180
181 <variablelist>
182 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
183 <?dbfo list-presentation="list"?>
184 <?dbhtml list-presentation="table"?>
185
186 <varlistentry id="lazarus-pgm">
187 <term><filename class="libraryfile">startlazarus</filename></term>
188 <listitem>
189 <para>
190 Starting the Delphi-like IDE
191 </para>
192 <indexterm zone="lazarus lazarus-pgm">
193 <primary sortas="b-lazarus">startlazarus</primary>
194 </indexterm>
195 </listitem>
196 </varlistentry>
197
198 </variablelist>
199
200 </sect2>
201
202</sect1>
Note: See TracBrowser for help on using the repository browser.