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