]> git.pld-linux.org Git - packages/ruby.git/blob - ruby.spec
- info is no more
[packages/ruby.git] / ruby.spec
1 #
2 # Conditional build:
3 %bcond_without  doc     # skip generating docs (which is time-consuming). Intended for speed up test builds
4 %bcond_without  emacs   # skip building package with ruby-mode for emacs
5 %bcond_without  tk      # skip building package with Tk bindings
6 #
7 %define         ruby_ver        1.9
8 %define         ruby_ridir      %{_datadir}/ri/%{ruby_ver}/system
9 %define         ruby_rdocdir    %{_datadir}/rdoc
10 %define         stdlibdoc_version       0.10.1
11 %define         patchlevel 378
12 %define         basever 1.9.1
13 Summary:        Ruby - interpreted scripting language
14 Summary(ja.UTF-8):      オブジェクト指向言語Rubyインタプリタ
15 Summary(pl.UTF-8):      Ruby - interpretowany język skryptowy
16 Summary(pt_BR.UTF-8):   Linguagem de script orientada a objeto
17 Summary(zh_CN.UTF-8):   ruby - 一种快速高效的面向对象脚本编程语言
18 Name:           ruby
19 Version:        %{basever}.%{patchlevel}
20 Release:        0.1
21 Epoch:          1
22 License:        The Ruby License
23 Group:          Development/Languages
24 Source0:        ftp://ftp.ruby-lang.org/pub/ruby/%{name}-%{basever}-p%{patchlevel}.tar.bz2
25 # Source0-md5:  5922459622a23612eb9b68a3586cb5f8
26 Source1:        http://www.ruby-doc.org/download/%{name}-doc-bundle.tar.gz
27 # Source1-md5:  ad1af0043be98ba1a4f6d0185df63876
28 Source2:        http://www.ruby-doc.org/download/stdlib/%{name}-doc-stdlib-%{stdlibdoc_version}.tgz
29 # Source2-md5:  5437c281b44e7a4af142d2bd35eba407
30 Source3:        rdoc.1
31 Source4:        testrb.1
32 Source5:        %{name}-mode-init.el
33 Patch0:         %{name}-mkmf-shared.patch
34 Patch1:         %{name}-lib64.patch
35 URL:            http://www.ruby-lang.org/
36 BuildRequires:  autoconf
37 BuildRequires:  automake
38 BuildRequires:  db-devel
39 %{?with_emacs:BuildRequires:    emacs}
40 BuildRequires:  gdbm-devel >= 1.8.3
41 BuildRequires:  ncurses-devel
42 BuildRequires:  openssl-devel
43 BuildRequires:  readline-devel >= 4.2
44 BuildRequires:  sed >= 4.0
45 BuildRequires:  texinfo
46 %if %{with tk}
47 BuildRequires:  tk-devel
48 %endif
49 BuildRequires:  unzip
50 Requires(post,postun):  /sbin/ldconfig
51 Provides:       ruby(ver) = %{ruby_ver}
52 Obsoletes:      rdoc
53 Obsoletes:      ruby-REXML
54 Obsoletes:      ruby-doc < 1.8.4
55 Obsoletes:      ruby-fastthread
56 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
57
58 # bleh, some nasty (gcc or ruby) bug still not fixed
59 # (SEGV or "unexpected break" on miniruby run during build)
60 %define         specflags_ia64  -O0
61
62 # ruby needs frame pointers for correct exception handling
63 %define         specflags_ia32  -fno-omit-frame-pointer
64
65 %description
66 Ruby is the interpreted scripting language for quick and easy
67 object-oriented programming. It has many features to process text
68 files and to do system management tasks (as in Perl). It is simple,
69 straight-forward, extensible, and portable.
70
71 This package contains only shared library and ruby interpreter. To get
72 full-functional ruby environment install ruby-modules package.
73
74 %description -l ja.UTF-8
75 Rubyはシンプルかつ強力なオブジェクト指向スクリプト言語です.Rubyは最初
76 から純粋なオブジェクト指向言語として設計されていますから,オブジェクト
77 指向プログラミングを手軽に行う事が出来ます.もちろん通常の手続き型のプ
78 ログラミングも可能です.
79
80 %description -l pl.UTF-8
81 Ruby to interpretowany język skryptowy, w sam raz dla łatwego i
82 szybkiego pisania zorientowanych obiektowo programów. Ma wiele funkcji
83 ułatwiających przetwarzanie plików tekstowych i wykonywanie prac
84 związanych z zarządzaniem systemu (podobnie jak Perl). Jest prosty,
85 rozszerzalny i przenośny.
86
87 Ten pakiet zawiera tylko bibliotekę dzieloną i interpreter ruby.
88 Zainstaluj pakiet ruby-modules, jeżeli potrzebujesz w pełni
89 funkcjonalnego środowiska ruby.
90
91 %description -l pt_BR.UTF-8
92 Ruby é uma linguagem de script interpretada de programação orientada a
93 objeto. Possui diversas características para processamento de texto. É
94 simples, extensível e direta.
95
96 %package modules
97 Summary:        Ruby standard modules and utilities
98 Summary(pl.UTF-8):      Standardowe moduły i narzędzia dla języka Ruby
99 Group:          Development/Languages
100 Requires:       %{name} = %{epoch}:%{version}-%{release}
101 Provides:       ruby-modules(ver) = %{ruby_ver}
102
103 %description modules
104 Ruby standard modules and utilities:
105 - erb - Tiny eRuby
106 - rdoc - documentation tool for source code
107 - irb - interactive Ruby
108 - ri - Ruby interactive reference
109 - testrb - automatic runner for Test::Unit of Ruby
110
111 %description modules -l pl.UTF-8
112 Standardowe moduły i narzędzia Ruby:
113 - erb - mały eRuby
114 - rdoc - narzędzie do dokumentowania kodu źródłowego
115 - irb - interaktywny Ruby
116 - ri - interaktywna dokumentacja Ruby
117 - testrb - automatyczny runner dla Ruby Test::Unit
118
119 %package tk
120 Summary:        Ruby/Tk bindings
121 Summary(pl.UTF-8):      Wiązania Ruby/Tk
122 Group:          Development/Languages
123 Requires:       %{name}-modules = %{epoch}:%{version}-%{release}
124
125 %description tk
126 This pachage contains Ruby/Tk bindings.
127
128 %description tk -l pl.UTF-8
129 Ten pakiet zawiera wiązania Ruby/Tk.
130
131 %package devel
132 Summary:        Ruby development libraries
133 Summary(pl.UTF-8):      Biblioteki programistyczne interpretera języka Ruby
134 Group:          Development/Languages
135 Requires:       %{name}-modules = %{epoch}:%{version}-%{release}
136
137 %description devel
138 Ruby development libraries.
139
140 %description devel -l pl.UTF-8
141 Biblioteki programistyczne interpretera języka Ruby.
142
143 %package static
144 Summary:        Ruby static libraries
145 Summary(pl.UTF-8):      Biblioteki statyczne Ruby
146 Group:          Development/Languages
147 Requires:       %{name}-devel = %{epoch}:%{version}-%{release}
148
149 %description static
150 Ruby static libraries.
151
152 %description static -l pl.UTF-8
153 Biblioteki statyczne Ruby.
154
155 %package doc
156 Summary:        Ruby HTML documentation
157 Summary(pl.UTF-8):      Dokumentacja HTML do Ruby
158 Group:          Documentation
159
160 %description doc
161 Ruby HTML documentation: FAQ, guide, core and standard library.
162
163 %description doc -l pl.UTF-8
164 Dokumentacja HTML do Ruby: FAQ, przewodnik, dokumentacja dla core i
165 stdlib.
166
167 %package doc-ri
168 Summary:        Ruby ri documentation
169 Summary(pl.UTF-8):      Dokumentacja Ruby w formacie ri
170 Group:          Documentation
171 Requires:       %{name}-modules = %{epoch}:%{version}-%{release}
172
173 %description doc-ri
174 Ruby ri documentation.
175
176 %description doc-ri -l pl.UTF-8
177 Dokumentacja Ruby w formacie ri.
178
179 %package examples
180 Summary:        Ruby examples
181 Summary(pl.UTF-8):      Przykłady dla języka Ruby
182 Group:          Development/Languages
183
184 %description examples
185 Ruby examples.
186
187 %description examples -l pl.UTF-8
188 Przykłady programów w języku Ruby.
189
190 %package emacs-mode
191 Summary:        Ruby mode and debugger for Emacs
192 Summary(pl.UTF-8):      Tryb Ruby i debugger dla Emacsa
193 Group:          Development/Tools
194 Requires:       %{name}-modules = %{epoch}:%{version}-%{release}
195 Requires:       emacs-common
196
197 %description emacs-mode
198 Ruby mode and debugger for Emacs.
199
200 %description emacs-mode -l pl.UTF-8
201 Tryb Ruby i debugger dla Emacsa.
202
203 %prep
204 %setup -q -n %{name}-%{basever}-p%{patchlevel} -a1 -a2
205 %patch0 -p1
206 %patch1 -p1
207
208 find -type f '(' -name '*.rb' -o -name '*.cgi' -o -name '*.test' -o -name 'ruby.1' \
209         -o -name 'ruby.info*' -o -name '*.html' -o -name '*.tcl' -o -name '*.texi' ')' \
210         | xargs %{__sed} -i 's,/usr/local/bin/,%{_bindir}/,'
211
212 %build
213 cp -f /usr/share/automake/config.sub .
214
215 %{__autoconf}
216 %configure \
217         --enable-shared \
218         --with-default-kcode=utf8 \
219         --enable-pthread
220
221 %{__make}
222
223 %if %{with doc}
224 mkdir rdoc
225
226 RUBYLIB=".:lib:$(find ext .ext -type d | tr '\n' ':')"
227 export RUBYLIB
228 LD_LIBRARY_PATH=$(pwd)
229 export LD_LIBRARY_PATH
230
231 ./miniruby bin/rdoc --inline-source --op rdoc/core \
232         array.c bignum.c class.c compar.c dir.c dln.c dmyext.c enum.c \
233         error.c eval.c file.c gc.c hash.c inits.c io.c lex.c main.c marshal.c \
234         math.c numeric.c object.c pack.c parse.c prec.c process.c random.c range.c \
235         re.c regex.c ruby.c signal.c sprintf.c st.c string.c struct.c time.c util.c \
236         variable.c version.c \
237         lib/English.rb lib/abbrev.rb lib/base64.rb lib/benchmark.rb lib/cgi.rb \
238         lib/cgi/session.rb lib/complex.rb lib/date.rb lib/fileutils.rb lib/find.rb \
239         lib/generator.rb lib/logger.rb lib/matrix.rb lib/observer.rb \
240         lib/pathname.rb lib/set.rb lib/shellwords.rb lib/singleton.rb \
241         lib/tempfile.rb lib/test/unit.rb lib/thread.rb lib/thwait.rb \
242         lib/time.rb lib/yaml.rb
243
244 mv ruby-doc-stdlib-%{stdlibdoc_version}/stdlib rdoc/stdlib
245 mv ri/%{ruby_ver}/site ri/%{ruby_ver}/system
246
247 ./miniruby bin/rdoc --ri -o ri/%{ruby_ver}/system \
248         array.c bignum.c class.c compar.c dir.c dln.c \
249         dmyext.c enum.c error.c eval.c file.c gc.c hash.c inits.c io.c lex.c main.c \
250         marshal.c math.c numeric.c object.c pack.c parse.c prec.c process.c \
251         random.c range.c re.c regex.c ruby.c signal.c sprintf.c st.c string.c \
252         struct.c time.c util.c variable.c version.c \
253         lib/English.rb lib/abbrev.rb lib/base64.rb lib/benchmark.rb lib/cgi.rb \
254         lib/cgi/session.rb lib/complex.rb lib/date.rb lib/fileutils.rb lib/find.rb \
255         lib/generator.rb lib/logger.rb lib/matrix.rb lib/observer.rb lib/pathname.rb \
256         lib/set.rb lib/shellwords.rb lib/singleton.rb lib/tempfile.rb \
257         lib/test/unit.rb lib/thread.rb lib/thwait.rb lib/time.rb lib/yaml.rb
258 %endif
259
260 %install
261 rm -rf $RPM_BUILD_ROOT
262 install -d $RPM_BUILD_ROOT{%{_datadir}/%{name},%{_infodir},%{_mandir}/man1,%{_examplesdir}/%{name}-%{version},%{ruby_ridir},%{ruby_rdocdir}}
263
264 %{__make} install \
265         DESTDIR=$RPM_BUILD_ROOT
266
267 cp -Rf sample/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
268 cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_mandir}/man1
269 cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_mandir}/man1
270
271 cp -Rf ruby-uguide guide
272 cp -Rf rubyfaq faq
273
274 # ruby emacs mode - borrowed from FC-4
275 %if %{with emacs}
276 install -d $RPM_BUILD_ROOT%{_emacs_lispdir}/{%{name}-mode,site-start.d}
277 cp -a misc/*.el $RPM_BUILD_ROOT%{_emacs_lispdir}/%{name}-mode
278 rm -f $RPM_BUILD_ROOT%{_emacs_lispdir}/%{name}-mode/rubydb2x.el*
279 install -p %{SOURCE5} $RPM_BUILD_ROOT%{_emacs_lispdir}/site-start.d
280 cat << 'EOF' > path.el
281 (setq load-path (cons "." load-path) byte-compile-warnings nil)
282 EOF
283 emacs --no-site-file -q -batch -l path.el -f batch-byte-compile $RPM_BUILD_ROOT%{_emacs_lispdir}/%{name}-mode/*.el
284 rm -f path.el*
285 %endif
286
287 %clean
288 rm -rf $RPM_BUILD_ROOT
289
290 %post   -p /sbin/ldconfig
291 %postun -p /sbin/ldconfig
292
293 %files
294 %defattr(644,root,root,755)
295 %doc README README.EXT ChangeLog ToDo
296 %attr(755,root,root) %{_bindir}/ruby
297 %attr(755,root,root) %{_libdir}/libruby.so.*.*.*
298 %attr(755,root,root) %ghost %{_libdir}/libruby.so.1.8
299 %{_mandir}/man1/ruby.1*
300 %dir %{_libdir}/%{name}
301 %dir %{_libdir}/%{name}/%{ruby_ver}
302 %dir %{_libdir}/%{name}/%{ruby_ver}/*-linux*
303 %dir %{_libdir}/%{name}/site_ruby
304 %dir %{_libdir}/%{name}/site_ruby/%{ruby_ver}
305 %dir %{_libdir}/%{name}/site_ruby/%{ruby_ver}/*-linux*
306 %dir %{_libdir}/%{name}/vendor_ruby
307 %dir %{_libdir}/%{name}/vendor_ruby/%{ruby_ver}
308 %dir %{_libdir}/%{name}/vendor_ruby/%{ruby_ver}/*-linux*
309 %dir %{_datadir}/%{name}
310 %dir %{_datadir}/ri
311 %dir %{_datadir}/ri/%{ruby_ver}
312 %dir %{_datadir}/ri/%{ruby_ver}/system
313 %dir %{ruby_rdocdir}
314
315 %files devel
316 %defattr(644,root,root,755)
317 %attr(755,root,root) %{_libdir}/libruby.so
318 %{_libdir}/%{name}/%{ruby_ver}/*/*.h
319
320 %files static
321 %defattr(644,root,root,755)
322 %{_libdir}/libruby-static.a
323
324 %if %{with tk}
325 %files tk
326 %defattr(644,root,root,755)
327 %{_libdir}/%{name}/%{ruby_ver}/tcltk.rb
328 %{_libdir}/%{name}/%{ruby_ver}/tk*.rb
329 %{_libdir}/%{name}/%{ruby_ver}/tk
330 %{_libdir}/%{name}/%{ruby_ver}/tkextlib
331 %attr(755,root,root) %{_libdir}/%{name}/%{ruby_ver}/*-linux*/t*.so
332 %endif
333
334 %files modules
335 %defattr(644,root,root,755)
336 %attr(755,root,root) %{_bindir}/erb
337 %attr(755,root,root) %{_bindir}/irb
338 %attr(755,root,root) %{_bindir}/rdoc
339 %attr(755,root,root) %{_bindir}/ri
340 %attr(755,root,root) %{_bindir}/testrb
341 %{_libdir}/%{name}/%{ruby_ver}/bigdecimal
342 %{_libdir}/%{name}/%{ruby_ver}/cgi
343 %{_libdir}/%{name}/%{ruby_ver}/date
344 %{_libdir}/%{name}/%{ruby_ver}/digest
345 %{_libdir}/%{name}/%{ruby_ver}/dl
346 %{_libdir}/%{name}/%{ruby_ver}/drb
347 %{_libdir}/%{name}/%{ruby_ver}/io
348 %{_libdir}/%{name}/%{ruby_ver}/irb
349 %{_libdir}/%{name}/%{ruby_ver}/net
350 %{_libdir}/%{name}/%{ruby_ver}/openssl
351 %{_libdir}/%{name}/%{ruby_ver}/optparse
352 %{_libdir}/%{name}/%{ruby_ver}/racc
353 %{_libdir}/%{name}/%{ruby_ver}/rdoc
354 %{_libdir}/%{name}/%{ruby_ver}/rexml
355 %{_libdir}/%{name}/%{ruby_ver}/rinda
356 %{_libdir}/%{name}/%{ruby_ver}/rss
357 %{_libdir}/%{name}/%{ruby_ver}/runit
358 %{_libdir}/%{name}/%{ruby_ver}/shell
359 %{_libdir}/%{name}/%{ruby_ver}/soap
360 %{_libdir}/%{name}/%{ruby_ver}/test
361 %{_libdir}/%{name}/%{ruby_ver}/uri
362 %{_libdir}/%{name}/%{ruby_ver}/webrick
363 %{_libdir}/%{name}/%{ruby_ver}/wsdl
364 %{_libdir}/%{name}/%{ruby_ver}/xmlrpc
365 %{_libdir}/%{name}/%{ruby_ver}/xsd
366 %{_libdir}/%{name}/%{ruby_ver}/yaml
367 %{_libdir}/%{name}/%{ruby_ver}/[A-Za-s]*.rb
368 %{_libdir}/%{name}/%{ruby_ver}/tempfile.rb
369 %{_libdir}/%{name}/%{ruby_ver}/thread.rb
370 %{_libdir}/%{name}/%{ruby_ver}/thwait.rb
371 %{_libdir}/%{name}/%{ruby_ver}/time.rb
372 %{_libdir}/%{name}/%{ruby_ver}/timeout.rb
373 %{_libdir}/%{name}/%{ruby_ver}/tmpdir.rb
374 %{_libdir}/%{name}/%{ruby_ver}/tracer.rb
375 %{_libdir}/%{name}/%{ruby_ver}/tsort.rb
376 %{_libdir}/%{name}/%{ruby_ver}/[u-z]*.rb
377 %dir %{_libdir}/%{name}/%{ruby_ver}/*-linux*/digest
378 %dir %{_libdir}/%{name}/%{ruby_ver}/*-linux*/io
379 %dir %{_libdir}/%{name}/%{ruby_ver}/*-linux*/racc
380 %attr(755,root,root) %{_libdir}/%{name}/%{ruby_ver}/*-linux*/[a-s]*.so
381 %attr(755,root,root) %{_libdir}/%{name}/%{ruby_ver}/*-linux*/thread.so
382 %attr(755,root,root) %{_libdir}/%{name}/%{ruby_ver}/*-linux*/[u-z]*.so
383 %attr(755,root,root) %{_libdir}/%{name}/%{ruby_ver}/*-linux*/digest/*.so
384 %attr(755,root,root) %{_libdir}/%{name}/%{ruby_ver}/*-linux*/io/*.so
385 %attr(755,root,root) %{_libdir}/%{name}/%{ruby_ver}/*-linux*/racc/*.so
386 %{_libdir}/%{name}/%{ruby_ver}/*-linux*/rbconfig.rb
387 %{_mandir}/man1/erb.1*
388 %{_mandir}/man1/irb.1*
389 %{_mandir}/man1/rdoc.1*
390 %{_mandir}/man1/ri.1*
391 %{_mandir}/man1/testrb.1*
392
393 %files doc
394 %defattr(644,root,root,755)
395 %doc faq guide
396 %{?with_doc:%doc rdoc}
397
398 %if %{with doc}
399 %files doc-ri
400 %defattr(644,root,root,755)
401 %{_datadir}/ri/%{ruby_ver}/system/*
402 %endif
403
404 %files examples
405 %defattr(644,root,root,755)
406 %{_examplesdir}/%{name}-%{version}
407
408 %if %{with emacs}
409 %files emacs-mode
410 %defattr(644,root,root,755)
411 %doc misc/*
412 %dir %{_emacs_lispdir}/%{name}-mode
413 %{_emacs_lispdir}/%{name}-mode/*.elc
414 %{_emacs_lispdir}/site-start.d/*.el
415 %endif
This page took 0.098697 seconds and 4 git commands to generate.