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