]> git.pld-linux.org Git - packages/ruby.git/blobdiff - ruby.spec
- outdated
[packages/ruby.git] / ruby.spec
index 238ad24c46f19b56cc3813dcc84fe2953670853e..8c6efed7608e65ebad2878c813fe483884e70f95 100644 (file)
--- a/ruby.spec
+++ b/ruby.spec
@@ -1,35 +1,31 @@
-#
-# NOTE: - segfaults on ppc during building when is built with  `--with-pthreads'
-#      /home/users/builder/rpm/BUILD/ruby-1.8.5-p2/lib/mkmf.rb:147: [BUG] Segmentation fault
-#      ruby 1.8.5 (2006-12-04) [powerpc-linux]
-#
-#      - on the other hand when ruby is built on pcc with `--without-pthreads'
-#      compilation of tk extensions fails with message:
-#
-#      Ruby is not compiled with --enable-pthread, but your Tcl/Tk 
-#      **   library seems to be compiled with pthread support. This
-#      **   combination may cause frequent hang or segmentation fault
-#      **   errors when Ruby/Tk is working.
+# 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.UTF-8):   オブジェクト指向言語Rubyインタプリタ
-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 - 一种快速高效的面向对象脚本编程语言
+Summary(ja.UTF-8):     オブジェクト指向言語Rubyインタプリタ
+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.5p2
-Release:       4.2
+Version:       1.8.7
+Release:       1
 Epoch:         1
 License:       The Ruby License
 Group:         Development/Languages
-Source0:       ftp://ftp.ruby-lang.org/pub/ruby/%{name}-1.8.5-p2.tar.gz
-# Source0-md5: a3517a224716f79b14196adda3e88057
+%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
@@ -37,8 +33,8 @@ 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_7.tar.gz
-# Source5-md5: dcaa0b3608990791a5348e94b2f427d5
+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
@@ -50,9 +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
-Patch3:                %{name}-ac260.patch
+Patch5:                %{name}-lib64.patch
 URL:           http://www.ruby-lang.org/
 BuildRequires: autoconf
 BuildRequires: automake
@@ -64,13 +59,16 @@ 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)
 
 # bleh, some nasty (gcc or ruby) bug still not fixed
@@ -113,7 +111,7 @@ simples, extensível e direta.
 
 %package modules
 Summary:       Ruby standard modules and utilities
-Summary(pl.UTF-8):   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}
@@ -136,7 +134,7 @@ Standardowe moduły i narzędzia Ruby:
 
 %package tk
 Summary:       Ruby/Tk bindings
-Summary(pl.UTF-8):   Wiązania Ruby/Tk
+Summary(pl.UTF-8):     Wiązania Ruby/Tk
 Group:         Development/Languages
 Requires:      %{name}-modules = %{epoch}:%{version}-%{release}
 
@@ -148,7 +146,7 @@ Ten pakiet zawiera wiązania Ruby/Tk.
 
 %package devel
 Summary:       Ruby development libraries
-Summary(pl.UTF-8):   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}
 
@@ -160,7 +158,7 @@ Biblioteki programistyczne interpretera języka Ruby.
 
 %package static
 Summary:       Ruby static libraries
-Summary(pl.UTF-8):   Biblioteki statyczne Ruby
+Summary(pl.UTF-8):     Biblioteki statyczne Ruby
 Group:         Development/Languages
 Requires:      %{name}-devel = %{epoch}:%{version}-%{release}
 
@@ -172,7 +170,7 @@ Biblioteki statyczne Ruby.
 
 %package doc
 Summary:       Ruby HTML documentation
-Summary(pl.UTF-8):   Dokumentacja HTML do Ruby
+Summary(pl.UTF-8):     Dokumentacja HTML do Ruby
 Group:         Documentation
 
 %description doc
@@ -184,7 +182,7 @@ stdlib.
 
 %package doc-ri
 Summary:       Ruby ri documentation
-Summary(pl.UTF-8):   Dokumentacja Ruby w formacie ri
+Summary(pl.UTF-8):     Dokumentacja Ruby w formacie ri
 Group:         Documentation
 Requires:      %{name}-modules = %{epoch}:%{version}-%{release}
 
@@ -196,7 +194,7 @@ Dokumentacja Ruby w formacie ri.
 
 %package examples
 Summary:       Ruby examples
-Summary(pl.UTF-8):   Przykłady dla języka Ruby
+Summary(pl.UTF-8):     Przykłady dla języka Ruby
 Group:         Development/Languages
 
 %description examples
@@ -207,7 +205,7 @@ Przykłady programów w języku Ruby.
 
 %package emacs-mode
 Summary:       Ruby mode and debugger for Emacs
-Summary(pl.UTF-8):   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
@@ -219,11 +217,10 @@ Ruby mode and debugger for Emacs.
 Tryb Ruby i debugger dla Emacsa.
 
 %prep
-%setup -q -a1 -a2 -a3 -a5 -a6 -a7 -n %{name}-1.8.5-p2
+%setup -q -n %{name}-%{version}-p%{patchlevel} -a1 -a2 -a3 -a5 -a6 -a7 
 %patch0 -p1
-%patch1 -p1
 %patch2 -p1
-%patch3 -p0
+%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' \
@@ -232,20 +229,19 @@ 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 \
-%ifnarch powerpc ppc ppc64
+       --with-default-kcode=utf8 \
        --enable-pthread
-%else
-       --disable-pthread
-%endif
 
 %{__make}
 %{__make} clean -C %{name}-texi-1.4-en
@@ -254,10 +250,12 @@ cd ..
 %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 \
@@ -273,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 \
@@ -310,7 +308,7 @@ cp -Rf rubyfaq faq
 # 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)
@@ -343,6 +341,9 @@ rm -rf $RPM_BUILD_ROOT
 %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}
@@ -357,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
@@ -364,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)
@@ -375,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
@@ -411,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
This page took 0.03775 seconds and 4 git commands to generate.