]> git.pld-linux.org Git - packages/ruby.git/blame - ruby.spec
- rebuild with ruby 2.4
[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
cbcdaf7b 14%define rel 2
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
67f26735 817ln -sf %{gem_dir}/gems/rake-%{rake_ver}/exe/rake $RPM_BUILD_ROOT%{_bindir}/rake%{ruby_suffix}
63b8d212 818
7cb22c75
JB
819%{__sed} -i -e '1s,/usr/bin/env ruby,/usr/bin/ruby,' \
820 $RPM_BUILD_ROOT%{ruby_libdir}/abbrev.rb \
67f26735
JR
821 $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/bin/console \
822 $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/exe/rake \
7cb22c75
JB
823 $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/{cal,test,time,uumerge}.rb \
824 $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/{drb,logger,openssl,ripper,rss}/*.rb \
825 $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/webrick/*.cgi
826
87437a24
ER
827# gem non library files
828%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/minitest-%{minitest_ver}/test
e236ea00
ER
829%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/test-unit-%{test_unit_ver}/{[A-Z]*,doc,sample,test}
830%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/power_assert-%{power_assert_ver}/{[A-Z]*,test}
ac937700 831%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/{[A-Z]*,doc,test}
67f26735 832%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/{[A-Z]*,doc}
0ab77745 833%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/net-telnet-%{net_telnet_ver}/{[A-Z]*,bin}
76a22994 834
15467dc7 835%if %{without batteries}
b2f04116 836# packaged separately
05f75f09 837%{__rm} -r $RPM_BUILD_ROOT%{ruby_libdir}/{rubygems,rake,json,minitest}
0b1956f4 838%{__rm} -r $RPM_BUILD_ROOT%{ruby_archdir}/json
7179288b 839%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/rake-*
0b1956f4 840%{__rm} $RPM_BUILD_ROOT%{ruby_libdir}/{rake,rubygems,json}.rb
92ff5331 841%{__rm} $RPM_BUILD_ROOT%{_bindir}/{gem,rake}
1083418a 842#%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/rake*
45f22c60 843%{__rm} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/{json,minitest,rake}-*.gemspec
7179288b 844%{?with_doc:%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/ri/%{ruby_version}/system/JSON}
15467dc7 845%endif
1968db6d 846
44802bd7 847%if %{with doc}
d78ec589 848# too much .ri
2db0575e
ER
849%{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/cache.ri
850%{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/created.rid
15467dc7 851%endif
1968db6d 852
4ab119cd 853%clean
854rm -rf $RPM_BUILD_ROOT
855
d041de24
JR
856%post -p /sbin/ldconfig
857%postun -p /sbin/ldconfig
4ab119cd 858
859%files
860%defattr(644,root,root,755)
3112d6a6 861%doc NEWS LEGAL BSDL README.md README.EXT ChangeLog
9c41e51a 862%attr(755,root,root) %{_bindir}/ruby%{ruby_suffix}
529ff870 863%attr(755,root,root) %{_libdir}/libruby.so.*.*.*
eee72344 864%attr(755,root,root) %ghost %{_libdir}/libruby.so.%{ruby_version}
9c41e51a 865%{_mandir}/man1/ruby%{ruby_suffix}.1*
05f75f09 866
9c41e51a
ER
867%dir %{_libdir}/%{oname}
868%dir %{_libdir}/%{oname}/%{vendordir}
869%dir %{_datadir}/%{oname}
0b1956f4 870
be8e7b24 871%dir %{ruby_libdir}
5c3d5a0e 872%dir %{ruby_archdir}
be8e7b24 873%dir %{ruby_vendorlibdir}
be8e7b24 874%dir %{ruby_vendorarchdir}
31058abe 875
df9a7ee8 876%dir %{dirname:%{ruby_ridir}}
2db0575e 877%dir %{ruby_ridir}
a43d66d8 878%dir %{ruby_rdocdir}
9fd96af7 879
f1a7abab 880# common dirs for ruby vendor modules
08c2f6e5 881%dir %{ruby_vendorlibdir}/data
f1a7abab
ER
882%dir %{ruby_vendorlibdir}/net
883
9fd96af7 884%files devel
885%defattr(644,root,root,755)
529ff870 886%attr(755,root,root) %{_libdir}/libruby.so
9c41e51a 887%{_includedir}/%{oname}-%{ruby_version}
c24d5840 888%{_pkgconfigdir}/%{oname}-%{ruby_version}.pc
b5465d0c 889%{ruby_libdir}/mkmf.rb
9fd96af7 890
d8228776
ER
891%files irb
892%defattr(644,root,root,755)
9c41e51a 893%attr(755,root,root) %{_bindir}/irb%{ruby_suffix}
d8228776
ER
894%{ruby_libdir}/irb.rb
895%{ruby_libdir}/irb
9c41e51a 896%{_mandir}/man1/irb%{ruby_suffix}.1*
d8228776 897
2db0575e 898%files rdoc
9fd96af7 899%defattr(644,root,root,755)
9c41e51a
ER
900%attr(755,root,root) %{_bindir}/rdoc%{ruby_suffix}
901%attr(755,root,root) %{_bindir}/ri%{ruby_suffix}
902%{_mandir}/man1/rdoc%{ruby_suffix}.1*
2db0575e
ER
903%{ruby_libdir}/rdoc
904%dir %{gem_dir}/gems/rdoc-%{rdoc_ver}
a6d548c5 905%{gem_dir}/gems/rdoc-%{rdoc_ver}/lib
2db0575e 906%{gem_dir}/specifications/rdoc-%{rdoc_ver}.gemspec
67f26735
JR
907%dir %{gem_dir}/gems/rdoc-5.0.0/exe
908%{gem_dir}/gems/rdoc-5.0.0/exe/rdoc
909%{gem_dir}/gems/rdoc-5.0.0/exe/ri
2db0575e 910
44802bd7
ER
911%if %{with batteries}
912%files rubygems
941981c7 913%defattr(644,root,root,755)
9c41e51a 914%attr(755,root,root) %{_bindir}/gem%{ruby_suffix}
f493239c
ER
915%{rubygems_dir}/rubygems
916%{rubygems_dir}/rubygems.rb
917%{rubygems_dir}/ubygems.rb
45f22c60 918%{rubygems_dir}/rbconfig
63b8d212
ER
919
920%files rake
921%defattr(644,root,root,755)
9c41e51a 922%attr(755,root,root) %{_bindir}/rake%{ruby_suffix}
63b8d212 923%dir %{gem_dir}/gems/rake-%{rake_ver}
a6d548c5 924%{gem_dir}/gems/rake-%{rake_ver}/lib
63b8d212 925%dir %{gem_dir}/gems/rake-%{rake_ver}/bin
67f26735
JR
926%attr(755,root,root) %{gem_dir}/gems/rake-%{rake_ver}/bin/console
927%attr(755,root,root) %{gem_dir}/gems/rake-%{rake_ver}/bin/setup
63b8d212 928%{gem_dir}/specifications/rake-%{rake_ver}.gemspec
67f26735
JR
929%{gem_dir}/gems/rake-%{rake_ver}/appveyor.yml
930%dir %{gem_dir}/gems/rake-%{rake_ver}/exe
931%{gem_dir}/gems/rake-%{rake_ver}/exe/rake
7e87bcc1
ER
932
933%files json
934%defattr(644,root,root,755)
935%{ruby_libdir}/json
936%dir %{ruby_archdir}/json
937%dir %{ruby_archdir}/json/ext
938%attr(755,root,root) %{ruby_archdir}/json/ext/*.so
a6d548c5
ER
939
940%dir %{gem_libdir}/json-%{json_ver}
941%dir %{gem_libdir}/json-%{json_ver}/lib
942%dir %{gem_libdir}/json-%{json_ver}/lib/json
943%dir %{gem_libdir}/json-%{json_ver}/lib/json/ext
944%attr(755,root,root) %{gem_libdir}/json-%{json_ver}/lib/json/ext/generator.so
945%attr(755,root,root) %{gem_libdir}/json-%{json_ver}/lib/json/ext/parser.so
946
947%{gem_dir}/gems/json-%{json_ver}
7e87bcc1 948%{gem_dir}/specifications/json-%{json_ver}.gemspec
44802bd7
ER
949%endif
950
74ff0589
ER
951%files power_assert
952%defattr(644,root,root,755)
87437a24
ER
953%dir %{gem_dir}/gems/power_assert-%{power_assert_ver}
954%{gem_dir}/gems/power_assert-%{power_assert_ver}/lib
74ff0589 955%{gem_dir}/specifications/power_assert-%{power_assert_ver}.gemspec
67f26735
JR
956%dir %{gem_dir}/gems/power_assert-0.4.1/benchmarks
957%{gem_dir}/gems/power_assert-0.4.1/benchmarks/bm_yhpg.rb
958%{gem_dir}/gems/power_assert-0.4.1/benchmarks/helper.rb
74ff0589 959
cac72f51
ER
960%files minitest
961%defattr(644,root,root,755)
962%{ruby_libdir}/minitest
963%{gem_dir}/gems/minitest-%{minitest_ver}
cac72f51
ER
964%{gem_dir}/specifications/minitest-%{minitest_ver}.gemspec
965
76a22994
ER
966%files test-unit
967%defattr(644,root,root,755)
968%dir %{gem_dir}/gems/test-unit-%{test_unit_ver}
969%{gem_dir}/gems/test-unit-%{test_unit_ver}/lib
970%{gem_dir}/specifications/test-unit-%{test_unit_ver}.gemspec
971%{_mandir}/man1/testrb%{ruby_suffix}.1*
972
ac937700 973%files did_you_mean
e236ea00 974%defattr(644,root,root,755)
ac937700
ER
975%dir %{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}
976%{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/benchmark
977%{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/evaluation
978%{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/lib
979%{gem_dir}/specifications/did_you_mean-%{did_you_mean_ver}.gemspec
980
0ab77745
ER
981%files net-telnet
982%defattr(644,root,root,755)
983%dir %{gem_dir}/gems/net-telnet-%{net_telnet_ver}
984%{gem_dir}/gems/net-telnet-%{net_telnet_ver}/lib
985%{gem_dir}/specifications/net-telnet-%{net_telnet_ver}.gemspec
986
f6f2f07f
ER
987%files bigdecimal
988%defattr(644,root,root,755)
989%{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}
990%dir %{gem_libdir}/bigdecimal-%{bigdecimal_ver}
991%dir %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib
992%attr(755,root,root) %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal.so
993%{ruby_libdir}/bigdecimal
994%{gem_dir}/specifications/bigdecimal-%{bigdecimal_ver}.gemspec
995
996%files io-console
997%defattr(644,root,root,755)
998%{gem_dir}/gems/io-console-%{io_console_ver}
999%dir %{gem_libdir}/io-console-%{io_console_ver}
1000%dir %{gem_libdir}/io-console-%{io_console_ver}/lib
1001%dir %{gem_libdir}/io-console-%{io_console_ver}/lib/io
1002%attr(755,root,root) %{gem_libdir}/io-console-%{io_console_ver}/lib/io/console.so
1003%{gem_dir}/specifications/io-console-%{io_console_ver}.gemspec
1004
162eb983
ER
1005%files psych
1006%defattr(644,root,root,755)
1007%{ruby_libdir}/psych.rb
1008%attr(755,root,root) %{ruby_archdir}/psych.so
1009%{gem_dir}/gems/psych-%{psych_ver}
1010%{ruby_libdir}/psych
1011%dir %{gem_libdir}/psych-%{psych_ver}
1012%dir %{gem_libdir}/psych-%{psych_ver}/lib
1013%attr(755,root,root) %{gem_libdir}/psych-%{psych_ver}/lib/psych.so
1014%{gem_dir}/specifications/psych-%{psych_ver}.gemspec
1015
67f26735
JR
1016%files xmlrpc
1017%defattr(644,root,root,755)
1018%{gem_dir}/gems/xmlrpc-0.2.1/Gemfile
1019%{gem_dir}/gems/xmlrpc-0.2.1/LICENSE.txt
1020%{gem_dir}/gems/xmlrpc-0.2.1/README.md
1021%{gem_dir}/gems/xmlrpc-0.2.1/Rakefile
1022%{gem_dir}/gems/xmlrpc-0.2.1/bin/console
1023%{gem_dir}/gems/xmlrpc-0.2.1/bin/setup
1024%{gem_dir}/gems/xmlrpc-0.2.1/lib/xmlrpc.rb
1025%{gem_dir}/gems/xmlrpc-0.2.1/lib/xmlrpc/base64.rb
1026%{gem_dir}/gems/xmlrpc-0.2.1/lib/xmlrpc/client.rb
1027%{gem_dir}/gems/xmlrpc-0.2.1/lib/xmlrpc/config.rb
1028%{gem_dir}/gems/xmlrpc-0.2.1/lib/xmlrpc/create.rb
1029%{gem_dir}/gems/xmlrpc-0.2.1/lib/xmlrpc/datetime.rb
1030%{gem_dir}/gems/xmlrpc-0.2.1/lib/xmlrpc/marshal.rb
1031%{gem_dir}/gems/xmlrpc-0.2.1/lib/xmlrpc/parser.rb
1032%{gem_dir}/gems/xmlrpc-0.2.1/lib/xmlrpc/server.rb
1033%{gem_dir}/gems/xmlrpc-0.2.1/lib/xmlrpc/utils.rb
1034%{gem_dir}/specifications/xmlrpc-0.2.1.gemspec
1035
9fd96af7 1036%files modules
1037%defattr(644,root,root,755)
9c41e51a 1038%attr(755,root,root) %{_bindir}/erb%{ruby_suffix}
0b1956f4 1039%{ruby_libdir}/cgi
0b1956f4 1040%{ruby_libdir}/digest
0b1956f4
ER
1041%{ruby_libdir}/drb
1042%{ruby_libdir}/fiddle
1043%{ruby_libdir}/io
0b1956f4 1044%{ruby_libdir}/matrix
0b1956f4
ER
1045%{ruby_libdir}/net
1046%{ruby_libdir}/openssl
1047%{ruby_libdir}/optparse
0b1956f4
ER
1048%{ruby_libdir}/racc
1049%{ruby_libdir}/rbconfig
0b1956f4
ER
1050%{ruby_libdir}/rexml
1051%{ruby_libdir}/rinda
1052%{ruby_libdir}/ripper
1053%{ruby_libdir}/rss
1054%{ruby_libdir}/shell
45f22c60 1055%{ruby_libdir}/syslog
0b1956f4
ER
1056%{ruby_libdir}/test
1057%{ruby_libdir}/uri
1058%{ruby_libdir}/webrick
0b1956f4 1059%{ruby_libdir}/yaml
ba0bcd1d
ER
1060
1061%{ruby_libdir}/English.rb
1062%{ruby_libdir}/abbrev.rb
1063%{ruby_libdir}/base64.rb
1064%{ruby_libdir}/benchmark.rb
1065%{ruby_libdir}/cgi.rb
1066%{ruby_libdir}/cmath.rb
ba0bcd1d
ER
1067%{ruby_libdir}/csv.rb
1068%{ruby_libdir}/date.rb
1069%{ruby_libdir}/debug.rb
1070%{ruby_libdir}/delegate.rb
1071%{ruby_libdir}/digest.rb
ba0bcd1d
ER
1072%{ruby_libdir}/drb.rb
1073%{ruby_libdir}/e2mmap.rb
1074%{ruby_libdir}/erb.rb
1075%{ruby_libdir}/expect.rb
1076%{ruby_libdir}/fiddle.rb
1077%{ruby_libdir}/fileutils.rb
1078%{ruby_libdir}/find.rb
1079%{ruby_libdir}/forwardable.rb
67f26735
JR
1080%dir %{ruby_libdir}/forwardable
1081%{ruby_libdir}/forwardable/impl.rb
ba0bcd1d 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
05bcc29a 1131%{ruby_libdir}/yaml.rb
ba0bcd1d 1132
7179288b 1133%if %{with batteries}
44802bd7
ER
1134%exclude %{ruby_libdir}/rubygems.rb
1135%exclude %{ruby_libdir}/ubygems.rb
ed7247e0 1136%exclude %{ruby_libdir}/rbconfig/datadir.rb
7179288b 1137%endif
d8228776 1138%exclude %{ruby_libdir}/irb.rb
b5465d0c 1139%exclude %{ruby_libdir}/mkmf.rb
05bcc29a
ER
1140
1141%{ruby_archdir}/rbconfig.rb
1142%attr(755,root,root) %{ruby_archdir}/bigdecimal.so
1143%attr(755,root,root) %{ruby_archdir}/continuation.so
1144%attr(755,root,root) %{ruby_archdir}/coverage.so
05bcc29a
ER
1145%attr(755,root,root) %{ruby_archdir}/date_core.so
1146%attr(755,root,root) %{ruby_archdir}/dbm.so
1147%attr(755,root,root) %{ruby_archdir}/digest.so
05bcc29a
ER
1148%attr(755,root,root) %{ruby_archdir}/etc.so
1149%attr(755,root,root) %{ruby_archdir}/fcntl.so
1150%attr(755,root,root) %{ruby_archdir}/fiber.so
1151%attr(755,root,root) %{ruby_archdir}/fiddle.so
1152%attr(755,root,root) %{ruby_archdir}/gdbm.so
1153%attr(755,root,root) %{ruby_archdir}/nkf.so
1154%attr(755,root,root) %{ruby_archdir}/objspace.so
1155%attr(755,root,root) %{ruby_archdir}/openssl.so
1156%attr(755,root,root) %{ruby_archdir}/pathname.so
05bcc29a
ER
1157%attr(755,root,root) %{ruby_archdir}/pty.so
1158%attr(755,root,root) %{ruby_archdir}/readline.so
1159%attr(755,root,root) %{ruby_archdir}/ripper.so
1160%attr(755,root,root) %{ruby_archdir}/sdbm.so
1161%attr(755,root,root) %{ruby_archdir}/socket.so
1162%attr(755,root,root) %{ruby_archdir}/stringio.so
1163%attr(755,root,root) %{ruby_archdir}/strscan.so
1164%attr(755,root,root) %{ruby_archdir}/syslog.so
1165%attr(755,root,root) %{ruby_archdir}/zlib.so
1166
5e50fb86
ER
1167%dir %{ruby_archdir}/cgi
1168%attr(755,root,root) %{ruby_archdir}/cgi/escape.so
0b1956f4
ER
1169%dir %{ruby_archdir}/digest
1170%attr(755,root,root) %{ruby_archdir}/digest/*.so
0b1956f4
ER
1171%dir %{ruby_archdir}/enc
1172%attr(755,root,root) %{ruby_archdir}/enc/*.so
1173%dir %{ruby_archdir}/enc/trans
1174%attr(755,root,root) %{ruby_archdir}/enc/trans/*.so
1175%dir %{ruby_archdir}/io
1176%attr(755,root,root) %{ruby_archdir}/io/*.so
0b1956f4
ER
1177%dir %{ruby_archdir}/mathn
1178%attr(755,root,root) %{ruby_archdir}/mathn/*.so
1179%dir %{ruby_archdir}/racc
1180%attr(755,root,root) %{ruby_archdir}/racc/*.so
a319cc02
ER
1181%dir %{ruby_archdir}/rbconfig
1182%attr(755,root,root) %{ruby_archdir}/rbconfig/sizeof.so
31058abe 1183
a6d548c5
ER
1184%dir %{_libdir}/gems
1185%dir %{_libdir}/gems/%{oname}
1186
d78ec589 1187%dir %{gem_dir}
a6d548c5 1188%dir %{gem_dir}/gems
d78ec589 1189%dir %{gem_dir}/specifications
45f22c60 1190%dir %{gem_dir}/specifications/default
9c41e51a
ER
1191%{_mandir}/man1/erb%{ruby_suffix}.1*
1192%{_mandir}/man1/ri%{ruby_suffix}.1*
15467dc7 1193
40cd40d7 1194%if %{with doc}
9fd96af7 1195%files doc
9434194f 1196%defattr(644,root,root,755)
40cd40d7
ER
1197%doc ruby_%{doc_version}_stdlib
1198%doc ruby_%{doc_version}_core
87b9c30a 1199
9fd96af7 1200%files doc-ri
e40bfe06 1201%defattr(644,root,root,755)
2db0575e 1202%{ruby_ridir}/*
d0f5536d 1203%endif
265d0efe 1204
9fd96af7 1205%files examples
616a12d8 1206%defattr(644,root,root,755)
7cb22c75 1207%{_examplesdir}/%{oname}-%{pkg_version}
This page took 0.247944 seconds and 4 git commands to generate.