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