summaryrefslogtreecommitdiff
path: root/dev-embedded
diff options
context:
space:
mode:
Diffstat (limited to 'dev-embedded')
-rw-r--r--dev-embedded/Manifest.gzbin9207 -> 9207 bytes
-rw-r--r--dev-embedded/gputils/Manifest3
-rw-r--r--dev-embedded/gputils/files/gputils-1.5.2-fix-invalid-operator.patch25
-rw-r--r--dev-embedded/gputils/gputils-1.5.2.ebuild47
-rw-r--r--dev-embedded/rpi-eeprom/Manifest2
-rw-r--r--dev-embedded/rpi-eeprom/rpi-eeprom-15.0_p1.ebuild2
-rw-r--r--dev-embedded/sdcc/Manifest8
-rw-r--r--dev-embedded/sdcc/files/sdcc-4.2.0-link-tinfo.patch24
-rw-r--r--dev-embedded/sdcc/metadata.xml17
-rw-r--r--dev-embedded/sdcc/sdcc-4.2.0.ebuild158
-rw-r--r--dev-embedded/sdcc/sdcc-9999.ebuild151
11 files changed, 352 insertions, 85 deletions
diff --git a/dev-embedded/Manifest.gz b/dev-embedded/Manifest.gz
index a72be2951086..ddab8dba86a9 100644
--- a/dev-embedded/Manifest.gz
+++ b/dev-embedded/Manifest.gz
Binary files differ
diff --git a/dev-embedded/gputils/Manifest b/dev-embedded/gputils/Manifest
index 79b6993afa5c..1d6910ee6cb7 100644
--- a/dev-embedded/gputils/Manifest
+++ b/dev-embedded/gputils/Manifest
@@ -1,4 +1,7 @@
AUX gputils-1.5.0-respect-flags.patch 4608 BLAKE2B 064b50907a9e403e5dedf1bdba947f235d2b66b62104494de2b1b3badcb02bd15f5df3c66dddec6580cacee46ed52bd12292bef8e98fa1da4f27cab25314a271 SHA512 ee63f6ec3a4f44bd10edc35cdb0c2c9f63d63cacd21a3dc5eb531776d0688f2865d1466fe143950fc8f3a878a7e7eb8f40eec343bfd6f77b7baa0eed90a8c7da
+AUX gputils-1.5.2-fix-invalid-operator.patch 908 BLAKE2B 56572734e417ce425542952b0a67aa13dbe0280e026d31b4a6775c7cb9eb8c8dcbb9b07e48719b45b5fa73baa6fba77b0c1b8384e5905a39d2d6c0320e22bdf0 SHA512 81152bb1138902907d496ebe303d06d3534382d0bc277a65fb38f53417cab04fe4f37caa373f281e16a8f8a7d4c522274ce3013e68dedcbe0880e0f09b8ff2de
DIST gputils-1.5.0.tar.gz 13155377 BLAKE2B 68f6ed2ba93f83eaae0573dde5fe8d3a67ec6cf4349832e5edcab70ec35db7d8210f28d46bf3272a7b7f9b52299b1289792b1ca2a75b952e7ea2fc263448c8b9 SHA512 fc74e92ddfe2c9c7ee272a712a411bf01790358c310afc9a802f503902675fa4717410354bf8791f64da45b63f0b1f562b55fdd7127d3989f4295ebe5f80b645
+DIST gputils-1.5.2.tar.bz2 7231711 BLAKE2B c52bd75ee408b2ff98f63679b18834e8e41b5aea4f2b4b659860acb8fa4dd3f922aa6307f99ae0fc024a4fc6f56d3be262cd873cf112ebac444d41eeca635d3b SHA512 43ed508d164152bf36e4f27b09656e6e3d58fc174806ad57d6415e6e2726a56381b1323be3acfc635f2a05babade695e9777b0db8b5f4b90da00b9d29e75eddc
EBUILD gputils-1.5.0.ebuild 809 BLAKE2B 55f69b85e0ad845bd1f2ab6bf16d9267e09a66bc7b258b137a541aa0f2096445a528275eb2e2f8eef5a73813f84756ec295209f5baaccd04b313acbd7860d787 SHA512 cc30ee6fe9c71e6a8e2a42f5faf91e385c6713e6833abc25115ab347bff09f64a2729516aa1a56f59d1a265bbfa89c27b7e75c5b88189d01b829f0fe3735ac90
+EBUILD gputils-1.5.2.ebuild 992 BLAKE2B c06150fceaf6b6ccc9f7087f0d8b314e5e74032d12d163f65ab45b47b00a7536a5ff6196fa2b9c436520701ea371407dbbad300613359731bcd1964489b5b567 SHA512 cf747f7892a4357805d9dcd04d16800b7c8a73ad935fb9fdf0d6b4c0765f34991c012958fe4962a10d47a4080a8f32169dbe1f20acf765247f51634830fec2d9
MISC metadata.xml 329 BLAKE2B 34b2d2759758806cc11494ac1ff80f04d307c4f825a7d4fac2c49cdc313f6cef2a73975c110a2ec2b5950d289812f14b3e7af29fb210c6362896054669813f95 SHA512 aa1a82ff6a8fc75841cce40006d7cb8a0a7e6b65b4135b31b69781820b437ac033f2fd32aa056557cf19bf107892fda0dc4e39f2bcaa95a96673c194f4dac776
diff --git a/dev-embedded/gputils/files/gputils-1.5.2-fix-invalid-operator.patch b/dev-embedded/gputils/files/gputils-1.5.2-fix-invalid-operator.patch
new file mode 100644
index 000000000000..ec2d8d425832
--- /dev/null
+++ b/dev-embedded/gputils/files/gputils-1.5.2-fix-invalid-operator.patch
@@ -0,0 +1,25 @@
+Fix invalid operator in dash
+
+Some shells, like dash, don't support [ x == x ], reporting invalid syntax,
+and silently failing.
+
+--- gputils-1.5.2.orig/doc/html-help/Makefile.am
++++ gputils-1.5.2/doc/html-help/Makefile.am
+@@ -7,7 +7,7 @@
+ pkgdatadir = @GPUTILS_HTMLDOC_PATH@
+
+ html-doc:
+- if [ "$(ENABLE_HTML_DOC)" == "yes" ]; then \
++ if [ "$(ENABLE_HTML_DOC)" = "yes" ]; then \
+ if [ ! -e $(DEFAULT_MPLABX_PATH)/mpasmx/8bit_device.info ]; then \
+ @echo "Can't find mplabx installation; HTML documentation will not be built."; \
+ else \
+@@ -18,7 +18,7 @@
+ install: install-html
+
+ install-html:
+- if [ "$(ENABLE_HTML_DOC)" == "yes" ]; then \
++ if [ "$(ENABLE_HTML_DOC)" = "yes" ]; then \
+ if [ -n "$$(ls *.html 2>/dev/null)" -a -n "$$(ls *.css 2>/dev/null)" ]; then \
+ $(install_sh) -d "$(DESTDIR)$(pkgdatadir)"; \
+ $(install_sh) -c -m 644 *.css *.html "$(DESTDIR)$(pkgdatadir)"; \
diff --git a/dev-embedded/gputils/gputils-1.5.2.ebuild b/dev-embedded/gputils/gputils-1.5.2.ebuild
new file mode 100644
index 000000000000..11fb1036b9e4
--- /dev/null
+++ b/dev-embedded/gputils/gputils-1.5.2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs flag-o-matic
+
+DESCRIPTION="Tools including assembler, linker and librarian for PIC microcontrollers"
+HOMEPAGE="https://gputils.sourceforge.io"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="doc"
+
+PATCHES=(
+ "${FILESDIR}"/gputils-1.5.2-fix-invalid-operator.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # bug #369291, bug #818802
+ tc-ld-disable-gold
+
+ # Their configure script tries to do funky things with default
+ # compiler selection. Force our own defaults instead.
+ tc-export CC
+
+ # LTO currently causes various segfaults in dev-embedded/sdcc
+ # sys-devel/gcc-11.3.0 '-O3 -flto'
+ filter-flags '-flto*'
+
+ local myeconfargs=(
+ $(use_enable doc html-doc)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ use doc && dodoc doc/gputils.pdf
+}
diff --git a/dev-embedded/rpi-eeprom/Manifest b/dev-embedded/rpi-eeprom/Manifest
index d6523c5a30d9..4b6c43d8d1d5 100644
--- a/dev-embedded/rpi-eeprom/Manifest
+++ b/dev-embedded/rpi-eeprom/Manifest
@@ -7,5 +7,5 @@ DIST rpi-eeprom_15.0-1.debian.tar.xz 10720 BLAKE2B c8915ebf859ebb1ea3a48af807753
DIST rpi-eeprom_15.0.orig.tar.gz 29800286 BLAKE2B ceda9bdc412a32443d0cb3fa444d1091f0f53215a5be6c546384a11f7fa28592d43bdf23f04a33925601b5e76e510b054b214d262904f03aafa2b959fcb5fc1e SHA512 eddea0c8057e13991e3a6493146c8785607162342321d48048ba5760ecc7f1c6687a03edffcd0be4a5549c333cdbb20e88d407c4212334e18178fb86cc6cd0a4
EBUILD rpi-eeprom-13.19_p1.ebuild 3027 BLAKE2B 323eab5c94ec1fac5fec8d406fe139591ce84efec369a767e4273e8ca0e50c86380761647e532289f22532cf2c5475768930271dbeb43ad415838ce2046729cc SHA512 5fd6dcd2b4c77205b5eaf4f09a7b15e04e763cbbe8626a6ac17e963a25c488aa3278c01ac608f9562ccd7d86102f3b3f10e0dab72224b3b8da047593ed65144b
EBUILD rpi-eeprom-13.3_p1-r1.ebuild 3026 BLAKE2B 72c61ab593f46f2487572c555f0a11c1041e1e3b4b757a6720f38c4a4f82702e0b910062fc64cf41ff54183e735c05b98e72d3ea414d44fc6f752470a0eb94c1 SHA512 12f1be8fc9dfeee1c42b9334c3a420d02e1ad1e416f701f032f75bc85e07015dce037c09e254a391615b9b57d17ee2b7b8d72bbebc648049185a319303975379
-EBUILD rpi-eeprom-15.0_p1.ebuild 3027 BLAKE2B 323eab5c94ec1fac5fec8d406fe139591ce84efec369a767e4273e8ca0e50c86380761647e532289f22532cf2c5475768930271dbeb43ad415838ce2046729cc SHA512 5fd6dcd2b4c77205b5eaf4f09a7b15e04e763cbbe8626a6ac17e963a25c488aa3278c01ac608f9562ccd7d86102f3b3f10e0dab72224b3b8da047593ed65144b
+EBUILD rpi-eeprom-15.0_p1.ebuild 3026 BLAKE2B 0a13aead8a68667d57fb7e1c8c6f56e295bb8af5e9f5192d5c48357ce04eedac1e1436c7152ed97dcebbf63e9aa52ee3c3de25711bdbcdd2788d2280457198aa SHA512 ea55d6f16ba4c41fc911f075236e59bac65080485d4cb39556843fb9f6f928444697b02ce4be5e75b125f69bcf802c1d33ed0e1f49118f1c611fa491ac089c93
MISC metadata.xml 596 BLAKE2B 075812117456e8457ad55e184a322ff86f8bc18a8470fcd52d63ec20e88c81db064ff5f6b023e7400d51d603886cb154a0a1485613cb326b8897f99c5c06c330 SHA512 9ebe09182734a60c3ed3a9e30b2cf9b9433f546e1f4cfc9d75b48813e61dc875b71593300e6bc628650cfbae49fc722713cfc88c8e0a387efe0dd6cca991fa2f
diff --git a/dev-embedded/rpi-eeprom/rpi-eeprom-15.0_p1.ebuild b/dev-embedded/rpi-eeprom/rpi-eeprom-15.0_p1.ebuild
index aa705d4d9dbc..528bfc276e3a 100644
--- a/dev-embedded/rpi-eeprom/rpi-eeprom-15.0_p1.ebuild
+++ b/dev-embedded/rpi-eeprom/rpi-eeprom-15.0_p1.ebuild
@@ -17,7 +17,7 @@ S="${WORKDIR}"
LICENSE="BSD rpi-eeprom"
SLOT="0"
-KEYWORDS="~arm ~arm64"
+KEYWORDS="~arm arm64"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
BDEPEND="sys-apps/help2man"
diff --git a/dev-embedded/sdcc/Manifest b/dev-embedded/sdcc/Manifest
index fbab09d7eeff..672a94c903ce 100644
--- a/dev-embedded/sdcc/Manifest
+++ b/dev-embedded/sdcc/Manifest
@@ -1,12 +1,16 @@
AUX sdcc-3.8.0-override-override.patch 1078 BLAKE2B f1e1e135b9ee972e8f7f6a08af736de227c8534d181f160b00f6eecef0e7f4366e39fc5a8f6034bfffa64531423d28377c778055d6be8671527971ce183ebab5 SHA512 fbc13832bea859409f2ae525a82927424dd474db9c6077d1311b9775d0a4a8728d79db7465c928271faa54221b53982ee539537e4fe8a70209c0f453b95105aa
+AUX sdcc-4.2.0-link-tinfo.patch 916 BLAKE2B 7930cf615dbf0be6f44581e0e59d5c8ed59d5ae204153b2b08a2bfb6af8ef69b01fa1584c95dc194881d843edad8bc39dc85ca8b597e120828e49ae30b2c6c74 SHA512 b4ab00ed63be3dad5c0250ce8cd3301830ac2a65f4b8d9034151e285b93057357249a19b9d521f1cfd62173d97baa37a69c7e56d1b0423f9edc2e84b368fcad5
DIST sdcc-doc-3.8.0.tar.bz2 965465 BLAKE2B 541ed3ba4d3a23dd3fcea248de84d887fdcd8ddaf3ed0f9f810bf8cb9fcb5b10eb2cd96099d83c5a0fda240cdd3d11fd247e576a67a32047a4f7a705b8401637 SHA512 63319b7c344b320600e6a7c158d1a5e69abe595dfd6b8d32a95f15678c3bc2f6fe72c959516c4b1f812deb089854c6a51c31438ef6a6c7f9fcb4d419d8cce3cf
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-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
EBUILD sdcc-3.8.0-r1.ebuild 3186 BLAKE2B 4a0842eb50c5f77947fef50a36482e47e76c25b4994833f5c14e42018c7b5ea3ab77768df15d49886c1e9250ac19e630a95d78a6241cd87e02bbbdafb4367292 SHA512 147127a0e997cb3ce1a53b0cd0990992d6837016dcde7368bf44a2fd35b6647b43224dbcd309660e454e6bcd26921d41d642530e616e5bc2fec4a0eeef8f8d28
EBUILD sdcc-4.0.0.ebuild 3469 BLAKE2B 04dcac4dba5a07ad9cdddf14e7d313a27f4b28db7903364af17e1cfdf1ef704cb03ac0d2eba980fc97791f3c0b5ce355fa36cd60e0adae45be41d35f94de790d SHA512 65402da6ea8cbff4101109cb9ee53319f770b0603572488ff7c71e60812ca7a2c7868e19275217738fea161d0babb6c44ace3483276236671ff8d710ea580121
EBUILD sdcc-4.1.0.ebuild 3625 BLAKE2B 983887350f4251ecf1f6d327fc7630e027804439763ab94e765064356f6edf2274ac2f2de363b57fe3a1cb553bcdc55dfcb3f1c6ed49f6355a9c7bbaa4c00811 SHA512 6870daa87d27afa8f196d96e76e2a81eee2137c523389f1955b4b623750f3372c430cb24dc66adb76bf482b14219a373b9c43441230e45306e2a047243e8b2bd
-EBUILD sdcc-9999.ebuild 3625 BLAKE2B 983887350f4251ecf1f6d327fc7630e027804439763ab94e765064356f6edf2274ac2f2de363b57fe3a1cb553bcdc55dfcb3f1c6ed49f6355a9c7bbaa4c00811 SHA512 6870daa87d27afa8f196d96e76e2a81eee2137c523389f1955b4b623750f3372c430cb24dc66adb76bf482b14219a373b9c43441230e45306e2a047243e8b2bd
-MISC metadata.xml 2702 BLAKE2B 5d7eff47a0c5a01e9653d127679cfac908d07a95f720febd6ffece94e0877c43023737ab286dc5f1361a51b1c85eb4e0413757c3d76f28e70359e8469333321c SHA512 1e01dbeefb8ba8565b89807cf471e3fbc9f167d2411d87908b6813cd7aa6da39d2a6357a72fe69fb9c41f80e9c4cc37e8c42fa26ccdd02157184a82ab3d6be63
+EBUILD sdcc-4.2.0.ebuild 4003 BLAKE2B 073c89d4206df22ea4be8893d07249d742e6c217a0f1af358abd659cd0a0578af3e6bf73dc9cbc1fc7717f2ea26128004104fb0ca500dafb7b992e2afb13a617 SHA512 4b0a8e632a72ddcc64642d7f22541bddc0b41627ae78b3316365e6b0ba8e243ed308fa4559ac517f4d56600f38ba71dd08f578f966aa4421808c7996218b6dc6
+EBUILD sdcc-9999.ebuild 4003 BLAKE2B 073c89d4206df22ea4be8893d07249d742e6c217a0f1af358abd659cd0a0578af3e6bf73dc9cbc1fc7717f2ea26128004104fb0ca500dafb7b992e2afb13a617 SHA512 4b0a8e632a72ddcc64642d7f22541bddc0b41627ae78b3316365e6b0ba8e243ed308fa4559ac517f4d56600f38ba71dd08f578f966aa4421808c7996218b6dc6
+MISC metadata.xml 3045 BLAKE2B 02b5834889994a4b1426244e087a7593b29de3ac0c29004492e4f466c76980fd448c15258d0bd29cddfd691a5f78ba653fea1bc1f42ad4d5b31afb83ad403b3e SHA512 55ecbf5774eb8b58304d97db64875984d4e016e9ba0476d4a5df94dca28baed1bd4eeead7e54885a33d9b9bd1ebbcb47846ac99f62fca3f11adb03d68880da47
diff --git a/dev-embedded/sdcc/files/sdcc-4.2.0-link-tinfo.patch b/dev-embedded/sdcc/files/sdcc-4.2.0-link-tinfo.patch
new file mode 100644
index 000000000000..a8f4ae7565bc
--- /dev/null
+++ b/dev-embedded/sdcc/files/sdcc-4.2.0-link-tinfo.patch
@@ -0,0 +1,24 @@
+Link -ltinfo for ucsim
+
+/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/dev-embedded/sdcc-4.2.0/temp/cc3R2ckl.ltrans0.ltrans.o: undefined reference to symbol 'nodelay'
+/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /lib64/libtinfo.so.6: error adding symbols: DSO missing from command line
+
+--- sdcc-4.2.0.orig/sim/ucsim/configure.ac
++++ sdcc-4.2.0/sim/ucsim/configure.ac
+@@ -405,14 +405,14 @@
+ if test $curses_ok != yes; then
+ AC_CHECK_LIB(curses,nl,
+ curses_ok="yes"
+- CURSES_LIBS="${CURSES_LIBS} -lcurses",
++ CURSES_LIBS="${CURSES_LIBS} -lcurses -ltinfo",
+ curses_ok="no")
+ fi
+
+ if test $curses_ok != yes; then
+ AC_CHECK_LIB(ncurses,nl,
+ curses_ok="yes"
+- CURSES_LIBS="${CURSES_LIBS} -lncurses",
++ CURSES_LIBS="${CURSES_LIBS} -lncurses -ltinfo",
+ curses_ok="no")
+ fi
+ fi
diff --git a/dev-embedded/sdcc/metadata.xml b/dev-embedded/sdcc/metadata.xml
index 573753d73430..c4bc3f3380ae 100644
--- a/dev-embedded/sdcc/metadata.xml
+++ b/dev-embedded/sdcc/metadata.xml
@@ -6,12 +6,14 @@
<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.
+SDCC is a retargettable, optimizing Standard C (ANSI C89, ISO C99, ISO C11)
+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,
+SM83, Rabbit 2000, 2000A, 3000A, TLCS-90), Padauk (pdk14, pdk15) and
+STMicroelectronics STM8. Work is in progress on supporting the Padauk pdk13 and
+MOS 6502 targets; Microchip PIC16 and PIC18 targets are unmaintained. SDCC can
+be retargeted for other microprocessors.
</longdescription>
<upstream>
<remote-id type="sourceforge">sdcc</remote-id>
@@ -35,6 +37,7 @@ microprocessors.
<flag name="r2ka">Add support for Rabbit 2000A</flag>
<flag name="r3ka">Add support for Rabbit 3000A</flag>
<flag name="gbz80">Add support for Gameboy gbz80</flag>
+ <flag name="sm83">Add support for Gameboy SM83</flag>
<flag name="tlcs90">Add support for TLCS-90</flag>
<flag name="ez80-z80">Add support for EZ80-Z80</flag>
<flag name="z80n">Add support for Zilog Z80N</flag>
@@ -49,5 +52,7 @@ microprocessors.
<flag name="pdk14">Add support for PDK14</flag>
<flag name="pdk15">Add support for PDK15</flag>
<flag name="pdk16">Add support for PDK16</flag>
+ <flag name="mos6502">Add support for MOS 6502</flag>
+ <flag name="mos65c02">Add support for MOS 65C02</flag>
</use>
</pkgmetadata>
diff --git a/dev-embedded/sdcc/sdcc-4.2.0.ebuild b/dev-embedded/sdcc/sdcc-4.2.0.ebuild
new file mode 100644
index 000000000000..dc4655403f3d
--- /dev/null
+++ b/dev-embedded/sdcc/sdcc-4.2.0.ebuild
@@ -0,0 +1,158 @@
+# 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-3.8.0-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 . {} +
+
+ 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
+}
diff --git a/dev-embedded/sdcc/sdcc-9999.ebuild b/dev-embedded/sdcc/sdcc-9999.ebuild
index 9b5bf53b05db..dc4655403f3d 100644
--- a/dev-embedded/sdcc/sdcc-9999.ebuild
+++ b/dev-embedded/sdcc/sdcc-9999.ebuild
@@ -1,25 +1,24 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit autotools toolchain-funcs
+inherit autotools
if [[ ${PV} == "9999" ]] ; then
ESVN_REPO_URI="https://svn.code.sf.net/p/sdcc/code/trunk/sdcc"
inherit subversion
else
SRC_URI="
- mirror://sourceforge/sdcc/${PN}-src-${PV}.tar.bz2
- doc? ( mirror://sourceforge/sdcc/${PN}-doc-${PV}.tar.bz2 )
+ 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 )
"
- S="${WORKDIR}/sdcc"
KEYWORDS="~amd64 ~x86"
fi
DESCRIPTION="Small device C compiler (for various microprocessors)"
-HOMEPAGE="http://sdcc.sourceforge.net/"
+HOMEPAGE="https://sdcc.sourceforge.net/"
LICENSE="
GPL-2 ZLIB
@@ -29,11 +28,10 @@ LICENSE="
SLOT="0"
# in order of configure.ac's AC_DO_PORT stanzas
SDCC_PORTS="
- avr
mcs51
z80 z180
r2k r2ka r3ka
- gbz80
+ sm83
tlcs90
ez80-z80
z80n
@@ -43,47 +41,45 @@ SDCC_PORTS="
s08
stm8
pdk13 pdk14 pdk15 pdk16
+ mos6502 mos65c02
"
IUSE="
${SDCC_PORTS}
- +boehm-gc device-lib doc non-free packihx +sdbinutils sdcdb +sdcpp ucsim
+ +boehm-gc device-lib doc non-free packihx sdcdb +sdcpp ucsim
"
-for port in ${SDCC_PORTS}; do
-REQUIRED_USE="${REQUIRED_USE}
- ${port}? ( sdbinutils )
-"
-done
-REQUIRED_USE="${REQUIRED_USE}
- || ( ${SDCC_PORTS} )
-"
-
-RESTRICT="strip"
-
RDEPEND="
dev-libs/boost:=
- sys-libs/ncurses:=
- sys-libs/readline:0=
+ sys-libs/zlib:=
pic14? ( >=dev-embedded/gputils-0.13.7 )
pic16? ( >=dev-embedded/gputils-0.13.7 )
boehm-gc? ( dev-libs/boehm-gc:= )
- !dev-embedded/sdcc-svn
+ sdcdb? ( sys-libs/readline:0= )
+ ucsim? ( sys-libs/ncurses:= )
"
DEPEND="
${RDEPEND}
dev-util/gperf
"
PATCHES=(
- "${FILESDIR}"/${PN}-3.8.0-override-override.patch
+ "${FILESDIR}"/sdcc-3.8.0-override-override.patch
+ "${FILESDIR}"/sdcc-4.2.0-link-tinfo.patch
)
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
+ 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 . {} +
@@ -98,60 +94,65 @@ src_prepare() {
}
src_configure() {
- # sdbinutils subdir doesn't pass down --docdir properly, so need to
- # expand $(datarootdir) ourselves.
- econf \
- ac_cv_prog_AR="$(tc-getAR)" \
- ac_cv_prog_AS="$(tc-getAS)" \
- ac_cv_prog_STRIP=true \
- $(use_enable boehm-gc libgc) \
- $(use_enable device-lib) \
- $(use_enable non-free) \
- $(use_enable packihx) \
- $(use_enable sdbinutils) \
- $(use_enable sdcdb) \
- $(use_enable sdcpp) \
- $(use_enable ucsim) \
- \
- $(use_enable avr avr-port) \
- $(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 gbz80 gbz80-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) \
- \
- --disable-doc \
+ 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 "${D}" -name .deps -exec rm -rf {} + || die
+ find "${ED}" -type d -name .deps -exec rm -vr {} + || die
if use doc && [[ ${PV} != "9999" ]]; then
cd "${WORKDIR}"/doc
dodoc -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.
- dostrip -x /usr/bin
}