commit:     46451db0c880be7ae852468c9855dca37abff61d
Author:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 26 16:46:51 2023 +0000
Commit:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
CommitDate: Sat Aug 26 16:47:46 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=46451db0

dev-embedded/sdcc: add 4.3.0

Signed-off-by: Viorel Munteanu <ceamac <AT> gentoo.org>

 dev-embedded/sdcc/Manifest          |   2 +
 dev-embedded/sdcc/sdcc-4.3.0.ebuild | 160 ++++++++++++++++++++++++++++++++++++
 2 files changed, 162 insertions(+)

diff --git a/dev-embedded/sdcc/Manifest b/dev-embedded/sdcc/Manifest
index 772ac6c967a3..67c7abbe0abc 100644
--- a/dev-embedded/sdcc/Manifest
+++ b/dev-embedded/sdcc/Manifest
@@ -2,7 +2,9 @@ DIST sdcc-doc-3.8.0.tar.bz2 965465 BLAKE2B 
541ed3ba4d3a23dd3fcea248de84d887fdcd8
 DIST sdcc-doc-4.0.0.tar.bz2 980999 BLAKE2B 
6f9478c095e6b4fec27c6ab7a10a8564ae46d754709848b3a7a26a7a2dfecd3833ce3cfe7a41f9033b5a34a1b6e962090d91c9688294dd347e1c98658761c019
 SHA512 
83bed77b46ad2f028725a3ffe6090d71185f73d4e99c241e7ebd1c509ba1be1911f4b9130c344fa4eb928f48122179b6b71e9d5a27d9f18ff74017c61fae77ff
 DIST sdcc-doc-4.1.0.tar.bz2 991207 BLAKE2B 
fd1ab82c8cc65031a8231bc4aba1e0562ed4b3178612a4d915568cb5600ba9159d89f905e261e860da9e0f4aa5a24fbd7ab1364f2f9f7b3078bcf3aa01d71ba5
 SHA512 
01686e590d0168108099d3c6c9bdb0885a25abccc9b6c87739eafec7103054424da1a5960a8d4566462dca9bf00cdd8b103ab6026523833d9aaa4d4bcdc5b620
 DIST sdcc-doc-4.2.0.tar.bz2 1244684 BLAKE2B 
d6ee4001ee0d2dde61dd1e8567499909fa6373eac93f3731fa1d6628f6e488742cc0798b1ebb908769d4cc52e091d4d685b3891d7c15a519294240643e528b02
 SHA512 
8494de35991e9a38ca138545b7c2396d353b21d67a4f321afa9187a5c117c6ce7d3c0850e95c981ccc7a3c8fa1e470f5e2351b84ccbe1634b1f8bf085cd45f76
+DIST sdcc-doc-4.3.0.tar.bz2 1271916 BLAKE2B 
a8c8018990ff2ae5504253f38a9de045b8a5227a60d76604394c286cb55d11b24f3ab97ed0a11d434c0b1ccb7e5340c33872c5ff5e677130e395b396a389f532
 SHA512 
088dce843c9e06380a8058b5253051e2a2442655be38435f15ed6754291e75d3f6e2b1a416e4f90dd865b2d89a9e1c59a2b9ee1422096132f49f038c527bcd19
 DIST sdcc-src-3.8.0.tar.bz2 18987862 BLAKE2B 
7e8ddea41ae02842bb1376c53364c386a0fb47a1acdcc97cc72f002e78a2854fc43adfd0177f94dd1173dbd81052c390c5b2fef302c73f0b830ec83eea70869c
 SHA512 
38145ea3e9560eb8894c54bd7213da67a20163739c944c3247fa8fa456dfedaaa469746169d3e114affcab48b73db4cd8c9a0a367e7368f2471de64761a3e04a
 DIST sdcc-src-4.0.0.tar.bz2 19204540 BLAKE2B 
2192a7dc7418826440209dd8c7a73fd5ced491b799975b953368daeabb429327a6c518a1212a2fd49c34c6e5ab7d84f240cbf6ff8b3779e2d38f5ad81499ee71
 SHA512 
