]> git.pld-linux.org Git - packages/ruby.git/blobdiff - ruby.spec
- outdated
[packages/ruby.git] / ruby.spec
index 3760f203d46b9e1af150ff823698a71a628b8cce..8c6efed7608e65ebad2878c813fe483884e70f95 100644 (file)
--- a/ruby.spec
+++ b/ruby.spec
@@ -1,23 +1,31 @@
+# TODO
+# - include ext/ in docs
+# - replace ri with fastri
+# - patch ri to search multiple indexes (one per package), so RPMs can
+#   install ri docs
 #
 # Conditional build:
+%bcond_without doc     # skip generating docs (which is time-consuming). Intended for speed up test builds
 %bcond_without emacs   # skip building package with ruby-mode for emacs
+%bcond_without tk      # skip building package with Tk bindings
+%bcond_with    onigurma
 #
 %define                ruby_ver        1.8
 %define                ruby_ridir      %{_datadir}/ri/%{ruby_ver}/system
 Summary:       Ruby - interpreted scripting language
-Summary(ja):   ¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¸À¸ìRuby¥¤¥ó¥¿¥×¥ê¥¿
-Summary(pl):   Ruby - interpretowany jêzyk skryptowy
-Summary(pt_BR):        Linguagem de script orientada a objeto
-Summary(zh_CN):        ruby - Ò»ÖÖ¿ìËÙ¸ßЧµÄÃæÏò¶ÔÏó½Å±¾±à³ÌÓïÑÔ
+Summary(ja.UTF-8):     ã\82ªã\83\96ã\82¸ã\82§ã\82¯ã\83\88æ\8c\87å\90\91è¨\80èª\9eRubyã\82¤ã\83³ã\82¿ã\83\97ã\83ªã\82¿
+Summary(pl.UTF-8):     Ruby - interpretowany język skryptowy
+Summary(pt_BR.UTF-8):  Linguagem de script orientada a objeto
+Summary(zh_CN.UTF-8):  ruby - 一种快速高效的面向对象脚本编程语言
 Name:          ruby
-Version:       1.8.4
-Release:       6
+Version:       1.8.7
+Release:       1
 Epoch:         1
 License:       The Ruby License
 Group:         Development/Languages
-#Source0:      ftp://ftp.ruby-lang.org/pub/ruby/stable-snapshot.tar.gz
-Source0:       ftp://ftp.ruby-lang.org/pub/ruby/%{name}-%{version}.tar.gz
-# Source0-md5: bd8c2e593e1fa4b01fd98eaf016329bb
+%define patchlevel 22
+Source0:       ftp://ftp.ruby-lang.org/pub/ruby/1.8/%{name}-%{version}-p%{patchlevel}.tar.bz2
+# Source0-md5: 2d57acee0d80531e14ec0f6826a1f9fb
 Source1:       http://www.ibiblio.org/pub/languages/ruby/doc/%{name}-texi-1.4-en.tar.gz
 # Source1-md5: 839fda4af52b5c5c6d21f879f7fc62bf
 Source2:       http://www.math.sci.hokudai.ac.jp/~gotoken/ruby/%{name}-uguide-981227.tar.gz
@@ -25,12 +33,12 @@ Source2:    http://www.math.sci.hokudai.ac.jp/~gotoken/ruby/%{name}-uguide-981227.t
 Source3:       http://www.ibiblio.org/pub/languages/ruby/doc/%{name}faq-990927.tar.gz
 # Source3-md5: 634c25b14e19925d10af3720d72e8741
 Source4:       irb.1
-Source5:       http://www.geocities.jp/kosako3/oniguruma/archive/onigd2_5_0.tar.gz
-# Source5-md5: 40cb52605c7292373d8dfd11015cb687
-%define stdlibdoc_version      0.9.13
-Source6:       http://www.ruby-doc.org/downloads/stdlib/%{name}-doc-stdlib-%{stdlibdoc_version}.tgz
-# Source6-md5: 39dab8db652dad23ad8951f851549f06
-Source7:       http://www.ruby-doc.org/downloads/Ruby-1.8.1_ri_data.zip
+Source5:       http://www.geocities.jp/kosako3/oniguruma/archive/onigd2_5_9.tar.gz
+# Source5-md5: 7e4c2b197387232afd9a11378feeb246
+%define stdlibdoc_version      0.10.1
+Source6:       http://www.ruby-doc.org/download/stdlib/%{name}-doc-stdlib-%{stdlibdoc_version}.tgz
+# Source6-md5: 5437c281b44e7a4af142d2bd35eba407
+Source7:       http://www.ruby-doc.org/download/Ruby-1.8.1_ri_data.zip
 # Source7-md5: 96e97cdfa55ed197e0e6c39159394c82
 Source8:       erb.1
 Source9:       rdoc.1
