From 9d63f59f6a91e91677cf32204381c38ea404efce Mon Sep 17 00:00:00 2001 From: layman Date: Wed, 8 Jul 2020 23:40:10 +0200 Subject: [PATCH] Fixed SDCC ebuild --- dev-embedded/sdcc/Manifest | 12 +- .../files/sdcc-3.8.0-override-override.patch | 30 ++++ dev-embedded/sdcc/sdcc-4.0.0.ebuild | 153 ++++++++++++++++++ 3 files changed, 191 insertions(+), 4 deletions(-) create mode 100644 dev-embedded/sdcc/files/sdcc-3.8.0-override-override.patch create mode 100644 dev-embedded/sdcc/sdcc-4.0.0.ebuild diff --git a/dev-embedded/sdcc/Manifest b/dev-embedded/sdcc/Manifest index 0fea2a8..e3a342b 100644 --- a/dev-embedded/sdcc/Manifest +++ b/dev-embedded/sdcc/Manifest @@ -1,4 +1,8 @@ -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 3306 SHA256 7cef66b9fc4140688e21275a08e3572183c476d7a3584ab70ff06e200b14f560 SHA512 f770eda02c29b97b536114ee672c8d8cf47c286bd6f5c5f1bb05cda61d57afda8724938228696e04e352e472ebf661857d9ad714b31c9c8c997f37f0fefa8564 WHIRLPOOL 465d14bb49412eae4dc1847e1e04ec897338bd5dc0881fb623d48b250f6107bfaab012dfd10a6a5b5b3963bdf3c43a9a267c139afa11606f48ab987de10c4f29 -MISC metadata.xml 2212 SHA256 118d2b8abd35212858bb33d5edab63c3bb6089d9973bef6ea5f91c8e2189f883 SHA512 4af2667ae3006548904e9e13894a49c277744d6876e0a99c99e8ea2e89c9e3fc277cf851ae0856b3c3b64f41ef7fd7c255f1bb4f9f42de8917aad7c59e25a0f0 WHIRLPOOL 820abadc5f42bbcfca65275575e86e5b5aa8bbab92abf098f1d13d14bf1a7a638aecdd3447db32398b117ec2a4703ca97449d32c835e05554ad5ba9d0e60c87a +AUX sdcc-3.8.0-override-override.patch 1078 BLAKE2B f1e1e135b9ee972e8f7f6a08af736de227c8534d181f160b00f6eecef0e7f4366e39fc5a8f6034bfffa64531423d28377c778055d6be8671527971ce183ebab5 SHA512 fbc13832bea859409f2ae525a82927424dd474db9c6077d1311b9775d0a4a8728d79db7465c928271faa54221b53982ee539537e4fe8a70209c0f453b95105aa +DIST sdcc-doc-3.6.0.tar.bz2 1016273 BLAKE2B e2f0f90cfe47f08466c859ba63efe85a5047139c0cc4394148c0d78b84d2ee9ad64611279bad8bd92fda9dd67d22a65bd10fadc4142c2817510f075c26d0c55b SHA512 3fce1508e10321f00d209fc25c716a08726c3fd5c714c727b8db458da81450463a67f40079f310c1e4236dda7bb8873223f1b77414a8e1a3df19b6ed52baddbd +DIST sdcc-doc-4.0.0.tar.bz2 980999 BLAKE2B 6f9478c095e6b4fec27c6ab7a10a8564ae46d754709848b3a7a26a7a2dfecd3833ce3cfe7a41f9033b5a34a1b6e962090d91c9688294dd347e1c98658761c019 SHA512 83bed77b46ad2f028725a3ffe6090d71185f73d4e99c241e7ebd1c509ba1be1911f4b9130c344fa4eb928f48122179b6b71e9d5a27d9f18ff74017c61fae77ff +DIST sdcc-src-3.6.0.tar.bz2 17993788 BLAKE2B 2a03e5f8d270206812c9f66334bf1c20dd8c5824e16db1bf0b0e31c6b8d0d7d6f582d942f61e00320442ed4f48577fc404e1917fc5b2733bba86de246d3e9743 SHA512 fd05cf13f7acf0b71a35a99f99dc6ef8abcb4f41fbe1ab0cf25348842b57317217410b4a521ea1a70db93d8e7e4e6dac272ec14d893cdbcfa584ee963f42ad2f +DIST sdcc-src-4.0.0.tar.bz2 19204540 BLAKE2B 2192a7dc7418826440209dd8c7a73fd5ced491b799975b953368daeabb429327a6c518a1212a2fd49c34c6e5ab7d84f240cbf6ff8b3779e2d38f5ad81499ee71 SHA512 41a92711a9278261879caec1a01425104b7c75346b3c6ad9617cab025309c9b38f79eea2d04122f5ae6ce273fcd61fbde8a0d23756313a4593394230b51a1d4c +EBUILD sdcc-3.6.0.ebuild 3306 BLAKE2B 625516717c5a0347d31cc8abf2e23287d922f15e68a994e3e768ccb4b1324e9c4aa8a90fc9ba0a89e65637a5668e45ab33af8072136e92f6b0ebe027183bc352 SHA512 f770eda02c29b97b536114ee672c8d8cf47c286bd6f5c5f1bb05cda61d57afda8724938228696e04e352e472ebf661857d9ad714b31c9c8c997f37f0fefa8564 +EBUILD sdcc-4.0.0.ebuild 3580 BLAKE2B 494f05f52bc919568fb10a16faece0c75a0f22b5eca711c9e682c59cf2225b4cb10e4d0c4f3f05cff3e9406d056ed74b1c0ff3c33234f812abe0c3f2865ddb28 SHA512 1ed1a7dc959cddb80b73b697754c3f4afbf02ed7b34c3ebb8501d4768b021fed70e4995820efa897307e14c1b5fd544b0c52692f51a55c1d44ed6b787160ed37 +MISC metadata.xml 2212 BLAKE2B 23e83037b2a6e932760e7f0eafdd34230c035dd5a5833335db0ea9c4c1e04e62e69a920e2c2f3492d45ddc014c76450ad05b4d7794d66cca261e294ac20555a0 SHA512 4af2667ae3006548904e9e13894a49c277744d6876e0a99c99e8ea2e89c9e3fc277cf851ae0856b3c3b64f41ef7fd7c255f1bb4f9f42de8917aad7c59e25a0f0 diff --git a/dev-embedded/sdcc/files/sdcc-3.8.0-override-override.patch b/dev-embedded/sdcc/files/sdcc-3.8.0-override-override.patch new file mode 100644 index 0000000..f6bb4b8 --- /dev/null +++ b/dev-embedded/sdcc/files/sdcc-3.8.0-override-override.patch @@ -0,0 +1,30 @@ +--- a/support/sdbinutils/config/override.m4 ++++ b/support/sdbinutils/config/override.m4 +@@ -27,27 +27,6 @@ + m4_copy_force([_AC_PREREQ], [AC_PREREQ]) + + +-dnl Ensure exactly this Autoconf version is used +-m4_ifndef([_GCC_AUTOCONF_VERSION], +- [m4_define([_GCC_AUTOCONF_VERSION], [2.64])]) +- +-dnl Test for the exact version when AC_INIT is expanded. +-dnl This allows to update the tree in steps (for testing) +-dnl by putting +-dnl m4_define([_GCC_AUTOCONF_VERSION], [X.Y]) +-dnl in configure.ac before AC_INIT, +-dnl without rewriting this file. +-dnl Or for updating the whole tree at once with the definition above. +-AC_DEFUN([_GCC_AUTOCONF_VERSION_CHECK], +-[m4_if(m4_defn([_GCC_AUTOCONF_VERSION]), +- m4_defn([m4_PACKAGE_VERSION]), [], +- [m4_fatal([Please use exactly Autoconf ]_GCC_AUTOCONF_VERSION[ instead of ]m4_defn([m4_PACKAGE_VERSION])[.])]) +-]) +-m4_define([AC_INIT], m4_defn([AC_INIT])[ +-_GCC_AUTOCONF_VERSION_CHECK +-]) +- +- + dnl Ensure we do not use a buggy M4. + m4_if(m4_index([..wi.d.], [.d.]), [-1], + [m4_fatal(m4_do([m4 with buggy strstr detected. Please install diff --git a/dev-embedded/sdcc/sdcc-4.0.0.ebuild b/dev-embedded/sdcc/sdcc-4.0.0.ebuild new file mode 100644 index 0000000..9509a44 --- /dev/null +++ b/dev-embedded/sdcc/sdcc-4.0.0.ebuild @@ -0,0 +1,153 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit autotools toolchain-funcs + +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 ) + " + KEYWORDS="~amd64 ~x86" +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" +# in order of configure.ac's AC_DO_PORT stanzas +SDCC_PORTS=" + avr + mcs51 + z80 z180 + r2k r3ka + gbz80 + tlcs90 + ez80-z80 + ds390 ds400 + pic14 pic16 + hc08 + s08 + stm8 + pdk13 pdk14 pdk15 pdk16 +" +IUSE=" + ${SDCC_PORTS} + +boehm-gc device-lib doc non-free packihx +sdbinutils 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= + >=dev-embedded/gputils-0.13.7 + boehm-gc? ( dev-libs/boehm-gc:= ) + !dev-embedded/sdcc-svn +" +DEPEND=" + ${RDEPEND} + dev-util/gperf +" +PATCHES=( + "${FILESDIR}"/${PN}-3.8.0-override-override.patch +) + +src_prepare() { + # Fix conflicting variable names between Gentoo and sdcc + find \ + '(' -name 'Makefile*' -o -name 'configure*' ')' \ + -exec sed -r -i \ + -e 's:\<(PORTDIR|ARCH)\>:SDCC\1:g' \ + {} + || die + + # 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() { + # 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 r3ka r3ka-port) \ + $(use_enable gbz80 gbz80-port) \ + $(use_enable tlcs90 tlcs90-port) \ + $(use_enable ez80-z80 ez80_z80-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 \ + --without-ccache + + $(use pic14) && sed -i -e "s/ARCH = .+/ARCH = 16F1826/" \ + "${S}"/device/lib/pic14/libsdcc/regular/Makefile +} + +src_install() { + default + dodoc doc/*.txt + find "${D}" -name .deps -exec rm -rf {} + || 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 /usr/bin +}