diff options
-rw-r--r-- | dev-embedded/tigcc/ChangeLog | 9 | ||||
-rw-r--r-- | dev-embedded/tigcc/files/digest-tigcc-0.96_beta7 | 15 | ||||
-rw-r--r-- | dev-embedded/tigcc/tigcc-0.96_beta7.ebuild | 248 |
3 files changed, 271 insertions, 1 deletions
diff --git a/dev-embedded/tigcc/ChangeLog b/dev-embedded/tigcc/ChangeLog index 8aff9711da20..fa0bd9f8d141 100644 --- a/dev-embedded/tigcc/ChangeLog +++ b/dev-embedded/tigcc/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for dev-embedded/tigcc # Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-embedded/tigcc/ChangeLog,v 1.14 2006/11/04 01:34:20 dragonheart Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-embedded/tigcc/ChangeLog,v 1.15 2006/11/04 13:07:05 dragonheart Exp $ + +*tigcc-0.96_beta7 (04 Nov 2006) + + 04 Nov 2006; Daniel Black <dragonheart@gentoo.org> + +tigcc-0.96_beta7.ebuild, -tigcc-0.96_beta8.ebuild: + wrong version name on file - should have been tigcc-0.96_beta7 before. + Thanks helch *tigcc-0.96_beta8 (04 Nov 2006) diff --git a/dev-embedded/tigcc/files/digest-tigcc-0.96_beta7 b/dev-embedded/tigcc/files/digest-tigcc-0.96_beta7 new file mode 100644 index 000000000000..0db2f7870317 --- /dev/null +++ b/dev-embedded/tigcc/files/digest-tigcc-0.96_beta7 @@ -0,0 +1,15 @@ +MD5 6a9d529efb285071dad10e1f3d2b2967 binutils-2.16.1.tar.bz2 12549917 +RMD160 638861a6b709ac380f1bc13d55c6b48d0532b3d0 binutils-2.16.1.tar.bz2 12549917 +SHA256 351a6846ee179a37ed87a487971547159a7f4f92a1dec598c727f184a0de61ae binutils-2.16.1.tar.bz2 12549917 +MD5 ab4540a43406f08f442a28cf40d29e0c flashosa.zip 2437 +RMD160 9424861be569e6af751271c3143c927f412277ab flashosa.zip 2437 +SHA256 ae0be66d99aea7f7d84364347c220ed1bc8cae5f898a6e8b1a9458b445fdfea4 flashosa.zip 2437 +MD5 17b79ad78932e8711782c1adb48453e9 gcc-4.1-20060728.tar.bz2 37038705 +RMD160 6bd10730f466963440c4fb54df36b34636d9f204 gcc-4.1-20060728.tar.bz2 37038705 +SHA256 2600728a9448522c80ff64f99eff93a4499f0a7aa460c55bb08e76875084417b gcc-4.1-20060728.tar.bz2 37038705 +MD5 ef4d19d5d502288f24611598ce335153 libfargo.zip 14766 +RMD160 08c28c71ead68edcc0e5702bfabce7c9bd225549 libfargo.zip 14766 +SHA256 c37bacb744c94519b1dea0b0b855baa4379b009ec7200437521895f8a9ea90eb libfargo.zip 14766 +MD5 84baea5ce72eac4a46adf784a23a312e tigcc-0.96_beta7.tar.bz2 2828952 +RMD160 11c431a08c0fc8630aab4dcc6f5315b5b38f5f6d tigcc-0.96_beta7.tar.bz2 2828952 +SHA256 da3d75515f1a0091203b3c1f47f8fa342302e45e0bbe62849391ce0935521b0b tigcc-0.96_beta7.tar.bz2 2828952 diff --git a/dev-embedded/tigcc/tigcc-0.96_beta7.ebuild b/dev-embedded/tigcc/tigcc-0.96_beta7.ebuild new file mode 100644 index 000000000000..a915fb42d68b --- /dev/null +++ b/dev-embedded/tigcc/tigcc-0.96_beta7.ebuild @@ -0,0 +1,248 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-embedded/tigcc/tigcc-0.96_beta7.ebuild,v 1.1 2006/11/04 13:07:05 dragonheart Exp $ + +inherit eutils + +BASE_BINUTILS="2.16.1" +GCC_VER="4.1.2" +GCC_SNAPSHOT="20060728" +BIN_VER=${BASE_BINUTILS:0:4} +ENV_FILE=${D}/etc/env.d/99tigcc +S=$WORKDIR +DESCRIPTION="Cross compiler for Texas Instruments TI-89, TI-92(+) and V200 calculators" +HOMEPAGE="http://tigcc.ticalc.org" + + +#original source can be found at: +#SRC_URI="http://tigcc.ticalc.org/linux/tigcc_src.tar.bz2" +#but in fact this file changes as soon as there comes a new beta + +#when it hits portage of course it should be mirrored on a gentoo mirror: +#SRC_URI="mirror://gentoo/${PF}.tar.bz2" + +SRC_URI="mirror://gentoo/tigcc-0.96_beta7.tar.bz2 + ftp://gcc.gnu.org/pub/gcc/snapshots/4.1-${GCC_SNAPSHOT}/gcc-4.1-${GCC_SNAPSHOT}.tar.bz2 + mirror:/kernel/linux/devel/binutils/binutils-${BASE_BINUTILS}.tar.bz2 + http://members.chello.at/gerhard.kofler/kevin/ti89prog/libfargo.zip + http://members.chello.at/gerhard.kofler/kevin/ti89prog/flashosa.zip" + +LICENSE="GPL-2" + +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +IUSE="doc" + +DEPEND="virtual/libc + >=sys-devel/binutils-2.14.90.0.6-r1 + >=sys-devel/bison-1.875" + +RESTRICT="strip" + +src_unpack() { + unpack ${A} + + # start by patching and cleaning out binutils and gcc directories. + cd ${WORKDIR}/binutils-${BASE_BINUTILS} + epatch ${S}/sources/gcc/gas-${BIN_VER}-tigcc-*.diff + + rm -f .brik + rm -f md5.sum + rm -f -r INSTALL + rm -f -r maintainer-scripts + rm -f -r binutils + rm -f -r cpu + rm -f -r etc + rm -f -r gas/doc + rm -f -r gas/po + rm -f -r gprof + rm -f -r include/nlm + rm -f -r include/regs + rm -f -r ld + rm -f -r texinfo + + cd ${WORKDIR}/gcc-4.1-${GCC_SNAPSHOT} + epatch ${S}/sources/gcc/gcc-4.1-tigcc-patch.diff + + rm -f .brik + rm -f md5.sum + rm -f -r INSTALL + rm -f -r fixincludes + rm -f -r gcc/ginclude + rm -f -r gcc/po + rm -f -r gcc/doc + rm -f -r gcc/treelang + rm -f -r libcpp/po + rm -f -r maintainer-scripts + rm -f -r etc + rm -f -r gprof + rm -f -r include/nlm + rm -f -r include/regs + rm -f -r texinfo + + # create build directories for binutils and gcc + mkdir -p ${WORKDIR}/build/binutils + mkdir ${WORKDIR}/build/gcc + + # Workaround for non-existing directories + sed -ie '/SUBDIRS =/d' ${WORKDIR}/binutils-${BASE_BINUTILS}/gas/Makefile.in +} + +src_compile() { + # build binutils + cd ${WORKDIR}/build/binutils + CFLAGS="${CFLAGS}" ${WORKDIR}/binutils-${BASE_BINUTILS}/configure \ + --disable-serial-configure --target=m68k-coff --disable-shared \ + --enable-static --disable-multilib --disable-nls \ + || die + emake || die "gas" + + # build gcc + cd ${WORKDIR}/build/gcc + CFLAGS="${CFLAGS}" ${WORKDIR}/gcc-4.1-${GCC_SNAPSHOT}/configure --target=m68k-coff \ + --with-gnu-as --with-as=${WORKDIR}/build/binutils/gas/as-new --with-gnu-ld \ + --disable-nls --disable-multilib --disable-shared --enable-static \ + --disable-threads --enable-languages=c --disable-win32-registry \ + --disable-checking --disable-werror --disable-pch --disable-mudflap \ + || die + + # GCC compilations _is intended_ to fail on a certain point, + # don't worry about that. + emake -j1 + + # Check if gcc has been built, die otherwise + ( [ -e ${WORKDIR}/build/gcc/gcc/xgcc ] && [ -e ${WORKDIR}/build/gcc/gcc/cc1 ] ) || die "gcc" + + # build a68k assembler + cd ${S}/sources/a68k + emake -e || die "a68k" + + # build ld-tigcc linker + cd ${S}/sources/ld-tigcc + emake -e || die "ld-tigcc" + + # build tigcc front-end + cd ${S}/sources/tigcc/src + emake -e || die "tigcc" + + # build tprbuilder (TIGCC project builder) + cd ${S}/sources/tprbuilder/src + emake -e || die "tprbuilder" + + # build patcher (object file patcher) + cd ${S}/sources/patcher/src + emake -e || die "patcher" + +} + +src_install() { + # install documentation + dodir /usr/bin + + if use doc ; then + # patch the script that launches the documentation + # browser to point to the correct location + sed "s:\${TIGCC}/doc:/usr/share/doc/${P}:g" \ + ${S}/tigcclib/doc/converter/tigccdoc \ + > ${S}/tigcclib/doc/converter/tigccdoc.new + + cd ${S}/tigcclib/doc/converter + newbin tigccdoc.new tigccdoc + cd ${S}/tigcclib/doc + dohtml -r html/* + cp html/qt-assistant.adp ${D}/usr/share/doc/${PF}/html + + cd ${S}/sources/a68k + fi + + dodir /usr/share/doc/${PF} + cd ${S} + dodoc AUTHORS BUGS CHANGELOG COPYING DIRECTORIES HOWTO \ + INSTALL README README.linux README.osX + + cd ${S}/sources/tigcc + docinto tigcc + dodoc AUTHORS COPYING ChangeLog README + + cd ${S}/sources/tprbuilder + docinto tprbuilder + dodoc AUTHORS COPYING ChangeLog README + + cd ${S}/sources/patcher + docinto patcher + dodoc AUTHORS COPYING ChangeLog README + + exeinto /usr/ti-linux-gnu/tigcc-bin/${GCC_VER} + # install gcc + cd ${WORKDIR}/build/gcc + doexe gcc/cc1 + newexe gcc/xgcc gcc + dosym /usr/ti-linux-gnu/tigcc-bin/${GCC_VER}/gcc \ + /usr/ti-linux-gnu/tigcc-bin/${GCC_VER}/ti-linux-gnu-gcc + + # install gas + # exeinto /usr/ti-linux-gnu/bin <-- a symlink will be + # created so that gas resides in /usr/ti-linux-gnu/bin too + cd ${WORKDIR}/build/binutils + newexe gas/as-new as + + # install a68k + cd ${S}/sources/a68k + newexe A68k a68k + + # install ld-tigcc + cd ${S}/sources/ld-tigcc + doexe ld-tigcc + doexe ar-tigcc + + # install tigcc + cd ${S}/sources/tigcc/src + doexe tigcc + dosym /usr/ti-linux-gnu/tigcc-bin/${GCC_VER}/tigcc \ + /usr/ti-linux-gnu/tigcc-bin/${GCC_VER}/ti-linux-gnu-tigcc + + # install tprbuilder + cd ${S}/sources/tprbuilder/src + doexe tprbuilder + + # install patcher + cd ${S}/sources/patcher/src + doexe patcher + + # install header files + dodir /usr/include/tigcc + cp -R ${S}/tigcclib/include/* ${D}/usr/include/tigcc + dosym /usr/include/tigcc/asm/os.h /usr/include/tigcc/asm/OS.h + + insinto /usr/lib/gcc-lib/ti-linux-gnu/${GCC_VER} + # install library + cd ${S}/tigcclib + doins lib/* + cd ${WORKDIR} + doins flashos.a + doins fargo.a + + dodir /usr/share/tigcc + # copy example programs + # cp -r ${S}/examples ${D}/usr/share/tigcc + + # create TIGCC env variable + dodir /etc/env.d/gcc + # echo -e "TIGCC=\"/usr/ti-linux-gnu/tigcc-bin/${GCC_VER}\"" >> ${ENV_FILE} + # echo -e "CC=\"tigcc\"" >> ${ENV_FILE} + echo -e "TIGCC=\"/usr/ti-linux-gnu\"" >> ${ENV_FILE} + echo -e "PATH=\"/usr/ti-linux-gnu/tigcc-bin/${GCC_VER}:/usr/ti-linux-gnu/bin\"" >> ${ENV_FILE} + echo -e "ROOTPATH=\"/usr/ti-linux-gnu/tigcc-bin/${GCC_VER}:/usr/ti-linux-gnu/bin\"" >> ${ENV_FILE} + echo -e "LDPATH=\"/usr/lib/gcc-lib/ti-linux-gnu/${GCC_VER}\"" >> ${ENV_FILE} + + # a cross-compiling gcc with hard-coded names has been built. + # therefore, we must place some symlinks. + dosym /usr/include/tigcc /usr/ti-linux-gnu/include + dosym /usr/lib/gcc-lib/ti-linux-gnu/${GCC_VER} /usr/ti-linux-gnu/lib + dosym /usr/share/doc/${PF} /usr/ti-linux-gnu/doc + dosym /usr/ti-linux-gnu/tigcc-bin/${GCC_VER} /usr/ti-linux-gnu/bin +} + +pkg-postinst() { + env-update && source /etc/profile +} |