source: general/prog/ruby.xml@ 33cbf497

gimp3 trunk
Last change on this file since 33cbf497 was 5cdaaee, checked in by Bruce Dubbs <bdubbs@…>, 5 weeks ago

Update to ruby-3.3.3.

  • Property mode set to 100644
File size: 12.1 KB
RevLine 
[ab4fdfc]1<?xml version="1.0" encoding="UTF-8"?>
[6732c094]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[52d29f7]4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
[cc13920]6
[c6b192c]7 <!ENTITY ruby-download-http "https://cache.ruby-lang.org/pub/ruby/&ruby-minor-version;/ruby-&ruby-version;.tar.xz">
[2f3226d]8 <!ENTITY ruby-download-ftp " ">
[5cdaaee]9 <!ENTITY ruby-md5sum "ce32c274461cc3b8b689d43a9f393c3b">
[c4f5f1e]10 <!ENTITY ruby-size "16 MB">
[5cdaaee]11 <!ENTITY ruby-buildsize "1.4 GB (with C API docs and tests)">
12 <!ENTITY ruby-time "2.4 SBU (using parallelism=4; with C API docs; add 0.4 SBU for tests)">
[52d29f7]13]>
14
[5db3785e]15<sect1 id="ruby" xreflabel="Ruby-&ruby-version;">
[16f3afb3]16 <?dbhtml filename="ruby.html"?>
17
18
19 <title>Ruby-&ruby-version;</title>
20
21 <indexterm zone="ruby">
22 <primary sortas="a-Ruby">Ruby</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to Ruby</title>
27
[cc13920]28 <para>
29 The <application>Ruby</application> package contains the
30 <application>Ruby</application> development environment. This
31 is useful for object-oriented scripting.
32 </para>
[16f3afb3]33
[5d0e7b8]34 &lfs121_checked;
[a1813d08]35
[16f3afb3]36 <bridgehead renderas="sect3">Package Information</bridgehead>
37 <itemizedlist spacing="compact">
38 <listitem>
[cc13920]39 <para>
40 Download (HTTP): <ulink url="&ruby-download-http;"/>
41 </para>
[16f3afb3]42 </listitem>
43 <listitem>
[cc13920]44 <para>
45 Download (FTP): <ulink url="&ruby-download-ftp;"/>
46 </para>
[16f3afb3]47 </listitem>
48 <listitem>
[cc13920]49 <para>
50 Download MD5 sum: &ruby-md5sum;
51 </para>
[16f3afb3]52 </listitem>
53 <listitem>
[cc13920]54 <para>
55 Download size: &ruby-size;
56 </para>
[16f3afb3]57 </listitem>
58 <listitem>
[cc13920]59 <para>
60 Estimated disk space required: &ruby-buildsize;
61 </para>
[16f3afb3]62 </listitem>
63 <listitem>
[cc13920]64 <para>
65 Estimated build time: &ruby-time;
66 </para>
[16f3afb3]67 </listitem>
68 </itemizedlist>
69
70 <bridgehead renderas="sect3">Ruby Dependencies</bridgehead>
71
[dbdd6ff4]72 <bridgehead renderas="sect4">Required</bridgehead>
73 <para role="required">
74 <xref linkend="libyaml"/>
75 </para>
76
[16f3afb3]77 <bridgehead renderas="sect4">Optional</bridgehead>
[955b7fd2]78 <para role="optional">
79 <xref linkend="doxygen"/>,
[cc13920]80 <xref linkend="graphviz"/>,
[382633a]81 <xref linkend="rust"/>,
[d28648d]82 <xref linkend="tk"/>,
[dcd5a063]83 <xref linkend="valgrind"/>,
84 &berkeley-db; and
[497d485]85 <ulink url="https://dtrace.org/about/">DTrace</ulink>
[955b7fd2]86 </para>
[16f3afb3]87
[3c95c92]88 &test-use-internet;
89
[16f3afb3]90 </sect2>
91
92 <sect2 role="installation">
93 <title>Installation of Ruby</title>
[33884d36]94
[cc13920]95 <para>
96 Install <application>Ruby</application> by running the following
[75457cc]97 command:
[cc13920]98 </para>
[16f3afb3]99
[77b45595]100<screen><userinput>./configure --prefix=/usr \
101 --disable-rpath \
102 --enable-shared \
103 --without-valgrind \
104 --without-baseruby \
105 ac_cv_func_qsort_r=no \
[e02c1e3]106 --docdir=/usr/share/doc/ruby-&ruby-version; &amp;&amp;
107make</userinput></screen>
[75457cc]108
109 <para>
110 Optionally, build the CAPI documents by running the following
111 commands:
112 </para>
113
[e02c1e3]114<screen><userinput>make capi</userinput></screen>
[16f3afb3]115
[cc13920]116 <para>
[0905b41]117 To test the results, issue: <command>make -j1 -k check</command>.
118 Note that running the test suite with parallel jobs may cause test
[5cdaaee]119 failure output as cryptic <computeroutput>unknown
[0905b41]120 object</computeroutput> messages, resulting a summary falsely claiming
121 <quote>all tests passed</quote>. If the environment has variables
122 related to proxy settings (<envar>all_proxy</envar>,
123 <envar>ALL_PROXY</envar>, <envar>http_proxy</envar>, and etc.) set,
124 the test suite will bail out early with messages like
[27f6955]125 <computeroutput>net/ftp is not found</computeroutput>. Make sure that you
126 unset these variables for the test suite. There are over 26,000 tests.
[0905b41]127 <!-- https://bugs.ruby-lang.org/issues/20106 -->
128 12 tests are known to fail because of expired certificates in the
[551641f]129 test data.
130 <!-- https://github.com/ruby/ruby/pull/10616
131 https://github.com/ruby/ruby/commit/dd5e625d7bcb -->
132 Three tests named
133 <literal>TestNetHTTPS#test_session_reuse_but_expire</literal>,
134 <literal>OpenSSL::TestASN1#test_utctime</literal>, and
135 <literal>OpenSSL::TestASN1#test_generalizedtime</literal> are known
136 to fail with OpenSSL-3.3.0 or later.
137 Some tests related to ipv6 may indicate errors. If the
[372597e]138 tests are run in a directory that has a world writable component (e.g.
[5b78d1c]139 /tmp) then several additional tests may fail.
[cc13920]140 </para>
[25a9be8a]141
[c4f5f1e]142 <para>
143 Now, as the <systemitem class="username">root</systemitem> user:
144 </para>
145
146<screen role="root"><userinput>make install</userinput></screen>
147
[edfcf34d]148 <note>
149 <para>
150 If you have Ruby-On-Rails applications installed and did an
151 upgrade of <application>Ruby</application> by installing this
[eb19100e]152 package, you might need to run an update there, too
153 (as the &root; user):
[edfcf34d]154 </para>
155
[eb19100e]156<screen role="nodump"><userinput>cd /path/to/web/app
[809c6b5]157bundle update rake</userinput></screen>
158
159 <para>
160 and restart the webserver which serves the application.
161 </para>
162
[edfcf34d]163 </note>
164
[16f3afb3]165 </sect2>
166
167 <sect2 role="commands">
168 <title>Command Explanations</title>
169
[fbb82131]170 <para>
171 <parameter>--disable-rpath</parameter>: This switch disables embedding
172 <filename class='directory'>/usr/lib</filename> as a library search
173 path into the <command>ruby</command> program. Doing so is not needed
174 (because <filename class='directory'>/usr/lib</filename> is a system
175 library path) and it may cause the test suite running with the system
176 <filename class='libraryfile'>libruby.so</filename> instead of the
177 just built one when Ruby has been installed.
178 </para>
179
[b9d56ad4]180 <para>
[0771e2f]181 <parameter>--enable-shared</parameter>: This switch enables building
[cc13920]182 the <filename class="libraryfile">libruby</filename> shared library.
183 </para>
[16f3afb3]184
[25a9be8a]185 <para>
186 <parameter>--without-baseruby</parameter>: This switch prevents using the
187 system <command>ruby</command> if it is already installed. The build
188 system will use the newly built version instead.
189 </para>
190
[77b45595]191 <para>
192 <parameter>ac_cv_func_qsort_r=no</parameter>: This switch prevents
193 using the <function>qsort_r</function> function from Glibc. Ruby
[8f9d03f]194 makes some aggressive optimization assuming some implementation
195 details of the sorting algorithm, but the assumption is not true with
196 the Glibc implementation. With this switch Ruby will use its own sort
[77b45595]197 implementation instead.
198 </para>
199
[5d388f2]200 <para>
201 <option>--disable-install-doc</option>: This switch disables building and
202 installing rdoc indexes and C API documents.
203 </para>
204
205 <para>
206 <option>--disable-install-rdoc</option>: This switch disables building
207 and installing rdoc indexes.
208 </para>
209
210 <para>
211 <option>--disable-install-capi</option>: This switch disables building
212 and installing C API documents.
213 </para>
214
[16f3afb3]215 </sect2>
216
217 <sect2 role="content">
218 <title>Contents</title>
219
220 <segmentedlist>
221 <segtitle>Installed Programs</segtitle>
222 <segtitle>Installed Libraries</segtitle>
223 <segtitle>Installed Directories</segtitle>
224
225 <seglistitem>
[cc13920]226 <seg>
[8558044]227 bundle,
228 bundler,
229 erb,
230 gem,
231 irb,
232 racc,
233 rake,
234 rbs,
[6b8f495]235 rdbg,
[8558044]236 rdoc,
237 ri,
[e4c4af6]238 ruby, and
239 typeprof
[cc13920]240 </seg>
241 <seg>
[d28648d]242 libruby.so
[cc13920]243 </seg>
244 <seg>
[6b8f495]245 /usr/include/ruby-&ruby-minor-version;.0,
[cc13920]246 /usr/lib/ruby,
[7cc1bcd]247 /usr/share/doc/ruby-&ruby-version; and
[cc13920]248 /usr/share/ri
249 </seg>
[16f3afb3]250 </seglistitem>
251 </segmentedlist>
252
253 <variablelist>
254 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
255 <?dbfo list-presentation="list"?>
256 <?dbhtml list-presentation="table"?>
257
[d28648d]258 <varlistentry id="bundle">
259 <term><command>bundle</command></term>
260 <listitem>
261 <para>
[4c24eb0a]262 creates bundles of Ruby Gems
[d28648d]263 </para>
264 <indexterm zone="ruby bundle">
265 <primary sortas="b-bundle">bundle</primary>
266 </indexterm>
267 </listitem>
268 </varlistentry>
269
270 <varlistentry id="bundler">
271 <term><command>bundler</command></term>
272 <listitem>
273 <para>
[4c24eb0a]274 manages an application's dependencies throughout it's lifecycle
[d28648d]275 </para>
276 <indexterm zone="ruby bundler">
277 <primary sortas="b-bundler">bundler</primary>
278 </indexterm>
279 </listitem>
280 </varlistentry>
281
[909a015]282 <varlistentry id="erb">
283 <term><command>erb</command></term>
[16f3afb3]284 <listitem>
[cc13920]285 <para>
[0771e2f]286 is a command line front-end for eRuby, which provides a templating
287 system for <application>Ruby</application>
[cc13920]288 </para>
[909a015]289 <indexterm zone="ruby erb">
290 <primary sortas="b-erb">erb</primary>
291 </indexterm>
292 </listitem>
293 </varlistentry>
294
295 <varlistentry id="gem">
296 <term><command>gem</command></term>
297 <listitem>
298 <para>
[0771e2f]299 is the command for RubyGems, which is a sophisticated package
300 manager for <application>Ruby</application>. This is similar
301 to Python's 'pip' command
[909a015]302 </para>
303 <indexterm zone="ruby gem">
304 <primary sortas="b-gem">gem</primary>
[16f3afb3]305 </indexterm>
306 </listitem>
307 </varlistentry>
308
309 <varlistentry id="irb">
310 <term><command>irb</command></term>
311 <listitem>
[cc13920]312 <para>
313 is the interactive interface for
[4c24eb0a]314 <application>Ruby</application>
[cc13920]315 </para>
[16f3afb3]316 <indexterm zone="ruby irb">
317 <primary sortas="b-irb">irb</primary>
318 </indexterm>
319 </listitem>
320 </varlistentry>
321
[909a015]322 <varlistentry id="rake">
323 <term><command>rake</command></term>
[16f3afb3]324 <listitem>
[cc13920]325 <para>
[0771e2f]326 is a make-like build utility for <application>Ruby</application>
[cc13920]327 </para>
[909a015]328 <indexterm zone="ruby rake">
329 <primary sortas="b-rake">rake</primary>
330 </indexterm>
331 </listitem>
332 </varlistentry>
333
[6b8f495]334 <varlistentry id="rdbg">
335 <term><command>rdbg</command></term>
336 <listitem>
337 <para>
338 is an interactive debugger for <application>Ruby</application>
339 </para>
340 <indexterm zone="ruby rdbg">
341 <primary sortas="b-rdbg">rdbg</primary>
342 </indexterm>
343 </listitem>
344 </varlistentry>
345
[909a015]346 <varlistentry id="rdoc">
347 <term><command>rdoc</command></term>
348 <listitem>
349 <para>
[4c24eb0a]350 generates <application>Ruby</application> documentation
[909a015]351 </para>
352 <indexterm zone="ruby rdoc">
353 <primary sortas="b-rdoc">rdoc</primary>
[16f3afb3]354 </indexterm>
355 </listitem>
356 </varlistentry>
357
358 <varlistentry id="ri">
359 <term><command>ri</command></term>
360 <listitem>
[cc13920]361 <para>
362 displays documentation from a database on
[4c24eb0a]363 <application>Ruby</application> classes, modules, and methods
[cc13920]364 </para>
[16f3afb3]365 <indexterm zone="ruby ri">
366 <primary sortas="b-ri">ri</primary>
367 </indexterm>
368 </listitem>
369 </varlistentry>
370
[909a015]371 <varlistentry id="ruby-prog">
372 <term><command>ruby</command></term>
373 <listitem>
374 <para>
375 is an interpreted scripting language for quick
[4c24eb0a]376 and easy object-oriented programming
[909a015]377 </para>
378 <indexterm zone="ruby ruby-prog">
379 <primary sortas="b-ruby">ruby</primary>
380 </indexterm>
381 </listitem>
382 </varlistentry>
383
[16f3afb3]384 <varlistentry id="libruby">
[92b0b42]385 <term><filename role="libraryfile">libruby.so</filename></term>
[16f3afb3]386 <listitem>
[cc13920]387 <para>
[4c24eb0a]388 contains the API functions required by <application>Ruby</application>
[cc13920]389 </para>
[16f3afb3]390 <indexterm zone="ruby libruby">
391 <primary sortas="c-libruby">libruby.so</primary>
392 </indexterm>
393 </listitem>
394 </varlistentry>
395
396 </variablelist>
397
398 </sect2>
[a1f7daa]399
400</sect1>
Note: See TracBrowser for help on using the repository browser.