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