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