/[packages]/cauldron/ruby/current/SPECS/ruby.spec
ViewVC logotype

Contents of /cauldron/ruby/current/SPECS/ruby.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 291591 - (show annotations) (download)
Mon Sep 10 06:30:42 2012 UTC (11 years, 7 months ago) by fwang
File size: 14915 byte(s)
SILENT: update pkgname
1 %define subver 1.9
2 %define rubyapi 1.9.1
3 %define rubyver 1.9.3
4 %define patchversion p194
5 %define rel 3
6
7 %define libname %mklibname ruby %{subver}
8
9 %define ruby_libdir %{_datadir}/%{name}
10 %define ruby_libarchdir %{_libdir}/%{name}
11
12 # This is the local lib/arch and should not be used for packaging.
13 %define ruby_sitelibdir %{_datadir}/ruby/site_ruby
14 %define ruby_sitearchdir %{_libdir}/ruby/site_ruby
15
16 # This is the general location for libs/archs compatible with all
17 # or most of the Ruby versions available in the Fedora repositories.
18 %define ruby_vendorlibdir %{_datadir}/ruby/vendor_ruby
19 %define ruby_vendorarchdir %{_libdir}/ruby/vendor_ruby
20
21 # The RubyGems library has to stay out of Ruby directory three, since the
22 # RubyGems should be share by all Ruby implementations.
23 %define rubygems_dir %{_datadir}/ruby/gems
24 %define rubygems_version 1.8.23
25
26 Summary: Object Oriented Script Language
27 Name: ruby
28 Epoch: 1
29 Version: %{rubyver}.%{patchversion}
30 Release: %mkrel %rel
31 License: Ruby or GPLv2
32 Group: Development/Ruby
33 BuildRequires: autoconf
34 BuildRequires: byacc
35 BuildRequires: ncurses-devel
36 BuildRequires: readline-devel
37 BuildRequires: tcl-devel tk-devel
38 BuildRequires: db-devel
39 BuildRequires: gdbm-devel >= 1.8.3
40 BuildRequires: openssl-devel
41 BuildRequires: zlib-devel
42 BuildRequires: libffi-devel
43 BuildRequires: yaml-devel
44 BuildRequires: rpm-mageia-setup >= 1.158
45 Obsoletes: ruby-rexml
46 Provides: ruby-rexml
47 # explicit file provides (since such requires are automatically added by find-requires)
48 Provides: /usr/bin/ruby
49 Provides: ruby(abi) = %subver
50
51 Source0: http://ftp.ruby-lang.org/pub/ruby/%{subver}/ruby-%{rubyver}-%{patchversion}.tar.bz2
52 Source3: ruby.macros
53 URL: http://www.ruby-lang.org/
54
55 # == FEDORA PATCHES BEGINS ==
56 # http://redmine.ruby-lang.org/issues/5231
57 Patch0: ruby-1.9.3-disable-versioned-paths.patch
58 # TODO: Should be submitted upstream?
59 Patch1: ruby-1.9.3-arch-specific-dir.patch
60 # http://redmine.ruby-lang.org/issues/5281
61 Patch2: ruby-1.9.3-added-site-and-vendor-arch-flags.patch
62 # http://redmine.ruby-lang.org/issues/5465
63 Patch4: ruby-1.9.3-fix-s390x-build.patch
64 # Fix the uninstaller, so that it doesn't say that gem doesn't exist
65 # when it exists outside of the GEM_HOME (already fixed in the upstream)
66 Patch5: ruby-1.9.3-rubygems-1.8.11-uninstaller.patch
67 # http://redmine.ruby-lang.org/issues/5135 - see comment 29
68 Patch6: ruby-1.9.3-webrick-test-fix.patch
69 # Already fixed upstream:
70 # https://github.com/ruby/ruby/commit/f212df564a4e1025f9fb019ce727022a97bfff53
71 Patch7: ruby-1.9.3-bignum-test-fix.patch
72 # Allows to install RubyGems into custom directory, outside of Ruby's tree.
73 # http://redmine.ruby-lang.org/issues/5617
74 Patch8: ruby-1.9.3-custom-rubygems-location.patch
75 # Add support for installing binary extensions according to FHS.
76 # https://github.com/rubygems/rubygems/issues/210
77 Patch9: rubygems-1.8.11-binary-extensions.patch
78 # == FEDORA PATCHES ENDS ==
79
80 %package -n %{libname}
81 Summary: Libraries necessary to run Ruby
82 Group: Development/Ruby
83
84 %package doc
85 Summary: Documentation for the powerful language Ruby
86 Group: Development/Ruby
87 BuildArch: noarch
88
89 %package devel
90 Summary: Development file for the powerful language Ruby
91 Group: Development/Ruby
92 Requires: %{name} = %{epoch}:%{version}
93 Requires: %{libname} = %{epoch}:%{version}
94
95 %package tk
96 Summary: Tk extension for the powerful language Ruby
97 Group: Development/Ruby
98 Requires: %{name} = %{epoch}:%{version}
99
100 %package RubyGems
101 Summary: The Ruby standard for packaging ruby libraries
102 Group: Development/Ruby
103 Version: %{rubygems_version}
104 Requires: ruby(abi) = %{subver}
105 Provides: gem = %{rubygems_version}
106 Provides: rubygems = %{rubygems_version}
107 Provides: ruby(rubygems) = %{rubygems_version}
108 BuildArch: noarch
109
110 %package rake
111 Summary: Simple ruby build program with capabilities similar to make
112 Group: Development/Ruby
113 Version: 0.9.2.2
114 Requires: ruby(abi) = %{subver}
115 BuildArch: noarch
116
117 %package minitest
118 Summary: Minitest provides a complete suite of testing facilities.
119 Group: Development/Ruby
120 Version: 2.5.1
121 License: MIT
122 Requires: ruby(abi) = %{subver}
123 Requires: ruby(rubygems) >= %{rubygems_version}
124 Provides: rubygem(minitest) = 2.5.1
125 BuildArch: noarch
126
127 %package json
128 Summary: This is a JSON implementation as a Ruby extension in C
129 Group: Development/Ruby
130 Version: 1.5.4
131 License: Ruby or GPLv2
132 Requires: ruby(abi) = %{subver}
133 Requires: ruby(rubygems) >= %{rubygems_version}
134 Provides: rubygem(json) = 1.5.4
135
136 %package rdoc
137 Summary: A tool to generate HTML and command-line documentation for Ruby projects
138 Group: Development/Ruby
139 Version: 3.9.4
140 License: GPLv2 and Ruby and MIT
141 Requires: ruby(abi) = %{subver}
142 Requires: ruby(rubygems) >= %{rubygems_version}
143 Requires: ruby(irb) = %{version}
144 Provides: rdoc = 3.9.4
145 Provides: ri = 3.9.4
146 BuildArch: noarch
147
148 %package irb
149 Summary: The Interactive Ruby
150 Group: Development/Ruby
151 Provides: irb = %{version}-%{release}
152 Provides: ruby(irb) = %{version}-%{release}
153 BuildArch: noarch
154
155 %package bigdecimal
156 Summary: BigDecimal provides arbitrary-precision floating point decimal arithmetic
157 Group: Development/Ruby
158 Version: 1.1.0
159 License: GPL+ or Artistic
160 Requires: ruby(abi) = %{subver}
161 Requires: ruby(rubygems) >= %{rubygems_version}
162 Provides: rubygem(bigdecimal) = 1.1.0
163
164 %package io-console
165 Summary: IO/Console is a simple console utilizing library
166 Group: Development/Ruby
167 Version: 0.3
168 Requires: ruby(abi) = %{subver}
169 Requires: ruby(rubygems) >= %{rubygems_version}
170 Provides: rubygem(io-console) = 0.3
171
172 %description
173 Ruby is the interpreted scripting language for quick and
174 easy object-oriented programming. It has many features to
175 process text files and to do system management tasks (as in
176 Perl). It is simple, straight-forward, and extensible.
177
178 %description doc
179 Ruby is the interpreted scripting language for quick and
180 easy object-oriented programming. It has many features to
181 process text files and to do system management tasks (as in
182 Perl). It is simple, straight-forward, and extensible.
183
184 This package contains the Ruby's documentation
185
186 %description -n %{libname}
187 This package includes the libruby, necessary to run Ruby.
188
189 %description devel
190 Ruby is the interpreted scripting language for quick and
191 easy object-oriented programming. It has many features to
192 process text files and to do system management tasks (as in
193 Perl). It is simple, straight-forward, and extensible.
194
195 This package contains the Ruby's devel files.
196
197 %description tk
198 Ruby is the interpreted scripting language for quick and
199 easy object-oriented programming. It has many features to
200 process text files and to do system management tasks (as in
201 Perl). It is simple, straight-forward, and extensible.
202
203 This package contains the Tk extension for Ruby.
204
205 %description RubyGems
206 RubyGems is the Ruby standard for publishing and managing third party
207 libraries.
208
209 %description rake
210 Rake is a Make-like program implemented in Ruby. Tasks and dependencies are
211 specified in standard Ruby syntax.
212
213 %description rdoc
214 RDoc produces HTML and command-line documentation for Ruby projects. RDoc
215 includes the 'rdoc' and 'ri' tools for generating and displaying online
216 documentation.
217
218 %description json
219 This is a implementation of the JSON specification according to RFC 4627.
220 You can think of it as a low fat alternative to XML, if you want to store
221 data to disk or transmit it over a network rather than use a verbose
222 markup language.
223
224 %description minitest
225 minitest/unit is a small and incredibly fast unit testing framework.
226
227 minitest/spec is a functionally complete spec engine.
228
229 minitest/benchmark is an awesome way to assert the performance of your
230 algorithms in a repeatable manner.
231
232 minitest/mock by Steven Baker, is a beautifully tiny mock object
233 framework.
234
235 minitest/pride shows pride in testing and adds coloring to your test
236 output.
237
238 %description irb
239 The irb is acronym for Interactive Ruby. It evaluates ruby expression
240 from the terminal.
241
242 %description bigdecimal
243 Ruby provides built-in support for arbitrary precision integer arithmetic.
244 For example:
245
246 42**13 -> 1265437718438866624512
247
248 BigDecimal provides similar support for very large or very accurate floating
249 point numbers. Decimal arithmetic is also useful for general calculation,
250 because it provides the correct answers people expect–whereas normal binary
251 floating point arithmetic often introduces subtle errors because of the
252 conversion between base 10 and base 2.
253
254 %description io-console
255 IO/Console provides very simple and portable access to console. It doesn't
256 provide higher layer features, such like curses and readline.
257
258 %prep
259 %setup -q -n ruby-%{rubyver}-%{patchversion}
260 %apply_patches
261
262 %build
263 autoconf
264 CFLAGS=`echo %optflags | sed 's/-fomit-frame-pointer//'`
265 %configure2_5x --enable-shared --disable-rpath --enable-pthread --disable-versioned-paths \
266 --with-rubylibprefix='%{ruby_libdir}' \
267 --with-archdir='%{ruby_libarchdir}' \
268 --with-sitedir='%{ruby_sitelibdir}' \
269 --with-sitearchdir='%{ruby_sitearchdir}' \
270 --with-vendordir='%{ruby_vendorlibdir}' \
271 --with-vendorarchdir='%{ruby_vendorarchdir}' \
272 --with-rubyhdrdir='%{_includedir}' \
273 --with-rubygemsdir='%{rubygems_dir}'
274 %make
275
276 %install
277 %makeinstall_std install-doc
278
279 install -d %buildroot%{_datadir}/emacs/site-lisp
280 cp -a misc/ruby-mode.el %buildroot%{_datadir}/emacs/site-lisp
281
282 install -d %buildroot%{_sysconfdir}/emacs/site-start.d
283 cat <<EOF >%buildroot%{_sysconfdir}/emacs/site-start.d/%{name}.el
284 (autoload 'ruby-mode "ruby-mode" "Ruby editing mode." t)
285 (add-to-list 'auto-mode-alist '("\\\\.rb$" . ruby-mode))
286 (add-to-list 'interpreter-mode-alist '("ruby" . ruby-mode))
287 EOF
288
289 # Install the rpm macros
290 mkdir -p %buildroot%{_sysconfdir}/rpm/macros.d
291 cp %{SOURCE3} %buildroot%{_sysconfdir}/rpm/macros.d
292
293 %check
294 make test
295
296 %files
297 %{_bindir}/erb
298 %{_bindir}/rake
299 %{_bindir}/rdoc
300 %{_bindir}/ri
301 %{_bindir}/ruby
302 %{_bindir}/testrb
303 %dir %{ruby_libdir}
304 %{ruby_libdir}/*.rb
305 %exclude %{ruby_libdir}/irb.rb
306 %exclude %{ruby_libdir}/multi-tk.rb
307 %exclude %{ruby_libdir}/remote-tk.rb
308 %exclude %{ruby_libdir}/tcltk.rb
309 %exclude %{ruby_libdir}/tk.rb
310 %exclude %{ruby_libdir}/tkafter.rb
311 %exclude %{ruby_libdir}/tkbgerror.rb
312 %exclude %{ruby_libdir}/tkcanvas.rb
313 %exclude %{ruby_libdir}/tkclass.rb
314 %exclude %{ruby_libdir}/tkconsole.rb
315 %exclude %{ruby_libdir}/tkdialog.rb
316 %exclude %{ruby_libdir}/tkentry.rb
317 %exclude %{ruby_libdir}/tkfont.rb
318 %exclude %{ruby_libdir}/tkmacpkg.rb
319 %exclude %{ruby_libdir}/tkmenubar.rb
320 %exclude %{ruby_libdir}/tkmngfocus.rb
321 %exclude %{ruby_libdir}/tkpalette.rb
322 %exclude %{ruby_libdir}/tkscrollbox.rb
323 %exclude %{ruby_libdir}/tktext.rb
324 %exclude %{ruby_libdir}/tkvirtevent.rb
325 %exclude %{ruby_libdir}/tkwinpkg.rb
326 %{ruby_libdir}/cgi
327 %{ruby_libdir}/date
328 %{ruby_libdir}/digest
329 %{ruby_libdir}/dl
330 %{ruby_libdir}/drb
331 %{ruby_libdir}/fiddle
332 %{ruby_libdir}/matrix
333 %{ruby_libdir}/net
334 %{ruby_libdir}/openssl
335 %{ruby_libdir}/optparse
336 %{ruby_libdir}/psych
337 %{ruby_libdir}/racc
338 %{ruby_libdir}/rbconfig
339 %{ruby_libdir}/rexml
340 %{ruby_libdir}/rinda
341 %{ruby_libdir}/ripper
342 %{ruby_libdir}/rss
343 %{ruby_libdir}/shell
344 %{ruby_libdir}/syck
345 %{ruby_libdir}/test
346 %{ruby_libdir}/uri
347 %{ruby_libdir}/webrick
348 %{ruby_libdir}/xmlrpc
349 %{ruby_libdir}/yaml
350 %dir %{ruby_libarchdir}
351 %{ruby_libarchdir}/bigdecimal.so
352 %{ruby_libarchdir}/continuation.so
353 %{ruby_libarchdir}/coverage.so
354 %{ruby_libarchdir}/curses.so
355 %{ruby_libarchdir}/date_core.so
356 %{ruby_libarchdir}/dbm.so
357 %dir %{ruby_libarchdir}/digest
358 %{ruby_libarchdir}/digest.so
359 %{ruby_libarchdir}/digest/*.so
360 %dir %{ruby_libarchdir}/dl
361 %{ruby_libarchdir}/dl.so
362 %{ruby_libarchdir}/dl/*.so
363 %dir %{ruby_libarchdir}/enc
364 %{ruby_libarchdir}/enc/*.so
365 %dir %{ruby_libarchdir}/enc/trans
366 %{ruby_libarchdir}/enc/trans/*.so
367 %{ruby_libarchdir}/etc.so
368 %{ruby_libarchdir}/fcntl.so
369 %{ruby_libarchdir}/fiber.so
370 %{ruby_libarchdir}/fiddle.so
371 %{ruby_libarchdir}/gdbm.so
372 %{ruby_libarchdir}/iconv.so
373 %dir %{ruby_libarchdir}/io
374 %{ruby_libarchdir}/io/nonblock.so
375 %{ruby_libarchdir}/io/wait.so
376 %dir %{ruby_libarchdir}/mathn
377 %{ruby_libarchdir}/mathn/*.so
378 %{ruby_libarchdir}/nkf.so
379 %{ruby_libarchdir}/objspace.so
380 %{ruby_libarchdir}/openssl.so
381 %{ruby_libarchdir}/pathname.so
382 %{ruby_libarchdir}/psych.so
383 %{ruby_libarchdir}/pty.so
384 %dir %{ruby_libarchdir}/racc
385 %{ruby_libarchdir}/racc/*.so
386 %{ruby_libarchdir}/rbconfig.rb
387 %{ruby_libarchdir}/readline.so
388 %{ruby_libarchdir}/ripper.so
389 %{ruby_libarchdir}/sdbm.so
390 %{ruby_libarchdir}/socket.so
391 %{ruby_libarchdir}/stringio.so
392 %{ruby_libarchdir}/strscan.so
393 %{ruby_libarchdir}/syck.so
394 %{ruby_libarchdir}/syslog.so
395 %{ruby_libarchdir}/zlib.so
396 %{_mandir}/man1/erb.1.*
397 %{_mandir}/man1/ri.1.*
398 %{_mandir}/man1/ruby.1.*
399 %{_datadir}/emacs/site-lisp/*
400 %config(noreplace) %{_sysconfdir}/emacs/site-start.d/*
401 %{_sysconfdir}/rpm/macros.d/%{name}.macros
402 %{_datadir}/ruby/site_ruby
403 %{_libdir}/ruby/site_ruby
404 %{_datadir}/ruby/vendor_ruby
405 %{_libdir}/ruby/vendor_ruby
406
407 %files doc
408 %{_datadir}/ri
409
410 %files -n %{libname}
411 %{_libdir}/libruby.so.%{subver}
412 %{_libdir}/libruby.so.%{rubyapi}
413
414 %files devel
415 %{_includedir}/*
416 %{_libdir}/libruby-static.a
417 %{_libdir}/libruby.so
418 %{_libdir}/pkgconfig/*.pc
419
420 %files tk
421 %{ruby_libarchdir}/tcltklib.so
422 %{ruby_libarchdir}/tkutil.so
423 %{ruby_libdir}/multi-tk.rb
424 %{ruby_libdir}/remote-tk.rb
425 %{ruby_libdir}/tcltk.rb
426 %{ruby_libdir}/tk.rb
427 %{ruby_libdir}/tkafter.rb
428 %{ruby_libdir}/tkbgerror.rb
429 %{ruby_libdir}/tkcanvas.rb
430 %{ruby_libdir}/tkclass.rb
431 %{ruby_libdir}/tkconsole.rb
432 %{ruby_libdir}/tkdialog.rb
433 %{ruby_libdir}/tkentry.rb
434 %{ruby_libdir}/tkfont.rb
435 %{ruby_libdir}/tkmacpkg.rb
436 %{ruby_libdir}/tkmenubar.rb
437 %{ruby_libdir}/tkmngfocus.rb
438 %{ruby_libdir}/tkpalette.rb
439 %{ruby_libdir}/tkscrollbox.rb
440 %{ruby_libdir}/tktext.rb
441 %{ruby_libdir}/tkvirtevent.rb
442 %{ruby_libdir}/tkwinpkg.rb
443 %{ruby_libdir}/tk
444 %{ruby_libdir}/tkextlib
445
446 %files RubyGems
447 %{_bindir}/gem
448 %dir %{rubygems_dir}
449 %{rubygems_dir}/rbconfig
450 %{rubygems_dir}/rubygems
451 %{rubygems_dir}/rubygems.rb
452 %{rubygems_dir}/ubygems.rb
453
454 %files minitest
455 %{ruby_libdir}/minitest
456 %{rubygems_dir}/%{rubyapi}/specifications/minitest-*.gemspec
457
458 %files rake
459 %{_bindir}/rake
460 %{_mandir}/man1/rake.1.*
461 %{ruby_libdir}/rake
462 %{rubygems_dir}/%{rubyapi}/gems/rake-*
463 %{rubygems_dir}/%{rubyapi}/specifications/rake-*.gemspec
464
465 %files rdoc
466 %{_bindir}/rdoc
467 %{_bindir}/ri
468 %{ruby_libdir}/rdoc
469 %{rubygems_dir}/%{rubyapi}/gems/rdoc-*
470 %{rubygems_dir}/%{rubyapi}/specifications/rdoc-*.gemspec
471 %{_mandir}/man1/ri.1.*
472
473 %files json
474 %dir %{ruby_libarchdir}/json
475 %dir %{ruby_libarchdir}/json/ext
476 %{ruby_libarchdir}/json/ext/*.so
477 %{ruby_libdir}/json
478 %{rubygems_dir}/%{rubyapi}/specifications/json-*.gemspec
479
480 %files irb
481 %{_bindir}/irb
482 %{ruby_libdir}/irb.rb
483 %{ruby_libdir}/irb
484 %{_mandir}/man1/irb.1*
485
486 %files bigdecimal
487 %{ruby_libdir}/bigdecimal
488 %{ruby_libarchdir}/bigdecimal.so
489 %{_libdir}/gems/exts/bigdecimal-*
490 %{rubygems_dir}/%{rubyapi}/gems/bigdecimal-*
491 %{rubygems_dir}/%{rubyapi}/specifications/bigdecimal-*.gemspec
492
493 %files io-console
494 %{ruby_libdir}/io
495 %{ruby_libarchdir}/io/console.so
496 %{_libdir}/gems/exts/io-console-*
497 %{rubygems_dir}/%{rubyapi}/gems/io-console-*
498 %{rubygems_dir}/%{rubyapi}/specifications/io-console-*.gemspec

  ViewVC Help
Powered by ViewVC 1.1.30