linamh/dev-embedded/cc65/cc65-2.13.9.20100106.ebuild

76 lines
2.7 KiB
Bash

# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="2"
inherit eutils toolchain-funcs multilib
DESCRIPTION="It's a complete cross development package for 65(C)02 systems."
HOMEPAGE="http://www.cc65.org"
SRC_URI="ftp://ftp.musoftware.de/pub/uz/cc65/snapshot/cc65-snapshot-sources-${PV}.tar.bz2"
#SRC_URI="ftp://ftp.musoftware.de/pub/uz/${PN}/${PN}-sources-${PV}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86 ~arm"
IUSE="doc"
DEPEND="doc? ( app-text/linuxdoc-tools )"
RDEPEND=""
S=${WORKDIR}/${PN}-snapshot-${PV}
src_prepare() {
# add sim65 sometimes useful
sed -i -e "s:od65:od65 sim65:g" src/make/gcc.mak
# correct paths for install (also in documentation)
sed -i -e "s:)/lib:)/$(get_libdir):g" make/gcc.mak
sed -i -e "s:/lib/cc65/inc:/$(get_libdir)/cc65/inc:g" src/cc65/make/gcc.mak
sed -i -e "s:/lib/cc65/lib:/$(get_libdir)/cc65/lib:g" src/ld65/make/gcc.mak
sed -i -e "s:/lib/cc65/lib:/$(get_libdir)/cc65/lib:g" doc/ld65.sgml
#solve conflict by renameing make.info to cc65make.info
sed -i -e "s:make.sgml:cc65make.sgml:g" doc/Makefile
mv doc/make.sgml doc/cc65make.sgml
# epatch "${FILESDIR}"/cc65-2.12.0-asneeded-1.patch
# epatch "${FILESDIR}"/cc65-2.12.0-cbm_dir-1.patch
}
src_compile() {
# the build needs to be split atherwise we can't specify CC
# these makefiles are not parallel build aware
emake -j1 -C src -f make/gcc.mak CC="$(tc-getCC)" AR="$(tc-getAR)" || die "src build fail"
emake -j1 -C libsrc || die "libsrc build fail"
use doc && emake -j1 -C doc
}
src_install() {
# cant trust the install target (sandbox violation) so do it by hand
dobin src/*65/*65 src/ca65html/ca65html src/grc/grc || die "dobin fail"
insinto /usr/$(get_libdir)/cc65/emd
doins libsrc/*.emd || die "install memory map fail"
insinto /usr/$(get_libdir)/cc65/joy
doins libsrc/*.joy || die "install joystick driver fail"
insinto /usr/$(get_libdir)/cc65/mou
doins libsrc/*.mou || die "install mouse driver fail"
insinto /usr/$(get_libdir)/cc65/ser
doins libsrc/*.ser || die "install UART driver fail"
insinto /usr/$(get_libdir)/cc65/tgi
doins libsrc/*.tgi || die "install graphic driver fail"
insinto /usr/$(get_libdir)/cc65/asminc
doins asminc/*.inc || die "install asm include fail"
insinto /usr/$(get_libdir)/cc65/include
doins -r include/* || die "install include fail"
insinto /usr/$(get_libdir)/cc65/lib
doins libsrc/*.lib || die "install lib definations fail"
doins libsrc/*.o || die "install lib fail"
use doc && dohtml doc/*.htm*
doman packages/debian/*.1 || die "man install fail"
use doc && doinfo doc/*.info
dodoc src/ld65/cfg/*.cfg || die "cfg install fail"
dodoc src/ca65/macpack/*.mac || die "macro install fail"
}