Try jacal from the usual GNU places. Does not do integration, and it
is scheme based (portable). PNUMAX (used to be called MAXIMA) is not
totally free (need to pay ~$160 for universities) but is a complete
system including plotting , de,tensors, diff forms, etc. Could be used
with any Common Lisp (CLISP, AKCL, ...).
The last one I know is the emacs calc which is not bad.
Hope this helped.