Added new version of sdcc

This commit is contained in:
layman 2017-05-18 22:34:50 +02:00
parent 2d1b0a55dd
commit 2d23274926
3 changed files with 162 additions and 0 deletions

View File

@ -0,0 +1,4 @@
DIST sdcc-doc-3.6.0.tar.bz2 1016273 SHA256 9695960a3b57d50e52ff039d4bd2493430d628cd81d98404396c676dbdde3e8f SHA512 3fce1508e10321f00d209fc25c716a08726c3fd5c714c727b8db458da81450463a67f40079f310c1e4236dda7bb8873223f1b77414a8e1a3df19b6ed52baddbd WHIRLPOOL 3d37d95c319e2089d864b5950a82d9e720af3587dd8a4ac8be7fc9b1223f25bb217b0f8616fb7e195af2836cee82ad309507dfcff6f60604166fd24c0dcea882
DIST sdcc-src-3.6.0.tar.bz2 17993788 SHA256 e85dceb11e01ffefb545ec389da91265130c91953589392dddd2e5ec0b7ca374 SHA512 fd05cf13f7acf0b71a35a99f99dc6ef8abcb4f41fbe1ab0cf25348842b57317217410b4a521ea1a70db93d8e7e4e6dac272ec14d893cdbcfa584ee963f42ad2f WHIRLPOOL 9aa5d0c8f061d380325efccb5ffcfb4b9c423b9b5a5e1c2e1cc7fcf733da08927ba572fa6c7bd2c0f694aab0745cd2a938256d566dcc2931b10d2f3a8f8cab87
EBUILD sdcc-3.6.0.ebuild 3270 SHA256 95980805e40bbc05641f3867543bf8e7d0b5f5d8b2ddda6f87adda6fcf86d905 SHA512 d5531e3c609ebae96ed558de4afe6292179b4c2fa30034203667ece95e7673f04d4d8ea303e521f96b888943bf085ba9ac125a9520a31f2c649f232fb9d3349c WHIRLPOOL da6f5a984c04548a0d179e09070e122c2ea0f2179b2d20a8cc86c8e82746c49739564e1bf8dfb19dbd83afd4c720a9476ef705d2a318218006820e992cb25e35
MISC metadata.xml 2212 SHA256 118d2b8abd35212858bb33d5edab63c3bb6089d9973bef6ea5f91c8e2189f883 SHA512 4af2667ae3006548904e9e13894a49c277744d6876e0a99c99e8ea2e89c9e3fc277cf851ae0856b3c3b64f41ef7fd7c255f1bb4f9f42de8917aad7c59e25a0f0 WHIRLPOOL 820abadc5f42bbcfca65275575e86e5b5aa8bbab92abf098f1d13d14bf1a7a638aecdd3447db32398b117ec2a4703ca97449d32c835e05554ad5ba9d0e60c87a

View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>embedded@gentoo.org</email>
<name>Embedded Gentoo</name>
</maintainer>
<longdescription>
SDCC is a retargettable, optimizing ANSI - C compiler suite that targets the Intel MCS51 based microprocessors (8031, 8032, 8051, 8052, etc.), Maxim (formerly Dallas) DS80C390 variants, Freescale (formerly Motorola) HC08 based (hc08, s08), Zilog Z80 based MCUs (z80, z180, gbz80, Rabbit 2000/3000, Rabbit 3000A, TLCS-90) and STMicroelectronics STM8. It can be retargeted for other microprocessors.
</longdescription>
<upstream>
<remote-id type="sourceforge">sdcc</remote-id>
</upstream>
<use>
<flag name="boehm-gc">Enable Hans Boehm's garbage collector <pkg>dev-libs/boehm-gc</pkg></flag>
<flag name="device-lib">Enable built of devices libraries</flag>
<flag name="ds390">Add support for Dallas DS390</flag>
<flag name="ds400">Add support for Dallas DS400</flag>
<flag name="gbz80">Add support for Gameboy gbz80</flag>
<flag name="hc08">Add support for Freescale/Motorola HC08 based</flag>
<flag name="mcs51">Add support for Intel mcs51</flag>
<flag name="non-free">Enable non-free runtime library parts</flag>
<flag name="packihx">Enable Intel HEX files pack utility</flag>
<flag name="pic14">Add support for Microchip 14 bits PICs</flag>
<flag name="pic16">Add support for Microchip 16 bits PICs</flag>
<flag name="r2k">Add support for Rabbit 2000</flag>
<flag name="r3ka">Add support for Rabbit 3000A</flag>
<flag name="s08">Add support for Freescale/Motorola S08</flag>
<flag name="sdbinutils">Enable SDCC library archive utilities sdar, sdranlib, sdnm</flag>
<flag name="sdcdb">Enable SDCC source level debugger</flag>
<flag name="sdcpp">Enable SDCC preprocessor based on GCC cpp</flag>
<flag name="stm8">Add support for STMicroelectronics STM8</flag>
<flag name="tlcs90">Add support for TLCS-90</flag>
<flag name="ucsim">Enable software simulator for microcontrollers</flag>
<flag name="z180">Add support for Zilog Z180</flag>
<flag name="z80">Add support for Zilog Z80</flag>
</use>
</pkgmetadata>

