]> git.pld-linux.org Git - packages/ruby.git/blame - ruby.spec
require psych and bigdecimal as well for safer upgrade path
[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
73a515e6 14%define rel 0.4
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
73a515e6 334Requires: %{name}-bigdecimal = %{bigdecimal_ver}-%{pkg_version}.%{rel}
90070d51 335Requires: %{name}-io-console = %{io_console_ver}-%{pkg_version}.%{rel}
7cb22c75 336Requires: %{name}-modules = 1:%{pkg_version}-%{rel}
73a515e6 337Requires: %{name}-psych = %{psych_ver}-%{pkg_version}.%{rel}
941981c7 338Requires: %{name}-rdoc >= %{rdoc_ver}
92f362b7 339Suggests: %{name}-devel
44802bd7
ER
340Provides: rubygems = %{rubygems_ver}
341%if "%{_rpmversion}" >= "5"
342BuildArch: noarch
343%endif
344
345%description rubygems
346RubyGems is the Ruby standard for publishing and managing third party
347libraries.
348
3349e6ba
JB
349%description rubygems -l pl.UTF-8
350RubyGems to standardowe narzędzie języka Ruby do publikowania i
351zarządzania zewnętrznymi bibliotekami.
352
63b8d212
ER
353%package rake
354Summary: Rake is a Make-like program implemented in Ruby
355Summary(pl.UTF-8): Program typu Make dla języka Ruby
356Version: %{rake_ver}
7cb22c75 357Release: %{pkg_version}.%{rel}
63b8d212
ER
358Epoch: 0
359License: MIT
360Group: Development/Languages
361Provides: rake = %{rake_ver}
2531db89 362Conflicts: ruby-modules < 1:1.9.3.429-2
63b8d212
ER
363%if "%{_rpmversion}" >= "5"
364BuildArch: noarch
365%endif
366
367%description rake
368Rake is a simple Ruby build program with capabilities similar to make.
369
370It has the following features:
371- Rakefiles (rake's version of Makefiles) are completely defined in
372 standard Ruby syntax. No XML files to edit. No quirky Makefile syntax
373 to worry about (is that a tab or a space?)
374- Users can specify tasks with prerequisites.
375- Rake supports rule patterns to synthesize implicit tasks.
376- Rake is lightweight. It can be distributed with other projects as a
377 single file. Projects that depend upon rake do not require that rake
378 be installed on target systems.
379
380%description rake -l pl.UTF-8
381Rake to prosty program do budowania w języku Ruby o możliwościach
382podobnych do make.
383
384Ma następujące cechy:
385- Pliki Rakefile (rake'owa odmiana plików Makefile) są definiowane
386 całkowicie w standardowej składni języka Ruby. Nie trzeba modyfikować
387 plików XML. Nie trzeba martwić się kaprysami składni Makefile (czy to
388 tabulacja czy spacja?).
389- Użytkownicy mogą określać zadania z ich zależnościami.
390- Rake obsługuje wzorce reguł do tworzenia z nich wynikowych zadań.
391- Rake jest lekki. Może być rozpowszechniany z innymi projektami jako
392 pojedynczy plik. Projekty używające rake'a nie wymagają go
393 zainstalowanego na systemach docelowych.
394
7e87bcc1
ER
395%package json
396Summary: JSON library for Ruby
397Summary(pl.UTF-8): Biblioteka JSON dla języka Ruby
398Version: %{json_ver}
7cb22c75 399Release: %{pkg_version}.%{rel}
7e87bcc1 400Epoch: 0
3112d6a6
ER
401# UCD: ext/json/generator/generator.c
402License: (Ruby or GPLv2) and UCD
7e87bcc1
ER
403Group: Development/Languages
404Obsoletes: ruby-json-rubyforge
2531db89 405Conflicts: ruby-modules < 1:1.9.3.429-3
7e87bcc1
ER
406
407%description json
408This is a JSON implementation as a Ruby extension in C.
409
410%description json -l pl.UTF-8
411Biblioteka JSON dla języka Ruby.
412
cac72f51
ER
413%package minitest
414Summary: Minitest provides a complete suite of testing facilities
415Version: %{minitest_ver}
416Release: %{pkg_version}.%{rel}
417Epoch: 0
418License: MIT
419Group: Development/Libraries
420%if "%{_rpmversion}" >= "5"
421BuildArch: noarch
422%endif
423
424%description minitest
425minitest/unit is a small and incredibly fast unit testing framework.
426
427minitest/spec is a functionally complete spec engine.
428
429minitest/benchmark is an awesome way to assert the performance of your
430algorithms in a repeatable manner.
431
432minitest/mock by Steven Baker, is a beautifully tiny mock object
433framework.
434
435minitest/pride shows pride in testing and adds coloring to your test
436output.
437
3112d6a6
ER
438%package power_assert
439# The Summary/Description fields are rather poor.
440# https://github.com/k-tsj/power_assert/issues/3
441Summary: Power Assert for Ruby
442Version: %{power_assert_ver}
443Release: %{pkg_version}.%{rel}
444Epoch: 0
445License: Ruby or BSD
446Group: Development/Libraries
447%if "%{_rpmversion}" >= "5"
448BuildArch: noarch
449%endif
450
451%description power_assert
ac937700
ER
452Power Assert shows each value of variables and method calls in the
453expression. It is useful for testing, providing which value wasn't
454correct when the condition is not satisfied.
3112d6a6
ER
455
456%package test-unit
457# The Summary/Description fields are rather poor.
458# https://github.com/test-unit/test-unit/issues/73
459Summary: Improved version of Test::Unit bundled in Ruby 1.8.x
460Version: %{test_unit_ver}
461Release: %{pkg_version}.%{rel}
462Epoch: 0
463Group: Development/Libraries
464# lib/test/unit/diff.rb is a double license of the Ruby license and PSF license.
465# lib/test-unit.rb is a dual license of the Ruby license and LGPLv2.1 or later.
466License: (Ruby or BSD) and (Ruby or BSD or Python) and (Ruby or BSD or LGPLv2+)
467%if "%{_rpmversion}" >= "5"
468BuildArch: noarch
469%endif
470
471%description test-unit
472Ruby 1.9.x bundles minitest not Test::Unit. Test::Unit bundled in Ruby
4731.8.x had not been improved but unbundled Test::Unit (test-unit) is
474improved actively.
475
ac937700
ER
476%package did_you_mean
477Summary: "Did you mean?" experience in Ruby
478Version: %{did_you_mean_ver}
479Release: %{pkg_version}.%{rel}
480Epoch: 0
481License: MIT
482Group: Development/Libraries
483%if "%{_rpmversion}" >= "5"
484BuildArch: noarch
485%endif
486
487%description did_you_mean
488"did you mean?" experience in Ruby: the error message will tell you
489the right one when you misspelled something.
490
0ab77745
ER
491%package net-telnet
492Summary: Provides telnet client functionality
493Version: %{net_telnet_ver}
494Release: %{pkg_version}.%{rel}
495Epoch: 0
496Group: Development/Libraries
497%if "%{_rpmversion}" >= "5"
498BuildArch: noarch
499%endif
500
501%description net-telnet
502Provides telnet client functionality.
503
504This class also has, through delegation, all the methods of a socket
505object (by default, a TCPSocket, but can be set by the Proxy option to
506new()). This provides methods such as close() to end the session and
507sysread() to read data directly from the host, instead of via the
508waitfor() mechanism. Note that if you do use sysread() directly when
509in telnet mode, you should probably pass the output through
510preprocess() to extract telnet command sequences.
511
f6f2f07f
ER
512%package bigdecimal
513Summary: BigDecimal provides arbitrary-precision floating point decimal arithmetic
514Version: %{bigdecimal_ver}
515Release: %{pkg_version}.%{rel}
516Epoch: 0
517License: GPL+ or Artistic
518Group: Development/Libraries
519%if "%{_rpmversion}" >= "5"
520BuildArch: noarch
521%endif
522
523%description bigdecimal
524Ruby provides built-in support for arbitrary precision integer
525arithmetic. For example:
526
52742**13 -> 1265437718438866624512
528
529BigDecimal provides similar support for very large or very accurate
530floating point numbers. Decimal arithmetic is also useful for general
531calculation, because it provides the correct answers people
532expect–whereas normal binary floating point arithmetic often
533introduces subtle errors because of the conversion between base 10 and
534base 2.
535
536%package io-console
537Summary: IO/Console is a simple console utilizing library
538Version: %{io_console_ver}
539Release: %{pkg_version}.%{rel}
540Epoch: 0
541Group: Development/Libraries
542%if "%{_rpmversion}" >= "5"
543BuildArch: noarch
544%endif
545
546%description io-console
547IO/Console provides very simple and portable access to console. It
548doesn't provide higher layer features, such like curses and readline.
549
162eb983
ER
550%package psych
551Summary: A libyaml wrapper for Ruby
552Version: %{psych_ver}
553Release: %{pkg_version}.%{rel}
554Epoch: 0
555License: MIT
556Group: Development/Libraries
557
558%description psych
559Psych is a YAML parser and emitter. Psych leverages libyaml for its
560YAML parsing and emitting capabilities. In addition to wrapping
561libyaml, Psych also knows how to serialize and de-serialize most Ruby
562objects to and from the YAML format.
563
4ab119cd 564%prep
40cd40d7 565%setup -q -n %{oname}-%{pkg_version} -a2 -a3 %{?with_bootstrap:-a100}
933aeb0e 566%patch0 -p1
1c3d4237 567#%patch1 -p1
360c41c0 568%patch2 -p1
313c55d4
ER
569%patch3 -p1
570%patch4 -p1
6b9c4b92 571%patch5 -p1
1c3d4237 572%patch6 -p1
5a5c66dc 573#%patch8 -p1
45f22c60 574%patch9 -p1
a319cc02 575%patch12 -p1
360c41c0
JR
576
577# must be regenerated with new bison
578%{__rm} parse.{c,h}
4ab119cd 579
3112d6a6
ER
580# Remove bundled libraries to be sure they are not used.
581%{__rm} -r ext/psych/yaml
582%{__rm} -r ext/fiddle/libffi*
583
f52a91a3
ER
584# Install custom operating_system.rb.
585install -d lib/rubygems/defaults
586cp -p %{SOURCE6} lib/rubygems/defaults
587
b2f04116
JR
588find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
589
590find -type f '(' -name '*.rb' -o -name '*.cgi' -o -name '*.test' \
591 -o -name 'ruby.1' -o -name '*.html' -o -name '*.tcl' ')' \
bb5582fa 592 | xargs %{__sed} -i 's,/usr/local/bin/,%{_bindir}/,'
e7754311 593
4730786e
ER
594# no configure option to disable, so just rm
595%{!?with_tk:rm -rf ext/tk}
596
4ab119cd 597%build
de9418ad
ER
598rubygems_ver=$(awk '/VERSION =/ && $1 == "VERSION" {print $3}' lib/rubygems.rb | xargs)
599if [ $rubygems_ver != %{rubygems_ver} ]; then
600 echo "Set %%define rubygems_ver to $rubygems_ver and re-run."
601 exit 1
602fi
593ae364
ER
603rdoc_ver=$(awk '/VERSION =/ && $1 == "VERSION" {print $3}' lib/rdoc.rb | xargs)
604if [ $rdoc_ver != %{rdoc_ver} ]; then
605 echo "Set %%define rdoc_ver to $rdoc_ver and re-run."
606 exit 1
607fi
de9418ad 608
8ea447c1 609cp -f /usr/share/automake/config.sub .
a5f9b7ff 610
92ff5331 611# build ruby-1.8.7 first
612%if %{with bootstrap}
9c41e51a 613cd %{oname}-1.8.7-p330
92ff5331 614%configure
615%{__make}
616cd ..
617%endif
618
8ea447c1 619%{__autoconf}
ecde9c47 620%configure \
9c41e51a
ER
621 %{?with_bootstrap:--with-baseruby=%{oname}-1.8.7-p330/miniruby} \
622 --program-suffix=%{ruby_suffix} \
a319cc02 623 --with-archlibdir=%{_libdir} \
45f22c60
ER
624 --with-rubygemsdir=%{rubygems_dir} \
625 --with-rubylibprefix=%{ruby_libdir} \
626 --with-rubyarchprefix=%{ruby_archdir} \
627 --with-sitedir=%{ruby_sitelibdir} \
44d1acb8 628 --with-sitearchdir=%{ruby_sitearchdir} \
45f22c60 629 --with-vendordir=%{ruby_vendorlibdir} \
44d1acb8 630 --with-vendorarchdir=%{ruby_vendorarchdir} \
45f22c60
ER
631 --with-rubyhdrdir=%{_includedir}/%{oname}-%{ruby_version} \
632 --with-rubyarchhdrdir=%{_includedir}/%{oname}-%{ruby_version} \
633 --with-sitearchhdrdir='$(sitehdrdir)/$(arch)' \
634 --with-vendorarchhdrdir='$(vendorhdrdir)/$(arch)' \
45f22c60 635 --enable-multiarch \
7cb22c75 636 --enable-shared \
96c2e1a4 637 --disable-install-doc \
cb08a5f5 638 --disable-rpath \
7cb22c75 639 --disable-rubygems \
1a83bc11 640 --with-ruby-version='' \
4ab119cd 641
dbf8f91d 642%{__make} -j1 main \
2690877c 643 COPY="cp -p" Q= \
9c41e51a 644 %{?with_bootstrap:BASERUBY="%{oname}-1.8.7-p330/miniruby -I./ruby-1.8.7-p330/lib"}
aa58dbf5 645
d0f5536d 646%if %{with doc}
98757242 647%{__make} -j1 rdoc
d0f5536d 648%endif
53830491 649
c588a52c 650%if %{with tests}
fff139e1
ER
651# unset these, as testsuite does "git commit" somewhere, which points to pld .spec repo. doh
652unset GIT_DIR GIT_WORK_TREE
653
654unset GIT
c588a52c
ER
655DISABLE_TESTS=""
656
657%ifarch armv7l armv7hl armv7hnl
658# test_call_double(DL::TestDL) fails on ARM HardFP
659# http://bugs.ruby-lang.org/issues/6592
660DISABLE_TESTS="-x test_dl2.rb $DISABLE_TESTS"
661%endif
662
663# test_debug(TestRubyOptions) fails due to LoadError reported in debug mode,
664# when abrt.rb cannot be required (seems to be easier way then customizing
665# the test suite).
666touch abrt.rb
667
668# TestSignal#test_hup_me hangs up the test suite.
669# http://bugs.ruby-lang.org/issues/8997
670sed -i '/def test_hup_me/,/end if Process.respond_to/ s/^/#/' test/ruby/test_signal.rb
671
672# Fix "Could not find 'minitest'" error.
673# http://bugs.ruby-lang.org/issues/9259
674sed -i "/^ gem 'minitest', '~> 4.0'/ s/^/#/" lib/rubygems/test_case.rb
675
676# Segmentation fault.
677# https://bugs.ruby-lang.org/issues/9198
678sed -i '/^ def test_machine_stackoverflow/,/^ end/ s/^/#/' test/ruby/test_exception.rb
679
680# Don't test wrap ciphers to prevent "OpenSSL::Cipher::CipherError: wrap mode
681# not allowed" error.
682# https://bugs.ruby-lang.org/issues/10229
683sed -i '/assert(OpenSSL::Cipher::Cipher.new(name).is_a?(OpenSSL::Cipher::Cipher))/i \
684 next if /wrap/ =~ name' test/openssl/test_cipher.rb
685
686# Test is broken due to SSLv3 disabled in Fedora.
687# https://bugs.ruby-lang.org/issues/10046
688sed -i '/def test_ctx_server_session_cb$/,/^ end$/ s/^/#/' test/openssl/test_ssl_session.rb
689
690%{__make} check TESTS="-v $DISABLE_TESTS"
691%endif
692
4ab119cd 693%install
694rm -rf $RPM_BUILD_ROOT
413a1967 695install -d $RPM_BUILD_ROOT{%{ruby_rdocdir},%{ruby_ridir}} \
bf0e52e2 696 $RPM_BUILD_ROOT%{ruby_vendorarchdir} \
f1a7abab 697 $RPM_BUILD_ROOT%{ruby_vendorlibdir}/net \
08c2f6e5 698 $RPM_BUILD_ROOT%{ruby_vendorlibdir}/data \
1968db6d 699
df9a7ee8 700%{__make} install %{?with_doc:install-doc -j1} \
ecde9c47 701 DESTDIR=$RPM_BUILD_ROOT
d041de24 702
c24d5840
ER
703# Version is empty if --with-ruby-version is specified.
704# http://bugs.ruby-lang.org/issues/7807
705sed -i -e 's/Version: \${ruby_version}/Version: %{ruby_version}/' $RPM_BUILD_ROOT%{_pkgconfigdir}/%{oname}-%{ruby_version}.pc
706
c588a52c
ER
707# Kill bundled certificates, as they should be part of ca-certificates.
708for cert in \
709 Class3PublicPrimaryCertificationAuthority.pem \
710 DigiCertHighAssuranceEVRootCA.pem \
711 EntrustnetSecureServerCertificationAuthority.pem \
712 GeoTrustGlobalCA.pem \
3112d6a6
ER
713 AddTrustExternalCARoot.pem \
714 AddTrustExternalCARoot-2048.pem \
90c8123f 715; do
c588a52c
ER
716 %{__rm} $RPM_BUILD_ROOT%{rubygems_dir}/rubygems/ssl_certs/$cert
717done
718
7cb22c75
JB
719install -d $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}
720cp -Rf sample/* $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}
9c41e51a
ER
721cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_mandir}/man1/rdoc%{ruby_suffix}.1
722cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_mandir}/man1/testrb%{ruby_suffix}.1
18e966a7 723
5c3d5a0e 724%{__rm} -rf $RPM_BUILD_ROOT%{_docdir}/%{name}/html
698147c7 725
a6d548c5 726# detect this runtime, "make install" is affected by operating_system.rb what is installed in system!
f144cce6 727gem_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
728
729# Move gems root into common directory, out of Ruby directory structure.
730install -d $RPM_BUILD_ROOT%{gem_dir}
7cb22c75 731%{__mv} $RPM_BUILD_ROOT${gem_dir}/{gems,specifications} $RPM_BUILD_ROOT%{gem_dir}
a6d548c5
ER
732
733# Move bundled rubygems to %gem_dir
734# make symlinks for io-console and bigdecimal, which are considered to be part of stdlib by other Gems
735# make symlinks for all packages, so they would work without rubygems
736# NOTE: when making symlinks, do not symlink paths that could be directories,
737# as there may came files from other packages as well. actually, unlikely as
738# the links to got system dir and only ruby may package there (other distro
c24d5840 739# packages should go to vendor dirs)
1083418a 740%if 0
a6d548c5 741install -d $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/lib
7cb22c75 742%{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/rake* $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/lib
a6d548c5
ER
743ln -s %{gem_dir}/gems/rake-%{rake_ver}/lib/rake $RPM_BUILD_ROOT%{ruby_libdir}
744ln -s %{gem_dir}/gems/rake-%{rake_ver}/lib/rake.rb $RPM_BUILD_ROOT%{ruby_libdir}
7cb22c75 745%{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/rake-%{rake_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
1083418a 746%endif
a6d548c5
ER
747
748install -d $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/lib
7cb22c75 749%{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/rdoc* $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/lib
a6d548c5
ER
750ln -s %{gem_dir}/gems/rdoc-%{rdoc_ver}/lib/rdoc $RPM_BUILD_ROOT%{ruby_libdir}
751ln -s %{gem_dir}/gems/rdoc-%{rdoc_ver}/lib/rdoc.rb $RPM_BUILD_ROOT%{ruby_libdir}
7cb22c75 752%{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/rdoc-%{rdoc_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
a6d548c5
ER
753
754install -d $RPM_BUILD_ROOT%{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}/lib
755install -d $RPM_BUILD_ROOT%{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib
7cb22c75
JB
756%{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/bigdecimal $RPM_BUILD_ROOT%{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}/lib
757%{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/bigdecimal.so $RPM_BUILD_ROOT%{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib
758%{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/bigdecimal-%{bigdecimal_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
a6d548c5
ER
759ln -s %{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal $RPM_BUILD_ROOT%{ruby_libdir}/bigdecimal
760ln -s %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal.so $RPM_BUILD_ROOT%{ruby_libarchdir}/bigdecimal.so
761
762install -d $RPM_BUILD_ROOT%{gem_dir}/gems/io-console-%{io_console_ver}/lib
763install -d $RPM_BUILD_ROOT%{gem_libdir}/io-console-%{io_console_ver}/lib/io
7cb22c75
JB
764%{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/io $RPM_BUILD_ROOT%{gem_dir}/gems/io-console-%{io_console_ver}/lib
765%{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/io/console.so $RPM_BUILD_ROOT%{gem_libdir}/io-console-%{io_console_ver}/lib/io
766%{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/io-console-%{io_console_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
a6d548c5
ER
767ln -s %{gem_dir}/gems/io-console-%{io_console_ver}/lib/io $RPM_BUILD_ROOT%{ruby_libdir}/io
768ln -s %{gem_libdir}/io-console-%{io_console_ver}/lib/io/console.so $RPM_BUILD_ROOT%{ruby_libarchdir}/io/console.so
769
770install -d $RPM_BUILD_ROOT%{gem_dir}/gems/json-%{json_ver}/lib
771install -d $RPM_BUILD_ROOT%{gem_libdir}/json-%{json_ver}/lib
7cb22c75
JB
772%{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/json* $RPM_BUILD_ROOT%{gem_dir}/gems/json-%{json_ver}/lib
773%{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/json $RPM_BUILD_ROOT%{gem_libdir}/json-%{json_ver}/lib
774%{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/json-%{json_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
a6d548c5
ER
775ln -s %{gem_dir}/gems/json-%{json_ver}/lib/json $RPM_BUILD_ROOT%{ruby_libdir}/json
776ln -s %{gem_dir}/gems/json-%{json_ver}/lib/json.rb $RPM_BUILD_ROOT%{ruby_libdir}/json.rb
777install -d $RPM_BUILD_ROOT%{ruby_libarchdir}/json/ext
778ln -s %{gem_libdir}/json-%{json_ver}/lib/json/ext/parser.so $RPM_BUILD_ROOT%{ruby_libarchdir}/json/ext
779ln -s %{gem_libdir}/json-%{json_ver}/lib/json/ext/generator.so $RPM_BUILD_ROOT%{ruby_libarchdir}/json/ext
780
a6d548c5 781ln -s %{gem_dir}/gems/minitest-%{minitest_ver}/lib/minitest $RPM_BUILD_ROOT%{ruby_libdir}
a6d548c5 782
a6d548c5 783install -d $RPM_BUILD_ROOT%{ruby_libdir}/test
a6d548c5 784ln -s %{gem_dir}/gems/test-unit-%{test_unit_ver}/lib/unit $RPM_BUILD_ROOT%{ruby_libdir}/test
a6d548c5
ER
785
786install -d $RPM_BUILD_ROOT%{gem_dir}/gems/psych-%{psych_ver}/lib
787install -d $RPM_BUILD_ROOT%{gem_libdir}/psych-%{psych_ver}/lib
7cb22c75
JB
788%{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/psych* $RPM_BUILD_ROOT%{gem_dir}/gems/psych-%{psych_ver}/lib
789%{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/psych.so $RPM_BUILD_ROOT%{gem_libdir}/psych-%{psych_ver}/lib/
790%{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/psych-%{psych_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
a6d548c5
ER
791ln -s %{gem_dir}/gems/psych-%{psych_ver}/lib/psych $RPM_BUILD_ROOT%{ruby_libdir}/psych
792ln -s %{gem_dir}/gems/psych-%{psych_ver}/lib/psych.rb $RPM_BUILD_ROOT%{ruby_libdir}/psych.rb
793ln -s %{gem_libdir}/psych-%{psych_ver}/lib/psych.so $RPM_BUILD_ROOT%{ruby_archdir}/psych.so
794
795# Adjust the gemspec files so that the gems will load properly
796sed -i '/^end$/ i\
797 s.require_paths = ["lib"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/rake-%{rake_ver}.gemspec
798
799sed -i '/^end$/ i\
800 s.require_paths = ["lib"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/rdoc-%{rdoc_ver}.gemspec
801
802sed -i '/^end$/ i\
803 s.require_paths = ["lib"]\
804 s.extensions = ["bigdecimal.so"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/bigdecimal-%{bigdecimal_ver}.gemspec
805
806sed -i '/^end$/ i\
807 s.require_paths = ["lib"]\
808 s.extensions = ["io/console.so"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/io-console-%{io_console_ver}.gemspec
809
810sed -i '/^end$/ i\
811 s.require_paths = ["lib"]\
812 s.extensions = ["json/ext/parser.so", "json/ext/generator.so"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/json-%{json_ver}.gemspec
813
814sed -i '/^end$/ i\
815 s.require_paths = ["lib"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/minitest-%{minitest_ver}.gemspec
816
3112d6a6
ER
817# Push the .gemspecs through the RubyGems to let them write the stub headers.
818# This speeds up loading of libraries and avoids warnings in Spring:
819# https://github.com/rubygems/rubygems/pull/694
820for s in rake-%{rake_ver}.gemspec rdoc-%{rdoc_ver}.gemspec json-%{json_ver}.gemspec; do
821 s="$RPM_BUILD_ROOT%{gem_dir}/specifications/$s"
822 %{__make} runruby TESTRUN_SCRIPT="-rubygems \
823 -e \"spec = Gem::Specification.load('$s')\" \
824 -e \"File.write '$s', spec.to_ruby\""
825done
826
9c41e51a 827ln -sf %{gem_dir}/gems/rake-%{rake_ver}/bin/rake $RPM_BUILD_ROOT%{_bindir}/rake%{ruby_suffix}
63b8d212 828
7cb22c75
JB
829%{__sed} -i -e '1s,/usr/bin/env ruby,/usr/bin/ruby,' \
830 $RPM_BUILD_ROOT%{ruby_libdir}/abbrev.rb \
831 $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/bin/rake \
832 $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/rdoc \
833 $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/ri \
7cb22c75
JB
834 $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/{cal,test,time,uumerge}.rb \
835 $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/{drb,logger,openssl,ripper,rss}/*.rb \
836 $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/webrick/*.cgi
837
87437a24
ER
838# gem non library files
839%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/minitest-%{minitest_ver}/test
e236ea00
ER
840%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/test-unit-%{test_unit_ver}/{[A-Z]*,doc,sample,test}
841%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/power_assert-%{power_assert_ver}/{[A-Z]*,test}
ac937700 842%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/{[A-Z]*,doc,test}
e236ea00 843%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/{[A-Z]*,doc,test}
0ab77745 844%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/net-telnet-%{net_telnet_ver}/{[A-Z]*,bin}
76a22994 845
15467dc7 846%if %{without batteries}
b2f04116 847# packaged separately
05f75f09 848%{__rm} -r $RPM_BUILD_ROOT%{ruby_libdir}/{rubygems,rake,json,minitest}
0b1956f4 849%{__rm} -r $RPM_BUILD_ROOT%{ruby_archdir}/json
7179288b 850%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/rake-*
0b1956f4 851%{__rm} $RPM_BUILD_ROOT%{ruby_libdir}/{rake,rubygems,json}.rb
92ff5331 852%{__rm} $RPM_BUILD_ROOT%{_bindir}/{gem,rake}
1083418a 853#%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/rake*
45f22c60 854%{__rm} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/{json,minitest,rake}-*.gemspec
7179288b 855%{?with_doc:%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/ri/%{ruby_version}/system/JSON}
15467dc7 856%endif
1968db6d 857
44802bd7 858%if %{with doc}
d78ec589 859# too much .ri
2db0575e
ER
860%{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/cache.ri
861%{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/created.rid
15467dc7 862%endif
1968db6d 863
4ab119cd 864%clean
865rm -rf $RPM_BUILD_ROOT
866
d041de24
JR
867%post -p /sbin/ldconfig
868%postun -p /sbin/ldconfig
4ab119cd 869
870%files
871%defattr(644,root,root,755)
3112d6a6 872%doc NEWS LEGAL BSDL README.md README.EXT ChangeLog
9c41e51a 873%attr(755,root,root) %{_bindir}/ruby%{ruby_suffix}
529ff870 874%attr(755,root,root) %{_libdir}/libruby.so.*.*.*
eee72344 875%attr(755,root,root) %ghost %{_libdir}/libruby.so.%{ruby_version}
0f2892f2 876%{_mandir}/man1/ruby%{ruby_suffix}.1*
05f75f09 877
9c41e51a
ER
878%dir %{_libdir}/%{oname}
879%dir %{_libdir}/%{oname}/%{vendordir}
880%dir %{_datadir}/%{oname}
0b1956f4 881
be8e7b24 882%dir %{ruby_libdir}
5c3d5a0e 883%dir %{ruby_archdir}
be8e7b24 884%dir %{ruby_vendorlibdir}
be8e7b24 885%dir %{ruby_vendorarchdir}
31058abe 886
df9a7ee8 887%dir %{dirname:%{ruby_ridir}}
2db0575e 888%dir %{ruby_ridir}
a43d66d8 889%dir %{ruby_rdocdir}
9fd96af7 890
f1a7abab 891# common dirs for ruby vendor modules
08c2f6e5 892%dir %{ruby_vendorlibdir}/data
f1a7abab
ER
893%dir %{ruby_vendorlibdir}/net
894
9fd96af7 895%files devel
896%defattr(644,root,root,755)
529ff870 897%attr(755,root,root) %{_libdir}/libruby.so
9c41e51a 898%{_includedir}/%{oname}-%{ruby_version}
c24d5840 899%{_pkgconfigdir}/%{oname}-%{ruby_version}.pc
b5465d0c 900%{ruby_libdir}/mkmf.rb
9fd96af7 901
902%files static
903%defattr(644,root,root,755)
529ff870 904%{_libdir}/libruby-static.a
9fd96af7 905
15ecb21e 906%if %{with tk}
9fd96af7 907%files tk
908%defattr(644,root,root,755)
7cb22c75
JB
909%doc ext/tk/{ChangeLog.tkextlib,MANUAL_tcltklib.eng,README.fork}
910%lang(ja) %doc ext/tk/MANUAL_tcltklib.ja
911%{ruby_libdir}/multi-tk.rb
912%{ruby_libdir}/remote-tk.rb
0b1956f4
ER
913%{ruby_libdir}/tcltk.rb
914%{ruby_libdir}/tk*.rb
915%{ruby_libdir}/tk
916%{ruby_libdir}/tkextlib
7cb22c75
JB
917%attr(755,root,root) %{ruby_archdir}/tcltklib.so
918%attr(755,root,root) %{ruby_archdir}/tkutil.so
15ecb21e 919%endif
9fd96af7 920
d8228776
ER
921%files irb
922%defattr(644,root,root,755)
9c41e51a 923%attr(755,root,root) %{_bindir}/irb%{ruby_suffix}
d8228776
ER
924%{ruby_libdir}/irb.rb
925%{ruby_libdir}/irb
9c41e51a 926%{_mandir}/man1/irb%{ruby_suffix}.1*
d8228776 927
2db0575e 928%files rdoc
9fd96af7 929%defattr(644,root,root,755)
9c41e51a
ER
930%attr(755,root,root) %{_bindir}/rdoc%{ruby_suffix}
931%attr(755,root,root) %{_bindir}/ri%{ruby_suffix}
932%{_mandir}/man1/rdoc%{ruby_suffix}.1*
2db0575e
ER
933%{ruby_libdir}/rdoc
934%dir %{gem_dir}/gems/rdoc-%{rdoc_ver}
a6d548c5 935%{gem_dir}/gems/rdoc-%{rdoc_ver}/lib
2db0575e
ER
936%dir %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin
937%attr(755,root,root) %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/rdoc
938%{gem_dir}/specifications/rdoc-%{rdoc_ver}.gemspec
939%attr(755,root,root) %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/ri
940
44802bd7
ER
941%if %{with batteries}
942%files rubygems
941981c7 943%defattr(644,root,root,755)
9c41e51a 944%attr(755,root,root) %{_bindir}/gem%{ruby_suffix}
f493239c
ER
945%{rubygems_dir}/rubygems
946%{rubygems_dir}/rubygems.rb
947%{rubygems_dir}/ubygems.rb
45f22c60 948%{rubygems_dir}/rbconfig
63b8d212
ER
949
950%files rake
951%defattr(644,root,root,755)
9c41e51a 952%attr(755,root,root) %{_bindir}/rake%{ruby_suffix}
63b8d212 953%dir %{gem_dir}/gems/rake-%{rake_ver}
a6d548c5 954%{gem_dir}/gems/rake-%{rake_ver}/lib
e236ea00 955%{gem_dir}/gems/rake-%{rake_ver}/rakelib
63b8d212
ER
956%dir %{gem_dir}/gems/rake-%{rake_ver}/bin
957%attr(755,root,root) %{gem_dir}/gems/rake-%{rake_ver}/bin/rake
958%{gem_dir}/specifications/rake-%{rake_ver}.gemspec
7e87bcc1
ER
959
960%files json
961%defattr(644,root,root,755)
962%{ruby_libdir}/json
963%dir %{ruby_archdir}/json
964%dir %{ruby_archdir}/json/ext
965%attr(755,root,root) %{ruby_archdir}/json/ext/*.so
a6d548c5
ER
966
967%dir %{gem_libdir}/json-%{json_ver}
968%dir %{gem_libdir}/json-%{json_ver}/lib
969%dir %{gem_libdir}/json-%{json_ver}/lib/json
970%dir %{gem_libdir}/json-%{json_ver}/lib/json/ext
971%attr(755,root,root) %{gem_libdir}/json-%{json_ver}/lib/json/ext/generator.so
972%attr(755,root,root) %{gem_libdir}/json-%{json_ver}/lib/json/ext/parser.so
973
974%{gem_dir}/gems/json-%{json_ver}
7e87bcc1 975%{gem_dir}/specifications/json-%{json_ver}.gemspec
44802bd7
ER
976%endif
977
74ff0589
ER
978%files power_assert
979%defattr(644,root,root,755)
87437a24
ER
980%dir %{gem_dir}/gems/power_assert-%{power_assert_ver}
981%{gem_dir}/gems/power_assert-%{power_assert_ver}/lib
74ff0589
ER
982%{gem_dir}/specifications/power_assert-%{power_assert_ver}.gemspec
983
cac72f51
ER
984%files minitest
985%defattr(644,root,root,755)
986%{ruby_libdir}/minitest
987%{gem_dir}/gems/minitest-%{minitest_ver}
cac72f51
ER
988%{gem_dir}/specifications/minitest-%{minitest_ver}.gemspec
989
76a22994
ER
990%files test-unit
991%defattr(644,root,root,755)
992%dir %{gem_dir}/gems/test-unit-%{test_unit_ver}
993%{gem_dir}/gems/test-unit-%{test_unit_ver}/lib
994%{gem_dir}/specifications/test-unit-%{test_unit_ver}.gemspec
995%{_mandir}/man1/testrb%{ruby_suffix}.1*
996
ac937700 997%files did_you_mean
e236ea00 998%defattr(644,root,root,755)
ac937700
ER
999%dir %{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}
1000%{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/benchmark
1001%{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/evaluation
1002%{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/lib
1003%{gem_dir}/specifications/did_you_mean-%{did_you_mean_ver}.gemspec
1004
0ab77745
ER
1005%files net-telnet
1006%defattr(644,root,root,755)
1007%dir %{gem_dir}/gems/net-telnet-%{net_telnet_ver}
1008%{gem_dir}/gems/net-telnet-%{net_telnet_ver}/lib
1009%{gem_dir}/specifications/net-telnet-%{net_telnet_ver}.gemspec
1010
f6f2f07f
ER
1011%files bigdecimal
1012%defattr(644,root,root,755)
1013%{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}
1014%dir %{gem_libdir}/bigdecimal-%{bigdecimal_ver}
1015%dir %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib
1016%attr(755,root,root) %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal.so
1017%{ruby_libdir}/bigdecimal
1018%{gem_dir}/specifications/bigdecimal-%{bigdecimal_ver}.gemspec
1019
1020%files io-console
1021%defattr(644,root,root,755)
1022%{gem_dir}/gems/io-console-%{io_console_ver}
1023%dir %{gem_libdir}/io-console-%{io_console_ver}
1024%dir %{gem_libdir}/io-console-%{io_console_ver}/lib
1025%dir %{gem_libdir}/io-console-%{io_console_ver}/lib/io
1026%attr(755,root,root) %{gem_libdir}/io-console-%{io_console_ver}/lib/io/console.so
1027%{gem_dir}/specifications/io-console-%{io_console_ver}.gemspec
1028
162eb983
ER
1029%files psych
1030%defattr(644,root,root,755)
1031%{ruby_libdir}/psych.rb
1032%attr(755,root,root) %{ruby_archdir}/psych.so
1033%{gem_dir}/gems/psych-%{psych_ver}
1034%{ruby_libdir}/psych
1035%dir %{gem_libdir}/psych-%{psych_ver}
1036%dir %{gem_libdir}/psych-%{psych_ver}/lib
1037%attr(755,root,root) %{gem_libdir}/psych-%{psych_ver}/lib/psych.so
1038%{gem_dir}/specifications/psych-%{psych_ver}.gemspec
1039
9fd96af7 1040%files modules
1041%defattr(644,root,root,755)
9c41e51a 1042%attr(755,root,root) %{_bindir}/erb%{ruby_suffix}
0b1956f4 1043%{ruby_libdir}/cgi
0b1956f4 1044%{ruby_libdir}/digest
0b1956f4
ER
1045%{ruby_libdir}/drb
1046%{ruby_libdir}/fiddle
1047%{ruby_libdir}/io
0b1956f4 1048%{ruby_libdir}/matrix
0b1956f4
ER
1049%{ruby_libdir}/net
1050%{ruby_libdir}/openssl
1051%{ruby_libdir}/optparse
0b1956f4
ER
1052%{ruby_libdir}/racc
1053%{ruby_libdir}/rbconfig
0b1956f4
ER
1054%{ruby_libdir}/rexml
1055%{ruby_libdir}/rinda
1056%{ruby_libdir}/ripper
1057%{ruby_libdir}/rss
1058%{ruby_libdir}/shell
45f22c60 1059%{ruby_libdir}/syslog
0b1956f4
ER
1060%{ruby_libdir}/test
1061%{ruby_libdir}/uri
1062%{ruby_libdir}/webrick
1063%{ruby_libdir}/xmlrpc
1064%{ruby_libdir}/yaml
ba0bcd1d
ER
1065
1066%{ruby_libdir}/English.rb
1067%{ruby_libdir}/abbrev.rb
1068%{ruby_libdir}/base64.rb
1069%{ruby_libdir}/benchmark.rb
1070%{ruby_libdir}/cgi.rb
1071%{ruby_libdir}/cmath.rb
ba0bcd1d
ER
1072%{ruby_libdir}/csv.rb
1073%{ruby_libdir}/date.rb
1074%{ruby_libdir}/debug.rb
1075%{ruby_libdir}/delegate.rb
1076%{ruby_libdir}/digest.rb
ba0bcd1d
ER
1077%{ruby_libdir}/drb.rb
1078%{ruby_libdir}/e2mmap.rb
1079%{ruby_libdir}/erb.rb
1080%{ruby_libdir}/expect.rb
1081%{ruby_libdir}/fiddle.rb
1082%{ruby_libdir}/fileutils.rb
1083%{ruby_libdir}/find.rb
1084%{ruby_libdir}/forwardable.rb
1085%{ruby_libdir}/getoptlong.rb
ba0bcd1d
ER
1086%{ruby_libdir}/ipaddr.rb
1087%{ruby_libdir}/json.rb
1088%{ruby_libdir}/kconv.rb
1089%{ruby_libdir}/logger.rb
1090%{ruby_libdir}/mathn.rb
1091%{ruby_libdir}/matrix.rb
1092%{ruby_libdir}/monitor.rb
1093%{ruby_libdir}/mutex_m.rb
1094%{ruby_libdir}/observer.rb
1095%{ruby_libdir}/open-uri.rb
1096%{ruby_libdir}/open3.rb
1097%{ruby_libdir}/openssl.rb
94592386 1098%{ruby_libdir}/optionparser.rb
ba0bcd1d
ER
1099%{ruby_libdir}/optparse.rb
1100%{ruby_libdir}/ostruct.rb
1101%{ruby_libdir}/pathname.rb
1102%{ruby_libdir}/pp.rb
1103%{ruby_libdir}/prettyprint.rb
1104%{ruby_libdir}/prime.rb
1105%{ruby_libdir}/profile.rb
1106%{ruby_libdir}/profiler.rb
1107%{ruby_libdir}/pstore.rb
ba0bcd1d
ER
1108%{ruby_libdir}/rdoc.rb
1109%{ruby_libdir}/resolv-replace.rb
1110%{ruby_libdir}/resolv.rb
1111%{ruby_libdir}/ripper.rb
1112%{ruby_libdir}/rss.rb
1113%{ruby_libdir}/scanf.rb
1114%{ruby_libdir}/securerandom.rb
1115%{ruby_libdir}/set.rb
1116%{ruby_libdir}/shell.rb
1117%{ruby_libdir}/shellwords.rb
1118%{ruby_libdir}/singleton.rb
1119%{ruby_libdir}/socket.rb
1120%{ruby_libdir}/sync.rb
0b1956f4 1121%{ruby_libdir}/tempfile.rb
0b1956f4
ER
1122%{ruby_libdir}/thwait.rb
1123%{ruby_libdir}/time.rb
1124%{ruby_libdir}/timeout.rb
1125%{ruby_libdir}/tmpdir.rb
1126%{ruby_libdir}/tracer.rb
1127%{ruby_libdir}/tsort.rb
05bcc29a 1128%{ruby_libdir}/un.rb
94592386
ER
1129%{ruby_libdir}/unicode_normalize
1130%{ruby_libdir}/unicode_normalize.rb
05bcc29a
ER
1131%{ruby_libdir}/uri.rb
1132%{ruby_libdir}/weakref.rb
1133%{ruby_libdir}/webrick.rb
1134%{ruby_libdir}/xmlrpc.rb
1135%{ruby_libdir}/yaml.rb
ba0bcd1d 1136
7179288b 1137%if %{with batteries}
44802bd7
ER
1138%exclude %{ruby_libdir}/rubygems.rb
1139%exclude %{ruby_libdir}/ubygems.rb
ed7247e0 1140%exclude %{ruby_libdir}/rbconfig/datadir.rb
7179288b 1141%endif
d8228776 1142%exclude %{ruby_libdir}/irb.rb
b5465d0c 1143%exclude %{ruby_libdir}/mkmf.rb
05bcc29a
ER
1144
1145%{ruby_archdir}/rbconfig.rb
1146%attr(755,root,root) %{ruby_archdir}/bigdecimal.so
1147%attr(755,root,root) %{ruby_archdir}/continuation.so
1148%attr(755,root,root) %{ruby_archdir}/coverage.so
05bcc29a
ER
1149%attr(755,root,root) %{ruby_archdir}/date_core.so
1150%attr(755,root,root) %{ruby_archdir}/dbm.so
1151%attr(755,root,root) %{ruby_archdir}/digest.so
05bcc29a
ER
1152%attr(755,root,root) %{ruby_archdir}/etc.so
1153%attr(755,root,root) %{ruby_archdir}/fcntl.so
1154%attr(755,root,root) %{ruby_archdir}/fiber.so
1155%attr(755,root,root) %{ruby_archdir}/fiddle.so
1156%attr(755,root,root) %{ruby_archdir}/gdbm.so
1157%attr(755,root,root) %{ruby_archdir}/nkf.so
1158%attr(755,root,root) %{ruby_archdir}/objspace.so
1159%attr(755,root,root) %{ruby_archdir}/openssl.so
1160%attr(755,root,root) %{ruby_archdir}/pathname.so
05bcc29a
ER
1161%attr(755,root,root) %{ruby_archdir}/pty.so
1162%attr(755,root,root) %{ruby_archdir}/readline.so
1163%attr(755,root,root) %{ruby_archdir}/ripper.so
a319cc02 1164%attr(755,root,root) %{ruby_archdir}/thread.so
05bcc29a
ER
1165%attr(755,root,root) %{ruby_archdir}/sdbm.so
1166%attr(755,root,root) %{ruby_archdir}/socket.so
1167%attr(755,root,root) %{ruby_archdir}/stringio.so
1168%attr(755,root,root) %{ruby_archdir}/strscan.so
1169%attr(755,root,root) %{ruby_archdir}/syslog.so
1170%attr(755,root,root) %{ruby_archdir}/zlib.so
1171
5e50fb86
ER
1172%dir %{ruby_archdir}/cgi
1173%attr(755,root,root) %{ruby_archdir}/cgi/escape.so
0b1956f4
ER
1174%dir %{ruby_archdir}/digest
1175%attr(755,root,root) %{ruby_archdir}/digest/*.so
0b1956f4
ER
1176%dir %{ruby_archdir}/enc
1177%attr(755,root,root) %{ruby_archdir}/enc/*.so
1178%dir %{ruby_archdir}/enc/trans
1179%attr(755,root,root) %{ruby_archdir}/enc/trans/*.so
1180%dir %{ruby_archdir}/io
1181%attr(755,root,root) %{ruby_archdir}/io/*.so
0b1956f4
ER
1182%dir %{ruby_archdir}/mathn
1183%attr(755,root,root) %{ruby_archdir}/mathn/*.so
1184%dir %{ruby_archdir}/racc
1185%attr(755,root,root) %{ruby_archdir}/racc/*.so
a319cc02
ER
1186%dir %{ruby_archdir}/rbconfig
1187%attr(755,root,root) %{ruby_archdir}/rbconfig/sizeof.so
31058abe 1188
a6d548c5
ER
1189%dir %{_libdir}/gems
1190%dir %{_libdir}/gems/%{oname}
1191
d78ec589 1192%dir %{gem_dir}
a6d548c5 1193%dir %{gem_dir}/gems
d78ec589 1194%dir %{gem_dir}/specifications
45f22c60 1195%dir %{gem_dir}/specifications/default
9c41e51a
ER
1196%{_mandir}/man1/erb%{ruby_suffix}.1*
1197%{_mandir}/man1/ri%{ruby_suffix}.1*
15467dc7 1198
40cd40d7 1199%if %{with doc}
9fd96af7 1200%files doc
9434194f 1201%defattr(644,root,root,755)
40cd40d7
ER
1202%doc ruby_%{doc_version}_stdlib
1203%doc ruby_%{doc_version}_core
87b9c30a 1204
9fd96af7 1205%files doc-ri
e40bfe06 1206%defattr(644,root,root,755)
2db0575e 1207%{ruby_ridir}/*
d0f5536d 1208%endif
265d0efe 1209
9fd96af7 1210%files examples
616a12d8 1211%defattr(644,root,root,755)
7cb22c75 1212%{_examplesdir}/%{oname}-%{pkg_version}
This page took 0.341087 seconds and 4 git commands to generate.