File mavscript.spec of Package Mavscript

%define mavscriptjar  mavscript202.jar
%define mavscriptzip  mavscript202.zip

%define fullname     %{name}-%{version}-%{release}

Name:           mavscript
Summary:        With Mavscript you can do calculations in a text document
Summary(de):    Mavscript ermöglicht es in einem Textdokument Berechnungen durchzuführen
Version:        2.0.2
Release:        1 
Source0:        http://sourceforge.net/projects/mavscript/files/%{version}/%{mavscriptzip}
URL:            http://mavscript.sourceforge.net/ 

Group:          Applications/Engineering
BuildArch:      noarch
BuildRoot:      %{_tmppath}/%{fullname}-buildroot
License:        GPL-2.0+
Requires:       java >= 1.7.0
Requires:       gnuplot
BuildRequires:  java-devel >= 1.7.0
BuildRequires:  unzip

%description
With Mavscript you can do calculations in a  text  document.  Mavscript
processes  template  files  containing text + algebraic expressions (or
java code). Text files, OpenDocument Text odt, LaTeX tex, hypertext
html  and  other text based formats (i.e. svg) are supported. The
text file may be packed in a zip-archive.

How it works: Mavscript reads the calculation commands in the template.
These commands start with the control characters §m and end with one of
the following control characters: §i (print input), §o (print  output),
§io  (print  both input and output) and §n (do not print anything). The
commands are forwarded to a Computer-Algebra-System. The  algebra  pro-
gram returns an answer to Mavscript, i.e. the result of the calculation
command. Mavscript now can insert this answer in the  text,  where  the
command was.

The standard engine is the built-in computer-algebra-system Yacas.  The
built-in java-interpreter BeanShell or Jasymca may be used instead. The
last option is to connect to a port (on localhost or a remote server).


%description -l de
Mavscript   ermöglicht   es   in   einem   Textdokument   Berechnungen
durchzuführen.  Mavscript  verarbeitet  Vorlagen,  welche Text + alge-
braische Ausdrücke (oder Java Code) enthalten. Text txt,  OpenDocument
Text  odt,  LaTeX tex, Hypertext html sowie andere textbasierte
Formate (z.B. svg) werden unterstützt.

So funktionierts: Mavscript liest die  Berechnungsanweisungen  ein.  Es
erkennt  deren  Beginn am Steuerzeichen §m, das Anweisungsende an einem
der folgenden Steuerzeichen: §i (schreibe Eingabe), §o  (schreibe  Aus-
gabe),  §io  (schreibe  Ein- und Ausgabe) und §n (schreibe nichts). Die
Anweisung wird an ein Computer-Algebra-System weitergeleitet. Das Alge-
braprogramm  gibt  eine Antwort an Mavscript zurück, z.B. das Resultat
einer Berechnung. Mavscript kann nun diese Antwort an der Stelle in den
Text einsetzen, wo die Anweisung stand.

Standardmässig wird das eingebaute Computer-Algebra-System Yacas  ver-
wendet. Stattdessen kann der eingebaute Java-Interpreter BeanShell oder
Jasymca  gebraucht werden.  Als letzte Option kann Mavscript mit  einem 
Port (auf localhost oder einem entfernten Server) Verbindung aufnehmen.

# 
%prep 
cd $RPM_BUILD_DIR
rm -rf mavscript
unzip $RPM_SOURCE_DIR/%{mavscriptzip} -d $RPM_BUILD_DIR
cd mavscript

chmod -R a+rX,g-w,o-w .


%build 
cd $RPM_BUILD_DIR/%{name}
echo '#! /bin/bash' > mavscript
echo 'java -jar /usr/share/%{name}/%{mavscriptjar} "$@"' >> mavscript

echo '#! /bin/bash' > mavscript-yacas
echo 'java -jar /usr/share/%{name}/%{mavscriptjar} --yacas --init /usr/share/%{name}/lib/init.ys "$@"' >> mavscript-yacas

echo '#! /bin/bash' > mavscript-beanshell
echo 'java -jar /usr/share/%{name}/%{mavscriptjar} --beanshell --init /usr/share/%{name}/lib/init.bsh "$@"' >> mavscript-beanshell

