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

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

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.30