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