41a92711a9278261879caec1a01425104b7c75346b3c6ad9617cab025309c9b38f79eea2d04122f5ae6ce273fcd61fbde8a0d23756313a4593394230b51a1d4c
 DIST sdcc-src-4.1.0.tar.bz2 19400609 BLAKE2B 
9754d70026af595a5456f0d7c1b375df2716c6400ca59affcadbfd3588f4d51c45a3d52c235d6efc9b7512b5f94f023d8d2964cc0365cdff4586edf71fc51af1
 SHA512 
a9c3fee427cbc66b56a286c8d66b2922f79c9dfb42d2ed2843b2e192a6b314a04de4c82f1083d8625b49756b5f1d99f8fb706402b5f1284110760ec346303779
 DIST sdcc-src-4.2.0.tar.bz2 19662367 BLAKE2B 
a11d6b3af2552e0508bb1d0644d3e6db385634237fc93079716a5e3aa710bac25fd888e10dce76e6891ebe524f4d81d8318492001d8ce9ade0ef16d114adf14b
 SHA512 
7ca4037d526b5fed7bbca4433835d0299ced7315dd69c1ec66cff873ec7caa41b69927363bf5850e2ad4f27ef6286e57f9ccd40bb6792308be6c3073c5238cba
+DIST sdcc-src-4.3.0.tar.bz2 19931677 BLAKE2B 
94fc7ade96801ea6c9eb89d32b99554d27ad3d926d2d5889e91334b11d4658ccc160606cd2b1c6f3bb21bd25ea3df1dca274f40553aa8a52a73ac07764b3eaad
 SHA512 
dabe276a0d2872bee2cdc14433f31a1e94153f9dce5a11add916ede2e76bfacf763be8e6d8134dc3aefdae29e38d3a7354626755e81e0f6db0e60c1798476f21

diff --git a/dev-embedded/sdcc/sdcc-4.3.0.ebuild 
b/dev-embedded/sdcc/sdcc-4.3.0.ebuild
new file mode 100644
index 000000000000..d8acd784b586
--- /dev/null
+++ b/dev-embedded/sdcc/sdcc-4.3.0.ebuild
@@ -0,0 +1,160 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+if [[ ${PV} == "9999" ]] ; then
+       ESVN_REPO_URI="https://svn.code.sf.net/p/sdcc/code/trunk/sdcc";
+       inherit subversion
+else
+       SRC_URI="
+               
https://downloads.sourceforge.net/project/${PN}/sdcc/${PV}/${PN}-src-${PV}.tar.bz2
+               doc? ( 
https://downloads.sourceforge.net/project/${PN}/sdcc-doc/${PV}/${PN}-doc-${PV}.tar.bz2
 )
