]> git.pld-linux.org Git - packages/ruby.git/blame - ruby.spec
rubygems requires io/console
[packages/ruby.git] / ruby.spec
CommitLineData
198b2d1a 1# TODO:
198b2d1a
JR
2# - include ext/ in docs
3# - replace ri with fastri
97b7914a 4# - patch ri to search multiple indexes (one per package), so RPMs can install ri docs
198b2d1a 5#
2acc5f17 6# Conditional build:
bc991d5a 7%bcond_without doc # skip (time-consuming) docs generating; intended for speed up test builds
a3083723 8%bcond_with tk # Tk bindings
05f75f09 9%bcond_without batteries # Don't include rubygems, json, rake, minitest
9c41e51a 10%bcond_without default_ruby # use this Ruby as default system Ruby
92ff5331 11%bcond_with bootstrap # build bootstrap version
69ccc084 12%bcond_with tests # build without tests
fa311386 13
90070d51 14%define rel 0.3
1083418a
ER
15%define ruby_version 2.3
16%define basever 2.3
a7469680 17%define patchlevel 4
7cb22c75 18%define pkg_version %{basever}.%{patchlevel}
9c41e51a 19
99934935 20%define ruby_suffix %{!?with_default_ruby:%{ruby_version}}
40cd40d7 21%define doc_version 2_3_4
45f22c60 22
1083418a
ER
23%define bigdecimal_ver 1.2.8
24%define io_console_ver 0.4.5
d8228776 25%define irb_ver 0.9.6
1083418a
ER
26%define json_ver 1.8.3
27%define minitest_ver 5.8.5
28%define psych_ver 2.1.0
1c3d4237 29%define rake_ver 10.4.2
1083418a
ER
30%define rdoc_ver 4.2.1
31%define rubygems_ver 2.5.2
32%define test_unit_ver 3.1.5
33%define power_assert_ver 0.2.6
ac937700 34%define did_you_mean_ver 1.0.0
0ab77745 35%define net_telnet_ver 0.1.1
45f22c60 36
9c41e51a 37%define oname ruby
6e2f9b3c 38Summary: Ruby - interpreted scripting language
3c3949cf
ER
39Summary(ja.UTF-8): オブジェクト指向言語Rubyインタプリタ
40Summary(pl.UTF-8): Ruby - interpretowany język skryptowy
41Summary(pt_BR.UTF-8): Linguagem de script orientada a objeto
42Summary(zh_CN.UTF-8): ruby - 一种快速高效的面向对象脚本编程语言
9c41e51a 43Name: ruby%{ruby_suffix}
7cb22c75 44Version: %{pkg_version}
116a558f 45Release: %{rel}
01204e8f 46Epoch: 1
3112d6a6
ER
47# Public Domain for example for: include/ruby/st.h, strftime.c, missing/*, ...
48# MIT and CCO: ccan/*
49# zlib: ext/digest/md5/md5.*, ext/nkf/nkf-utf8/nkf.c
50# UCD: some of enc/trans/**/*.src
51License: (Ruby or BSD) and Public Domain and MIT and CC0 and zlib and UCD
6eb17ef6 52Group: Development/Languages
14b99482 53# https://www.ruby-lang.org/en/downloads/
a7469680
ER
54Source0: https://cache.ruby-lang.org/pub/ruby/%{ruby_version}/%{oname}-%{pkg_version}.tar.xz
55# Source0-md5: ee011c51c0395ec46f072da9beb6b870
9c41e51a 56Source2: http://www.ruby-doc.org/downloads/%{oname}_%{doc_version}_stdlib_rdocs.tgz
40cd40d7 57# Source2-md5: 480c3f6f8d9311e86c1aa395f7d7bba6
9c41e51a 58Source3: http://www.ruby-doc.org/downloads/%{oname}_%{doc_version}_core_rdocs.tgz
40cd40d7 59# Source3-md5: 9805d5d4537b73d2af1860e0759421f1
9c41e51a 60Source100: ftp://ftp.ruby-lang.org/pub/ruby/1.8/%{oname}-1.8.7-p330.tar.gz
92ff5331 61# Source100-md5: 50a49edb787211598d08e756e733e42e
af4f9d38 62Source4: rdoc.1
af4f9d38 63Source5: testrb.1
a6d548c5 64Source6: operating_system.rb
9c41e51a 65Patch0: %{oname}-lib64.patch
1c3d4237 66#Patch1: %{oname}-ffs.patch
360c41c0 67Patch2: fix-bison-invocation.patch
313c55d4
ER
68Patch3: mkmf-verbose.patch
69Patch4: strip-ccache.patch
1c3d4237 70Patch5: ruby-version.patch
71Patch6: duplicated-paths.patch
7cb22c75 72# obsolete?
313c55d4
ER
73Patch8: rubygems-2.0.0-binary-extensions.patch
74Patch9: custom-rubygems-location.patch
a319cc02 75Patch12: archlibdir.patch
7c36cd5d 76URL: http://www.ruby-lang.org/
7cb22c75 77BuildRequires: autoconf >= 2.67
53c95475 78BuildRequires: automake
f2e66748 79BuildRequires: bison >= 1.875
f0eb2dd9 80BuildRequires: db-devel
e9f2c6fe 81BuildRequires: gdbm-devel >= 1.8.3
7cb22c75 82BuildRequires: gmp-devel
9ae7df75 83BuildRequires: libffi-devel
1968db6d 84BuildRequires: ncurses-devel
7cb22c75 85BuildRequires: openssl-devel >= 0.9.6
74c8af09 86BuildRequires: pkgconfig
933aeb0e 87BuildRequires: readline-devel >= 4.2
d25d71f0 88BuildRequires: rpm-build >= 5.4.10-49
7911cce0 89BuildRequires: sed >= 4.0
7cb22c75 90BuildRequires: systemtap-sdt-devel
14b99482
ER
91BuildRequires: tar >= 1:1.22
92BuildRequires: xz
92ff5331 93BuildRequires: yaml-devel
7cb22c75 94BuildRequires: zlib-devel
14b99482
ER
95%if %{without bootstrap}
96# bootstrap needs ruby binary, erb module
97BuildRequires: rpm-rubyprov
98BuildRequires: ruby
99BuildRequires: ruby-modules
100%endif
15ecb21e 101%if %{with tk}
7cb22c75 102BuildRequires: tk-devel < 8.7
3112d6a6 103BuildRequires: tk-devel >= 8.4
15ecb21e 104%endif
f0eb2dd9 105Requires(post,postun): /sbin/ldconfig
ee1edb11 106Obsoletes: ruby-REXML <= 2.4.0-2
bb5582fa 107Obsoletes: ruby-doc < 1.8.4
ee1edb11 108Obsoletes: ruby-fastthread <= 0.6.3
9556e036 109Conflicts: rpm-build-macros < 1.695
a2963aa1
JR
110Conflicts: ruby-activesupport < 2.3.11-2
111Conflicts: ruby-activesupport2 < 2.3.11-2
584b8bcb 112BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
4ab119cd 113
df9a7ee8 114%define ruby_ridir %{_datadir}/ri/system
a6d548c5
ER
115%define gem_dir %{_datadir}/gems
116%define gem_libdir %{_libdir}/gems/%{oname}
d78ec589 117
f493239c
ER
118# location where rubygems is installed
119%define rubygems_dir %{ruby_libdir}
d78ec589 120
9c41e51a 121%define ruby_archdir %{_libdir}/%{oname}/%{ruby_version}
45f22c60 122%define ruby_libarchdir %{_libdir}/%{oname}/%{ruby_version}
9c41e51a 123%define ruby_libdir %{_datadir}/%{oname}/%{ruby_version}
d78ec589
ER
124
125# This is the local lib/arch and should not be used for packaging.
5c3d5a0e 126%define sitedir site_ruby
9c41e51a 127%define ruby_sitearchdir %{_prefix}/local/%{_lib}/%{oname}/%{sitedir}/%{ruby_version}
08c2f6e5 128%define ruby_sitelibdir %{_prefix}/local/share/%{oname}/%{sitedir}
d78ec589
ER
129
130# This is the general location for libs/archs compatible with all
131# or most of the Ruby versions available in the PLD repositories.
5c3d5a0e 132%define vendordir vendor_ruby
9c41e51a 133%define ruby_vendorarchdir %{_libdir}/%{oname}/%{vendordir}/%{ruby_version}
08c2f6e5 134%define ruby_vendorlibdir %{_datadir}/%{oname}/%{vendordir}
d78ec589 135
8ea447c1 136# bleh, some nasty (gcc or ruby) bug still not fixed
cc2dcaa2 137# (SEGV or "unexpected break" on miniruby run during build)
8ea447c1
JB
138%define specflags_ia64 -O0
139
88546731 140# ruby needs frame pointers for correct exception handling
b66203d6 141%define specflags_ia32 -fno-omit-frame-pointer
88546731 142
4ab119cd 143%description
144Ruby is the interpreted scripting language for quick and easy
145object-oriented programming. It has many features to process text
146files and to do system management tasks (as in Perl). It is simple,
147straight-forward, extensible, and portable.
148
9fd96af7 149This package contains only shared library and ruby interpreter. To get
150full-functional ruby environment install ruby-modules package.
151
a0a47c48
JR
152%description -l ja.UTF-8
153Rubyはシンプルかつ強力なオブジェクト指向スクリプト言語です.Rubyは最初
154から純粋なオブジェクト指向言語として設計されていますから,オブジェクト
15467dc7 155指向プログラミングを手軽に行う事が出来ます.もちろん通常の手続き型のプ ログラミングも可能です.
7c36cd5d 156
a0a47c48
JR
157%description -l pl.UTF-8
158Ruby to interpretowany język skryptowy, w sam raz dla łatwego i
159szybkiego pisania zorientowanych obiektowo programów. Ma wiele funkcji
160ułatwiających przetwarzanie plików tekstowych i wykonywanie prac
161związanych z zarządzaniem systemu (podobnie jak Perl). Jest prosty,
162rozszerzalny i przenośny.
6e2f9b3c 163
a0a47c48
JR
164Ten pakiet zawiera tylko bibliotekę dzieloną i interpreter ruby.
165Zainstaluj pakiet ruby-modules, jeżeli potrzebujesz w pełni
166funkcjonalnego środowiska ruby.
9fd96af7 167
a0a47c48
JR
168%description -l pt_BR.UTF-8
169Ruby é uma linguagem de script interpretada de programação orientada a
170objeto. Possui diversas características para processamento de texto. É
171simples, extensível e direta.
7c36cd5d 172
9fd96af7 173%package modules
174Summary: Ruby standard modules and utilities
3c3949cf 175Summary(pl.UTF-8): Standardowe moduły i narzędzia dla języka Ruby
9fd96af7 176Group: Development/Languages
177Requires: %{name} = %{epoch}:%{version}-%{release}
b688e9a5 178Suggests: ruby-rubygems
05f75f09
ER
179# ruby-modules deprecated, rpm5 generates ruby(abi) itself
180Provides: ruby-modules(ver) = %{ruby_version}
29a18971
ER
181# FIXME later
182Provides: ruby(abi) = %{ruby_version}
c8ae95d0 183%requires_ge_to openssl openssl-devel
9fd96af7 184
185%description modules
186Ruby standard modules and utilities:
187- erb - Tiny eRuby
7911cce0 188- testrb - automatic runner for Test::Unit of Ruby
9fd96af7 189
a0a47c48
JR
190%description modules -l pl.UTF-8
191Standardowe moduły i narzędzia Ruby:
192- erb - mały eRuby
7911cce0 193- testrb - automatyczny runner dla Ruby Test::Unit
9fd96af7 194
265d0efe 195%package tk
196Summary: Ruby/Tk bindings
3c3949cf 197Summary(pl.UTF-8): Wiązania Ruby/Tk
e65aac33 198Group: Development/Languages
69b51dc9 199Requires: %{name}-modules = %{epoch}:%{version}-%{release}
265d0efe 200
201%description tk
c659b270 202This package contains Ruby/Tk bindings.
e65aac33 203
a0a47c48
JR
204%description tk -l pl.UTF-8
205Ten pakiet zawiera wiązania Ruby/Tk.
265d0efe 206
e14a2f74 207%package devel
e14a2f74 208Summary: Ruby development libraries
3c3949cf 209Summary(pl.UTF-8): Biblioteki programistyczne interpretera języka Ruby
9434194f 210Group: Development/Languages
9fd96af7 211Requires: %{name}-modules = %{epoch}:%{version}-%{release}
92f362b7
ER
212Requires: gcc
213Requires: glibc-devel
b5465d0c 214Requires: pkgconfig
e14a2f74 215
216%description devel
9434194f
JB
217Ruby development libraries.
218
a0a47c48
JR
219%description devel -l pl.UTF-8
220Biblioteki programistyczne interpretera języka Ruby.
e14a2f74 221
87b9c30a 222%package static
223Summary: Ruby static libraries
3c3949cf 224Summary(pl.UTF-8): Biblioteki statyczne Ruby
87b9c30a 225Group: Development/Languages
f89d855e 226Requires: %{name}-devel = %{epoch}:%{version}-%{release}
87b9c30a 227
228%description static
229Ruby static libraries.
230
a0a47c48 231%description static -l pl.UTF-8
87b9c30a 232Biblioteki statyczne Ruby.
233
754b419a 234%package doc
9fd96af7 235Summary: Ruby HTML documentation
3c3949cf 236Summary(pl.UTF-8): Dokumentacja HTML do Ruby
9fd96af7 237Group: Documentation
00595cdb
ER
238%if "%{_rpmversion}" >= "5"
239BuildArch: noarch
240%endif
9fd96af7 241
242%description doc
243Ruby HTML documentation: FAQ, guide, core and standard library.
244
a0a47c48 245%description doc -l pl.UTF-8
d99a4382 246Dokumentacja HTML do Ruby: FAQ, przewodnik, dokumentacja dla core i
247stdlib.
69b51dc9 248
9fd96af7 249%package doc-ri
250Summary: Ruby ri documentation
3c3949cf 251Summary(pl.UTF-8): Dokumentacja Ruby w formacie ri
9fd96af7 252Group: Documentation
69b51dc9 253Requires: %{name}-modules = %{epoch}:%{version}-%{release}
00595cdb
ER
254%if "%{_rpmversion}" >= "5"
255BuildArch: noarch
256%endif
9fd96af7 257
258%description doc-ri
259Ruby ri documentation.
260
a0a47c48 261%description doc-ri -l pl.UTF-8
9fd96af7 262Dokumentacja Ruby w formacie ri.
263
264%package examples
265Summary: Ruby examples
3c3949cf 266Summary(pl.UTF-8): Przykłady dla języka Ruby
9fd96af7 267Group: Development/Languages
00595cdb
ER
268%if "%{_rpmversion}" >= "5"
269BuildArch: noarch
270%endif
9fd96af7 271
272%description examples
273Ruby examples.
274
a0a47c48
JR
275%description examples -l pl.UTF-8
276Przykłady programów w języku Ruby.
9fd96af7 277
d8228776 278# IMPORTANT: keep irb, rdoc, rubygems, rake, json as last packages as we reset epoch/version/release
116a558f
ER
279# and %{version},%{release} macros may not be used directly as they take last
280# subpackage value not main package one what you intend to use
63b8d212 281
d8228776
ER
282%package irb
283Summary: The Interactive Ruby
284Version: %{irb_ver}
7cb22c75 285Release: %{pkg_version}.%{rel}
d8228776 286Epoch: 0
c659b270 287Group: Development/Languages
7cb22c75 288Requires: %{name}-modules = 1:%{pkg_version}-%{rel}
d8228776
ER
289Provides: irb = %{version}-%{release}
290Provides: ruby(irb) = %{version}-%{release}
291%if "%{_rpmversion}" >= "5"
292BuildArch: noarch
293%endif
294
295%description irb
296The irb is acronym for Interactive Ruby. It evaluates ruby expression
297from the terminal.
298
2db0575e
ER
299%package rdoc
300Summary: A tool to generate HTML and command-line documentation for Ruby projects
3349e6ba 301Summary(pl.UTF-8): Narzędzie do generowania dokumentacji HTML i linii poleceń dla projektów w Rubym
2db0575e 302Version: %{rdoc_ver}
7cb22c75 303Release: %{pkg_version}.%{rel}
2db0575e 304Epoch: 0
3112d6a6
ER
305# SIL: lib/rdoc/generator/template/darkfish/css/fonts.css
306License: GPLv2 and Ruby and MIT and SIL
2db0575e 307Group: Development/Libraries
1a82b364
JR
308Requires: %{name}-irb >= %{irb_ver}
309Requires: %{name}-json >= %{json_ver}
7cb22c75 310Requires: %{name}-modules = 1:%{pkg_version}-%{rel}
ee1edb11 311Obsoletes: rdoc <= 0.9.0
00595cdb
ER
312%if "%{_rpmversion}" >= "5"
313BuildArch: noarch
314%endif
2db0575e
ER
315
316%description rdoc
317RDoc produces HTML and command-line documentation for Ruby projects.
318RDoc includes the 'rdoc' and 'ri' tools for generating and displaying
319online documentation.
320
3349e6ba
JB
321%description rdoc -l pl.UTF-8
322RDoc tworzy dokumentację HTML i linii poleceń dla projektów w języku
323Ruby. RDoc zawiera narzędzia 'rdoc' i 'ri' do generowania i
324wyświetlania dokumentacji online.
325
44802bd7 326%package rubygems
3349e6ba
JB
327Summary: RubyGems - the Ruby standard for packaging Ruby libraries
328Summary(pl.UTF-8): RubyGems - standard Ruby'ego pakietowania bibliotek
941981c7 329Version: %{rubygems_ver}
7cb22c75 330Release: %{pkg_version}.%{rel}
bd4c2526 331Epoch: 0
941981c7
ER
332License: Ruby or MIT
333Group: Development/Libraries
90070d51 334Requires: %{name}-io-console = %{io_console_ver}-%{pkg_version}.%{rel}
7cb22c75 335Requires: %{name}-modules = 1:%{pkg_version}-%{rel}
941981c7 336Requires: %{name}-rdoc >= %{rdoc_ver}
92f362b7 337Suggests: %{name}-devel
44802bd7
ER
338Provides: rubygems = %{rubygems_ver}
339%if "%{_rpmversion}" >= "5"
340BuildArch: noarch
341%endif
342
343%description rubygems
344RubyGems is the Ruby standard for publishing and managing third party
345libraries.
346
3349e6ba
JB
347%description rubygems -l pl.UTF-8
348RubyGems to standardowe narzędzie języka Ruby do publikowania i
349zarządzania zewnętrznymi bibliotekami.
350
63b8d212
ER
351%package rake
352Summary: Rake is a Make-like program implemented in Ruby
353Summary(pl.UTF-8): Program typu Make dla języka Ruby
354Version: %{rake_ver}
7cb22c75 355Release: %{pkg_version}.%{rel}
63b8d212
ER
356Epoch: 0
357License: MIT
358Group: Development/Languages
359Provides: rake = %{rake_ver}
2531db89 360Conflicts: ruby-modules < 1:1.9.3.429-2
63b8d212
ER
361%if "%{_rpmversion}" >= "5"
362BuildArch: noarch
363%endif
364
365%description rake
366Rake is a simple Ruby build program with capabilities similar to make.
367
368It has the following features:
369- Rakefiles (rake's version of Makefiles) are completely defined in
370 standard Ruby syntax. No XML files to edit. No quirky Makefile syntax
371 to worry about (is that a tab or a space?)
372- Users can specify tasks with prerequisites.
373- Rake supports rule patterns to synthesize implicit tasks.
374- Rake is lightweight. It can be distributed with other projects as a
375 single file. Projects that depend upon rake do not require that rake
376 be installed on target systems.
377
378%description rake -l pl.UTF-8
379Rake to prosty program do budowania w języku Ruby o możliwościach
380podobnych do make.
381
382Ma następujące cechy:
383- Pliki Rakefile (rake'owa odmiana plików Makefile) są definiowane
384 całkowicie w standardowej składni języka Ruby. Nie trzeba modyfikować
385 plików XML. Nie trzeba martwić się kaprysami składni Makefile (czy to
386 tabulacja czy spacja?).
387- Użytkownicy mogą określać zadania z ich zależnościami.
388- Rake obsługuje wzorce reguł do tworzenia z nich wynikowych zadań.
389- Rake jest lekki. Może być rozpowszechniany z innymi projektami jako
390 pojedynczy plik. Projekty używające rake'a nie wymagają go
391 zainstalowanego na systemach docelowych.
392
7e87bcc1
ER
393%package json
394Summary: JSON library for Ruby
395Summary(pl.UTF-8): Biblioteka JSON dla języka Ruby
396Version: %{json_ver}
7cb22c75 397Release: %{pkg_version}.%{rel}
7e87bcc1 398Epoch: 0
3112d6a6
ER
399# UCD: ext/json/generator/generator.c
400License: (Ruby or GPLv2) and UCD
7e87bcc1
ER
401Group: Development/Languages
402Obsoletes: ruby-json-rubyforge
2531db89 403Conflicts: ruby-modules < 1:1.9.3.429-3
7e87bcc1
ER
404
405%description json
406This is a JSON implementation as a Ruby extension in C.
407
408%description json -l pl.UTF-8
409Biblioteka JSON dla języka Ruby.
410
cac72f51
ER
411%package minitest
412Summary: Minitest provides a complete suite of testing facilities
413Version: %{minitest_ver}
414Release: %{pkg_version}.%{rel}
415Epoch: 0
416License: MIT
417Group: Development/Libraries
418%if "%{_rpmversion}" >= "5"
419BuildArch: noarch
420%endif
421
422%description minitest
423minitest/unit is a small and incredibly fast unit testing framework.
424
425minitest/spec is a functionally complete spec engine.
426
427minitest/benchmark is an awesome way to assert the performance of your
428algorithms in a repeatable manner.
429
430minitest/mock by Steven Baker, is a beautifully tiny mock object
431framework.
432
433minitest/pride shows pride in testing and adds coloring to your test
434output.
435
3112d6a6
ER
436%package power_assert
437# The Summary/Description fields are rather poor.
438# https://github.com/k-tsj/power_assert/issues/3
439Summary: Power Assert for Ruby
440Version: %{power_assert_ver}
441Release: %{pkg_version}.%{rel}
442Epoch: 0
443License: Ruby or BSD
444Group: Development/Libraries
445%if "%{_rpmversion}" >= "5"
446BuildArch: noarch
447%endif
448
449%description power_assert
ac937700
ER
450Power Assert shows each value of variables and method calls in the
451expression. It is useful for testing, providing which value wasn't
452correct when the condition is not satisfied.
3112d6a6
ER
453
454%package test-unit
455# The Summary/Description fields are rather poor.
456# https://github.com/test-unit/test-unit/issues/73
457Summary: Improved version of Test::Unit bundled in Ruby 1.8.x
458Version: %{test_unit_ver}
459Release: %{pkg_version}.%{rel}
460Epoch: 0
461Group: Development/Libraries
462# lib/test/unit/diff.rb is a double license of the Ruby license and PSF license.
463# lib/test-unit.rb is a dual license of the Ruby license and LGPLv2.1 or later.
464License: (Ruby or BSD) and (Ruby or BSD or Python) and (Ruby or BSD or LGPLv2+)
465%if "%{_rpmversion}" >= "5"
466BuildArch: noarch
467%endif
468
469%description test-unit
470Ruby 1.9.x bundles minitest not Test::Unit. Test::Unit bundled in Ruby
4711.8.x had not been improved but unbundled Test::Unit (test-unit) is
472improved actively.
473
ac937700
ER
474%package did_you_mean
475Summary: "Did you mean?" experience in Ruby
476Version: %{did_you_mean_ver}
477Release: %{pkg_version}.%{rel}
478Epoch: 0
479License: MIT
480Group: Development/Libraries
481%if "%{_rpmversion}" >= "5"
482BuildArch: noarch
483%endif
484
485%description did_you_mean
486"did you mean?" experience in Ruby: the error message will tell you
487the right one when you misspelled something.
488
0ab77745
ER
489%package net-telnet
490Summary: Provides telnet client functionality
491Version: %{net_telnet_ver}
492Release: %{pkg_version}.%{rel}
493Epoch: 0
494Group: Development/Libraries
495%if "%{_rpmversion}" >= "5"
496BuildArch: noarch
497%endif
498
499%description net-telnet
500Provides telnet client functionality.
501
502This class also has, through delegation, all the methods of a socket
503object (by default, a TCPSocket, but can be set by the Proxy option to
504new()). This provides methods such as close() to end the session and
505sysread() to read data directly from the host, instead of via the
506waitfor() mechanism. Note that if you do use sysread() directly when
507in telnet mode, you should probably pass the output through
508preprocess() to extract telnet command sequences.
509
f6f2f07f
ER
510%package bigdecimal
511Summary: BigDecimal provides arbitrary-precision floating point decimal arithmetic
512Version: %{bigdecimal_ver}
513Release: %{pkg_version}.%{rel}
514Epoch: 0
515License: GPL+ or Artistic
516Group: Development/Libraries
517%if "%{_rpmversion}" >= "5"
518BuildArch: noarch
519%endif
520
521%description bigdecimal
522Ruby provides built-in support for arbitrary precision integer
523arithmetic. For example:
524
52542**13 -> 1265437718438866624512
526
527BigDecimal provides similar support for very large or very accurate
528floating point numbers. Decimal arithmetic is also useful for general
529calculation, because it provides the correct answers people
530expect–whereas normal binary floating point arithmetic often
531introduces subtle errors because of the conversion between base 10 and
532base 2.
533
534%package io-console
535Summary: IO/Console is a simple console utilizing library
536Version: %{io_console_ver}
537Release: %{pkg_version}.%{rel}
538Epoch: 0
539Group: Development/Libraries
540%if "%{_rpmversion}" >= "5"
541BuildArch: noarch
542%endif
543
544%description io-console
545IO/Console provides very simple and portable access to console. It
546doesn't provide higher layer features, such like curses and readline.
547
162eb983
ER
548%package psych
549Summary: A libyaml wrapper for Ruby
550Version: %{psych_ver}
551Release: %{pkg_version}.%{rel}
552Epoch: 0
553License: MIT
554Group: Development/Libraries
555
556%description psych
557Psych is a YAML parser and emitter. Psych leverages libyaml for its
558YAML parsing and emitting capabilities. In addition to wrapping
559libyaml, Psych also knows how to serialize and de-serialize most Ruby
560objects to and from the YAML format.
561
4ab119cd 562%prep
40cd40d7 563%setup -q -n %{oname}-%{pkg_version} -a2 -a3 %{?with_bootstrap:-a100}
933aeb0e 564%patch0 -p1
1c3d4237 565#%patch1 -p1
360c41c0 566%patch2 -p1
313c55d4
ER
567%patch3 -p1
568%patch4 -p1
6b9c4b92 569%patch5 -p1
1c3d4237 570%patch6 -p1
5a5c66dc 571#%patch8 -p1
45f22c60 572%patch9 -p1
a319cc02 573%patch12 -p1
360c41c0
JR
574
575# must be regenerated with new bison
576%{__rm} parse.{c,h}
4ab119cd 577
3112d6a6
ER
578# Remove bundled libraries to be sure they are not used.
579%{__rm} -r ext/psych/yaml
580%{__rm} -r ext/fiddle/libffi*
581
f52a91a3
ER
582# Install custom operating_system.rb.
583install -d lib/rubygems/defaults
584cp -p %{SOURCE6} lib/rubygems/defaults
585
b2f04116
JR
586find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
587
588find -type f '(' -name '*.rb' -o -name '*.cgi' -o -name '*.test' \
589 -o -name 'ruby.1' -o -name '*.html' -o -name '*.tcl' ')' \
bb5582fa 590 | xargs %{__sed} -i 's,/usr/local/bin/,%{_bindir}/,'
e7754311 591
4730786e
ER
592# no configure option to disable, so just rm
593%{!?with_tk:rm -rf ext/tk}
594
4ab119cd 595%build
de9418ad
ER
596rubygems_ver=$(awk '/VERSION =/ && $1 == "VERSION" {print $3}' lib/rubygems.rb | xargs)
597if [ $rubygems_ver != %{rubygems_ver} ]; then
598 echo "Set %%define rubygems_ver to $rubygems_ver and re-run."
599 exit 1
600fi
593ae364
ER
601rdoc_ver=$(awk '/VERSION =/ && $1 == "VERSION" {print $3}' lib/rdoc.rb | xargs)
602if [ $rdoc_ver != %{rdoc_ver} ]; then
603 echo "Set %%define rdoc_ver to $rdoc_ver and re-run."
604 exit 1
605fi
de9418ad 606
8ea447c1 607cp -f /usr/share/automake/config.sub .
a5f9b7ff 608
92ff5331 609# build ruby-1.8.7 first
610%if %{with bootstrap}
9c41e51a 611cd %{oname}-1.8.7-p330
92ff5331 612%configure
613%{__make}
614cd ..
615%endif
616
8ea447c1 617%{__autoconf}
ecde9c47 618%configure \
9c41e51a
ER
619 %{?with_bootstrap:--with-baseruby=%{oname}-1.8.7-p330/miniruby} \
620 --program-suffix=%{ruby_suffix} \
a319cc02 621 --with-archlibdir=%{_libdir} \
45f22c60
ER
622 --with-rubygemsdir=%{rubygems_dir} \
623 --with-rubylibprefix=%{ruby_libdir} \
624 --with-rubyarchprefix=%{ruby_archdir} \
625 --with-sitedir=%{ruby_sitelibdir} \
44d1acb8 626 --with-sitearchdir=%{ruby_sitearchdir} \
45f22c60 627 --with-vendordir=%{ruby_vendorlibdir} \
44d1acb8 628 --with-vendorarchdir=%{ruby_vendorarchdir} \
45f22c60
ER
629 --with-rubyhdrdir=%{_includedir}/%{oname}-%{ruby_version} \
630 --with-rubyarchhdrdir=%{_includedir}/%{oname}-%{ruby_version} \
631 --with-sitearchhdrdir='$(sitehdrdir)/$(arch)' \
632 --with-vendorarchhdrdir='$(vendorhdrdir)/$(arch)' \
45f22c60 633 --enable-multiarch \
7cb22c75 634 --enable-shared \
96c2e1a4 635 --disable-install-doc \
cb08a5f5 636 --disable-rpath \
7cb22c75 637 --disable-rubygems \
1a83bc11 638 --with-ruby-version='' \
4ab119cd 639
dbf8f91d 640%{__make} -j1 main \
2690877c 641 COPY="cp -p" Q= \
9c41e51a 642 %{?with_bootstrap:BASERUBY="%{oname}-1.8.7-p330/miniruby -I./ruby-1.8.7-p330/lib"}
aa58dbf5 643
d0f5536d 644%if %{with doc}
98757242 645%{__make} -j1 rdoc
d0f5536d 646%endif
53830491 647
c588a52c 648%if %{with tests}
fff139e1
ER
649# unset these, as testsuite does "git commit" somewhere, which points to pld .spec repo. doh
650unset GIT_DIR GIT_WORK_TREE
651
652unset GIT
c588a52c
ER
653DISABLE_TESTS=""
654
655%ifarch armv7l armv7hl armv7hnl
656# test_call_double(DL::TestDL) fails on ARM HardFP
657# http://bugs.ruby-lang.org/issues/6592
658DISABLE_TESTS="-x test_dl2.rb $DISABLE_TESTS"
659%endif
660
661# test_debug(TestRubyOptions) fails due to LoadError reported in debug mode,
662# when abrt.rb cannot be required (seems to be easier way then customizing
663# the test suite).
664touch abrt.rb
665
666# TestSignal#test_hup_me hangs up the test suite.
667# http://bugs.ruby-lang.org/issues/8997
668sed -i '/def test_hup_me/,/end if Process.respond_to/ s/^/#/' test/ruby/test_signal.rb
669
670# Fix "Could not find 'minitest'" error.
671# http://bugs.ruby-lang.org/issues/9259
672sed -i "/^ gem 'minitest', '~> 4.0'/ s/^/#/" lib/rubygems/test_case.rb
673
674# Segmentation fault.
675# https://bugs.ruby-lang.org/issues/9198
676sed -i '/^ def test_machine_stackoverflow/,/^ end/ s/^/#/' test/ruby/test_exception.rb
677
678# Don't test wrap ciphers to prevent "OpenSSL::Cipher::CipherError: wrap mode
679# not allowed" error.
680# https://bugs.ruby-lang.org/issues/10229
681sed -i '/assert(OpenSSL::Cipher::Cipher.new(name).is_a?(OpenSSL::Cipher::Cipher))/i \
682 next if /wrap/ =~ name' test/openssl/test_cipher.rb
683
684# Test is broken due to SSLv3 disabled in Fedora.
685# https://bugs.ruby-lang.org/issues/10046
686sed -i '/def test_ctx_server_session_cb$/,/^ end$/ s/^/#/' test/openssl/test_ssl_session.rb
687
688%{__make} check TESTS="-v $DISABLE_TESTS"
689%endif
690
4ab119cd 691%install
692rm -rf $RPM_BUILD_ROOT
413a1967 693install -d $RPM_BUILD_ROOT{%{ruby_rdocdir},%{ruby_ridir}} \
bf0e52e2 694 $RPM_BUILD_ROOT%{ruby_vendorarchdir} \
f1a7abab 695 $RPM_BUILD_ROOT%{ruby_vendorlibdir}/net \
08c2f6e5 696 $RPM_BUILD_ROOT%{ruby_vendorlibdir}/data \
1968db6d 697
df9a7ee8 698%{__make} install %{?with_doc:install-doc -j1} \
ecde9c47 699 DESTDIR=$RPM_BUILD_ROOT
d041de24 700
c24d5840
ER
701# Version is empty if --with-ruby-version is specified.
702# http://bugs.ruby-lang.org/issues/7807
703sed -i -e 's/Version: \${ruby_version}/Version: %{ruby_version}/' $RPM_BUILD_ROOT%{_pkgconfigdir}/%{oname}-%{ruby_version}.pc
704
c588a52c
ER
705# Kill bundled certificates, as they should be part of ca-certificates.
706for cert in \
707 Class3PublicPrimaryCertificationAuthority.pem \
708 DigiCertHighAssuranceEVRootCA.pem \
709 EntrustnetSecureServerCertificationAuthority.pem \
710 GeoTrustGlobalCA.pem \
3112d6a6
ER
711 AddTrustExternalCARoot.pem \
712 AddTrustExternalCARoot-2048.pem \
90c8123f 713; do
c588a52c
ER
714 %{__rm} $RPM_BUILD_ROOT%{rubygems_dir}/rubygems/ssl_certs/$cert
715done
716
7cb22c75
JB
717install -d $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}
718cp -Rf sample/* $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}
9c41e51a
ER
719cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_mandir}/man1/rdoc%{ruby_suffix}.1
720cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_mandir}/man1/testrb%{ruby_suffix}.1
18e966a7 721
5c3d5a0e 722%{__rm} -rf $RPM_BUILD_ROOT%{_docdir}/%{name}/html
698147c7 723
a6d548c5 724# detect this runtime, "make install" is affected by operating_system.rb what is installed in system!
f144cce6 725gem_dir=$(./miniruby -Ilib -I. -I.ext/common ./tool/runruby.rb -- --disable-gems -r$(basename *-linux*-fake.rb .rb) -r rubygems -e 'puts Gem.default_dir')
a6d548c5
ER
726
727# Move gems root into common directory, out of Ruby directory structure.
728install -d $RPM_BUILD_ROOT%{gem_dir}
7cb22c75 729%{__mv} $RPM_BUILD_ROOT${gem_dir}/{gems,specifications} $RPM_BUILD_ROOT%{gem_dir}
a6d548c5
ER
730
731# Move bundled rubygems to %gem_dir
732# make symlinks for io-console and bigdecimal, which are considered to be part of stdlib by other Gems
733# make symlinks for all packages, so they would work without rubygems
734# NOTE: when making symlinks, do not symlink paths that could be directories,
735# as there may came files from other packages as well. actually, unlikely as
736# the links to got system dir and only ruby may package there (other distro
c24d5840 737# packages should go to vendor dirs)
1083418a 738%if 0
a6d548c5 739install -d $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/lib
7cb22c75 740%{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/rake* $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/lib
a6d548c5
ER
741ln -s %{gem_dir}/gems/rake-%{rake_ver}/lib/rake $RPM_BUILD_ROOT%{ruby_libdir}
742ln -s %{gem_dir}/gems/rake-%{rake_ver}/lib/rake.rb $RPM_BUILD_ROOT%{ruby_libdir}
7cb22c75 743%{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/rake-%{rake_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
1083418a 744%endif
a6d548c5
ER
745
746install -d $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/lib
7cb22c75 747%{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/rdoc* $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/lib
a6d548c5
ER
748ln -s %{gem_dir}/gems/rdoc-%{rdoc_ver}/lib/rdoc $RPM_BUILD_ROOT%{ruby_libdir}
749ln -s %{gem_dir}/gems/rdoc-%{rdoc_ver}/lib/rdoc.rb $RPM_BUILD_ROOT%{ruby_libdir}
7cb22c75 750%{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/rdoc-%{rdoc_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
a6d548c5
ER
751
752install -d $RPM_BUILD_ROOT%{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}/lib
753install -d $RPM_BUILD_ROOT%{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib
7cb22c75
JB
754%{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/bigdecimal $RPM_BUILD_ROOT%{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}/lib
755%{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/bigdecimal.so $RPM_BUILD_ROOT%{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib
756%{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/bigdecimal-%{bigdecimal_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
a6d548c5
ER
757ln -s %{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal $RPM_BUILD_ROOT%{ruby_libdir}/bigdecimal
758ln -s %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal.so $RPM_BUILD_ROOT%{ruby_libarchdir}/bigdecimal.so
759
760install -d $RPM_BUILD_ROOT%{gem_dir}/gems/io-console-%{io_console_ver}/lib
761install -d $RPM_BUILD_ROOT%{gem_libdir}/io-console-%{io_console_ver}/lib/io
7cb22c75
JB
762%{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/io $RPM_BUILD_ROOT%{gem_dir}/gems/io-console-%{io_console_ver}/lib
763%{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/io/console.so $RPM_BUILD_ROOT%{gem_libdir}/io-console-%{io_console_ver}/lib/io
764%{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/io-console-%{io_console_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
a6d548c5
ER
765ln -s %{gem_dir}/gems/io-console-%{io_console_ver}/lib/io $RPM_BUILD_ROOT%{ruby_libdir}/io
766ln -s %{gem_libdir}/io-console-%{io_console_ver}/lib/io/console.so $RPM_BUILD_ROOT%{ruby_libarchdir}/io/console.so
767
768install -d $RPM_BUILD_ROOT%{gem_dir}/gems/json-%{json_ver}/lib
769install -d $RPM_BUILD_ROOT%{gem_libdir}/json-%{json_ver}/lib
7cb22c75
JB
770%{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/json* $RPM_BUILD_ROOT%{gem_dir}/gems/json-%{json_ver}/lib
771%{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/json $RPM_BUILD_ROOT%{gem_libdir}/json-%{json_ver}/lib
772%{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/json-%{json_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
a6d548c5
ER
773ln -s %{gem_dir}/gems/json-%{json_ver}/lib/json $RPM_BUILD_ROOT%{ruby_libdir}/json
774ln -s %{gem_dir}/gems/json-%{json_ver}/lib/json.rb $RPM_BUILD_ROOT%{ruby_libdir}/json.rb
775install -d $RPM_BUILD_ROOT%{ruby_libarchdir}/json/ext
776ln -s %{gem_libdir}/json-%{json_ver}/lib/json/ext/parser.so $RPM_BUILD_ROOT%{ruby_libarchdir}/json/ext
777ln -s %{gem_libdir}/json-%{json_ver}/lib/json/ext/generator.so $RPM_BUILD_ROOT%{ruby_libarchdir}/json/ext
778
a6d548c5 779ln -s %{gem_dir}/gems/minitest-%{minitest_ver}/lib/minitest $RPM_BUILD_ROOT%{ruby_libdir}
a6d548c5 780
a6d548c5 781install -d $RPM_BUILD_ROOT%{ruby_libdir}/test
a6d548c5 782ln -s %{gem_dir}/gems/test-unit-%{test_unit_ver}/lib/unit $RPM_BUILD_ROOT%{ruby_libdir}/test
a6d548c5
ER
783
784install -d $RPM_BUILD_ROOT%{gem_dir}/gems/psych-%{psych_ver}/lib
785install -d $RPM_BUILD_ROOT%{gem_libdir}/psych-%{psych_ver}/lib
7cb22c75
JB
786%{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/psych* $RPM_BUILD_ROOT%{gem_dir}/gems/psych-%{psych_ver}/lib
787%{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/psych.so $RPM_BUILD_ROOT%{gem_libdir}/psych-%{psych_ver}/lib/
788%{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/psych-%{psych_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
a6d548c5
ER
789ln -s %{gem_dir}/gems/psych-%{psych_ver}/lib/psych $RPM_BUILD_ROOT%{ruby_libdir}/psych
790ln -s %{gem_dir}/gems/psych-%{psych_ver}/lib/psych.rb $RPM_BUILD_ROOT%{ruby_libdir}/psych.rb
791ln -s %{gem_libdir}/psych-%{psych_ver}/lib/psych.so $RPM_BUILD_ROOT%{ruby_archdir}/psych.so
792
793# Adjust the gemspec files so that the gems will load properly
794sed -i '/^end$/ i\
795 s.require_paths = ["lib"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/rake-%{rake_ver}.gemspec
796
797sed -i '/^end$/ i\
798 s.require_paths = ["lib"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/rdoc-%{rdoc_ver}.gemspec
799
800sed -i '/^end$/ i\
801 s.require_paths = ["lib"]\
802 s.extensions = ["bigdecimal.so"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/bigdecimal-%{bigdecimal_ver}.gemspec
803
804sed -i '/^end$/ i\
805 s.require_paths = ["lib"]\
806 s.extensions = ["io/console.so"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/io-console-%{io_console_ver}.gemspec
807
808sed -i '/^end$/ i\
809 s.require_paths = ["lib"]\
810 s.extensions = ["json/ext/parser.so", "json/ext/generator.so"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/json-%{json_ver}.gemspec
811
812sed -i '/^end$/ i\
813 s.require_paths = ["lib"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/minitest-%{minitest_ver}.gemspec
814
3112d6a6
ER
815# Push the .gemspecs through the RubyGems to let them write the stub headers.
816# This speeds up loading of libraries and avoids warnings in Spring:
817# https://github.com/rubygems/rubygems/pull/694
818for s in rake-%{rake_ver}.gemspec rdoc-%{rdoc_ver}.gemspec json-%{json_ver}.gemspec; do
819 s="$RPM_BUILD_ROOT%{gem_dir}/specifications/$s"
820 %{__make} runruby TESTRUN_SCRIPT="-rubygems \
821 -e \"spec = Gem::Specification.load('$s')\" \
822 -e \"File.write '$s', spec.to_ruby\""
823done
824
9c41e51a 825ln -sf %{gem_dir}/gems/rake-%{rake_ver}/bin/rake $RPM_BUILD_ROOT%{_bindir}/rake%{ruby_suffix}
63b8d212 826
7cb22c75
JB
827%{__sed} -i -e '1s,/usr/bin/env ruby,/usr/bin/ruby,' \
828 $RPM_BUILD_ROOT%{ruby_libdir}/abbrev.rb \
829 $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/bin/rake \
830 $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/rdoc \
831 $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/ri \
7cb22c75
JB
832 $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/{cal,test,time,uumerge}.rb \
833 $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/{drb,logger,openssl,ripper,rss}/*.rb \
834 $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/webrick/*.cgi
835
87437a24
ER
836# gem non library files
837%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/minitest-%{minitest_ver}/test
e236ea00
ER
838%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/test-unit-%{test_unit_ver}/{[A-Z]*,doc,sample,test}
839%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/power_assert-%{power_assert_ver}/{[A-Z]*,test}
ac937700 840%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/{[A-Z]*,doc,test}
e236ea00 841%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/{[A-Z]*,doc,test}
0ab77745 842%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/net-telnet-%{net_telnet_ver}/{[A-Z]*,bin}
76a22994 843
15467dc7 844%if %{without batteries}
b2f04116 845# packaged separately
05f75f09 846%{__rm} -r $RPM_BUILD_ROOT%{ruby_libdir}/{rubygems,rake,json,minitest}
0b1956f4 847%{__rm} -r $RPM_BUILD_ROOT%{ruby_archdir}/json
7179288b 848%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/rake-*
0b1956f4 849%{__rm} $RPM_BUILD_ROOT%{ruby_libdir}/{rake,rubygems,json}.rb
92ff5331 850%{__rm} $RPM_BUILD_ROOT%{_bindir}/{gem,rake}
1083418a 851#%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/rake*
45f22c60 852%{__rm} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/{json,minitest,rake}-*.gemspec
7179288b 853%{?with_doc:%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/ri/%{ruby_version}/system/JSON}
15467dc7 854%endif
1968db6d 855
44802bd7 856%if %{with doc}
d78ec589 857# too much .ri
2db0575e
ER
858%{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/cache.ri
859%{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/created.rid
15467dc7 860%endif
1968db6d 861
4ab119cd 862%clean
863rm -rf $RPM_BUILD_ROOT
864
d041de24
JR
865%post -p /sbin/ldconfig
866%postun -p /sbin/ldconfig
4ab119cd 867
868%files
869%defattr(644,root,root,755)
3112d6a6 870%doc NEWS LEGAL BSDL README.md README.EXT ChangeLog
9c41e51a 871%attr(755,root,root) %{_bindir}/ruby%{ruby_suffix}
529ff870 872%attr(755,root,root) %{_libdir}/libruby.so.*.*.*
eee72344 873%attr(755,root,root) %ghost %{_libdir}/libruby.so.%{ruby_version}
0f2892f2 874%{_mandir}/man1/ruby%{ruby_suffix}.1*
05f75f09 875
9c41e51a
ER
876%dir %{_libdir}/%{oname}
877%dir %{_libdir}/%{oname}/%{vendordir}
878%dir %{_datadir}/%{oname}
0b1956f4 879
be8e7b24 880%dir %{ruby_libdir}
5c3d5a0e 881%dir %{ruby_archdir}
be8e7b24 882%dir %{ruby_vendorlibdir}
be8e7b24 883%dir %{ruby_vendorarchdir}
31058abe 884
df9a7ee8 885%dir %{dirname:%{ruby_ridir}}
2db0575e 886%dir %{ruby_ridir}
a43d66d8 887%dir %{ruby_rdocdir}
9fd96af7 888
f1a7abab 889# common dirs for ruby vendor modules
08c2f6e5 890%dir %{ruby_vendorlibdir}/data
f1a7abab
ER
891%dir %{ruby_vendorlibdir}/net
892
9fd96af7 893%files devel
894%defattr(644,root,root,755)
529ff870 895%attr(755,root,root) %{_libdir}/libruby.so
9c41e51a 896%{_includedir}/%{oname}-%{ruby_version}
c24d5840 897%{_pkgconfigdir}/%{oname}-%{ruby_version}.pc
b5465d0c 898%{ruby_libdir}/mkmf.rb
9fd96af7 899
900%files static
901%defattr(644,root,root,755)
529ff870 902%{_libdir}/libruby-static.a
9fd96af7 903
15ecb21e 904%if %{with tk}
9fd96af7 905%files tk
906%defattr(644,root,root,755)
7cb22c75
JB
907%doc ext/tk/{ChangeLog.tkextlib,MANUAL_tcltklib.eng,README.fork}
908%lang(ja) %doc ext/tk/MANUAL_tcltklib.ja
909%{ruby_libdir}/multi-tk.rb
910%{ruby_libdir}/remote-tk.rb
0b1956f4
ER
911%{ruby_libdir}/tcltk.rb
912%{ruby_libdir}/tk*.rb
913%{ruby_libdir}/tk
914%{ruby_libdir}/tkextlib
7cb22c75
JB
915%attr(755,root,root) %{ruby_archdir}/tcltklib.so
916%attr(755,root,root) %{ruby_archdir}/tkutil.so
15ecb21e 917%endif
9fd96af7 918
d8228776
ER
919%files irb
920%defattr(644,root,root,755)
9c41e51a 921%attr(755,root,root) %{_bindir}/irb%{ruby_suffix}
d8228776
ER
922%{ruby_libdir}/irb.rb
923%{ruby_libdir}/irb
9c41e51a 924%{_mandir}/man1/irb%{ruby_suffix}.1*
d8228776 925
2db0575e 926%files rdoc
9fd96af7 927%defattr(644,root,root,755)
9c41e51a
ER
928%attr(755,root,root) %{_bindir}/rdoc%{ruby_suffix}
929%attr(755,root,root) %{_bindir}/ri%{ruby_suffix}
930%{_mandir}/man1/rdoc%{ruby_suffix}.1*
2db0575e
ER
931%{ruby_libdir}/rdoc
932%dir %{gem_dir}/gems/rdoc-%{rdoc_ver}
a6d548c5 933%{gem_dir}/gems/rdoc-%{rdoc_ver}/lib
2db0575e
ER
934%dir %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin
935%attr(755,root,root) %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/rdoc
936%{gem_dir}/specifications/rdoc-%{rdoc_ver}.gemspec
937%attr(755,root,root) %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/ri
938
44802bd7
ER
939%if %{with batteries}
940%files rubygems
941981c7 941%defattr(644,root,root,755)
9c41e51a 942%attr(755,root,root) %{_bindir}/gem%{ruby_suffix}
f493239c
ER
943%{rubygems_dir}/rubygems
944%{rubygems_dir}/rubygems.rb
945%{rubygems_dir}/ubygems.rb
45f22c60 946%{rubygems_dir}/rbconfig
63b8d212
ER
947
948%files rake
949%defattr(644,root,root,755)
9c41e51a 950%attr(755,root,root) %{_bindir}/rake%{ruby_suffix}
63b8d212 951%dir %{gem_dir}/gems/rake-%{rake_ver}
a6d548c5 952%{gem_dir}/gems/rake-%{rake_ver}/lib
e236ea00 953%{gem_dir}/gems/rake-%{rake_ver}/rakelib
63b8d212
ER
954%dir %{gem_dir}/gems/rake-%{rake_ver}/bin
955%attr(755,root,root) %{gem_dir}/gems/rake-%{rake_ver}/bin/rake
956%{gem_dir}/specifications/rake-%{rake_ver}.gemspec
7e87bcc1
ER
957
958%files json
959%defattr(644,root,root,755)
960%{ruby_libdir}/json
961%dir %{ruby_archdir}/json
962%dir %{ruby_archdir}/json/ext
963%attr(755,root,root) %{ruby_archdir}/json/ext/*.so
a6d548c5
ER
964
965%dir %{gem_libdir}/json-%{json_ver}
966%dir %{gem_libdir}/json-%{json_ver}/lib
967%dir %{gem_libdir}/json-%{json_ver}/lib/json
968%dir %{gem_libdir}/json-%{json_ver}/lib/json/ext
969%attr(755,root,root) %{gem_libdir}/json-%{json_ver}/lib/json/ext/generator.so
970%attr(755,root,root) %{gem_libdir}/json-%{json_ver}/lib/json/ext/parser.so
971
972%{gem_dir}/gems/json-%{json_ver}
7e87bcc1 973%{gem_dir}/specifications/json-%{json_ver}.gemspec
44802bd7
ER
974%endif
975
74ff0589
ER
976%files power_assert
977%defattr(644,root,root,755)
87437a24
ER
978%dir %{gem_dir}/gems/power_assert-%{power_assert_ver}
979%{gem_dir}/gems/power_assert-%{power_assert_ver}/lib
74ff0589
ER
980%{gem_dir}/specifications/power_assert-%{power_assert_ver}.gemspec
981
cac72f51
ER
982%files minitest
983%defattr(644,root,root,755)
984%{ruby_libdir}/minitest
985%{gem_dir}/gems/minitest-%{minitest_ver}
cac72f51
ER
986%{gem_dir}/specifications/minitest-%{minitest_ver}.gemspec
987
76a22994
ER
988%files test-unit
989%defattr(644,root,root,755)
990%dir %{gem_dir}/gems/test-unit-%{test_unit_ver}
991%{gem_dir}/gems/test-unit-%{test_unit_ver}/lib
992%{gem_dir}/specifications/test-unit-%{test_unit_ver}.gemspec
993%{_mandir}/man1/testrb%{ruby_suffix}.1*
994
ac937700 995%files did_you_mean
e236ea00 996%defattr(644,root,root,755)
ac937700
ER
997%dir %{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}
998%{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/benchmark
999%{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/evaluation
1000%{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/lib
1001%{gem_dir}/specifications/did_you_mean-%{did_you_mean_ver}.gemspec
1002
0ab77745
ER
1003%files net-telnet
1004%defattr(644,root,root,755)
1005%dir %{gem_dir}/gems/net-telnet-%{net_telnet_ver}
1006%{gem_dir}/gems/net-telnet-%{net_telnet_ver}/lib
1007%{gem_dir}/specifications/net-telnet-%{net_telnet_ver}.gemspec
1008
f6f2f07f
ER
1009%files bigdecimal
1010%defattr(644,root,root,755)
1011%{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}
1012%dir %{gem_libdir}/bigdecimal-%{bigdecimal_ver}
1013%dir %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib
1014%attr(755,root,root) %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal.so
1015%{ruby_libdir}/bigdecimal
1016%{gem_dir}/specifications/bigdecimal-%{bigdecimal_ver}.gemspec
1017
1018%files io-console
1019%defattr(644,root,root,755)
1020%{gem_dir}/gems/io-console-%{io_console_ver}
1021%dir %{gem_libdir}/io-console-%{io_console_ver}
1022%dir %{gem_libdir}/io-console-%{io_console_ver}/lib
1023%dir %{gem_libdir}/io-console-%{io_console_ver}/lib/io
1024%attr(755,root,root) %{gem_libdir}/io-console-%{io_console_ver}/lib/io/console.so
1025%{gem_dir}/specifications/io-console-%{io_console_ver}.gemspec
1026
162eb983
ER
1027%files psych
1028%defattr(644,root,root,755)
1029%{ruby_libdir}/psych.rb
1030%attr(755,root,root) %{ruby_archdir}/psych.so
1031%{gem_dir}/gems/psych-%{psych_ver}
1032%{ruby_libdir}/psych
1033%dir %{gem_libdir}/psych-%{psych_ver}
1034%dir %{gem_libdir}/psych-%{psych_ver}/lib
1035%attr(755,root,root) %{gem_libdir}/psych-%{psych_ver}/lib/psych.so
1036%{gem_dir}/specifications/psych-%{psych_ver}.gemspec
1037
9fd96af7 1038%files modules
1039%defattr(644,root,root,755)
9c41e51a 1040%attr(755,root,root) %{_bindir}/erb%{ruby_suffix}
0b1956f4 1041%{ruby_libdir}/cgi
0b1956f4 1042%{ruby_libdir}/digest
0b1956f4
ER
1043%{ruby_libdir}/drb
1044%{ruby_libdir}/fiddle
1045%{ruby_libdir}/io
0b1956f4 1046%{ruby_libdir}/matrix
0b1956f4
ER
1047%{ruby_libdir}/net
1048%{ruby_libdir}/openssl
1049%{ruby_libdir}/optparse
0b1956f4
ER
1050%{ruby_libdir}/racc
1051%{ruby_libdir}/rbconfig
0b1956f4
ER
1052%{ruby_libdir}/rexml
1053%{ruby_libdir}/rinda
1054%{ruby_libdir}/ripper
1055%{ruby_libdir}/rss
1056%{ruby_libdir}/shell
45f22c60 1057%{ruby_libdir}/syslog
0b1956f4
ER
1058%{ruby_libdir}/test
1059%{ruby_libdir}/uri
1060%{ruby_libdir}/webrick
1061%{ruby_libdir}/xmlrpc
1062%{ruby_libdir}/yaml
ba0bcd1d
ER
1063
1064%{ruby_libdir}/English.rb
1065%{ruby_libdir}/abbrev.rb
1066%{ruby_libdir}/base64.rb
1067%{ruby_libdir}/benchmark.rb
1068%{ruby_libdir}/cgi.rb
1069%{ruby_libdir}/cmath.rb
ba0bcd1d
ER
1070%{ruby_libdir}/csv.rb
1071%{ruby_libdir}/date.rb
1072%{ruby_libdir}/debug.rb
1073%{ruby_libdir}/delegate.rb
1074%{ruby_libdir}/digest.rb
ba0bcd1d
ER
1075%{ruby_libdir}/drb.rb
1076%{ruby_libdir}/e2mmap.rb
1077%{ruby_libdir}/erb.rb
1078%{ruby_libdir}/expect.rb
1079%{ruby_libdir}/fiddle.rb
1080%{ruby_libdir}/fileutils.rb
1081%{ruby_libdir}/find.rb
1082%{ruby_libdir}/forwardable.rb
1083%{ruby_libdir}/getoptlong.rb
ba0bcd1d
ER
1084%{ruby_libdir}/ipaddr.rb
1085%{ruby_libdir}/json.rb
1086%{ruby_libdir}/kconv.rb
1087%{ruby_libdir}/logger.rb
1088%{ruby_libdir}/mathn.rb
1089%{ruby_libdir}/matrix.rb
1090%{ruby_libdir}/monitor.rb
1091%{ruby_libdir}/mutex_m.rb
1092%{ruby_libdir}/observer.rb
1093%{ruby_libdir}/open-uri.rb
1094%{ruby_libdir}/open3.rb
1095%{ruby_libdir}/openssl.rb
94592386 1096%{ruby_libdir}/optionparser.rb
ba0bcd1d
ER
1097%{ruby_libdir}/optparse.rb
1098%{ruby_libdir}/ostruct.rb
1099%{ruby_libdir}/pathname.rb
1100%{ruby_libdir}/pp.rb
1101%{ruby_libdir}/prettyprint.rb
1102%{ruby_libdir}/prime.rb
1103%{ruby_libdir}/profile.rb
1104%{ruby_libdir}/profiler.rb
1105%{ruby_libdir}/pstore.rb
ba0bcd1d
ER
1106%{ruby_libdir}/rdoc.rb
1107%{ruby_libdir}/resolv-replace.rb
1108%{ruby_libdir}/resolv.rb
1109%{ruby_libdir}/ripper.rb
1110%{ruby_libdir}/rss.rb
1111%{ruby_libdir}/scanf.rb
1112%{ruby_libdir}/securerandom.rb
1113%{ruby_libdir}/set.rb
1114%{ruby_libdir}/shell.rb
1115%{ruby_libdir}/shellwords.rb
1116%{ruby_libdir}/singleton.rb
1117%{ruby_libdir}/socket.rb
1118%{ruby_libdir}/sync.rb
0b1956f4 1119%{ruby_libdir}/tempfile.rb
0b1956f4
ER
1120%{ruby_libdir}/thwait.rb
1121%{ruby_libdir}/time.rb
1122%{ruby_libdir}/timeout.rb
1123%{ruby_libdir}/tmpdir.rb
1124%{ruby_libdir}/tracer.rb
1125%{ruby_libdir}/tsort.rb
05bcc29a 1126%{ruby_libdir}/un.rb
94592386
ER
1127%{ruby_libdir}/unicode_normalize
1128%{ruby_libdir}/unicode_normalize.rb
05bcc29a
ER
1129%{ruby_libdir}/uri.rb
1130%{ruby_libdir}/weakref.rb
1131%{ruby_libdir}/webrick.rb
1132%{ruby_libdir}/xmlrpc.rb
1133%{ruby_libdir}/yaml.rb
ba0bcd1d 1134
7179288b 1135%if %{with batteries}
44802bd7
ER
1136%exclude %{ruby_libdir}/rubygems.rb
1137%exclude %{ruby_libdir}/ubygems.rb
ed7247e0 1138%exclude %{ruby_libdir}/rbconfig/datadir.rb
7179288b 1139%endif
d8228776 1140%exclude %{ruby_libdir}/irb.rb
b5465d0c 1141%exclude %{ruby_libdir}/mkmf.rb
05bcc29a
ER
1142
1143%{ruby_archdir}/rbconfig.rb
1144%attr(755,root,root) %{ruby_archdir}/bigdecimal.so
1145%attr(755,root,root) %{ruby_archdir}/continuation.so
1146%attr(755,root,root) %{ruby_archdir}/coverage.so
05bcc29a
ER
1147%attr(755,root,root) %{ruby_archdir}/date_core.so
1148%attr(755,root,root) %{ruby_archdir}/dbm.so
1149%attr(755,root,root) %{ruby_archdir}/digest.so
05bcc29a
ER
1150%attr(755,root,root) %{ruby_archdir}/etc.so
1151%attr(755,root,root) %{ruby_archdir}/fcntl.so
1152%attr(755,root,root) %{ruby_archdir}/fiber.so
1153%attr(755,root,root) %{ruby_archdir}/fiddle.so
1154%attr(755,root,root) %{ruby_archdir}/gdbm.so
1155%attr(755,root,root) %{ruby_archdir}/nkf.so
1156%attr(755,root,root) %{ruby_archdir}/objspace.so
1157%attr(755,root,root) %{ruby_archdir}/openssl.so
1158%attr(755,root,root) %{ruby_archdir}/pathname.so
05bcc29a
ER
1159%attr(755,root,root) %{ruby_archdir}/pty.so
1160%attr(755,root,root) %{ruby_archdir}/readline.so
1161%attr(755,root,root) %{ruby_archdir}/ripper.so
a319cc02 1162%attr(755,root,root) %{ruby_archdir}/thread.so
05bcc29a
ER
1163%attr(755,root,root) %{ruby_archdir}/sdbm.so
1164%attr(755,root,root) %{ruby_archdir}/socket.so
1165%attr(755,root,root) %{ruby_archdir}/stringio.so
1166%attr(755,root,root) %{ruby_archdir}/strscan.so
1167%attr(755,root,root) %{ruby_archdir}/syslog.so
1168%attr(755,root,root) %{ruby_archdir}/zlib.so
1169
5e50fb86
ER
1170%dir %{ruby_archdir}/cgi
1171%attr(755,root,root) %{ruby_archdir}/cgi/escape.so
0b1956f4
ER
1172%dir %{ruby_archdir}/digest
1173%attr(755,root,root) %{ruby_archdir}/digest/*.so
0b1956f4
ER
1174%dir %{ruby_archdir}/enc
1175%attr(755,root,root) %{ruby_archdir}/enc/*.so
1176%dir %{ruby_archdir}/enc/trans
1177%attr(755,root,root) %{ruby_archdir}/enc/trans/*.so
1178%dir %{ruby_archdir}/io
1179%attr(755,root,root) %{ruby_archdir}/io/*.so
0b1956f4
ER
1180%dir %{ruby_archdir}/mathn
1181%attr(755,root,root) %{ruby_archdir}/mathn/*.so
1182%dir %{ruby_archdir}/racc
1183%attr(755,root,root) %{ruby_archdir}/racc/*.so
a319cc02
ER
1184%dir %{ruby_archdir}/rbconfig
1185%attr(755,root,root) %{ruby_archdir}/rbconfig/sizeof.so
31058abe 1186
a6d548c5
ER
1187%dir %{_libdir}/gems
1188%dir %{_libdir}/gems/%{oname}
1189
d78ec589 1190%dir %{gem_dir}
a6d548c5 1191%dir %{gem_dir}/gems
d78ec589 1192%dir %{gem_dir}/specifications
45f22c60 1193%dir %{gem_dir}/specifications/default
9c41e51a
ER
1194%{_mandir}/man1/erb%{ruby_suffix}.1*
1195%{_mandir}/man1/ri%{ruby_suffix}.1*
15467dc7 1196
40cd40d7 1197%if %{with doc}
9fd96af7 1198%files doc
9434194f 1199%defattr(644,root,root,755)
40cd40d7
ER
1200%doc ruby_%{doc_version}_stdlib
1201%doc ruby_%{doc_version}_core
87b9c30a 1202
9fd96af7 1203%files doc-ri
e40bfe06 1204%defattr(644,root,root,755)
2db0575e 1205%{ruby_ridir}/*
d0f5536d 1206%endif
265d0efe 1207
9fd96af7 1208%files examples
616a12d8 1209%defattr(644,root,root,755)
7cb22c75 1210%{_examplesdir}/%{oname}-%{pkg_version}
This page took 0.342618 seconds and 4 git commands to generate.