]> git.pld-linux.org Git - packages/ruby.git/blob - ruby.spec
up to 2.3.7
[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             1
15 %define         ruby_version    2.3
16 %define         patchlevel      7
17 %define         pkg_version     %{ruby_version}.%{patchlevel}
18 %define         ruby_suffix %{!?with_default_ruby:%{ruby_version}}
19 %define         doc_version     2_3_4
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:  4ba012bf1bf4aae94c5123acea298640
39 Source2:        http://www.ruby-doc.org/downloads/%{oname}_%{doc_version}_stdlib_rdocs.tgz
40 # Source2-md5:  5e932766433f430bdcfa112cc96a2e66
41 Source3:        http://www.ruby-doc.org/downloads/%{oname}_%{doc_version}_core_rdocs.tgz
42 # Source3-md5:  6fc93c55d91f9135d2b6bf6a0f7febd6
43 Source100:      ftp://ftp.ruby-lang.org/pub/ruby/1.8/%{oname}-1.8.7-p330.tar.gz
44 # Source100-md5:        50a49edb787211598d08e756e733e42e
45 Source4:        rdoc.1
46 Source5:        testrb.1
47 Source6:        operating_system.rb
48 Patch0:         %{oname}-lib64.patch
49 #Patch1:                %{oname}-ffs.patch
50 Patch2:         fix-bison-invocation.patch
51 Patch3:         mkmf-verbose.patch
52 Patch4:         strip-ccache.patch
53 Patch5:         ruby-version.patch
54 Patch6:         duplicated-paths.patch
55 # obsolete?
56 Patch8:         rubygems-2.0.0-binary-extensions.patch
57 Patch9:         custom-rubygems-location.patch
58 Patch12:        archlibdir.patch
59 URL:            http://www.ruby-lang.org/
60 BuildRequires:  autoconf >= 2.67
61 BuildRequires:  automake
62 BuildRequires:  bison >= 1.875
63 BuildRequires:  db-devel
64 BuildRequires:  gdbm-devel >= 1.8.3
65 BuildRequires:  gmp-devel
66 BuildRequires:  libffi-devel
67 BuildRequires:  ncurses-devel
68 BuildRequires:  openssl-devel >= 0.9.6
69 BuildRequires:  pkgconfig
70 BuildRequires:  readline-devel >= 4.2
71 BuildRequires:  rpm-build >= 5.4.10-49
72 BuildRequires:  sed >= 4.0
73 BuildRequires:  systemtap-sdt-devel
74 BuildRequires:  tar >= 1:1.22
75 BuildRequires:  xz
76 BuildRequires:  yaml-devel
77 BuildRequires:  zlib-devel
78 %if %{without bootstrap}
79 # bootstrap needs ruby binary, erb module
80 BuildRequires:  rpm-rubyprov
81 BuildRequires:  ruby
82 BuildRequires:  ruby-modules
83 %endif
84 %if %{with tk}
85 BuildRequires:  tk-devel < 8.7
86 BuildRequires:  tk-devel >= 8.4
87 %endif
88 Requires(post,postun):  /sbin/ldconfig
89 Obsoletes:      ruby-REXML <= 2.4.0-2
90 Obsoletes:      ruby-doc < 1.8.4
91 Obsoletes:      ruby-fastthread <= 0.6.3
92 Conflicts:      rpm-build-macros < 1.695
93 Conflicts:      ruby-activesupport < 2.3.11-2
94 Conflicts:      ruby-activesupport2 < 2.3.11-2
95 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
96
97 %define bigdecimal_ver          1.2.8
98 %define io_console_ver          0.4.5
99 %define irb_ver                 0.9.6
100 %define json_ver                1.8.3.1
101 %define minitest_ver            5.8.5
102 %define psych_ver               2.1.0.1
103 %define rake_ver                10.4.2
104 %define rdoc_ver                4.2.1
105 %define rubygems_ver            2.5.2.1
106 %define test_unit_ver           3.1.5
107 %define power_assert_ver        0.2.6
108 %define did_you_mean_ver        1.0.0
109 %define net_telnet_ver          0.1.1
110
111 %define ruby_ridir              %{_datadir}/ri/system
112 %define gem_dir                 %{_datadir}/gems
113 %define gem_libdir              %{_libdir}/gems/%{oname}
114
115 # location where rubygems is installed
116 %define rubygems_dir            %{ruby_libdir}
117
118 %define ruby_archdir            %{_libdir}/%{oname}/%{ruby_version}
119 %define ruby_libarchdir         %{_libdir}/%{oname}/%{ruby_version}
120 %define ruby_libdir             %{_datadir}/%{oname}/%{ruby_version}
121
122 # This is the local lib/arch and should not be used for packaging.
123 %define sitedir                 site_ruby
124 %define ruby_sitearchdir        %{_prefix}/local/%{_lib}/%{oname}/%{sitedir}/%{ruby_version}
125 %define ruby_sitelibdir         %{_prefix}/local/share/%{oname}/%{sitedir}
126
127 # This is the general location for libs/archs compatible with all
128 # or most of the Ruby versions available in the PLD repositories.
129 %define vendordir               vendor_ruby
130 %define ruby_vendorarchdir      %{_libdir}/%{oname}/%{vendordir}/%{ruby_version}
131 %define ruby_vendorlibdir       %{_datadir}/%{oname}/%{vendordir}
132
133 # bleh, some nasty (gcc or ruby) bug still not fixed
134 # (SEGV or "unexpected break" on miniruby run during build)
135 %define specflags_ia64  -O0
136
137 # ruby needs frame pointers for correct exception handling
138 %define specflags_ia32  -fno-omit-frame-pointer
139
140 %description
141 Ruby is the interpreted scripting language for quick and easy
142 object-oriented programming. It has many features to process text
143 files and to do system management tasks (as in Perl). It is simple,
144 straight-forward, extensible, and portable.
145
146 This package contains only shared library and ruby interpreter. To get
147 full-functional ruby environment install ruby-modules package.
148
149 %description -l ja.UTF-8
150 Rubyはシンプルかつ強力なオブジェクト指向スクリプト言語です.Rubyは最初
151 から純粋なオブジェクト指向言語として設計されていますから,オブジェクト
152 指向プログラミングを手軽に行う事が出来ます.もちろん通常の手続き型のプ ログラミングも可能です.
153
154 %description -l pl.UTF-8
155 Ruby to interpretowany język skryptowy, w sam raz dla łatwego i
156 szybkiego pisania zorientowanych obiektowo programów. Ma wiele funkcji
157 ułatwiających przetwarzanie plików tekstowych i wykonywanie prac
158 związanych z zarządzaniem systemu (podobnie jak Perl). Jest prosty,
159 rozszerzalny i przenośny.
160
161 Ten pakiet zawiera tylko bibliotekę dzieloną i interpreter ruby.
162 Zainstaluj pakiet ruby-modules, jeżeli potrzebujesz w pełni
163 funkcjonalnego środowiska ruby.
164
165 %description -l pt_BR.UTF-8
166 Ruby é uma linguagem de script interpretada de programação orientada a
167 objeto. Possui diversas características para processamento de texto. É
168 simples, extensível e direta.
169
170 %package modules
171 Summary:        Ruby standard modules and utilities
172 Summary(pl.UTF-8):      Standardowe moduły i narzędzia dla języka Ruby
173 Group:          Development/Languages
174 Requires:       %{name} = %{epoch}:%{version}-%{release}
175 Suggests:       ruby-rubygems
176 # ruby-modules deprecated, rpm5 generates ruby(abi) itself
177 Provides:       ruby-modules(ver) = %{ruby_version}
178 # FIXME later
179 Provides:       ruby(abi) = %{ruby_version}
180 %requires_ge_to openssl openssl-devel
181
182 %description modules
183 Ruby standard modules and utilities:
184 - erb - Tiny eRuby
185 - testrb - automatic runner for Test::Unit of Ruby
186
187 %description modules -l pl.UTF-8
188 Standardowe moduły i narzędzia Ruby:
189 - erb - mały eRuby
190 - testrb - automatyczny runner dla Ruby Test::Unit
191
192 %package tk
193 Summary:        Ruby/Tk bindings
194 Summary(pl.UTF-8):      Wiązania Ruby/Tk
195 Group:          Development/Languages
196 Requires:       %{name}-modules = %{epoch}:%{version}-%{release}
197
198 %description tk
199 This package contains Ruby/Tk bindings.
200
201 %description tk -l pl.UTF-8
202 Ten pakiet zawiera wiązania Ruby/Tk.
203
204 %package devel
205 Summary:        Ruby development libraries
206 Summary(pl.UTF-8):      Biblioteki programistyczne interpretera języka Ruby
207 Group:          Development/Languages
208 Requires:       %{name}-modules = %{epoch}:%{version}-%{release}
209 Requires:       gcc
210 Requires:       glibc-devel
211 Requires:       gmp-devel
212 Requires:       pkgconfig
213
214 %description devel
215 Ruby development libraries.
216
217 %description devel -l pl.UTF-8
218 Biblioteki programistyczne interpretera języka Ruby.
219
220 %package static
221 Summary:        Ruby static libraries
222 Summary(pl.UTF-8):      Biblioteki statyczne Ruby
223 Group:          Development/Languages
224 Requires:       %{name}-devel = %{epoch}:%{version}-%{release}
225
226 %description static
227 Ruby static libraries.
228
229 %description static -l pl.UTF-8
230 Biblioteki statyczne Ruby.
231
232 %package doc
233 Summary:        Ruby HTML documentation
234 Summary(pl.UTF-8):      Dokumentacja HTML do Ruby
235 Group:          Documentation
236 %if "%{_rpmversion}" >= "5"
237 BuildArch:      noarch
238 %endif
239
240 %description doc
241 Ruby HTML documentation: FAQ, guide, core and standard library.
242
243 %description doc -l pl.UTF-8
244 Dokumentacja HTML do Ruby: FAQ, przewodnik, dokumentacja dla core i
245 stdlib.
246
247 %package doc-ri
248 Summary:        Ruby ri documentation
249 Summary(pl.UTF-8):      Dokumentacja Ruby w formacie ri
250 Group:          Documentation
251 Requires:       %{name}-modules = %{epoch}:%{version}-%{release}
252 %if "%{_rpmversion}" >= "5"
253 BuildArch:      noarch
254 %endif
255
256 %description doc-ri
257 Ruby ri documentation.
258
259 %description doc-ri -l pl.UTF-8
260 Dokumentacja Ruby w formacie ri.
261
262 %package examples
263 Summary:        Ruby examples
264 Summary(pl.UTF-8):      Przykłady dla języka Ruby
265 Group:          Development/Languages
266 %if "%{_rpmversion}" >= "5"
267 BuildArch:      noarch
268 %endif
269
270 %description examples
271 Ruby examples.
272
273 %description examples -l pl.UTF-8
274 Przykłady programów w języku Ruby.
275
276 # IMPORTANT: keep irb, rdoc, rubygems, rake, json as last packages as we reset epoch/version/release
277 # and %{version},%{release} macros may not be used directly as they take last
278 # subpackage value not main package one what you intend to use
279
280 %package irb
281 Summary:        The Interactive Ruby
282 Version:        %{irb_ver}
283 Release:        %{pkg_version}.%{rel}
284 Epoch:          0
285 Group:          Development/Languages
286 Requires:       %{name}-modules = 1:%{pkg_version}-%{rel}
287 Provides:       irb = %{version}-%{release}
288 Provides:       ruby(irb) = %{version}-%{release}
289 %if "%{_rpmversion}" >= "5"
290 BuildArch:      noarch
291 %endif
292
293 %description irb
294 The irb is acronym for Interactive Ruby. It evaluates ruby expression
295 from the terminal.
296
297 %package rdoc
298 Summary:        A tool to generate HTML and command-line documentation for Ruby projects
299 Summary(pl.UTF-8):      Narzędzie do generowania dokumentacji HTML i linii poleceń dla projektów w Rubym
300 Version:        %{rdoc_ver}
301 Release:        %{pkg_version}.%{rel}
302 Epoch:          0
303 # SIL: lib/rdoc/generator/template/darkfish/css/fonts.css
304 License:        GPLv2 and Ruby and MIT and SIL
305 Group:          Development/Libraries
306 Requires:       %{name}-irb >= %{irb_ver}
307 Requires:       %{name}-json >= %{json_ver}
308 Requires:       %{name}-modules = 1:%{pkg_version}-%{rel}
309 Obsoletes:      rdoc <= 0.9.0
310 %if "%{_rpmversion}" >= "5"
311 BuildArch:      noarch
312 %endif
313
314 %description rdoc
315 RDoc produces HTML and command-line documentation for Ruby projects.
316 RDoc includes the 'rdoc' and 'ri' tools for generating and displaying
317 online documentation.
318
319 %description rdoc -l pl.UTF-8
320 RDoc tworzy dokumentację HTML i linii poleceń dla projektów w języku
321 Ruby. RDoc zawiera narzędzia 'rdoc' i 'ri' do generowania i
322 wyświetlania dokumentacji online.
323
324 %package rubygems
325 Summary:        RubyGems - the Ruby standard for packaging Ruby libraries
326 Summary(pl.UTF-8):      RubyGems - standard Ruby'ego pakietowania bibliotek
327 Version:        %{rubygems_ver}
328 Release:        %{pkg_version}.%{rel}
329 Epoch:          0
330 License:        Ruby or MIT
331 Group:          Development/Libraries
332 Requires:       %{name}-bigdecimal = %{bigdecimal_ver}-%{pkg_version}.%{rel}
333 Requires:       %{name}-io-console = %{io_console_ver}-%{pkg_version}.%{rel}
334 Requires:       %{name}-modules = 1:%{pkg_version}-%{rel}
335 Requires:       %{name}-psych = %{psych_ver}-%{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
518 %description bigdecimal
519 Ruby provides built-in support for arbitrary precision integer
520 arithmetic. For example:
521
522 42**13 -> 1265437718438866624512
523
524 BigDecimal provides similar support for very large or very accurate
525 floating point numbers. Decimal arithmetic is also useful for general
526 calculation, because it provides the correct answers people
527 expect–whereas normal binary floating point arithmetic often
528 introduces subtle errors because of the conversion between base 10 and
529 base 2.
530
531 %package io-console
532 Summary:        IO/Console is a simple console utilizing library
533 Version:        %{io_console_ver}
534 Release:        %{pkg_version}.%{rel}
535 Epoch:          0
536 Group:          Development/Libraries
537
538 %description io-console
539 IO/Console provides very simple and portable access to console. It
540 doesn't provide higher layer features, such like curses and readline.
541
542 %package psych
543 Summary:        A libyaml wrapper for Ruby
544 Version:        %{psych_ver}
545 Release:        %{pkg_version}.%{rel}
546 Epoch:          0
547 License:        MIT
548 Group:          Development/Libraries
549
550 %description psych
551 Psych is a YAML parser and emitter. Psych leverages libyaml for its
552 YAML parsing and emitting capabilities. In addition to wrapping
553 libyaml, Psych also knows how to serialize and de-serialize most Ruby
554 objects to and from the YAML format.
555
556 %prep
557 %setup -q -n %{oname}-%{pkg_version} -a2 -a3 %{?with_bootstrap:-a100}
558 %patch0 -p1
559 #%patch1 -p1
560 %patch2 -p1
561 %patch3 -p1
562 %patch4 -p1
563 %patch5 -p1
564 %patch6 -p1
565 #%patch8 -p1
566 %patch9 -p1
567 %patch12 -p1
568
569 # must be regenerated with new bison
570 %{__rm} parse.{c,h}
571
572 # Remove bundled libraries to be sure they are not used.
573 %{__rm} -r ext/psych/yaml
574 %{__rm} -r ext/fiddle/libffi*
575
576 # Install custom operating_system.rb.
577 install -d lib/rubygems/defaults
578 cp -p %{SOURCE6} lib/rubygems/defaults
579
580 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
581
582 find -type f '(' -name '*.rb' -o -name '*.cgi' -o -name '*.test' \
583         -o -name 'ruby.1' -o -name '*.html' -o -name '*.tcl' ')' \
584         | xargs %{__sed} -i 's,/usr/local/bin/,%{_bindir}/,'
585
586 # no configure option to disable, so just rm
587 %{!?with_tk:rm -rf ext/tk}
588
589 %build
590 rubygems_ver=$(awk '/VERSION =/ && $1 == "VERSION" {print $3}' lib/rubygems.rb | xargs)
591 if [ $rubygems_ver != %{rubygems_ver} ]; then
592         echo "Set %%define rubygems_ver to $rubygems_ver and re-run."
593         exit 1
594 fi
595 rdoc_ver=$(awk '/VERSION =/ && $1 == "VERSION" {print $3}' lib/rdoc.rb | xargs)
596 if [ $rdoc_ver != %{rdoc_ver} ]; then
597         echo "Set %%define rdoc_ver to $rdoc_ver and re-run."
598         exit 1
599 fi
600
601 cp -f /usr/share/automake/config.sub .
602
603 # build ruby-1.8.7 first
604 %if %{with bootstrap}
605 cd %{oname}-1.8.7-p330
606 %configure
607 %{__make}
608 cd ..
609 %endif
610
611 %{__autoconf}
612 %configure \
613         %{?with_bootstrap:--with-baseruby=%{oname}-1.8.7-p330/miniruby} \
614         --program-suffix=%{ruby_suffix} \
615         --with-archlibdir=%{_libdir} \
616         --with-rubygemsdir=%{rubygems_dir} \
617         --with-rubylibprefix=%{ruby_libdir} \
618         --with-rubyarchprefix=%{ruby_archdir} \
619         --with-sitedir=%{ruby_sitelibdir} \
620         --with-sitearchdir=%{ruby_sitearchdir} \
621         --with-vendordir=%{ruby_vendorlibdir} \
622         --with-vendorarchdir=%{ruby_vendorarchdir} \
623         --with-rubyhdrdir=%{_includedir}/%{oname}-%{ruby_version} \
624         --with-rubyarchhdrdir=%{_includedir}/%{oname}-%{ruby_version} \
625         --with-sitearchhdrdir='$(sitehdrdir)/$(arch)' \
626         --with-vendorarchhdrdir='$(vendorhdrdir)/$(arch)' \
627         --enable-multiarch \
628         --enable-shared \
629         --disable-install-doc \
630         --disable-rpath \
631         --disable-rubygems \
632         --with-ruby-version='' \
633
634 %{__make} -j1 main \
635         COPY="cp -p" Q= \
636         %{?with_bootstrap:BASERUBY="%{oname}-1.8.7-p330/miniruby -I./ruby-1.8.7-p330/lib"}
637
638 %if %{with doc}
639 %{__make} -j1 rdoc
640 %endif
641
642 %if %{with tests}
643 # unset these, as testsuite does "git commit" somewhere, which points to pld .spec repo. doh
644 unset GIT_DIR GIT_WORK_TREE
645
646 unset GIT
647 DISABLE_TESTS=""
648
649 %ifarch armv7l armv7hl armv7hnl
650 # test_call_double(DL::TestDL) fails on ARM HardFP
651 # http://bugs.ruby-lang.org/issues/6592
652 DISABLE_TESTS="-x test_dl2.rb $DISABLE_TESTS"
653 %endif
654
655 # test_debug(TestRubyOptions) fails due to LoadError reported in debug mode,
656 # when abrt.rb cannot be required (seems to be easier way then customizing
657 # the test suite).
658 touch abrt.rb
659
660 # TestSignal#test_hup_me hangs up the test suite.
661 # http://bugs.ruby-lang.org/issues/8997
662 sed -i '/def test_hup_me/,/end if Process.respond_to/ s/^/#/' test/ruby/test_signal.rb
663
664 # Fix "Could not find 'minitest'" error.
665 # http://bugs.ruby-lang.org/issues/9259
666 sed -i "/^  gem 'minitest', '~> 4.0'/ s/^/#/" lib/rubygems/test_case.rb
667
668 # Segmentation fault.
669 # https://bugs.ruby-lang.org/issues/9198
670 sed -i '/^  def test_machine_stackoverflow/,/^  end/ s/^/#/' test/ruby/test_exception.rb
671
672 # Don't test wrap ciphers to prevent "OpenSSL::Cipher::CipherError: wrap mode
673 # not allowed" error.
674 # https://bugs.ruby-lang.org/issues/10229
675 sed -i '/assert(OpenSSL::Cipher::Cipher.new(name).is_a?(OpenSSL::Cipher::Cipher))/i \
676         next if /wrap/ =~ name' test/openssl/test_cipher.rb
677
678 # Test is broken due to SSLv3 disabled in Fedora.
679 # https://bugs.ruby-lang.org/issues/10046
680 sed -i '/def test_ctx_server_session_cb$/,/^  end$/ s/^/#/' test/openssl/test_ssl_session.rb
681
682 %{__make} check TESTS="-v $DISABLE_TESTS"
683 %endif
684
685 %install
686 rm -rf $RPM_BUILD_ROOT
687 install -d $RPM_BUILD_ROOT{%{ruby_rdocdir},%{ruby_ridir}} \
688         $RPM_BUILD_ROOT%{ruby_vendorarchdir} \
689         $RPM_BUILD_ROOT%{ruby_vendorlibdir}/net \
690         $RPM_BUILD_ROOT%{ruby_vendorlibdir}/data \
691
692 %{__make} install %{?with_doc:install-doc -j1} \
693         DESTDIR=$RPM_BUILD_ROOT
694
695 # Version is empty if --with-ruby-version is specified.
696 # http://bugs.ruby-lang.org/issues/7807
697 sed -i -e 's/Version: \${ruby_version}/Version: %{ruby_version}/' $RPM_BUILD_ROOT%{_pkgconfigdir}/%{oname}-%{ruby_version}.pc
698
699 # Kill bundled certificates, as they should be part of ca-certificates.
700 for cert in \
701         Class3PublicPrimaryCertificationAuthority.pem \
702         DigiCertHighAssuranceEVRootCA.pem \
703         EntrustnetSecureServerCertificationAuthority.pem \
704         GeoTrustGlobalCA.pem \
705         AddTrustExternalCARoot.pem \
706         AddTrustExternalCARoot-2048.pem \
707 ; do
708         %{__rm} $RPM_BUILD_ROOT%{rubygems_dir}/rubygems/ssl_certs/$cert
709 done
710
711 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}
712 cp -Rf sample/* $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}
713 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_mandir}/man1/rdoc%{ruby_suffix}.1
714 cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_mandir}/man1/testrb%{ruby_suffix}.1
715
716 %{__rm} -rf $RPM_BUILD_ROOT%{_docdir}/%{name}/html
717
718 # detect this runtime, "make install" is affected by operating_system.rb what is installed in system!
719 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')
720
721 # Move gems root into common directory, out of Ruby directory structure.
722 install -d $RPM_BUILD_ROOT%{gem_dir}
723 %{__mv} $RPM_BUILD_ROOT${gem_dir}/{gems,specifications} $RPM_BUILD_ROOT%{gem_dir}
724
725 # Move bundled rubygems to %gem_dir
726 # make symlinks for io-console and bigdecimal, which are considered to be part of stdlib by other Gems
727 # make symlinks for all packages, so they would work without rubygems
728 # NOTE: when making symlinks, do not symlink paths that could be directories,
729 # as there may came files from other packages as well. actually, unlikely as
730 # the links to got system dir and only ruby may package there (other distro
731 # packages should go to vendor dirs)
732 %if 0
733 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/lib
734 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/rake* $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/lib
735 ln -s %{gem_dir}/gems/rake-%{rake_ver}/lib/rake $RPM_BUILD_ROOT%{ruby_libdir}
736 ln -s %{gem_dir}/gems/rake-%{rake_ver}/lib/rake.rb $RPM_BUILD_ROOT%{ruby_libdir}
737 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/rake-%{rake_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
738 %endif
739
740 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/lib
741 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/rdoc* $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/lib
742 ln -s %{gem_dir}/gems/rdoc-%{rdoc_ver}/lib/rdoc $RPM_BUILD_ROOT%{ruby_libdir}
743 ln -s %{gem_dir}/gems/rdoc-%{rdoc_ver}/lib/rdoc.rb $RPM_BUILD_ROOT%{ruby_libdir}
744 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/rdoc-%{rdoc_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
745
746 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}/lib
747 install -d $RPM_BUILD_ROOT%{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib
748 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/bigdecimal $RPM_BUILD_ROOT%{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}/lib
749 %{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/bigdecimal.so $RPM_BUILD_ROOT%{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib
750 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/bigdecimal-%{bigdecimal_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
751 ln -s %{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal $RPM_BUILD_ROOT%{ruby_libdir}/bigdecimal
752 ln -s %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal.so $RPM_BUILD_ROOT%{ruby_libarchdir}/bigdecimal.so
753
754 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/io-console-%{io_console_ver}/lib
755 install -d $RPM_BUILD_ROOT%{gem_libdir}/io-console-%{io_console_ver}/lib/io
756 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/io $RPM_BUILD_ROOT%{gem_dir}/gems/io-console-%{io_console_ver}/lib
757 %{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/io/console.so $RPM_BUILD_ROOT%{gem_libdir}/io-console-%{io_console_ver}/lib/io
758 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/io-console-%{io_console_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
759 ln -s %{gem_dir}/gems/io-console-%{io_console_ver}/lib/io $RPM_BUILD_ROOT%{ruby_libdir}/io
760 ln -s %{gem_libdir}/io-console-%{io_console_ver}/lib/io/console.so $RPM_BUILD_ROOT%{ruby_libarchdir}/io/console.so
761
762 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/json-%{json_ver}/lib
763 install -d $RPM_BUILD_ROOT%{gem_libdir}/json-%{json_ver}/lib
764 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/json* $RPM_BUILD_ROOT%{gem_dir}/gems/json-%{json_ver}/lib
765 %{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/json $RPM_BUILD_ROOT%{gem_libdir}/json-%{json_ver}/lib
766 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/json-%{json_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
767 ln -s %{gem_dir}/gems/json-%{json_ver}/lib/json $RPM_BUILD_ROOT%{ruby_libdir}/json
768 ln -s %{gem_dir}/gems/json-%{json_ver}/lib/json.rb $RPM_BUILD_ROOT%{ruby_libdir}/json.rb
769 install -d $RPM_BUILD_ROOT%{ruby_libarchdir}/json/ext
770 ln -s %{gem_libdir}/json-%{json_ver}/lib/json/ext/parser.so $RPM_BUILD_ROOT%{ruby_libarchdir}/json/ext
771 ln -s %{gem_libdir}/json-%{json_ver}/lib/json/ext/generator.so $RPM_BUILD_ROOT%{ruby_libarchdir}/json/ext
772
773 ln -s %{gem_dir}/gems/minitest-%{minitest_ver}/lib/minitest $RPM_BUILD_ROOT%{ruby_libdir}
774
775 install -d $RPM_BUILD_ROOT%{ruby_libdir}/test
776 ln -s %{gem_dir}/gems/test-unit-%{test_unit_ver}/lib/unit $RPM_BUILD_ROOT%{ruby_libdir}/test
777
778 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/psych-%{psych_ver}/lib
779 install -d $RPM_BUILD_ROOT%{gem_libdir}/psych-%{psych_ver}/lib
780 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/psych* $RPM_BUILD_ROOT%{gem_dir}/gems/psych-%{psych_ver}/lib
781 %{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/psych.so $RPM_BUILD_ROOT%{gem_libdir}/psych-%{psych_ver}/lib/
782 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/psych-%{psych_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
783 ln -s %{gem_dir}/gems/psych-%{psych_ver}/lib/psych $RPM_BUILD_ROOT%{ruby_libdir}/psych
784 ln -s %{gem_dir}/gems/psych-%{psych_ver}/lib/psych.rb $RPM_BUILD_ROOT%{ruby_libdir}/psych.rb
785 ln -s %{gem_libdir}/psych-%{psych_ver}/lib/psych.so $RPM_BUILD_ROOT%{ruby_archdir}/psych.so
786
787 # Adjust the gemspec files so that the gems will load properly
788 sed -i '/^end$/ i\
789   s.require_paths = ["lib"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/rake-%{rake_ver}.gemspec
790
791 sed -i '/^end$/ i\
792   s.require_paths = ["lib"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/rdoc-%{rdoc_ver}.gemspec
793
794 sed -i '/^end$/ i\
795   s.require_paths = ["lib"]\
796   s.extensions = ["bigdecimal.so"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/bigdecimal-%{bigdecimal_ver}.gemspec
797
798 sed -i '/^end$/ i\
799   s.require_paths = ["lib"]\
800   s.extensions = ["io/console.so"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/io-console-%{io_console_ver}.gemspec
801
802 sed -i '/^end$/ i\
803   s.require_paths = ["lib"]\
804   s.extensions = ["json/ext/parser.so", "json/ext/generator.so"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/json-%{json_ver}.gemspec
805
806 sed -i '/^end$/ i\
807   s.require_paths = ["lib"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/minitest-%{minitest_ver}.gemspec
808
809 # Push the .gemspecs through the RubyGems to let them write the stub headers.
810 # This speeds up loading of libraries and avoids warnings in Spring:
811 # https://github.com/rubygems/rubygems/pull/694
812 for s in rake-%{rake_ver}.gemspec rdoc-%{rdoc_ver}.gemspec json-%{json_ver}.gemspec; do
813         s="$RPM_BUILD_ROOT%{gem_dir}/specifications/$s"
814         %{__make} runruby TESTRUN_SCRIPT="-rubygems \
815         -e \"spec = Gem::Specification.load('$s')\" \
816         -e \"File.write '$s', spec.to_ruby\""
817 done
818
819 ln -sf %{gem_dir}/gems/rake-%{rake_ver}/bin/rake $RPM_BUILD_ROOT%{_bindir}/rake%{ruby_suffix}
820
821 %{__sed} -i -e '1s,/usr/bin/env ruby,/usr/bin/ruby,' \
822         $RPM_BUILD_ROOT%{ruby_libdir}/abbrev.rb \
823         $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/bin/rake \
824         $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/rdoc \
825         $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/ri \
826         $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/{cal,test,time,uumerge}.rb \
827         $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/{drb,logger,openssl,ripper,rss}/*.rb \
828         $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/webrick/*.cgi
829
830 # gem non library files
831 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/minitest-%{minitest_ver}/test
832 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/test-unit-%{test_unit_ver}/{[A-Z]*,doc,sample,test}
833 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/power_assert-%{power_assert_ver}/{[A-Z]*,test}
834 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/{[A-Z]*,doc,test}
835 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/{[A-Z]*,doc,test}
836 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/net-telnet-%{net_telnet_ver}/{[A-Z]*,bin}
837
838 %if %{without batteries}
839 # packaged separately
840 %{__rm} -r $RPM_BUILD_ROOT%{ruby_libdir}/{rubygems,rake,json,minitest}
841 %{__rm} -r $RPM_BUILD_ROOT%{ruby_archdir}/json
842 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/rake-*
843 %{__rm} $RPM_BUILD_ROOT%{ruby_libdir}/{rake,rubygems,json}.rb
844 %{__rm} $RPM_BUILD_ROOT%{_bindir}/{gem,rake}
845 #%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/rake*
846 %{__rm} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/{json,minitest,rake}-*.gemspec
847 %{?with_doc:%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/ri/%{ruby_version}/system/JSON}
848 %endif
849
850 %if %{with doc}
851 # too much .ri
852 %{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/cache.ri
853 %{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/created.rid
854 %endif
855
856 %clean
857 rm -rf $RPM_BUILD_ROOT
858
859 %post   -p /sbin/ldconfig
860 %postun -p /sbin/ldconfig
861
862 %files
863 %defattr(644,root,root,755)
864 %doc NEWS LEGAL BSDL README.md README.EXT ChangeLog
865 %attr(755,root,root) %{_bindir}/ruby%{ruby_suffix}
866 %attr(755,root,root) %{_libdir}/libruby.so.*.*.*
867 %attr(755,root,root) %ghost %{_libdir}/libruby.so.%{ruby_version}
868 %{_mandir}/man1/ruby%{ruby_suffix}.1*
869
870 %dir %{_libdir}/%{oname}
871 %dir %{_libdir}/%{oname}/%{vendordir}
872 %dir %{_datadir}/%{oname}
873
874 %dir %{ruby_libdir}
875 %dir %{ruby_archdir}
876 %dir %{ruby_vendorlibdir}
877 %dir %{ruby_vendorarchdir}
878
879 %dir %{dirname:%{ruby_ridir}}
880 %dir %{ruby_ridir}
881 %dir %{ruby_rdocdir}
882
883 # common dirs for ruby vendor modules
884 %dir %{ruby_vendorlibdir}/data
885 %dir %{ruby_vendorlibdir}/net
886
887 %files devel
888 %defattr(644,root,root,755)
889 %attr(755,root,root) %{_libdir}/libruby.so
890 %{_includedir}/%{oname}-%{ruby_version}
891 %{_pkgconfigdir}/%{oname}-%{ruby_version}.pc
892 %{ruby_libdir}/mkmf.rb
893
894 %files static
895 %defattr(644,root,root,755)
896 %{_libdir}/libruby-static.a
897
898 %if %{with tk}
899 %files tk
900 %defattr(644,root,root,755)
901 %doc ext/tk/{ChangeLog.tkextlib,MANUAL_tcltklib.eng,README.fork}
902 %lang(ja) %doc ext/tk/MANUAL_tcltklib.ja
903 %{ruby_libdir}/multi-tk.rb
904 %{ruby_libdir}/remote-tk.rb
905 %{ruby_libdir}/tcltk.rb
906 %{ruby_libdir}/tk*.rb
907 %{ruby_libdir}/tk
908 %{ruby_libdir}/tkextlib
909 %attr(755,root,root) %{ruby_archdir}/tcltklib.so
910 %attr(755,root,root) %{ruby_archdir}/tkutil.so
911 %endif
912
913 %files irb
914 %defattr(644,root,root,755)
915 %attr(755,root,root) %{_bindir}/irb%{ruby_suffix}
916 %{ruby_libdir}/irb.rb
917 %{ruby_libdir}/irb
918 %{_mandir}/man1/irb%{ruby_suffix}.1*
919
920 %files rdoc
921 %defattr(644,root,root,755)
922 %attr(755,root,root) %{_bindir}/rdoc%{ruby_suffix}
923 %attr(755,root,root) %{_bindir}/ri%{ruby_suffix}
924 %{_mandir}/man1/rdoc%{ruby_suffix}.1*
925 %{ruby_libdir}/rdoc
926 %dir %{gem_dir}/gems/rdoc-%{rdoc_ver}
927 %{gem_dir}/gems/rdoc-%{rdoc_ver}/lib
928 %dir %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin
929 %attr(755,root,root) %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/rdoc
930 %{gem_dir}/specifications/rdoc-%{rdoc_ver}.gemspec
931 %attr(755,root,root) %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/ri
932
933 %if %{with batteries}
934 %files rubygems
935 %defattr(644,root,root,755)
936 %attr(755,root,root) %{_bindir}/gem%{ruby_suffix}
937 %{rubygems_dir}/rubygems
938 %{rubygems_dir}/rubygems.rb
939 %{rubygems_dir}/ubygems.rb
940 %{rubygems_dir}/rbconfig
941
942 %files rake
943 %defattr(644,root,root,755)
944 %attr(755,root,root) %{_bindir}/rake%{ruby_suffix}
945 %dir %{gem_dir}/gems/rake-%{rake_ver}
946 %{gem_dir}/gems/rake-%{rake_ver}/lib
947 %{gem_dir}/gems/rake-%{rake_ver}/rakelib
948 %dir %{gem_dir}/gems/rake-%{rake_ver}/bin
949 %attr(755,root,root) %{gem_dir}/gems/rake-%{rake_ver}/bin/rake
950 %{gem_dir}/specifications/rake-%{rake_ver}.gemspec
951
952 %files json
953 %defattr(644,root,root,755)
954 %{ruby_libdir}/json
955 %dir %{ruby_archdir}/json
956 %dir %{ruby_archdir}/json/ext
957 %attr(755,root,root) %{ruby_archdir}/json/ext/*.so
958
959 %dir %{gem_libdir}/json-%{json_ver}
960 %dir %{gem_libdir}/json-%{json_ver}/lib
961 %dir %{gem_libdir}/json-%{json_ver}/lib/json
962 %dir %{gem_libdir}/json-%{json_ver}/lib/json/ext
963 %attr(755,root,root) %{gem_libdir}/json-%{json_ver}/lib/json/ext/generator.so
964 %attr(755,root,root) %{gem_libdir}/json-%{json_ver}/lib/json/ext/parser.so
965
966 %{gem_dir}/gems/json-%{json_ver}
967 %{gem_dir}/specifications/json-%{json_ver}.gemspec
968 %endif
969
970 %files power_assert
971 %defattr(644,root,root,755)
972 %dir %{gem_dir}/gems/power_assert-%{power_assert_ver}
973 %{gem_dir}/gems/power_assert-%{power_assert_ver}/lib
974 %{gem_dir}/specifications/power_assert-%{power_assert_ver}.gemspec
975
976 %files minitest
977 %defattr(644,root,root,755)
978 %{ruby_libdir}/minitest
979 %{gem_dir}/gems/minitest-%{minitest_ver}
980 %{gem_dir}/specifications/minitest-%{minitest_ver}.gemspec
981
982 %files test-unit
983 %defattr(644,root,root,755)
984 %dir %{gem_dir}/gems/test-unit-%{test_unit_ver}
985 %{gem_dir}/gems/test-unit-%{test_unit_ver}/lib
986 %{gem_dir}/specifications/test-unit-%{test_unit_ver}.gemspec
987 %{_mandir}/man1/testrb%{ruby_suffix}.1*
988
989 %files did_you_mean
990 %defattr(644,root,root,755)
991 %dir %{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}
992 %{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/benchmark
993 %{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/evaluation
994 %{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/lib
995 %{gem_dir}/specifications/did_you_mean-%{did_you_mean_ver}.gemspec
996
997 %files net-telnet
998 %defattr(644,root,root,755)
999 %dir %{gem_dir}/gems/net-telnet-%{net_telnet_ver}
1000 %{gem_dir}/gems/net-telnet-%{net_telnet_ver}/lib
1001 %{gem_dir}/specifications/net-telnet-%{net_telnet_ver}.gemspec
1002
1003 %files bigdecimal
1004 %defattr(644,root,root,755)
1005 %{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}
1006 %dir %{gem_libdir}/bigdecimal-%{bigdecimal_ver}
1007 %dir %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib
1008 %attr(755,root,root) %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal.so
1009 %{ruby_libdir}/bigdecimal
1010 %{gem_dir}/specifications/bigdecimal-%{bigdecimal_ver}.gemspec
1011
1012 %files io-console
1013 %defattr(644,root,root,755)
1014 %{gem_dir}/gems/io-console-%{io_console_ver}
1015 %dir %{gem_libdir}/io-console-%{io_console_ver}
1016 %dir %{gem_libdir}/io-console-%{io_console_ver}/lib
1017 %dir %{gem_libdir}/io-console-%{io_console_ver}/lib/io
1018 %attr(755,root,root) %{gem_libdir}/io-console-%{io_console_ver}/lib/io/console.so
1019 %{gem_dir}/specifications/io-console-%{io_console_ver}.gemspec
1020
1021 %files psych
1022 %defattr(644,root,root,755)
1023 %{ruby_libdir}/psych.rb
1024 %attr(755,root,root) %{ruby_archdir}/psych.so
1025 %{gem_dir}/gems/psych-%{psych_ver}
1026 %{ruby_libdir}/psych
1027 %dir %{gem_libdir}/psych-%{psych_ver}
1028 %dir %{gem_libdir}/psych-%{psych_ver}/lib
1029 %attr(755,root,root) %{gem_libdir}/psych-%{psych_ver}/lib/psych.so
1030 %{gem_dir}/specifications/psych-%{psych_ver}.gemspec
1031
1032 %files modules
1033 %defattr(644,root,root,755)
1034 %attr(755,root,root) %{_bindir}/erb%{ruby_suffix}
1035 %{ruby_libdir}/cgi
1036 %{ruby_libdir}/digest
1037 %{ruby_libdir}/drb
1038 %{ruby_libdir}/fiddle
1039 %{ruby_libdir}/io
1040 %{ruby_libdir}/matrix
1041 %{ruby_libdir}/net
1042 %{ruby_libdir}/openssl
1043 %{ruby_libdir}/optparse
1044 %{ruby_libdir}/racc
1045 %{ruby_libdir}/rbconfig
1046 %{ruby_libdir}/rexml
1047 %{ruby_libdir}/rinda
1048 %{ruby_libdir}/ripper
1049 %{ruby_libdir}/rss
1050 %{ruby_libdir}/shell
1051 %{ruby_libdir}/syslog
1052 %{ruby_libdir}/test
1053 %{ruby_libdir}/uri
1054 %{ruby_libdir}/webrick
1055 %{ruby_libdir}/xmlrpc
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 %{ruby_libdir}/getoptlong.rb
1078 %{ruby_libdir}/ipaddr.rb
1079 %{ruby_libdir}/json.rb
1080 %{ruby_libdir}/kconv.rb
1081 %{ruby_libdir}/logger.rb
1082 %{ruby_libdir}/mathn.rb
1083 %{ruby_libdir}/matrix.rb
1084 %{ruby_libdir}/monitor.rb
1085 %{ruby_libdir}/mutex_m.rb
1086 %{ruby_libdir}/observer.rb
1087 %{ruby_libdir}/open-uri.rb
1088 %{ruby_libdir}/open3.rb
1089 %{ruby_libdir}/openssl.rb
1090 %{ruby_libdir}/optionparser.rb
1091 %{ruby_libdir}/optparse.rb
1092 %{ruby_libdir}/ostruct.rb
1093 %{ruby_libdir}/pathname.rb
1094 %{ruby_libdir}/pp.rb
1095 %{ruby_libdir}/prettyprint.rb
1096 %{ruby_libdir}/prime.rb
1097 %{ruby_libdir}/profile.rb
1098 %{ruby_libdir}/profiler.rb
1099 %{ruby_libdir}/pstore.rb
1100 %{ruby_libdir}/rdoc.rb
1101 %{ruby_libdir}/resolv-replace.rb
1102 %{ruby_libdir}/resolv.rb
1103 %{ruby_libdir}/ripper.rb
1104 %{ruby_libdir}/rss.rb
1105 %{ruby_libdir}/scanf.rb
1106 %{ruby_libdir}/securerandom.rb
1107 %{ruby_libdir}/set.rb
1108 %{ruby_libdir}/shell.rb
1109 %{ruby_libdir}/shellwords.rb
1110 %{ruby_libdir}/singleton.rb
1111 %{ruby_libdir}/socket.rb
1112 %{ruby_libdir}/sync.rb
1113 %{ruby_libdir}/tempfile.rb
1114 %{ruby_libdir}/thwait.rb
1115 %{ruby_libdir}/time.rb
1116 %{ruby_libdir}/timeout.rb
1117 %{ruby_libdir}/tmpdir.rb
1118 %{ruby_libdir}/tracer.rb
1119 %{ruby_libdir}/tsort.rb
1120 %{ruby_libdir}/un.rb
1121 %{ruby_libdir}/unicode_normalize
1122 %{ruby_libdir}/unicode_normalize.rb
1123 %{ruby_libdir}/uri.rb
1124 %{ruby_libdir}/weakref.rb
1125 %{ruby_libdir}/webrick.rb
1126 %{ruby_libdir}/xmlrpc.rb
1127 %{ruby_libdir}/yaml.rb
1128
1129 %if %{with batteries}
1130 %exclude %{ruby_libdir}/rubygems.rb
1131 %exclude %{ruby_libdir}/ubygems.rb
1132 %exclude %{ruby_libdir}/rbconfig/datadir.rb
1133 %endif
1134 %exclude %{ruby_libdir}/irb.rb
1135 %exclude %{ruby_libdir}/mkmf.rb
1136
1137 %{ruby_archdir}/rbconfig.rb
1138 %attr(755,root,root) %{ruby_archdir}/bigdecimal.so
1139 %attr(755,root,root) %{ruby_archdir}/continuation.so
1140 %attr(755,root,root) %{ruby_archdir}/coverage.so
1141 %attr(755,root,root) %{ruby_archdir}/date_core.so
1142 %attr(755,root,root) %{ruby_archdir}/dbm.so
1143 %attr(755,root,root) %{ruby_archdir}/digest.so
1144 %attr(755,root,root) %{ruby_archdir}/etc.so
1145 %attr(755,root,root) %{ruby_archdir}/fcntl.so
1146 %attr(755,root,root) %{ruby_archdir}/fiber.so
1147 %attr(755,root,root) %{ruby_archdir}/fiddle.so
1148 %attr(755,root,root) %{ruby_archdir}/gdbm.so
1149 %attr(755,root,root) %{ruby_archdir}/nkf.so
1150 %attr(755,root,root) %{ruby_archdir}/objspace.so
1151 %attr(755,root,root) %{ruby_archdir}/openssl.so
1152 %attr(755,root,root) %{ruby_archdir}/pathname.so
1153 %attr(755,root,root) %{ruby_archdir}/pty.so
1154 %attr(755,root,root) %{ruby_archdir}/readline.so
1155 %attr(755,root,root) %{ruby_archdir}/ripper.so
1156 %attr(755,root,root) %{ruby_archdir}/thread.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.129992 seconds and 4 git commands to generate.