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

Annotation of /cauldron/ruby/pristine/SPECS/ruby.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 291598 - (hide annotations) (download)
Mon Sep 10 06:55:35 2012 UTC (11 years, 6 months ago) by fwang
Original Path: cauldron/ruby/current/SPECS/ruby.spec
File size: 14631 byte(s)
SILENT: update file list
1 fwang 289958 %define subver 1.9
2 fwang 290007 %define rubyapi 1.9.1
3 fwang 289958 %define rubyver 1.9.3
4     %define patchversion p194
5 fwang 291557 %define rel 3
6 blino 1152
7 fwang 291590 %define libname %mklibname ruby %{subver}
8    
9 fwang 291557 %define ruby_libdir %{_datadir}/%{name}
10     %define ruby_libarchdir %{_libdir}/%{name}
11    
12 fwang 290007 # This is the local lib/arch and should not be used for packaging.
13 fwang 291557 %define ruby_sitelibdir %{_datadir}/ruby/site_ruby
14     %define ruby_sitearchdir %{_libdir}/ruby/site_ruby
15 fwang 290007
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 fwang 291551 %define ruby_vendorlibdir %{_datadir}/ruby/vendor_ruby
19 fwang 291557 %define ruby_vendorarchdir %{_libdir}/ruby/vendor_ruby
20 fwang 290007
21     # The RubyGems library has to stay out of Ruby directory three, since the
22     # RubyGems should be share by all Ruby implementations.
23 fwang 291557 %define rubygems_dir %{_datadir}/ruby/gems
24 fwang 291590 %define rubygems_version 1.8.23
25 fwang 290007
26 blino 1152 Summary: Object Oriented Script Language
27     Name: ruby
28 fwang 291590 Epoch: 1
29 blino 1152 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 fwang 276350 BuildRequires: db-devel
39 fwang 176940 BuildRequires: gdbm-devel >= 1.8.3
40 blino 1152 BuildRequires: openssl-devel
41     BuildRequires: zlib-devel
42 fwang 289987 BuildRequires: libffi-devel
43     BuildRequires: yaml-devel
44 fwang 289998 BuildRequires: rpm-mageia-setup >= 1.158
45 blino 1152 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 fwang 289958 Source0: http://ftp.ruby-lang.org/pub/ruby/%{subver}/ruby-%{rubyver}-%{patchversion}.tar.bz2
52 blino 1152 Source3: ruby.macros
53     URL: http://www.ruby-lang.org/
54    
55 fwang 290007 # == 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 fwang 291591 %package -n %{libname}
81 fwang 291590 Summary: Libraries necessary to run Ruby
82     Group: Development/Ruby
83    
84 blino 1152 %package doc
85     Summary: Documentation for the powerful language Ruby
86     Group: Development/Ruby
87 fwang 202696 BuildArch: noarch
88 blino 1152
89     %package devel
90     Summary: Development file for the powerful language Ruby
91     Group: Development/Ruby
92 fwang 291590 Requires: %{name} = %{epoch}:%{version}
93     Requires: %{libname} = %{epoch}:%{version}
94 blino 1152
95     %package tk
96     Summary: Tk extension for the powerful language Ruby
97     Group: Development/Ruby
98 fwang 291590 Requires: %{name} = %{epoch}:%{version}
99 blino 1152
100 fwang 291551 %package RubyGems
101     Summary: The Ruby standard for packaging ruby libraries
102     Group: Development/Ruby
103 fwang 291590 Version: %{rubygems_version}
104 fwang 291551 Requires: ruby(abi) = %{subver}
105 fwang 291590 Provides: gem = %{rubygems_version}
106     Provides: rubygems = %{rubygems_version}
107     Provides: ruby(rubygems) = %{rubygems_version}
108 fwang 291561 BuildArch: noarch
109 fwang 291551
110     %package rake
111     Summary: Simple ruby build program with capabilities similar to make
112     Group: Development/Ruby
113 fwang 291590 Version: 0.9.2.2
114 fwang 291551 Requires: ruby(abi) = %{subver}
115 fwang 291561 BuildArch: noarch
116 fwang 291551
117 fwang 291562 %package minitest
118     Summary: Minitest provides a complete suite of testing facilities.
119     Group: Development/Ruby
120 fwang 291590 Version: 2.5.1
121 fwang 291562 License: MIT
122 fwang 291590 Requires: ruby(abi) = %{subver}
123     Requires: ruby(rubygems) >= %{rubygems_version}
124     Provides: rubygem(minitest) = 2.5.1
125 fwang 291562 BuildArch: noarch
126    
127     %package json
128     Summary: This is a JSON implementation as a Ruby extension in C
129     Group: Development/Ruby
130 fwang 291590 Version: 1.5.4
131 fwang 291562 License: Ruby or GPLv2
132 fwang 291590 Requires: ruby(abi) = %{subver}
133     Requires: ruby(rubygems) >= %{rubygems_version}
134     Provides: rubygem(json) = 1.5.4
135 fwang 291562
136     %package rdoc
137     Summary: A tool to generate HTML and command-line documentation for Ruby projects
138     Group: Development/Ruby
139 fwang 291590 Version: 3.9.4
140 fwang 291562 License: GPLv2 and Ruby and MIT
141 fwang 291590 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 fwang 291562 BuildArch: noarch
147    
148 fwang 291590 %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 blino 1152 %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 fwang 291590 %description -n %{libname}
187     This package includes the libruby, necessary to run Ruby.
188    
189 blino 1152 %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 fwang 291551 %description RubyGems
206     RubyGems is the Ruby standard for publishing and managing third party
207     libraries.
208    
209 fwang 291552 %description rake
210     Rake is a Make-like program implemented in Ruby. Tasks and dependencies are
211     specified in standard Ruby syntax.
212    
213 fwang 291562 %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 fwang 291590 %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 blino 1152 %prep
259     %setup -q -n ruby-%{rubyver}-%{patchversion}
260 fwang 290007 %apply_patches
261 blino 1152
262     %build
263 fwang 290038 autoconf
264 blino 1152 CFLAGS=`echo %optflags | sed 's/-fomit-frame-pointer//'`
265 fwang 291557 %configure2_5x --enable-shared --disable-rpath --enable-pthread --disable-versioned-paths \
266     --with-rubylibprefix='%{ruby_libdir}' \
267     --with-archdir='%{ruby_libarchdir}' \
268 fwang 290007 --with-sitedir='%{ruby_sitelibdir}' \
269     --with-sitearchdir='%{ruby_sitearchdir}' \
270     --with-vendordir='%{ruby_vendorlibdir}' \
271     --with-vendorarchdir='%{ruby_vendorarchdir}' \
272 fwang 291559 --with-rubyhdrdir='%{_includedir}' \
273 fwang 290022 --with-rubygemsdir='%{rubygems_dir}'
274 blino 1152 %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 fwang 289961
293 blino 1152 %check
294     make test
295    
296 fwang 289961 %files
297 fwang 291551 %{_bindir}/erb
298     %{_bindir}/rake
299     %{_bindir}/rdoc
300     %{_bindir}/ri
301     %{_bindir}/ruby
302     %{_bindir}/testrb
303 fwang 291560 %dir %{ruby_libdir}
304     %{ruby_libdir}/*.rb
305 fwang 291590 %exclude %{ruby_libdir}/irb.rb
306 fwang 291560 %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 fwang 291562 %{ruby_libarchdir}/bigdecimal.so
352 fwang 291560 %{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 fwang 291562 %dir %{ruby_libarchdir}/enc/trans
366     %{ruby_libarchdir}/enc/trans/*.so
367 fwang 291560 %{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 fwang 291562 %{ruby_libarchdir}/mathn/*.so
378 fwang 291560 %{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 fwang 291551 %{_mandir}/man1/erb.1.*
397     %{_mandir}/man1/ri.1.*
398     %{_mandir}/man1/ruby.1.*
399 blino 1152 %{_datadir}/emacs/site-lisp/*
400     %config(noreplace) %{_sysconfdir}/emacs/site-start.d/*
401     %{_sysconfdir}/rpm/macros.d/%{name}.macros
402 fwang 291560 %{_datadir}/ruby/site_ruby
403     %{_libdir}/ruby/site_ruby
404     %{_datadir}/ruby/vendor_ruby
405     %{_libdir}/ruby/vendor_ruby
406 blino 1152
407     %files doc
408     %{_datadir}/ri
409    
410 fwang 291590 %files -n %{libname}
411     %{_libdir}/libruby.so.%{subver}
412     %{_libdir}/libruby.so.%{rubyapi}
413    
414 blino 1152 %files devel
415 fwang 290003 %{_includedir}/*
416 blino 1152 %{_libdir}/libruby-static.a
417     %{_libdir}/libruby.so
418 fwang 290003 %{_libdir}/pkgconfig/*.pc
419 blino 1152
420     %files tk
421 fwang 291560 %{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 fwang 291551
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 fwang 291562 %files minitest
455     %{ruby_libdir}/minitest
456 fwang 291563 %{rubygems_dir}/%{rubyapi}/specifications/minitest-*.gemspec
457 fwang 291562
458 fwang 291551 %files rake
459     %{_bindir}/rake
460     %{_mandir}/man1/rake.1.*
461 fwang 291562 %{ruby_libdir}/rake
462 fwang 291563 %{rubygems_dir}/%{rubyapi}/gems/rake-*
463 fwang 291590 %{rubygems_dir}/%{rubyapi}/specifications/rake-*.gemspec
464 fwang 291562
465     %files rdoc
466     %{_bindir}/rdoc
467     %{_bindir}/ri
468     %{ruby_libdir}/rdoc
469 fwang 291563 %{rubygems_dir}/%{rubyapi}/gems/rdoc-*
470     %{rubygems_dir}/%{rubyapi}/specifications/rdoc-*.gemspec
471 fwang 291562 %{_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 fwang 291563 %{rubygems_dir}/%{rubyapi}/specifications/json-*.gemspec
479 fwang 291590
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    
490     %files io-console
491     %{ruby_libdir}/io
492     %{ruby_libarchdir}/io/console.so

  ViewVC Help
Powered by ViewVC 1.1.30