--- tigcc-0.96_beta8.ebuild 2012-04-30 06:54:59.000000000 +0400 +++ tigcc-0.96_beta8.ebuild 2014-12-23 16:58:42.000000000 +0300 @@ -1,8 +1,10 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-embedded/tigcc/tigcc-0.96_beta8.ebuild,v 1.3 2012/04/30 02:54:59 vapier Exp $ +# $Header: $ -inherit eutils +EAPI=5 + +inherit eutils toolchain-funcs BASE_BINUTILS="2.16.1" GCC_VER="4.1.2" @@ -36,13 +38,11 @@ app-arch/unzip >=sys-devel/bison-1.875" -S=${WORKDIR} - -src_unpack() { - unpack ${A} +S="${WORKDIR}" +src_prepare() { # start by patching and cleaning out binutils and gcc directories. - cd "${WORKDIR}"/binutils-${BASE_BINUTILS} + cd "${WORKDIR}/binutils-${BASE_BINUTILS}" || die epatch "${S}"/sources/gcc/gas-${BIN_VER}-tigcc-*.diff rm -f .brik @@ -60,7 +60,7 @@ rm -f -r ld rm -f -r texinfo - cd "${WORKDIR}"/gcc-4.1-${GCC_SNAPSHOT} + cd "${WORKDIR}/gcc-4.1-${GCC_SNAPSHOT}" || die epatch "${S}"/sources/gcc/gcc-4.1-tigcc-patch.diff rm -f .brik @@ -84,20 +84,29 @@ mkdir "${WORKDIR}"/build/gcc # Workaround for non-existing directories - sed -ie '/SUBDIRS =/d' "${WORKDIR}"/binutils-${BASE_BINUTILS}/gas/Makefile.in + sed -ie '/SUBDIRS =/d' "${WORKDIR}/binutils-${BASE_BINUTILS}/gas/Makefile.in" || die + + # Respect toolchain, bug #243866 + tc-export AR CC RANLIB + + epatch_user } +# Buildsystem is very fragile, configuring and compiling +# can not be split +src_configure() { :; } + src_compile() { # build binutils - cd "${WORKDIR}"/build/binutils + cd "${WORKDIR}/build/binutils" || die 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" + emake - # build gcc - cd "${WORKDIR}"/build/gcc + # configure gcc + cd "${WORKDIR}/build/gcc" || die 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 \ @@ -107,31 +116,30 @@ # GCC compilations _is intended_ to fail on a certain point, # don't worry about that. - emake -j1 + nonfatal 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" + cd "${S}"/sources/a68k || die + emake -e # build ld-tigcc linker - cd "${S}"/sources/ld-tigcc - emake -e || die "ld-tigcc" + cd "${S}"/sources/ld-tigcc || die + emake -e # build tigcc front-end - cd "${S}"/sources/tigcc/src - emake -e || die "tigcc" + cd "${S}"/sources/tigcc/src || die + emake -e # build tprbuilder (TIGCC project builder) - cd "${S}"/sources/tprbuilder/src - emake -e || die "tprbuilder" + cd "${S}"/sources/tprbuilder/src || die + emake -e # build patcher (object file patcher) - cd "${S}"/sources/patcher/src - emake -e || die "patcher" - + cd "${S}"/sources/patcher/src || die + emake -e } src_install() { @@ -145,35 +153,36 @@ "${S}"/tigcclib/doc/converter/tigccdoc \ > "${S}"/tigcclib/doc/converter/tigccdoc.new - cd "${S}"/tigcclib/doc/converter + cd "${S}"/tigcclib/doc/converter || die newbin tigccdoc.new tigccdoc - cd "${S}"/tigcclib/doc + cd "${S}"/tigcclib/doc || die dohtml -r html/* - cp html/qt-assistant.adp "${D}"/usr/share/doc/${PF}/html + insinto /usr/share/doc/${PF}/html + doins html/qt-assistant.adp - cd "${S}"/sources/a68k + cd "${S}"/sources/a68k || die fi dodir /usr/share/doc/${PF} - cd "${S}" + cd "${S}" || die dodoc AUTHORS BUGS CHANGELOG DIRECTORIES HOWTO \ INSTALL README README.linux README.osX - cd "${S}"/sources/tigcc + cd "${S}"/sources/tigcc || die docinto tigcc dodoc AUTHORS ChangeLog README - cd "${S}"/sources/tprbuilder + cd "${S}"/sources/tprbuilder || die docinto tprbuilder dodoc AUTHORS ChangeLog README - cd "${S}"/sources/patcher + cd "${S}"/sources/patcher || die docinto patcher dodoc AUTHORS ChangeLog README exeinto /usr/ti-linux-gnu/tigcc-bin/${GCC_VER} # install gcc - cd "${WORKDIR}"/build/gcc + cd "${WORKDIR}"/build/gcc || die doexe gcc/cc1 newexe gcc/xgcc gcc dosym /usr/ti-linux-gnu/tigcc-bin/${GCC_VER}/gcc \ @@ -182,30 +191,30 @@ # 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 + cd "${WORKDIR}"/build/binutils || die newexe gas/as-new as # install a68k - cd "${S}"/sources/a68k + cd "${S}"/sources/a68k || die newexe A68k a68k # install ld-tigcc - cd "${S}"/sources/ld-tigcc + cd "${S}"/sources/ld-tigcc || die doexe ld-tigcc doexe ar-tigcc # install tigcc - cd "${S}"/sources/tigcc/src + cd "${S}"/sources/tigcc/src || die 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 + cd "${S}"/sources/tprbuilder/src || die doexe tprbuilder # install patcher - cd "${S}"/sources/patcher/src + cd "${S}"/sources/patcher/src || die doexe patcher # install header files @@ -215,9 +224,9 @@ insinto /usr/lib/gcc-lib/ti-linux-gnu/${GCC_VER} # install library - cd "${S}"/tigcclib + cd "${S}"/tigcclib || die doins lib/* - cd "${WORKDIR}" + cd "${WORKDIR}" || die doins flashos.a doins fargo.a