]> git.pld-linux.org Git - packages/ruby.git/blob - ruby.spec
up to 2.3.4
[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.1
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}-modules = 1:%{pkg_version}-%{rel}
335 Requires:       %{name}-rdoc >= %{rdoc_ver}
336 Suggests:       %{name}-devel
337 Provides:       rubygems = %{rubygems_ver}
338 %if "%{_rpmversion}" >= "5"
339 BuildArch:      noarch
340 %endif
341
342 %description rubygems
343 RubyGems is the Ruby standard for publishing and managing third party
344 libraries.
345
346 %description rubygems -l pl.UTF-8
347 RubyGems to standardowe narzędzie języka Ruby do publikowania i
348 zarządzania zewnętrznymi bibliotekami.
349
350 %package rake
351 Summary:        Rake is a Make-like program implemented in Ruby
352 Summary(pl.UTF-8):      Program typu Make dla języka Ruby
353 Version:        %{rake_ver}
354 Release:        %{pkg_version}.%{rel}
355 Epoch:          0
356 License:        MIT
357 Group:          Development/Languages
358 Provides:       rake = %{rake_ver}
359 Conflicts:      ruby-modules < 1:1.9.3.429-2
360 %if "%{_rpmversion}" >= "5"
361 BuildArch:      noarch
362 %endif
363
364 %description rake
365 Rake is a simple Ruby build program with capabilities similar to make.
366
367 It 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
378 Rake to prosty program do budowania w języku Ruby o możliwościach
379 podobnych do make.
380
381 Ma 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
392 %package json
393 Summary:        JSON library for Ruby
394 Summary(pl.UTF-8):      Biblioteka JSON dla języka Ruby
395 Version:        %{json_ver}
396 Release:        %{pkg_version}.%{rel}
397 Epoch:          0
398 # UCD: ext/json/generator/generator.c
399 License:        (Ruby or GPLv2) and UCD
400 Group:          Development/Languages
401 Obsoletes:      ruby-json-rubyforge
402 Conflicts:      ruby-modules < 1:1.9.3.429-3
403
404 %description json
405 This is a JSON implementation as a Ruby extension in C.
406
407 %description json -l pl.UTF-8
408 Biblioteka JSON dla języka Ruby.
409
410 %package minitest
411 Summary:        Minitest provides a complete suite of testing facilities
412 Version:        %{minitest_ver}
413 Release:        %{pkg_version}.%{rel}
414 Epoch:          0
415 License:        MIT
416 Group:          Development/Libraries
417 %if "%{_rpmversion}" >= "5"
418 BuildArch:      noarch
419 %endif
420
421 %description minitest
422 minitest/unit is a small and incredibly fast unit testing framework.
423
424 minitest/spec is a functionally complete spec engine.
425
426 minitest/benchmark is an awesome way to assert the performance of your
427 algorithms in a repeatable manner.
428
429 minitest/mock by Steven Baker, is a beautifully tiny mock object
430 framework.
431
432 minitest/pride shows pride in testing and adds coloring to your test
433 output.
434
435 %package power_assert
436 # The Summary/Description fields are rather poor.
437 # https://github.com/k-tsj/power_assert/issues/3
438 Summary:        Power Assert for Ruby
439 Version:        %{power_assert_ver}
440 Release:        %{pkg_version}.%{rel}
441 Epoch:          0
442 License:        Ruby or BSD
443 Group:          Development/Libraries
444 %if "%{_rpmversion}" >= "5"
445 BuildArch:      noarch
446 %endif
447
448 %description power_assert
449 Power Assert shows each value of variables and method calls in the
450 expression. It is useful for testing, providing which value wasn't
451 correct when the condition is not satisfied.
452
453 %package test-unit
454 # The Summary/Description fields are rather poor.
455 # https://github.com/test-unit/test-unit/issues/73
456 Summary:        Improved version of Test::Unit bundled in Ruby 1.8.x
457 Version:        %{test_unit_ver}
458 Release:        %{pkg_version}.%{rel}
459 Epoch:          0
460 Group:          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.
463 License:        (Ruby or BSD) and (Ruby or BSD or Python) and (Ruby or BSD or LGPLv2+)
464 %if "%{_rpmversion}" >= "5"
465 BuildArch:      noarch
466 %endif
467
468 %description test-unit
469 Ruby 1.9.x bundles minitest not Test::Unit. Test::Unit bundled in Ruby
470 1.8.x had not been improved but unbundled Test::Unit (test-unit) is
471 improved actively.
472
473 %package did_you_mean
474 Summary:        "Did you mean?" experience in Ruby
475 Version:        %{did_you_mean_ver}
476 Release:        %{pkg_version}.%{rel}
477 Epoch:          0
478 License:        MIT
479 Group:          Development/Libraries
480 %if "%{_rpmversion}" >= "5"
481 BuildArch:      noarch
482 %endif
483
484 %description did_you_mean
485 "did you mean?" experience in Ruby: the error message will tell you
486 the right one when you misspelled something.
487
488 %package net-telnet
489 Summary:        Provides telnet client functionality
490 Version:        %{net_telnet_ver}
491 Release:        %{pkg_version}.%{rel}
492 Epoch:          0
493 Group:          Development/Libraries
494 %if "%{_rpmversion}" >= "5"
495 BuildArch:      noarch
496 %endif
497
498 %description net-telnet
499 Provides telnet client functionality.
500
501 This class also has, through delegation, all the methods of a socket
502 object (by default, a TCPSocket, but can be set by the Proxy option to
503 new()). This provides methods such as close() to end the session and
504 sysread() to read data directly from the host, instead of via the
505 waitfor() mechanism. Note that if you do use sysread() directly when
506 in telnet mode, you should probably pass the output through
507 preprocess() to extract telnet command sequences.
508
509 %package bigdecimal
510 Summary:        BigDecimal provides arbitrary-precision floating point decimal arithmetic
511 Version:        %{bigdecimal_ver}
512 Release:        %{pkg_version}.%{rel}
513 Epoch:          0
514 License:        GPL+ or Artistic
515 Group:          Development/Libraries
516 %if "%{_rpmversion}" >= "5"
517 BuildArch:      noarch
518 %endif
519
520 %description bigdecimal
521 Ruby provides built-in support for arbitrary precision integer
522 arithmetic. For example:
523
524 42**13 -> 1265437718438866624512
525
526 BigDecimal provides similar support for very large or very accurate
527 floating point numbers. Decimal arithmetic is also useful for general
528 calculation, because it provides the correct answers people
529 expect–whereas normal binary floating point arithmetic often
530 introduces subtle errors because of the conversion between base 10 and
531 base 2.
532
533 %package io-console
534 Summary:        IO/Console is a simple console utilizing library
535 Version:        %{io_console_ver}
536 Release:        %{pkg_version}.%{rel}
537 Epoch:          0
538 Group:          Development/Libraries
539 %if "%{_rpmversion}" >= "5"
540 BuildArch:      noarch
541 %endif
542
543 %description io-console
544 IO/Console provides very simple and portable access to console. It
545 doesn't provide higher layer features, such like curses and readline.
546
547 %prep
548 %setup -q -n %{oname}-%{pkg_version} -a2 -a3 %{?with_bootstrap:-a100}
549 %patch0 -p1
550 #%patch1 -p1
551 %patch2 -p1
552 %patch3 -p1
553 %patch4 -p1
554 %patch5 -p1
555 %patch6 -p1
556 #%patch8 -p1
557 %patch9 -p1
558 %patch12 -p1
559
560 # must be regenerated with new bison
561 %{__rm} parse.{c,h}
562
563 # Remove bundled libraries to be sure they are not used.
564 %{__rm} -r ext/psych/yaml
565 %{__rm} -r ext/fiddle/libffi*
566
567 # Install custom operating_system.rb.
568 install -d lib/rubygems/defaults
569 cp -p %{SOURCE6} lib/rubygems/defaults
570
571 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
572
573 find -type f '(' -name '*.rb' -o -name '*.cgi' -o -name '*.test' \
574         -o -name 'ruby.1' -o -name '*.html' -o -name '*.tcl' ')' \
575         | xargs %{__sed} -i 's,/usr/local/bin/,%{_bindir}/,'
576
577 # no configure option to disable, so just rm
578 %{!?with_tk:rm -rf ext/tk}
579
580 %build
581 rubygems_ver=$(awk '/VERSION =/ && $1 == "VERSION" {print $3}' lib/rubygems.rb | xargs)
582 if [ $rubygems_ver != %{rubygems_ver} ]; then
583         echo "Set %%define rubygems_ver to $rubygems_ver and re-run."
584         exit 1
585 fi
586 rdoc_ver=$(awk '/VERSION =/ && $1 == "VERSION" {print $3}' lib/rdoc.rb | xargs)
587 if [ $rdoc_ver != %{rdoc_ver} ]; then
588         echo "Set %%define rdoc_ver to $rdoc_ver and re-run."
589         exit 1
590 fi
591
592 cp -f /usr/share/automake/config.sub .
593
594 # build ruby-1.8.7 first
595 %if %{with bootstrap}
596 cd %{oname}-1.8.7-p330
597 %configure
598 %{__make}
599 cd ..
600 %endif
601
602 %{__autoconf}
603 %configure \
604         %{?with_bootstrap:--with-baseruby=%{oname}-1.8.7-p330/miniruby} \
605         --program-suffix=%{ruby_suffix} \
606         --with-archlibdir=%{_libdir} \
607         --with-rubygemsdir=%{rubygems_dir} \
608         --with-rubylibprefix=%{ruby_libdir} \
609         --with-rubyarchprefix=%{ruby_archdir} \
610         --with-sitedir=%{ruby_sitelibdir} \
611         --with-sitearchdir=%{ruby_sitearchdir} \
612         --with-vendordir=%{ruby_vendorlibdir} \
613         --with-vendorarchdir=%{ruby_vendorarchdir} \
614         --with-rubyhdrdir=%{_includedir}/%{oname}-%{ruby_version} \
615         --with-rubyarchhdrdir=%{_includedir}/%{oname}-%{ruby_version} \
616         --with-sitearchhdrdir='$(sitehdrdir)/$(arch)' \
617         --with-vendorarchhdrdir='$(vendorhdrdir)/$(arch)' \
618         --enable-multiarch \
619         --enable-shared \
620         --disable-install-doc \
621         --disable-rpath \
622         --disable-rubygems \
623         --with-ruby-version='' \
624
625 %{__make} -j1 main \
626         COPY="cp -p" Q= \
627         %{?with_bootstrap:BASERUBY="%{oname}-1.8.7-p330/miniruby -I./ruby-1.8.7-p330/lib"}
628
629 %if %{with doc}
630 %{__make} -j1 rdoc
631 %endif
632
633 %if %{with tests}
634 # unset these, as testsuite does "git commit" somewhere, which points to pld .spec repo. doh
635 unset GIT_DIR GIT_WORK_TREE
636
637 unset GIT
638 DISABLE_TESTS=""
639
640 %ifarch armv7l armv7hl armv7hnl
641 # test_call_double(DL::TestDL) fails on ARM HardFP
642 # http://bugs.ruby-lang.org/issues/6592
643 DISABLE_TESTS="-x test_dl2.rb $DISABLE_TESTS"
644 %endif
645
646 # test_debug(TestRubyOptions) fails due to LoadError reported in debug mode,
647 # when abrt.rb cannot be required (seems to be easier way then customizing
648 # the test suite).
649 touch abrt.rb
650
651 # TestSignal#test_hup_me hangs up the test suite.
652 # http://bugs.ruby-lang.org/issues/8997
653 sed -i '/def test_hup_me/,/end if Process.respond_to/ s/^/#/' test/ruby/test_signal.rb
654
655 # Fix "Could not find 'minitest'" error.
656 # http://bugs.ruby-lang.org/issues/9259
657 sed -i "/^  gem 'minitest', '~> 4.0'/ s/^/#/" lib/rubygems/test_case.rb
658
659 # Segmentation fault.
660 # https://bugs.ruby-lang.org/issues/9198
661 sed -i '/^  def test_machine_stackoverflow/,/^  end/ s/^/#/' test/ruby/test_exception.rb
662
663 # Don't test wrap ciphers to prevent "OpenSSL::Cipher::CipherError: wrap mode
664 # not allowed" error.
665 # https://bugs.ruby-lang.org/issues/10229
666 sed -i '/assert(OpenSSL::Cipher::Cipher.new(name).is_a?(OpenSSL::Cipher::Cipher))/i \
667         next if /wrap/ =~ name' test/openssl/test_cipher.rb
668
669 # Test is broken due to SSLv3 disabled in Fedora.
670 # https://bugs.ruby-lang.org/issues/10046
671 sed -i '/def test_ctx_server_session_cb$/,/^  end$/ s/^/#/' test/openssl/test_ssl_session.rb
672
673 %{__make} check TESTS="-v $DISABLE_TESTS"
674 %endif
675
676 %install
677 rm -rf $RPM_BUILD_ROOT
678 install -d $RPM_BUILD_ROOT{%{ruby_rdocdir},%{ruby_ridir}} \
679         $RPM_BUILD_ROOT%{ruby_vendorarchdir} \
680         $RPM_BUILD_ROOT%{ruby_vendorlibdir}/net \
681         $RPM_BUILD_ROOT%{ruby_vendorlibdir}/data \
682
683 %{__make} install %{?with_doc:install-doc -j1} \
684         DESTDIR=$RPM_BUILD_ROOT
685
686 # Version is empty if --with-ruby-version is specified.
687 # http://bugs.ruby-lang.org/issues/7807
688 sed -i -e 's/Version: \${ruby_version}/Version: %{ruby_version}/' $RPM_BUILD_ROOT%{_pkgconfigdir}/%{oname}-%{ruby_version}.pc
689
690 # Kill bundled certificates, as they should be part of ca-certificates.
691 for cert in \
692         Class3PublicPrimaryCertificationAuthority.pem \
693         DigiCertHighAssuranceEVRootCA.pem \
694         EntrustnetSecureServerCertificationAuthority.pem \
695         GeoTrustGlobalCA.pem \
696         AddTrustExternalCARoot.pem \
697         AddTrustExternalCARoot-2048.pem \
698 ; do
699         %{__rm} $RPM_BUILD_ROOT%{rubygems_dir}/rubygems/ssl_certs/$cert
700 done
701
702 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}
703 cp -Rf sample/* $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}
704 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_mandir}/man1/rdoc%{ruby_suffix}.1
705 cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_mandir}/man1/testrb%{ruby_suffix}.1
706
707 %{__rm} -rf $RPM_BUILD_ROOT%{_docdir}/%{name}/html
708
709 # detect this runtime, "make install" is affected by operating_system.rb what is installed in system!
710 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')
711
712 # Move gems root into common directory, out of Ruby directory structure.
713 install -d $RPM_BUILD_ROOT%{gem_dir}
714 %{__mv} $RPM_BUILD_ROOT${gem_dir}/{gems,specifications} $RPM_BUILD_ROOT%{gem_dir}
715
716 # Move bundled rubygems to %gem_dir
717 # make symlinks for io-console and bigdecimal, which are considered to be part of stdlib by other Gems
718 # make symlinks for all packages, so they would work without rubygems
719 # NOTE: when making symlinks, do not symlink paths that could be directories,
720 # as there may came files from other packages as well. actually, unlikely as
721 # the links to got system dir and only ruby may package there (other distro
722 # packages should go to vendor dirs)
723 %if 0
724 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/lib
725 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/rake* $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/lib
726 ln -s %{gem_dir}/gems/rake-%{rake_ver}/lib/rake $RPM_BUILD_ROOT%{ruby_libdir}
727 ln -s %{gem_dir}/gems/rake-%{rake_ver}/lib/rake.rb $RPM_BUILD_ROOT%{ruby_libdir}
728 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/rake-%{rake_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
729 %endif
730
731 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/lib
732 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/rdoc* $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/lib
733 ln -s %{gem_dir}/gems/rdoc-%{rdoc_ver}/lib/rdoc $RPM_BUILD_ROOT%{ruby_libdir}
734 ln -s %{gem_dir}/gems/rdoc-%{rdoc_ver}/lib/rdoc.rb $RPM_BUILD_ROOT%{ruby_libdir}
735 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/rdoc-%{rdoc_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
736
737 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}/lib
738 install -d $RPM_BUILD_ROOT%{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib
739 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/bigdecimal $RPM_BUILD_ROOT%{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}/lib
740 %{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/bigdecimal.so $RPM_BUILD_ROOT%{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib
741 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/bigdecimal-%{bigdecimal_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
742 ln -s %{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal $RPM_BUILD_ROOT%{ruby_libdir}/bigdecimal
743 ln -s %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal.so $RPM_BUILD_ROOT%{ruby_libarchdir}/bigdecimal.so
744
745 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/io-console-%{io_console_ver}/lib
746 install -d $RPM_BUILD_ROOT%{gem_libdir}/io-console-%{io_console_ver}/lib/io
747 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/io $RPM_BUILD_ROOT%{gem_dir}/gems/io-console-%{io_console_ver}/lib
748 %{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/io/console.so $RPM_BUILD_ROOT%{gem_libdir}/io-console-%{io_console_ver}/lib/io
749 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/io-console-%{io_console_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
750 ln -s %{gem_dir}/gems/io-console-%{io_console_ver}/lib/io $RPM_BUILD_ROOT%{ruby_libdir}/io
751 ln -s %{gem_libdir}/io-console-%{io_console_ver}/lib/io/console.so $RPM_BUILD_ROOT%{ruby_libarchdir}/io/console.so
752
753 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/json-%{json_ver}/lib
754 install -d $RPM_BUILD_ROOT%{gem_libdir}/json-%{json_ver}/lib
755 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/json* $RPM_BUILD_ROOT%{gem_dir}/gems/json-%{json_ver}/lib
756 %{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/json $RPM_BUILD_ROOT%{gem_libdir}/json-%{json_ver}/lib
757 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/json-%{json_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
758 ln -s %{gem_dir}/gems/json-%{json_ver}/lib/json $RPM_BUILD_ROOT%{ruby_libdir}/json
759 ln -s %{gem_dir}/gems/json-%{json_ver}/lib/json.rb $RPM_BUILD_ROOT%{ruby_libdir}/json.rb
760 install -d $RPM_BUILD_ROOT%{ruby_libarchdir}/json/ext
761 ln -s %{gem_libdir}/json-%{json_ver}/lib/json/ext/parser.so $RPM_BUILD_ROOT%{ruby_libarchdir}/json/ext
762 ln -s %{gem_libdir}/json-%{json_ver}/lib/json/ext/generator.so $RPM_BUILD_ROOT%{ruby_libarchdir}/json/ext
763
764 ln -s %{gem_dir}/gems/minitest-%{minitest_ver}/lib/minitest $RPM_BUILD_ROOT%{ruby_libdir}
765
766 install -d $RPM_BUILD_ROOT%{ruby_libdir}/test
767 ln -s %{gem_dir}/gems/test-unit-%{test_unit_ver}/lib/unit $RPM_BUILD_ROOT%{ruby_libdir}/test
768
769 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/psych-%{psych_ver}/lib
770 install -d $RPM_BUILD_ROOT%{gem_libdir}/psych-%{psych_ver}/lib
771 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/psych* $RPM_BUILD_ROOT%{gem_dir}/gems/psych-%{psych_ver}/lib
772 %{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/psych.so $RPM_BUILD_ROOT%{gem_libdir}/psych-%{psych_ver}/lib/
773 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/psych-%{psych_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
774 ln -s %{gem_dir}/gems/psych-%{psych_ver}/lib/psych $RPM_BUILD_ROOT%{ruby_libdir}/psych
775 ln -s %{gem_dir}/gems/psych-%{psych_ver}/lib/psych.rb $RPM_BUILD_ROOT%{ruby_libdir}/psych.rb
776 ln -s %{gem_libdir}/psych-%{psych_ver}/lib/psych.so $RPM_BUILD_ROOT%{ruby_archdir}/psych.so
777
778 # Adjust the gemspec files so that the gems will load properly
779 sed -i '/^end$/ i\
780   s.require_paths = ["lib"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/rake-%{rake_ver}.gemspec
781
782 sed -i '/^end$/ i\
783   s.require_paths = ["lib"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/rdoc-%{rdoc_ver}.gemspec
784
785 sed -i '/^end$/ i\
786   s.require_paths = ["lib"]\
787   s.extensions = ["bigdecimal.so"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/bigdecimal-%{bigdecimal_ver}.gemspec
788
789 sed -i '/^end$/ i\
790   s.require_paths = ["lib"]\
791   s.extensions = ["io/console.so"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/io-console-%{io_console_ver}.gemspec
792
793 sed -i '/^end$/ i\
794   s.require_paths = ["lib"]\
795   s.extensions = ["json/ext/parser.so", "json/ext/generator.so"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/json-%{json_ver}.gemspec
796
797 sed -i '/^end$/ i\
798   s.require_paths = ["lib"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/minitest-%{minitest_ver}.gemspec
799
800 # Push the .gemspecs through the RubyGems to let them write the stub headers.
801 # This speeds up loading of libraries and avoids warnings in Spring:
802 # https://github.com/rubygems/rubygems/pull/694
803 for s in rake-%{rake_ver}.gemspec rdoc-%{rdoc_ver}.gemspec json-%{json_ver}.gemspec; do
804         s="$RPM_BUILD_ROOT%{gem_dir}/specifications/$s"
805         %{__make} runruby TESTRUN_SCRIPT="-rubygems \
806         -e \"spec = Gem::Specification.load('$s')\" \
807         -e \"File.write '$s', spec.to_ruby\""
808 done
809
810 ln -sf %{gem_dir}/gems/rake-%{rake_ver}/bin/rake $RPM_BUILD_ROOT%{_bindir}/rake%{ruby_suffix}
811
812 %{__sed} -i -e '1s,/usr/bin/env ruby,/usr/bin/ruby,' \
813         $RPM_BUILD_ROOT%{ruby_libdir}/abbrev.rb \
814         $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/bin/rake \
815         $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/rdoc \
816         $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/ri \
817         $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/{cal,test,time,uumerge}.rb \
818         $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/{drb,logger,openssl,ripper,rss}/*.rb \
819         $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/webrick/*.cgi
820
821 # gem non library files
822 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/minitest-%{minitest_ver}/test
823 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/test-unit-%{test_unit_ver}/{[A-Z]*,doc,sample,test}
824 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/power_assert-%{power_assert_ver}/{[A-Z]*,test}
825 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/{[A-Z]*,doc,test}
826 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/{[A-Z]*,doc,test}
827 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/net-telnet-%{net_telnet_ver}/{[A-Z]*,bin}
828
829 %if %{without batteries}
830 # packaged separately
831 %{__rm} -r $RPM_BUILD_ROOT%{ruby_libdir}/{rubygems,rake,json,minitest}
832 %{__rm} -r $RPM_BUILD_ROOT%{ruby_archdir}/json
833 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/rake-*
834 %{__rm} $RPM_BUILD_ROOT%{ruby_libdir}/{rake,rubygems,json}.rb
835 %{__rm} $RPM_BUILD_ROOT%{_bindir}/{gem,rake}
836 #%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/rake*
837 %{__rm} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/{json,minitest,rake}-*.gemspec
838 %{?with_doc:%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/ri/%{ruby_version}/system/JSON}
839 %endif
840
841 %if %{with doc}
842 # too much .ri
843 %{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/cache.ri
844 %{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/created.rid
845 %endif
846
847 %clean
848 rm -rf $RPM_BUILD_ROOT
849
850 %post   -p /sbin/ldconfig
851 %postun -p /sbin/ldconfig
852
853 %files
854 %defattr(644,root,root,755)
855 %doc NEWS LEGAL BSDL README.md README.EXT ChangeLog
856 %attr(755,root,root) %{_bindir}/ruby%{ruby_suffix}
857 %attr(755,root,root) %{_libdir}/libruby.so.*.*.*
858 %attr(755,root,root) %ghost %{_libdir}/libruby.so.%{ruby_version}
859 %{_mandir}/man1/ruby%{ruby_suffix}.1*
860
861 %dir %{_libdir}/%{oname}
862 %dir %{_libdir}/%{oname}/%{vendordir}
863 %dir %{_datadir}/%{oname}
864
865 %dir %{ruby_libdir}
866 %dir %{ruby_archdir}
867 %dir %{ruby_vendorlibdir}
868 %dir %{ruby_vendorarchdir}
869
870 %dir %{dirname:%{ruby_ridir}}
871 %dir %{ruby_ridir}
872 %dir %{ruby_rdocdir}
873
874 # common dirs for ruby vendor modules
875 %dir %{ruby_vendorlibdir}/data
876 %dir %{ruby_vendorlibdir}/net
877
878 %files devel
879 %defattr(644,root,root,755)
880 %attr(755,root,root) %{_libdir}/libruby.so
881 %{_includedir}/%{oname}-%{ruby_version}
882 %{_pkgconfigdir}/%{oname}-%{ruby_version}.pc
883 %{ruby_libdir}/mkmf.rb
884
885 %files static
886 %defattr(644,root,root,755)
887 %{_libdir}/libruby-static.a
888
889 %if %{with tk}
890 %files tk
891 %defattr(644,root,root,755)
892 %doc ext/tk/{ChangeLog.tkextlib,MANUAL_tcltklib.eng,README.fork}
893 %lang(ja) %doc ext/tk/MANUAL_tcltklib.ja
894 %{ruby_libdir}/multi-tk.rb
895 %{ruby_libdir}/remote-tk.rb
896 %{ruby_libdir}/tcltk.rb
897 %{ruby_libdir}/tk*.rb
898 %{ruby_libdir}/tk
899 %{ruby_libdir}/tkextlib
900 %attr(755,root,root) %{ruby_archdir}/tcltklib.so
901 %attr(755,root,root) %{ruby_archdir}/tkutil.so
902 %endif
903
904 %files irb
905 %defattr(644,root,root,755)
906 %attr(755,root,root) %{_bindir}/irb%{ruby_suffix}
907 %{ruby_libdir}/irb.rb
908 %{ruby_libdir}/irb
909 %{_mandir}/man1/irb%{ruby_suffix}.1*
910
911 %files rdoc
912 %defattr(644,root,root,755)
913 %attr(755,root,root) %{_bindir}/rdoc%{ruby_suffix}
914 %attr(755,root,root) %{_bindir}/ri%{ruby_suffix}
915 %{_mandir}/man1/rdoc%{ruby_suffix}.1*
916 %{ruby_libdir}/rdoc
917 %dir %{gem_dir}/gems/rdoc-%{rdoc_ver}
918 %{gem_dir}/gems/rdoc-%{rdoc_ver}/lib
919 %dir %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin
920 %attr(755,root,root) %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/rdoc
921 %{gem_dir}/specifications/rdoc-%{rdoc_ver}.gemspec
922 %attr(755,root,root) %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/ri
923
924 %if %{with batteries}
925 %files rubygems
926 %defattr(644,root,root,755)
927 %attr(755,root,root) %{_bindir}/gem%{ruby_suffix}
928 %{rubygems_dir}/rubygems
929 %{rubygems_dir}/rubygems.rb
930 %{rubygems_dir}/ubygems.rb
931 %{rubygems_dir}/rbconfig
932
933 %files rake
934 %defattr(644,root,root,755)
935 %attr(755,root,root) %{_bindir}/rake%{ruby_suffix}
936 #%{_mandir}/man1/rake%{ruby_suffix}.1*
937 #%{ruby_libdir}/rake
938 #%{ruby_libdir}/rake.rb
939 %dir %{gem_dir}/gems/rake-%{rake_ver}
940 %{gem_dir}/gems/rake-%{rake_ver}/lib
941 %{gem_dir}/gems/rake-%{rake_ver}/rakelib
942 %dir %{gem_dir}/gems/rake-%{rake_ver}/bin
943 %attr(755,root,root) %{gem_dir}/gems/rake-%{rake_ver}/bin/rake
944 %{gem_dir}/specifications/rake-%{rake_ver}.gemspec
945
946 %files json
947 %defattr(644,root,root,755)
948 %{ruby_libdir}/json
949 %dir %{ruby_archdir}/json
950 %dir %{ruby_archdir}/json/ext
951 %attr(755,root,root) %{ruby_archdir}/json/ext/*.so
952
953 %dir %{gem_libdir}/json-%{json_ver}
954 %dir %{gem_libdir}/json-%{json_ver}/lib
955 %dir %{gem_libdir}/json-%{json_ver}/lib/json
956 %dir %{gem_libdir}/json-%{json_ver}/lib/json/ext
957 %attr(755,root,root) %{gem_libdir}/json-%{json_ver}/lib/json/ext/generator.so
958 %attr(755,root,root) %{gem_libdir}/json-%{json_ver}/lib/json/ext/parser.so
959
960 %{gem_dir}/gems/json-%{json_ver}
961 %{gem_dir}/specifications/json-%{json_ver}.gemspec
962 %endif
963
964 %files power_assert
965 %defattr(644,root,root,755)
966 %dir %{gem_dir}/gems/power_assert-%{power_assert_ver}
967 %{gem_dir}/gems/power_assert-%{power_assert_ver}/lib
968 %{gem_dir}/specifications/power_assert-%{power_assert_ver}.gemspec
969
970 %files minitest
971 %defattr(644,root,root,755)
972 %{ruby_libdir}/minitest
973 %{gem_dir}/gems/minitest-%{minitest_ver}
974 %{gem_dir}/specifications/minitest-%{minitest_ver}.gemspec
975
976 %files test-unit
977 %defattr(644,root,root,755)
978 %dir %{gem_dir}/gems/test-unit-%{test_unit_ver}
979 %{gem_dir}/gems/test-unit-%{test_unit_ver}/lib
980 %{gem_dir}/specifications/test-unit-%{test_unit_ver}.gemspec
981 %{_mandir}/man1/testrb%{ruby_suffix}.1*
982
983 %files did_you_mean
984 %defattr(644,root,root,755)
985 %dir %{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}
986 %{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/benchmark
987 %{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/evaluation
988 %{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/lib
989 %{gem_dir}/specifications/did_you_mean-%{did_you_mean_ver}.gemspec
990
991 %files net-telnet
992 %defattr(644,root,root,755)
993 %dir %{gem_dir}/gems/net-telnet-%{net_telnet_ver}
994 %{gem_dir}/gems/net-telnet-%{net_telnet_ver}/lib
995 %{gem_dir}/specifications/net-telnet-%{net_telnet_ver}.gemspec
996
997 %files bigdecimal
998 %defattr(644,root,root,755)
999 %{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}
1000 %dir %{gem_libdir}/bigdecimal-%{bigdecimal_ver}
1001 %dir %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib
1002 %attr(755,root,root) %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal.so
1003 %{ruby_libdir}/bigdecimal
1004 %{gem_dir}/specifications/bigdecimal-%{bigdecimal_ver}.gemspec
1005
1006 %files io-console
1007 %defattr(644,root,root,755)
1008 %{gem_dir}/gems/io-console-%{io_console_ver}
1009 %dir %{gem_libdir}/io-console-%{io_console_ver}
1010 %dir %{gem_libdir}/io-console-%{io_console_ver}/lib
1011 %dir %{gem_libdir}/io-console-%{io_console_ver}/lib/io
1012 %attr(755,root,root) %{gem_libdir}/io-console-%{io_console_ver}/lib/io/console.so
1013 %{gem_dir}/specifications/io-console-%{io_console_ver}.gemspec
1014
1015 %files modules
1016 %defattr(644,root,root,755)
1017 %attr(755,root,root) %{_bindir}/erb%{ruby_suffix}
1018 %{ruby_libdir}/cgi
1019 #%{ruby_libdir}/date
1020 %{ruby_libdir}/digest
1021 #%{ruby_libdir}/dl
1022 %{ruby_libdir}/drb
1023 %{ruby_libdir}/fiddle
1024 %{ruby_libdir}/io
1025 %{ruby_libdir}/matrix
1026 %{ruby_libdir}/net
1027 %{ruby_libdir}/openssl
1028 %{ruby_libdir}/optparse
1029 %{ruby_libdir}/racc
1030 %{ruby_libdir}/rbconfig
1031 %{ruby_libdir}/rexml
1032 %{ruby_libdir}/rinda
1033 %{ruby_libdir}/ripper
1034 %{ruby_libdir}/rss
1035 %{ruby_libdir}/shell
1036 %{ruby_libdir}/syslog
1037 %{ruby_libdir}/test
1038 %{ruby_libdir}/uri
1039 %{ruby_libdir}/webrick
1040 %{ruby_libdir}/xmlrpc
1041 %{ruby_libdir}/yaml
1042
1043 %{ruby_libdir}/English.rb
1044 %{ruby_libdir}/abbrev.rb
1045 %{ruby_libdir}/base64.rb
1046 %{ruby_libdir}/benchmark.rb
1047 %{ruby_libdir}/cgi.rb
1048 %{ruby_libdir}/cmath.rb
1049 #%{ruby_libdir}/complex.rb
1050 %{ruby_libdir}/csv.rb
1051 %{ruby_libdir}/date.rb
1052 %{ruby_libdir}/debug.rb
1053 %{ruby_libdir}/delegate.rb
1054 %{ruby_libdir}/digest.rb
1055 #%{ruby_libdir}/dl.rb
1056 %{ruby_libdir}/drb.rb
1057 %{ruby_libdir}/e2mmap.rb
1058 %{ruby_libdir}/erb.rb
1059 %{ruby_libdir}/expect.rb
1060 %{ruby_libdir}/fiddle.rb
1061 %{ruby_libdir}/fileutils.rb
1062 %{ruby_libdir}/find.rb
1063 %{ruby_libdir}/forwardable.rb
1064 %{ruby_libdir}/getoptlong.rb
1065 #%{ruby_libdir}/gserver.rb
1066 %{ruby_libdir}/ipaddr.rb
1067 %{ruby_libdir}/json.rb
1068 %{ruby_libdir}/kconv.rb
1069 %{ruby_libdir}/logger.rb
1070 %{ruby_libdir}/mathn.rb
1071 %{ruby_libdir}/matrix.rb
1072 %{ruby_libdir}/monitor.rb
1073 %{ruby_libdir}/mutex_m.rb
1074 %{ruby_libdir}/observer.rb
1075 %{ruby_libdir}/open-uri.rb
1076 %{ruby_libdir}/open3.rb
1077 %{ruby_libdir}/openssl.rb
1078 %{ruby_libdir}/optionparser.rb
1079 %{ruby_libdir}/optparse.rb
1080 %{ruby_libdir}/ostruct.rb
1081 %{ruby_libdir}/pathname.rb
1082 %{ruby_libdir}/pp.rb
1083 %{ruby_libdir}/prettyprint.rb
1084 %{ruby_libdir}/prime.rb
1085 %{ruby_libdir}/profile.rb
1086 %{ruby_libdir}/profiler.rb
1087 %{ruby_libdir}/pstore.rb
1088 %{ruby_libdir}/psych.rb
1089 #%{ruby_libdir}/rational.rb
1090 %{ruby_libdir}/rdoc.rb
1091 %{ruby_libdir}/resolv-replace.rb
1092 %{ruby_libdir}/resolv.rb
1093 %{ruby_libdir}/ripper.rb
1094 %{ruby_libdir}/rss.rb
1095 %{ruby_libdir}/scanf.rb
1096 %{ruby_libdir}/securerandom.rb
1097 %{ruby_libdir}/set.rb
1098 %{ruby_libdir}/shell.rb
1099 %{ruby_libdir}/shellwords.rb
1100 %{ruby_libdir}/singleton.rb
1101 %{ruby_libdir}/socket.rb
1102 %{ruby_libdir}/sync.rb
1103 %{ruby_libdir}/tempfile.rb
1104 %{ruby_libdir}/thwait.rb
1105 %{ruby_libdir}/time.rb
1106 %{ruby_libdir}/timeout.rb
1107 %{ruby_libdir}/tmpdir.rb
1108 %{ruby_libdir}/tracer.rb
1109 %{ruby_libdir}/tsort.rb
1110 %{ruby_libdir}/un.rb
1111 %{ruby_libdir}/unicode_normalize
1112 %{ruby_libdir}/unicode_normalize.rb
1113 %{ruby_libdir}/uri.rb
1114 %{ruby_libdir}/weakref.rb
1115 %{ruby_libdir}/webrick.rb
1116 %{ruby_libdir}/xmlrpc.rb
1117 %{ruby_libdir}/yaml.rb
1118
1119 %if %{with batteries}
1120 %exclude %{ruby_libdir}/rubygems.rb
1121 %exclude %{ruby_libdir}/ubygems.rb
1122 %exclude %{ruby_libdir}/rbconfig/datadir.rb
1123 #%exclude %{ruby_libdir}/rbconfig/obsolete.rb
1124 %endif
1125 %exclude %{ruby_libdir}/irb.rb
1126 %exclude %{ruby_libdir}/mkmf.rb
1127 #%exclude %{ruby_libdir}/rake.rb
1128
1129 %{ruby_archdir}/rbconfig.rb
1130 %attr(755,root,root) %{ruby_archdir}/bigdecimal.so
1131 %attr(755,root,root) %{ruby_archdir}/continuation.so
1132 %attr(755,root,root) %{ruby_archdir}/coverage.so
1133 %attr(755,root,root) %{ruby_archdir}/date_core.so
1134 %attr(755,root,root) %{ruby_archdir}/dbm.so
1135 %attr(755,root,root) %{ruby_archdir}/digest.so
1136 #%attr(755,root,root) %{ruby_archdir}/dl.so
1137 %attr(755,root,root) %{ruby_archdir}/etc.so
1138 %attr(755,root,root) %{ruby_archdir}/fcntl.so
1139 %attr(755,root,root) %{ruby_archdir}/fiber.so
1140 %attr(755,root,root) %{ruby_archdir}/fiddle.so
1141 %attr(755,root,root) %{ruby_archdir}/gdbm.so
1142 %attr(755,root,root) %{ruby_archdir}/nkf.so
1143 %attr(755,root,root) %{ruby_archdir}/objspace.so
1144 %attr(755,root,root) %{ruby_archdir}/openssl.so
1145 %attr(755,root,root) %{ruby_archdir}/pathname.so
1146 %attr(755,root,root) %{ruby_archdir}/psych.so
1147 %attr(755,root,root) %{ruby_archdir}/pty.so
1148 %attr(755,root,root) %{ruby_archdir}/readline.so
1149 %attr(755,root,root) %{ruby_archdir}/ripper.so
1150 %attr(755,root,root) %{ruby_archdir}/thread.so
1151 %attr(755,root,root) %{ruby_archdir}/sdbm.so
1152 %attr(755,root,root) %{ruby_archdir}/socket.so
1153 %attr(755,root,root) %{ruby_archdir}/stringio.so
1154 %attr(755,root,root) %{ruby_archdir}/strscan.so
1155 %attr(755,root,root) %{ruby_archdir}/syslog.so
1156 %attr(755,root,root) %{ruby_archdir}/zlib.so
1157
1158 %dir %{ruby_archdir}/cgi
1159 %attr(755,root,root) %{ruby_archdir}/cgi/escape.so
1160 %dir %{ruby_archdir}/digest
1161 %attr(755,root,root) %{ruby_archdir}/digest/*.so
1162 #%dir %{ruby_archdir}/dl
1163 #%attr(755,root,root) %{ruby_archdir}/dl/callback.so
1164 %dir %{ruby_archdir}/enc
1165 %attr(755,root,root) %{ruby_archdir}/enc/*.so
1166 %dir %{ruby_archdir}/enc/trans
1167 %attr(755,root,root) %{ruby_archdir}/enc/trans/*.so
1168 %dir %{ruby_archdir}/io
1169 %attr(755,root,root) %{ruby_archdir}/io/*.so
1170 %dir %{ruby_archdir}/mathn
1171 %attr(755,root,root) %{ruby_archdir}/mathn/*.so
1172 %dir %{ruby_archdir}/racc
1173 %attr(755,root,root) %{ruby_archdir}/racc/*.so
1174 %dir %{ruby_archdir}/rbconfig
1175 %attr(755,root,root) %{ruby_archdir}/rbconfig/sizeof.so
1176
1177 %dir %{_libdir}/gems
1178 %dir %{_libdir}/gems/%{oname}
1179
1180 %{gem_dir}/specifications/psych-%{psych_ver}.gemspec
1181 %{gem_dir}/gems/psych-%{psych_ver}
1182 %{ruby_libdir}/psych
1183 %dir %{gem_libdir}/psych-%{psych_ver}
1184 %dir %{gem_libdir}/psych-%{psych_ver}/lib
1185 %attr(755,root,root) %{gem_libdir}/psych-%{psych_ver}/lib/psych.so
1186
1187 %dir %{gem_dir}
1188 %dir %{gem_dir}/gems
1189 %dir %{gem_dir}/specifications
1190 %dir %{gem_dir}/specifications/default
1191 %{_mandir}/man1/erb%{ruby_suffix}.1*
1192 %{_mandir}/man1/ri%{ruby_suffix}.1*
1193
1194 %if %{with doc}
1195 %files doc
1196 %defattr(644,root,root,755)
1197 %doc ruby_%{doc_version}_stdlib
1198 %doc ruby_%{doc_version}_core
1199
1200 %files doc-ri
1201 %defattr(644,root,root,755)
1202 %{ruby_ridir}/*
1203 %endif
1204
1205 %files examples
1206 %defattr(644,root,root,755)
1207 %{_examplesdir}/%{oname}-%{pkg_version}
This page took 0.295889 seconds and 3 git commands to generate.