329 lines
9.4 KiB
RPMSpec
329 lines
9.4 KiB
RPMSpec
|
%define javahome %{_jvmdir}/jdk
|
||
|
Name: java-bsh
|
||
|
Version: 1.3.0
|
||
|
Release: 7mamba
|
||
|
Summary: Lightweight Scripting for Java
|
||
|
Group: Development/Libraries/Java
|
||
|
Vendor: openmamba
|
||
|
Distribution: openmamba
|
||
|
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
|
||
|
URL: http://www.beanshell.org/
|
||
|
# Source: http://www.beanshell.org/bsh-2.0b4-src.zip broken link
|
||
|
# svn co http://ikayzo.org/svn/beanshell
|
||
|
Source0: http://repository.jboss.com/beanshell/%{version}-brew/src/bsh-%{version}-src.tar.bz2
|
||
|
Source1: java-bsh.png
|
||
|
Source2: java-bsh-desktop.desktop
|
||
|
Source3: java-bsh-1.3.0.pom
|
||
|
Source4: java-bsh-bsf-1.3.0.pom
|
||
|
Source5: java-bsh-1.3.0-bsh-desktop-script
|
||
|
Source6: java-bsh-1.3.0-bsh-script
|
||
|
Patch0: http://repository.jboss.com/beanshell/%{version}-brew/src/bsh-build.patch
|
||
|
Patch1: java-bsh-1.3.0-faq.patch
|
||
|
Patch2: java-bsh-1.3.0-manual.patch
|
||
|
License: LGPL, Sun Public License
|
||
|
BuildRequires: apache-ant
|
||
|
BuildRequires: apache-ant-trax
|
||
|
BuildRequires: desktop-file-utils
|
||
|
%if "%{stage1}" != "1"
|
||
|
BuildRequires: apache-tomcat5-servletapi5
|
||
|
%else
|
||
|
BuildRequires: java-servletapi4
|
||
|
%endif
|
||
|
BuildRequires: jakarta-bsf
|
||
|
BuildRequires: ImageMagick
|
||
|
BuildRequires: java-libreadline
|
||
|
BuildRequires: javacc
|
||
|
BuildRequires: xalan-j2
|
||
|
Requires: jakarta-bsf
|
||
|
Requires: jpackage-utils
|
||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
||
|
|
||
|
%description
|
||
|
BeanShell is a small, free, embeddable, Java source interpreter with object scripting language features, written in Java. BeanShell executes standard Java statements and expressions, in addition to obvious scripting commands and syntax. BeanShell supports scripted objects as simple method closures like those in Perl and JavaScript(tm).
|
||
|
You can use BeanShell interactively for Java experimentation and debugging or as a simple scripting engine for your applications. In short: BeanShell is a dynamically interpreted Java, plus some useful stuff. Another way to describe it is to say that in many ways BeanShell is to Java as Tcl/Tk is to C: BeanShell is embeddable - You can call BeanShell from your Java applications to execute Java code dynamically at run-time or to provide scripting extensibility for your applications.
|
||
|
Alternatively, you can call your Java applications and objects from BeanShell; working with Java objects and APIs dynamically. Since BeanShell is written in Java and runs in the same space as your application, you can freely pass references to "real live" objects into scripts and return them as results.
|
||
|
|
||
|
%package javadoc
|
||
|
Group: Documentation
|
||
|
Summary: Javadoc for %{name}
|
||
|
|
||
|
%description javadoc
|
||
|
Lightweight Scripting for Java.
|
||
|
|
||
|
This package contains Javadoc for %{name}.
|
||
|
|
||
|
%package demo
|
||
|
Group: Documentation
|
||
|
Summary: Examples for %{name}
|
||
|
|
||
|
%description demo
|
||
|
Lightweight Scripting for Java.
|
||
|
|
||
|
This package contains demonstrations and samples for %{name}.
|
||
|
|
||
|
%package desktop
|
||
|
Summary: Desktop integraton for %{name}
|
||
|
Group: Development/Tools
|
||
|
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
|
||
|
|
||
|
%description desktop
|
||
|
Lightweight Scripting for Java.
|
||
|
|
||
|
This package contains a menu entry for %{name}.
|
||
|
|
||
|
%package manual
|
||
|
Group: Documentation
|
||
|
Summary: Manual for %{name}
|
||
|
|
||
|
%description manual
|
||
|
Lightweight Scripting for Java.
|
||
|
|
||
|
This package contains documentation for %{name}.
|
||
|
|
||
|
%prep
|
||
|
%setup -q -n BeanShell
|
||
|
%patch0 -p1
|
||
|
%patch1 -p0
|
||
|
%patch2 -p0
|
||
|
|
||
|
for j in $(find . -name "*.jar"); do
|
||
|
mv $j $j.no
|
||
|
done
|
||
|
|
||
|
for dir in $(find . -type d -name CVS); do
|
||
|
rm -rf $dir
|
||
|
done
|
||
|
|
||
|
for file in $(find . -type d -name .cvsignore) ; do
|
||
|
rm -rf $file
|
||
|
done
|
||
|
|
||
|
for i in backbutton forwardbutton homebutton remoteconsole upbutton; do
|
||
|
chmod 644 docs/images/$i.gif
|
||
|
done
|
||
|
|
||
|
%build
|
||
|
mkdir -p lib
|
||
|
pushd lib
|
||
|
ln -sf $(build-classpath bsf) bsf.jar
|
||
|
%if "%{stage1}" != "1"
|
||
|
ln -sf $(build-classpath servletapi5) servlet.jar
|
||
|
%else
|
||
|
ln -sf $(build-classpath servletapi4) servlet.jar
|
||
|
%endif
|
||
|
ln -sf $(build-classpath javacc) javacc.jar
|
||
|
popd
|
||
|
|
||
|
export JAVA_HOME=%javahome
|
||
|
ant dist
|
||
|
(
|
||
|
cd docs/faq
|
||
|
ant -Dant.build.javac.source=1.4
|
||
|
)
|
||
|
|
||
|
(
|
||
|
cd docs/manual
|
||
|
export CLASSPATH=$(build-classpath xalan-j2 ant/ant-trax)
|
||
|
ant -Dant.build.javac.source=1.4
|
||
|
)
|
||
|
%install
|
||
|
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||
|
|
||
|
mkdir -p %{buildroot}%{_javadir}
|
||
|
install -m 644 dist/bsh-%{version}.jar \
|
||
|
%{buildroot}%{_javadir}/bsh-%{version}.jar
|
||
|
install -m 644 dist/bsh-bsf-%{version}.jar \
|
||
|
%{buildroot}%{_javadir}/bsh-bsf-%{version}.jar
|
||
|
install -m 644 dist/bsh-classpath-%{version}.jar \
|
||
|
%{buildroot}%{_javadir}/bsh-classpath-%{version}.jar
|
||
|
install -m 644 dist/bsh-commands-%{version}.jar \
|
||
|
%{buildroot}%{_javadir}/bsh-commands-%{version}.jar
|
||
|
install -m 644 dist/bsh-core-%{version}.jar \
|
||
|
%{buildroot}%{_javadir}/bsh-core-%{version}.jar
|
||
|
install -m 644 dist/bsh-reflect-%{version}.jar \
|
||
|
%{buildroot}%{_javadir}/bsh-reflect-%{version}.jar
|
||
|
install -m 644 dist/bsh-util-%{version}.jar \
|
||
|
%{buildroot}%{_javadir}/bsh-util-%{version}.jar
|
||
|
|
||
|
(
|
||
|
cd %{buildroot}%{_javadir}
|
||
|
for jar in *-%{version}*; do
|
||
|
ln -sf ${jar} ${jar/-%{version}/}
|
||
|
done
|
||
|
)
|
||
|
|
||
|
find docs -name ".cvswrappers" -exec rm -f {} \;
|
||
|
find docs -name "*.xml" -exec rm -f {} \;
|
||
|
find docs -name "*.xsl" -exec rm -f {} \;
|
||
|
find docs -name "*.log" -exec rm -f {} \;
|
||
|
|
||
|
(
|
||
|
cd docs/manual
|
||
|
mv html/* .
|
||
|
)
|
||
|
(
|
||
|
cd docs/manual
|
||
|
rm -rf html
|
||
|
)
|
||
|
(
|
||
|
cd docs/manual
|
||
|
rm -rf xsl
|
||
|
)
|
||
|
|
||
|
mkdir -p %{buildroot}%{_javadocdir}/bsh-%{version}
|
||
|
cp -pr javadoc/* %{buildroot}%{_javadocdir}/bsh-%{version}
|
||
|
ln -s bsh-%{version} %{buildroot}%{_javadocdir}/bsh
|
||
|
|
||
|
for i in `find tests -name \*.bsh`; do
|
||
|
perl -p -i -e 's,^\n?#!(/(usr/)?bin/java bsh\.Interpreter|/bin/sh),#!/usr/bin/env %{_bindir}/bsh,' $i
|
||
|
if head -1 $i | grep '#!/usr/bin/env %{_bindir}/bsh' >/dev/null; then
|
||
|
chmod 755 $i
|
||
|
fi
|
||
|
done
|
||
|
|
||
|
find . -name "*.bsh" -exec perl -p -i -e 's|/bin/java|%{_bindir}/java|g;' {} \;
|
||
|
sed -i "s|/bin/java|%{_bindir}/java|" tests/Template
|
||
|
mkdir -p %{buildroot}%{_datadir}/bsh/webapps
|
||
|
|
||
|
chmod 755 tests/Template
|
||
|
cat > one << EOF
|
||
|
#!/bin/sh
|
||
|
|
||
|
EOF
|
||
|
cat tests/Interactive/reload/one >> one
|
||
|
cat one > tests/Interactive/reload/one
|
||
|
rm one
|
||
|
cat > two << EOF
|
||
|
#!/bin/sh
|
||
|
|
||
|
EOF
|
||
|
cat tests/Interactive/reload/two >> two
|
||
|
cat two > tests/Interactive/reload/two
|
||
|
rm two
|
||
|
|
||
|
cp -pr tests %{buildroot}%{_datadir}/bsh
|
||
|
|
||
|
|
||
|
install -m 644 dist/bshservlet.war %{buildroot}%{_datadir}/bsh/webapps
|
||
|
install -m 644 dist/bshservlet-wbsh.war %{buildroot}%{_datadir}/bsh/webapps
|
||
|
|
||
|
mkdir -p %{buildroot}%{_datadir}/applications
|
||
|
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/16x16/apps
|
||
|
mkdir -p %{buildroot}%{_datadir}/pixmaps
|
||
|
|
||
|
convert %{SOURCE1} \
|
||
|
%{buildroot}%{_datadir}/icons/hicolor/16x16/apps/bsh.png
|
||
|
convert %{SOURCE1} \
|
||
|
%{buildroot}%{_datadir}/pixmaps/bsh.png
|
||
|
|
||
|
desktop-file-install --vendor=%vendor --mode=644 \
|
||
|
--dir=%{buildroot}%{_datadir}/applications %{SOURCE2}
|
||
|
|
||
|
mkdir -p %{buildroot}%{_datadir}/maven2/poms
|
||
|
install -pm 644 %{SOURCE3} %{buildroot}%{_datadir}/maven2/poms/JPP.bsh.pom
|
||
|
install -pm 644 %{SOURCE4} %{buildroot}%{_datadir}/maven2/poms/JPP.bsh-bsf.pom
|
||
|
|
||
|
%add_to_maven_depmap bsh bsh %{version} JPP bsh
|
||
|
%add_to_maven_depmap bsh bsh-bsf %{version} JPP bsh-bsf
|
||
|
|
||
|
mkdir -p %{buildroot}%{_bindir}
|
||
|
|
||
|
cat > %{buildroot}%{_bindir}/bshdoc << EOF
|
||
|
#!/usr/bin/env %{_bindir}/bsh
|
||
|
EOF
|
||
|
cat scripts/bshdoc.bsh >> %{buildroot}%{_bindir}/bshdoc
|
||
|
|
||
|
install -pm 755 %{SOURCE5} %{buildroot}%{_bindir}/bsh-desktop
|
||
|
install -pm 755 %{SOURCE6} %{buildroot}%{_bindir}/bsh
|
||
|
|
||
|
%clean
|
||
|
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||
|
|
||
|
%post desktop
|
||
|
touch --no-create %{_datadir}/icons/hicolor
|
||
|
if [ -x %{_bindir}/gtk-update-icon-cache ] ; then
|
||
|
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor
|
||
|
fi
|
||
|
|
||
|
%post
|
||
|
%update_maven_depmap
|
||
|
|
||
|
%postun desktop
|
||
|
touch --no-create %{_datadir}/icons/hicolor
|
||
|
if [ -x %{_bindir}/gtk-update-icon-cache ] ; then
|
||
|
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor
|
||
|
fi
|
||
|
|
||
|
%postun
|
||
|
%update_maven_depmap
|
||
|
|
||
|
%files
|
||
|
%defattr(-,root,root)
|
||
|
%{_bindir}/bsh
|
||
|
%{_bindir}/bshdoc
|
||
|
%{_javadir}/bsh-%{version}.jar
|
||
|
%{_javadir}/bsh-bsf-%{version}.jar
|
||
|
%{_javadir}/bsh-bsf.jar
|
||
|
%{_javadir}/bsh-classpath-%{version}.jar
|
||
|
%{_javadir}/bsh-classpath.jar
|
||
|
%{_javadir}/bsh-commands-%{version}.jar
|
||
|
%{_javadir}/bsh-commands.jar
|
||
|
%{_javadir}/bsh-core-%{version}.jar
|
||
|
%{_javadir}/bsh-core.jar
|
||
|
%{_javadir}/bsh-reflect-%{version}.jar
|
||
|
%{_javadir}/bsh-reflect.jar
|
||
|
%{_javadir}/bsh-util-%{version}.jar
|
||
|
%{_javadir}/bsh-util.jar
|
||
|
%{_javadir}/bsh.jar
|
||
|
%dir %{_datadir}/bsh
|
||
|
%{_datadir}/bsh/webapps
|
||
|
%{_datadir}/maven2/poms/*
|
||
|
%{_mavendepmapfragdir}
|
||
|
%doc src/Changes.html src/License.txt src/README.txt
|
||
|
|
||
|
%files javadoc
|
||
|
%defattr(-,root,root)
|
||
|
%{_javadocdir}/bsh-%{version}
|
||
|
%{_javadocdir}/bsh
|
||
|
|
||
|
%files demo
|
||
|
%defattr(-,root,root)
|
||
|
%{_datadir}/bsh
|
||
|
%doc tests/README.txt tests/Interactive/README
|
||
|
|
||
|
%files manual
|
||
|
%defattr(-,root,root)
|
||
|
%doc docs/*
|
||
|
|
||
|
%files desktop
|
||
|
%defattr(-,root,root)
|
||
|
%{_bindir}/bsh-desktop
|
||
|
%{_datadir}/applications/*bsh-desktop.desktop
|
||
|
%{_datadir}/icons/hicolor/*x*/apps/bsh.png
|
||
|
%{_datadir}/pixmaps/bsh.png
|
||
|
|
||
|
%changelog
|
||
|
* Mon Mar 28 2011 gil <puntogil@libero.it> 1.3.0-7mamba
|
||
|
- fixed demo rpm warning
|
||
|
|
||
|
* Sun Mar 27 2011 gil <puntogil@libero.it> 1.3.0-6mamba
|
||
|
- rebuilt with java-openjdk support
|
||
|
|
||
|
* Thu Nov 25 2010 gil <puntogil@libero.it> 1.3.0-5mamba
|
||
|
- rebuilt devel
|
||
|
- add new sub package desktop
|
||
|
- fix documentation build
|
||
|
- add %%post %%postun {,desktop} scripts
|
||
|
|
||
|
* Tue Mar 17 2009 gil <puntogil@libero.it> 1.3.0-4mamba
|
||
|
- rebuilt with sun-java 6u20
|
||
|
|
||
|
* Tue Mar 17 2009 gil <puntogil@libero.it> 1.3.0-3mamba
|
||
|
- rebuilt
|
||
|
|
||
|
* Fri Mar 13 2009 gil <puntogil@libero.it> 1.3.0-2mamba
|
||
|
- rebuilt
|
||
|
|
||
|
* Thu Mar 05 2009 gil <puntogil@libero.it> 1.3.0-1mamba
|
||
|
- package created by autospec
|