Why couldn't it just use rpm2tgz or something like that? I don't think it's very usual, nor a very good idea, to use it like this. Certainly makes me raise my brow from a QA standpoint.
Because the RPM files contain built-in scripts that configure the package and I don't know how to run those scripts without calling rpm. Please refer to this page: http://software.intel.com/en-us/articles/intel-compilers-for-linux-version-111-silent-installation-guide/ If you can show me how to extract the rpm contents and configure them without using rpm, I'll be happy to revise the ebuild. In the meantime, I don't see why this is a serious QA problem - that rpm call does not modify the system. The only problem I had was having to use "addpredict /" because rpm open_wr's /, but it doesn't do anything with it.
it isnt a QA problem
the rpm.eclass has helper functions for just unpacking rpm files, but not for running scripts in the .spec and such
Thanks to bicatali for rewriting the ebuild. That said I don't see anything wrong with using rpm the way I did