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