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