]> git.pld-linux.org Git - packages/ruby.git/blob - ruby.spec
subpackage psych
[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.2
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 %package psych
548 Summary:        A libyaml wrapper for Ruby
549 Version:        %{psych_ver}
550 Release:        %{pkg_version}.%{rel}
551 Epoch:          0
552 License:        MIT
553 Group:          Development/Libraries
554
555 %description psych
556 Psych is a YAML parser and emitter. Psych leverages libyaml for its
557 YAML parsing and emitting capabilities. In addition to wrapping
558 libyaml, Psych also knows how to serialize and de-serialize most Ruby
559 objects to and from the YAML format.
560
561 %prep
562 %setup -q -n %{oname}-%{pkg_version} -a2 -a3 %{?with_bootstrap:-a100}
563 %patch0 -p1
564 #%patch1 -p1
565 %patch2 -p1
566 %patch3 -p1
567 %patch4 -p1
568 %patch5 -p1
569 %patch6 -p1
570 #%patch8 -p1
571 %patch9 -p1
572 %patch12 -p1
573
574 # must be regenerated with new bison
575 %{__rm} parse.{c,h}
576
577 # Remove bundled libraries to be sure they are not used.
578 %{__rm} -r ext/psych/yaml
579 %{__rm} -r ext/fiddle/libffi*
580
581 # Install custom operating_system.rb.
582 install -d lib/rubygems/defaults
583 cp -p %{SOURCE6} lib/rubygems/defaults
584
585 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
586
587 find -type f '(' -name '*.rb' -o -name '*.cgi' -o -name '*.test' \
588         -o -name 'ruby.1' -o -name '*.html' -o -name '*.tcl' ')' \
589         | xargs %{__sed} -i 's,/usr/local/bin/,%{_bindir}/,'
590
591 # no configure option to disable, so just rm
592 %{!?with_tk:rm -rf ext/tk}
593
594 %build
595 rubygems_ver=$(awk '/VERSION =/ && $1 == "VERSION" {print $3}' lib/rubygems.rb | xargs)
596 if [ $rubygems_ver != %{rubygems_ver} ]; then
597         echo "Set %%define rubygems_ver to $rubygems_ver and re-run."
598         exit 1
599 fi
600 rdoc_ver=$(awk '/VERSION =/ && $1 == "VERSION" {print $3}' lib/rdoc.rb | xargs)
601 if [ $rdoc_ver != %{rdoc_ver} ]; then
602         echo "Set %%define rdoc_ver to $rdoc_ver and re-run."
603         exit 1
604 fi
605
606 cp -f /usr/share/automake/config.sub .
607
608 # build ruby-1.8.7 first
609 %if %{with bootstrap}
610 cd %{oname}-1.8.7-p330
611 %configure
612 %{__make}
613 cd ..
614 %endif
615
616 %{__autoconf}
617 %configure \
618         %{?with_bootstrap:--with-baseruby=%{oname}-1.8.7-p330/miniruby} \
619         --program-suffix=%{ruby_suffix} \
620         --with-archlibdir=%{_libdir} \
621         --with-rubygemsdir=%{rubygems_dir} \
622         --with-rubylibprefix=%{ruby_libdir} \
623         --with-rubyarchprefix=%{ruby_archdir} \
624         --with-sitedir=%{ruby_sitelibdir} \
625         --with-sitearchdir=%{ruby_sitearchdir} \
626         --with-vendordir=%{ruby_vendorlibdir} \
627         --with-vendorarchdir=%{ruby_vendorarchdir} \
628         --with-rubyhdrdir=%{_includedir}/%{oname}-%{ruby_version} \
629         --with-rubyarchhdrdir=%{_includedir}/%{oname}-%{ruby_version} \
630         --with-sitearchhdrdir='$(sitehdrdir)/$(arch)' \
631         --with-vendorarchhdrdir='$(vendorhdrdir)/$(arch)' \
632         --enable-multiarch \
633         --enable-shared \
634         --disable-install-doc \
635         --disable-rpath \
636         --disable-rubygems \
637         --with-ruby-version='' \
638
639 %{__make} -j1 main \
640         COPY="cp -p" Q= \
641         %{?with_bootstrap:BASERUBY="%{oname}-1.8.7-p330/miniruby -I./ruby-1.8.7-p330/lib"}
642
643 %if %{with doc}
644 %{__make} -j1 rdoc
645 %endif
646
647 %if %{with tests}
648 # unset these, as testsuite does "git commit" somewhere, which points to pld .spec repo. doh
649 unset GIT_DIR GIT_WORK_TREE
650
651 unset GIT
652 DISABLE_TESTS=""
653
654 %ifarch armv7l armv7hl armv7hnl
655 # test_call_double(DL::TestDL) fails on ARM HardFP
656 # http://bugs.ruby-lang.org/issues/6592
657 DISABLE_TESTS="-x test_dl2.rb $DISABLE_TESTS"
658 %endif
659
660 # test_debug(TestRubyOptions) fails due to LoadError reported in debug mode,
661 # when abrt.rb cannot be required (seems to be easier way then customizing
662 # the test suite).
663 touch abrt.rb
664
665 # TestSignal#test_hup_me hangs up the test suite.
666 # http://bugs.ruby-lang.org/issues/8997
667 sed -i '/def test_hup_me/,/end if Process.respond_to/ s/^/#/' test/ruby/test_signal.rb
668
669 # Fix "Could not find 'minitest'" error.
670 # http://bugs.ruby-lang.org/issues/9259
671 sed -i "/^  gem 'minitest', '~> 4.0'/ s/^/#/" lib/rubygems/test_case.rb
672
673 # Segmentation fault.
674 # https://bugs.ruby-lang.org/issues/9198
675 sed -i '/^  def test_machine_stackoverflow/,/^  end/ s/^/#/' test/ruby/test_exception.rb
676
677 # Don't test wrap ciphers to prevent "OpenSSL::Cipher::CipherError: wrap mode
678 # not allowed" error.
679 # https://bugs.ruby-lang.org/issues/10229
680 sed -i '/assert(OpenSSL::Cipher::Cipher.new(name).is_a?(OpenSSL::Cipher::Cipher))/i \
681         next if /wrap/ =~ name' test/openssl/test_cipher.rb
682
683 # Test is broken due to SSLv3 disabled in Fedora.
684 # https://bugs.ruby-lang.org/issues/10046
685 sed -i '/def test_ctx_server_session_cb$/,/^  end$/ s/^/#/' test/openssl/test_ssl_session.rb
686
687 %{__make} check TESTS="-v $DISABLE_TESTS"
688 %endif
689
690 %install
691 rm -rf $RPM_BUILD_ROOT
692 install -d $RPM_BUILD_ROOT{%{ruby_rdocdir},%{ruby_ridir}} \
693         $RPM_BUILD_ROOT%{ruby_vendorarchdir} \
694         $RPM_BUILD_ROOT%{ruby_vendorlibdir}/net \
695         $RPM_BUILD_ROOT%{ruby_vendorlibdir}/data \
696
697 %{__make} install %{?with_doc:install-doc -j1} \
698         DESTDIR=$RPM_BUILD_ROOT
699
700 # Version is empty if --with-ruby-version is specified.
701 # http://bugs.ruby-lang.org/issues/7807
702 sed -i -e 's/Version: \${ruby_version}/Version: %{ruby_version}/' $RPM_BUILD_ROOT%{_pkgconfigdir}/%{oname}-%{ruby_version}.pc
703
704 # Kill bundled certificates, as they should be part of ca-certificates.
705 for cert in \
706         Class3PublicPrimaryCertificationAuthority.pem \
707         DigiCertHighAssuranceEVRootCA.pem \
708         EntrustnetSecureServerCertificationAuthority.pem \
709         GeoTrustGlobalCA.pem \
710         AddTrustExternalCARoot.pem \
711         AddTrustExternalCARoot-2048.pem \
712 ; do
713         %{__rm} $RPM_BUILD_ROOT%{rubygems_dir}/rubygems/ssl_certs/$cert
714 done
715
716 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}
717 cp -Rf sample/* $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}
718 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_mandir}/man1/rdoc%{ruby_suffix}.1
719 cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_mandir}/man1/testrb%{ruby_suffix}.1
720
721 %{__rm} -rf $RPM_BUILD_ROOT%{_docdir}/%{name}/html
722
723 # detect this runtime, "make install" is affected by operating_system.rb what is installed in system!
724 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')
725
726 # Move gems root into common directory, out of Ruby directory structure.
727 install -d $RPM_BUILD_ROOT%{gem_dir}
728 %{__mv} $RPM_BUILD_ROOT${gem_dir}/{gems,specifications} $RPM_BUILD_ROOT%{gem_dir}
729
730 # Move bundled rubygems to %gem_dir
731 # make symlinks for io-console and bigdecimal, which are considered to be part of stdlib by other Gems
732 # make symlinks for all packages, so they would work without rubygems
733 # NOTE: when making symlinks, do not symlink paths that could be directories,
734 # as there may came files from other packages as well. actually, unlikely as
735 # the links to got system dir and only ruby may package there (other distro
736 # packages should go to vendor dirs)
737 %if 0
738 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/lib
739 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/rake* $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/lib
740 ln -s %{gem_dir}/gems/rake-%{rake_ver}/lib/rake $RPM_BUILD_ROOT%{ruby_libdir}
741 ln -s %{gem_dir}/gems/rake-%{rake_ver}/lib/rake.rb $RPM_BUILD_ROOT%{ruby_libdir}
742 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/rake-%{rake_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
743 %endif
744
745 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/lib
746 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/rdoc* $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/lib
747 ln -s %{gem_dir}/gems/rdoc-%{rdoc_ver}/lib/rdoc $RPM_BUILD_ROOT%{ruby_libdir}
748 ln -s %{gem_dir}/gems/rdoc-%{rdoc_ver}/lib/rdoc.rb $RPM_BUILD_ROOT%{ruby_libdir}
749 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/rdoc-%{rdoc_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
750
751 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}/lib
752 install -d $RPM_BUILD_ROOT%{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib
753 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/bigdecimal $RPM_BUILD_ROOT%{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}/lib
754 %{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/bigdecimal.so $RPM_BUILD_ROOT%{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib
755 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/bigdecimal-%{bigdecimal_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
756 ln -s %{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal $RPM_BUILD_ROOT%{ruby_libdir}/bigdecimal
757 ln -s %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal.so $RPM_BUILD_ROOT%{ruby_libarchdir}/bigdecimal.so
758
759 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/io-console-%{io_console_ver}/lib
760 install -d $RPM_BUILD_ROOT%{gem_libdir}/io-console-%{io_console_ver}/lib/io
761 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/io $RPM_BUILD_ROOT%{gem_dir}/gems/io-console-%{io_console_ver}/lib
762 %{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/io/console.so $RPM_BUILD_ROOT%{gem_libdir}/io-console-%{io_console_ver}/lib/io
763 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/io-console-%{io_console_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
764 ln -s %{gem_dir}/gems/io-console-%{io_console_ver}/lib/io $RPM_BUILD_ROOT%{ruby_libdir}/io
765 ln -s %{gem_libdir}/io-console-%{io_console_ver}/lib/io/console.so $RPM_BUILD_ROOT%{ruby_libarchdir}/io/console.so
766
767 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/json-%{json_ver}/lib
768 install -d $RPM_BUILD_ROOT%{gem_libdir}/json-%{json_ver}/lib
769 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/json* $RPM_BUILD_ROOT%{gem_dir}/gems/json-%{json_ver}/lib
770 %{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/json $RPM_BUILD_ROOT%{gem_libdir}/json-%{json_ver}/lib
771 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/json-%{json_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
772 ln -s %{gem_dir}/gems/json-%{json_ver}/lib/json $RPM_BUILD_ROOT%{ruby_libdir}/json
773 ln -s %{gem_dir}/gems/json-%{json_ver}/lib/json.rb $RPM_BUILD_ROOT%{ruby_libdir}/json.rb
774 install -d $RPM_BUILD_ROOT%{ruby_libarchdir}/json/ext
775 ln -s %{gem_libdir}/json-%{json_ver}/lib/json/ext/parser.so $RPM_BUILD_ROOT%{ruby_libarchdir}/json/ext
776 ln -s %{gem_libdir}/json-%{json_ver}/lib/json/ext/generator.so $RPM_BUILD_ROOT%{ruby_libarchdir}/json/ext
777
778 ln -s %{gem_dir}/gems/minitest-%{minitest_ver}/lib/minitest $RPM_BUILD_ROOT%{ruby_libdir}
779
780 install -d $RPM_BUILD_ROOT%{ruby_libdir}/test
781 ln -s %{gem_dir}/gems/test-unit-%{test_unit_ver}/lib/unit $RPM_BUILD_ROOT%{ruby_libdir}/test
782
783 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/psych-%{psych_ver}/lib
784 install -d $RPM_BUILD_ROOT%{gem_libdir}/psych-%{psych_ver}/lib
785 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/psych* $RPM_BUILD_ROOT%{gem_dir}/gems/psych-%{psych_ver}/lib
786 %{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/psych.so $RPM_BUILD_ROOT%{gem_libdir}/psych-%{psych_ver}/lib/
787 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/psych-%{psych_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
788 ln -s %{gem_dir}/gems/psych-%{psych_ver}/lib/psych $RPM_BUILD_ROOT%{ruby_libdir}/psych
789 ln -s %{gem_dir}/gems/psych-%{psych_ver}/lib/psych.rb $RPM_BUILD_ROOT%{ruby_libdir}/psych.rb
790 ln -s %{gem_libdir}/psych-%{psych_ver}/lib/psych.so $RPM_BUILD_ROOT%{ruby_archdir}/psych.so
791
792 # Adjust the gemspec files so that the gems will load properly
793 sed -i '/^end$/ i\
794   s.require_paths = ["lib"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/rake-%{rake_ver}.gemspec
795
796 sed -i '/^end$/ i\
797   s.require_paths = ["lib"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/rdoc-%{rdoc_ver}.gemspec
798
799 sed -i '/^end$/ i\
800   s.require_paths = ["lib"]\
801   s.extensions = ["bigdecimal.so"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/bigdecimal-%{bigdecimal_ver}.gemspec
802
803 sed -i '/^end$/ i\
804   s.require_paths = ["lib"]\
805   s.extensions = ["io/console.so"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/io-console-%{io_console_ver}.gemspec
806
807 sed -i '/^end$/ i\
808   s.require_paths = ["lib"]\
809   s.extensions = ["json/ext/parser.so", "json/ext/generator.so"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/json-%{json_ver}.gemspec
810
811 sed -i '/^end$/ i\
812   s.require_paths = ["lib"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/minitest-%{minitest_ver}.gemspec
813
814 # Push the .gemspecs through the RubyGems to let them write the stub headers.
815 # This speeds up loading of libraries and avoids warnings in Spring:
816 # https://github.com/rubygems/rubygems/pull/694
817 for s in rake-%{rake_ver}.gemspec rdoc-%{rdoc_ver}.gemspec json-%{json_ver}.gemspec; do
818         s="$RPM_BUILD_ROOT%{gem_dir}/specifications/$s"
819         %{__make} runruby TESTRUN_SCRIPT="-rubygems \
820         -e \"spec = Gem::Specification.load('$s')\" \
821         -e \"File.write '$s', spec.to_ruby\""
822 done
823
824 ln -sf %{gem_dir}/gems/rake-%{rake_ver}/bin/rake $RPM_BUILD_ROOT%{_bindir}/rake%{ruby_suffix}
825
826 %{__sed} -i -e '1s,/usr/bin/env ruby,/usr/bin/ruby,' \
827         $RPM_BUILD_ROOT%{ruby_libdir}/abbrev.rb \
828         $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/bin/rake \
829         $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/rdoc \
830         $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/ri \
831         $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/{cal,test,time,uumerge}.rb \
832         $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/{drb,logger,openssl,ripper,rss}/*.rb \
833         $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/webrick/*.cgi
834
835 # gem non library files
836 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/minitest-%{minitest_ver}/test
837 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/test-unit-%{test_unit_ver}/{[A-Z]*,doc,sample,test}
838 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/power_assert-%{power_assert_ver}/{[A-Z]*,test}
839 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/{[A-Z]*,doc,test}
840 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/{[A-Z]*,doc,test}
841 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/net-telnet-%{net_telnet_ver}/{[A-Z]*,bin}
842
843 %if %{without batteries}
844 # packaged separately
845 %{__rm} -r $RPM_BUILD_ROOT%{ruby_libdir}/{rubygems,rake,json,minitest}
846 %{__rm} -r $RPM_BUILD_ROOT%{ruby_archdir}/json
847 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/rake-*
848 %{__rm} $RPM_BUILD_ROOT%{ruby_libdir}/{rake,rubygems,json}.rb
849 %{__rm} $RPM_BUILD_ROOT%{_bindir}/{gem,rake}
850 #%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/rake*
851 %{__rm} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/{json,minitest,rake}-*.gemspec
852 %{?with_doc:%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/ri/%{ruby_version}/system/JSON}
853 %endif
854
855 %if %{with doc}
856 # too much .ri
857 %{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/cache.ri
858 %{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/created.rid
859 %endif
860
861 %clean
862 rm -rf $RPM_BUILD_ROOT
863
864 %post   -p /sbin/ldconfig
865 %postun -p /sbin/ldconfig
866
867 %files
868 %defattr(644,root,root,755)
869 %doc NEWS LEGAL BSDL README.md README.EXT ChangeLog
870 %attr(755,root,root) %{_bindir}/ruby%{ruby_suffix}
871 %attr(755,root,root) %{_libdir}/libruby.so.*.*.*
872 %attr(755,root,root) %ghost %{_libdir}/libruby.so.%{ruby_version}
873 %{_mandir}/man1/ruby%{ruby_suffix}.1*
874
875 %dir %{_libdir}/%{oname}
876 %dir %{_libdir}/%{oname}/%{vendordir}
877 %dir %{_datadir}/%{oname}
878
879 %dir %{ruby_libdir}
880 %dir %{ruby_archdir}
881 %dir %{ruby_vendorlibdir}
882 %dir %{ruby_vendorarchdir}
883
884 %dir %{dirname:%{ruby_ridir}}
885 %dir %{ruby_ridir}
886 %dir %{ruby_rdocdir}
887
888 # common dirs for ruby vendor modules
889 %dir %{ruby_vendorlibdir}/data
890 %dir %{ruby_vendorlibdir}/net
891
892 %files devel
893 %defattr(644,root,root,755)
894 %attr(755,root,root) %{_libdir}/libruby.so
895 %{_includedir}/%{oname}-%{ruby_version}
896 %{_pkgconfigdir}/%{oname}-%{ruby_version}.pc
897 %{ruby_libdir}/mkmf.rb
898
899 %files static
900 %defattr(644,root,root,755)
901 %{_libdir}/libruby-static.a
902
903 %if %{with tk}
904 %files tk
905 %defattr(644,root,root,755)
906 %doc ext/tk/{ChangeLog.tkextlib,MANUAL_tcltklib.eng,README.fork}
907 %lang(ja) %doc ext/tk/MANUAL_tcltklib.ja
908 %{ruby_libdir}/multi-tk.rb
909 %{ruby_libdir}/remote-tk.rb
910 %{ruby_libdir}/tcltk.rb
911 %{ruby_libdir}/tk*.rb
912 %{ruby_libdir}/tk
913 %{ruby_libdir}/tkextlib
914 %attr(755,root,root) %{ruby_archdir}/tcltklib.so
915 %attr(755,root,root) %{ruby_archdir}/tkutil.so
916 %endif
917
918 %files irb
919 %defattr(644,root,root,755)
920 %attr(755,root,root) %{_bindir}/irb%{ruby_suffix}
921 %{ruby_libdir}/irb.rb
922 %{ruby_libdir}/irb
923 %{_mandir}/man1/irb%{ruby_suffix}.1*
924
925 %files rdoc
926 %defattr(644,root,root,755)
927 %attr(755,root,root) %{_bindir}/rdoc%{ruby_suffix}
928 %attr(755,root,root) %{_bindir}/ri%{ruby_suffix}
929 %{_mandir}/man1/rdoc%{ruby_suffix}.1*
930 %{ruby_libdir}/rdoc
931 %dir %{gem_dir}/gems/rdoc-%{rdoc_ver}
932 %{gem_dir}/gems/rdoc-%{rdoc_ver}/lib
933 %dir %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin
934 %attr(755,root,root) %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/rdoc
935 %{gem_dir}/specifications/rdoc-%{rdoc_ver}.gemspec
936 %attr(755,root,root) %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/ri
937
938 %if %{with batteries}
939 %files rubygems
940 %defattr(644,root,root,755)
941 %attr(755,root,root) %{_bindir}/gem%{ruby_suffix}
942 %{rubygems_dir}/rubygems
943 %{rubygems_dir}/rubygems.rb
944 %{rubygems_dir}/ubygems.rb
945 %{rubygems_dir}/rbconfig
946
947 %files rake
948 %defattr(644,root,root,755)
949 %attr(755,root,root) %{_bindir}/rake%{ruby_suffix}
950 %dir %{gem_dir}/gems/rake-%{rake_ver}
951 %{gem_dir}/gems/rake-%{rake_ver}/lib
952 %{gem_dir}/gems/rake-%{rake_ver}/rakelib
953 %dir %{gem_dir}/gems/rake-%{rake_ver}/bin
954 %attr(755,root,root) %{gem_dir}/gems/rake-%{rake_ver}/bin/rake
955 %{gem_dir}/specifications/rake-%{rake_ver}.gemspec
956
957 %files json
958 %defattr(644,root,root,755)
959 %{ruby_libdir}/json
960 %dir %{ruby_archdir}/json
961 %dir %{ruby_archdir}/json/ext
962 %attr(755,root,root) %{ruby_archdir}/json/ext/*.so
963
964 %dir %{gem_libdir}/json-%{json_ver}
965 %dir %{gem_libdir}/json-%{json_ver}/lib
966 %dir %{gem_libdir}/json-%{json_ver}/lib/json
967 %dir %{gem_libdir}/json-%{json_ver}/lib/json/ext
968 %attr(755,root,root) %{gem_libdir}/json-%{json_ver}/lib/json/ext/generator.so
969 %attr(755,root,root) %{gem_libdir}/json-%{json_ver}/lib/json/ext/parser.so
970
971 %{gem_dir}/gems/json-%{json_ver}
972 %{gem_dir}/specifications/json-%{json_ver}.gemspec
973 %endif
974
975 %files power_assert
976 %defattr(644,root,root,755)
977 %dir %{gem_dir}/gems/power_assert-%{power_assert_ver}
978 %{gem_dir}/gems/power_assert-%{power_assert_ver}/lib
979 %{gem_dir}/specifications/power_assert-%{power_assert_ver}.gemspec
980
981 %files minitest
982 %defattr(644,root,root,755)
983 %{ruby_libdir}/minitest
984 %{gem_dir}/gems/minitest-%{minitest_ver}
985 %{gem_dir}/specifications/minitest-%{minitest_ver}.gemspec
986
987 %files test-unit
988 %defattr(644,root,root,755)
989 %dir %{gem_dir}/gems/test-unit-%{test_unit_ver}
990 %{gem_dir}/gems/test-unit-%{test_unit_ver}/lib
991 %{gem_dir}/specifications/test-unit-%{test_unit_ver}.gemspec
992 %{_mandir}/man1/testrb%{ruby_suffix}.1*
993
994 %files did_you_mean
995 %defattr(644,root,root,755)
996 %dir %{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}
997 %{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/benchmark
998 %{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/evaluation
999 %{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/lib
1000 %{gem_dir}/specifications/did_you_mean-%{did_you_mean_ver}.gemspec
1001
1002 %files net-telnet
1003 %defattr(644,root,root,755)
1004 %dir %{gem_dir}/gems/net-telnet-%{net_telnet_ver}
1005 %{gem_dir}/gems/net-telnet-%{net_telnet_ver}/lib
1006 %{gem_dir}/specifications/net-telnet-%{net_telnet_ver}.gemspec
1007
1008 %files bigdecimal
1009 %defattr(644,root,root,755)
1010 %{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}
1011 %dir %{gem_libdir}/bigdecimal-%{bigdecimal_ver}
1012 %dir %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib
1013 %attr(755,root,root) %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal.so
1014 %{ruby_libdir}/bigdecimal
1015 %{gem_dir}/specifications/bigdecimal-%{bigdecimal_ver}.gemspec
1016
1017 %files io-console
1018 %defattr(644,root,root,755)
1019 %{gem_dir}/gems/io-console-%{io_console_ver}
1020 %dir %{gem_libdir}/io-console-%{io_console_ver}
1021 %dir %{gem_libdir}/io-console-%{io_console_ver}/lib
1022 %dir %{gem_libdir}/io-console-%{io_console_ver}/lib/io
1023 %attr(755,root,root) %{gem_libdir}/io-console-%{io_console_ver}/lib/io/console.so
1024 %{gem_dir}/specifications/io-console-%{io_console_ver}.gemspec
1025
1026 %files psych
1027 %defattr(644,root,root,755)
1028 %{ruby_libdir}/psych.rb
1029 %attr(755,root,root) %{ruby_archdir}/psych.so
1030 %{gem_dir}/gems/psych-%{psych_ver}
1031 %{ruby_libdir}/psych
1032 %dir %{gem_libdir}/psych-%{psych_ver}
1033 %dir %{gem_libdir}/psych-%{psych_ver}/lib
1034 %attr(755,root,root) %{gem_libdir}/psych-%{psych_ver}/lib/psych.so
1035 %{gem_dir}/specifications/psych-%{psych_ver}.gemspec
1036
1037 %files modules
1038 %defattr(644,root,root,755)
1039 %attr(755,root,root) %{_bindir}/erb%{ruby_suffix}
1040 %{ruby_libdir}/cgi
1041 %{ruby_libdir}/digest
1042 %{ruby_libdir}/drb
1043 %{ruby_libdir}/fiddle
1044 %{ruby_libdir}/io
1045 %{ruby_libdir}/matrix
1046 %{ruby_libdir}/net
1047 %{ruby_libdir}/openssl
1048 %{ruby_libdir}/optparse
1049 %{ruby_libdir}/racc
1050 %{ruby_libdir}/rbconfig
1051 %{ruby_libdir}/rexml
1052 %{ruby_libdir}/rinda
1053 %{ruby_libdir}/ripper
1054 %{ruby_libdir}/rss
1055 %{ruby_libdir}/shell
1056 %{ruby_libdir}/syslog
1057 %{ruby_libdir}/test
1058 %{ruby_libdir}/uri
1059 %{ruby_libdir}/webrick
1060 %{ruby_libdir}/xmlrpc
1061 %{ruby_libdir}/yaml
1062
1063 %{ruby_libdir}/English.rb
1064 %{ruby_libdir}/abbrev.rb
1065 %{ruby_libdir}/base64.rb
1066 %{ruby_libdir}/benchmark.rb
1067 %{ruby_libdir}/cgi.rb
1068 %{ruby_libdir}/cmath.rb
1069 %{ruby_libdir}/csv.rb
1070 %{ruby_libdir}/date.rb
1071 %{ruby_libdir}/debug.rb
1072 %{ruby_libdir}/delegate.rb
1073 %{ruby_libdir}/digest.rb
1074 %{ruby_libdir}/drb.rb
1075 %{ruby_libdir}/e2mmap.rb
1076 %{ruby_libdir}/erb.rb
1077 %{ruby_libdir}/expect.rb
1078 %{ruby_libdir}/fiddle.rb
1079 %{ruby_libdir}/fileutils.rb
1080 %{ruby_libdir}/find.rb
1081 %{ruby_libdir}/forwardable.rb
1082 %{ruby_libdir}/getoptlong.rb
1083 %{ruby_libdir}/ipaddr.rb
1084 %{ruby_libdir}/json.rb
1085 %{ruby_libdir}/kconv.rb
1086 %{ruby_libdir}/logger.rb
1087 %{ruby_libdir}/mathn.rb
1088 %{ruby_libdir}/matrix.rb
1089 %{ruby_libdir}/monitor.rb
1090 %{ruby_libdir}/mutex_m.rb
1091 %{ruby_libdir}/observer.rb
1092 %{ruby_libdir}/open-uri.rb
1093 %{ruby_libdir}/open3.rb
1094 %{ruby_libdir}/openssl.rb
1095 %{ruby_libdir}/optionparser.rb
1096 %{ruby_libdir}/optparse.rb
1097 %{ruby_libdir}/ostruct.rb
1098 %{ruby_libdir}/pathname.rb
1099 %{ruby_libdir}/pp.rb
1100 %{ruby_libdir}/prettyprint.rb
1101 %{ruby_libdir}/prime.rb
1102 %{ruby_libdir}/profile.rb
1103 %{ruby_libdir}/profiler.rb
1104 %{ruby_libdir}/pstore.rb
1105 %{ruby_libdir}/rdoc.rb
1106 %{ruby_libdir}/resolv-replace.rb
1107 %{ruby_libdir}/resolv.rb
1108 %{ruby_libdir}/ripper.rb
1109 %{ruby_libdir}/rss.rb
1110 %{ruby_libdir}/scanf.rb
1111 %{ruby_libdir}/securerandom.rb
1112 %{ruby_libdir}/set.rb
1113 %{ruby_libdir}/shell.rb
1114 %{ruby_libdir}/shellwords.rb
1115 %{ruby_libdir}/singleton.rb
1116 %{ruby_libdir}/socket.rb
1117 %{ruby_libdir}/sync.rb
1118 %{ruby_libdir}/tempfile.rb
1119 %{ruby_libdir}/thwait.rb
1120 %{ruby_libdir}/time.rb
1121 %{ruby_libdir}/timeout.rb
1122 %{ruby_libdir}/tmpdir.rb
1123 %{ruby_libdir}/tracer.rb
1124 %{ruby_libdir}/tsort.rb
1125 %{ruby_libdir}/un.rb
1126 %{ruby_libdir}/unicode_normalize
1127 %{ruby_libdir}/unicode_normalize.rb
1128 %{ruby_libdir}/uri.rb
1129 %{ruby_libdir}/weakref.rb
1130 %{ruby_libdir}/webrick.rb
1131 %{ruby_libdir}/xmlrpc.rb
1132 %{ruby_libdir}/yaml.rb
1133
1134 %if %{with batteries}
1135 %exclude %{ruby_libdir}/rubygems.rb
1136 %exclude %{ruby_libdir}/ubygems.rb
1137 %exclude %{ruby_libdir}/rbconfig/datadir.rb
1138 %endif
1139 %exclude %{ruby_libdir}/irb.rb
1140 %exclude %{ruby_libdir}/mkmf.rb
1141
1142 %{ruby_archdir}/rbconfig.rb
1143 %attr(755,root,root) %{ruby_archdir}/bigdecimal.so
1144 %attr(755,root,root) %{ruby_archdir}/continuation.so
1145 %attr(755,root,root) %{ruby_archdir}/coverage.so
1146 %attr(755,root,root) %{ruby_archdir}/date_core.so
1147 %attr(755,root,root) %{ruby_archdir}/dbm.so
1148 %attr(755,root,root) %{ruby_archdir}/digest.so
1149 %attr(755,root,root) %{ruby_archdir}/etc.so
1150 %attr(755,root,root) %{ruby_archdir}/fcntl.so
1151 %attr(755,root,root) %{ruby_archdir}/fiber.so
1152 %attr(755,root,root) %{ruby_archdir}/fiddle.so
1153 %attr(755,root,root) %{ruby_archdir}/gdbm.so
1154 %attr(755,root,root) %{ruby_archdir}/nkf.so
1155 %attr(755,root,root) %{ruby_archdir}/objspace.so
1156 %attr(755,root,root) %{ruby_archdir}/openssl.so
1157 %attr(755,root,root) %{ruby_archdir}/pathname.so
1158 %attr(755,root,root) %{ruby_archdir}/pty.so
1159 %attr(755,root,root) %{ruby_archdir}/readline.so
1160 %attr(755,root,root) %{ruby_archdir}/ripper.so
1161 %attr(755,root,root) %{ruby_archdir}/thread.so
1162 %attr(755,root,root) %{ruby_archdir}/sdbm.so
1163 %attr(755,root,root) %{ruby_archdir}/socket.so
1164 %attr(755,root,root) %{ruby_archdir}/stringio.so
1165 %attr(755,root,root) %{ruby_archdir}/strscan.so
1166 %attr(755,root,root) %{ruby_archdir}/syslog.so
1167 %attr(755,root,root) %{ruby_archdir}/zlib.so
1168
1169 %dir %{ruby_archdir}/cgi
1170 %attr(755,root,root) %{ruby_archdir}/cgi/escape.so
1171 %dir %{ruby_archdir}/digest
1172 %attr(755,root,root) %{ruby_archdir}/digest/*.so
1173 %dir %{ruby_archdir}/enc
1174 %attr(755,root,root) %{ruby_archdir}/enc/*.so
1175 %dir %{ruby_archdir}/enc/trans
1176 %attr(755,root,root) %{ruby_archdir}/enc/trans/*.so
1177 %dir %{ruby_archdir}/io
1178 %attr(755,root,root) %{ruby_archdir}/io/*.so
1179 %dir %{ruby_archdir}/mathn
1180 %attr(755,root,root) %{ruby_archdir}/mathn/*.so
1181 %dir %{ruby_archdir}/racc
1182 %attr(755,root,root) %{ruby_archdir}/racc/*.so
1183 %dir %{ruby_archdir}/rbconfig
1184 %attr(755,root,root) %{ruby_archdir}/rbconfig/sizeof.so
1185
1186 %dir %{_libdir}/gems
1187 %dir %{_libdir}/gems/%{oname}
1188
1189 %dir %{gem_dir}
1190 %dir %{gem_dir}/gems
1191 %dir %{gem_dir}/specifications
1192 %dir %{gem_dir}/specifications/default
1193 %{_mandir}/man1/erb%{ruby_suffix}.1*
1194 %{_mandir}/man1/ri%{ruby_suffix}.1*
1195
1196 %if %{with doc}
1197 %files doc
1198 %defattr(644,root,root,755)
1199 %doc ruby_%{doc_version}_stdlib
1200 %doc ruby_%{doc_version}_core
1201
1202 %files doc-ri
1203 %defattr(644,root,root,755)
1204 %{ruby_ridir}/*
1205 %endif
1206
1207 %files examples
1208 %defattr(644,root,root,755)
1209 %{_examplesdir}/%{oname}-%{pkg_version}
This page took 0.1486 seconds and 4 git commands to generate.