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