Wiki source for CompileXcas


Show raw source

In CompilePrograms > Xcas

===Xcas compiling status : to do===
see spec file below for build dependencies
http://www-fourier.ujf-grenoble.fr/~parisse/giac_fr.html [fr] Giac/Xcas système de calcul formel libre

tiens, manque le gmp-devel pour le gdium :/ http://sophie.zarb.org/rpm/cooker,/lib64gmp-devel/deps ça va, pas trop de dépendances à première vue
de l'ordre de 10 mn de compilation sur mon laptop (centrino core 2 duo T5500 @ 1.66GHz)
https://fcp.surfsite.org/modules/newbb/viewtopic.php?topic_id=69612&forum=11
http://www.google.fr/search?hl=fr&q=ld++Dwarf+Error%3A+Offset++greater+than+or+equal+to+.debug_str+size+&btnG=Rechercher&meta=

===Scénario de test===
~- lancer xcas, une fenêtre graphique doit apparaître (icas lance en mode texte)
~- voir [[http://pagesperso-orange.fr/visca/html/logicielxcas.html des exemples]]
~~- taper solve (x^2-2) : cela doit donner la réponse [-(sqrt(2)),sqrt(2)]

===WIP 0.9.0===
avec quelques "hacks" %%
%define name giac
%define version 0.9.0
%define release %mkrel 1

Summary: Giac/Xcas is a free computer algebra system
Name: %{name}
Version: %{version}
Release: %{release}
# source is tar.gz
Source0: http://perso.wanadoo.fr/bernard.parisse/%{name}-%{version}.tar.bz2
#Patch0: gen.cc.patch
License: GPL
Group: Sciences/Mathematics
Url: http://www-fourier.ujf-grenoble.fr/~parisse/giac.html
#Require: pari
Requires: fltk
Buildrequires: fltk-devel gsl-devel
#urpmf hash_map
Buildrequires: tetex latex2html gmp-devel bison
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot


%description
Giac/Xcas is a free computer algebra system.
It has a compatibility mode for maple, mupad and the TI89.
Xcas is an interface of Giac, a free (GPL) C++ library for computer algebra.
Features :
- CAS : arbitrary precision integer and floats, integer and polynomial
arithmetic (gcd, extended gcd, factorisation, ...), simplification, equation
solver, partial fraction decomposition, calculus (derivation, integration,
limit, series expansion), linear algebra (vectors, matrices, row reduction to
echelon form, eignevalues and eigenvectors), ...
- geometry(2-d and 3-d) : point, segment, line, plan, triangle, polygons,
circles, conics, parametric curves, surfaces, intersection, tangents...
Dynamic 2-d geometry. All geometric instructions are programmable
- Spreadsheet : relative and absolute references, cells can contain formal
objects (e.g 1/2, sin(x), ...), 1-d and 2-d statistics (mean, stddev,
hgistogram, covariance, regressions, ...)
- Programmation : functions, local variables, tests, loops. Choice of syntax
(C-like, Maple, Mupad, TI89). It is sometimes possible to run a Maple, MuPAD
or TI89 without user intervention inside Xcas. Program editor. Interactive
debugguer.

%prep
%setup -q

#%patch0 -p0
./autogen.sh
# temporary bug
perl -pi -e "s#Fl/gl.h#FL/gl.h#" src/hist.*
%build
export CC=gcc
export CXX=g++
#If you don't want optimizations (faster compilation)
#export CXXFLAGS=-g


%configure \
--with-x \
--disable-ntl
# disable-ntl on x86_64 according to http://www-fourier.ujf-grenoble.fr/~parisse/giac_compile_fr.html#source
# -enable-gsl
#i can't make the doc
rm -rf doc; perl -pi -e s/doc// Makefile*

%make
%install
rm -rf %{buildroot}


%makeinstall
%find_lang %{name}

%clean
rm -rf %{buildroot}

%files -f %{name}.lang
%defattr(-,root,root)
%doc AUTHORS ChangeLog COPYING NEWS README TROUBLES
%{_bindir}/aide
%{_bindir}/cas_help
%{_bindir}/en_cas_help
%{_bindir}/es_cas_help
%{_bindir}/fr_cas_help
%{_bindir}/giac
%{_bindir}/icas
%{_bindir}/updatecas
%{_bindir}/xcas
%{_bindir}/xcasnew
%{_includedir}/giac/alg_ext.h
%{_includedir}/giac/config.h
%{_includedir}/giac/derive.h
%{_includedir}/giac/desolve.h
%{_includedir}/giac/dispatch.h
%{_includedir}/giac/ezgcd.h
%{_includedir}/giac/first.h
%{_includedir}/giac/fraction.h
%{_includedir}/giac/gauss.h
%{_includedir}/giac/gausspol.h
%{_includedir}/giac/gen.h
%{_includedir}/giac/giac.h
%{_includedir}/giac/giacintl.h
%{_includedir}/giac/global.h
%{_includedir}/giac/help.h
%{_includedir}/giac/identificateur.h
%{_includedir}/giac/ifactor.h
%{_includedir}/giac/index.h
%{_includedir}/giac/input_lexer.h
%{_includedir}/giac/input_parser.h
%{_includedir}/giac/intg.h
%{_includedir}/giac/isom.h
%{_includedir}/giac/libintl.h
%{_includedir}/giac/lin.h
%{_includedir}/giac/maple.h
%{_includedir}/giac/mathml.h
%{_includedir}/giac/misc.h
%{_includedir}/giac/modfactor.h
%{_includedir}/giac/modpoly.h
%{_includedir}/giac/monomial.h
%{_includedir}/giac/moyal.h
%{_includedir}/giac/pari.h
%{_includedir}/giac/path.h
%{_includedir}/giac/permu.h
%{_includedir}/giac/plot.h
%{_includedir}/giac/plot3d.h
%{_includedir}/giac/poly.h
%{_includedir}/giac/prog.h
%{_includedir}/giac/quater.h
%{_includedir}/giac/risch.h
%{_includedir}/giac/rpn.h
%{_includedir}/giac/series.h
%{_includedir}/giac/solve.h
%{_includedir}/giac/subst.h
%{_includedir}/giac/sym2poly.h
%{_includedir}/giac/symbolic.h
%{_includedir}/giac/tex.h
%{_includedir}/giac/ti89.h
%{_includedir}/giac/unary.h
%{_includedir}/giac/usual.h
%{_includedir}/giac/vecteur.h
%{_libdir}/libgiac.a
%{_libdir}/libgiac.la
%{_libdir}/libgiac.so
%{_libdir}/libgiac.so.0
%{_libdir}/libgiac.so.0.0.0
%{_datadir}/%{name}/examples/apmep.xws
%{_datadir}/%{name}/examples/atelier.xws
%{_datadir}/%{name}/examples/berle.xws
%{_datadir}/%{name}/examples/bezout.xws
%{_datadir}/%{name}/examples/capes.xws
%{_datadir}/%{name}/examples/codage.xws
%{_datadir}/%{name}/examples/cone.xws
%{_datadir}/%{name}/examples/crible.xws
%{_datadir}/%{name}/examples/diviseur.xws
%{_datadir}/%{name}/examples/estprem.xws
%{_datadir}/%{name}/examples/exemple.xws
%{_datadir}/%{name}/examples/fleur.xws
%{_datadir}/%{name}/examples/gauss_jordan.xws
%{_datadir}/%{name}/examples/hensel.xws
%{_datadir}/%{name}/examples/horner.xws
%{_datadir}/%{name}/examples/jeu.xws
%{_datadir}/%{name}/examples/lieu_s05.xws
%{_datadir}/%{name}/examples/neige.xws
%{_datadir}/%{name}/examples/newton.xws
%{_datadir}/%{name}/examples/pgcd.xws
%{_datadir}/%{name}/examples/potence.xws
%{_datadir}/%{name}/examples/poule.xws
%{_datadir}/%{name}/examples/powmod.xws
%{_datadir}/%{name}/examples/premier.xws
%{_datadir}/%{name}/examples/racine.xws
%{_datadir}/%{name}/examples/reed_sol.xws
%{_datadir}/%{name}/examples/rsa.xws
%{_datadir}/%{name}/examples/sapin.xws
%{_datadir}/%{name}/examples/simpson.xws
%{_datadir}/%{name}/examples/soleil.xws
%{_datadir}/%{name}/examples/tulipe.xws
%{_datadir}/%{name}/examples/yun.xws
%{_datadir}/%{name}/xcasex
%{_datadir}/%{name}/xcasmenu
#/usr/share/locale/de/LC_MESSAGES/giac.mo
#/usr/share/locale/es/LC_MESSAGES/giac.mo
#/usr/share/locale/fi/LC_MESSAGES/giac.mo
#/usr/share/locale/fr/LC_MESSAGES/giac.mo

%changelog
* Fri Jul 21 2006 PierreLag <pierre DOT lag ATCH gmail.com> 0.6.0-1mdv2007.0
- First Mandrivalinux release%%

===Current spec file for 0.6.0===
Thanks to plg here is a spec file for version 0.6.0, to be adapted for 0.8.2 (current version in march 2009)
%%%define name giac
%define version 0.6.0
%define release %mkrel 1

Summary: Giac/Xcas is a free computer algebra system
Name: %{name}
Version: %{version}
Release: %{release}
# source is tar.gz
Source0: http://perso.wanadoo.fr/bernard.parisse/%{name}-%{version}.tar.bz2
Patch0: gen.cc.patch
License: GPL
Group: Sciences/Mathematics
Url: http://www-fourier.ujf-grenoble.fr/~parisse/giac.html
#Require: pari
Requires: fltk
Buildrequires: fltk-devel gsl-devel
#urpmf hash_map
Buildrequires: tetex latex2html gmp-devel bison
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot


%description
Giac/Xcas is a free computer algebra system.
It has a compatibility mode for maple, mupad and the TI89.
Xcas is an interface of Giac, a free (GPL) C++ library for computer algebra.
Features :
- CAS : arbitrary precision integer and floats, integer and polynomial
arithmetic (gcd, extended gcd, factorisation, ...), simplification, equation
solver, partial fraction decomposition, calculus (derivation, integration,
limit, series expansion), linear algebra (vectors, matrices, row reduction to
echelon form, eignevalues and eigenvectors), ...
- geometry(2-d and 3-d) : point, segment, line, plan, triangle, polygons,
circles, conics, parametric curves, surfaces, intersection, tangents...
Dynamic 2-d geometry. All geometric instructions are programmable
- Spreadsheet : relative and absolute references, cells can contain formal
objects (e.g 1/2, sin(x), ...), 1-d and 2-d statistics (mean, stddev,
hgistogram, covariance, regressions, ...)
- Programmation : functions, local variables, tests, loops. Choice of syntax
(C-like, Maple, Mupad, TI89). It is sometimes possible to run a Maple, MuPAD
or TI89 without user intervention inside Xcas. Program editor. Interactive
debugguer.

%prep
%setup -q

%patch0 -p0
%build
export CC=gcc-3.3.6
export CXX=g++-3.3.6
#If you don't want optimizations (faster compilation)
#export CXXFLAGS=-g


%configure \
--with-x
# -enable-gsl
#i can't make the doc
rm -rf doc; perl -pi -e s/doc// Makefile

%make
%install
rm -rf %{buildroot}


%makeinstall
%find_lang %{name}

%clean
rm -rf %{buildroot}

%files -f %{name}.lang
%defattr(-,root,root)
%doc AUTHORS ChangeLog COPYING NEWS README TROUBLES
%{_bindir}/aide
%{_bindir}/cas_help
%{_bindir}/en_cas_help
%{_bindir}/es_cas_help
%{_bindir}/fr_cas_help
%{_bindir}/giac
%{_bindir}/icas
%{_bindir}/updatecas
%{_bindir}/xcas
%{_bindir}/xcasnew
%{_includedir}/giac/alg_ext.h
%{_includedir}/giac/config.h
%{_includedir}/giac/derive.h
%{_includedir}/giac/desolve.h
%{_includedir}/giac/dispatch.h
%{_includedir}/giac/ezgcd.h
%{_includedir}/giac/first.h
%{_includedir}/giac/fraction.h
%{_includedir}/giac/gauss.h
%{_includedir}/giac/gausspol.h
%{_includedir}/giac/gen.h
%{_includedir}/giac/giac.h
%{_includedir}/giac/giacintl.h
%{_includedir}/giac/global.h
%{_includedir}/giac/help.h
%{_includedir}/giac/identificateur.h
%{_includedir}/giac/ifactor.h
%{_includedir}/giac/index.h
%{_includedir}/giac/input_lexer.h
%{_includedir}/giac/input_parser.h
%{_includedir}/giac/intg.h
%{_includedir}/giac/isom.h
%{_includedir}/giac/libintl.h
%{_includedir}/giac/lin.h
%{_includedir}/giac/maple.h
%{_includedir}/giac/mathml.h
%{_includedir}/giac/misc.h
%{_includedir}/giac/modfactor.h
%{_includedir}/giac/modpoly.h
%{_includedir}/giac/monomial.h
%{_includedir}/giac/moyal.h
%{_includedir}/giac/pari.h
%{_includedir}/giac/path.h
%{_includedir}/giac/permu.h
%{_includedir}/giac/plot.h
%{_includedir}/giac/plot3d.h
%{_includedir}/giac/poly.h
%{_includedir}/giac/prog.h
%{_includedir}/giac/quater.h
%{_includedir}/giac/risch.h
%{_includedir}/giac/rpn.h
%{_includedir}/giac/series.h
%{_includedir}/giac/solve.h
%{_includedir}/giac/subst.h
%{_includedir}/giac/sym2poly.h
%{_includedir}/giac/symbolic.h
%{_includedir}/giac/tex.h
%{_includedir}/giac/ti89.h
%{_includedir}/giac/unary.h
%{_includedir}/giac/usual.h
%{_includedir}/giac/vecteur.h
%{_libdir}/libgiac.a
%{_libdir}/libgiac.la
%{_libdir}/libgiac.so
%{_libdir}/libgiac.so.0
%{_libdir}/libgiac.so.0.0.0
%{_datadir}/%{name}/examples/apmep.xws
%{_datadir}/%{name}/examples/atelier.xws
%{_datadir}/%{name}/examples/berle.xws
%{_datadir}/%{name}/examples/bezout.xws
%{_datadir}/%{name}/examples/capes.xws
%{_datadir}/%{name}/examples/codage.xws
%{_datadir}/%{name}/examples/cone.xws
%{_datadir}/%{name}/examples/crible.xws
%{_datadir}/%{name}/examples/diviseur.xws
%{_datadir}/%{name}/examples/estprem.xws
%{_datadir}/%{name}/examples/exemple.xws
%{_datadir}/%{name}/examples/fleur.xws
%{_datadir}/%{name}/examples/gauss_jordan.xws
%{_datadir}/%{name}/examples/hensel.xws
%{_datadir}/%{name}/examples/horner.xws
%{_datadir}/%{name}/examples/jeu.xws
%{_datadir}/%{name}/examples/lieu_s05.xws
%{_datadir}/%{name}/examples/neige.xws
%{_datadir}/%{name}/examples/newton.xws
%{_datadir}/%{name}/examples/pgcd.xws
%{_datadir}/%{name}/examples/potence.xws
%{_datadir}/%{name}/examples/poule.xws
%{_datadir}/%{name}/examples/powmod.xws
%{_datadir}/%{name}/examples/premier.xws
%{_datadir}/%{name}/examples/racine.xws
%{_datadir}/%{name}/examples/reed_sol.xws
%{_datadir}/%{name}/examples/rsa.xws
%{_datadir}/%{name}/examples/sapin.xws
%{_datadir}/%{name}/examples/simpson.xws
%{_datadir}/%{name}/examples/soleil.xws
%{_datadir}/%{name}/examples/tulipe.xws
%{_datadir}/%{name}/examples/yun.xws
%{_datadir}/%{name}/xcasex
%{_datadir}/%{name}/xcasmenu
#/usr/share/locale/de/LC_MESSAGES/giac.mo
#/usr/share/locale/es/LC_MESSAGES/giac.mo
#/usr/share/locale/fi/LC_MESSAGES/giac.mo
#/usr/share/locale/fr/LC_MESSAGES/giac.mo

%changelog
* Fri Jul 21 2006 PierreLag <pierre DOT lag ATCH gmail.com> 0.6.0-1mdv2007.0
- First Mandrivalinux release%%
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki