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