+       "
+
+       KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Small device C compiler (for various microprocessors)"
+HOMEPAGE="https://sdcc.sourceforge.net/";
+
+LICENSE="
+       GPL-2 ZLIB
+       non-free? ( MicroChip-SDCC )
+       packihx? ( public-domain )
+"
+SLOT="0"
+# in order of configure.ac's AC_DO_PORT stanzas
+SDCC_PORTS="
+       mcs51
+       z80 z180
+       r2k r2ka r3ka
+       sm83
+       tlcs90
+       ez80-z80
+       z80n
+       ds390 ds400
+       pic14 pic16
+       hc08
+       s08
+       stm8
+       pdk13 pdk14 pdk15 pdk16
+       mos6502 mos65c02
+"
+IUSE="
+       ${SDCC_PORTS}
+       +boehm-gc device-lib doc non-free packihx sdcdb +sdcpp ucsim
+"
+
+RDEPEND="
+       dev-libs/boost:=
+       sys-libs/zlib:=
+       pic14? ( >=dev-embedded/gputils-0.13.7 )
+       pic16? ( >=dev-embedded/gputils-0.13.7 )
+       boehm-gc? ( dev-libs/boehm-gc:= )
+       sdcdb? ( sys-libs/readline:0= )
+       ucsim? ( sys-libs/ncurses:= )
+"
+DEPEND="
+       ${RDEPEND}
+       dev-util/gperf
+"
+PATCHES=(
+       "${FILESDIR}"/sdcc-4.3.2-override-override.patch
+       "${FILESDIR}"/sdcc-4.2.0-link-tinfo.patch
+)
+
+src_prepare() {
+       # Fix conflicting variable names between Gentoo and sdcc
+       find device/lib/pic{14,16} device/non-free/lib/pic{14,16} \( \
+                       -name 'configure.ac' -o -name 'Makefile.*' \) \
+               -exec sed -i 's/\<ARCH\>/SDCC_&/g' {} + || die
+       find device -name 'Makefile.in' \
+               -exec sed -i 's/\<PORTDIR\>/SDCC_&/g' {} + || die
+       # Possible alternative: Patch the following files to not pick up the
+       # variables from the environment:
+       # - lib/Makefile.in (PORTDIR ifndef/endif)
+       # - device/non-free/lib/pic14/Makefile.common.in (ARCH ?= 877)
+       # - device/non-free/lib/pic16/configure.ac (${ARCH:-18f452})
+       # - device/lib/pic14/configure.ac (${ARCH:-16f877})
+       # - device/lib/pic16/configure.ac (${ARCH:-18f452})
+
+       # Make sure timestamps don't get messed up.
+       [[ ${PV} == "9999" ]] && find "${S}" -type f -exec touch -r . {} +
+
+       mkdir -p support/sdbinutils/bfd/doc || die
+
+       default
+       eautoreconf
+
+       # Avoid 'bfd.info' rebuild with 'makeinfo': bug #705424
+       # Build dependencies are: 
eautoreconf->Makefile.in->bfdver.texi->bfd.info
+       touch support/sdbinutils/bfd/doc/bfdver.texi || die
+       touch support/sdbinutils/bfd/doc/bfd.info || die
+}
+
+src_configure() {
+       local myeconfargs=(
+               ac_cv_prog_STRIP=true
+               --without-ccache
+               --enable-sdbinutils
+
+               $(use_enable ucsim)
+               $(use_enable device-lib)
+               $(use_enable packihx)
+               $(use_enable sdcpp)
+               $(use_enable sdcdb)
+               $(use_enable non-free)
+               $(use_enable boehm-gc libgc)
+
+               $(use_enable mcs51 mcs51-port)
+               $(use_enable z80 z80-port)
+               $(use_enable z180 z180-port)
+               $(use_enable r2k r2k-port)
+               $(use_enable r2ka r2ka-port)
+               $(use_enable r3ka r3ka-port)
+               $(use_enable sm83 sm83-port)
+               $(use_enable tlcs90 tlcs90-port)
+               $(use_enable ez80-z80 ez80_z80-port)
+               $(use_enable z80n z80n-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 pdk13 pdk13-port)
+               $(use_enable pdk14 pdk14-port)
+               $(use_enable pdk15 pdk15-port)
+               $(use_enable pdk16 pdk16-port)
+               $(use_enable mos6502 mos6502-port)
+               $(use_enable mos65c02 mos65c02-port)
+       )
+       econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+       default
+
+       # Sanity check, as gputils errors/segfaults don't cause make to stop
+       local libs=()
+       use pic14 && libs+=( device/lib/build/pic14/libsdcc.lib )
+       use pic16 && libs+=( device/lib/build/pic16/libsdcc.lib )
+       for lib in "${libs[@]}"; do
+               [[ -f "${lib}" ]] || die "Failed to build ${lib}"
+       done
+}
+
+src_install() {
+       default
+       dodoc doc/*.txt
+       find "${ED}" -type d -name .deps -exec rm -vr {} + || die
+
+       if use doc && [[ ${PV} != "9999" ]]; then
+               cd "${WORKDIR}"/doc
+               dodoc -r *
+       fi
+}

Reply via email to