# Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: roboop-1.31.ebuild $ inherit eutils flag-o-matic autotools DESCRIPTION="Object oriented toolbox in C++ for robotics simulation" HOMEPAGE="http://www.cours.polymtl.ca/${PN}/" SRC_URI="http://www.cours.polymtl.ca/${PN}/download/${PN}.tar.gz" LICENSE="LGPL" KEYWORDS="~x86" SLOT="0" IUSE="doc" RESTRICT="mirror" DEPEND=">=dev-util/cmake-2.6.0 sci-visualization/gnuplot doc? ( app-doc/doxygen virtual/latex-base virtual/ghostscript app-text/psutils )" RDEPEND="${DEPEND}" S="${WORKDIR}/${PN}" src_unpack() { unpack ${A} || die "Unpacking ${A} failed!" cd ${S} ln -s source roboop sed -i -e 's/INCLUDE_DIRECTORIES(source newmat)/INCLUDE_DIRECTORIES(roboop newmat)/' CMakeLists.txt || die "sed" sed -i -e 's/SUBDIRS(source newmat)/SUBDIRS(roboop newmat)/' CMakeLists.txt || die "sed" } src_compile() { cmake . || die "Error: cmake failed!" sed -i -e 's/CMAKE_INSTALL_PREFIX\:PATH\=\/usr\/local/CMAKE_INSTALL_PREFIX\:PATH=\/usr/g' CMakeCache.txt || die "sed" sed -i -e 's/@INCLUDE =/#@INCLUDE =/g' doxy/roboop_doxygen || die "sed" sed -i -e 's/GENERATE_MAN = NO/GENERATE_MAN = YES/g' doxy/roboop_doxygen || die "sed" cmake . || die "Error: cmake failed!" emake || die "Error: make failed!" sed -i -e 's/\"robot.h\"/\/' source/clik.h || die "sed" sed -i -e 's/#include \"robot.h\"//' source/controller.h || die "sed" sed -i -e 's/\"quaternion.h\"/\/' source/controller.h || die "sed" sed -i -e 's/\"controller.h\"/\/' source/control_select.h || die "sed" sed -i -e 's/\"control_select.h\"/\/' source/dynamics_sim.h || die "sed" sed -i -e 's/#include \"quaternion.h\"//' source/dynamics_sim.h || die "sed" sed -i -e 's/\"trajectory.h\"/\/' source/dynamics_sim.h || die "sed" sed -i -e 's/#include \"utils.h\"//' source/dynamics_sim.h || die "sed" sed -i -e 's/\"newmatap.h\"/\/' source/gnugraph.h || die "sed" sed -i -e 's/\"newmatio.h\"/\/' source/gnugraph.h || die "sed" sed -i -e 's/\"robot.h\"/\/' source/quaternion.h || die "sed" sed -i -e 's/\"utils.h\"/\/' source/robot.h || die "sed" sed -i -e 's/\"newmat\/newmatap.h\"/\/' source/robot.h || die "sed" sed -i -e 's/\"utils.h\"/\/' source/stewart.h || die "sed" sed -i -e 's/#include \"utils.h\"//' source/trajectory.h || die "sed" sed -i -e 's/\"quaternion.h\"/\/' source/trajectory.h || die "sed" sed -i -e 's/\"newmatap.h\"/\/' source/utils.h || die "sed" sed -i -e 's/\"newmatio.h\"/\/' source/utils.h || die "sed" sed -i -e 's/\"include.h\"/\/' newmat/myexcept.h || die "sed" sed -i -e 's/\"newmat.h\"/\/' newmat/newmatap.h || die "sed" sed -i -e 's/#include \"include.h\"//g' newmat/newmat.h || die "sed" sed -i -e 's/\"myexcept.h\"/\/' newmat/newmat.h || die "sed" sed -i -e 's/\"newmat.h\"/\/' newmat/newmatio.h || die "sed" sed -i -e 's/\"newmat.h\"/\/' newmat/newmatnl.h || die "sed" sed -i -e 's/\"controlw.h\"/\/' newmat/newmatrc.h || die "sed" sed -i -e 's/\"include.h\"/\/' newmat/precisio.h || die "sed" sed -i -e 's/\"myexcept.h\"/\/' newmat/solution.h || die "sed" if use doc; then cd ${S}/doxy doxygen roboop_doxygen || die "doxygen error!" cd ${S}/doxy/latex emake || die "emake doc failed!" cd ${S} fi } src_install() { dolib.a libnewmat.a dolib.a libroboop.a insinto /usr/include/${PN} doins source/*.h insinto /usr/include/newmat doins newmat/*.h dodoc revisions.txt readme.txt insinto /usr/share/doc/${P} doins docs/*.txt if use doc; then doman doxy/man/man3/* dohtml -r doxy/html/* cd ${S}/doxy/latex insinto /usr/share/doc/${P} doins *.pdf || die "latex errors!" fi }