Sophie

Sophie

distrib > Mageia > 3 > i586 > media > core-release-src > by-pkgid > d8590e83e63943a6077757df9a6a759a > files > 16

bsh2-2.0b5-6.mga3.src.rpm


Name:          bsh2
Version:       2.0b5
Release:       %mkrel 6
Summary:       Lightweight Scripting for Java (BeanShell Version 2.x)
Group:         Development/Java
License:       LGPL
Url:           http://www.beanshell.org/
Source0:       http://www.beanshell.org/bsh-2.0b5-src.tar.bz2
Source1:       beanshell-2.0b5.pom  
Source2:       bsh-classpath-2.0b5.pom  
Source3:       bsh-commands-2.0b5.pom  
Source4:       bsh-core-2.0b5.pom  
Source5:       bsh-reflect-2.0b5.pom  
Source6:       bsh-util-2.0b5.pom  
Source7:       bsh-bsf-2.0b5.pom  
Source8:       bsh-classgen-2.0b5.pom  
Source9:       bsh-engine-2.0b5.pom  
Source10:      beanshell-icon.png
Patch0:        bsh2-2.0b5-ClassGeneratorUtil.patch  
Patch1:        bsh2-2.0b5-asm.patch 
Patch2:        bsh2-2.0b5-TestBshScriptEngine.patch  
Patch3:        bsh2-2.0b5-BshScriptEngine.patch 
BuildRequires: ant
BuildRequires: asm
BuildRequires: asm-javadoc
BuildRequires: bsf
BuildRequires: bsf-javadoc
BuildRequires: desktop-file-utils
BuildRequires: fdupes
BuildRequires: imagemagick
BuildRequires: javacc3
BuildRequires: java-javadoc
BuildRequires: tomcat5-servlet-2.4-api
BuildRequires: xalan-j2
BuildRequires: xalan-j2-xsltc
BuildRequires: java-devel >= 0:1.6.0
Requires:      asm
Requires:      bsf
Requires:      jpackage-utils
BuildArch:     noarch

%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.

With version 2.0 BeanShell becomes a fully Java compatible scripting
language. BeanShell is now capable of interpreting ordinary Java source
and loading .java source files from the class path. BeanShell scripted
classes are fully typed and appear to outside Java code and via
reflective inspection as ordinary classes. However their implementation
is fully dynamic and they may include arbitrary BeanShell scripts in
their bodies, methods, and constructors. Users may now freely mix
loose, unstructured BeanShell scripts, method closures, and full
scripted classes.

%package bsf
Group:         Development/Java
Summary:       BSF support for %{name}
Requires:      bsf
Requires:      %{name} = %{?epoch:%epoch:}%{version}-%{release}

%description bsf
BeanShell - Lightweight Scripting for Java.

This package contains BSF support for %{name}.

%package classgen
Group:         Development/Java
Summary:       ASM support for %{name}
Requires:      asm
Requires:      %{name} = %{?epoch:%epoch:}%{version}-%{release}

%description classgen
BeanShell - Lightweight Scripting for Java.

This package contains ASM support for %{name}.

%package demo
Group:         Development/Java
Summary:       Examples for %{name}
Requires:      %{name} = %{?epoch:%epoch:}%{version}-%{release}

%description demo
BeanShell - Lightweight Scripting for Java.

This package contains demonstrations and
samples for %{name}.

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

%description    javadoc
BeanShell - Lightweight Scripting for Java.

This package contains Javadoc for %{name}.

%package manual
Group:         Development/Java
Summary:       Manual for %{name}
Requires:      %{name} = %{?epoch:%epoch:}%{version}-%{release}

%description manual
BeanShell - Lightweight Scripting for Java.

This package contains documentation for %{name}.

%package console
Group:         Development/Other
Summary:       %{name} console
Requires:      %{name} = %{?epoch:%epoch:}%{version}-%{release}

%description console
BeanShell - Lightweight Scripting for Java.

This package contains a menu entry for %{name}.

%if 0
%package src  
Group:         Development/Java
Summary:       Lightweight Scripting for Java (BeanShell Version 2.x) (demo and samples)
  
