The C++ library giac used to build xcas can also be used from python or from sage. This interface is called giacpy and is done in cython, so the speed is similar to the speed obtained directly in giac/xcas.
You can install the giac program and library with the sage installer. To use the cython interface giacpy, it is recommended to use the spkg of giac to have the same dependancies as sage.
Warning: GCC 4.7.2 segmentation fault. With this particular version of gcc, I have a similar problem for compiling giac than:
This is an interface to call the external program giac from sage. I have done it earlier than giacpy. It is much slower than giacpy (string only communication) and is not good with interuptions. But it was accepted since sage 5.0. Note that evaluation of long lines is broken from sage 5.0 to sage 5.13beta2. The following small patch has been accepted.
This binary version of giac/xcas can be put in any directory. Just edit the variable XCASDIR in the script: xcas110/xcas if you don't install it in your HOME directory. It is built with minimal dynamic dependancies. It won't be the fastest version of giac/xcas, but the aim is to have a large compatobility for installation. The html doc is present but xcas may have trouble to find it.
Since 2010, Giac and Xcas have an official port in freeBSD. the revision log