%define manver 1.4.6 Summary: An interpreter of object-oriented scripting language Name: ruby Version: 1.6.4 Release: 2 License: Dual-licensed GPL/Artistic-like Group: Development/Languages Source0: ftp://ftp.ruby-lang.org/pub/lang/%{name}/%{name}-%{version}.tar.bz2 Source1: ftp://ftp.netlab.co.jp/pub/lang/%{name}/doc/%{name}-man-%{manver}.tar.bz2 Source2: ftp://ftp.netlab.co.jp/pub/lang/%{name}/doc/%{name}-man-%{manver}-jp.tar.bz2 Source3: ftp://ftp.netlab.co.jp/pub/lang/%{name}/doc/rubyfaq-990927.tar.bz2 Source4: ftp://ftp.netlab.co.jp/pub/lang/%{name}/doc/rubyfaq-jp-990927.tar.bz2 Source5: irb.1 URL: http://www.ruby-lang.org/ BuildRoot: %{_tmppath}/%{name}-%{version}-root BuildRequires: readline readline-devel ncurses ncurses-devel gdbm gdbm-devel glibc-devel tcl tk autoconf gcc Requires: %{name}-libs = %{version}-%{release} ExcludeArch: alpha ia64 %description Ruby is the interpreted scripting language for quick and easy object-oriented programming. It has many features to process text files and to do system management tasks (as in Perl). It is simple, straight-forward, and extensible. %package libs Summary: Libraries necessary to run Ruby. Group: Development/Libraries URL: http://www.ruby-lang.org/ Provides: libruby Obsoletes: libruby %description libs This package includes the libruby, necessary to run Ruby. %package devel Summary: A Ruby development environment. Group: Development/Languages Requires: %{name} = %{version}-%{release} URL: http://www.ruby-lang.org/ %description devel Header files and libraries for building a extension library for the Ruby or an application embedded Ruby. %package tcltk Summary: Tcl/Tk interface for scripting language Ruby. Group: Development/Languages Requires: %{name}-libs = %{version}-%{release} URL: http://www.ruby-lang.org/ %description tcltk Tcl/Tk interface for the object-oriented scripting language Ruby. %package -n irb Summary: The Intaractive Ruby. Group: Development/Languages Requires: %{name}-libs = %{version}-%{release} URL: http://www.ruby-lang.org/ %description -n irb The irb is acronym for Interactive RuBy. It evaluates ruby expression from the terminal. %package docs Summary: Manuals and FAQs for scripting language Ruby. Group: Documentation URL: http://www.ruby-lang.org/ %description docs Manuals and FAQs for the object-oriented scripting language Ruby. %prep %setup -q -c -a 1 -a 2 -a 3 -a 4 %build cd %{name}-%{version} %ifarch alpha autoconf CFLAGS="-O0" CXXFLAGS="-O0" ./configure \ %else %configure \ %endif --with-default-kcode=none \ --with-dbm-include=/usr/include/db1 \ --enable-shared \ --enable-ipv6 \ --with-lookup-order-hack=INET make make test %install rm -rf ${RPM_BUILD_ROOT} # installing documents and exapmles... mkdir tmp-ruby-docs cd tmp-ruby-docs # for ruby.rpm mkdir ruby cd ruby (cd ../../%{name}-%{version} && tar cf - misc sample lib/README*) | tar xvf - (cd ../../%{name}-%{version} && tar cf - `find ext \ -mindepth 1 \ \( -path '*/sample/*' -o -path '*/demo/*' \) -o \ \( -name '*.rb' -not -path '*/lib/*' -not -name extconf.rb \) -o \ \( -name 'README*' -o -name '*.txt*' -o -name 'MANUAL*' \)`) | tar xvf - # fixing `#!' paths for f in `find . -type f` do sed -e 's,^#![ ]*\([^ ]*\)/\(ruby\|with\|perl\|env\),#!/usr/bin/\2,' < $f > $f.n mv -f $f.n $f done cd .. # for ruby-devel.rpm mkdir ruby-devel cd ruby-devel cd .. # for ruby-tcltk.rpm mkdir ruby-tcltk cd ruby-tcltk for target in tcltklib tk do (cd ../ruby && tar cf - `find . -path "*/$target/*"`) | tar xvf - (cd ../ruby && rm -rf `find . -name "$target" -type d`) done cd .. # for ruby-docs.rpm mkdir ruby-docs cd ruby-docs mkdir doc-en doc-ja faq-en faq-ja (cd ../../ruby-man-`echo %{manver} | sed -e 's/\.[0-9]*$//'` && tar cf - .) | (cd doc-en && tar xvf -) (cd ../../ruby-man-`echo %{manver} | sed -e 's/\.[0-9]*$//'`-jp && tar cf - .) | (cd doc-ja && tar xvf -) (cd ../../rubyfaq && tar cf - .) | (cd faq-en && tar xvf -) (cd ../../rubyfaq-jp && tar cf - .) | (cd faq-ja && tar xvf -) (cd faq-ja && for f in rubyfaq-jp*.html do sed -e 's/\( ruby-all.files egrep '(\.[ah]|libruby\.so)$' ruby-all.files > ruby-devel.files # for ruby-tcltk.rpm cp /dev/null ruby-tcltk.files for f in `cd %{name}-%{version}/ext/tk && find lib -type f; echo *.so` do grep "/`basename $f`$" ruby-all.files >> ruby-tcltk.files done for f in `cd %{name}-%{version}/ext/tcltklib && find lib -type f; echo *.so` do grep "/`basename $f`$" ruby-all.files >> ruby-tcltk.files done # for irb.rpm fgrep 'irb' ruby-all.files > irb.files # for ruby-libs cp /dev/null ruby-libs.files (fgrep '%{_libdir}' ruby-all.files; fgrep -h '%{_libdir}' ruby-devel.files ruby-tcltk.files irb.files) | sort | uniq -u > ruby-libs.files # for ruby.rpm sort ruby-all.files \ ruby-libs.files ruby-devel.files ruby-tcltk.files irb.files | uniq -u > ruby.files strip ${RPM_BUILD_ROOT}%{_bindir}/%{name} %clean rm -rf ${RPM_BUILD_ROOT} rm -f *.files rm -rf tmp-ruby-docs %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig %files -f ruby.files %defattr(-, root, root) %doc %{name}-%{version}/README %lang(ja) %doc %{name}-%{version}/README.jp %doc %{name}-%{version}/COPYING* %doc %{name}-%{version}/ChangeLog %doc %{name}-%{version}/ToDo %doc %{name}-%{version}/doc/NEWS %doc tmp-ruby-docs/ruby/* %files devel -f ruby-devel.files %defattr(-, root, root) %doc %{name}-%{version}/README.EXT %lang(ja) %doc %{name}-%{version}/README.EXT.jp %files libs -f ruby-libs.files %defattr(-, root, root) %doc %{name}-%{version}/README %lang(ja) %doc %{name}-%{version}/README.jp %doc %{name}-%{version}/doc/NEWS %files tcltk -f ruby-tcltk.files %defattr(-, root, root) %doc tmp-ruby-docs/ruby-tcltk/ext/* %files -n irb -f irb.files %defattr(-, root, root) %files docs %defattr(-, root, root) %doc tmp-ruby-docs/ruby-docs/* %changelog * Thu Jul 19 2001 Bernhard Rosenkraenzer 1.6.4-2 - Remove Japanese description and summaries; they belong in specspo and break rpm - Clean up specfile - Mark language specific files (README.jp) as such - bzip2 sources - rename the libruby package to ruby-libs for consistency - Exclude ia64 (doesn't build - the code doesn't seem to be 64-bit clean [has been excluded on alpha forever]) * Tue Jul 17 2001 Akira TAGOH 1.6.4-1 - rebuild for Red Hat 7.2 * Mon Jun 04 2001 akira yamada - upgrade to nwe upstream version 1.6.4. * Mon Apr 02 2001 akira yamada - applied patch: - fixed method cache bug. etc. (Patch103, Patch104) * Tue Mar 27 2001 akira yamada - applied patch: - fixed marshal for bignum bug. - fixed scope of constant variables bug. * Tue Mar 20 2001 akira yamada - upgraded to new upstream version 1.6.3. * Fri Feb 09 2001 akira yamada - fixed bad group for libruby. - Applied patch: upgraded to cvs version (2001-02-08): fixed minor bugs. * Thu Jan 18 2001 akira yamada - Applied patch: upgraded to cvs version (2001-01-15): fixed minor bugs(e.g. ruby makes extention librares too large...). * Wed Jan 10 2001 akira yamada - Applied patch: upgraded to cvs version (2001-01-09): fixed minor bugs. * Sat Dec 30 2000 akira yamada - Applied bug fix patch. * Mon Dec 25 2000 akira yamada - Updated to new upstream version 1.6.2. * Fri Dec 22 2000 akira yamada - Removed ruby_cvs.2000122019.patch, added ruby_cvs.2000122215.patch (upgraded ruby to latest cvs version, 1.6.2-preview4). * Wed Dec 20 2000 akira yamada - Removed ruby_cvs.2000121413.patch, added ruby_cvs.2000122019.patch (upgraded ruby to latest cvs version). - new package: libruby * Thu Dec 14 2000 akira yamada - Removed ruby_cvs.2000101901.patch, added ruby_cvs.2000121413.patch (upgraded ruby to latest cvs version). - Removed ruby-dev.11262.patch, ruby-dev.11265.patch, and ruby-dev.11268.patch (included into above patch). * Sun Nov 12 2000 MACHINO, Satoshi 1.6.1-0vl9 - build on gcc-2.95.3 * Thu Oct 19 2000 akira yamada - Added ruby-dev.11268.patch. * Thu Oct 19 2000 akira yamada - Removed ruby_cvs.2000101117.patch and added ruby_cvs.2000101901.patch (upgraded ruby to latest cvs version). - Added ruby-dev.11262.patch. - Added ruby-dev.11265.patch. * Wed Oct 11 2000 akira yamada - Removed ruby_cvs.2000100313.patch and added ruby_cvs.2000101117.patch (upgraded ruby to latest cvs version). * Mon Oct 09 2000 akira yamada - Removed ruby_cvs.2000100313.patch and added ruby_cvs.2000100313.patch (upgraded ruby to latest cvs version). * Tue Oct 03 2000 akira yamada - Removed ruby_cvs.2000100218.patch and added ruby_cvs.2000100313.patch (upgraded ruby to latest cvs version). * Mon Oct 02 2000 akira yamada - Removed ruby_cvs.2000092718.patch and added ruby_cvs.2000100218.patch (upgraded ruby to latest cvs version). * Thu Sep 27 2000 akira yamada - Updated to upstream version 1.6.1. - Removed ruby_cvs.2000082901.patch and added ruby_cvs.2000092718.patch (upgraded ruby to latest cvs version). * Tue Aug 29 2000 akira yamada - Updated to version 1.4.6. - removed ruby-dev.10123.patch(included into ruby-1.4.6). - Added ruby_cvs.2000082901.patch(upgraded ruby to latest cvs version). * Tue Jun 27 2000 akira yamada - Updated manuals to version 1.4.5. * Sun Jun 25 2000 akira yamada - Added ruby-dev.10123.patch. * Sat Jun 24 2000 akira yamada - Updated to version 1.4.5. - Removed ruby_cvs.2000062401.patch(included into ruby-1.4.5). * Thu Jun 22 2000 akira yamada - Updated to version 1.4.4(06/22/2000 CVS). - Removed ruby-dev.10054.patch(included into ruby_cvs.patch). * Thu Jun 22 2000 akira yamada - Renamed to ruby_cvs20000620.patch from ruby_cvs.patch. * Tue Jun 20 2000 akira yamada - Updated to version 1.4.4(06/20/2000 CVS). - Removed ruby-list.23190.patch(included into ruby_cvs.patch). - Added ruby-dev.10054.patch. * Tue Jun 15 2000 akira yamada - Updated to version 1.4.4(06/12/2000 CVS). - Added manuals and FAQs. - Split into ruby, ruby-devel, ruby-tcltk, ruby-docs, irb. * Tue Jun 13 2000 Mitsuo Hamada - Updated to version 1.4.4 * Wed Dec 08 1999 Atsushi Yamagata - Updated to version 1.4.3 * Mon Sep 20 1999 Atsushi Yamagata - Updated to version 1.4.2 (Sep 18) * Fri Sep 17 1999 Atsushi Yamagata - Updated to version 1.4.2 * Tue Aug 17 1999 Atsushi Yamagata - Updated to version 1.4.0 * Fri Jul 23 1999 Atsushi Yamagata - 2nd release - Updated to version 1.2.6(15 Jul 1999) - striped %{prefix}/bin/ruby * Mon Jun 28 1999 Atsushi Yamagata - Updated to version 1.2.6(21 Jun 1999) * Wed Apr 14 1999 Atsushi Yamagata - Updated to version 1.2.5 * Fri Apr 09 1999 Atsushi Yamagata - Updated to version 1.2.4 * Fri Dec 25 1998 Toru Hoshina - Version up to 1.2 stable. * Fri Nov 27 1998 Toru Hoshina - Version up to 1.1c9. * Thu Nov 19 1998 Toru Hoshina - Version up to 1.1c8, however it appear short life :-P * Fri Nov 13 1998 Toru Hoshina - Version up. * Mon Sep 22 1998 Toru Hoshina - To make a libruby.so. * Mon Sep 21 1998 Toru Hoshina - Modified SPEC in order to install libruby.a so that it should be used by another ruby entention. - 2nd release. * Mon Mar 9 1998 Shoichi OZAWA - Added a powerPC arch part. Thanks, MURATA Nobuhiro