Sophie

Sophie

distrib > Mandriva > current > x86_64 > by-pkgid > 3b5136ab393c3999ad97f37d32fb3207 > files > 5

jruby-1.1.3-0.2.2mdv2009.0.src.rpm

Name:           jruby
Version:        1.1.3
Release:        %mkrel 0.2.2
Summary:        Pure Java implementation of the Ruby interpreter

Group:          Development/Java
License:        (CPL or GPLv2+ or LGPLv2+) and ASL 1.1 and MIT and Ruby
URL:            http://jruby.codehaus.org/
Source0:        http://dist.codehaus.org/jruby/jruby-src-%{version}.tar.gz
# This patch is Fedora specific; we set up classpath using build-classpath.
Patch1:         jruby-fix-jruby-start-script.patch
# Temporary until upstream realizes they don't support 1.4 and scraps
# retroweaver.
Patch2:         jruby-remove-retroweaver-task.patch
# Disagreements with upstream. They want to bundle binary dependencies
# into jruby's jar; we don't.
Patch3:         jruby-dont-include-dependencies-in-jar.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root
BuildArch:      noarch

BuildRequires:  ant >= 1.6
BuildRequires:  ant-junit >= 1.6
BuildRequires:  bsf
BuildRequires:  bytelist
BuildRequires:  java-rpmbuild
BuildRequires:  jline
BuildRequires:  jna
BuildRequires:  jna-posix
BuildRequires:  joda-time
BuildRequires:  joni
BuildRequires:  jpackage-utils >= 1.5
BuildRequires:  junit
BuildRequires:  jvyamlb
BuildRequires:  asm3

Requires:       bcel
Requires:       bsf
Requires:       bytelist
Requires:       java >= 1.6
Requires:       jna
Requires:       jna-posix
Requires:       jpackage-utils >= 1.5
Requires:       jvyamlb
Requires:       asm3
Requires:       jline
Requires:       joni

%description
JRuby is an 100% pure-Java implementation of the Ruby programming
language.

Features:
  * A 1.8.5 compatible Ruby interpreter
  * Most builtin Ruby classes provided
  * Support for interacting with and defining Java classes from within
    Ruby
  * Bean Scripting Framework (BSF) support


%package        javadoc
Summary:        Javadoc for %{name}
Group:          Development/Java
Requires:       %{name} = %{version}-%{release}

%description    javadoc
Javadoc for %{name}.


%prep
%setup -q
%patch1 -p0
%patch2 -p0
%patch3 -p0

# delete binary .jars.
rm -f build_lib/*.jar
# there are non-binaries in lib/ as well; leave them alone
rm -f lib/bsf.jar
rm -f lib/profile.{jar,properties}

# and replace them with symlinks
build-jar-repository -s -p build_lib asm3/asm3 \
  asm3/asm3-analysis asm3/asm3-commons \
  asm3/asm3-tree asm3/asm3-util jline jna \
  joda-time joni junit bsf jna-posix jvyamlb bytelist

# remove hidden .document files
find lib/ruby/ -name '*.document' -exec rm -f '{}' \;

# change included stdlib to use jruby rather than some arcane ruby install
find lib/ruby/ -name '*.rb' -exec sed --in-place "s|^#!/usr/local/bin/ruby|#!/usr/bin/env jruby|" '{}' \;

# remove some random empty files
rm -f lib/ruby/gems/1.8/gems/rspec-*/spec/spec/runner/{empty_file.txt,resources/a_{foo,bar}.rb}

# archdir on jruby
mkdir lib/ruby/site_ruby/1.8/java


%build
%ant jar
%ant create-apidocs


%install
rm -rf %{buildroot}

# prefix install
install -p -d -m 755 %{buildroot}%{_datadir}/%{name}
cp -ar samples/ %{buildroot}%{_datadir}/%{name}/ # samples
cp -ar lib/     %{buildroot}%{_datadir}/%{name}/ # stdlib + jruby.jar
cp -ar bin/     %{buildroot}%{_datadir}/%{name}/ # startup scripts

# jar - link to prefix'd jar so that java stuff knows where to look
install -d -m 755 %{buildroot}%{_javadir}
ln -s %{_datadir}/%{name}/lib/%{name}.jar %{buildroot}%{_javadir}/%{name}.jar

# /usr prefix startup scripts
install -d -m 755 %{buildroot}%{_bindir}
ln -s %{_datadir}/%{name}/bin/jruby %{buildroot}%{_bindir}/jruby
ln -s %{_datadir}/%{name}/bin/jirb  %{buildroot}%{_bindir}/jirb

# javadoc
install -p -d -m 755 %{buildroot}%{_javadocdir}/%{name}-%{version}
cp -a docs/api/* %{buildroot}%{_javadocdir}/%{name}-%{version}
ln -s %{name}-%{version} %{buildroot}%{_javadocdir}/%{name}

%check
# Skip tests as they fail now for some weird reason -- the last test
# in test/test_backquote.rb fails.
#%ant test-all


%clean
rm -rf %{buildroot}


%files
%defattr(-,root,root,-)
%doc COPYING COPYING.CPL COPYING.GPL COPYING.LGPL
%doc docs/CodeConventions.txt
%doc docs/README.test 
%attr(0755,root,root) %{_bindir}/%{name}
%attr(0755,root,root) %{_bindir}/jirb
%{_javadir}/%{name}.jar
%{_datadir}/%{name}


%files javadoc
%defattr(-,root,root,-)
%{_javadocdir}/%{name}-%{version}
%{_javadocdir}/%{name}


%changelog
* Thu Aug 14 2008 Alexander Kurtakov <akurtakov@mandriva.org> 1.1.3-0.2.2mdv2009.0
+ Revision: 272056
- fix startup script

* Thu Aug 14 2008 Alexander Kurtakov <akurtakov@mandriva.org> 1.1.3-0.2.1mdv2009.0
+ Revision: 271947
- new version 1.1.3

* Fri Aug 08 2008 Thierry Vignaud <tvignaud@mandriva.com> 1.1.2-3.0.2mdv2009.0
+ Revision: 267310
- rebuild early 2009.0 package (before pixel changes)

* Sun Jun 01 2008 Alexander Kurtakov <akurtakov@mandriva.org> 1.1.2-0.0.2mdv2009.0
+ Revision: 213910
- fix startup script

* Sat May 31 2008 Alexander Kurtakov <akurtakov@mandriva.org> 1.1.2-0.0.1mdv2009.0
+ Revision: 213584
- add jna to the classpath
- new version

* Wed Apr 30 2008 Alexander Kurtakov <akurtakov@mandriva.org> 1.1.1-0.6.4mdv2009.0
+ Revision: 199488
- fix unversioned javadoc

* Tue Apr 29 2008 Alexander Kurtakov <akurtakov@mandriva.org> 1.1.1-0.6.3mdv2009.0
+ Revision: 198950
- install in /usr/share

* Tue Apr 29 2008 Alexander Kurtakov <akurtakov@mandriva.org> 1.1.1-0.6.2mdv2009.0
+ Revision: 198942
- fix startup script

* Tue Apr 29 2008 Alexander Kurtakov <akurtakov@mandriva.org> 1.1.1-0.6.1mdv2009.0
+ Revision: 198934
- import jruby