@@ -38,8 +46,8 @@ Source10:     ri.1
 Source11:      testrb.1
 Source12:      %{name}-mode-init.el
 Patch0:                %{name}-info.patch
-Patch1:                %{name}-LIB_PREFIX.patch
 Patch2:                %{name}-mkmf-shared.patch
+Patch5:                %{name}-lib64.patch
 URL:           http://www.ruby-lang.org/
 BuildRequires: autoconf
 BuildRequires: automake
@@ -51,23 +59,24 @@ BuildRequires:      openssl-devel
 BuildRequires: readline-devel >= 4.2
 BuildRequires: sed >= 4.0
 BuildRequires: texinfo
+%if %{with tk}
 BuildRequires: tk-devel
+%endif
 BuildRequires: unzip
 Requires(post,postun): /sbin/ldconfig
 Provides:      ruby(ver) = %{ruby_ver}
 Obsoletes:     rdoc
 Obsoletes:     ruby-REXML
 Obsoletes:     ruby-doc < 1.8.4
+Obsoletes:     ruby-fastthread
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define                _ulibdir        %{_prefix}/lib
-
 # bleh, some nasty (gcc or ruby) bug still not fixed
 # (SEGV or "unexpected break" on miniruby run during build)
 %define                specflags_ia64  -O0
 
 # ruby needs frame pointers for correct exception handling
-%define                specflags       -fno-omit-frame-pointer
+%define                specflags_ia32  -fno-omit-frame-pointer
 
 %description
 Ruby is the interpreted scripting language for quick and easy
@@ -78,31 +87,31 @@ straight-forward, extensible, and portable.
 This package contains only shared library and ruby interpreter. To get
 full-functional ruby environment install ruby-modules package.
 
-%description -l ja
-Ruby¤Ï¥·¥ó¥×¥ë¤«¤Ä¶¯ÎϤʥª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥¹¥¯¥ê¥×¥È¸À¸ì¤Ç¤¹¡¥Ruby¤ÏºÇ½é
-¤«¤é½ã¿è¤Ê¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¸À¸ì¤È¤·¤ÆÀ߷פµ¤ì¤Æ¤¤¤Þ¤¹¤«¤é¡¤¥ª¥Ö¥¸¥§¥¯¥È
-»Ø¸þ¥×¥í¥°¥é¥ß¥ó¥°¤ò¼ê·Ú¤Ë¹Ô¤¦»ö¤¬½ÐÍè¤Þ¤¹¡¥¤â¤Á¤í¤óÄ̾ï¤Î¼ê³¤­·¿¤Î¥×
-¥í¥°¥é¥ß¥ó¥°¤â²Äǽ¤Ç¤¹¡¥
+%description -l ja.UTF-8
+Rubyはシンプルかつ強力なオブジェクト指向スクリプト言語です.Rubyは最初
+から純粋なオブジェクト指向言語として設計されていますから,オブジェクト
+指向プログラミングを手軽に行う事が出来ます.もちろん通常の手続き型のプ
+ログラミングも可能です.
 
-%description -l pl
-Ruby to interpretowany jêzyk skryptowy, w sam raz dla ³atwego i
-szybkiego pisania zorientowanych obiektowo programów. Ma wiele funkcji
-u³atwiaj±cych przetwarzanie plików tekstowych i wykonywanie prac
-zwi±zanych z zarz±dzaniem systemu (podobnie jak Perl). Jest prosty,
-rozszerzalny i przenony.
+%description -l pl.UTF-8
+Ruby to interpretowany język skryptowy, w sam raz dla łatwego i
+szybkiego pisania zorientowanych obiektowo programów. Ma wiele funkcji
+ułatwiających przetwarzanie plików tekstowych i wykonywanie prac
+związanych z zarządzaniem systemu (podobnie jak Perl). Jest prosty,
+rozszerzalny i przenośny.
 
-Ten pakiet zawiera tylko bibliotekê dzielon± i interpreter ruby.
-Zainstaluj pakiet ruby-modules, je¿eli potrzebujesz w pe³ni
-funkcjonalnego rodowiska ruby.
+Ten pakiet zawiera tylko bibliotekę dzieloną i interpreter ruby.
+Zainstaluj pakiet ruby-modules, jeżeli potrzebujesz w pełni
+funkcjonalnego środowiska ruby.
 
