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