From 5a8cba4b1b5681b0db6286f3747df7b4be3b2360 Mon Sep 17 00:00:00 2001 From: Jeroen Roovers Date: Thu, 1 Nov 2018 17:01:49 +0100 Subject: dev-embedded/sdcc: Version 3.8.0 Package-Manager: Portage-2.3.51, Repoman-2.3.11 Signed-off-by: Jeroen Roovers --- dev-embedded/sdcc/Manifest | 2 + dev-embedded/sdcc/metadata.xml | 8 ++- dev-embedded/sdcc/sdcc-3.8.0.ebuild | 138 ++++++++++++++++++++++++++++++++++++ dev-embedded/sdcc/sdcc-9999.ebuild | 98 ++++++++++++++----------- 4 files changed, 205 insertions(+), 41 deletions(-) create mode 100644 dev-embedded/sdcc/sdcc-3.8.0.ebuild (limited to 'dev-embedded') diff --git a/dev-embedded/sdcc/Manifest b/dev-embedded/sdcc/Manifest index ab1a89d83865..ce848d246fa6 100644 --- a/dev-embedded/sdcc/Manifest +++ b/dev-embedded/sdcc/Manifest @@ -1,2 +1,4 @@ DIST sdcc-doc-3.5.0.tar.bz2 1000775 BLAKE2B 30cd31990788060ebc792d98b072d4d72ce72176bf09374084246bfe02a8164ab083fb9cfe7fb6ee246b523dce7163d494f2161eb7537f972408f03bc9541426 SHA512 43de0c19ad538b4495218b04e5ab6a886fd9945c8a82c400e9a53314547f5d6ab0529989274faecc2d954f35f8fe60f338f09f93536b62a305203d2119df597e +DIST sdcc-doc-3.8.0.tar.bz2 965465 BLAKE2B 541ed3ba4d3a23dd3fcea248de84d887fdcd8ddaf3ed0f9f810bf8cb9fcb5b10eb2cd96099d83c5a0fda240cdd3d11fd247e576a67a32047a4f7a705b8401637 SHA512 63319b7c344b320600e6a7c158d1a5e69abe595dfd6b8d32a95f15678c3bc2f6fe72c959516c4b1f812deb089854c6a51c31438ef6a6c7f9fcb4d419d8cce3cf DIST sdcc-src-3.5.0.tar.bz2 10504517 BLAKE2B 16102ebd55026826100b453db20e00fa599ce6ad72f1466c32deb7211f09188048f35ac8ddd5987b7a3ad5fad79f2e2ee833da60e22a26b107c5e9e0e7c9be09 SHA512 a5842945da065ab566b7e073782e92f851da48c160990d49b76ab4773fe1c14286cab399fb7f2456432e4043ee7ce07c3b149aeb103c51f85a33fdc5f8798f4e +DIST sdcc-src-3.8.0.tar.bz2 18987862 BLAKE2B 7e8ddea41ae02842bb1376c53364c386a0fb47a1acdcc97cc72f002e78a2854fc43adfd0177f94dd1173dbd81052c390c5b2fef302c73f0b830ec83eea70869c SHA512 38145ea3e9560eb8894c54bd7213da67a20163739c944c3247fa8fa456dfedaaa469746169d3e114affcab48b73db4cd8c9a0a367e7368f2471de64761a3e04a diff --git a/dev-embedded/sdcc/metadata.xml b/dev-embedded/sdcc/metadata.xml index c0f3e2174edd..6d9caa8c84ad 100644 --- a/dev-embedded/sdcc/metadata.xml +++ b/dev-embedded/sdcc/metadata.xml @@ -6,12 +6,18 @@ 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 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 + Add support for AVR -- not supported upstream Enable Hans Boehm's garbage collector dev-libs/boehm-gc Enable built of devices libraries Add support for Dallas DS390 diff --git a/dev-embedded/sdcc/sdcc-3.8.0.ebuild b/dev-embedded/sdcc/sdcc-3.8.0.ebuild new file mode 100644 index 000000000000..8db064b0f828 --- /dev/null +++ b/dev-embedded/sdcc/sdcc-3.8.0.ebuild @@ -0,0 +1,138 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit 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 ~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" +SDCC_PORTS=" + avr ds390 ds400 gbz80 hc08 mcs51 pic14 pic16 r2k r3ka s08 stm8 tlcs90 z180 + z80 +" +IUSE=" + ${SDCC_PORTS} + +boehm-gc device-lib doc non-free packihx sdbinutils sdcdb +sdcpp ucsim +" + +REQUIRED_USE=" + ds390? ( sdbinutils ) + ds400? ( sdbinutils ) + hc08? ( sdbinutils ) + mcs51? ( sdbinutils ) + s08? ( sdbinutils ) + || ( ${SDCC_PORTS} ) +" + +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 -e '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 . {} + + + default +} + +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)" \ + $(docs_compile && use_enable doc || echo --disable-doc) \ + $(use_enable avr avr-port) \ + $(use_enable boehm-gc libgc) \ + $(use_enable device-lib) \ + $(use_enable ds390 ds390-port) \ + $(use_enable ds400 ds400-port) \ + $(use_enable gbz80 gbz80-port) \ + $(use_enable hc08 hc08-port) \ + $(use_enable mcs51 mcs51-port) \ + $(use_enable non-free) \ + $(use_enable packihx) \ + $(use_enable pic14 pic14-port) \ + $(use_enable pic16 pic16-port) \ + $(use_enable r2k r2k-port) \ + $(use_enable r3ka r3ka-port) \ + $(use_enable s08 s08-port) \ + $(use_enable sdbinutils) \ + $(use_enable sdcdb) \ + $(use_enable sdcpp) \ + $(use_enable stm8 stm8-port) \ + $(use_enable tlcs90 tlcs90-port) \ + $(use_enable ucsim) \ + $(use_enable z180 z180-port) \ + $(use_enable z80 z80-port) \ + --docdir="${EPREFIX}/usr/share/doc/${PF}" \ + --without-ccache +} + +src_install() { + default + dodoc doc/*.txt + find "${D}" -name .deps -exec rm -rf {} + || die + + if use doc ; then + docs_compile || cd "${WORKDIR}"/doc + docinto html + doins -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 +} diff --git a/dev-embedded/sdcc/sdcc-9999.ebuild b/dev-embedded/sdcc/sdcc-9999.ebuild index e0d3b94b8ec6..8db064b0f828 100644 --- a/dev-embedded/sdcc/sdcc-9999.ebuild +++ b/dev-embedded/sdcc/sdcc-9999.ebuild @@ -1,9 +1,8 @@ -# Copyright 1999-2016 Gentoo Foundation +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="5" - -inherit eutils toolchain-funcs +EAPI=6 +inherit toolchain-funcs if [[ ${PV} == "9999" ]] ; then ESVN_REPO_URI="https://svn.code.sf.net/p/sdcc/code/trunk/sdcc" @@ -19,36 +18,51 @@ fi DESCRIPTION="Small device C compiler (for various microprocessors)" HOMEPAGE="http://sdcc.sourceforge.net/" -LICENSE="GPL-2 ZLIB +LICENSE=" + GPL-2 ZLIB non-free? ( MicroChip-SDCC ) - packihx? ( public-domain )" + 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" +SDCC_PORTS=" + avr ds390 ds400 gbz80 hc08 mcs51 pic14 pic16 r2k r3ka s08 stm8 tlcs90 z180 + z80 +" +IUSE=" + ${SDCC_PORTS} + +boehm-gc device-lib doc non-free packihx sdbinutils sdcdb +sdcpp ucsim +" REQUIRED_USE=" - mcs51? ( sdbinutils ) ds390? ( sdbinutils ) ds400? ( sdbinutils ) hc08? ( sdbinutils ) - s08? ( sdbinutils )" + mcs51? ( sdbinutils ) + s08? ( sdbinutils ) + || ( ${SDCC_PORTS} ) +" RESTRICT="strip" -RDEPEND="dev-libs/boost:= +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" + !dev-embedded/sdcc-svn +" +DEPEND=" + ${RDEPEND} + dev-util/gperf +" if docs_compile ; then - DEPEND+=" - doc? ( - >=app-office/lyx-1.3.4 - dev-tex/latex2html - )" +DEPEND+=" + doc? ( + >=app-office/lyx-1.3.4 + dev-tex/latex2html + ) +" fi src_prepare() { @@ -60,13 +74,15 @@ src_prepare() { {} + || die # https://sourceforge.net/p/sdcc/bugs/2398/ - sed -i '1iAR = @AR@' Makefile.common.in || die + sed -i -e '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 . {} + + + default } src_configure() { @@ -76,31 +92,32 @@ src_configure() { 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) \ + $(docs_compile && use_enable doc || echo --disable-doc) \ + $(use_enable avr avr-port) \ + $(use_enable boehm-gc libgc) \ + $(use_enable device-lib) \ $(use_enable ds390 ds390-port) \ $(use_enable ds400 ds400-port) \ + $(use_enable gbz80 gbz80-port) \ + $(use_enable hc08 hc08-port) \ + $(use_enable mcs51 mcs51-port) \ + $(use_enable non-free) \ + $(use_enable packihx) \ $(use_enable pic14 pic14-port) \ $(use_enable pic16 pic16-port) \ - $(use_enable hc08 hc08-port) \ + $(use_enable r2k r2k-port) \ + $(use_enable r3ka r3ka-port) \ $(use_enable s08 s08-port) \ + $(use_enable sdbinutils) \ + $(use_enable sdcdb) \ + $(use_enable sdcpp) \ $(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) + $(use_enable tlcs90 tlcs90-port) \ + $(use_enable ucsim) \ + $(use_enable z180 z180-port) \ + $(use_enable z80 z80-port) \ + --docdir="${EPREFIX}/usr/share/doc/${PF}" \ + --without-ccache } src_install() { @@ -110,7 +127,8 @@ src_install() { if use doc ; then docs_compile || cd "${WORKDIR}"/doc - dohtml -r * + docinto html + doins -r * fi # a bunch of archives (*.a) are built & installed by gputils -- cgit v1.2.3-65-gdbad