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