scilab/scilab.spec

465 lines
16 KiB
RPMSpec
Raw Permalink Normal View History

%define javahome %{_jvmdir}/jdk
%define with_hdf5 1
%define with_giws 1
%define with_swig 1
%define with_gui 1
Name: scilab
Version: 5.3.0
Release: 5mamba
Summary: A scientific software package for numerical computations
Group: Graphical Desktop/Applications/Scientific
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: http://www.scilab.org/
Source0: http://www.scilab.org/download/%{version}/scilab-%{version}-src.tar.gz
Source1: scilab.desktop
Source2: scilab_256x256x32.png
Patch0: scilab-5.3.0-javadefaultdir.patch
Patch1: scilab-5.3.0-disable-rpath.patch
# disable hdf5, as we do not have jhdf5
Patch2: scilab-5.3.0-disable-hdf5.patch
Patch3: scilab-5.3.0-jarnames.patch
# disable the GUI. require jogl/gluegen == 1.1.1
Patch5: scilab-5.3.0-disable-gui.patch
Patch6: scilab-5.3.0-jogl-jnidir.patch
Patch7: scilab-5.3.0-core-getmodules.patch
# from debian http://patch-tracker.debian.org/patch/series/view/scilab/5.3.0-beta-4-2
Patch8: scilab-5.3.0-javasci-Scilab.patch
License: CeCILL, GPL
## AUTOBUILDREQ-BEGIN
BuildRequires: gcc-fortran
BuildRequires: glibc-devel
BuildRequires: libatlas-devel
BuildRequires: libblas-devel
BuildRequires: libfftw-devel
BuildRequires: libgcc
BuildRequires: libgomp-devel
BuildRequires: libhdf5-devel
BuildRequires: liblzma-devel
BuildRequires: libmatio-devel
BuildRequires: libncurses-devel
BuildRequires: libpcre-devel
BuildRequires: libquadmath-devel
BuildRequires: libstdc++6-devel
BuildRequires: libsuitesparse-devel
BuildRequires: libtcl-devel
BuildRequires: libtk-devel
BuildRequires: libxml2-devel
BuildRequires: libz-devel
BuildRequires: pvm
## AUTOBUILDREQ-END
BuildRequires: desktop-file-utils
BuildRequires: ImageMagick
# java stuff
BuildRequires: antlr
BuildRequires: apache-ant
BuildRequires: apache-batik
BuildRequires: apache-fop == 0.95
BuildRequires: jakarta-commons-beanutils == 1.7.0
BuildRequires: jakarta-commons-io == 1.4
BuildRequires: jakarta-commons-logging == 1.1.1
BuildRequires: java-bsh2
BuildRequires: java-checkstyle
BuildRequires: java-excalibur-avalon-framework
BuildRequires: java-flexdock
BuildRequires: java-graphx
BuildRequires: java-jeuclid
BuildRequires: java-jlatexmath
BuildRequires: java-junit3
BuildRequires: java-openjdk
BuildRequires: java-qdox
BuildRequires: java-rosetta
BuildRequires: java-saxon6
BuildRequires: java-skinlf
BuildRequires: java-testng
BuildRequires: javahelp2
BuildRequires: jgoodies-looks
BuildRequires: xml-commons-apis
BuildRequires: jpackage-utils
BuildRequires: xmlgraphics-commons == 1.3.1
%if %with_gui
BuildRequires: java-gluegen1 == 1.1.1
BuildRequires: java-jogl1 == 1.1.1
%endif
%if %with_hdf5
BuildRequires: java-hdf5
BuildRequires: libhdf5-devel
%endif
BuildRequires: libmpi-devel
BuildRequires: libsablotron-devel
BuildRequires: libXaw3d-devel
BuildRequires: ocaml
BuildRequires: perl-devel
Requires: docbook-dtds-5-schemas
Requires: antlr
Requires: apache-batik
Requires: apache-fop == 0.95
Requires: jakarta-commons-beanutils == 1.7.0
Requires: jakarta-commons-io == 1.4
Requires: jakarta-commons-logging == 1.1.1
Requires: java-bsh2
Requires: java-checkstyle
Requires: java-excalibur-avalon-framework
Requires: java-flexdock
Requires: java-graphx
Requires: java-jeuclid
%if %with_hdf5
Requires: java-hdf5
%endif
%if %with_gui
Requires: java-gluegen1 == 1.1.1
Requires: java-jogl1 == 1.1.1
%endif
%if %with_swig
BuildRequires: swig
%endif
%if %with_giws
BuildRequires: giws
%endif
BuildRequires: libsuitesparse-devel
Requires: java-jlatexmath
Requires: java-junit3
Requires: java-openjdk
Requires: java-qdox
Requires: java-rosetta
Requires: java-saxon6
Requires: java-skinlf
Requires: java-testng
Requires: javahelp2
Requires: jgoodies-looks
Requires: libatlas
Requires: ocaml
Requires: xml-commons-apis
#Requires: ElectricFence
#Requires: kdbg
#Requires: libtool
#Requires: valgrind
BuildRoot: %{_tmppath}/%{name}-%{version}-root
%description
Scilab is a scientific software package for numerical computations providing a powerful open computing environment for engineering and scientific applications.
Scilab includes hundreds of mathematical functions with the possibility to add interactively programs from various languages (C, Fortran...). It has sophisticated data structures (including lists, polynomials, rational functions, linear systems...), an interpreter and a high level programming language.
Scilab has been designed to be an open system where the user can define new data types and operations on these data types by using overloading.
%package devel
Group: Development/Libraries
Summary: Development files for Scilab
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
%description devel
Scilab - A scientific software package for numerical computations.
This package contains development files for with Scilab.
%prep
%setup -q
#-D -T
#:<< _EOF
%patch0 -p0
%patch1 -p0
%if ! %with_hdf5
%patch2 -p0
%endif
%patch3 -p0
%if ! %with_gui
%patch5 -p0
%else
%patch6 -p0
%endif
%patch7 -p0
%patch8 -p0
sed -i "s|%{_libdir}/jni|%{_jnidir}|" etc/librarypath.xml
for j in $(find . -name "*.jar"); do
mv $j $j.no
done
for c in $(find . -name "*.class"); do
rm -rf $c
done
for o in $(find . -name "*.so"); do
rm -rf $o
done
for e in $(find . -name "*.exe"); do
rm -rf $e
done
for d in $(find . -name "*.dll"); do
rm -rf $d
done
%build
#:<< _EOF
autoreconf
%if %with_hdf5
export JHDF5=%{_jnidir}/jhdf5.jar JHDF5_LIBS=%{_jnidir}
%endif
%if %with_gui
export JOGL=%{_javadir}/jogl.jar GLUEGEN_RT=%{_javadir}/gluegen-rt.jar
%endif
# build without -rpath
SCILAB_LIB_RPATH=$PWD/libs/blas/.libs:$PWD/libs/doublylinkedlist/.libs:$PWD/libs/dynamiclibrary/.libs:$PWD/libs/hashtable/.libs:$PWD/libs/lapack/.libs:$PWD/libs/libst/.libs:$PWD/libs/MALLOC/.libs:$PWD/modules/action_binding/.libs:$PWD/modules/api_scilab/.libs:$PWD/modules/arnoldi/.libs:$PWD/modules/boolean/.libs:$PWD/modules/cacsd/.libs:$PWD/modules/call_scilab/.libs:$PWD/modules/commons/.libs:$PWD/modules/completion/.libs:$PWD/modules/console/.libs:$PWD/modules/core/.libs:$PWD/modules/data_structures/.libs:$PWD/modules/differential_equations/.libs:$PWD/modules/double/.libs:$PWD/modules/dynamic_link/.libs:$PWD/modules/elementary_functions/.libs:$PWD/modules/fftw/.libs:$PWD/modules/fileio/.libs:$PWD/modules/functions/.libs:$PWD/modules/graph/.libs:$PWD/modules/graphic_export/.libs:$PWD/modules/graphics/.libs:$PWD/modules/gui/.libs:$PWD/modules/helptools/.libs:$PWD/modules/history_browser/.libs:$PWD/modules/history_manager/.libs:$PWD/modules/integer/.libs:$PWD/modules/interpolation/.libs:$PWD/modules/intersci/.libs:$PWD/modules/io/.libs:$PWD/modules/javasci/.libs:$PWD/modules/jvm/.libs:$PWD/modules/.libs:$PWD/modules/linear_algebra/.libs:$PWD/modules/localization/.libs:$PWD/modules/matio/.libs:$PWD/modules/mexlib/.libs:$PWD/modules/optimization/.libs:$PWD/modules/output_stream/.libs:$PWD/modules/parallel/.libs:$PWD/modules/parameters/.libs:$PWD/modules/polynomials/.libs:$PWD/modules/pvm/.libs:$PWD/modules/randlib/.libs:$PWD/modules/renderer/.libs:$PWD/modules/scicos_blocks/.libs:$PWD/modules/scicos/.libs:$PWD/modules/scinotes/.libs:$PWD/modules/shell/.libs:$PWD/modules/signal_processing/.libs:$PWD/modules/sound/.libs:$PWD/modules/sparse/.libs:$PWD/modules/special_functions/.libs:$PWD/modules/spreadsheet/.libs:$PWD/modules/statistics/.libs:$PWD/modules/string/.libs:$PWD/modules/symbolic/.libs:$PWD/modules/tclsci/.libs:$PWD/modules/time/.libs:$PWD/modules/types/.libs:$PWD/modules/ui_data/.libs:$PWD/modules/umfpack/.libs:$PWD/modules/windows_tools/.libs:file:$PWD/modules/xcos/.libs:
%if %with_hdf5
SCILAB_LIB_RPATH=$SCILAB_LIB_RPATH:$PWD/modules/hdf5/.libs:
%endif
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SCILAB_LIB_RPATH
%configure \
--with-jdk=%javahome \
--with-ant=$ANT_HOME \
LDFLAGS="-L/usr/lib/atlas -lgfortran" \
%if %with_giws
--enable-build-giws \
%endif
%if %with_swig
--enable-build-swig \
%endif
--enable-build-help \
--with-fftw \
--with-matio \
--with-pvm \
--disable-static \
--enable-shared \
%if ! %with_gui
--without-gui\
%endif
--without-scicos \
%if ! %with_hdf5
--without-hdf5
%endif
%make all
# --without-scicos Disable Scicos http://www.scicoslab.org/
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
make install DESTDIR=%{buildroot}
rm -rf %{buildroot}%{_libdir}/scilab/*.la
chmod 755 %{buildroot}%{_datadir}/scilab/modules/helptools/bin/manrev2sci
chmod 755 %{buildroot}%{_datadir}/scilab/modules/helptools/bin/man2sci
chmod 755 %{buildroot}%{_datadir}/scilab/modules/helptools/bin/scivalid
mkdir -p %{buildroot}%{_datadir}/applications
desktop-file-install --mode=644 --dir=%{buildroot}%{_datadir}/applications %{SOURCE1}
for png in 16 22 24 32 48 64 128; do
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/${png}x${png}/apps/
convert -resize ${png}x${png} %{SOURCE2} \
%{buildroot}%{_datadir}/icons/hicolor/${png}x${png}/apps/scilab.png
done
mkdir -p %{buildroot}%{_datadir}/pixmaps
convert -resize 32x32 %{SOURCE2} \
%{buildroot}%{_datadir}/pixmaps/scilab.png
rm -rf %{buildroot}%{_datadir}/.directory
rm -rf %{buildroot}%{_datadir}/scilab/.directory
%find_lang scilab
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%post
/sbin/ldconfig
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
%postun
/sbin/ldconfig
if [ $1 -eq 0 ] ; then
touch --no-create %{_datadir}/icons/hicolor &>/dev/null
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi
%posttrans
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%files -f scilab.lang
%defattr(-,root,root)
%{_bindir}/intersci
%{_bindir}/scilab
%{_bindir}/scilab-adv-cli
%{_bindir}/scilab-bin
%{_bindir}/scilab-cli
%{_bindir}/scilab-cli-bin
%dir %{_libdir}/scilab
%{_libdir}/scilab/libjavasci.so.*
%{_libdir}/scilab/libjavasci2.so.*
%{_libdir}/scilab/libmat.so.*
%{_libdir}/scilab/libmex.so.*
%{_libdir}/scilab/libmx.so.*
%{_libdir}/scilab/libsci*.so.*
%{_libdir}/scilab/*.so
%dir %{_datadir}/scilab
%{_datadir}/scilab/ACKNOWLEDGEMENTS
%{_datadir}/scilab/CHANGES_*
%{_datadir}/scilab/COPYING*
%{_datadir}/scilab/README_*
%{_datadir}/scilab/RELEASE_NOTES_*
%{_datadir}/scilab/Readme_Visual.txt
%{_datadir}/scilab/contrib
%{_datadir}/scilab/etc
%{_datadir}/scilab/icons
%{_datadir}/scilab/tools
%dir %{_datadir}/scilab/modules
%{_datadir}/scilab/modules/action_binding
%{_datadir}/scilab/modules/api_scilab
%{_datadir}/scilab/modules/arnoldi
%{_datadir}/scilab/modules/atoms
%{_datadir}/scilab/modules/boolean
%{_datadir}/scilab/modules/cacsd
%{_datadir}/scilab/modules/call_scilab
%dir %{_datadir}/scilab/modules/commons
%{_datadir}/scilab/modules/commons/*.txt
%{_datadir}/scilab/modules/commons/version.xml
%{_datadir}/scilab/modules/commons/etc
%{_datadir}/scilab/modules/commons/jar
%{_datadir}/scilab/modules/commons/macros
#%dir %{_datadir}/scilab/modules/commons/sci_gateway
%{_datadir}/scilab/modules/compatibility_functions
%{_datadir}/scilab/modules/completion
%{_datadir}/scilab/modules/console
%{_datadir}/scilab/modules/core
%{_datadir}/scilab/modules/data_structures
%{_datadir}/scilab/modules/demo_tools
%{_datadir}/scilab/modules/development_tools
%{_datadir}/scilab/modules/differential_equations
%{_datadir}/scilab/modules/double
%dir %{_datadir}/scilab/modules/doublylinkedlist
%dir %{_datadir}/scilab/modules/doublylinkedlist/macros
%{_datadir}/scilab/modules/dynamic_link
%dir %{_datadir}/scilab/modules/dynamiclibrary
%dir %{_datadir}/scilab/modules/dynamiclibrary/macros
%{_datadir}/scilab/modules/elementary_functions
%{_datadir}/scilab/modules/fftw
%{_datadir}/scilab/modules/fileio
%{_datadir}/scilab/modules/functions
%{_datadir}/scilab/modules/genetic_algorithms
%dir %{_datadir}/scilab/modules/graph
%{_datadir}/scilab/modules/graph/*.txt
%{_datadir}/scilab/modules/graph/version.xml
%{_datadir}/scilab/modules/graph/etc
%{_datadir}/scilab/modules/graph/jar
%{_datadir}/scilab/modules/graph/macros
%{_datadir}/scilab/modules/graph/tests
#%dir %{_datadir}/scilab/modules/graph/sci_gateway
%{_datadir}/scilab/modules/graphic_export
%{_datadir}/scilab/modules/graphics
%{_datadir}/scilab/modules/gui
%dir %{_datadir}/scilab/modules/hashtable
%dir %{_datadir}/scilab/modules/hashtable/macros
%{_datadir}/scilab/modules/hdf5
%{_datadir}/scilab/modules/helptools
%dir %{_datadir}/scilab/modules/history_browser
%{_datadir}/scilab/modules/history_browser/*.txt
%{_datadir}/scilab/modules/history_browser/*.xml
%{_datadir}/scilab/modules/history_browser/etc
%{_datadir}/scilab/modules/history_browser/jar
%{_datadir}/scilab/modules/history_browser/macros
%{_datadir}/scilab/modules/history_browser/tests
#%dir %{_datadir}/scilab/modules/history_browser/sci_gateway
%{_datadir}/scilab/modules/history_manager
%{_datadir}/scilab/modules/integer
%{_datadir}/scilab/modules/interpolation
%{_datadir}/scilab/modules/intersci
%{_datadir}/scilab/modules/io
%{_datadir}/scilab/modules/javasci
%{_datadir}/scilab/modules/jvm
%dir %{_datadir}/scilab/modules/libst
%dir %{_datadir}/scilab/modules/libst/macros
%{_datadir}/scilab/modules/linear_algebra
%{_datadir}/scilab/modules/localization
%{_datadir}/scilab/modules/m2sci
%dir %{_datadir}/scilab/modules/malloc
%dir %{_datadir}/scilab/modules/malloc/macros
%{_datadir}/scilab/modules/maple2scilab
%{_datadir}/scilab/modules/matio
%{_datadir}/scilab/modules/mexlib
%{_datadir}/scilab/modules/modules_manager
%{_datadir}/scilab/modules/optimization
%{_datadir}/scilab/modules/output_stream
%{_datadir}/scilab/modules/overloading
%{_datadir}/scilab/modules/parallel
%{_datadir}/scilab/modules/parameters
%{_datadir}/scilab/modules/polynomials
%{_datadir}/scilab/modules/pvm
%{_datadir}/scilab/modules/randlib
%{_datadir}/scilab/modules/renderer
%{_datadir}/scilab/modules/scicos
%{_datadir}/scilab/modules/scinotes
%{_datadir}/scilab/modules/shell
%{_datadir}/scilab/modules/signal_processing
%{_datadir}/scilab/modules/simulated_annealing
%{_datadir}/scilab/modules/sound
%{_datadir}/scilab/modules/sparse
%{_datadir}/scilab/modules/special_functions
%{_datadir}/scilab/modules/spreadsheet
%{_datadir}/scilab/modules/statistics
%{_datadir}/scilab/modules/string
%{_datadir}/scilab/modules/symbolic
%{_datadir}/scilab/modules/tclsci
%{_datadir}/scilab/modules/texmacs
%{_datadir}/scilab/modules/time
%dir %{_datadir}/scilab/modules/types
%{_datadir}/scilab/modules/types/*.txt
%{_datadir}/scilab/modules/types/*.xml
%{_datadir}/scilab/modules/types/etc
%{_datadir}/scilab/modules/types/jar
%{_datadir}/scilab/modules/types/macros
#%dir %{_datadir}/scilab/modules/types/sci_gateway
%{_datadir}/scilab/modules/types/tests
%{_datadir}/scilab/modules/ui_data
%{_datadir}/scilab/modules/umfpack
%{_datadir}/scilab/modules/windows_tools
%{_datadir}/scilab/modules/xcos
%{_datadir}/applications/scilab.desktop
%{_datadir}/icons/hicolor/*x*/apps/scilab.png
%{_datadir}/pixmaps/scilab.png
%doc license.txt
%files devel
%defattr(-,root,root)
%dir %{_includedir}/scilab
%{_includedir}/scilab/*.h
%{_exec_prefix}/lib/pkgconfig/scilab.pc
%changelog
* Sat Aug 03 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 5.3.0-5mamba
- rebuilt with libhdf5 1.8.10
* Tue Mar 06 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 5.3.0-4mamba
- rebuilt with libsuitesparse
* Tue Feb 08 2011 gil <puntogil@libero.it> 5.3.0-3mamba
- add getmodules.patch
* Tue Feb 08 2011 gil <puntogil@libero.it> 5.3.0-2mamba
- edit configure options add libatlas support
* Fri Feb 04 2011 gil <puntogil@libero.it> 5.3.0-1mamba
- update to 5.3.0
* Wed Jul 30 2008 gil <puntogil@libero.it> 4.1.2-1mamba
- update to 4.1.2
* Wed Jul 13 2005 Silvan Calarco <silvan.calarco@mambasoft.it> 3.1.1-3qilnx
- added automatic creation of user configuration for rtai patch
* Wed Jul 13 2005 Silvan Calarco <silvan.calarco@mambasoft.it> 3.1.1-2qilnx
- added RTAI patch
* Mon Jul 11 2005 Silvan Calarco <silvan.calarco@mambasoft.it> 3.1.1-1qilnx
- package created by autospec