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