%description src
BeanShell - Lightweight Scripting for Java.

This package contains source code of beanshell used for build of jEdit.
%endif

%prep
%setup -q -n BeanShell-%{version}
%patch0 -p0
%patch1 -p0
%patch2 -p0
%patch3 -p0

#mv tests/test-scripts/Data/addedCommand.jar tests/test-scripts/Data/addedCommand.jar.no
#mv tests/test-scripts/Data/addclass.jar tests/test-scripts/Data/addclass.jar.no

for j in $(find . -name "*.jar"); do
  rm -rf $j
done

for j in $(find . -name "CVS"); do
  rm -rf $j
done

for j in $(find . -name ".cvsignore"); do
  rm -rf $j
done

find engine/javax-src/javax/script/ -maxdepth 1 -type 'f' | xargs rm
#mv tests/test-scripts/Data/addedCommand.jar.no tests/test-scripts/Data/addedCommand.jar
#mv tests/test-scripts/Data/addclass.jar.no tests/test-scripts/Data/addclass.jar

mkdir -p bsh-bsf/classes
mkdir -p lib

%build

pushd lib
  ln -sf $(build-classpath asm/asm) .
  ln -sf $(build-classpath bsf) bsf.jar
  ln -sf $(build-classpath javacc3) javacc.jar
  ln -sf $(build-classpath servletapi5) servlet.jar
popd

pushd tests/test-scripts/Data
  javac $(find . -name "*.java")
  jar cf addclass.jar $(find . -name "*.class")
  jar cf addedCommand.jar $(find . -name "addedCommand.bsh")
popd

pushd engine/javax-src/
  export CLASSPATH=$(build-classpath servletapi5)
  javac $(find . -name "*.java")
  jar cf ../../lib/javaxscript.jar $(find . -name "*.class" -o -name "*.html")
popd


%{__perl} -p -i -e 's|VERSION =.*;|VERSION = "%{version}-%{release}";|' src/bsh/Interpreter.java

# remove internal asm code
rm -rf src/bsh/org
%{__perl} -p -i -e 's|bsh.org.objectweb.asm|org.objectweb.asm|' src/bsh/ClassGeneratorUtil.java

export JAVA_HOME=%{java_home}
# remove servlet dependency
# rm -rf src/bsh/servlet
# -Dexclude-servlet='bsh/servlet/*' \
export CLASSPATH=$(build-classpath asm/asm bsf servletapi5 ant)

ant \
  -Dasm.javadoc=%{_javadocdir}/asm \
  -Dbsf.javadoc=%{_javadocdir}/bsf \
  -Djava.javadoc=%{_javadocdir}/java \
  -Djava.awt.headless=false \
  dist test

export CLASSPATH=$CLASSPATH:$(build-classpath xalan-j2-serializer xalan-j2 xsltc ant/ant-trax)

(
  cd docs/faq
  ant
)

(
  cd docs/manual
  ant
)

fdupes -s docs/

export CLASSPATH=$CLASSPATH:dist/bsh-%{version}.jar
javac -d bsh-bsf/classes $(find bsf/src -name "*.java")
rm -rf bsh-bsf/classes/TestBshBSF.class
jar uf dist/bsh-bsf-%{version}.jar -C bsh-bsf/classes .
jar uf dist/bsh-%{version}.jar -C bsh-bsf/classes .

%install
[ %{buildroot} != / ] && rm -rf %{buildroot}

mkdir -p %{buildroot}%{_javadir}/%{name}
rm -f dist/bsh-%{version}-src.jar
pushd dist
  install -m 644 bsh-%{version}.jar \
    %{buildroot}%{_javadir}/%{name}/bsh.jar
  install -m 644 bsh-bsf-%{version}.jar \
    %{buildroot}%{_javadir}/%{name}/bsh-bsf.jar
  install -m 644 bsh-classgen-%{version}.jar \
    %{buildroot}%{_javadir}/%{name}/bsh-classgen.jar
  install -m 644 bsh-classpath-%{version}.jar \
    %{buildroot}%{_javadir}/%{name}/bsh-classpath.jar
  install -m 644 bsh-commands-%{version}.jar \
    %{buildroot}%{_javadir}/%{name}/bsh-commands.jar
  install -m 644 bsh-core-%{version}.jar \
    %{buildroot}%{_javadir}/%{name}/bsh-core.jar
  install -m 644 bsh-engine-%{version}.jar \
    %{buildroot}%{_javadir}/%{name}/bsh-engine.jar
  install -m 644 bsh-reflect-%{version}.jar \
    %{buildroot}%{_javadir}/%{name}/bsh-reflect.jar
  install -m 644 bsh-util-%{version}.jar \
    %{buildroot}%{_javadir}/%{name}/bsh-util.jar
