diff --git a/dev-embedded/sdcc/Manifest b/dev-embedded/sdcc/Manifest new file mode 100644 index 0000000..f58647d --- /dev/null +++ b/dev-embedded/sdcc/Manifest @@ -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 diff --git a/dev-embedded/sdcc/metadata.xml b/dev-embedded/sdcc/metadata.xml new file mode 100644 index 0000000..c0f3e21 --- /dev/null +++ b/dev-embedded/sdcc/metadata.xml @@ -0,0 +1,38 @@ + + + + + embedded@gentoo.org + Embedded Gentoo + + +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. + + + sdcc + + + Enable Hans Boehm's garbage collector dev-libs/boehm-gc + Enable built of devices libraries + Add support for Dallas DS390 + Add support for Dallas DS400 + Add support for Gameboy gbz80 + Add support for Freescale/Motorola HC08 based + Add support for Intel mcs51 + Enable non-free runtime library parts + Enable Intel HEX files pack utility + Add support for Microchip 14 bits PICs + Add support for Microchip 16 bits PICs + Add support for Rabbit 2000 + Add support for Rabbit 3000A + Add support for Freescale/Motorola S08 + Enable SDCC library archive utilities sdar, sdranlib, sdnm + Enable SDCC source level debugger + Enable SDCC preprocessor based on GCC cpp + Add support for STMicroelectronics STM8 + Add support for TLCS-90 + Enable software simulator for microcontrollers + Add support for Zilog Z180 + Add support for Zilog Z80 + + diff --git a/dev-embedded/sdcc/sdcc-3.6.0.ebuild b/dev-embedded/sdcc/sdcc-3.6.0.ebuild new file mode 100644 index 0000000..fdc3571 --- /dev/null +++ b/dev-embedded/sdcc/sdcc-3.6.0.ebuild @@ -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 +}