# Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/dev-lang/prc-tools/prc-tools-2.3-r1.ebuild,v 1.4 2005/01/28 23:55:01 plasmaroo Exp $ inherit flag-o-matic eutils BIN_V="binutils-2.14" GDB_V="gdb-5.3" GCC_V_ARM="gcc-3.3.1" GCC_V_M68K="gcc-2.95.3" MSECT_V="MsectGdb2.3-1Patch" DESCRIPTION="GNU-Based Palm C++ Development Suite" HOMEPAGE="http://prc-tools.sourceforge.net" SRC_URI="mirror://sourceforge/prc-tools/${P}.tar.gz ftp://sources.redhat.com/pub/binutils/releases/${BIN_V}.tar.bz2 ftp://sources.redhat.com/pub/gdb/releases/${GDB_V}.tar.bz2 ftp://gcc.gnu.org/pub/gcc/releases/${GCC_V_ARM}/${GCC_V_ARM}.tar.bz2 ftp://gcc.gnu.org/pub/gcc/releases/${GCC_V_M68K}/${GCC_V_M68K}.tar.bz2 http://www.v-overbeek.nl/msectgdb/${MSECT_V}.tar.bz2" LICENSE="GPL-2" SLOT="0" KEYWORDS="~x86" IUSE="" DEPEND=">=app-text/texi2html-1.70 >=sys-apps/texinfo-4.8" RDEPEND="" src_unpack() { unpack ${A} cd ${P} ln -s ../${BIN_V} binutils ln -s ../${GDB_V} gdb ln -s ../${GCC_V_ARM} gcc ln -s ../${GCC_V_M68K} gcc295 cd .. echo ">>> Patching sources..." echo -n " "; epatch ${P}/${BIN_V}.palmos.diff || die echo -n " "; epatch ${P}/${GCC_V_ARM}.palmos.diff || die echo -n " "; epatch ${P}/${GCC_V_M68K}.palmos.diff || die echo -n " "; epatch ${P}/${GDB_V}.palmos.diff || die echo -n " "; EPATCH_OPTS="-l" epatch ${P}/../MsectGdb2.3-1.diff || die echo -n " "; epatch ${FILESDIR}/${P}-compilefix.patch || die # This last patch disables dummy headers being copied. # a) They're not needed # b) This causes a sandboxing error # +) Keeps 'palmdev-prep' pointed at the # right place while making the docs install # script from not install them to real root / # Fix ${GCC_V_ARM} include problem cp ${GCC_V_ARM}/gcc/fixinc/tests/base/unistd.h ${GCC_V_ARM}/gcc sed -i -e 's:#include <stdio.h>::' -e 's:#include <sys/types.h>::' -e 's:#include <errno.h>::' -e 's:#include <stdlib.h>::' ${GCC_V_ARM}/gcc/tsystem.h || die } src_config() { echo ">>> Rebuilding configuration scripts" cd binutils; WANT_AUTOCONF=2.1 autoconf || die "Failed to reconfigure binutils"; cd .. cd .. mkdir build cd build echo ">>> Configuring..." echo # Remove any flags; because the cross-compiler (2.9.x GCC) # will not understand any of these optimizations {and will # fail} once the cross-compiler compiles the m68k GCC suite ALLOWED_FLAGS="-pipe -0 -01 -02" strip-flags ../${P}/configure --enable-targets=m68k-palmos,arm-palmos \ --enable-languages=c,c++ \ --with-headers=${WORKDIR}/build/empty --enable-html-docs \ --with-palmdev-prefix=/opt/palmdev --prefix=/usr || die # These have to be real; otherwise the compiler is hard-coded # and tries to find libraries in ${D}/.... # palmdev-prefix also has to be real; otherwise 'palmdev-prep' # defaults to virtual ${D}/.. } src_compile() { src_config make || die } src_install() { cd ../build einstall || die } pkg_postinst() { echo einfo "PRC-Tools is now compiled and installed!" einfo "<HTML docs are installed in /opt/palmdev>" echo einfo "For a complete Palm Development Environment you will also need..." echo einfo "[ ] PilRC; the Palm resource compiler; emerge pilrc" einfo "[ ] POSE; The Palm OS Emulator; emerge pose" echo " ->> A ROM for POSE; available from Palm" einfo "[ ] An SDK; available from the Palm Website" echo " ->> Decompress this to /opt/palmdev and then run" echo " 'palmdev-prep /opt/palmdev'" echo }