-%description -l pt_BR
-Ruby é uma linguagem de script interpretada de programação orientada a
-objeto. Possui diversas características para processamento de texto. É
-simples, extensível e direta.
+%description -l pt_BR.UTF-8
+Ruby é uma linguagem de script interpretada de programação orientada a
+objeto. Possui diversas características para processamento de texto. É
+simples, extensível e direta.
 
 %package modules
 Summary:       Ruby standard modules and utilities
-Summary(pl):   Standardowe modu³y i narzêdzia dla jêzyka Ruby
+Summary(pl.UTF-8):     Standardowe moduły i narzędzia dla języka Ruby
 Group:         Development/Languages
 Requires:      %{name} = %{epoch}:%{version}-%{release}
 Provides:      ruby-modules(ver) = %{ruby_ver}
@@ -115,88 +124,88 @@ Ruby standard modules and utilities:
 - ri - Ruby interactive reference
 - testrb - automatic runner for Test::Unit of Ruby
 
-%description modules -l pl
-Standardowe modu³y i narzêdzia Ruby:
-- erb - ma³y eRuby
-- rdoc - narzêdzie do dokumentowania kodu ¼ród³owego
+%description modules -l pl.UTF-8
+Standardowe moduły i narzędzia Ruby:
+- erb - mały eRuby
+- rdoc - narzędzie do dokumentowania kodu źródłowego
 - irb - interaktywny Ruby
 - ri - interaktywna dokumentacja Ruby
 - testrb - automatyczny runner dla Ruby Test::Unit
 
 %package tk
 Summary:       Ruby/Tk bindings
-Summary(pl):   Wi±zania Ruby/Tk
+Summary(pl.UTF-8):     Wiązania Ruby/Tk
 Group:         Development/Languages
 Requires:      %{name}-modules = %{epoch}:%{version}-%{release}
 
 %description tk
 This pachage contains Ruby/Tk bindings.
 
-%description tk -l pl
-Ten pakiet zawiera wi±zania Ruby/Tk.
+%description tk -l pl.UTF-8
+Ten pakiet zawiera wiązania Ruby/Tk.
 
 %package devel
 Summary:       Ruby development libraries
-Summary(pl):   Biblioteki programistyczne interpretera jêzyka Ruby
+Summary(pl.UTF-8):     Biblioteki programistyczne interpretera języka Ruby
 Group:         Development/Languages
 Requires:      %{name}-modules = %{epoch}:%{version}-%{release}
 
 %description devel
 Ruby development libraries.
 
-%description devel -l pl
-Biblioteki programistyczne interpretera jêzyka Ruby.
+%description devel -l pl.UTF-8
+Biblioteki programistyczne interpretera języka Ruby.
 
 %package static
 Summary:       Ruby static libraries
-Summary(pl):   Biblioteki statyczne Ruby
+Summary(pl.UTF-8):     Biblioteki statyczne Ruby
 Group:         Development/Languages
 Requires:      %{name}-devel = %{epoch}:%{version}-%{release}
 
 %description static
 Ruby static libraries.
 
-%description static -l pl
+%description static -l pl.UTF-8
 Biblioteki statyczne Ruby.
 
 %package doc
 Summary:       Ruby HTML documentation
-Summary(pl):   Dokumentacja HTML do Ruby
+Summary(pl.UTF-8):     Dokumentacja HTML do Ruby
 Group:         Documentation
 
 %description doc
 Ruby HTML documentation: FAQ, guide, core and standard library.
 
-%description doc -l pl
+%description doc -l pl.UTF-8
 Dokumentacja HTML do Ruby: FAQ, przewodnik, dokumentacja dla core i
 stdlib.
 
 %package doc-ri
 Summary:       Ruby ri documentation
-Summary(pl):   Dokumentacja Ruby w formacie ri
+Summary(pl.UTF-8):     Dokumentacja Ruby w formacie ri
 Group:         Documentation
 Requires:      %{name}-modules = %{epoch}:%{version}-%{release}
 
 %description doc-ri
 Ruby ri documentation.
 
-%description doc-ri -l pl
+%description doc-ri -l pl.UTF-8
 Dokumentacja Ruby w formacie ri.
 
 %package examples
 Summary:       Ruby examples
-Summary(pl):   Przyk³ady dla jêzyka Ruby
+Summary(pl.UTF-8):     Przykłady dla języka Ruby
 Group:         Development/Languages
 
 %description examples
 Ruby examples.
 
-%description examples -l pl
-Przyk³ady programów w jêzyku Ruby.
+%description examples -l pl.UTF-8
+Przykłady programów w języku Ruby.
 
 %package emacs-mode
 Summary:       Ruby mode and debugger for Emacs