popd

#mkdir -p %{buildroot}%{_sourcedir}
#cp -pr dist/bsh-%{version}-src.zip %{buildroot}%{_sourcedir}

mkdir -p %{buildroot}%{_mavenpomdir}
install -m 644 %{SOURCE1} \
    %{buildroot}%{_mavenpomdir}/JPP.%{name}-bsh.pom  
install -m 644 %{SOURCE2} \
    %{buildroot}%{_mavenpomdir}/JPP.%{name}-bsh-classpath.pom  
install -m 644 %{SOURCE3} \
    %{buildroot}%{_mavenpomdir}/JPP.%{name}-bsh-commands.pom  
install -m 644 %{SOURCE4} \
    %{buildroot}%{_mavenpomdir}/JPP.%{name}-bsh-core.pom  
install -m 644 %{SOURCE5} \
    %{buildroot}%{_mavenpomdir}/JPP.%{name}-bsh-reflect.pom  
install -m 644 %{SOURCE6} \
    %{buildroot}%{_mavenpomdir}/JPP.%{name}-bsh-util.pom  
install -m 644 %{SOURCE7} \
    %{buildroot}%{_mavenpomdir}/JPP.%{name}-bsh-bsf.pom  
install -m 644 %{SOURCE8} \
    %{buildroot}%{_mavenpomdir}/JPP.%{name}-bsh-classgen.pom  
install -m 644 %{SOURCE9} \
    %{buildroot}%{_mavenpomdir}/JPP.%{name}-bsh-engine.pom 