cat INFO/desktoplinks/Mavscript.linux.desktop |sed s/'\/usr\/local\/share\/mavscript'/'\/usr\/share\/mavscript'/g > INFO/desktoplinks/Mavscript.linux.desktop
cat INFO/desktoplinks/Mavscript.linux.desktop |sed s/'\/usr\/share\/mavscript\/mavscript-yacas'/'\/usr\/bin\/mavscript-yacas'/ > INFO/desktoplinks/Mavscript.linux.desktop

cat INFO/desktoplinks/Mavscript-bsh.linux.desktop |sed s/'\/usr\/local\/share\/mavscript'/'\/usr\/share\/mavscript'/g > INFO/desktoplinks/Mavscript-bsh.linux.desktop
cat INFO/desktoplinks/Mavscript-bsh.linux.desktop |sed s/'\/usr\/share\/mavscript\/mavscript-beanshell'/'\/usr\/bin\/mavscript-beanshell'/ > INFO/desktoplinks/Mavscript-bsh.linux.desktop

cat INFO/yacas/yacasconsole.html | sed s/'..\/..\/lib\/yacasconsole.html'/'\/usr\/share\/mavscript\/lib\/yacasconsole.html'/g > INFO/yacas/yacasconsole.html



%install
cd $RPM_BUILD_DIR
mkdir -p $RPM_BUILD_ROOT/usr/share/%{name}
mkdir -p $RPM_BUILD_ROOT%{_bindir}
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
mkdir -p $RPM_BUILD_ROOT%{_mandir}/de/man1
mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}
cp -p mavscript/mavscript*.jar $RPM_BUILD_ROOT/usr/share/%{name}
cp -p mavscript/mavscript $RPM_BUILD_ROOT%{_bindir}
cp -p mavscript/mavscript-yacas $RPM_BUILD_ROOT%{_bindir}
cp -p mavscript/mavscript-beanshell $RPM_BUILD_ROOT%{_bindir}
cp -pr mavscript/lib $RPM_BUILD_ROOT/usr/share/%{name}
cp -pr mavscript/INFO $RPM_BUILD_ROOT%{_docdir}/%{name}
mv $RPM_BUILD_ROOT%{_docdir}/%{name}/INFO/manpage/mavscript.1.gz $RPM_BUILD_ROOT%{_mandir}/man1
mv $RPM_BUILD_ROOT%{_docdir}/%{name}/INFO/manpage/mavscript.de.1.gz $RPM_BUILD_ROOT%{_mandir}/de/man1/mavscript.1.gz
rm -r $RPM_BUILD_ROOT%{_docdir}/%{name}/INFO/manpage
rm $RPM_BUILD_ROOT%{_docdir}/%{name}/INFO/desktoplinks/*.windows.lnk
cp -pr mavscript/src $RPM_BUILD_ROOT%{_docdir}/%{name}
cp -pr mavscript/examples $RPM_BUILD_ROOT%{_docdir}/%{name}

rm -rf $RPM_BUILD_DIR/%{name}


%clean 
rm -rf $RPM_BUILD_ROOT 

%files 
%defattr(-,root,root,0755)
/usr/share/%{name}
%doc %{_docdir}/%{name}
%doc %{_docdir}/%{name}/INFO
%doc %{_docdir}/%{name}/src
%doc %{_docdir}/%{name}/examples
%{_bindir}/mavscript
%{_bindir}/mavscript-yacas
%{_bindir}/mavscript-beanshell
%{_mandir}/man1/mavscript.1*
%{_mandir}/de/man1/mavscript.1*

%changelog 
* Sun Nov 06 2016 Adrian Vontobel <qwert2003@users.sourceforge.net> 2.0.2-1
- Lib yacas.jar updated to 1.6.0 (git cafc5a3)
* Tue Aug 09 2016 Adrian Vontobel <qwert2003@users.sourceforge.net> 2.0.1-1
- Lib yacas.jar updated to 1.5.0+ (git 22f4188)
* Mon Apr 18 2016 Adrian Vontobel <qwert2003@users.sourceforge.net> 2.0.0-1
- Initial rpm release of this version.

openSUSE Build Service is sponsored by