-Summary(pl):   Tryb Ruby i debugger dla Emacsa
+Summary(pl.UTF-8):     Tryb Ruby i debugger dla Emacsa
 Group:         Development/Tools
 Requires:      %{name}-modules = %{epoch}:%{version}-%{release}
 Requires:      emacs-common
@@ -204,14 +213,14 @@ Requires: emacs-common
 %description emacs-mode
 Ruby mode and debugger for Emacs.
 
-%description emacs-mode -l pl
+%description emacs-mode -l pl.UTF-8
 Tryb Ruby i debugger dla Emacsa.
 
 %prep
-%setup -q -a1 -a2 -a3 -a5 -a6 -a7
+%setup -q -n %{name}-%{version}-p%{patchlevel} -a1 -a2 -a3 -a5 -a6 -a7 
 %patch0 -p1
-%patch1 -p1
 %patch2 -p1
+%patch5 -p1
 
 find . -name '*.rb' -o -name '*.cgi' -o -name '*.test' -o -name 'ruby.1' \
        -o -name 'ruby.info*' -o -name '*.html' -o -name '*.tcl' -o -name '*.texi' \
@@ -220,28 +229,33 @@ find . -name '*.rb' -o -name '*.cgi' -o -name '*.test' -o -name 'ruby.1' \
 %build
 cp -f /usr/share/automake/config.sub .
 
+%if %{with onigurma}
 cd oniguruma
 %configure \
        --with-rubydir=..
 %{__make} 18
 cd ..
+%endif
 
 %{__autoconf}
 %configure \
        --enable-shared \
-       --enable-pthread \
-       --with-X11-lib=/usr/X11R6/%{_lib}
+       --with-default-kcode=utf8 \
+       --enable-pthread
 
 %{__make}
 %{__make} clean -C %{name}-texi-1.4-en
 %{__make} info -C %{name}-texi-1.4-en
 
+%if %{with doc}
 mkdir rdoc
 
-RUBYLIB="lib:`find ext/ .ext/ -type d | tr '\n' ':'`"
+RUBYLIB=".:lib:`find ext/ .ext/ -type d | tr '\n' ':'`"
 export RUBYLIB
+LD_LIBRARY_PATH=$(pwd)
+export LD_LIBRARY_PATH
 
-LD_LIBRARY_PATH=. ./ruby bin/rdoc --inline-source --op rdoc/core \
+./miniruby bin/rdoc --inline-source --op rdoc/core \
        array.c bignum.c class.c compar.c dir.c dln.c dmyext.c enum.c \
        error.c eval.c file.c gc.c hash.c inits.c io.c lex.c main.c marshal.c \
        math.c numeric.c object.c pack.c parse.c prec.c process.c random.c range.c \
@@ -257,7 +271,7 @@ LD_LIBRARY_PATH=. ./ruby bin/rdoc --inline-source --op rdoc/core \
 mv ruby-doc-stdlib-%{stdlibdoc_version}/stdlib rdoc/stdlib
 mv ri/%{ruby_ver}/site ri/%{ruby_ver}/system
 
-LD_LIBRARY_PATH=. ./ruby bin/rdoc --ri -o ri/%{ruby_ver}/system \
+./miniruby bin/rdoc --ri -o ri/%{ruby_ver}/system \
        array.c bignum.c class.c compar.c dir.c dln.c \
        dmyext.c enum.c error.c eval.c file.c gc.c hash.c inits.c io.c lex.c main.c \
        marshal.c math.c numeric.c object.c pack.c parse.c prec.c process.c \
@@ -268,10 +282,11 @@ LD_LIBRARY_PATH=. ./ruby bin/rdoc --ri -o ri/%{ruby_ver}/system \
        lib/generator.rb lib/logger.rb lib/matrix.rb lib/observer.rb lib/pathname.rb \
        lib/set.rb lib/shellwords.rb lib/singleton.rb lib/tempfile.rb \
        lib/test/unit.rb lib/thread.rb lib/thwait.rb lib/time.rb lib/yaml.rb
+%endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_infodir},%{_mandir}/man1,%{_examplesdir}/%{name}-%{version},%{ruby_ridir}
+install -d $RPM_BUILD_ROOT{%{_infodir},%{_mandir}/man1,%{_examplesdir}/%{name}-%{version},%{ruby_ridir}}
 install -d $RPM_BUILD_ROOT{%{_datadir}/%{name},%{_emacs_lispdir}/{%{name}-mode,site-start.d}}
 
 %{__make} install \