%add_maven_depmap JPP.%{name}-bsh.pom
%add_maven_depmap JPP.%{name}-bsh-bsf.pom %{name}/bsh-bsf.jar
%add_maven_depmap JPP.%{name}-bsh-classgen.pom %{name}/bsh-classgen.jar
%add_maven_depmap JPP.%{name}-bsh-classpath.pom %{name}/bsh-classpath.jar
%add_maven_depmap JPP.%{name}-bsh-commands.pom %{name}/bsh-commands.jar
%add_maven_depmap JPP.%{name}-bsh-core.pom %{name}/bsh-core.jar
%add_maven_depmap JPP.%{name}-bsh-engine.pom %{name}/bsh-engine.jar
%add_maven_depmap JPP.%{name}-bsh-reflect.pom %{name}/bsh-reflect.jar
%add_maven_depmap JPP.%{name}-bsh-util.pom %{name}/bsh-util.jar 


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}/%{name}
cp -pr javadoc/* %{buildroot}%{_javadocdir}/%{name}

for i in `find tests -name "*.bsh"`; do
  %{__perl} -p -i -e 's,^\n?#!(/(usr/)?bin/java bsh\.Interpreter|/bin/sh),#!%{_bindir}/%{name},' $i
done

mkdir -p %{buildroot}%{_datadir}/%{name}/{bshservlet,bshservlet-wbsh}
#install -m 644 dist/bshservlet.war %{buildroot}%{_datadir}/bsh/webapps
#install -m 644 dist/bshservlet-wbsh.war %{buildroot}%{_datadir}/bsh/webapps
(
  cd %{buildroot}%{_datadir}/%{name}/bshservlet
  jar xf %{_builddir}/BeanShell-%{version}/dist/bshservlet.war
)

(
  cd %{buildroot}%{_datadir}/%{name}/bshservlet-wbsh
  jar xf %{_builddir}/BeanShell-%{version}/dist/bshservlet-wbsh.war
  rm -rf bsh-%{version}.jar
)

ln -sf ../../java/%{name}/bsh.jar %{buildroot}%{_datadir}/bsh2/bshservlet-wbsh/bsh-%{version}.jar

cp -pr tests %{buildroot}%{_datadir}/%{name}

find %{buildroot}%{_datadir}%{name} -type d \
  | sed 's|'%{buildroot}'|%dir |' >  %{name}-demo-%{version}.files
find %{buildroot}%{_datadir}/%{name} -type f -name "*.bsh" \
  | sed 's|'%{buildroot}'|%attr(0755,root,root) |'      >> %{name}-demo-%{version}.files
find %{buildroot}%{_datadir}/%{name} -type f ! -name "*.bsh" \
  | sed 's|'%{buildroot}'|%attr(0644,root,root) |'      >> %{name}-demo-%{version}.files


mkdir -p %{buildroot}%{_bindir}

cat > %{buildroot}%{_bindir}/%{name} << EOF
#!/bin/sh
#
# bsh2 script
# JPackage Project (http://jpackage.sourceforge.net)

# Source functions library
. %{_datadir}/java-utils/java-functions

# Source system prefs
if [ -f %{_sysconfdir}/%{name}.conf ] ; then
  . %{_sysconfdir}/%{name}.conf
fi

# Source user prefs
if [ -f \$HOME/.%{name}rc ] ; then
  . \$HOME/.%{name}rc
fi

# Configuration
MAIN_CLASS=bsh.Interpreter
if [ -n "\$BSH_DEBUG" ]; then
  BASE_FLAGS=-Ddebug=true
fi

BASE_JARS="bsh2/bsh"

#if [ -f /usr/lib/libJavaReadline.so ]; then
#  BASE_FLAGS="$BASE_FLAGS -Djava.library.path=/usr/lib"
#  BASE_FLAGS="\$BASE_FLAGS -Dbsh.console.readlinelib=GnuReadline"
#  BASE_JARS="\$BASE_JARS libreadline-java.jar"
#fi

# Set parameters
set_jvm
set_classpath \$BASE_JARS
set_flags \$BASE_FLAGS
set_options \$BASE_OPTIONS

# Let's start
run "\$@"
EOF

mkdir -p %{buildroot}%{_datadir}/applications
cat > %{name}-console.desktop << EOF
[Desktop Entry]
Version=1.0
Name=BeanShell Console (%{version})
GenericName=BeanShell Console
Comment=Lightweight Scripting for Java
Exec=%{name}-console
Icon=%{name}
Terminal=false
Type=Application
Categories=Development;Java;
EOF

desktop-file-install --mode=644 --dir=%{buildroot}%{_datadir}/applications %{name}-console.desktop

for s in 16x16 32x32 64x64 ;do
  mkdir -p %{buildroot}%{_datadir}/icons/hicolor/$s/apps
  convert -resize $s %{SOURCE10} %{buildroot}%{_datadir}/icons/hicolor/$s/apps/%{name}.png
done

mkdir -p %{buildroot}%{_datadir}/pixmaps
cp -pr %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/%{name}.png %{buildroot}%{_datadir}/pixmaps/%{name}.png

cat > %{buildroot}%{_bindir}/%{name}-console << EOF
#!/bin/sh
#
# bsh2 script
# JPackage Project (http://jpackage.sourceforge.net)

# Source functions library
. %{_datadir}/java-utils/java-functions

# Source system prefs
if [ -f %{_sysconfdir}/%{name}.conf ] ; then
  . %{_sysconfdir}/%{name}.conf
fi

# Source user prefs
if [ -f \$HOME/.%{name}rc ] ; then
  . \$HOME/.%{name}rc
fi

# Configuration
MAIN_CLASS=bsh.Console
if [ -n "\$BSH_DEBUG" ]; then
  BASE_FLAGS=-Ddebug=true
fi

BASE_JARS="bsh2/bsh"

#if [ -f /usr/lib/libJavaReadline.so ]; then
#  BASE_FLAGS="$BASE_FLAGS -Djava.library.path=/usr/lib"
#  BASE_FLAGS="\$BASE_FLAGS -Dbsh.console.readlinelib=GnuReadline"
#  BASE_JARS="\$BASE_JARS libreadline-java.jar"
#fi

# Set parameters
set_jvm
set_classpath \$BASE_JARS
set_flags \$BASE_FLAGS
set_options \$BASE_OPTIONS

# Let's start
run "\$@"
EOF

cat > %{buildroot}%{_bindir}/%{name}doc << EOF
#!/usr/bin/env %{_bindir}/%{name}
EOF
cat scripts/bshdoc.bsh >> %{buildroot}%{_bindir}/%{name}doc

%post
%update_maven_depmap

%postun
%update_maven_depmap

%files
%attr(0755,root,root) %{_bindir}/%{name}
%attr(0755,root,root) %{_bindir}/%{name}doc
%dir %{_javadir}/%{name}
%{_javadir}/%{name}/bsh.jar
%{_javadir}/%{name}/bsh-classpath.jar
%{_javadir}/%{name}/bsh-commands.jar
%{_javadir}/%{name}/bsh-core.jar
%{_javadir}/%{name}/bsh-engine.jar
%{_javadir}/%{name}/bsh-reflect.jar
%{_javadir}/%{name}/bsh-util.jar
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/bshservlet
%{_datadir}/%{name}/bshservlet-wbsh
%{_mavenpomdir}/JPP.%{name}-bsh.pom
%{_mavenpomdir}/JPP.%{name}-bsh-classpath.pom
%{_mavenpomdir}/JPP.%{name}-bsh-commands.pom
%{_mavenpomdir}/JPP.%{name}-bsh-core.pom
%{_mavenpomdir}/JPP.%{name}-bsh-engine.pom
%{_mavenpomdir}/JPP.%{name}-bsh-reflect.pom
%{_mavenpomdir}/JPP.%{name}-bsh-util.pom
%{_mavendepmapfragdir}/%{name}
%doc src/*.html src/*.txt

%post console
update-desktop-database %{_datadir}/applications &> /dev/null || :
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 console
update-desktop-database %{_datadir}/applications &> /dev/null || :
touch --no-create %{_datadir}/icons/hicolor
if [ -x %{_bindir}/gtk-update-icon-cache ] ; then
  %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor
fi

%files console
%attr(0755,root,root) %{_bindir}/%{name}-console
%{_datadir}/applications/%{name}-console.desktop
%{_datadir}/icons/hicolor/*x*/apps/%{name}.png
%{_datadir}/pixmaps/%{name}.png

