]> git.pld-linux.org Git - packages/ruby.git/blob - ruby.spec
- up to 2.3.5
[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      5
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:  7bc4c199647f9eceb66c9611f11d6da0
39 Source2:        http://www.ruby-doc.org/downloads/%{oname}_%{doc_version}_stdlib_rdocs.tgz
40 # Source2-md5:  480c3f6f8d9311e86c1aa395f7d7bba6
41 Source3:        http://www.ruby-doc.org/downloads/%{oname}_%{doc_version}_core_rdocs.tgz
42 # Source3-md5:  9805d5d4537b73d2af1860e0759421f1
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:       pkgconfig
212
213 %description devel
214 Ruby development libraries.
215
216 %description devel -l pl.UTF-8
217 Biblioteki programistyczne interpretera języka Ruby.
218
219 %package static
220 Summary:        Ruby static libraries
221 Summary(pl.UTF-8):      Biblioteki statyczne Ruby
222 Group:          Development/Languages
223 Requires:       %{name}-devel = %{epoch}:%{version}-%{release}
224
225 %description static
226 Ruby static libraries.
227
228 %description static -l pl.UTF-8
229 Biblioteki statyczne Ruby.
230
231 %package doc
232 Summary:        Ruby HTML documentation
233 Summary(pl.UTF-8):      Dokumentacja HTML do Ruby
234 Group:          Documentation
235 %if "%{_rpmversion}" >= "5"
236 BuildArch:      noarch
237 %endif
238
239 %description doc
240 Ruby HTML documentation: FAQ, guide, core and standard library.
241
242 %description doc -l pl.UTF-8
243 Dokumentacja HTML do Ruby: FAQ, przewodnik, dokumentacja dla core i
244 stdlib.
245
246 %package doc-ri
247 Summary:        Ruby ri documentation
248 Summary(pl.UTF-8):      Dokumentacja Ruby w formacie ri
249 Group:          Documentation
250 Requires:       %{name}-modules = %{epoch}:%{version}-%{release}
251 %if "%{_rpmversion}" >= "5"
252 BuildArch:      noarch
253 %endif
254
255 %description doc-ri
256 Ruby ri documentation.
257
258 %description doc-ri -l pl.UTF-8
259 Dokumentacja Ruby w formacie ri.
260
261 %package examples
262 Summary:        Ruby examples
263 Summary(pl.UTF-8):      Przykłady dla języka Ruby
264 Group:          Development/Languages
265 %if "%{_rpmversion}" >= "5"
266 BuildArch:      noarch
267 %endif
268
269 %description examples
270 Ruby examples.
271
272 %description examples -l pl.UTF-8
273 Przykłady programów w języku Ruby.
274
275 # IMPORTANT: keep irb, rdoc, rubygems, rake, json as last packages as we reset epoch/version/release
276 # and %{version},%{release} macros may not be used directly as they take last
277 # subpackage value not main package one what you intend to use
278
279 %package irb
280 Summary:        The Interactive Ruby
281 Version:        %{irb_ver}
282 Release:        %{pkg_version}.%{rel}
283 Epoch:          0
284 Group:          Development/Languages
285 Requires:       %{name}-modules = 1:%{pkg_version}-%{rel}
286 Provides:       irb = %{version}-%{release}
287 Provides:       ruby(irb) = %{version}-%{release}
288 %if "%{_rpmversion}" >= "5"
289 BuildArch:      noarch
290 %endif
291
292 %description irb
293 The irb is acronym for Interactive Ruby. It evaluates ruby expression
294 from the terminal.
295
296 %package rdoc
297 Summary:        A tool to generate HTML and command-line documentation for Ruby projects
298 Summary(pl.UTF-8):      Narzędzie do generowania dokumentacji HTML i linii poleceń dla projektów w Rubym
299 Version:        %{rdoc_ver}
300 Release:        %{pkg_version}.%{rel}
301 Epoch:          0
302 # SIL: lib/rdoc/generator/template/darkfish/css/fonts.css
303 License:        GPLv2 and Ruby and MIT and SIL
304 Group:          Development/Libraries
305 Requires:       %{name}-irb >= %{irb_ver}
306 Requires:       %{name}-json >= %{json_ver}
307 Requires:       %{name}-modules = 1:%{pkg_version}-%{rel}
308 Obsoletes:      rdoc <= 0.9.0
309 %if "%{_rpmversion}" >= "5"
310 BuildArch:      noarch
311 %endif
312
313 %description rdoc
314 RDoc produces HTML and command-line documentation for Ruby projects.
315 RDoc includes the 'rdoc' and 'ri' tools for generating and displaying
316 online documentation.
317
318 %description rdoc -l pl.UTF-8
319 RDoc tworzy dokumentację HTML i linii poleceń dla projektów w języku
320 Ruby. RDoc zawiera narzędzia 'rdoc' i 'ri' do generowania i
321 wyświetlania dokumentacji online.
322
323 %package rubygems
324 Summary:        RubyGems - the Ruby standard for packaging Ruby libraries
325 Summary(pl.UTF-8):      RubyGems - standard Ruby'ego pakietowania bibliotek
326 Version:        %{rubygems_ver}
327 Release:        %{pkg_version}.%{rel}
328 Epoch:          0
329 License:        Ruby or MIT
330 Group:          Development/Libraries
331 Requires:       %{name}-bigdecimal = %{bigdecimal_ver}-%{pkg_version}.%{rel}
332 Requires:       %{name}-io-console = %{io_console_ver}-%{pkg_version}.%{rel}
333 Requires:       %{name}-modules = 1:%{pkg_version}-%{rel}
334 Requires:       %{name}-psych = %{psych_ver}-%{pkg_version}.%{rel}
335 Requires:       %{name}-rdoc >= %{rdoc_ver}
336 Suggests:       %{name}-devel
337 Provides:       rubygems = %{rubygems_ver}
338 %if "%{_rpmversion}" >= "5"
339 BuildArch:      noarch
340 %endif
341
342 %description rubygems
343 RubyGems is the Ruby standard for publishing and managing third party
344 libraries.
345
346 %description rubygems -l pl.UTF-8
347 RubyGems to standardowe narzędzie języka Ruby do publikowania i
348 zarządzania zewnętrznymi bibliotekami.
349
350 %package rake
351 Summary:        Rake is a Make-like program implemented in Ruby
352 Summary(pl.UTF-8):      Program typu Make dla języka Ruby
353 Version:        %{rake_ver}
354 Release:        %{pkg_version}.%{rel}
355 Epoch:          0
356 License:        MIT
357 Group:          Development/Languages
358 Provides:       rake = %{rake_ver}
359 Conflicts:      ruby-modules < 1:1.9.3.429-2
360 %if "%{_rpmversion}" >= "5"
361 BuildArch:      noarch
362 %endif
363
364 %description rake
365 Rake is a simple Ruby build program with capabilities similar to make.
366
367 It has the following features:
368 - Rakefiles (rake's version of Makefiles) are completely defined in
369   standard Ruby syntax. No XML files to edit. No quirky Makefile syntax
370   to worry about (is that a tab or a space?)
371 - Users can specify tasks with prerequisites.
372 - Rake supports rule patterns to synthesize implicit tasks.
373 - Rake is lightweight. It can be distributed with other projects as a
374   single file. Projects that depend upon rake do not require that rake
375   be installed on target systems.
376
377 %description rake -l pl.UTF-8
378 Rake to prosty program do budowania w języku Ruby o możliwościach
379 podobnych do make.
380
381 Ma następujące cechy:
382 - Pliki Rakefile (rake'owa odmiana plików Makefile) są definiowane
383   całkowicie w standardowej składni języka Ruby. Nie trzeba modyfikować
384   plików XML. Nie trzeba martwić się kaprysami składni Makefile (czy to
385   tabulacja czy spacja?).
386 - Użytkownicy mogą określać zadania z ich zależnościami.
387 - Rake obsługuje wzorce reguł do tworzenia z nich wynikowych zadań.
388 - Rake jest lekki. Może być rozpowszechniany z innymi projektami jako
389   pojedynczy plik. Projekty używające rake'a nie wymagają go
390   zainstalowanego na systemach docelowych.
391
392 %package json
393 Summary:        JSON library for Ruby
394 Summary(pl.UTF-8):      Biblioteka JSON dla języka Ruby
395 Version:        %{json_ver}
396 Release:        %{pkg_version}.%{rel}
397 Epoch:          0
398 # UCD: ext/json/generator/generator.c
399 License:        (Ruby or GPLv2) and UCD
400 Group:          Development/Languages
401 Obsoletes:      ruby-json-rubyforge
402 Conflicts:      ruby-modules < 1:1.9.3.429-3
403
404 %description json
405 This is a JSON implementation as a Ruby extension in C.
406
407 %description json -l pl.UTF-8
408 Biblioteka JSON dla języka Ruby.
409
410 %package minitest
411 Summary:        Minitest provides a complete suite of testing facilities
412 Version:        %{minitest_ver}
413 Release:        %{pkg_version}.%{rel}
414 Epoch:          0
415 License:        MIT
416 Group:          Development/Libraries
417 %if "%{_rpmversion}" >= "5"
418 BuildArch:      noarch
419 %endif
420
421 %description minitest
422 minitest/unit is a small and incredibly fast unit testing framework.
423
424 minitest/spec is a functionally complete spec engine.
425
426 minitest/benchmark is an awesome way to assert the performance of your
427 algorithms in a repeatable manner.
428
429 minitest/mock by Steven Baker, is a beautifully tiny mock object
430 framework.
431
432 minitest/pride shows pride in testing and adds coloring to your test
433 output.
434
435 %package power_assert
436 # The Summary/Description fields are rather poor.
437 # https://github.com/k-tsj/power_assert/issues/3
438 Summary:        Power Assert for Ruby
439 Version:        %{power_assert_ver}
440 Release:        %{pkg_version}.%{rel}
441 Epoch:          0
442 License:        Ruby or BSD
443 Group:          Development/Libraries
444 %if "%{_rpmversion}" >= "5"
445 BuildArch:      noarch
446 %endif
447
448 %description power_assert
449 Power Assert shows each value of variables and method calls in the
450 expression. It is useful for testing, providing which value wasn't
451 correct when the condition is not satisfied.
452
453 %package test-unit
454 # The Summary/Description fields are rather poor.
455 # https://github.com/test-unit/test-unit/issues/73
456 Summary:        Improved version of Test::Unit bundled in Ruby 1.8.x
457 Version:        %{test_unit_ver}
458 Release:        %{pkg_version}.%{rel}
459 Epoch:          0
460 Group:          Development/Libraries
461 # lib/test/unit/diff.rb is a double license of the Ruby license and PSF license.
462 # lib/test-unit.rb is a dual license of the Ruby license and LGPLv2.1 or later.
463 License:        (Ruby or BSD) and (Ruby or BSD or Python) and (Ruby or BSD or LGPLv2+)
464 %if "%{_rpmversion}" >= "5"
465 BuildArch:      noarch
466 %endif
467
468 %description test-unit
469 Ruby 1.9.x bundles minitest not Test::Unit. Test::Unit bundled in Ruby
470 1.8.x had not been improved but unbundled Test::Unit (test-unit) is
471 improved actively.
472
473 %package did_you_mean
474 Summary:        "Did you mean?" experience in Ruby
475 Version:        %{did_you_mean_ver}
476 Release:        %{pkg_version}.%{rel}
477 Epoch:          0
478 License:        MIT
479 Group:          Development/Libraries
480 %if "%{_rpmversion}" >= "5"
481 BuildArch:      noarch
482 %endif
483
484 %description did_you_mean
485 "did you mean?" experience in Ruby: the error message will tell you
486 the right one when you misspelled something.
487
488 %package net-telnet
489 Summary:        Provides telnet client functionality
490 Version:        %{net_telnet_ver}
491 Release:        %{pkg_version}.%{rel}
492 Epoch:          0
493 Group:          Development/Libraries
494 %if "%{_rpmversion}" >= "5"
495 BuildArch:      noarch
496 %endif
497
498 %description net-telnet
499 Provides telnet client functionality.
500
501 This class also has, through delegation, all the methods of a socket
502 object (by default, a TCPSocket, but can be set by the Proxy option to
503 new()). This provides methods such as close() to end the session and
504 sysread() to read data directly from the host, instead of via the
505 waitfor() mechanism. Note that if you do use sysread() directly when
506 in telnet mode, you should probably pass the output through
507 preprocess() to extract telnet command sequences.
508
509 %package bigdecimal
510 Summary:        BigDecimal provides arbitrary-precision floating point decimal arithmetic
511 Version:        %{bigdecimal_ver}
512 Release:        %{pkg_version}.%{rel}
513 Epoch:          0
514 License:        GPL+ or Artistic
515 Group:          Development/Libraries
516 %if "%{_rpmversion}" >= "5"
517 BuildArch:      noarch
518 %endif
519
520 %description bigdecimal
521 Ruby provides built-in support for arbitrary precision integer
522 arithmetic. For example:
523
524 42**13 -> 1265437718438866624512
525
526 BigDecimal provides similar support for very large or very accurate
527 floating point numbers. Decimal arithmetic is also useful for general
528 calculation, because it provides the correct answers people
529 expect–whereas normal binary floating point arithmetic often
530 introduces subtle errors because of the conversion between base 10 and
531 base 2.
532
533 %package io-console
534 Summary:        IO/Console is a simple console utilizing library
535 Version:        %{io_console_ver}
536 Release:        %{pkg_version}.%{rel}
537 Epoch:          0
538 Group:          Development/Libraries
539 %if "%{_rpmversion}" >= "5"
540 BuildArch:      noarch
541 %endif
542
543 %description io-console
544 IO/Console provides very simple and portable access to console. It
545 doesn't provide higher layer features, such like curses and readline.
546
547 %package psych
548 Summary:        A libyaml wrapper for Ruby
549 Version:        %{psych_ver}
550 Release:        %{pkg_version}.%{rel}
551 Epoch:          0
552 License:        MIT
553 Group:          Development/Libraries
554
555 %description psych
556 Psych is a YAML parser and emitter. Psych leverages libyaml for its
557 YAML parsing and emitting capabilities. In addition to wrapping
558 libyaml, Psych also knows how to serialize and de-serialize most Ruby
559 objects to and from the YAML format.
560
561 %prep
562 %setup -q -n %{oname}-%{pkg_version} -a2 -a3 %{?with_bootstrap:-a100}
563 %patch0 -p1
564 #%patch1 -p1
565 %patch2 -p1
566 %patch3 -p1
567 %patch4 -p1
568 %patch5 -p1
569 %patch6 -p1
570 #%patch8 -p1
571 %patch9 -p1
572 %patch12 -p1
573
574 # must be regenerated with new bison
575 %{__rm} parse.{c,h}
576
577 # Remove bundled libraries to be sure they are not used.
578 %{__rm} -r ext/psych/yaml
579 %{__rm} -r ext/fiddle/libffi*
580
581 # Install custom operating_system.rb.
582 install -d lib/rubygems/defaults
583 cp -p %{SOURCE6} lib/rubygems/defaults
584
585 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
586
587 find -type f '(' -name '*.rb' -o -name '*.cgi' -o -name '*.test' \
588         -o -name 'ruby.1' -o -name '*.html' -o -name '*.tcl' ')' \
589         | xargs %{__sed} -i 's,/usr/local/bin/,%{_bindir}/,'
590
591 # no configure option to disable, so just rm
592 %{!?with_tk:rm -rf ext/tk}
593
594 %build
595 rubygems_ver=$(awk '/VERSION =/ && $1 == "VERSION" {print $3}' lib/rubygems.rb | xargs)
596 if [ $rubygems_ver != %{rubygems_ver} ]; then
597         echo "Set %%define rubygems_ver to $rubygems_ver and re-run."
598         exit 1
599 fi
600 rdoc_ver=$(awk '/VERSION =/ && $1 == "VERSION" {print $3}' lib/rdoc.rb | xargs)
601 if [ $rdoc_ver != %{rdoc_ver} ]; then
602         echo "Set %%define rdoc_ver to $rdoc_ver and re-run."
603         exit 1
604 fi
605
606 cp -f /usr/share/automake/config.sub .
607
608 # build ruby-1.8.7 first
609 %if %{with bootstrap}
610 cd %{oname}-1.8.7-p330
611 %configure
612 %{__make}
613 cd ..
614 %endif
615
616 %{__autoconf}
617 %configure \
618         %{?with_bootstrap:--with-baseruby=%{oname}-1.8.7-p330/miniruby} \
619         --program-suffix=%{ruby_suffix} \
620         --with-archlibdir=%{_libdir} \
621         --with-rubygemsdir=%{rubygems_dir} \
622         --with-rubylibprefix=%{ruby_libdir} \
623         --with-rubyarchprefix=%{ruby_archdir} \
624         --with-sitedir=%{ruby_sitelibdir} \
625         --with-sitearchdir=%{ruby_sitearchdir} \
626         --with-vendordir=%{ruby_vendorlibdir} \
627         --with-vendorarchdir=%{ruby_vendorarchdir} \
628         --with-rubyhdrdir=%{_includedir}/%{oname}-%{ruby_version} \
629         --with-rubyarchhdrdir=%{_includedir}/%{oname}-%{ruby_version} \
630         --with-sitearchhdrdir='$(sitehdrdir)/$(arch)' \
631         --with-vendorarchhdrdir='$(vendorhdrdir)/$(arch)' \
632         --enable-multiarch \
633         --enable-shared \
634         --disable-install-doc \
635         --disable-rpath \
636         --disable-rubygems \
637         --with-ruby-version='' \
638
639 %{__make} -j1 main \
640         COPY="cp -p" Q= \
641         %{?with_bootstrap:BASERUBY="%{oname}-1.8.7-p330/miniruby -I./ruby-1.8.7-p330/lib"}
642
643 %if %{with doc}
644 %{__make} -j1 rdoc
645 %endif
646
647 %if %{with tests}
648 # unset these, as testsuite does "git commit" somewhere, which points to pld .spec repo. doh
649 unset GIT_DIR GIT_WORK_TREE
650
651 unset GIT
652 DISABLE_TESTS=""
653
654 %ifarch armv7l armv7hl armv7hnl
655 # test_call_double(DL::TestDL) fails on ARM HardFP
656 # http://bugs.ruby-lang.org/issues/6592
657 DISABLE_TESTS="-x test_dl2.rb $DISABLE_TESTS"
658 %endif
659
660 # test_debug(TestRubyOptions) fails due to LoadError reported in debug mode,
661 # when abrt.rb cannot be required (seems to be easier way then customizing
662 # the test suite).
663 touch abrt.rb
664
665 # TestSignal#test_hup_me hangs up the test suite.
666 # http://bugs.ruby-lang.org/issues/8997
667 sed -i '/def test_hup_me/,/end if Process.respond_to/ s/^/#/' test/ruby/test_signal.rb
668
669 # Fix "Could not find 'minitest'" error.
670 # http://bugs.ruby-lang.org/issues/9259
671 sed -i "/^  gem 'minitest', '~> 4.0'/ s/^/#/" lib/rubygems/test_case.rb
672
673 # Segmentation fault.
674 # https://bugs.ruby-lang.org/issues/9198
675 sed -i '/^  def test_machine_stackoverflow/,/^  end/ s/^/#/' test/ruby/test_exception.rb
676
677 # Don't test wrap ciphers to prevent "OpenSSL::Cipher::CipherError: wrap mode
678 # not allowed" error.
679 # https://bugs.ruby-lang.org/issues/10229
680 sed -i '/assert(OpenSSL::Cipher::Cipher.new(name).is_a?(OpenSSL::Cipher::Cipher))/i \
681         next if /wrap/ =~ name' test/openssl/test_cipher.rb
682
683 # Test is broken due to SSLv3 disabled in Fedora.
684 # https://bugs.ruby-lang.org/issues/10046
685 sed -i '/def test_ctx_server_session_cb$/,/^  end$/ s/^/#/' test/openssl/test_ssl_session.rb
686
687 %{__make} check TESTS="-v $DISABLE_TESTS"
688 %endif
689
690 %install
691 rm -rf $RPM_BUILD_ROOT
692 install -d $RPM_BUILD_ROOT{%{ruby_rdocdir},%{ruby_ridir}} \
693         $RPM_BUILD_ROOT%{ruby_vendorarchdir} \
694         $RPM_BUILD_ROOT%{ruby_vendorlibdir}/net \
695         $RPM_BUILD_ROOT%{ruby_vendorlibdir}/data \
696
697 %{__make} install %{?with_doc:install-doc -j1} \
698         DESTDIR=$RPM_BUILD_ROOT
699
700 # Version is empty if --with-ruby-version is specified.
701 # http://bugs.ruby-lang.org/issues/7807
702 sed -i -e 's/Version: \${ruby_version}/Version: %{ruby_version}/' $RPM_BUILD_ROOT%{_pkgconfigdir}/%{oname}-%{ruby_version}.pc
703
704 # Kill bundled certificates, as they should be part of ca-certificates.
705 for cert in \
706         Class3PublicPrimaryCertificationAuthority.pem \
707         DigiCertHighAssuranceEVRootCA.pem \
708         EntrustnetSecureServerCertificationAuthority.pem \
709         GeoTrustGlobalCA.pem \
710         AddTrustExternalCARoot.pem \
711         AddTrustExternalCARoot-2048.pem \
712 ; do
713         %{__rm} $RPM_BUILD_ROOT%{rubygems_dir}/rubygems/ssl_certs/$cert
714 done
715
716 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}
717 cp -Rf sample/* $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}
718 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_mandir}/man1/rdoc%{ruby_suffix}.1
719 cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_mandir}/man1/testrb%{ruby_suffix}.1
720
721 %{__rm} -rf $RPM_BUILD_ROOT%{_docdir}/%{name}/html
722
723 # detect this runtime, "make install" is affected by operating_system.rb what is installed in system!
724 gem_dir=$(./miniruby -Ilib -I. -I.ext/common ./tool/runruby.rb -- --disable-gems -r$(basename *-linux*-fake.rb .rb) -r rubygems -e 'puts Gem.default_dir')
725
726 # Move gems root into common directory, out of Ruby directory structure.
727 install -d $RPM_BUILD_ROOT%{gem_dir}
728 %{__mv} $RPM_BUILD_ROOT${gem_dir}/{gems,specifications} $RPM_BUILD_ROOT%{gem_dir}
729
730 # Move bundled rubygems to %gem_dir
731 # make symlinks for io-console and bigdecimal, which are considered to be part of stdlib by other Gems
732 # make symlinks for all packages, so they would work without rubygems
733 # NOTE: when making symlinks, do not symlink paths that could be directories,
734 # as there may came files from other packages as well. actually, unlikely as
735 # the links to got system dir and only ruby may package there (other distro
736 # packages should go to vendor dirs)
737 %if 0
738 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/lib
739 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/rake* $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/lib
740 ln -s %{gem_dir}/gems/rake-%{rake_ver}/lib/rake $RPM_BUILD_ROOT%{ruby_libdir}
741 ln -s %{gem_dir}/gems/rake-%{rake_ver}/lib/rake.rb $RPM_BUILD_ROOT%{ruby_libdir}
742 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/rake-%{rake_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
743 %endif
744
745 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/lib
746 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/rdoc* $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/lib
747 ln -s %{gem_dir}/gems/rdoc-%{rdoc_ver}/lib/rdoc $RPM_BUILD_ROOT%{ruby_libdir}
748 ln -s %{gem_dir}/gems/rdoc-%{rdoc_ver}/lib/rdoc.rb $RPM_BUILD_ROOT%{ruby_libdir}
749 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/rdoc-%{rdoc_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
750
751 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}/lib
752 install -d $RPM_BUILD_ROOT%{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib
753 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/bigdecimal $RPM_BUILD_ROOT%{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}/lib
754 %{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/bigdecimal.so $RPM_BUILD_ROOT%{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib
755 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/bigdecimal-%{bigdecimal_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
756 ln -s %{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal $RPM_BUILD_ROOT%{ruby_libdir}/bigdecimal
757 ln -s %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal.so $RPM_BUILD_ROOT%{ruby_libarchdir}/bigdecimal.so
758
759 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/io-console-%{io_console_ver}/lib
760 install -d $RPM_BUILD_ROOT%{gem_libdir}/io-console-%{io_console_ver}/lib/io
761 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/io $RPM_BUILD_ROOT%{gem_dir}/gems/io-console-%{io_console_ver}/lib
762 %{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/io/console.so $RPM_BUILD_ROOT%{gem_libdir}/io-console-%{io_console_ver}/lib/io
763 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/io-console-%{io_console_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
764 ln -s %{gem_dir}/gems/io-console-%{io_console_ver}/lib/io $RPM_BUILD_ROOT%{ruby_libdir}/io
765 ln -s %{gem_libdir}/io-console-%{io_console_ver}/lib/io/console.so $RPM_BUILD_ROOT%{ruby_libarchdir}/io/console.so
766
767 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/json-%{json_ver}/lib
768 install -d $RPM_BUILD_ROOT%{gem_libdir}/json-%{json_ver}/lib
769 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/json* $RPM_BUILD_ROOT%{gem_dir}/gems/json-%{json_ver}/lib
770 %{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/json $RPM_BUILD_ROOT%{gem_libdir}/json-%{json_ver}/lib
771 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/json-%{json_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
772 ln -s %{gem_dir}/gems/json-%{json_ver}/lib/json $RPM_BUILD_ROOT%{ruby_libdir}/json
773 ln -s %{gem_dir}/gems/json-%{json_ver}/lib/json.rb $RPM_BUILD_ROOT%{ruby_libdir}/json.rb
774 install -d $RPM_BUILD_ROOT%{ruby_libarchdir}/json/ext
775 ln -s %{gem_libdir}/json-%{json_ver}/lib/json/ext/parser.so $RPM_BUILD_ROOT%{ruby_libarchdir}/json/ext
776 ln -s %{gem_libdir}/json-%{json_ver}/lib/json/ext/generator.so $RPM_BUILD_ROOT%{ruby_libarchdir}/json/ext
777
778 ln -s %{gem_dir}/gems/minitest-%{minitest_ver}/lib/minitest $RPM_BUILD_ROOT%{ruby_libdir}
779
780 install -d $RPM_BUILD_ROOT%{ruby_libdir}/test
781 ln -s %{gem_dir}/gems/test-unit-%{test_unit_ver}/lib/unit $RPM_BUILD_ROOT%{ruby_libdir}/test
782
783 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/psych-%{psych_ver}/lib
784 install -d $RPM_BUILD_ROOT%{gem_libdir}/psych-%{psych_ver}/lib
785 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/psych* $RPM_BUILD_ROOT%{gem_dir}/gems/psych-%{psych_ver}/lib
786 %{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/psych.so $RPM_BUILD_ROOT%{gem_libdir}/psych-%{psych_ver}/lib/
787 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/psych-%{psych_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
788 ln -s %{gem_dir}/gems/psych-%{psych_ver}/lib/psych $RPM_BUILD_ROOT%{ruby_libdir}/psych
789 ln -s %{gem_dir}/gems/psych-%{psych_ver}/lib/psych.rb $RPM_BUILD_ROOT%{ruby_libdir}/psych.rb
790 ln -s %{gem_libdir}/psych-%{psych_ver}/lib/psych.so $RPM_BUILD_ROOT%{ruby_archdir}/psych.so
791
792 # Adjust the gemspec files so that the gems will load properly
793 sed -i '/^end$/ i\
794   s.require_paths = ["lib"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/rake-%{rake_ver}.gemspec
795
796 sed -i '/^end$/ i\
797   s.require_paths = ["lib"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/rdoc-%{rdoc_ver}.gemspec
798
799 sed -i '/^end$/ i\
800   s.require_paths = ["lib"]\
801   s.extensions = ["bigdecimal.so"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/bigdecimal-%{bigdecimal_ver}.gemspec
802
803 sed -i '/^end$/ i\
804   s.require_paths = ["lib"]\
805   s.extensions = ["io/console.so"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/io-console-%{io_console_ver}.gemspec
806
807 sed -i '/^end$/ i\
808   s.require_paths = ["lib"]\
809   s.extensions = ["json/ext/parser.so", "json/ext/generator.so"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/json-%{json_ver}.gemspec
810
811 sed -i '/^end$/ i\
812   s.require_paths = ["lib"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/minitest-%{minitest_ver}.gemspec
813
814 # Push the .gemspecs through the RubyGems to let them write the stub headers.
815 # This speeds up loading of libraries and avoids warnings in Spring:
816 # https://github.com/rubygems/rubygems/pull/694
817 for s in rake-%{rake_ver}.gemspec rdoc-%{rdoc_ver}.gemspec json-%{json_ver}.gemspec; do
818         s="$RPM_BUILD_ROOT%{gem_dir}/specifications/$s"
819         %{__make} runruby TESTRUN_SCRIPT="-rubygems \
820         -e \"spec = Gem::Specification.load('$s')\" \
821         -e \"File.write '$s', spec.to_ruby\""
822 done
823
824 ln -sf %{gem_dir}/gems/rake-%{rake_ver}/bin/rake $RPM_BUILD_ROOT%{_bindir}/rake%{ruby_suffix}
825
826 %{__sed} -i -e '1s,/usr/bin/env ruby,/usr/bin/ruby,' \
827         $RPM_BUILD_ROOT%{ruby_libdir}/abbrev.rb \
828         $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/bin/rake \
829         $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/rdoc \
830         $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/ri \
831         $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/{cal,test,time,uumerge}.rb \
832         $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/{drb,logger,openssl,ripper,rss}/*.rb \
833         $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/webrick/*.cgi
834
835 # gem non library files
836 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/minitest-%{minitest_ver}/test
837 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/test-unit-%{test_unit_ver}/{[A-Z]*,doc,sample,test}
838 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/power_assert-%{power_assert_ver}/{[A-Z]*,test}
839 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/{[A-Z]*,doc,test}
840 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/{[A-Z]*,doc,test}
841 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/net-telnet-%{net_telnet_ver}/{[A-Z]*,bin}
842
843 %if %{without batteries}
844 # packaged separately
845 %{__rm} -r $RPM_BUILD_ROOT%{ruby_libdir}/{rubygems,rake,json,minitest}
846 %{__rm} -r $RPM_BUILD_ROOT%{ruby_archdir}/json
847 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/rake-*
848 %{__rm} $RPM_BUILD_ROOT%{ruby_libdir}/{rake,rubygems,json}.rb
849 %{__rm} $RPM_BUILD_ROOT%{_bindir}/{gem,rake}
850 #%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/rake*
851 %{__rm} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/{json,minitest,rake}-*.gemspec
852 %{?with_doc:%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/ri/%{ruby_version}/system/JSON}
853 %endif
854
855 %if %{with doc}
856 # too much .ri
857 %{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/cache.ri
858 %{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/created.rid
859 %endif
860
861 %clean
862 rm -rf $RPM_BUILD_ROOT
863
864 %post   -p /sbin/ldconfig
865 %postun -p /sbin/ldconfig
866
867 %files
868 %defattr(644,root,root,755)
869 %doc NEWS LEGAL BSDL README.md README.EXT ChangeLog
870 %attr(755,root,root) %{_bindir}/ruby%{ruby_suffix}
871 %attr(755,root,root) %{_libdir}/libruby.so.*.*.*
872 %attr(755,root,root) %ghost %{_libdir}/libruby.so.%{ruby_version}
873 %{_mandir}/man1/ruby%{ruby_suffix}.1*
874
875 %dir %{_libdir}/%{oname}
876 %dir %{_libdir}/%{oname}/%{vendordir}
877 %dir %{_datadir}/%{oname}
878
879 %dir %{ruby_libdir}
880 %dir %{ruby_archdir}
881 %dir %{ruby_vendorlibdir}
882 %dir %{ruby_vendorarchdir}
883
884 %dir %{dirname:%{ruby_ridir}}
885 %dir %{ruby_ridir}
886 %dir %{ruby_rdocdir}
887
888 # common dirs for ruby vendor modules
889 %dir %{ruby_vendorlibdir}/data
890 %dir %{ruby_vendorlibdir}/net
891
892 %files devel
893 %defattr(644,root,root,755)
894 %attr(755,root,root) %{_libdir}/libruby.so
895 %{_includedir}/%{oname}-%{ruby_version}
896 %{_pkgconfigdir}/%{oname}-%{ruby_version}.pc
897 %{ruby_libdir}/mkmf.rb
898
899 %files static
900 %defattr(644,root,root,755)
901 %{_libdir}/libruby-static.a
902
903 %if %{with tk}
904 %files tk
905 %defattr(644,root,root,755)
906 %doc ext/tk/{ChangeLog.tkextlib,MANUAL_tcltklib.eng,README.fork}
907 %lang(ja) %doc ext/tk/MANUAL_tcltklib.ja
908 %{ruby_libdir}/multi-tk.rb
909 %{ruby_libdir}/remote-tk.rb
910 %{ruby_libdir}/tcltk.rb
911 %{ruby_libdir}/tk*.rb
912 %{ruby_libdir}/tk
913 %{ruby_libdir}/tkextlib
914 %attr(755,root,root) %{ruby_archdir}/tcltklib.so
915 %attr(755,root,root) %{ruby_archdir}/tkutil.so
916 %endif
917
918 %files irb
919 %defattr(644,root,root,755)
920 %attr(755,root,root) %{_bindir}/irb%{ruby_suffix}
921 %{ruby_libdir}/irb.rb
922 %{ruby_libdir}/irb
923 %{_mandir}/man1/irb%{ruby_suffix}.1*
924
925 %files rdoc
926 %defattr(644,root,root,755)
927 %attr(755,root,root) %{_bindir}/rdoc%{ruby_suffix}
928 %attr(755,root,root) %{_bindir}/ri%{ruby_suffix}
929 %{_mandir}/man1/rdoc%{ruby_suffix}.1*
930 %{ruby_libdir}/rdoc
931 %dir %{gem_dir}/gems/rdoc-%{rdoc_ver}
932 %{gem_dir}/gems/rdoc-%{rdoc_ver}/lib
933 %dir %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin
934 %attr(755,root,root) %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/rdoc
935 %{gem_dir}/specifications/rdoc-%{rdoc_ver}.gemspec
936 %attr(755,root,root) %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/ri
937
938 %if %{with batteries}
939 %files rubygems
940 %defattr(644,root,root,755)
941 %attr(755,root,root) %{_bindir}/gem%{ruby_suffix}
942 %{rubygems_dir}/rubygems
943 %{rubygems_dir}/rubygems.rb
944 %{rubygems_dir}/ubygems.rb
945 %{rubygems_dir}/rbconfig
946
947 %files rake
948 %defattr(644,root,root,755)
949 %attr(755,root,root) %{_bindir}/rake%{ruby_suffix}
950 %dir %{gem_dir}/gems/rake-%{rake_ver}
951 %{gem_dir}/gems/rake-%{rake_ver}/lib
952 %{gem_dir}/gems/rake-%{rake_ver}/rakelib
953 %dir %{gem_dir}/gems/rake-%{rake_ver}/bin
954 %attr(755,root,root) %{gem_dir}/gems/rake-%{rake_ver}/bin/rake
955 %{gem_dir}/specifications/rake-%{rake_ver}.gemspec
956
957 %files json
958 %defattr(644,root,root,755)
959 %{ruby_libdir}/json
960 %dir %{ruby_archdir}/json
961 %dir %{ruby_archdir}/json/ext
962 %attr(755,root,root) %{ruby_archdir}/json/ext/*.so
963
964 %dir %{gem_libdir}/json-%{json_ver}
965 %dir %{gem_libdir}/json-%{json_ver}/lib
966 %dir %{gem_libdir}/json-%{json_ver}/lib/json
967 %dir %{gem_libdir}/json-%{json_ver}/lib/json/ext
968 %attr(755,root,root) %{gem_libdir}/json-%{json_ver}/lib/json/ext/generator.so
969 %attr(755,root,root) %{gem_libdir}/json-%{json_ver}/lib/json/ext/parser.so
970
971 %{gem_dir}/gems/json-%{json_ver}
972 %{gem_dir}/specifications/json-%{json_ver}.gemspec
973 %endif
974
975 %files power_assert
976 %defattr(644,root,root,755)
977 %dir %{gem_dir}/gems/power_assert-%{power_assert_ver}
978 %{gem_dir}/gems/power_assert-%{power_assert_ver}/lib
979 %{gem_dir}/specifications/power_assert-%{power_assert_ver}.gemspec
980
981 %files minitest
982 %defattr(644,root,root,755)
983 %{ruby_libdir}/minitest
984 %{gem_dir}/gems/minitest-%{minitest_ver}
985 %{gem_dir}/specifications/minitest-%{minitest_ver}.gemspec
986
987 %files test-unit
988 %defattr(644,root,root,755)
989 %dir %{gem_dir}/gems/test-unit-%{test_unit_ver}
990 %{gem_dir}/gems/test-unit-%{test_unit_ver}/lib
991 %{gem_dir}/specifications/test-unit-%{test_unit_ver}.gemspec
992 %{_mandir}/man1/testrb%{ruby_suffix}.1*
993
994 %files did_you_mean
995 %defattr(644,root,root,755)
996 %dir %{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}
997 %{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/benchmark
998 %{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/evaluation
999 %{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/lib
1000 %{gem_dir}/specifications/did_you_mean-%{did_you_mean_ver}.gemspec
1001
1002 %files net-telnet
1003 %defattr(644,root,root,755)
1004 %dir %{gem_dir}/gems/net-telnet-%{net_telnet_ver}
1005 %{gem_dir}/gems/net-telnet-%{net_telnet_ver}/lib
1006 %{gem_dir}/specifications/net-telnet-%{net_telnet_ver}.gemspec
1007
1008 %files bigdecimal
1009 %defattr(644,root,root,755)
1010 %{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}
1011 %dir %{gem_libdir}/bigdecimal-%{bigdecimal_ver}
1012 %dir %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib
1013 %attr(755,root,root) %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal.so
1014 %{ruby_libdir}/bigdecimal
1015 %{gem_dir}/specifications/bigdecimal-%{bigdecimal_ver}.gemspec
1016
1017 %files io-console
1018 %defattr(644,root,root,755)
1019 %{gem_dir}/gems/io-console-%{io_console_ver}
1020 %dir %{gem_libdir}/io-console-%{io_console_ver}
1021 %dir %{gem_libdir}/io-console-%{io_console_ver}/lib
1022 %dir %{gem_libdir}/io-console-%{io_console_ver}/lib/io
1023 %attr(755,root,root) %{gem_libdir}/io-console-%{io_console_ver}/lib/io/console.so
1024 %{gem_dir}/specifications/io-console-%{io_console_ver}.gemspec
1025
1026 %files psych
1027 %defattr(644,root,root,755)
1028 %{ruby_libdir}/psych.rb
1029 %attr(755,root,root) %{ruby_archdir}/psych.so
1030 %{gem_dir}/gems/psych-%{psych_ver}
1031 %{ruby_libdir}/psych
1032 %dir %{gem_libdir}/psych-%{psych_ver}
1033 %dir %{gem_libdir}/psych-%{psych_ver}/lib
1034 %attr(755,root,root) %{gem_libdir}/psych-%{psych_ver}/lib/psych.so
1035 %{gem_dir}/specifications/psych-%{psych_ver}.gemspec
1036
1037 %files modules
1038 %defattr(644,root,root,755)
1039 %attr(755,root,root) %{_bindir}/erb%{ruby_suffix}
1040 %{ruby_libdir}/cgi
1041 %{ruby_libdir}/digest
1042 %{ruby_libdir}/drb
1043 %{ruby_libdir}/fiddle
1044 %{ruby_libdir}/io
1045 %{ruby_libdir}/matrix
1046 %{ruby_libdir}/net
1047 %{ruby_libdir}/openssl
1048 %{ruby_libdir}/optparse
1049 %{ruby_libdir}/racc
1050 %{ruby_libdir}/rbconfig
1051 %{ruby_libdir}/rexml
1052 %{ruby_libdir}/rinda
1053 %{ruby_libdir}/ripper
1054 %{ruby_libdir}/rss
1055 %{ruby_libdir}/shell
1056 %{ruby_libdir}/syslog
1057 %{ruby_libdir}/test
1058 %{ruby_libdir}/uri
1059 %{ruby_libdir}/webrick
1060 %{ruby_libdir}/xmlrpc
1061 %{ruby_libdir}/yaml
1062
1063 %{ruby_libdir}/English.rb
1064 %{ruby_libdir}/abbrev.rb
1065 %{ruby_libdir}/base64.rb
1066 %{ruby_libdir}/benchmark.rb
1067 %{ruby_libdir}/cgi.rb
1068 %{ruby_libdir}/cmath.rb
1069 %{ruby_libdir}/csv.rb
1070 %{ruby_libdir}/date.rb
1071 %{ruby_libdir}/debug.rb
1072 %{ruby_libdir}/delegate.rb
1073 %{ruby_libdir}/digest.rb
1074 %{ruby_libdir}/drb.rb
1075 %{ruby_libdir}/e2mmap.rb
1076 %{ruby_libdir}/erb.rb
1077 %{ruby_libdir}/expect.rb
1078 %{ruby_libdir}/fiddle.rb
1079 %{ruby_libdir}/fileutils.rb
1080 %{ruby_libdir}/find.rb
1081 %{ruby_libdir}/forwardable.rb
1082 %{ruby_libdir}/getoptlong.rb
1083 %{ruby_libdir}/ipaddr.rb
1084 %{ruby_libdir}/json.rb
1085 %{ruby_libdir}/kconv.rb
1086 %{ruby_libdir}/logger.rb
1087 %{ruby_libdir}/mathn.rb
1088 %{ruby_libdir}/matrix.rb
1089 %{ruby_libdir}/monitor.rb
1090 %{ruby_libdir}/mutex_m.rb
1091 %{ruby_libdir}/observer.rb
1092 %{ruby_libdir}/open-uri.rb
1093 %{ruby_libdir}/open3.rb
1094 %{ruby_libdir}/openssl.rb
1095 %{ruby_libdir}/optionparser.rb
1096 %{ruby_libdir}/optparse.rb
1097 %{ruby_libdir}/ostruct.rb
1098 %{ruby_libdir}/pathname.rb
1099 %{ruby_libdir}/pp.rb
1100 %{ruby_libdir}/prettyprint.rb
1101 %{ruby_libdir}/prime.rb
1102 %{ruby_libdir}/profile.rb
1103 %{ruby_libdir}/profiler.rb
1104 %{ruby_libdir}/pstore.rb
1105 %{ruby_libdir}/rdoc.rb
1106 %{ruby_libdir}/resolv-replace.rb
1107 %{ruby_libdir}/resolv.rb
1108 %{ruby_libdir}/ripper.rb
1109 %{ruby_libdir}/rss.rb
1110 %{ruby_libdir}/scanf.rb
1111 %{ruby_libdir}/securerandom.rb
1112 %{ruby_libdir}/set.rb
1113 %{ruby_libdir}/shell.rb
1114 %{ruby_libdir}/shellwords.rb
1115 %{ruby_libdir}/singleton.rb
1116 %{ruby_libdir}/socket.rb
1117 %{ruby_libdir}/sync.rb
1118 %{ruby_libdir}/tempfile.rb
1119 %{ruby_libdir}/thwait.rb
1120 %{ruby_libdir}/time.rb
1121 %{ruby_libdir}/timeout.rb
1122 %{ruby_libdir}/tmpdir.rb
1123 %{ruby_libdir}/tracer.rb
1124 %{ruby_libdir}/tsort.rb
1125 %{ruby_libdir}/un.rb
1126 %{ruby_libdir}/unicode_normalize
1127 %{ruby_libdir}/unicode_normalize.rb
1128 %{ruby_libdir}/uri.rb
1129 %{ruby_libdir}/weakref.rb
1130 %{ruby_libdir}/webrick.rb
1131 %{ruby_libdir}/xmlrpc.rb
1132 %{ruby_libdir}/yaml.rb
1133
1134 %if %{with batteries}
1135 %exclude %{ruby_libdir}/rubygems.rb
1136 %exclude %{ruby_libdir}/ubygems.rb
1137 %exclude %{ruby_libdir}/rbconfig/datadir.rb
1138 %endif
1139 %exclude %{ruby_libdir}/irb.rb
1140 %exclude %{ruby_libdir}/mkmf.rb
1141
1142 %{ruby_archdir}/rbconfig.rb
1143 %attr(755,root,root) %{ruby_archdir}/bigdecimal.so
1144 %attr(755,root,root) %{ruby_archdir}/continuation.so
1145 %attr(755,root,root) %{ruby_archdir}/coverage.so
1146 %attr(755,root,root) %{ruby_archdir}/date_core.so
1147 %attr(755,root,root) %{ruby_archdir}/dbm.so
1148 %attr(755,root,root) %{ruby_archdir}/digest.so
1149 %attr(755,root,root) %{ruby_archdir}/etc.so
1150 %attr(755,root,root) %{ruby_archdir}/fcntl.so
1151 %attr(755,root,root) %{ruby_archdir}/fiber.so
1152 %attr(755,root,root) %{ruby_archdir}/fiddle.so
1153 %attr(755,root,root) %{ruby_archdir}/gdbm.so
1154 %attr(755,root,root) %{ruby_archdir}/nkf.so
1155 %attr(755,root,root) %{ruby_archdir}/objspace.so
1156 %attr(755,root,root) %{ruby_archdir}/openssl.so
1157 %attr(755,root,root) %{ruby_archdir}/pathname.so
1158 %attr(755,root,root) %{ruby_archdir}/pty.so
1159 %attr(755,root,root) %{ruby_archdir}/readline.so
1160 %attr(755,root,root) %{ruby_archdir}/ripper.so
1161 %attr(755,root,root) %{ruby_archdir}/thread.so
1162 %attr(755,root,root) %{ruby_archdir}/sdbm.so
1163 %attr(755,root,root) %{ruby_archdir}/socket.so
1164 %attr(755,root,root) %{ruby_archdir}/stringio.so
1165 %attr(755,root,root) %{ruby_archdir}/strscan.so
1166 %attr(755,root,root) %{ruby_archdir}/syslog.so
1167 %attr(755,root,root) %{ruby_archdir}/zlib.so
1168
1169 %dir %{ruby_archdir}/cgi
1170 %attr(755,root,root) %{ruby_archdir}/cgi/escape.so
1171 %dir %{ruby_archdir}/digest
1172 %attr(755,root,root) %{ruby_archdir}/digest/*.so
1173 %dir %{ruby_archdir}/enc
1174 %attr(755,root,root) %{ruby_archdir}/enc/*.so
1175 %dir %{ruby_archdir}/enc/trans
1176 %attr(755,root,root) %{ruby_archdir}/enc/trans/*.so
1177 %dir %{ruby_archdir}/io
1178 %attr(755,root,root) %{ruby_archdir}/io/*.so
1179 %dir %{ruby_archdir}/mathn
1180 %attr(755,root,root) %{ruby_archdir}/mathn/*.so
1181 %dir %{ruby_archdir}/racc
1182 %attr(755,root,root) %{ruby_archdir}/racc/*.so
1183 %dir %{ruby_archdir}/rbconfig
1184 %attr(755,root,root) %{ruby_archdir}/rbconfig/sizeof.so
1185
1186 %dir %{_libdir}/gems
1187 %dir %{_libdir}/gems/%{oname}
1188
1189 %dir %{gem_dir}
1190 %dir %{gem_dir}/gems
1191 %dir %{gem_dir}/specifications
1192 %dir %{gem_dir}/specifications/default
1193 %{_mandir}/man1/erb%{ruby_suffix}.1*
1194 %{_mandir}/man1/ri%{ruby_suffix}.1*
1195
1196 %if %{with doc}
1197 %files doc
1198 %defattr(644,root,root,755)
1199 %doc ruby_%{doc_version}_stdlib
1200 %doc ruby_%{doc_version}_core
1201
1202 %files doc-ri
1203 %defattr(644,root,root,755)
1204 %{ruby_ridir}/*
1205 %endif
1206
1207 %files examples
1208 %defattr(644,root,root,755)
1209 %{_examplesdir}/%{oname}-%{pkg_version}
This page took 0.177032 seconds and 4 git commands to generate.