@@ -288,12 +303,12 @@ install %{SOURCE11} $RPM_BUILD_ROOT%{_mandir}/man1
 cp -Rf ruby-uguide guide
 cp -Rf rubyfaq faq
 
-cp -Rf ri/%{ruby_ver}/system/* $RPM_BUILD_ROOT%{ruby_ridir}
+%{?with_doc:cp -Rf ri/%{ruby_ver}/system/* $RPM_BUILD_ROOT%{ruby_ridir}}
 
 # ruby emacs mode - borrowed from FC-4
 %if %{with emacs}
 install misc/*.el $RPM_BUILD_ROOT%{_emacs_lispdir}/%{name}-mode
-rm -f $RPM_BUILD_ROOT%{_emacs_lispdir}/%{name}-mode/rubydb2x.el
+rm -f $RPM_BUILD_ROOT%{_emacs_lispdir}/%{name}-mode/rubydb2x.el*
 install %{SOURCE12} $RPM_BUILD_ROOT%{_emacs_lispdir}/site-start.d
 cat << EOF > path.el
 (setq load-path (cons "." load-path) byte-compile-warnings nil)
@@ -323,9 +338,12 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{_libdir}/%{name}
 %dir %{_libdir}/%{name}/%{ruby_ver}
 %dir %{_libdir}/%{name}/%{ruby_ver}/*-linux*
-%dir %{_ulibdir}/%{name}/site_ruby
-%dir %{_ulibdir}/%{name}/site_ruby/%{ruby_ver}
-%dir %{_ulibdir}/%{name}/site_ruby/%{ruby_ver}/*-linux*
+%dir %{_libdir}/%{name}/site_ruby
+%dir %{_libdir}/%{name}/site_ruby/%{ruby_ver}
+%dir %{_libdir}/%{name}/site_ruby/%{ruby_ver}/*-linux*
+%dir %{_libdir}/%{name}/vendor_ruby
+%dir %{_libdir}/%{name}/vendor_ruby/%{ruby_ver}
+%dir %{_libdir}/%{name}/vendor_ruby/%{ruby_ver}/*-linux*
 %dir %{_datadir}/%{name}
 %dir %{_datadir}/ri
 %dir %{_datadir}/ri/%{ruby_ver}
@@ -340,6 +358,7 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %{_libdir}/lib*.a
 
+%if %{with tk}
 %files tk
 %defattr(644,root,root,755)
 %{_libdir}/%{name}/%{ruby_ver}/tcltk.rb
@@ -347,6 +366,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/%{name}/%{ruby_ver}/tk
 %{_libdir}/%{name}/%{ruby_ver}/tkextlib
 %attr(755,root,root) %{_libdir}/%{name}/%{ruby_ver}/*-linux*/t*.so
+%endif
 
 %files modules
 %defattr(644,root,root,755)
@@ -358,6 +378,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/%{name}/%{ruby_ver}/bigdecimal
 %{_libdir}/%{name}/%{ruby_ver}/cgi
 %{_libdir}/%{name}/%{ruby_ver}/date
+%{_libdir}/%{name}/%{ruby_ver}/digest
 %{_libdir}/%{name}/%{ruby_ver}/dl
 %{_libdir}/%{name}/%{ruby_ver}/drb
 %{_libdir}/%{name}/%{ruby_ver}/io
@@ -394,6 +415,7 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{_libdir}/%{name}/%{ruby_ver}/*-linux*/io
 %dir %{_libdir}/%{name}/%{ruby_ver}/*-linux*/racc
 %attr(755,root,root) %{_libdir}/%{name}/%{ruby_ver}/*-linux*/[a-s]*.so
+%attr(755,root,root) %{_libdir}/%{name}/%{ruby_ver}/*-linux*/thread.so
 %attr(755,root,root) %{_libdir}/%{name}/%{ruby_ver}/*-linux*/[u-z]*.so
 %attr(755,root,root) %{_libdir}/%{name}/%{ruby_ver}/*-linux*/digest/*.so
 %attr(755,root,root) %{_libdir}/%{name}/%{ruby_ver}/*-linux*/io/*.so
@@ -407,11 +429,14 @@ rm -rf $RPM_BUILD_ROOT
 
 %files doc
 %defattr(644,root,root,755)
-%doc faq guide rdoc
+%doc faq guide
+%{?with_doc:%doc rdoc}
 
+%if %{with doc}
 %files doc-ri
 %defattr(644,root,root,755)
 %{_datadir}/ri/%{ruby_ver}/system/*
+%endif
 
 %files examples
 %defattr(644,root,root,755)
This page took 0.052736 seconds and 4 git commands to generate.