View File

@ -0,0 +1,120 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
inherit eutils toolchain-funcs
if [[ ${PV} == "9999" ]] ; then
ESVN_REPO_URI="https://svn.code.sf.net/p/sdcc/code/trunk/sdcc"
inherit subversion
docs_compile() { return 0; }
else
SRC_URI="mirror://sourceforge/sdcc/${PN}-src-${PV}.tar.bz2
doc? ( mirror://sourceforge/sdcc/${PN}-doc-${PV}.tar.bz2 )"
KEYWORDS="~amd64 ~ppc ~x86"
docs_compile() { return 1; }
fi
DESCRIPTION="Small device C compiler (for various microprocessors)"
HOMEPAGE="http://sdcc.sourceforge.net/"
LICENSE="GPL-2 ZLIB
non-free? ( MicroChip-SDCC )
packihx? ( public-domain )"
SLOT="0"
IUSE="mcs51 z80 z180 r2k r3ka gbz80 tlcs90 ds390 ds400 pic14 pic16 hc08 s08 stm8
ucsim device-lib packihx +sdcpp sdcdb sdbinutils non-free +boehm-gc doc"
REQUIRED_USE="
mcs51? ( sdbinutils )
ds390? ( sdbinutils )
ds400? ( sdbinutils )
hc08? ( sdbinutils )
s08? ( sdbinutils )"
RESTRICT="strip"
RDEPEND="dev-libs/boost:=
sys-libs/ncurses:=
sys-libs/readline:0=
>=dev-embedded/gputils-0.13.7
boehm-gc? ( dev-libs/boehm-gc:= )
!dev-embedded/sdcc-svn"
DEPEND="${RDEPEND}
dev-util/gperf"
if docs_compile ; then
DEPEND+="
doc? (
>=app-office/lyx-1.3.4
dev-tex/latex2html
)"
fi
src_prepare() {
# Fix conflicting variable names between Gentoo and sdcc
find \
'(' -name 'Makefile*.in' -o -name 'configure' ')' \
-exec sed -r -i \
-e 's:\<(PORTDIR|ARCH)\>:SDCC\1:g' \
{} + || die
# https://sourceforge.net/p/sdcc/bugs/2398/
sed -i '1iAR = @AR@' Makefile.common.in || die
sed -i \
-e "/^AR =/s:=.*:=$(tc-getAR):" \
support/cpp/Makefile.in || die
# Make sure timestamps don't get messed up.
[[ ${PV} == "9999" ]] && find "${S}" -type f -exec touch -r . {} +
}
src_configure() {
# sdbinutils subdir doesn't pass down --docdir properly, so need to
# expand $(datarootdir) ourselves.
econf \
ac_cv_prog_STRIP=true \
ac_cv_prog_AS="$(tc-getAS)" \
ac_cv_prog_AR="$(tc-getAR)" \
--docdir="${EPREFIX}/usr/share/doc/${PF}" \
--without-ccache \
$(use_enable mcs51 mcs51-port) \
$(use_enable z80 z80-port) \
$(use_enable z180 z180-port) \
$(use_enable r2k r2k-port) \
$(use_enable r3ka r3ka-port) \
$(use_enable gbz80 gbz80-port) \
$(use_enable tlcs90 tlcs90-port) \
$(use_enable ds390 ds390-port) \
$(use_enable ds400 ds400-port) \
$(use_enable pic14 pic14-port) \
$(use_enable pic16 pic16-port) \
$(use_enable hc08 hc08-port) \
$(use_enable s08 s08-port) \
$(use_enable stm8 stm8-port) \
$(use_enable ucsim ucsim) \
$(use_enable device-lib device-lib) \
$(use_enable packihx packihx) \
$(use_enable sdcpp sdcpp) \
$(use_enable sdcdb sdcdb) \
$(use_enable sdbinutils sdbinutils) \
$(use_enable non-free non-free) \
$(use_enable boehm-gc libgc) \
$(docs_compile && use_enable doc || echo --disable-doc)
}
src_install() {
default
dodoc doc/*.txt
find "${D}" -name .deps -exec rm -rf {} + || die
if use doc ; then
docs_compile || cd "${WORKDIR}"/doc
dohtml -r *
fi
# a bunch of archives (*.a) are built & installed by gputils
# for PIC processors, but they do not work with standard `ar`
# & `scanelf` utils and they're not for the host.
env RESTRICT="" prepstrip "${D%/}"/usr/bin
}