cvsdist 250c59a
%define name		bsh
cvsdist 250c59a
%define Name		BeanShell
cvsdist 250c59a
%define version		1.3.0
cvsdist 250c59a
%define fversion	1.3.0
cvsdist 978c8f9
%define release		5jpp_1rh
cvsdist 250c59a
%define section		free
cvsdist 250c59a
cvsdist 250c59a
Name:           %{name}
cvsdist 250c59a
Version:        %{version}
cvsdist 250c59a
Release:        %{release}
cvsdist 250c59a
Epoch:		0
cvsdist 250c59a
Summary:        Lightweight Scripting for Java
cvsdist 250c59a
License:        LGPL
cvsdist 250c59a
Source0:        %{name}-%{fversion}-src.tar.bz2
cvsdist 250c59a
Patch0:		%{name}-build.patch
cvsdist 250c59a
Patch1:		%{name}-readline.patch
cvsdist 250c59a
Requires:	bsf
cvsdist 250c59a
Requires:	jpackage-utils >= 0:1.5
cvsdist 978c8f9
BuildRequires:  ant bsf
cvsdist 250c59a
#BuildRequires:  libreadline-java
cvsdist 250c59a
Url:            http://www.beanshell.org/
cvsdist 250c59a
Group:          Development/Java
cvsdist 250c59a
Buildarch:      noarch
cvsdist 250c59a
Buildroot:      %{_tmppath}/%{name}-%{version}-buildroot
cvsdist 978c8f9
#Distribution:   JPackage
cvsdist 978c8f9
#Vendor:         JPackage Project
cvsdist 250c59a
cvsdist 250c59a
%description
cvsdist 250c59a
BeanShell is a small, free, embeddable, Java source interpreter with
cvsdist 250c59a
object scripting language features, written in Java. BeanShell executes
cvsdist 250c59a
standard Java statements and expressions, in addition to obvious
cvsdist 250c59a
scripting commands and syntax. BeanShell supports scripted objects as
cvsdist 250c59a
simple method closures like those in Perl and JavaScript(tm).
cvsdist 250c59a
You can use BeanShell interactively for Java experimentation and
cvsdist 250c59a
debugging or as a simple scripting engine for your applications. In
cvsdist 250c59a
short: BeanShell is a dynamically interpreted Java, plus some useful
cvsdist 250c59a
stuff. Another way to describe it is to say that in many ways BeanShell
cvsdist 250c59a
is to Java as Tcl/Tk is to C: BeanShell is embeddable - You can call
cvsdist 250c59a
BeanShell from your Java applications to execute Java code dynamically
cvsdist 250c59a
at run-time or to provide scripting extensibility for your applications.
cvsdist 250c59a
Alternatively, you can call your Java applications and objects from
cvsdist 250c59a
BeanShell; working with Java objects and APIs dynamically. Since
cvsdist 250c59a
BeanShell is written in Java and runs in the same space as your
cvsdist 250c59a
application, you can freely pass references to "real live" objects into
cvsdist 250c59a
scripts and return them as results.
cvsdist 250c59a
cvsdist 250c59a
%package manual
cvsdist 250c59a
Summary:        Manual for %{name}
cvsdist 250c59a
Group:          Development/Java
cvsdist 250c59a
cvsdist 250c59a
%description manual
cvsdist 250c59a
Documentation for %{name}.
cvsdist 250c59a
cvsdist 250c59a
%package javadoc
cvsdist 250c59a
Summary:        Javadoc for %{name}
cvsdist 250c59a
Group:          Development/Java
cvsdist 250c59a
cvsdist 250c59a
%description javadoc
cvsdist 250c59a
Javadoc for %{name}.
cvsdist 250c59a
cvsdist 250c59a
%package demo
cvsdist 250c59a
Summary:        Demo for %{name}
cvsdist 250c59a
Group:          Development/Java
cvsdist 250c59a
AutoReqProv:	no
cvsdist 250c59a
Requires:       %{name} = %{epoch}:%{version}-%{release}
cvsdist 250c59a
Requires:	/usr/bin/env
cvsdist 250c59a
cvsdist 250c59a
%description demo
cvsdist 250c59a
Demonstrations and samples for %{name}.
cvsdist 250c59a
cvsdist 250c59a
%prep
cvsdist 250c59a
rm -rf $RPM_BUILD_ROOT
cvsdist 250c59a
%setup -n %{Name}
cvsdist 250c59a
%patch0 -p1
cvsdist 250c59a
#%patch1 -p1
cvsdist 250c59a
find . -name "*.jar" -exec rm -f {} \;
cvsdist 250c59a
# remove all CVS files
cvsdist 250c59a
for dir in `find . -type d -name CVS`; do rm -rf $dir; done
cvsdist 250c59a
for file in `find . -type f -name .cvsignore`; do rm -rf $file; done
cvsdist 250c59a
cvsdist 250c59a
%build
cvsdist 250c59a
mkdir -p lib
cvsdist 250c59a
#export CLASSPATH=$(build-classpath bsf libreadline-java)
cvsdist 250c59a
export CLASSPATH=$(build-classpath bsf)
cvsdist 250c59a
# remove servlet dependency
cvsdist 250c59a
rm -rf src/bsh/servlet
cvsdist 250c59a
ant -Dexclude-servlet='bsh/servlet/*' compile
cvsdist 250c59a
ant -Dexclude-servlet='bsh/servlet/*' jarall
cvsdist 250c59a
ant -Dexclude-servlet='bsh/servlet/*' javadoc
cvsdist 250c59a
ant -Dexclude-servlet='bsh/servlet/*' bshdoc
cvsdist 250c59a
(cd docs/faq && ant)
cvsdist 250c59a
(cd docs/manual && ant)
cvsdist 250c59a
cvsdist 250c59a
%install
cvsdist 250c59a
# jars
cvsdist 250c59a
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}
cvsdist 250c59a
install -m 644 dist/%{name}-%{fversion}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
cvsdist 250c59a
(cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}*; do ln -sf ${jar} ${jar/-%{version}/}; done)
cvsdist 250c59a
# manual
cvsdist 250c59a
find docs -name ".cvswrappers" -exec rm -f {} \;
cvsdist 250c59a
find docs -name "*.xml" -exec rm -f {} \;
cvsdist 250c59a
find docs -name "*.xsl" -exec rm -f {} \;
cvsdist 250c59a
find docs -name "*.log" -exec rm -f {} \;
cvsdist 250c59a
(cd docs/manual && mv html/* .)
cvsdist 250c59a
(cd docs/manual && rm -rf html)
cvsdist 250c59a
(cd docs/manual && rm -rf xsl)
cvsdist 250c59a
# javadoc
cvsdist 250c59a
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
cvsdist 250c59a
cp -pr javadoc/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
cvsdist 250c59a
# demo
cvsdist 250c59a
for i in `find tests -name \*.bsh`; do
cvsdist 250c59a
  perl -p -i -e 's,^\n?#!(/(usr/)?bin/java bsh\.Interpreter|/bin/sh),#!/usr/bin/env %{_bindir}/%{name},' $i
cvsdist 250c59a
  if head -1 $i | grep '#!/usr/bin/env %{_bindir}/%{name}' >/dev/null; then
cvsdist 250c59a
    chmod 755 $i
cvsdist 250c59a
  fi
cvsdist 250c59a
done
cvsdist 250c59a
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}
cvsdist 250c59a
cp -pr tests $RPM_BUILD_ROOT%{_datadir}/%{name}
cvsdist 250c59a
# scripts
cvsdist 250c59a
install -d $RPM_BUILD_ROOT%{_bindir}
cvsdist 250c59a
cvsdist 250c59a
cat > $RPM_BUILD_ROOT%{_bindir}/%{name} << EOF
cvsdist 250c59a
#!/bin/sh
cvsdist 250c59a
#
cvsdist 250c59a
# %{name} script
cvsdist 250c59a
# JPackage Project (http://jpackage.sourceforge.net)
cvsdist 250c59a
cvsdist 250c59a
# Source functions library
cvsdist 250c59a
. %{_datadir}/java-utils/java-functions
cvsdist 250c59a
cvsdist 250c59a
# Source system prefs
cvsdist 250c59a
if [ -f %{_sysconfdir}/%{name}.conf ] ; then
cvsdist 250c59a
  . %{_sysconfdir}/%{name}.conf
cvsdist 250c59a
fi
cvsdist 250c59a
cvsdist 250c59a
# Source user prefs
cvsdist 250c59a
if [ -f \$HOME/.%{name}rc ] ; then
cvsdist 250c59a
  . \$HOME/.%{name}rc
cvsdist 250c59a
fi
cvsdist 250c59a
cvsdist 250c59a
# Configuration
cvsdist 250c59a
MAIN_CLASS=bsh.Interpreter
cvsdist 250c59a
if [ -n "\$BSH_DEBUG" ]; then
cvsdist 250c59a
  BASE_FLAGS=-Ddebug=true
cvsdist 250c59a
fi
cvsdist 250c59a
cvsdist 250c59a
BASE_JARS="%{name}.jar"
cvsdist 250c59a
cvsdist 250c59a
#if [ -f /usr/lib/libJavaReadline.so ]; then
cvsdist 250c59a
#  BASE_FLAGS="$BASE_FLAGS -Djava.library.path=/usr/lib"
cvsdist 250c59a
#  BASE_FLAGS="\$BASE_FLAGS -Dbsh.console.readlinelib=GnuReadline"
cvsdist 250c59a
#  BASE_JARS="\$BASE_JARS libreadline-java.jar"
cvsdist 250c59a
#fi
cvsdist 250c59a
cvsdist 250c59a
# Set parameters
cvsdist 250c59a
set_jvm
cvsdist 250c59a
set_classpath \$BASE_JARS
cvsdist 250c59a
set_flags \$BASE_FLAGS
cvsdist 250c59a
set_options \$BASE_OPTIONS
cvsdist 250c59a
cvsdist 250c59a
# Let's start
cvsdist 250c59a
run "\$@"
cvsdist 250c59a
EOF
cvsdist 250c59a
cvsdist 250c59a
cat > $RPM_BUILD_ROOT%{_bindir}/%{name}doc << EOF
cvsdist 250c59a
#!/usr/bin/env %{_bindir}/%{name}
cvsdist 250c59a
EOF
cvsdist 250c59a
cat scripts/bshdoc.bsh >> $RPM_BUILD_ROOT%{_bindir}/%{name}doc
cvsdist 250c59a
cvsdist 250c59a
%clean
cvsdist 250c59a
rm -rf $RPM_BUILD_ROOT
cvsdist 250c59a
cvsdist 250c59a
%files
cvsdist 250c59a
%defattr(-,root,root)
cvsdist 250c59a
%doc src/Changes.html src/License.txt src/README.txt
cvsdist 250c59a
%attr(0755,root,root) %{_bindir}/%{name}
cvsdist 250c59a
%attr(0755,root,root) %{_bindir}/%{name}doc
cvsdist 250c59a
%{_javadir}/*
cvsdist 250c59a
%dir %{_datadir}/%{name}
cvsdist 250c59a
cvsdist 250c59a
%files manual
cvsdist 250c59a
%defattr(-,root,root)
cvsdist 250c59a
%doc docs/*
cvsdist 250c59a
cvsdist 250c59a
%files javadoc
cvsdist 250c59a
%defattr(-,root,root)
cvsdist 250c59a
%{_javadocdir}/%{name}-%{version}
cvsdist 250c59a
cvsdist 250c59a
%files demo
cvsdist 250c59a
%defattr(-,root,root)
cvsdist 250c59a
%{_datadir}/%{name}/*
cvsdist 250c59a
cvsdist 250c59a
%changelog
cvsdist 978c8f9
* Thu Mar  4 2004 Frank Ch. Eigler <fche@redhat.com> 0:1.3.0-5jpp_1rh
cvsdist 978c8f9
- RH vacuuming
cvsdist 978c8f9
- added bsf build-prereq
cvsdist 978c8f9
cvsdist 250c59a
* Mon Jan 26 2004 David Walluck <david@anti-microsoft.org> 0:1.3.0-5jpp
cvsdist 250c59a
- really drop readline patch
cvsdist 250c59a
cvsdist 250c59a
* Sun Jan 25 2004 David Walluck <david@anti-microsoft.org> 0:1.3.0-4jpp
cvsdist 250c59a
- drop readline patch
cvsdist 250c59a
cvsdist 250c59a
* Wed Jan 21 2004 David Walluck <david@anti-microsoft.org> 0:1.3.0-3jpp
cvsdist 250c59a
- port libreadline-java patch to new bsh
cvsdist 250c59a
cvsdist 250c59a
* Tue Jan 20 2004 David Walluck <david@anti-microsoft.org> 0:1.3.0-2jpp
cvsdist 250c59a
- add Distribution tag
cvsdist 250c59a
cvsdist 250c59a
* Tue Jan 20 2004 David Walluck <david@anti-microsoft.org> 0:1.3.0-1jpp
cvsdist 250c59a
- 1.3.0
cvsdist 250c59a
- remove bsf patch (fixed upstream)
cvsdist 250c59a
- add epoch to demo package Requires
cvsdist 250c59a
cvsdist 250c59a
* Fri Apr 12 2003 David Walluck <david@anti-microsoft.org> 0:1.2-0.b8.4jpp
cvsdist 250c59a
- fix strange permissions
cvsdist 250c59a
cvsdist 250c59a
* Fri Apr 11 2003 David Walluck <david@anti-microsoft.org> 0:1.2-0.b8.3jpp
cvsdist 250c59a
- rebuild for JPackage 1.5
cvsdist 250c59a
- add bsf patch
cvsdist 250c59a
cvsdist 250c59a
* Sat Feb 01 2003 David Walluck <david@anti-microsoft.org> 1.2-0.b8.2jpp
cvsdist 250c59a
- remove servlet dependency (if anyone wants to add this as a separate
cvsdist 250c59a
  package and do the tomcat integration, be my guest)
cvsdist 250c59a
cvsdist 250c59a
* Thu Jan 23 2003 David Walluck <david@anti-microsoft.org> 1.2-0.b8.1jpp
cvsdist 250c59a
- rename to bsh
cvsdist 250c59a
- add manual
cvsdist 250c59a
- add Changes.html to %%doc
cvsdist 250c59a
- add bsh and bshdoc scripts
cvsdist 250c59a
- add %%dir %%{_datadir}/%%{name} to main package
cvsdist 250c59a
- correct test interpreter and make bsh files executable
cvsdist 250c59a
cvsdist 250c59a
* Mon Jan 21 2002 Guillaume Rousse <guillomovitch@users.sourceforge.net> 1.01-3jpp
cvsdist 250c59a
- really section macro
cvsdist 250c59a
cvsdist 250c59a
* Sun Jan 20 2002 Guillaume Rousse <guillomovitch@users.sourceforge.net> 1.01-2jpp
cvsdist 250c59a
- additional sources in individual archives
cvsdist 250c59a
- versioned dir for javadoc
cvsdist 250c59a
- no dependencies for javadoc package
cvsdist 250c59a
- stricter dependency for demo package
cvsdist 250c59a
- section macro
cvsdist 250c59a
cvsdist 250c59a
* Tue Dec 18 2001 Guillaume Rousse <guillomovitch@users.sourceforge.net> 1.01-1jpp
cvsdist 250c59a
- first JPackage release