%files bsf
%{_javadir}/%{name}/bsh-bsf.jar
%{_mavenpomdir}/JPP.%{name}-bsh-bsf.pom

%files classgen
%{_javadir}/%{name}/bsh-classgen.jar
%{_mavenpomdir}/JPP.%{name}-bsh-classgen.pom

%files demo -f %{name}-demo-%{version}.files

%pre javadoc
[ $1 -gt 1 ] && [ -L %{_javadocdir}/%{name} ] && \
rm -rf $(readlink -f %{_javadocdir}/%{name}) %{_javadocdir}/%{name} || :

%files javadoc
%{_javadocdir}/%{name}

%files manual
%doc docs/*

%if 0
%files src
%{_sourcedir}/bsh-%{version}-src.zip
%endif


%changelog

* Fri Jan 11 2013 umeabot <umeabot> 2.0b5-6.mga3
+ Revision: 347208
- Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild

* Sat Dec 08 2012 dmorgan <dmorgan> 2.0b5-5.mga3
+ Revision: 328479
- Build with java7

* Thu Jan 12 2012 gil <gil> 2.0b5-4.mga2
+ Revision: 195401
- added unversion javadoc dir
- added unversion javadoc dir
- used %%{_mavenpomdir}
- edit poms, changes groupId bsf in org.apache.bsf
- edit spec file used new %%add_maven_depmap macro

  + dmorgan <dmorgan>
    - Fix pom files install
    - Do not install files in /home/
    - Clean spec file

* Fri Jun 10 2011 gil <gil> 2.0b5-0.mga2
+ Revision: 102799
- imported package bsh2