X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=ruby.spec;h=39231ce3f9af5d7d2ad099d15e2a143b8a37d990;hb=4c2628795984eec2537560aa846a294f08b3cd94;hp=9602275bfd27982872f1b21c72664b8294940ef0;hpb=20a5aa8b1499058b38fa7e85ae0a530122ff8ec4;p=packages%2Fruby.git diff --git a/ruby.spec b/ruby.spec index 9602275..39231ce 100644 --- a/ruby.spec +++ b/ruby.spec @@ -1,76 +1,56 @@ -# TODO -# - integrate vendordir patch -# - 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 # -%define ruby_ver 1.8 -%define ruby_ridir %{_datadir}/ri/%{ruby_ver}/system +%define ruby_ver 1.9 +%define stdlibdoc_version 0.10.1 +%define patchlevel 378 +%define basever 1.9.1 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 - 一种快速高效的面向对象脚本编程语言 Name: ruby -Version: 1.8.6 -Release: 1 +Version: %{basever}.%{patchlevel} +Release: 3 Epoch: 1 License: The Ruby License Group: Development/Languages -Source0: ftp://ftp.ruby-lang.org/pub/ruby/1.8/%{name}-%{version}.tar.gz -# Source0-md5: 23d2494aa94e7ae1ecbbb8c5e1507683 -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 -# Source2-md5: 24eadcd067278901da9ad70efb146b07 -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_8.tar.gz -# Source5-md5: 82cd47ded85f854149ae620a9fa728e5 -%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 -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}-oniguruma-258-186.patch -Patch4: %{name}-vendordir.patch -Patch5: %{name}-lib64.patch +Source0: ftp://ftp.ruby-lang.org/pub/ruby/%{name}-%{basever}-p%{patchlevel}.tar.bz2 +# Source0-md5: 5922459622a23612eb9b68a3586cb5f8 +Source1: http://www.ruby-doc.org/download/%{name}-doc-bundle.tar.gz +# Source1-md5: ad1af0043be98ba1a4f6d0185df63876 +Source2: http://www.ruby-doc.org/download/stdlib/%{name}-doc-stdlib-%{stdlibdoc_version}.tgz +# Source2-md5: 5437c281b44e7a4af142d2bd35eba407 +Source3: rdoc.1 +Source4: testrb.1 +Source5: %{name}-mode-init.el +Patch0: %{name}-mkmf-shared.patch +Patch1: %{name}-lib64.patch URL: http://www.ruby-lang.org/ BuildRequires: autoconf BuildRequires: automake +BuildRequires: bison BuildRequires: db-devel %{?with_emacs:BuildRequires: emacs} BuildRequires: gdbm-devel >= 1.8.3 BuildRequires: ncurses-devel BuildRequires: openssl-devel BuildRequires: readline-devel >= 4.2 +BuildRequires: ruby-modules BuildRequires: sed >= 4.0 -BuildRequires: texinfo -Obsoletes: ruby-fastthread %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 @@ -219,98 +199,57 @@ Ruby mode and debugger for Emacs. Tryb Ruby i debugger dla Emacsa. %prep -%setup -q -a1 -a2 -a3 -a5 -a6 -a7 +%setup -q -n %{name}-%{basever}-p%{patchlevel} -a1 -a2 %patch0 -p1 %patch1 -p1 -%patch2 -p1 -%patch3 -p0 -%patch4 -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' \ +find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f + +find -type f '(' -name '*.rb' -o -name '*.cgi' -o -name '*.test' \ + -o -name 'ruby.1' -o -name '*.html' -o -name '*.tcl' ')' \ | xargs %{__sed} -i 's,/usr/local/bin/,%{_bindir}/,' %build cp -f /usr/share/automake/config.sub . -cd oniguruma -%configure \ - --with-rubydir=.. -%{__make} 18 -cd .. - %{__autoconf} %configure \ --enable-shared \ - --enable-pthread + --enable-pthread \ + --with-ruby-version=minor \ + --enable-frame-address -%{__make} -%{__make} clean -C %{name}-texi-1.4-en -%{__make} info -C %{name}-texi-1.4-en +%{__make} -j1 %if %{with doc} -mkdir rdoc - -RUBYLIB=".:lib:`find ext/ .ext/ -type d | tr '\n' ':'`" -export RUBYLIB - -./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 \ - re.c regex.c ruby.c signal.c sprintf.c st.c string.c struct.c time.c util.c \ - variable.c version.c \ - lib/English.rb lib/abbrev.rb lib/base64.rb lib/benchmark.rb lib/cgi.rb \ - lib/cgi/session.rb lib/complex.rb lib/date.rb lib/fileutils.rb lib/find.rb \ - 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 - -mv ruby-doc-stdlib-%{stdlibdoc_version}/stdlib rdoc/stdlib -mv ri/%{ruby_ver}/site 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 \ - random.c range.c re.c regex.c ruby.c signal.c sprintf.c st.c string.c \ - struct.c time.c util.c variable.c version.c \ - lib/English.rb lib/abbrev.rb lib/base64.rb lib/benchmark.rb lib/cgi.rb \ - lib/cgi/session.rb lib/complex.rb lib/date.rb lib/fileutils.rb lib/find.rb \ - 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 +%{__make} -j1 rdoc %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{%{_datadir}/%{name},%{_emacs_lispdir}/{%{name}-mode,site-start.d}} +install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} %{__make} install \ DESTDIR=$RPM_BUILD_ROOT cp -Rf sample/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} -install %{name}-texi-1.4-en/ruby.info* $RPM_BUILD_ROOT%{_infodir} -install %{SOURCE4} $RPM_BUILD_ROOT%{_mandir}/man1 -install %{SOURCE8} $RPM_BUILD_ROOT%{_mandir}/man1 -install %{SOURCE9} $RPM_BUILD_ROOT%{_mandir}/man1 -install %{SOURCE10} $RPM_BUILD_ROOT%{_mandir}/man1 -install %{SOURCE11} $RPM_BUILD_ROOT%{_mandir}/man1 - -cp -Rf ruby-uguide guide -cp -Rf rubyfaq faq +cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_mandir}/man1 +cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_mandir}/man1 -%{?with_doc:cp -Rf ri/%{ruby_ver}/system/* $RPM_BUILD_ROOT%{ruby_ridir}} +# packaged separately +rm -r $RPM_BUILD_ROOT%{_libdir}/%{name}/%{ruby_ver}/{rubygems,rake,json,minitest} +rm -r $RPM_BUILD_ROOT%{_libdir}/%{name}/%{ruby_ver}/*-linux*/json +rm $RPM_BUILD_ROOT%{_libdir}/%{name}/%{ruby_ver}/{rake,rubygems,json}.rb +rm $RPM_BUILD_ROOT%{_bindir}/{gem,rake} +rm $RPM_BUILD_ROOT%{_mandir}/man1/rake* # 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 -install %{SOURCE12} $RPM_BUILD_ROOT%{_emacs_lispdir}/site-start.d -cat << EOF > path.el +install -d $RPM_BUILD_ROOT%{_emacs_lispdir}/{%{name}-mode,site-start.d} +cp -a misc/*.el $RPM_BUILD_ROOT%{_emacs_lispdir}/%{name}-mode +rm -f $RPM_BUILD_ROOT%{_emacs_lispdir}/%{name}-mode/rubydb2x.el* +install -p %{SOURCE5} $RPM_BUILD_ROOT%{_emacs_lispdir}/site-start.d +cat << 'EOF' > path.el (setq load-path (cons "." load-path) byte-compile-warnings nil) EOF emacs --no-site-file -q -batch -l path.el -f batch-byte-compile $RPM_BUILD_ROOT%{_emacs_lispdir}/%{name}-mode/*.el @@ -320,21 +259,16 @@ rm -f path.el* %clean rm -rf $RPM_BUILD_ROOT -%post -[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir %{_infodir} >/dev/null 2>&1 -/sbin/ldconfig - -%postun -[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir %{_infodir} >/dev/null 2>&1 -/sbin/ldconfig +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig %files %defattr(644,root,root,755) -%doc README README.EXT ChangeLog ToDo +%doc NEWS LEGAL README README.EXT ChangeLog ToDo %attr(755,root,root) %{_bindir}/ruby -%attr(755,root,root) %{_libdir}/lib*.so.*.*.* +%attr(755,root,root) %{_libdir}/libruby.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libruby.so.1.9 %{_mandir}/man1/ruby.1* -%{_infodir}/*.info* %dir %{_libdir}/%{name} %dir %{_libdir}/%{name}/%{ruby_ver} %dir %{_libdir}/%{name}/%{ruby_ver}/*-linux* @@ -344,19 +278,18 @@ rm -rf $RPM_BUILD_ROOT %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} %dir %{_datadir}/ri/%{ruby_ver}/system %files devel %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/lib*.so -%{_libdir}/%{name}/%{ruby_ver}/*/*.h +%attr(755,root,root) %{_libdir}/libruby.so +%{_includedir}/%{name}-%{ruby_ver} %files static %defattr(644,root,root,755) -%{_libdir}/lib*.a +%{_libdir}/libruby-static.a %if %{with tk} %files tk @@ -387,19 +320,17 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/%{name}/%{ruby_ver}/openssl %{_libdir}/%{name}/%{ruby_ver}/optparse %{_libdir}/%{name}/%{ruby_ver}/racc +%{_libdir}/%{name}/%{ruby_ver}/rbconfig %{_libdir}/%{name}/%{ruby_ver}/rdoc %{_libdir}/%{name}/%{ruby_ver}/rexml %{_libdir}/%{name}/%{ruby_ver}/rinda +%{_libdir}/%{name}/%{ruby_ver}/ripper %{_libdir}/%{name}/%{ruby_ver}/rss -%{_libdir}/%{name}/%{ruby_ver}/runit %{_libdir}/%{name}/%{ruby_ver}/shell -%{_libdir}/%{name}/%{ruby_ver}/soap %{_libdir}/%{name}/%{ruby_ver}/test %{_libdir}/%{name}/%{ruby_ver}/uri %{_libdir}/%{name}/%{ruby_ver}/webrick -%{_libdir}/%{name}/%{ruby_ver}/wsdl %{_libdir}/%{name}/%{ruby_ver}/xmlrpc -%{_libdir}/%{name}/%{ruby_ver}/xsd %{_libdir}/%{name}/%{ruby_ver}/yaml %{_libdir}/%{name}/%{ruby_ver}/[A-Za-s]*.rb %{_libdir}/%{name}/%{ruby_ver}/tempfile.rb @@ -412,13 +343,18 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/%{name}/%{ruby_ver}/tsort.rb %{_libdir}/%{name}/%{ruby_ver}/[u-z]*.rb %dir %{_libdir}/%{name}/%{ruby_ver}/*-linux*/digest +%dir %{_libdir}/%{name}/%{ruby_ver}/*-linux*/enc +%dir %{_libdir}/%{name}/%{ruby_ver}/*-linux*/enc/trans %dir %{_libdir}/%{name}/%{ruby_ver}/*-linux*/io +%dir %{_libdir}/%{name}/%{ruby_ver}/*-linux*/mathn %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*/enc/*.so +%attr(755,root,root) %{_libdir}/%{name}/%{ruby_ver}/*-linux*/enc/trans/*.so %attr(755,root,root) %{_libdir}/%{name}/%{ruby_ver}/*-linux*/io/*.so +%attr(755,root,root) %{_libdir}/%{name}/%{ruby_ver}/*-linux*/mathn/*.so %attr(755,root,root) %{_libdir}/%{name}/%{ruby_ver}/*-linux*/racc/*.so %{_libdir}/%{name}/%{ruby_ver}/*-linux*/rbconfig.rb %{_mandir}/man1/erb.1* @@ -429,8 +365,8 @@ rm -rf $RPM_BUILD_ROOT %files doc %defattr(644,root,root,755) -%doc faq guide -%{?with_doc:%doc rdoc} +%doc ruby-doc-bundle/* +%{?with_doc:%doc ruby-doc-stdlib-%{stdlibdoc_version}/stdlib} %if %{with doc} %files doc-ri