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