Sophie

Sophie

distrib > Mandriva > 10.1 > i586 > by-pkgid > 0e08f5845f5fc37e92215607249d1d71 > files > 2

scilab-toolbox-ANN-0.4.2-4mdk.src.rpm

#toolbox/scilab def
%define tarname ANN_Toolbox
%define scilab_version %(rpm -q --queryformat "%{VERSION}" scilab)
%define short_name ann
%define module_dir macros/%short_name

#package def
%define name scilab-toolbox-ANN
%define version 0.4.2
%define release 4mdk

Summary: Artificial neural network toolbox 
Name: %{name}
Version: %{version}
Release: %{release}
Source0: %{tarname}_%{version}.tar.bz2
License: GPL
Group: Sciences/Mathematics
Url: ftp://ftp.inria.fr/INRIA/Projects/Meta2/Scilab/contrib/ANN/ 
BuildRoot: %{_tmppath}/%{name}-buildroot
Requires: scilab >= %scilab_version 
BuildRequires: scilab
BuildArch: noarch

%description
Artificial Neural Networks Toolbox
- Only layered feedforward networks are supported *directly* at the 
  moment (for others use the "hooks" provided)
- Unlimited number of layers
- Unlimited number of neurons per each layer separately
- User defined activation function (defaults to logistic)
- User defined error function (defaults to SSE)
- Algorithms implemented (so far):
  * standard (vanilla) with or without bias, on-line or batch
  * momentum with or without bias, on-line or batch
  * SuperSAB with or without bias, on-line or batch
  * Conjugate gradients
  * Jacobian computation
  * Computation of result of multiplication between "vector" and Hessian

%prep
%setup -q -n %{tarname}_%{version}

%build
(
cd %module_dir

cat Makefile.in | sed \
   -e "s|^include \.\./\.\./Makefile.incl|include %_libdir/scilab-%{scilab_version}/Makefile.incl|" \
   -e "s|^include \.\./Make.lib|include %_libdir/scilab-%{scilab_version}/macros/Make.lib|"  \
   > Makefile

make SCIDIR="%{_libdir}/scilab-%{scilab_version}" \
     NAM=.
)

(
cd man/%short_name
echo 'lines(0);formatman("ann","ascii");quit' | scilab -nw

for i in *.man; do
	bzip2 $i
done

)

%install
rm -rf $RPM_BUILD_ROOT
mkdir -p %buildroot%_libdir/scilab-%{scilab_version}/
mkdir -p %buildroot%_libdir/scilab-%{scilab_version}/%module_dir
mkdir -p %buildroot%_mandir/scilab/%{short_name}

cp %module_dir/{*.bin,*.sci,lib} %buildroot%_libdir/scilab-%{scilab_version}/%module_dir
cp man/%short_name/*.man.bz2 %buildroot%_mandir/scilab/%{short_name}

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root)
%doc examples/ann/*
%dir %_libdir/scilab-%{scilab_version}/%module_dir
%_libdir/scilab-%{scilab_version}/%module_dir/*.sci
%_libdir/scilab-%{scilab_version}/%module_dir/*.bin
%_libdir/scilab-%{scilab_version}/%module_dir/lib
%_mandir/scilab/%{short_name}

%post
#Add module in scilab starting file

if [ -z `grep '%module_dir/lib' %_libdir/scilab-%{scilab_version}/scilab.star` ]; then
  echo -e "load(\047%{_libdir}/scilab-%{scilab_version}/%{module_dir}/lib\047);"          >> %_libdir/scilab-%{scilab_version}/scilab.star
  echo -e "%%helps = [%%helps; \"%{_mandir}/scilab/%{short_name}\",\"Artificial Neural Networks\";];" >> %_libdir/scilab-%{scilab_version}/scilab.star

fi

%postun
if [ "$1" = "0" ]; then
  if [ -n `grep '%module_dir/lib' %_libdir/scilab-%{scilab_version}/scilab.star` ]; then
    cat %_libdir/scilab-%{scilab_version}/scilab.star | \
    sed -e '\|%{_mandir}/scilab/%short_name| d' \
        -e '\|%{_libdir}/scilab-%{scilab_version}/%{module_dir}/lib| d' \
        > %_libdir/scilab-%{scilab_version}/scilab.star.new
# 
    mv -f %_libdir/scilab-%{scilab_version}/scilab.star.new %_libdir/scilab-%{scilab_version}/scilab.star
  fi
fi

%changelog
* Sun Feb 08 2004 Olivier Thauvin <thauvin@aerov.jussieu.fr> 0.4.2-4mdk
- fix dir ownerchip
- fix buildrequires

* Mon Mar 03 2003 Olivier Thauvin <thauvin@aerov.jussieu.fr> 0.4.2-3mdk
- rebuild for scilab 2.7

* Mon Feb 10 2003 Olivier Thauvin <thauvin@aerov.jussieu.fr> 0.4.2-2mdk
- check %%postun status

* Sat Feb 08 2003 Olivier Thauvin <thauvin@aerov.jussieu.fr> 0.4.2-1mdk
- Initial mdk rpm