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