diff options
Diffstat (limited to 'dev-embedded')
110 files changed, 2277 insertions, 827 deletions
diff --git a/dev-embedded/arduino-listserialportsc/arduino-listserialportsc-1.4.0.ebuild b/dev-embedded/arduino-listserialportsc/arduino-listserialportsc-1.4.0-r1.ebuild index b9a28eb7e8cd..78222b7860f6 100644 --- a/dev-embedded/arduino-listserialportsc/arduino-listserialportsc-1.4.0.ebuild +++ b/dev-embedded/arduino-listserialportsc/arduino-listserialportsc-1.4.0-r1.ebuild @@ -1,23 +1,24 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=8 inherit java-pkg-2 toolchain-funcs DESCRIPTION="Arduino helper library to list serial ports" HOMEPAGE="https://github.com/arduino/listSerialPortsC" SRC_URI="https://github.com/arduino/listSerialPortsC/archive/${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/listSerialPortsC-${PV}" LICENSE="LGPL-3" SLOT="0" KEYWORDS="amd64 x86" -RDEPEND=">=dev-libs/libserialport-0.1.1" -DEPEND="${RDEPEND} - >=virtual/jdk-1.8" - -S="${WORKDIR}/listSerialPortsC-${PV}" +COMMON_DEPEND=">=dev-libs/libserialport-0.1.1" +DEPEND="${COMMON_DEPEND} + >=virtual/jdk-1.8:*" +RDEPEND="${COMMON_DEPEND} + >=virtual/jre-1.8:*" src_compile() { $(tc-getCC) -O2 -Wall ${CPPFLAGS} ${CFLAGS} -c -o main.o main.c || die @@ -38,6 +39,6 @@ src_compile() { src_install() { dobin listSerialC - dolib liblistSerialsj.so.${PV} + dolib.so liblistSerialsj.so.${PV} dosym liblistSerialsj.so.${PV} /usr/$(get_libdir)/liblistSerialsj.so } diff --git a/dev-embedded/avarice/avarice-2.14-r1.ebuild b/dev-embedded/avarice/avarice-2.14-r1.ebuild new file mode 100644 index 000000000000..43beb06d967d --- /dev/null +++ b/dev-embedded/avarice/avarice-2.14-r1.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic + +DESCRIPTION="Interface for GDB to Atmel AVR JTAGICE in circuit emulator" +HOMEPAGE="https://avarice.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +PATCHES=( + "${FILESDIR}"/${P}-broken-__unused-macro.patch + "${FILESDIR}"/${P}-implicit-function-declarations.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # bug #788295 + append-cxxflags -std=c++14 + + default +} + +src_install() { + default + dodoc doc/*.txt +} diff --git a/dev-embedded/avarice/avarice-2.14.ebuild b/dev-embedded/avarice/avarice-2.14.ebuild index 3486df353266..f6ed367893b3 100644 --- a/dev-embedded/avarice/avarice-2.14.ebuild +++ b/dev-embedded/avarice/avarice-2.14.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -6,7 +6,7 @@ EAPI=7 inherit flag-o-matic DESCRIPTION="Interface for GDB to Atmel AVR JTAGICE in circuit emulator" -HOMEPAGE="http://avarice.sourceforge.net/" +HOMEPAGE="https://avarice.sourceforge.net/" SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" LICENSE="GPL-2" diff --git a/dev-embedded/avarice/files/avarice-2.14-implicit-function-declarations.patch b/dev-embedded/avarice/files/avarice-2.14-implicit-function-declarations.patch new file mode 100644 index 000000000000..1d266b0bb113 --- /dev/null +++ b/dev-embedded/avarice/files/avarice-2.14-implicit-function-declarations.patch @@ -0,0 +1,24 @@ +Bug: https://bugs.gentoo.org/900687 +Upstream patch: https://sourceforge.net/p/avarice/patches/41/ + +--- a/configure.ac ++++ b/configure.ac +@@ -97,7 +97,7 @@ + + # Checks for header files. + AC_HEADER_STDC +-AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h termios.h unistd.h]) ++AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/stat.h sys/time.h termios.h unistd.h]) + + AC_CHECK_HEADERS([bfd.h], , [ac_found_bfd_h=no]) + +@@ -142,6 +142,9 @@ + AC_MSG_CHECKING([whether libbfd requires libdl]) + AC_LINK_IFELSE( + [AC_LANG_SOURCE([#include <bfd.h> ++ #ifndef bfd_get_section_name ++ extern bfd_get_section_name(bfd *abfd, const char *name); ++ #endif + bfd *file; + int main(void) { + bfd_init(); diff --git a/dev-embedded/avrdude/Manifest b/dev-embedded/avrdude/Manifest index 3675ad0936cc..9c081c4825fd 100644 --- a/dev-embedded/avrdude/Manifest +++ b/dev-embedded/avrdude/Manifest @@ -1 +1,2 @@ DIST avrdude-7.0.tar.gz 2354082 BLAKE2B 44cc6cb82abd4e44f9e7f72901cd9b2a13c9e7635582993ea9a01ea482709ca6a8a3454980446d1196a67cec19a021133d5821731618350336f81fce09d7c049 SHA512 ca3338e6f2f0efc102e70f72531efbd237c5f7bc282d8db5530038f9e20b18a7c2682343bb2baff08c81f8959b066323a444dd64c2362a340a9d9708f90770e0 +DIST avrdude-7.2.tar.gz 2622520 BLAKE2B 7bf86ea802bb150415a0d8c1ba884d5ff84b3d4bfb0e77470205d578001c1c19f782ddd37ae4235fba9f2ccc05247aea1723ebc2e1c71174c23b0986e835231e SHA512 04d04492458bc1d183ad8ff403cf3d38f65f44bb992df589e8f49d28b5347eb63433568c95f5d575ae651be70d725d3f178175cd1fe6dcd46ec013c3fe3f2ab0 diff --git a/dev-embedded/avrdude/avrdude-7.0.ebuild b/dev-embedded/avrdude/avrdude-7.0.ebuild index 2a0cc3148e7b..9acd4349f655 100644 --- a/dev-embedded/avrdude/avrdude-7.0.ebuild +++ b/dev-embedded/avrdude/avrdude-7.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022 Gentoo Authors +# Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -24,8 +24,8 @@ RDEPEND=" " DEPEND="${RDEPEND}" BDEPEND=" - sys-devel/bison - sys-devel/flex + app-alternatives/yacc + app-alternatives/lex " src_prepare() { diff --git a/dev-embedded/avrdude/avrdude-7.2.ebuild b/dev-embedded/avrdude/avrdude-7.2.ebuild new file mode 100644 index 000000000000..e893eaa4b9c3 --- /dev/null +++ b/dev-embedded/avrdude/avrdude-7.2.ebuild @@ -0,0 +1,65 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="AVR Downloader/UploaDEr" +HOMEPAGE="https://avrdudes.github.io/avrdude https://github.com/avrdudes/avrdude" +SRC_URI="https://github.com/avrdudes/avrdude/archive/refs/tags/v${PV}.tar.gz -> avrdude-${PV}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0/1" # SOVERSION in src/CMakeLists.txt +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86" +IUSE="ftdi readline" + +RDEPEND=" + dev-libs/hidapi + virtual/libelf:= + virtual/libusb:0 + virtual/libusb:1 + ftdi? ( dev-embedded/libftdi:1 ) + readline? ( sys-libs/readline:0= ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + app-alternatives/yacc + app-alternatives/lex +" + +src_prepare() { + cmake_src_prepare + + # CMAKE_INSTALL_LIBDIR is not respected. Fixed in the next release. + sed -i "s@DESTINATION lib@DESTINATION $(get_libdir)@g" \ + src/CMakeLists.txt || die + + # For some reason 'TYPE SYSCONF' and 'CMAKE_INSTALL_SYSCONFDIR' + # prepends '/usr' so the config ends up getting installed as + # '/usr/etc/avrdude.conf' which is not correct. + sed -i 's@TYPE SYSCONF@DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}@' \ + src/CMakeLists.txt || die +} + +src_configure() { + # Optional libraries like libftdi aren't gated behind options and + # find_package calls, but find_library is called directly + # instead. + # + # Set the cache variable to an empty string if we do not want a + # library to be automatically detected. + local mycmakeargs=( + -DBUILD_DOC=OFF # This currently does nothing... + -DBUILD_SHARED_LIBS=ON + -DDEBUG_CMAKE=ON + -DHAVE_LIBGPIOD='' # Bug #921301 + -DHAVE_LIBFTDI='' + -DHAVE_LINUXGPIO=ON # Seems like there is no reason to have this off. + -DHAVE_LINUXSPI=ON # Ditto. + -DHAVE_PARPORT=ON + ) + use ftdi || mycmakeargs+=( -DHAVE_LIBFTDI1='' ) + use readline || mycmakeargs+=( -DHAVE_LIBREADLINE='' ) + cmake_src_configure +} diff --git a/dev-embedded/avrdude/metadata.xml b/dev-embedded/avrdude/metadata.xml index b9a0b133cefe..4b3b9dad10e3 100644 --- a/dev-embedded/avrdude/metadata.xml +++ b/dev-embedded/avrdude/metadata.xml @@ -8,6 +8,9 @@ <use> <flag name="ftdi">Enable support for USB FTDI chips via <pkg>dev-embedded/libftdi</pkg></flag> </use> + <slots> + <subslots>reflect soname of libavrdude</subslots> + </slots> <upstream> <remote-id type="github">avrdudes/avrdude</remote-id> </upstream> diff --git a/dev-embedded/dc-tool-ip/dc-tool-ip-1.0.4.ebuild b/dev-embedded/dc-tool-ip/dc-tool-ip-1.0.4.ebuild index ff03cd024553..b22260ee7ac7 100644 --- a/dev-embedded/dc-tool-ip/dc-tool-ip-1.0.4.ebuild +++ b/dev-embedded/dc-tool-ip/dc-tool-ip-1.0.4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -6,7 +6,7 @@ EAPI=7 inherit flag-o-matic toolchain-funcs DESCRIPTION="Ethernet program loader for the Dreamcast" -HOMEPAGE="http://cadcdev.sourceforge.net/" +HOMEPAGE="https://cadcdev.sourceforge.net/" SRC_URI="mirror://sourceforge/cadcdev/dcload-ip-${PV}-src.tar.gz" LICENSE="GPL-2" diff --git a/dev-embedded/dfu-programmer/Manifest b/dev-embedded/dfu-programmer/Manifest index d9a61307447b..e6b8052c77d5 100644 --- a/dev-embedded/dfu-programmer/Manifest +++ b/dev-embedded/dfu-programmer/Manifest @@ -1 +1 @@ -DIST dfu-programmer-0.7.2.tar.gz 146613 BLAKE2B 85222185bdbfdb90c06ece2a284f6f6e15fe5118a1934948a0bca6364902743a86429ea13d5aabc2a948f6f2ce41177b6021ae85a8ad22b75a026507253380d8 SHA512 429b89192bb5a9653ad8678dfc182bfc30eb057d0d1f72fe88efdf85005d3ad557e0f572f4fad3346f1f1078cd273a289f4bba2663bb1f840e6bf724d5293db4 +DIST dfu-programmer-1.0.0.tar.gz 78504 BLAKE2B ae05a92c95a17ee9b5e2266e380c43d0cdadb3be76e481eb5de321116aa1d930c733ad3a086e239b817a475d36185157715e7907d564c2001a9ce25df01d46c6 SHA512 abb73970e10017f111b118c5be0b98a3fe7ef8c95794b5ca701f21b5a40f518f46ff8a392f09e7eea2ad9a4eb6c43ecc9514bee817c01acf0d6135a5f8f9048f diff --git a/dev-embedded/dfu-programmer/dfu-programmer-0.7.2-r1.ebuild b/dev-embedded/dfu-programmer/dfu-programmer-1.0.0.ebuild index fc823eeb789a..9f6025c857fd 100644 --- a/dev-embedded/dfu-programmer/dfu-programmer-0.7.2-r1.ebuild +++ b/dev-embedded/dfu-programmer/dfu-programmer-1.0.0.ebuild @@ -1,35 +1,35 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=8 -inherit toolchain-funcs udev +inherit autotools udev DESCRIPTION="A Device Firmware Update based USB programmer for Atmel chips" -HOMEPAGE="http://dfu-programmer.sourceforge.net" -SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" +HOMEPAGE=" + https://dfu-programmer.github.io/ + https://sourceforge.net/projects/dfu-programmer/ + https://github.com/dfu-programmer/dfu-programmer +" + +SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="GPL-2" SLOT="0" KEYWORDS="amd64 arm ~arm64" -IUSE="" RDEPEND=" acct-group/plugdev virtual/libusb:1 - virtual/udev" -DEPEND="${RDEPEND} - virtual/pkgconfig" + virtual/udev +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" src_prepare() { default - # Upstream has fixed this in their configure already. - tc-export CPP PKG_CONFIG - sed -i \ - -e "/LIBUSB_1_0_CFLAGS=/s:=.*:='$(${PKG_CONFIG} --cflags libusb-1.0)':" \ - -e "/LIBUSB_1_0_LIBS=/s:=.*:='$(${PKG_CONFIG} --libs libusb-1.0)':" \ - configure || die + eautoreconf } src_install() { @@ -47,7 +47,13 @@ src_install() { } pkg_postinst() { + udev_reload + elog "To update device firmware as user you must be in the plugdev group:" elog elog "usermod -aG plugdev <user>" } + +pkg_postrm() { + udev_reload +} diff --git a/dev-embedded/dfu-programmer/metadata.xml b/dev-embedded/dfu-programmer/metadata.xml index 44ef01106a0a..f5df457efa6e 100644 --- a/dev-embedded/dfu-programmer/metadata.xml +++ b/dev-embedded/dfu-programmer/metadata.xml @@ -7,5 +7,6 @@ </maintainer> <upstream> <remote-id type="sourceforge">dfu-programmer</remote-id> + <remote-id type="github">dfu-programmer/dfu-programmer</remote-id> </upstream> </pkgmetadata> diff --git a/dev-embedded/esptool/Manifest b/dev-embedded/esptool/Manifest index db7d9a065f42..558ae5bb4b79 100644 --- a/dev-embedded/esptool/Manifest +++ b/dev-embedded/esptool/Manifest @@ -1,4 +1,2 @@ -DIST esptool-3.3.1.tar.gz 7261340 BLAKE2B c6ee391dcbc331d9f931bfd969333fc3bfc5628d422d52e2963c9d465f4680dca5debaf17cd2f6aca0db9dcc06563fe775d7d6c15dacdff481c52577c26d4364 SHA512 8da34f7b555513d499141ce403f19c3e77b6944eecde440c757faf3bbf5e915e44ff0bcabf1b2cb7f5fe26caa717bb47104ad808c46feaf1dea254d548048095 -DIST esptool-3.3.2.tar.gz 7263375 BLAKE2B 8a24a94c5d8acaa9647a5057cbacb57bdf292651529572d7084dbee1013b6174a383bebacccd75bb08e6de94054f28303d5a9b182f0d30dad9081fd8d61d1c4d SHA512 9f31ab5b702c8aede2062a27943fa655d7fbb07fb4c4c377f2ab5552e5453e7c8126bacc5b8e1e859ee6b81e21a75ed1343639815e395b974cc1aaa005367d84 -DIST esptool-4.2.1.tar.gz 7271498 BLAKE2B af1c17e08cad057e4534599481da6366460e9eff02de0dfe1cd1163885d315cefd780e034550e7cf09f09f4f3430108675722b9a57109a94c5519bf0c0c158b2 SHA512 b2b7209371330ae0764da5650b48a37ec750a3514951b8e39576b4e54ea682e2a43faf56ce95327071fe88bf4f74762a39483e1edfe2bdf9c5457537888c469f -DIST esptool-4.3.tar.gz 7216987 BLAKE2B 9c48b6884667913b5ffe8d0bef22fcb27142a42a89c802f2f1f2f5355d1a967c398f86a398574310fcb1de5b37a1f5fb7e9e7f78058e5ad38008b097d8debd66 SHA512 aa761dae802d67553096698b40a97ae1fa33995dbc81a16a521ffa3ed1ec87470b1457853e4a1aaedfb94c46770e58712a25cac62a4bd05d85503881e507b493 +DIST esptool-4.6.2.tar.gz 7003860 BLAKE2B 051689dbc2194e1ed08467f9ec82e3a48e31cf62c25b83f97e3b05a1d203c9dda120cbb11a40bb61efe076ae8449d0b9b4742b19d59efef205132f05d16130a5 SHA512 97cc9f4d92b479351089fac59aed08f9519ff76d994ddae601da8e39b988f4bb90dc3885bf30b7998e2575a0365a5f0eef85f16a28b12eb944eec1e9f5265c6c +DIST esptool-4.7.0.tar.gz 7045501 BLAKE2B 468d83db541e632296e9b465d54764dc5e966f54709b66b0af2675d8fbd6d0bcd70fb18584887f3dc4d45bd0550b65a0da58d0c6bc318962b8798017b4ab0b63 SHA512 dda2af5d9b2f8a4ec5706eaf58021e95094c152380c732074809c370a5d1bfaeb424cb27f69a3b980dec83ae9c4c9ee1eddfeb0a7990c3b1f1494160a2d369cc diff --git a/dev-embedded/esptool/esptool-3.3.1.ebuild b/dev-embedded/esptool/esptool-3.3.1.ebuild deleted file mode 100644 index fb5d371d3bb7..000000000000 --- a/dev-embedded/esptool/esptool-3.3.1.ebuild +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright 2021-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{8..10} ) -DISTUTILS_SINGLE_IMPL=1 - -inherit distutils-r1 - -DESCRIPTION="Utility to communicate with the ROM bootloader in Espressif ESP8266 and ESP32" -HOMEPAGE="https://github.com/espressif/esptool" -SRC_URI="https://github.com/espressif/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 x86" -IUSE="test" -RESTRICT="!test? ( test )" - -RDEPEND=" - $(python_gen_cond_dep ' - dev-python/bitstring[${PYTHON_USEDEP}] - dev-python/cryptography[${PYTHON_USEDEP}] - >=dev-python/ecdsa-0.16.0[${PYTHON_USEDEP}] - dev-python/pyserial[${PYTHON_USEDEP}] - dev-python/reedsolomon[${PYTHON_USEDEP}] - ') -" -BDEPEND=" - $(python_gen_cond_dep ' - dev-python/wheel[${PYTHON_USEDEP}] - ') - test? ( $(python_gen_cond_dep ' - dev-python/coverage[${PYTHON_USEDEP}] - dev-python/pyelftools[${PYTHON_USEDEP}] - ') ) -" - -python_test() { - "${EPYTHON}" test/test_imagegen.py || die "imagegen test failed with ${EPYTHON}" - "${EPYTHON}" test/test_espsecure.py || die "espsecure test failed with ${EPYTHON}" - "${EPYTHON}" test/test_espefuse_host.py || die "espefuse_host test failed with ${EPYTHON}" - "${EPYTHON}" test/test_merge_bin.py || die "espefuse_host test failed with ${EPYTHON}" - # test/test_esptool.py and test/test_espefuse.py need real hardware connected -} diff --git a/dev-embedded/esptool/esptool-3.3.2.ebuild b/dev-embedded/esptool/esptool-3.3.2.ebuild deleted file mode 100644 index 80fed540a0c6..000000000000 --- a/dev-embedded/esptool/esptool-3.3.2.ebuild +++ /dev/null @@ -1,47 +0,0 @@ -# Copyright 2021-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{8..11} ) -DISTUTILS_USE_PEP517=setuptools -DISTUTILS_SINGLE_IMPL=1 - -inherit distutils-r1 - -DESCRIPTION="Utility to communicate with the ROM bootloader in Espressif ESP8266 and ESP32" -HOMEPAGE="https://github.com/espressif/esptool" -SRC_URI="https://github.com/espressif/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~x86" -IUSE="test" -RESTRICT="!test? ( test )" - -RDEPEND=" - $(python_gen_cond_dep ' - dev-python/bitstring[${PYTHON_USEDEP}] - dev-python/cryptography[${PYTHON_USEDEP}] - >=dev-python/ecdsa-0.16.0[${PYTHON_USEDEP}] - dev-python/pyserial[${PYTHON_USEDEP}] - dev-python/reedsolomon[${PYTHON_USEDEP}] - ') -" -BDEPEND=" - $(python_gen_cond_dep ' - dev-python/wheel[${PYTHON_USEDEP}] - ') - test? ( $(python_gen_cond_dep ' - dev-python/coverage[${PYTHON_USEDEP}] - dev-python/pyelftools[${PYTHON_USEDEP}] - ') ) -" - -python_test() { - "${EPYTHON}" test/test_imagegen.py || die "imagegen test failed with ${EPYTHON}" - "${EPYTHON}" test/test_espsecure.py || die "espsecure test failed with ${EPYTHON}" - "${EPYTHON}" test/test_espefuse_host.py || die "espefuse_host test failed with ${EPYTHON}" - "${EPYTHON}" test/test_merge_bin.py || die "espefuse_host test failed with ${EPYTHON}" - # test/test_esptool.py and test/test_espefuse.py need real hardware connected -} diff --git a/dev-embedded/esptool/esptool-4.3.ebuild b/dev-embedded/esptool/esptool-4.3.ebuild deleted file mode 100644 index ca87dabe0042..000000000000 --- a/dev-embedded/esptool/esptool-4.3.ebuild +++ /dev/null @@ -1,68 +0,0 @@ -# Copyright 2021-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{8..11} ) -DISTUTILS_USE_PEP517=setuptools -DISTUTILS_SINGLE_IMPL=1 - -inherit distutils-r1 - -DESCRIPTION="Utility to communicate with the ROM bootloader in Espressif ESP8266 and ESP32" -HOMEPAGE="https://github.com/espressif/esptool" -SRC_URI="https://github.com/espressif/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~x86" -IUSE="test" -RESTRICT="!test? ( test )" - -RDEPEND=" - $(python_gen_cond_dep ' - dev-python/bitstring[${PYTHON_USEDEP}] - dev-python/cryptography[${PYTHON_USEDEP}] - >=dev-python/ecdsa-0.16.0[${PYTHON_USEDEP}] - dev-python/pyserial[${PYTHON_USEDEP}] - dev-python/reedsolomon[${PYTHON_USEDEP}] - ') -" -BDEPEND=" - $(python_gen_cond_dep ' - dev-python/wheel[${PYTHON_USEDEP}] - ') - test? ( $(python_gen_cond_dep ' - dev-python/cffi[${PYTHON_USEDEP}] - dev-python/coverage[${PYTHON_USEDEP}] - dev-python/pyelftools[${PYTHON_USEDEP}] - ') ) -" - -python_test() { - "${EPYTHON}" test/test_imagegen.py || die "test_imagegen.py failed with ${EPYTHON}" - "${EPYTHON}" test/test_espsecure.py || die "test_espsecure.py failed with ${EPYTHON}" - "${EPYTHON}" test/test_merge_bin.py || die "test_merge_bin.py failed with ${EPYTHON}" - "${EPYTHON}" test/test_image_info.py || die "test_image_info.py failed with ${EPYTHON}" - "${EPYTHON}" test/test_modules.py || die "test_modules.py failed with ${EPYTHON}" - "${EPYTHON}" test/test_espefuse_host.py esp32|| die "test_espefuse_host.py esp32 failed with ${EPYTHON}" - "${EPYTHON}" test/test_espefuse_host.py esp32c2 || die "test_espefuse_host.py esp32c2 failed with ${EPYTHON}" - "${EPYTHON}" test/test_espefuse_host.py esp32c3 || die "test_espefuse_host.py esp32c3 failed with ${EPYTHON}" - "${EPYTHON}" test/test_espefuse_host.py esp32s2 || die "test_espefuse_host.py esp32s2 failed with ${EPYTHON}" - "${EPYTHON}" test/test_espefuse_host.py esp32s3 || die "test_espefuse_host.py esp32s3 failed with ${EPYTHON}" - "${EPYTHON}" test/test_espefuse_host.py esp32s3beta2 || die "test_espefuse_host.py esp32s3beta2 failed with ${EPYTHON}" - "${EPYTHON}" test/test_espefuse_host.py esp32h2beta1 || die "test_espefuse_host.py esp32h2beta1 failed with ${EPYTHON}" - "${EPYTHON}" test/test_espefuse_host.py esp32c6 || die "test_espefuse_host.py esp32c6 failed with ${EPYTHON}" - # test/test_esptool.py and test/test_espefuse.py need real hardware connected -} - -pkg_postinst() { - if ver_test ${REPLACING_VERSIONS} -lt 4; then - ewarn "${P} - new 4.x release with breaking changes:" - ewarn " - Public API has been defined by limiting access to internals that have been refactored into multiple source files" - ewarn " - If active security features are detected, the default behavior changes to prevent unintentional bricking" - ewarn " - Flash parameters in an image header can now be changed only when no SHA256 digest is appended" - ewarn " - The ESP8684 alias has been removed, ESP32-C2 has to be used" - ewarn " - Megabit flash sizes have been deprecated, use megabyte units from now on" - fi -} diff --git a/dev-embedded/esptool/esptool-4.2.1.ebuild b/dev-embedded/esptool/esptool-4.6.2.ebuild index 16c7d1459d52..c72cc6a73f0f 100644 --- a/dev-embedded/esptool/esptool-4.2.1.ebuild +++ b/dev-embedded/esptool/esptool-4.6.2.ebuild @@ -1,9 +1,10 @@ -# Copyright 2021-2022 Gentoo Authors +# Copyright 2021-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_COMPAT=( python3_{9..11} ) +DISTUTILS_USE_PEP517=setuptools DISTUTILS_SINGLE_IMPL=1 inherit distutils-r1 @@ -15,8 +16,6 @@ SRC_URI="https://github.com/espressif/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz LICENSE="GPL-2+" SLOT="0" KEYWORDS="amd64 ~arm ~arm64 x86" -IUSE="test" -RESTRICT="!test? ( test )" RDEPEND=" $(python_gen_cond_dep ' @@ -24,7 +23,8 @@ RDEPEND=" dev-python/cryptography[${PYTHON_USEDEP}] >=dev-python/ecdsa-0.16.0[${PYTHON_USEDEP}] dev-python/pyserial[${PYTHON_USEDEP}] - dev-python/reedsolomon[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/reedsolo[${PYTHON_USEDEP}] ') " BDEPEND=" @@ -33,18 +33,24 @@ BDEPEND=" ') test? ( $(python_gen_cond_dep ' dev-python/cffi[${PYTHON_USEDEP}] - dev-python/coverage[${PYTHON_USEDEP}] dev-python/pyelftools[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] ') ) " -python_test() { - "${EPYTHON}" test/test_imagegen.py || die "test_imagegen.py failed with ${EPYTHON}" - "${EPYTHON}" test/test_espsecure.py || die "test_espsecure.py failed with ${EPYTHON}" - "${EPYTHON}" test/test_espefuse_host.py || die "test_espefuse_host.py failed with ${EPYTHON}" - "${EPYTHON}" test/test_merge_bin.py || die "test_merge_bin.py failed with ${EPYTHON}" - "${EPYTHON}" test/test_modules.py || die "test_modules.py failed with ${EPYTHON}" +distutils_enable_tests pytest + +EPYTEST_DESELECT=( # test/test_esptool.py and test/test_espefuse.py need real hardware connected + test/test_esptool.py + test/test_espefuse.py +) + +src_prepare() { + default + + # test_espsecure_hsm.py needs setup of a "Soft HSM" or real hardware. remove. + rm test/test_espsecure_hsm.py || die } pkg_postinst() { diff --git a/dev-embedded/esptool/esptool-4.7.0-r2.ebuild b/dev-embedded/esptool/esptool-4.7.0-r2.ebuild new file mode 100644 index 000000000000..1788d7b8b0a1 --- /dev/null +++ b/dev-embedded/esptool/esptool-4.7.0-r2.ebuild @@ -0,0 +1,65 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +DISTUTILS_USE_PEP517=setuptools + +inherit distutils-r1 + +DESCRIPTION="Utility to communicate with the ROM bootloader in Espressif ESP8266 and ESP32" +HOMEPAGE="https://github.com/espressif/esptool" +SRC_URI="https://github.com/espressif/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86" + +RDEPEND=" + $(python_gen_cond_dep ' + dev-python/bitstring[${PYTHON_USEDEP}] + dev-python/cryptography[${PYTHON_USEDEP}] + >=dev-python/ecdsa-0.16.0[${PYTHON_USEDEP}] + dev-python/intelhex[${PYTHON_USEDEP}] + dev-python/pyserial[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/reedsolo[${PYTHON_USEDEP}] + ') +" +BDEPEND=" + $(python_gen_cond_dep ' + dev-python/wheel[${PYTHON_USEDEP}] + ') + test? ( $(python_gen_cond_dep ' + dev-python/cffi[${PYTHON_USEDEP}] + dev-python/pyelftools[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + ') ) +" + +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # test/test_esptool.py and test/test_espefuse.py need real hardware connected + test/test_esptool.py + test/test_espefuse.py +) + +src_prepare() { + default + + # test_espsecure_hsm.py needs setup of a "Soft HSM" or real hardware. remove. + rm test/test_espsecure_hsm.py || die +} + +pkg_postinst() { + if ver_test ${REPLACING_VERSIONS} -lt 4; then + ewarn "${P} - new 4.x release with breaking changes:" + ewarn " - Public API has been defined by limiting access to internals that have been refactored into multiple source files" + ewarn " - If active security features are detected, the default behavior changes to prevent unintentional bricking" + ewarn " - Flash parameters in an image header can now be changed only when no SHA256 digest is appended" + ewarn " - The ESP8684 alias has been removed, ESP32-C2 has to be used" + ewarn " - Megabit flash sizes have been deprecated, use megabyte units from now on" + fi +} diff --git a/dev-embedded/gpsim/Manifest b/dev-embedded/gpsim/Manifest index de73cfa39cd9..7e935d1c1b8f 100644 --- a/dev-embedded/gpsim/Manifest +++ b/dev-embedded/gpsim/Manifest @@ -1 +1,2 @@ DIST gpsim-0.31.0.tar.gz 3454179 BLAKE2B 449f891c7a765ce06da87c8de1a8adc0d7e15c9af175fc2988d604660108c14cc816247358a71bbb55813c5144f6973c01d3c9c27c44f2a45820b85cedc97d2c SHA512 a6af7e9170cee11c35f0e4731d39876e563edd8ca9cbd0f4b3017f224e5317b4c8bcc8aa4468102fa5c11157f487b6c7354e3aba8778842ed0b5be9bbb9ef45f +DIST gpsim-0.32.1.tar.gz 3770485 BLAKE2B 0720ffa7dee073573f3d053367714752dda25e99293d803ff32e4050f8ad5a14241de8fb273fb78ddf2fc927c9d209564d43a28a25489f38fb93dbefe09e51f4 SHA512 9b6d24f8f183eb421506a3c08883915f3580999b9ee7742c4af2d61e7d84643d125e3b4e1c3412bcb4a312011d7b6fef44c12d22fcc475f66a1f083e394e5623 diff --git a/dev-embedded/gpsim/gpsim-0.31.0.ebuild b/dev-embedded/gpsim/gpsim-0.31.0.ebuild index 702af55fcda2..78da145b04fc 100644 --- a/dev-embedded/gpsim/gpsim-0.31.0.ebuild +++ b/dev-embedded/gpsim/gpsim-0.31.0.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DESCRIPTION="A simulator for the Microchip PIC microcontrollers" -HOMEPAGE="http://gpsim.sourceforge.net" +HOMEPAGE="https://gpsim.sourceforge.net" SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" LICENSE="GPL-2" @@ -20,7 +20,7 @@ RDEPEND=" " DEPEND="${RDEPEND}" BDEPEND=" - sys-devel/flex + app-alternatives/lex virtual/pkgconfig app-alternatives/yacc " diff --git a/dev-embedded/gpsim/gpsim-0.32.1.ebuild b/dev-embedded/gpsim/gpsim-0.32.1.ebuild new file mode 100644 index 000000000000..906cf84288a9 --- /dev/null +++ b/dev-embedded/gpsim/gpsim-0.32.1.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="A simulator for the Microchip PIC microcontrollers" +HOMEPAGE="https://gpsim.sourceforge.net" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 x86" + +RDEPEND=" + >=dev-embedded/gputils-0.12 + dev-libs/glib:2 + dev-libs/popt + sys-libs/readline:0= +" +DEPEND="${RDEPEND}" +BDEPEND=" + app-alternatives/lex + virtual/pkgconfig + app-alternatives/yacc +" +DOCS=( ANNOUNCE AUTHORS ChangeLog HISTORY PROCESSORS README README.MODULES \ + TODO doc/gpsim.pdf ) +HTML_DOCS=( doc/gpsim.html.LyXconv/gpsim.html ) + +src_configure() { + local myeconfargs=( + --disable-gui + --disable-static + ) + econf "${myeconfargs[@]}" +} + +src_install() { + default + find "${ED}" -name '*.la' -delete || die +} diff --git a/dev-embedded/gputils/Manifest b/dev-embedded/gputils/Manifest index 91bfb2d62d21..007cca7187a7 100644 --- a/dev-embedded/gputils/Manifest +++ b/dev-embedded/gputils/Manifest @@ -1 +1 @@ -DIST gputils-1.5.0.tar.gz 13155377 BLAKE2B 68f6ed2ba93f83eaae0573dde5fe8d3a67ec6cf4349832e5edcab70ec35db7d8210f28d46bf3272a7b7f9b52299b1289792b1ca2a75b952e7ea2fc263448c8b9 SHA512 fc74e92ddfe2c9c7ee272a712a411bf01790358c310afc9a802f503902675fa4717410354bf8791f64da45b63f0b1f562b55fdd7127d3989f4295ebe5f80b645 +DIST gputils-1.5.2.tar.bz2 7231711 BLAKE2B c52bd75ee408b2ff98f63679b18834e8e41b5aea4f2b4b659860acb8fa4dd3f922aa6307f99ae0fc024a4fc6f56d3be262cd873cf112ebac444d41eeca635d3b SHA512 43ed508d164152bf36e4f27b09656e6e3d58fc174806ad57d6415e6e2726a56381b1323be3acfc635f2a05babade695e9777b0db8b5f4b90da00b9d29e75eddc diff --git a/dev-embedded/gputils/files/gputils-1.5.0-respect-flags.patch b/dev-embedded/gputils/files/gputils-1.5.0-respect-flags.patch deleted file mode 100644 index 01d13dedab0f..000000000000 --- a/dev-embedded/gputils/files/gputils-1.5.0-respect-flags.patch +++ /dev/null @@ -1,123 +0,0 @@ -https://sourceforge.net/p/gputils/code/1288 -https://bugs.gentoo.org/722648 - ---- a/configure.ac -+++ b/configure.ac -@@ -160,29 +160,41 @@ - AC_CHECK_FUNCS(strndup, , [IBERTYOBJS="$IBERTYOBJS strndup.o"]) - AC_CHECK_FUNCS(strverscmp, , [IBERTYOBJS="$IBERTYOBJS strverscmp.o"]) - --AM_CFLAGS= -+VERSION_MAJOR=`echo $PACKAGE_VERSION | $AWK 'BEGIN {FS="."} {print $1}'` -+VERSION_MINOR=`echo $PACKAGE_VERSION | $AWK 'BEGIN {FS="."} {print $2}'` -+VERSION_MICRO=`echo $PACKAGE_VERSION | $AWK 'BEGIN {FS="."} {print $3}'` -+ -+AC_DEFINE_UNQUOTED(GPUTILS_VERSION_MAJOR, $VERSION_MAJOR, [gputils major version number]) -+AC_DEFINE_UNQUOTED(GPUTILS_VERSION_MINOR, $VERSION_MINOR, [gputils minor version number]) -+AC_DEFINE_UNQUOTED(GPUTILS_VERSION_MICRO, $VERSION_MICRO, [gputils micro version number]) -+AC_DEFINE_UNQUOTED(GPUTILS_VERSION_STR, "$PACKAGE_VERSION", [gputils version string]) -+ -+AM_GPUTILS_SVN_VERSION="\$(shell \$(top_srcdir)/get_cl_revision.sh \$(top_srcdir)/ChangeLog)" -+AM_PACKAGE_SVN_VERSION=`./get_cl_revision.sh ChangeLog` -+ -+AM_CFLAGS="-DGPUTILS_SVN_VERSION=\$(AM_GPUTILS_SVN_VERSION)" - AM_LDFLAGS= - - # Options for the system on which the package will run. - case "${host}" in - *cygwin* ) - if test "x$GCC" = "xyes"; then -- AM_CFLAGS="-Wall -pedantic" -+ AM_CFLAGS="$AM_CFLAGS -Wall -pedantic" - AM_LDFLAGS="-Wl,-warn-common -Wl,-warn-once" - fi - ;; - *darwin* ) - if test "x$CC" = "xclang"; then -- AM_CFLAGS="-Wall -pedantic -Wformat -Wtautological-compare -Wimplicit-function-declaration -Wformat-security" -+ AM_CFLAGS="$AM_CFLAGS -Wall -pedantic -Wformat -Wtautological-compare -Wimplicit-function-declaration -Wformat-security" - fi - ;; - *linux* ) - if test "x$CC" = "xclang"; then -- AM_CFLAGS="-Wall -pedantic -Wformat -Wtautological-compare -Wimplicit-function-declaration -Wformat-security" -+ AM_CFLAGS="$AM_CFLAGS -Wall -pedantic -Wformat -Wtautological-compare -Wimplicit-function-declaration -Wformat-security" - AM_LDFLAGS="-Wl,-warn-common -Wl,-warn-once" - else - if test "x$GCC" = "xyes"; then -- AM_CFLAGS="-Wall -pedantic -Wformat -Wimplicit-function-declaration -Wformat-security" -+ AM_CFLAGS="$AM_CFLAGS -Wall -pedantic -Wformat -Wimplicit-function-declaration -Wformat-security" - AM_LDFLAGS="-Wl,-warn-common -Wl,-warn-once" - fi - fi -@@ -192,33 +204,20 @@ - *-pc-os2_emx | *-pc-os2-emx ) - EXEEXT=".exe" - if test "x$GCC" = "xyes"; then -- AM_CFLAGS="-Zcrtdll" -+ AM_CFLAGS="$AM_CFLAGS -Zcrtdll" - fi - ;; - *sun* ) - # sunos cc needs the -xCC flag for // comments - if test "x$GCC" != "xyes"; then -- AM_CFLAGS="-xCC" -+ AM_CFLAGS="$AM_CFLAGS -xCC" - fi - ;; - esac -- --VERSION_MAJOR=`echo $PACKAGE_VERSION | $AWK 'BEGIN {FS="."} {print $1}'` --VERSION_MINOR=`echo $PACKAGE_VERSION | $AWK 'BEGIN {FS="."} {print $2}'` --VERSION_MICRO=`echo $PACKAGE_VERSION | $AWK 'BEGIN {FS="."} {print $3}'` -- --AC_DEFINE_UNQUOTED(GPUTILS_VERSION_MAJOR, $VERSION_MAJOR, [gputils major version number]) --AC_DEFINE_UNQUOTED(GPUTILS_VERSION_MINOR, $VERSION_MINOR, [gputils minor version number]) --AC_DEFINE_UNQUOTED(GPUTILS_VERSION_MICRO, $VERSION_MICRO, [gputils micro version number]) --AC_DEFINE_UNQUOTED(GPUTILS_VERSION_STR, "$PACKAGE_VERSION", [gputils version string]) -- --AM_GPUTILS_SVN_VERSION="\$(shell \$(top_srcdir)/get_cl_revision.sh \$(top_srcdir)/ChangeLog)" --AM_PACKAGE_SVN_VERSION=`./get_cl_revision.sh ChangeLog` --CFLAGS="-DGPUTILS_SVN_VERSION=\$(AM_GPUTILS_SVN_VERSION)" - - # Host filesystem options. - case "${host}" in -- *mingw* | *-pc-os2_emx | *-pc-os2-emx | *djgpp*) -+ *mingw* | *-pc-os2_emx | *-pc-os2-emx | *djgpp* ) - AC_DEFINE(HAVE_DOS_BASED_FILE_SYSTEM, 1, - [Define if your host uses a DOS based file system.]) - ;; -@@ -231,15 +230,13 @@ - fi - - if test x$enable_gdb_debuginfo = xyes; then -- CFLAGS="$CFLAGS -ggdb" -+ AM_CFLAGS="$AM_CFLAGS -ggdb" - fi - - if test x$enable_gputils_path = xyes; then - AC_DEFINE(USE_DEFAULT_PATHS, 1, - [Define if you want to add default search paths.]) - fi -- --LDFLAGS= - - # Substitute configuration variables. - AC_SUBST(ENABLE_HTML_DOC) -@@ -248,8 +245,6 @@ - AC_SUBST(AM_PACKAGE_SVN_VERSION) - AC_SUBST(AM_CFLAGS) - AC_SUBST(AM_LDFLAGS) --AC_SUBST(CFLAGS) --AC_SUBST(LDFLAGS) - AC_SUBST(GPUTILS_HEADER_PATH) - AC_SUBST(GPUTILS_LKR_PATH) - AC_SUBST(GPUTILS_LIB_PATH) -@@ -301,6 +296,7 @@ - Source directory: $srcdir - Installation prefix: $prefix - C compiler: $CC $AM_CFLAGS $CFLAGS -+ C linker: $CC $AM_LDFLAGS - Location of MPLAB-X: $DEFAULT_MPLABX_PATH - - ]) 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.0.ebuild b/dev-embedded/gputils/gputils-1.5.2.ebuild index 508c9285573c..c3118abad87d 100644 --- a/dev-embedded/gputils/gputils-1.5.0.ebuild +++ b/dev-embedded/gputils/gputils-1.5.2.ebuild @@ -1,26 +1,25 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -inherit autotools toolchain-funcs +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.gz" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" LICENSE="GPL-2" SLOT="0" -KEYWORDS="amd64 ppc ppc64 x86" +KEYWORDS="amd64 ~arm64 ppc ppc64 x86" +IUSE="doc" PATCHES=( - "${FILESDIR}"/${P}-respect-flags.patch + "${FILESDIR}"/gputils-1.5.2-fix-invalid-operator.patch ) src_prepare() { default - - # Only needed for the flags patch, if a new release ever comes... eautoreconf } @@ -32,11 +31,17 @@ src_configure() { # compiler selection. Force our own defaults instead. tc-export CC - econf + # LTO currently causes various segfaults in dev-embedded/sdcc + # sys-devel/gcc-11.3.0 '-O3 -flto' + filter-lto + + local myeconfargs=( + $(use_enable doc html-doc) + ) + econf "${myeconfargs[@]}" } src_install() { default - - dodoc doc/gputils.pdf + use doc && dodoc doc/gputils.pdf } diff --git a/dev-embedded/icdprog/icdprog-0.5.ebuild b/dev-embedded/icdprog/icdprog-0.5.ebuild index 41a887a64a6d..a177b703b1a2 100644 --- a/dev-embedded/icdprog/icdprog-0.5.ebuild +++ b/dev-embedded/icdprog/icdprog-0.5.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -6,7 +6,7 @@ EAPI=7 inherit toolchain-funcs DESCRIPTION="Microchip PIC Programmer using ICD hardware" -HOMEPAGE="http://icdprog.sf.net/" +HOMEPAGE="https://icdprog.sf.net/" SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" LICENSE="GPL-2" diff --git a/dev-embedded/include/include-0.4.2.ebuild b/dev-embedded/include/include-0.4.2.ebuild index dfa827f0951c..4ea322985dfe 100644 --- a/dev-embedded/include/include-0.4.2.ebuild +++ b/dev-embedded/include/include-0.4.2.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 DESCRIPTION="A collection of useful, independent include files for C/Assembler developers" -HOMEPAGE="http://openwince.sourceforge.net/include/" +HOMEPAGE="https://openwince.sourceforge.net/include/" SRC_URI="mirror://sourceforge/openwince/${P}.tar.bz2" LICENSE="BSD" diff --git a/dev-embedded/jal/files/jal-0.4.62-fix-incompatible-integer-to-pointer-clang16.patch b/dev-embedded/jal/files/jal-0.4.62-fix-incompatible-integer-to-pointer-clang16.patch new file mode 100644 index 000000000000..77536e0fefac --- /dev/null +++ b/dev-embedded/jal/files/jal-0.4.62-fix-incompatible-integer-to-pointer-clang16.patch @@ -0,0 +1,22 @@ +Bug: https://bugs.gentoo.org/883243 +--- a/jal/treerep.c ++++ b/jal/treerep.c +@@ -892,7 +892,7 @@ tree new_asm(loc_t loc, opcode_t opcode, tree arg1, int arg2) + + + if (code_has(p->opcode, field_flabel)) { +- assert_pointer(NULL, arg2); ++ assert_pointer(NULL, (void *)arg2); + p->next = new_const(new_value(type_universal, arg2)); + } + +--- a/jal/treetools.c ++++ b/jal/treetools.c +@@ -600,7 +600,6 @@ tree arg(tree p, int n, boolean must_find) + #endif + assert_kind(p->loc, p, node_procedure); + /* jal_assert(p->loc, n > 0); */ +- assert_pointer(p->loc, n > 0); + p = p->first; + assert_pointer(NULL, p); + diff --git a/dev-embedded/jal/jal-0.4.62-r1.ebuild b/dev-embedded/jal/jal-0.4.62-r1.ebuild new file mode 100644 index 000000000000..92343e68b945 --- /dev/null +++ b/dev-embedded/jal/jal-0.4.62-r1.ebuild @@ -0,0 +1,25 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="A high-level language for Microchip PIC and Ubicom SX microcontrollers" +HOMEPAGE="https://jal.sourceforge.net/" +SRC_URI="mirror://sourceforge/jal/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +S="${WORKDIR}/${PN}" + +PATCHES=( + "${FILESDIR}"/${PN}-0.4.62-fix-incompatible-integer-to-pointer-clang16.patch +) + +src_prepare() { + default + eautoreconf +} diff --git a/dev-embedded/jal/jal-0.4.62.ebuild b/dev-embedded/jal/jal-0.4.62.ebuild index bd489fc91e3e..0d5e5a8e3c6d 100644 --- a/dev-embedded/jal/jal-0.4.62.ebuild +++ b/dev-embedded/jal/jal-0.4.62.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 DESCRIPTION="A high-level language for Microchip PIC and Ubicom SX microcontrollers" -HOMEPAGE="http://jal.sourceforge.net/" +HOMEPAGE="https://jal.sourceforge.net/" SRC_URI="mirror://sourceforge/jal/${P}.tar.gz" LICENSE="GPL-2" diff --git a/dev-embedded/libdisasm/libdisasm-0.23.ebuild b/dev-embedded/libdisasm/libdisasm-0.23.ebuild index 732ccd521c0a..efa0c8af8724 100644 --- a/dev-embedded/libdisasm/libdisasm-0.23.ebuild +++ b/dev-embedded/libdisasm/libdisasm-0.23.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -6,7 +6,7 @@ EAPI=7 inherit toolchain-funcs DESCRIPTION="Provides basic disassembly of Intel x86 instructions from a binary stream" -HOMEPAGE="http://bastard.sourceforge.net/libdisasm.html" +HOMEPAGE="https://bastard.sourceforge.net/libdisasm.html" SRC_URI="mirror://sourceforge/project/bastard/${PN}/${PV}/${P}.tar.gz" LICENSE="Clarified-Artistic" diff --git a/dev-embedded/libftd2xx/Manifest b/dev-embedded/libftd2xx/Manifest index 5ad4959cd384..83c2e5289508 100644 --- a/dev-embedded/libftd2xx/Manifest +++ b/dev-embedded/libftd2xx/Manifest @@ -1,3 +1,3 @@ -DIST libftd2xx-arm-v6-hf-1.4.8.tar.gz 882724 BLAKE2B 4ffe647272467698cfe10a2ef201f8adb4bc991df517945ee8f057a07e55c4804bc4d541b6e2bd523fc4f6375b0a28ae7241fdafaed9eae61739d83d0327540a SHA512 bd07f57f9a75c2195aaf71ed1c229e04256a9c9a59f3d2e8f2111bef8a1c58c05457b5d04d7a8f77f9daf076ce3f0b77e317ff1cedce4e3cd4146422cd5cf634 -DIST libftd2xx-i386-1.4.8.tar.gz 891331 BLAKE2B 742be8418ac598b0c4b6b1e4be99a57c85e70310c2a15936dba3a765b0168eac37a080619ed92816a96f93106f96b812545d1cf212f5d6d32b03e5100870f6a7 SHA512 d66415b9ecdc2b38370c2c6b97e5d14c3891910ceaf5aee2740b2e893891c4f2ebf395960748d55508f4b63edd3d829d9c0020898c1b83b453496d18b4a85528 -DIST libftd2xx-x86_64-1.4.8.tar.gz 898269 BLAKE2B e491b58f66ec64014511469e7eb0a628e799ffa4cc52cb94ca66c082dbc56793e3435a80bde7433ce1bea96eea1a52461606ce78a9b2e447f3f9c5a7faef1f1b SHA512 b738b764bcebb5f93f5a968b266547b8775cbc72df8587bfcf67591ce95557b6a43dce2f5dbd9de451f8c9421ec41c25c8fb9bed37b76aec4cd5bac854d4af06 +DIST libftd2xx-arm-v6-hf-1.4.27.tar.gz 629185 BLAKE2B 31a94f0bfb5fd66c603a1074ac8286f44a35155f77deab4b9f71485249073faa8a2ff4b448baab6153ea9d84e2f89b45629cb8e738e14f066bc847fc0f476b68 SHA512 80ad93a90e4a112f8a58267c9ff80e5483a45d60869eb02fa82a56b452a860ef68f2086ccb51f71a5f4d5b4dbbf30a85a6aac82a7a27b5337b9693535184387b +DIST libftd2xx-x86_32-1.4.27.tar.gz 645954 BLAKE2B 11c4268f6a5d73609a596fcdf04844a4de1c1647aa713a0aa78fb794d81101020cf06a26e86a72e5aeac68be9133a32fc0b827b644c844a3c1b8e03a8da53e08 SHA512 22623d49eca62d6aebe1c9b1cdd2c74e121983518e5e0a331bbc2375788b19967c9ceb2699ca07b9805930e317172cdfae5c37fba118060a96a2d86f0a19752b +DIST libftd2xx-x86_64-1.4.27.tar.gz 649157 BLAKE2B 7751002bb5920aa3746b92d5349b93e1c2c205f2c2cf46e73c13a823ce846067adeb07d0416a1b606f9554a703290297e205d30ea3db7e60a1b1189dca963246 SHA512 1eccbd69cd29716c1024f46564fa2c8f4a21795fd432448fed156b55c1f0ad5fc5c869ebd450e82774b65ce96a27f5f34843036c6843f57b083043139aabd38d diff --git a/dev-embedded/libftd2xx/libftd2xx-1.4.27.ebuild b/dev-embedded/libftd2xx/libftd2xx-1.4.27.ebuild new file mode 100644 index 000000000000..3a51e746efc3 --- /dev/null +++ b/dev-embedded/libftd2xx/libftd2xx-1.4.27.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Library that allows a direct access to a USB device" +HOMEPAGE="https://ftdichip.com/drivers/d2xx-drivers/" +# NOTE: We could include other arm versions here too. +SRC_URI=" + amd64? ( https://ftdichip.com/wp-content/uploads/2022/07/${PN}-x86_64-${PV}.tgz -> ${PN}-x86_64-${PV}.tar.gz ) + arm? ( https://ftdichip.com/wp-content/uploads/2022/07/${PN}-arm-v6-hf-${PV}.tgz -> ${PN}-arm-v6-hf-${PV}.tar.gz ) + x86? ( https://ftdichip.com/wp-content/uploads/2022/07/${PN}-x86_32-${PV}.tgz -> ${PN}-x86_32-${PV}.tar.gz ) +" +S="${WORKDIR}" + +LICENSE="FTDI LGPL-2.1+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="examples" + +QA_PREBUILT="*" + +src_install() { + cd release/build || die + + dolib.so ${PN}.so.${PV} + dosym ${PN}.so.${PV} /usr/$(get_libdir)/${PN}.so.${PV:0:1} + dosym ${PN}.so.${PV:0:1} /usr/$(get_libdir)/${PN}.so + insinto /usr/include + doins "${S}"/release/ftd2xx.h "${S}"/release/WinTypes.h + + if use examples ; then + docinto sample + dodoc -r "${S}"/release/examples + fi + + dodoc "${S}"/release/ReadMe.txt +} diff --git a/dev-embedded/libftd2xx/libftd2xx-1.4.8.ebuild b/dev-embedded/libftd2xx/libftd2xx-1.4.8.ebuild deleted file mode 100644 index 7cc07d14af95..000000000000 --- a/dev-embedded/libftd2xx/libftd2xx-1.4.8.ebuild +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -DESCRIPTION="Library that allows a direct access to a USB device" -HOMEPAGE="https://www.ftdichip.com/drivers/d2xx-drivers/" -# NOTE: We could include other arm versions here too. -SRC_URI=" - amd64? ( https://www.ftdichip.com/Drivers/D2XX/Linux/${PN}-x86_64-${PV}.gz -> ${PN}-x86_64-${PV}.tar.gz ) - arm? ( https://www.ftdichip.com/Drivers/D2XX/Linux/${PN}-arm-v6-hf-${PV}.gz -> ${PN}-arm-v6-hf-${PV}.tar.gz ) - x86? ( https://www.ftdichip.com/Drivers/D2XX/Linux/${PN}-i386-${PV}.gz -> ${PN}-i386-${PV}.tar.gz ) -" -S="${WORKDIR}" - -LICENSE="FTDI LGPL-2.1+" -SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" -IUSE="examples" - -QA_PREBUILT="*" - -src_install() { - cd release/build || die - - into /opt - dolib.so ${PN}.so.${PV} - dosym ${PN}.so.${PV} /opt/$(get_libdir)/${PN}.so.${PV:0:1} - dosym ${PN}.so.${PV:0:1} /opt/$(get_libdir)/${PN}.so - insinto /usr/include - doins "${S}"/release/ftd2xx.h "${S}"/release/WinTypes.h - - dodir /etc/env.d - echo "LDPATH=\"/opt/$(get_libdir)\"" > "${ED}"/etc/env.d/50libftd2xx || die - - if use examples ; then - docinto sample - dodoc -r "${S}"/release/examples - fi - - dodoc "${S}"/release/ReadMe.txt -} diff --git a/dev-embedded/libftd2xx/metadata.xml b/dev-embedded/libftd2xx/metadata.xml index 85e4ed814fa2..d17e45aea3d5 100644 --- a/dev-embedded/libftd2xx/metadata.xml +++ b/dev-embedded/libftd2xx/metadata.xml @@ -1,5 +1,16 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<!-- maintainer-needed --> + <maintainer type="person" proxied="yes"> + <email>vowstar@gmail.com</email> + <name>Huang Rui</name> + </maintainer> + <maintainer type="project"> + <email>embedded@gentoo.org</email> + <name>Embedded Gentoo</name> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> </pkgmetadata> diff --git a/dev-embedded/libftdi/libftdi-0.20-r1.ebuild b/dev-embedded/libftdi/libftdi-0.20-r2.ebuild index c12bf68d6ff9..fc1fb5c7f519 100644 --- a/dev-embedded/libftdi/libftdi-0.20-r1.ebuild +++ b/dev-embedded/libftdi/libftdi-0.20-r2.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_COMPAT=( python3_{10..11} ) inherit cmake python-single-r1 if [[ ${PV} == 9999* ]] ; then @@ -11,7 +11,7 @@ if [[ ${PV} == 9999* ]] ; then EGIT_REPO_URI="git://developer.intra2net.com/${PN}" else SRC_URI="https://www.intra2net.com/en/developer/${PN}/download/${P}.tar.gz" - KEYWORDS="amd64 arm ~arm64 ppc ppc64 ~riscv sparc x86" + KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86" fi DESCRIPTION="Userspace access to FTDI USB interface chips" @@ -22,13 +22,17 @@ SLOT="0" IUSE="cxx doc examples python static-libs" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" -BDEPEND=" - doc? ( app-doc/doxygen ) - python? ( dev-lang/swig )" -RDEPEND="virtual/libusb:0 +RDEPEND=" + virtual/libusb:0 cxx? ( dev-libs/boost ) - python? ( ${PYTHON_DEPS} )" + doc? ( !dev-embedded/libftdi:1[doc] ) + python? ( ${PYTHON_DEPS} ) +" DEPEND="${RDEPEND}" +BDEPEND=" + doc? ( app-text/doxygen ) + python? ( dev-lang/swig ) +" PATCHES=( "${FILESDIR}"/${P}-cmake-include.patch @@ -70,7 +74,7 @@ src_install() { dodoc ChangeLog README if use doc ; then - # Clean up crap man pages. #356369 + # Clean up man pages with too generic names. #356369 rm -vf "${BUILD_DIR}"/doc/man/man3/{_,usb_,deprecated}* || die doman "${BUILD_DIR}"/doc/man/man3/* diff --git a/dev-embedded/libftdi/libftdi-0.20-r3.ebuild b/dev-embedded/libftdi/libftdi-0.20-r3.ebuild new file mode 100644 index 000000000000..da4a55f0c65e --- /dev/null +++ b/dev-embedded/libftdi/libftdi-0.20-r3.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +inherit cmake python-single-r1 + +if [[ ${PV} == 9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="git://developer.intra2net.com/${PN}" +else + SRC_URI="https://www.intra2net.com/en/developer/${PN}/download/${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +DESCRIPTION="Userspace access to FTDI USB interface chips" +HOMEPAGE="https://www.intra2net.com/en/developer/libftdi/" + +LICENSE="LGPL-2" +SLOT="0" +IUSE="cxx doc examples python static-libs" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + virtual/libusb:0 + cxx? ( dev-libs/boost ) + doc? ( !dev-embedded/libftdi:1[doc] ) + python? ( ${PYTHON_DEPS} ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + doc? ( app-text/doxygen ) + python? ( >=dev-lang/swig-4.2.0 ) +" + +PATCHES=( + "${FILESDIR}"/${P}-cmake-include.patch + "${FILESDIR}"/${P}-cmake-version.patch +) + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + if use python; then + sed -i \ + -e "s:[$]{PYTHON_LIB_INSTALL}/../site-packages:$(python_get_sitedir):" \ + bindings/CMakeLists.txt || die + fi + sed -i \ + -e '/SET(LIB_SUFFIX /d' \ + CMakeLists.txt || die + + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DFTDIPP=$(usex cxx) + -DDOCUMENTATION=$(usex doc) + -DEXAMPLES=$(usex examples) + -DPYTHON_BINDINGS=$(usex python) + -DCMAKE_SKIP_BUILD_RPATH=ON + ) + + cmake_src_configure +} + +src_install() { + cmake_src_install + use python && python_optimize + dodoc ChangeLog README + + if use doc ; then + # Clean up man pages with too generic names. #356369 + rm -vf "${BUILD_DIR}"/doc/man/man3/{_,usb_,deprecated}* || die + + doman "${BUILD_DIR}"/doc/man/man3/* + dodoc -r "${BUILD_DIR}"/doc/html + fi + + if use examples ; then + docinto examples + dodoc examples/*.c + fi + + use static-libs || rm "${ED}"/usr/$(get_libdir)/${PN}.a || die +} diff --git a/dev-embedded/libftdi/libftdi-1.5-r4.ebuild b/dev-embedded/libftdi/libftdi-1.5-r5.ebuild index 903865676551..8f815a1699dd 100644 --- a/dev-embedded/libftdi/libftdi-1.5-r4.ebuild +++ b/dev-embedded/libftdi/libftdi-1.5-r5.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_COMPAT=( python3_{10..11} ) inherit cmake python-single-r1 MY_P="${PN}1-${PV}" @@ -15,6 +15,11 @@ else S="${WORKDIR}/${MY_P}" KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" + + PATCHES=( + "${FILESDIR}"/${P}-tests-no-cxx.patch + "${FILESDIR}"/${P}-cmake-cxx.patch + ) fi DESCRIPTION="Userspace access to FTDI USB interface chips" @@ -26,25 +31,20 @@ IUSE="cxx doc examples python test tools" RESTRICT="!test? ( test )" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" -BDEPEND=" - doc? ( app-doc/doxygen ) - python? ( dev-lang/swig )" RDEPEND=" virtual/libusb:1 cxx? ( dev-libs/boost ) + doc? ( !dev-embedded/libftdi:0[doc] ) python? ( ${PYTHON_DEPS} ) - tools? ( - !<dev-embedded/ftdi_eeprom-1.0 - dev-libs/confuse:= - )" + tools? ( dev-libs/confuse:= ) +" DEPEND="${RDEPEND} test? ( dev-libs/boost ) " - -PATCHES=( - "${FILESDIR}"/${P}-tests-no-cxx.patch - "${FILESDIR}"/${P}-cmake-cxx.patch -) +BDEPEND=" + doc? ( app-text/doxygen ) + python? ( dev-lang/swig ) +" pkg_setup() { use python && python-single-r1_pkg_setup @@ -76,7 +76,7 @@ src_install() { dodoc AUTHORS ChangeLog README TODO if use doc ; then - # Clean up crap man pages. #356369 + # Clean up man pages with too generic names. #356369 rm -vf "${BUILD_DIR}"/doc/man/man3/_* || die doman "${BUILD_DIR}"/doc/man/man3/* diff --git a/dev-embedded/libftdi/libftdi-1.5-r6.ebuild b/dev-embedded/libftdi/libftdi-1.5-r6.ebuild new file mode 100644 index 000000000000..267cb1a06ce6 --- /dev/null +++ b/dev-embedded/libftdi/libftdi-1.5-r6.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +inherit cmake python-single-r1 + +MY_P="${PN}1-${PV}" +if [[ ${PV} == 9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="git://developer.intra2net.com/${PN}" +else + SRC_URI="https://www.intra2net.com/en/developer/${PN}/download/${MY_P}.tar.bz2" + S="${WORKDIR}/${MY_P}" + + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + + PATCHES=( + "${FILESDIR}"/${P}-tests-no-cxx.patch + "${FILESDIR}"/${P}-cmake-cxx.patch + ) +fi + +DESCRIPTION="Userspace access to FTDI USB interface chips" +HOMEPAGE="https://www.intra2net.com/en/developer/libftdi/" + +LICENSE="LGPL-2" +SLOT="1" +IUSE="cxx doc examples python test tools" +RESTRICT="!test? ( test )" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + virtual/libusb:1 + cxx? ( dev-libs/boost ) + doc? ( !dev-embedded/libftdi:0[doc] ) + python? ( ${PYTHON_DEPS} ) + tools? ( dev-libs/confuse:= ) +" +DEPEND="${RDEPEND} + test? ( dev-libs/boost ) +" +BDEPEND=" + doc? ( app-text/doxygen ) + python? ( >=dev-lang/swig-4.2.0 ) +" + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_configure() { + local mycmakeargs=( + -DFTDIPP=$(usex cxx) + -DDOCUMENTATION=$(usex doc) + -DEXAMPLES=$(usex examples) + -DPYTHON_BINDINGS=$(usex python) + -DBUILD_TESTS=$(usex test) + -DFTDI_EEPROM=$(usex tools) + -DCMAKE_SKIP_BUILD_RPATH=ON + -DSTATICLIBS=OFF + ) + cmake_src_configure +} + +src_test() { + cd "${BUILD_DIR}/test" || die + LD_LIBRARY_PATH="${BUILD_DIR}/src" ./test_libftdi1 -l all || die +} + +src_install() { + cmake_src_install + + use python && python_optimize + dodoc AUTHORS ChangeLog README TODO + + if use doc ; then + # Clean up man pages with too generic names. #356369 + rm -vf "${BUILD_DIR}"/doc/man/man3/_* || die + + doman "${BUILD_DIR}"/doc/man/man3/* + dodoc -r "${BUILD_DIR}"/doc/html + fi + + if use examples ; then + docinto examples + dodoc examples/*.c + fi +} diff --git a/dev-embedded/libftdi/libftdi-9999.ebuild b/dev-embedded/libftdi/libftdi-9999.ebuild index e59e64110b94..0430681351f7 100644 --- a/dev-embedded/libftdi/libftdi-9999.ebuild +++ b/dev-embedded/libftdi/libftdi-9999.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_COMPAT=( python3_{10..12} ) inherit cmake python-single-r1 MY_P="${PN}1-${PV}" @@ -14,7 +14,12 @@ else SRC_URI="https://www.intra2net.com/en/developer/${PN}/download/${MY_P}.tar.bz2" S="${WORKDIR}/${MY_P}" - KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + + PATCHES=( + "${FILESDIR}"/${P}-tests-no-cxx.patch + "${FILESDIR}"/${P}-cmake-cxx.patch + ) fi DESCRIPTION="Userspace access to FTDI USB interface chips" @@ -26,20 +31,19 @@ IUSE="cxx doc examples python test tools" RESTRICT="!test? ( test )" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" -BDEPEND=" - doc? ( app-doc/doxygen ) - python? ( dev-lang/swig )" RDEPEND=" virtual/libusb:1 cxx? ( dev-libs/boost ) python? ( ${PYTHON_DEPS} ) - tools? ( - !<dev-embedded/ftdi_eeprom-1.0 - dev-libs/confuse:= - )" + tools? ( dev-libs/confuse:= ) +" DEPEND="${RDEPEND} test? ( dev-libs/boost ) " +BDEPEND=" + doc? ( app-text/doxygen ) + python? ( >=dev-lang/swig-4.2.0 ) +" pkg_setup() { use python && python-single-r1_pkg_setup @@ -71,7 +75,7 @@ src_install() { dodoc AUTHORS ChangeLog README TODO if use doc ; then - # Clean up crap man pages. #356369 + # Clean up man pages with too generic names. #356369 rm -vf "${BUILD_DIR}"/doc/man/man3/_* || die doman "${BUILD_DIR}"/doc/man/man3/* diff --git a/dev-embedded/libjaylink/libjaylink-0.3.1.ebuild b/dev-embedded/libjaylink/libjaylink-0.3.1.ebuild index acb1508d8178..efa49fe3dcb0 100644 --- a/dev-embedded/libjaylink/libjaylink-0.3.1.ebuild +++ b/dev-embedded/libjaylink/libjaylink-0.3.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -11,7 +11,7 @@ SRC_URI="https://gitlab.zapb.de/libjaylink/libjaylink/-/archive/${PV}/${P}.tar.b LICENSE="GPL-2+" SLOT="0" -KEYWORDS="amd64 arm ~riscv x86" +KEYWORDS="amd64 arm ~loong ~riscv x86" DEPEND="virtual/libusb:1" RDEPEND="${DEPEND}" diff --git a/dev-embedded/mcu8051ide/mcu8051ide-1.4.10-r1.ebuild b/dev-embedded/mcu8051ide/mcu8051ide-1.4.10-r1.ebuild index 25736dcc3994..11d5acc69d11 100644 --- a/dev-embedded/mcu8051ide/mcu8051ide-1.4.10-r1.ebuild +++ b/dev-embedded/mcu8051ide/mcu8051ide-1.4.10-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -15,7 +15,7 @@ KEYWORDS="~amd64" # The doxygen dependency is suspect, but it appears to be used at runtime. RDEPEND=" - >=app-doc/doxygen-1.7 + >=app-text/doxygen-1.7 >=app-text/hunspell-1.3 >=dev-embedded/sdcc-2.5[mcs51] >=dev-lang/tcl-8.5.9:* diff --git a/dev-embedded/mcu8051ide/metadata.xml b/dev-embedded/mcu8051ide/metadata.xml index e72f952f3b57..b14cae3a5f32 100644 --- a/dev-embedded/mcu8051ide/metadata.xml +++ b/dev-embedded/mcu8051ide/metadata.xml @@ -8,5 +8,6 @@ <email>martin.osmera@gmail.com</email> <name>Martin Osmera</name> </maintainer> + <remote-id type="sourceforge">mcu8051ide</remote-id> </upstream> </pkgmetadata> diff --git a/dev-embedded/mspdebug/mspdebug-0.25.ebuild b/dev-embedded/mspdebug/mspdebug-0.25-r1.ebuild index a4ff1ba9081b..1b68b8fafadc 100644 --- a/dev-embedded/mspdebug/mspdebug-0.25.ebuild +++ b/dev-embedded/mspdebug/mspdebug-0.25-r1.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=8 inherit toolchain-funcs @@ -24,10 +24,10 @@ src_prepare() { } src_compile() { - emake CC="$(tc-getCC)" LIBDIR=/usr/lib $(usex readline "" "WITHOUT_READLINE=1") + emake CC="$(tc-getCC)" LIBDIR=/usr/$(get_libdir) $(usex readline "" "WITHOUT_READLINE=1") } src_install() { - emake DESTDIR="${ED}" LIBDIR=/usr/lib PREFIX=/usr install - dodoc AUTHORS ChangeLog README + emake DESTDIR="${ED}" LIBDIR=/usr/$(get_libdir) PREFIX=/usr install + einstalldocs } diff --git a/dev-embedded/nodemcu-uploader/nodemcu-uploader-1.0.0-r1.ebuild b/dev-embedded/nodemcu-uploader/nodemcu-uploader-1.0.0-r1.ebuild new file mode 100644 index 000000000000..85ff04fa53c9 --- /dev/null +++ b/dev-embedded/nodemcu-uploader/nodemcu-uploader-1.0.0-r1.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9..11} ) +inherit distutils-r1 + +DESCRIPTION="Simple tool for uploading files to the filesystem of an ESP8266 running NodeMCU" +HOMEPAGE="https://github.com/kmpm/nodemcu-uploader" +SRC_URI="https://github.com/kmpm/nodemcu-uploader/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND=">=dev-python/pyserial-3.4[${PYTHON_USEDEP}]" + +distutils_enable_tests setup.py + +src_prepare() { + # https://bugs.gentoo.org/796422 + sed -i -e 's:description-file:description_file:' setup.cfg || die + + distutils-r1_src_prepare +} diff --git a/dev-embedded/nodemcu-uploader/nodemcu-uploader-1.0.0.ebuild b/dev-embedded/nodemcu-uploader/nodemcu-uploader-1.0.0.ebuild index f8f4861793bb..d6a6dde13414 100644 --- a/dev-embedded/nodemcu-uploader/nodemcu-uploader-1.0.0.ebuild +++ b/dev-embedded/nodemcu-uploader/nodemcu-uploader-1.0.0.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python3_{7..10} ) +PYTHON_COMPAT=( python3_{9..10} ) inherit distutils-r1 DESCRIPTION="Simple tool for uploading files to the filesystem of an ESP8266 running NodeMCU" diff --git a/dev-embedded/openocd/Manifest b/dev-embedded/openocd/Manifest index 399fea8ec02c..bfa1962f57ef 100644 --- a/dev-embedded/openocd/Manifest +++ b/dev-embedded/openocd/Manifest @@ -1 +1 @@ -DIST openocd-0.11.0.tar.gz 7233889 BLAKE2B 272088c261a066d0a99cbbf2ebbc324fc34bc168290bbf0beb4012655b6b54848cc48324f36c65860518160c3fe43abb8c9a5f5b03f0cbaf7cdfb928f8fb8eea SHA512 667c5bea4144653f7c1309457b3aed1e14713f222dab8f2bb67a8e6c69e124a0efc24cd8f76e2b929d4ced045de14517f3587870682d0394ec95ba52e343e19b +DIST openocd-0.12.0.tar.gz 8445833 BLAKE2B 82616ed1bf51588d2a19c56fab6a6944ac5fa22e07bc5f83962ff8fecd88faeceb33e2104acb3cd08710f7f96d578ccd4ef6282372ae9d206ab469b3ac70fff8 SHA512 2b95d30eb10316b5cf1b329e0214b8d9f3fbf1fda5fa5568acc8cb16cdc25aa58c211f17f9883d8e4b93bcda3f296e511c279b44d24db9303c26e6c6640540b0 diff --git a/dev-embedded/openocd/files/openocd-0.12.0-capstone-includedir.patch b/dev-embedded/openocd/files/openocd-0.12.0-capstone-includedir.patch new file mode 100644 index 000000000000..f2dbff6520e5 --- /dev/null +++ b/dev-embedded/openocd/files/openocd-0.12.0-capstone-includedir.patch @@ -0,0 +1,40 @@ +Bug: https://bugs.gentoo.org/889762 +diff --git a/contrib/cross-build.sh b/contrib/cross-build.sh +index b199bf715..919a22005 100755 +--- a/contrib/cross-build.sh ++++ b/contrib/cross-build.sh +@@ -155,7 +155,7 @@ if [ -d $CAPSTONE_SRC ] ; then + sed -i '1s;^;prefix=/usr \ + exec_prefix=${prefix} \ + libdir=${exec_prefix}/lib \ +-includedir=${prefix}/include/capstone\n\n;' $CAPSTONE_PC_FILE ++includedir=${prefix}/include\n\n;' $CAPSTONE_PC_FILE + fi + + +diff --git a/src/target/a64_disassembler.c b/src/target/a64_disassembler.c +index ca3d3ea7a..9579860f0 100644 +--- a/src/target/a64_disassembler.c ++++ b/src/target/a64_disassembler.c +@@ -15,7 +15,7 @@ + + #if HAVE_CAPSTONE + +-#include <capstone.h> ++#include <capstone/capstone.h> + + static void print_opcode(struct command_invocation *cmd, const cs_insn *insn) + { +diff --git a/src/target/arm_disassembler.c b/src/target/arm_disassembler.c +index 749274f36..e78d08853 100644 +--- a/src/target/arm_disassembler.c ++++ b/src/target/arm_disassembler.c +@@ -16,7 +16,7 @@ + #include <helper/log.h> + + #if HAVE_CAPSTONE +-#include <capstone.h> ++#include <capstone/capstone.h> + #endif + + /* diff --git a/dev-embedded/openocd/metadata.xml b/dev-embedded/openocd/metadata.xml index 2e7d93558d6d..358a9c0a93c5 100644 --- a/dev-embedded/openocd/metadata.xml +++ b/dev-embedded/openocd/metadata.xml @@ -17,6 +17,7 @@ <flag name="capstone">Use <pkg>dev-libs/capstone</pkg> for disassembly support</flag> <flag name="cmsis-dap">Support for CMSIS-DAP compliant adapters</flag> <flag name="dummy">Build the dummy port driver</flag> + <flag name="gpiod">Enable Linux GPIO bitbang support via libgpiod</flag> <flag name="jlink"> Build the SEGGER J-Link driver</flag> <flag name="ftdi">Enable support for USB FTDI chips via <pkg>dev-embedded/libftdi</pkg></flag> <flag name="parport">Enable support for parport JTAG devices</flag> @@ -24,5 +25,6 @@ </use> <upstream> <remote-id type="sourceforge">openocd</remote-id> + <remote-id type="cpe">cpe:/a:openocd:open_on-chip_debugger</remote-id> </upstream> </pkgmetadata> diff --git a/dev-embedded/openocd/openocd-0.11.0.ebuild b/dev-embedded/openocd/openocd-0.12.0-r1.ebuild index a9c78e5c1ea0..37a77f103946 100644 --- a/dev-embedded/openocd/openocd-0.11.0.ebuild +++ b/dev-embedded/openocd/openocd-0.12.0-r1.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit autotools udev @@ -17,7 +17,7 @@ else fi DESCRIPTION="OpenOCD - Open On-Chip Debugger" -HOMEPAGE="http://openocd.sourceforge.net" +HOMEPAGE="https://openocd.sourceforge.io" LICENSE="GPL-2+" SLOT="0" @@ -26,20 +26,21 @@ RESTRICT="strip" # includes non-native binaries RDEPEND=" acct-group/plugdev - >=dev-lang/jimtcl-0.76:= - <dev-lang/jimtcl-0.80:= + >=dev-lang/jimtcl-0.81:= + dev-libs/libgpiod:0/2 capstone? ( dev-libs/capstone ) cmsis-dap? ( dev-libs/hidapi ) jlink? ( >=dev-embedded/libjaylink-0.2.0 ) - usb? ( - virtual/libusb:0 - virtual/libusb:1 - ) + usb? ( virtual/libusb:1 ) ftdi? ( dev-embedded/libftdi:= )" DEPEND="${RDEPEND}" BDEPEND="virtual/pkgconfig" +PATCHES=( + "${FILESDIR}/${PN}-0.12.0-capstone-includedir.patch" +) + src_prepare() { default @@ -49,15 +50,19 @@ src_prepare() { src_configure() { local myconf=( --enable-amtjtagaccel + --enable-am335xgpio --enable-arm-jtag-ew --enable-at91rm9200 --enable-bcm2835gpio --enable-buspirate --enable-ep93xx --enable-gw16012 + --enable-jtag_dpi --enable-sysfsgpio + --enable-vdebug --disable-internal-jimtcl --disable-internal-libjaylink + --disable-parport-giveio --disable-werror $(use_with capstone) $(use_enable cmsis-dap) diff --git a/dev-embedded/openocd/openocd-0.12.0-r2.ebuild b/dev-embedded/openocd/openocd-0.12.0-r2.ebuild new file mode 100644 index 000000000000..698978b49848 --- /dev/null +++ b/dev-embedded/openocd/openocd-0.12.0-r2.ebuild @@ -0,0 +1,111 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools udev + +if [[ ${PV} == *9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI=" https://repo.or.cz/openocd.git" +else + MY_PV="${PV/_/-}" + MY_P="${PN}-${MY_PV}" + S="${WORKDIR}"/${MY_P} + KEYWORDS="~amd64 ~arm ~x86" + SRC_URI="mirror://sourceforge/project/${PN}/${PN}/${MY_PV}/${MY_P}.tar.gz" +fi + +DESCRIPTION="OpenOCD - Open On-Chip Debugger" +HOMEPAGE="https://openocd.sourceforge.io" + +LICENSE="GPL-2+" +SLOT="0" +IUSE="capstone +cmsis-dap dummy +ftdi gpiod +jlink parport +usb verbose-io" +RESTRICT="strip" # includes non-native binaries + +RDEPEND=" + acct-group/plugdev + >=dev-lang/jimtcl-0.81:= + gpiod? ( dev-libs/libgpiod:0/2 ) + capstone? ( dev-libs/capstone ) + cmsis-dap? ( dev-libs/hidapi ) + jlink? ( >=dev-embedded/libjaylink-0.2.0 ) + usb? ( virtual/libusb:1 ) + ftdi? ( dev-embedded/libftdi:= )" + +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}/${PN}-0.12.0-capstone-includedir.patch" +) + +src_prepare() { + default + + AT_NO_RECURSIVE=yes eautoreconf +} + +src_configure() { + local myconf=( + --enable-amtjtagaccel + --enable-am335xgpio + --enable-arm-jtag-ew + --enable-at91rm9200 + --enable-bcm2835gpio + --enable-buspirate + --enable-ep93xx + --enable-gw16012 + --enable-jtag_dpi + --enable-sysfsgpio + --enable-vdebug + --disable-internal-jimtcl + --disable-internal-libjaylink + --disable-parport-giveio + --disable-werror + $(use_with capstone) + $(use_enable cmsis-dap) + $(use_enable dummy) + $(use_enable ftdi openjtag) + $(use_enable ftdi presto) + $(use_enable ftdi usb-blaster) + $(use_enable gpiod linuxgpiod) + $(use_enable jlink) + $(use_enable parport) + $(use_enable parport parport_ppdev) + $(use_enable usb aice) + $(use_enable usb armjtagew) + $(use_enable usb ftdi) + $(use_enable usb osbdm) + $(use_enable usb opendous) + $(use_enable usb rlink) + $(use_enable usb stlink) + $(use_enable usb ti-icdi) + $(use_enable usb usbprog) + $(use_enable usb usb-blaster-2) + $(use_enable usb ulink) + $(use_enable usb vsllink) + $(use_enable verbose-io verbose-jtag-io) + $(use_enable verbose-io verbose-usb-io) + $(use_enable verbose-io verbose_usb_comms) + ) + + econf "${myconf[@]}" +} + +src_install() { + default + dostrip /usr/bin + udev_dorules "${ED}"/usr/share/${PN}/contrib/*.rules +} + +pkg_postinst() { + udev_reload + + elog "To access openocd devices as user you must be in the plugdev group" +} + +pkg_postrm() { + udev_reload +} diff --git a/dev-embedded/openocd/openocd-9999.ebuild b/dev-embedded/openocd/openocd-9999.ebuild index 569c77f75c26..bf5127f94e2c 100644 --- a/dev-embedded/openocd/openocd-9999.ebuild +++ b/dev-embedded/openocd/openocd-9999.ebuild @@ -1,12 +1,12 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -inherit udev +inherit autotools udev if [[ ${PV} == *9999 ]] ; then - inherit autotools git-r3 + inherit git-r3 EGIT_REPO_URI=" https://repo.or.cz/openocd.git" else MY_PV="${PV/_/-}" @@ -17,55 +17,56 @@ else fi DESCRIPTION="OpenOCD - Open On-Chip Debugger" -HOMEPAGE="http://openocd.sourceforge.net" +HOMEPAGE="https://openocd.sourceforge.io" LICENSE="GPL-2+" SLOT="0" -IUSE="+cmsis-dap dummy +ftdi +jlink parport +usb verbose-io" +IUSE="capstone +cmsis-dap dummy +ftdi gpiod +jlink parport +usb verbose-io" RESTRICT="strip" # includes non-native binaries RDEPEND=" acct-group/plugdev - >=dev-lang/jimtcl-0.80:= + >=dev-lang/jimtcl-0.81:= + gpiod? ( dev-libs/libgpiod:0/2 ) + capstone? ( dev-libs/capstone ) cmsis-dap? ( dev-libs/hidapi ) jlink? ( >=dev-embedded/libjaylink-0.2.0 ) - usb? ( - virtual/libusb:0 - virtual/libusb:1 - ) + usb? ( virtual/libusb:1 ) ftdi? ( dev-embedded/libftdi:= )" DEPEND="${RDEPEND}" -BDEPEND=" - sys-apps/texinfo - virtual/pkgconfig" +BDEPEND="virtual/pkgconfig" src_prepare() { default - if [[ ${PV} == *9999 ]] ; then - AT_NO_RECURSIVE=yes eautoreconf - fi + AT_NO_RECURSIVE=yes eautoreconf } src_configure() { local myconf=( --enable-amtjtagaccel + --enable-am335xgpio --enable-arm-jtag-ew --enable-at91rm9200 --enable-bcm2835gpio --enable-buspirate --enable-ep93xx --enable-gw16012 + --enable-jtag_dpi --enable-sysfsgpio + --enable-vdebug --disable-internal-jimtcl --disable-internal-libjaylink + --disable-parport-giveio --disable-werror + $(use_with capstone) $(use_enable cmsis-dap) $(use_enable dummy) $(use_enable ftdi openjtag) $(use_enable ftdi presto) $(use_enable ftdi usb-blaster) + $(use_enable gpiod linuxgpiod) $(use_enable jlink) $(use_enable parport) $(use_enable parport parport_ppdev) diff --git a/dev-embedded/parapin/parapin-1.5.0-r1.ebuild b/dev-embedded/parapin/parapin-1.5.0-r1.ebuild index eb1ca039789c..2a6d167d64d5 100644 --- a/dev-embedded/parapin/parapin-1.5.0-r1.ebuild +++ b/dev-embedded/parapin/parapin-1.5.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -6,7 +6,7 @@ EAPI=8 inherit toolchain-funcs DESCRIPTION="A parallel port pin programming library" -HOMEPAGE="http://parapin.sourceforge.net/" +HOMEPAGE="https://parapin.sourceforge.net/" SRC_URI="mirror://sourceforge/${PN}/${P}.tgz" LICENSE="LGPL-2.1" diff --git a/dev-embedded/parapin/parapin-1.5.1_beta1-r1.ebuild b/dev-embedded/parapin/parapin-1.5.1_beta1-r1.ebuild index ec6e6a5c1db3..362ef34eb18d 100644 --- a/dev-embedded/parapin/parapin-1.5.1_beta1-r1.ebuild +++ b/dev-embedded/parapin/parapin-1.5.1_beta1-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -6,7 +6,7 @@ EAPI=8 inherit toolchain-funcs DESCRIPTION="A parallel port pin programming library" -HOMEPAGE="http://parapin.sourceforge.net/" +HOMEPAGE="https://parapin.sourceforge.net/" SRC_URI="mirror://sourceforge/${PN}/${P/_/-}.tgz" S="${WORKDIR}/${P/_/-}" diff --git a/dev-embedded/picotool/Manifest b/dev-embedded/picotool/Manifest index be1eb2c00070..3d6cae10ab17 100644 --- a/dev-embedded/picotool/Manifest +++ b/dev-embedded/picotool/Manifest @@ -1,2 +1,2 @@ DIST pico-sdk-1.4.0.tar.gz 959068 BLAKE2B 95c5e61c4d66c345daa4b8aff8e9e2cd90bcc722289ac67c1a18ce00dfa02ef7fb07512a0fdc7558f989746c215cff31979f1ad8a582e20ff2d151fdd109914f SHA512 4be28cf41e5b808a504b4c949f6c3e9fbc425beb4f838a7898bfd78925cc54e0390ff56c036bc7f60a26efac0d6c1bd811b27f7b60a1c8d7bb4750f3fa37690e -DIST picotool-1.1.0.tar.gz 43994 BLAKE2B 2b8536540be912418be1f0f0d93bb59b9cd4832ce46854478fb0bfbcb4463b49e4806068897a1d665b73ea7a764bf0d96f0a56cde01ef6503c74e1eadc4ed9c2 SHA512 5c13a88e90baed28cf435c7641a84c1c814fc473d57f2502ebb594d84c71bbe82632bf0d24b7755ebfec270d85f4588c488917a224b68c93f40573e956026efc +DIST picotool-1.1.2.tar.gz 45282 BLAKE2B b7425ae197adef3f72aafa9450338ab1c3ddd4b1a13ff9f4847951ee3d7fd91226f780061416c0d72f963ad0afcf4a14d85c72b6199482738eb5344c8dc6563f SHA512 63e0c77865243aca0b46cb844f5eb104c762d2b38f645c75f32224b61d9768ef0ba59b55d94480559627ec4b23ad6edc49d013f90646644a5dc798090d37a257 diff --git a/dev-embedded/picotool/files/picotool-1.1.2-musl.patch b/dev-embedded/picotool/files/picotool-1.1.2-musl.patch new file mode 100644 index 000000000000..77eeda5b6b9c --- /dev/null +++ b/dev-embedded/picotool/files/picotool-1.1.2-musl.patch @@ -0,0 +1,17 @@ +https://bugs.gentoo.org/867283 +https://wiki.gentoo.org/wiki/Musl_porting_notes#cdefs.h:_No_such_file_or_directory +--- a/pico-sdk/src/host/pico_platform/include/pico/platform.h ++++ b/pico-sdk/src/host/pico_platform/include/pico/platform.h +@@ -13,7 +13,11 @@ + + #ifdef __unix__ + +-#include <sys/cdefs.h> ++#if defined __has_include ++# if __has_include (<sys/cdefs.h>) ++# include <sys/cdefs.h> ++# endif ++#endif + + #endif + diff --git a/dev-embedded/picotool/picotool-1.1.0.ebuild b/dev-embedded/picotool/picotool-1.1.2.ebuild index bd7b207bbca2..fbed611955ca 100644 --- a/dev-embedded/picotool/picotool-1.1.0.ebuild +++ b/dev-embedded/picotool/picotool-1.1.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022 Gentoo Authors +# Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -27,9 +27,16 @@ RDEPEND="virtual/libusb:1" DEPEND="${RDEPEND}" BDEPEND="virtual/pkgconfig" +PATCHES=( "${FILESDIR}"/${PN}-1.1.2-musl.patch ) + +src_prepare() { + mv "${WORKDIR}"/${SDK_P} "${S}"/pico-sdk || die + cmake_src_prepare +} + src_configure() { local mycmakeargs=( - -DPICO_SDK_PATH="${WORKDIR}"/${SDK_P} + -DPICO_SDK_PATH="${S}"/pico-sdk ) cmake_src_configure } diff --git a/dev-embedded/platformio/Manifest b/dev-embedded/platformio/Manifest index 7c820c466860..9434f03835b0 100644 --- a/dev-embedded/platformio/Manifest +++ b/dev-embedded/platformio/Manifest @@ -1 +1 @@ -DIST platformio-6.1.5.tar.gz 290684 BLAKE2B 1beca08e70f6a932426e13e6b4755188ad2ac266c4b311b2e6ea560623ccc7479ad5fa1955c09e613eb62682164d1952be3b7f050a26d5a5b6bff26435bb2337 SHA512 43835a40636091d7062a1cbd96950ddb29592aba6c4eaeb80f37288f949bd95f3312cb5f33814cf8521e3b5bd3ceeb2e32e76c294ef5cbf992ed3c674d4a9ab7 +DIST platformio-6.1.11.gh.tar.gz 296333 BLAKE2B 17672b499eca9c828cd7c6ea6a4c8acea7287f42bb78d4fc5fbd11bb93175bb87d9c2d100270869bc99bc0db550b49c163555ddd8edb17b6b33ccc5f3623f768 SHA512 450e3d1dc3b9c8124b6254fbf0a05b207b834aa0661f083ee2915bde5064498b6d5af666ad851b737fa5627ed436db983e038f83ed0437a1e248749a0dcc99ba diff --git a/dev-embedded/platformio/metadata.xml b/dev-embedded/platformio/metadata.xml index 34f42ecf020c..87876d21d985 100644 --- a/dev-embedded/platformio/metadata.xml +++ b/dev-embedded/platformio/metadata.xml @@ -5,4 +5,7 @@ <email>alexxy@gentoo.org</email> <name>Alexey Shvetsov</name> </maintainer> + <upstream> + <remote-id type="github">platformio/platformio-core</remote-id> + </upstream> </pkgmetadata> diff --git a/dev-embedded/platformio/platformio-6.1.5.ebuild b/dev-embedded/platformio/platformio-6.1.11.ebuild index d19bf8c9d53a..98da137e5799 100644 --- a/dev-embedded/platformio/platformio-6.1.5.ebuild +++ b/dev-embedded/platformio/platformio-6.1.11.ebuild @@ -1,17 +1,17 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_SINGLE_IMPL=1 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_COMPAT=( python3_{10..12} ) inherit distutils-r1 udev DESCRIPTION="An open source ecosystem for IoT development" HOMEPAGE="https://platformio.org/" -SRC_URI="https://github.com/platformio/platformio-core/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI="https://github.com/platformio/platformio-core/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz" S="${WORKDIR}"/${PN}-core-${PV} LICENSE="BSD" @@ -20,24 +20,24 @@ KEYWORDS="~amd64 ~x86" RDEPEND=" $(python_gen_cond_dep ' - =dev-python/aiofiles-22.1*[${PYTHON_USEDEP}] + >=dev-python/aiofiles-22.1[${PYTHON_USEDEP}] dev-python/ajsonrpc[${PYTHON_USEDEP}] <dev-python/bottle-0.13[${PYTHON_USEDEP}] =dev-python/click-8*[${PYTHON_USEDEP}] dev-python/colorama[${PYTHON_USEDEP}] >=dev-python/pyserial-3[${PYTHON_USEDEP}] <dev-python/pyserial-4[${PYTHON_USEDEP}] - >=dev-python/python-zeroconf-0.37[${PYTHON_USEDEP}] + >=dev-python/zeroconf-0.37[${PYTHON_USEDEP}] =dev-python/requests-2*[${PYTHON_USEDEP}] - >=dev-python/semantic_version-2.9[${PYTHON_USEDEP}] - <dev-python/semantic_version-3[${PYTHON_USEDEP}] + >=dev-python/semantic-version-2.10[${PYTHON_USEDEP}] + <dev-python/semantic-version-3[${PYTHON_USEDEP}] =dev-python/tabulate-0.9*[${PYTHON_USEDEP}] dev-python/twisted[${PYTHON_USEDEP}] - >=dev-python/pyelftools-0.27[${PYTHON_USEDEP}] + >=dev-python/pyelftools-0.30[${PYTHON_USEDEP}] <dev-python/pyelftools-1[${PYTHON_USEDEP}] =dev-python/marshmallow-3*[${PYTHON_USEDEP}] - =dev-python/starlette-0.21*[${PYTHON_USEDEP}] - =dev-python/uvicorn-0.19*[${PYTHON_USEDEP}] + >=dev-python/starlette-0.21[${PYTHON_USEDEP}] + >=dev-python/uvicorn-0.19[${PYTHON_USEDEP}] dev-python/wsproto[${PYTHON_USEDEP}] ') virtual/udev" @@ -82,17 +82,21 @@ EPYTEST_DESELECT=( distutils_enable_tests pytest -src_prepare() { - # Allow newer versions of zeroconf, Bug #831181. - # Also wsproto. - # ... and semantic_version, bug #853247. +python_prepare_all() { + # Allow newer versions of: + # - zeroconf, bug #831181. + # - wsproto + # - semantic_version, bug #853247 + # - starlette & uvicorn, bug #888427 sed \ -e '/zeroconf/s/<[0-9.*]*//' \ -e '/wsproto/s/==.*/"/' \ -e '/semantic_version/s/==[0-9.*]*//' \ + -e '/starlette/s/==.*/"/' \ + -e '/uvicorn/s/==.*/"/' \ -i setup.py || die - default + distutils-r1_python_prepare_all } python_test() { @@ -101,7 +105,7 @@ python_test() { src_install() { distutils-r1_src_install - udev_dorules scripts/99-platformio-udev.rules + udev_dorules platformio/assets/system/99-platformio-udev.rules } pkg_postinst() { diff --git a/dev-embedded/ponyprog/Manifest b/dev-embedded/ponyprog/Manifest index dfd8d4148d94..2c76d4063274 100644 --- a/dev-embedded/ponyprog/Manifest +++ b/dev-embedded/ponyprog/Manifest @@ -1,2 +1 @@ -DIST ponyprog-3.1.2.tar.gz 1364636 BLAKE2B a913903278791d937266da50fcd5b5bda892dcc316011117816e37fc4ef03becce893b597fb34f2a6ef05b5692bb375e4ba10b04c079a63eb735aa0ddadb5ab9 SHA512 697c6fdc775629086a1c01ad94f291fda550a9ad6065e5fdff9db9fb035b8270ed9058894db7ca17d0daf2a26cc5e431415c160d61f65214677eae2109d87603 DIST ponyprog-3.1.3.tar.gz 11479313 BLAKE2B 56704b28877687c356c72b1f28f28115cb11f40c701e207f5d3ec4aa4fa7194991162f0940400016d9ee5d42ff0a7e7da5b252f9b76417d0d8272638989fedec SHA512 09e702f3f98e65799e8c59b9c8eca6f477db3f36a2648a1fab3797f91d56c7c4e9533e32bef1fe4c641512e31828a39df4d3d83639b7541714a3cc9050cd4e67 diff --git a/dev-embedded/ponyprog/files/ponyprog-3.1.2-fix-build-system.patch b/dev-embedded/ponyprog/files/ponyprog-3.1.2-fix-build-system.patch deleted file mode 100644 index aefbd707d585..000000000000 --- a/dev-embedded/ponyprog/files/ponyprog-3.1.2-fix-build-system.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,9 +1,7 @@ - PROJECT(ponyprog) - - # Configure CMake ... --CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR) --# CMAKE_POLICY(SET CMP0003 OLD) --# CMAKE_POLICY(SET CMP0015 OLD) -+CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12 FATAL_ERROR) - - # set the Qt version to 4 or 5 - OPTION (USE_QT5 "Using of Qt5 version for compiling" ON) -@@ -52,15 +50,7 @@ - OPTION (USE_PROFILER "Include in binary file profiling information" OFF) - - -- --IF(${USE_DEBUGGER}) -- SET(CMAKE_BUILD_TYPE Debug) -- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_DEBUG} -Wall") --ELSE() -- SET(CMAKE_BUILD_TYPE Release) -- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_RELEASE} -Wall") --ENDIF() -- -+ADD_COMPILE_OPTIONS("-Wall") - MESSAGE(STATUS "CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}") - - INCLUDE(CheckIncludeFile) -@@ -202,7 +192,6 @@ - SET ( UI_HEADERS_DIR temp ) - SET ( UI_SOURCES_DIR temp ) - --ADD_SUBDIRECTORY(qhexedit2/src) - ADD_SUBDIRECTORY(SrcPony) - - INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/qhexedit2/src/ ${CMAKE_CURRENT_SOURCE_DIR}/SrcPony/ ) -@@ -265,6 +254,8 @@ - MESSAGE(STATUS "QT LIBRARIES: ${QT_LIBRARIES} ${Qt5Widgets_LIBRARIES} ${Qt5Multimedia_LIBRARIES} ${Qt5PrintSupport_LIBRARIES} ${Qt5Core_LIBRARIES}") - ENDIF() - -+TARGET_LINK_LIBRARIES(${CMAKE_PROJECT_NAME} qhexedit) -+ - ADD_CUSTOM_TARGET (tags - COMMAND ctags -R -f tags ${CMAKE_SOURCE_DIR}/SrcPony - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} diff --git a/dev-embedded/ponyprog/ponyprog-3.1.2.ebuild b/dev-embedded/ponyprog/ponyprog-3.1.2.ebuild deleted file mode 100644 index 33d6f998f1ff..000000000000 --- a/dev-embedded/ponyprog/ponyprog-3.1.2.ebuild +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake - -DESCRIPTION="EEPROM and microcontroller programmer/flasher" -HOMEPAGE="https://github.com/lancos/ponyprog/" -SRC_URI="https://github.com/lancos/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="LGPL-2" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="doc" - -DEPEND=" - >=app-editors/qhexedit2-0.8.6_p20190316 - dev-embedded/libftdi:1[cxx] - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtmultimedia:5 - dev-qt/qtprintsupport:5 - dev-qt/qtwidgets:5 - virtual/libusb:1 -" -# blocker on libftdi-1.5-r2: see #775116 -RDEPEND="${DEPEND} - !=dev-embedded/libftdi-1.5-r2 -" - -PATCHES=( "${FILESDIR}"/${P}-fix-build-system.patch ) - -pkg_postinst() { - elog "To use the COM port in user mode (not as root), you need to" - elog "be in the 'uucp' group." - elog - elog "To use the LPT port in user mode (not as root) you need a kernel with" - elog "ppdev, parport and parport_pc compiled in or as modules. You need the" - elog "rights to write to /dev/parport? devices." -} diff --git a/dev-embedded/ponyprog/ponyprog-3.1.3.ebuild b/dev-embedded/ponyprog/ponyprog-3.1.3.ebuild index ae75c85ebf41..374c8ea1eee5 100644 --- a/dev-embedded/ponyprog/ponyprog-3.1.3.ebuild +++ b/dev-embedded/ponyprog/ponyprog-3.1.3.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -inherit cmake udev +inherit cmake flag-o-matic udev DESCRIPTION="EEPROM and microcontroller programmer/flasher" HOMEPAGE="https://github.com/lancos/ponyprog/" @@ -11,7 +11,7 @@ SRC_URI="https://github.com/lancos/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="LGPL-2" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" IUSE="doc" DEPEND=" @@ -31,6 +31,15 @@ RDEPEND="${DEPEND} PATCHES=( "${FILESDIR}"/${P}-fix-build-system.patch ) +src_configure() { + # -Werror=odr + # https://bugs.gentoo.org/855272 + # https://github.com/lancos/ponyprog/issues/28 + filter-lto + + cmake_src_configure +} + pkg_postinst() { udev_reload @@ -41,3 +50,7 @@ pkg_postinst() { elog "ppdev, parport and parport_pc compiled in or as modules. You need the" elog "rights to write to /dev/parport? devices." } + +pkg_postrm() { + udev_reload +} diff --git a/dev-embedded/raspberrypi-utils/Manifest b/dev-embedded/raspberrypi-utils/Manifest new file mode 100644 index 000000000000..24632d7cb267 --- /dev/null +++ b/dev-embedded/raspberrypi-utils/Manifest @@ -0,0 +1 @@ +DIST raspberrypi-utils-0_p20240203.tar.gz 122695 BLAKE2B 178b84b5210ba47a51e9815710b05d3916981f5413986cefcdb621420c9e9ab33b67026ea95692c6aff900dd2c31302059eb39aae32267b88cf765a7575f8bed SHA512 bdbe47d87a4bcd0d37ea4567e95e41fbc8240f5ffbc805d4a1f576060535af13e272b262ddad87dac0f9ea43b8b2ff9092378e67de080bd651701435b4c67008 diff --git a/dev-embedded/raspberrypi-utils/files/raspberrypi-utils-werror.patch b/dev-embedded/raspberrypi-utils/files/raspberrypi-utils-werror.patch new file mode 100644 index 000000000000..ddfce08d0407 --- /dev/null +++ b/dev-embedded/raspberrypi-utils/files/raspberrypi-utils-werror.patch @@ -0,0 +1,77 @@ +https://github.com/raspberrypi/utils/pull/69 + +From 0bbef73e2f1df17c793152895cabac452a49981f Mon Sep 17 00:00:00 2001 +From: James Le Cuirot <chewi@gentoo.org> +Date: Tue, 6 Feb 2024 21:36:08 +0000 +Subject: [PATCH] build: Only enable -Werror for debug builds + +-Werror is very unhelpful for distributions and end users as newer +compilers will raise warnings that the maintainers may not see. The +warnings should get reported upstream, but they shouldn't block users +from using the software. + +Rather than drop the flag entirely, I have enabled it only for debug +builds, e.g. -DCMAKE_BUILD_TYPE=Debug. + +Signed-off-by: James Le Cuirot <chewi@gentoo.org> +--- + dtmerge/CMakeLists.txt | 2 +- + eeptools/CMakeLists.txt | 2 +- + pinctrl/CMakeLists.txt | 2 +- + vclog/CMakeLists.txt | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/dtmerge/CMakeLists.txt b/dtmerge/CMakeLists.txt +index f63648b..357889f 100644 +--- a/dtmerge/CMakeLists.txt ++++ b/dtmerge/CMakeLists.txt +@@ -5,7 +5,7 @@ include(GNUInstallDirs) + #set project name + project(dtmerge) + +-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Werror") ++add_compile_options(-Wall -Wextra $<$<CONFIG:Debug>:-Werror>) + + if (CMAKE_COMPILER_IS_GNUCC) + add_definitions (-ffunction-sections) +diff --git a/eeptools/CMakeLists.txt b/eeptools/CMakeLists.txt +index 3438255..90fc284 100644 +--- a/eeptools/CMakeLists.txt ++++ b/eeptools/CMakeLists.txt +@@ -5,7 +5,7 @@ include(GNUInstallDirs) + #set project name + project(eeptools) + +-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Werror") ++add_compile_options(-Wall -Wextra $<$<CONFIG:Debug>:-Werror>) + + if (CMAKE_COMPILER_IS_GNUCC) + add_definitions (-ffunction-sections) +diff --git a/pinctrl/CMakeLists.txt b/pinctrl/CMakeLists.txt +index 2178ee4..70427f2 100644 +--- a/pinctrl/CMakeLists.txt ++++ b/pinctrl/CMakeLists.txt +@@ -1,7 +1,7 @@ + cmake_minimum_required(VERSION 3.10...3.27) + include(GNUInstallDirs) + +-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Werror -pedantic") ++add_compile_options(-Wall -Wextra $<$<CONFIG:Debug>:-Werror> -pedantic) + + #set project name + project(pinctrl) +diff --git a/vclog/CMakeLists.txt b/vclog/CMakeLists.txt +index 611f9dc..b7e57eb 100644 +--- a/vclog/CMakeLists.txt ++++ b/vclog/CMakeLists.txt +@@ -1,6 +1,6 @@ + cmake_minimum_required(VERSION 3.10...3.27) + +-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Werror -pedantic") ++add_compile_options(-Wall -Wextra $<$<CONFIG:Debug>:-Werror> -pedantic) + + #set project name + project(vclog) +-- +2.43.0 + diff --git a/dev-embedded/raspberrypi-utils/metadata.xml b/dev-embedded/raspberrypi-utils/metadata.xml new file mode 100644 index 000000000000..11b4d811a352 --- /dev/null +++ b/dev-embedded/raspberrypi-utils/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>chewi@gentoo.org</email> + <name>James Le Cuirot</name> + </maintainer> + <upstream> + <remote-id type="github">raspberrypi/utils</remote-id> + </upstream> +</pkgmetadata> diff --git a/dev-embedded/raspberrypi-utils/raspberrypi-utils-0_p20240203.ebuild b/dev-embedded/raspberrypi-utils/raspberrypi-utils-0_p20240203.ebuild new file mode 100644 index 000000000000..afa8e74dada6 --- /dev/null +++ b/dev-embedded/raspberrypi-utils/raspberrypi-utils-0_p20240203.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 cmake + +COMMIT="1eb8c20dfa258c549139fae2b21185ac290051c5" + +DESCRIPTION="Raspberry Pi userspace utilities" +HOMEPAGE="https://github.com/raspberrypi/utils" +SRC_URI="https://github.com/raspberrypi/utils/archive/${COMMIT}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="arm arm64" + +DEPEND=" + sys-apps/dtc +" + +RDEPEND=" + ${DEPEND} + !media-libs/raspberrypi-userland + !media-libs/raspberrypi-userland-bin +" + +S="${WORKDIR}/utils-${COMMIT}" + +PATCHES=( + "${FILESDIR}"/${PN}-werror.patch +) + +src_configure() { + local mycmakeargs=( -DBUILD_SHARED_LIBS=OFF ) + cmake_src_configure +} + +src_install() { + cmake_src_install + + local SRC + rm -r "${ED}"/usr/share/bash-completion/ || die + for SRC in */*-completion.bash; do + local DEST=${SRC%-completion.bash} + newbashcomp "${SRC}" "${DEST##*/}" + done +} diff --git a/dev-embedded/rpi-eeprom/Manifest b/dev-embedded/rpi-eeprom/Manifest index 0f47eba90fb7..f89d69a000ab 100644 --- a/dev-embedded/rpi-eeprom/Manifest +++ b/dev-embedded/rpi-eeprom/Manifest @@ -1,4 +1,4 @@ -DIST rpi-eeprom_13.3-1.debian.tar.xz 12768 BLAKE2B 823b1f25cda98cb2888b6b423b6120f5c1474735c58933ac11fe9380fa31fcbef260afb2ebcced423301bee207c171c5ccea3ba9c8cc4dae579c2dba55a60cba SHA512 0b8e15b1c827506dcdf7a6f19acd1ceb32f0901b9c438994af7f1e38a0ced05b7f123225ae8ecca4147ce04e1d7500ddcdfaeddeb90f0342af2dee9e4ffbfe04 -DIST rpi-eeprom_13.3.orig.tar.gz 17497524 BLAKE2B f65fc9b6a98dd3a4d3f4095e03279d832a64d0f12f9edd7e7af2b8afe8b290f4db6ec39e755df9fb5b317930235bf1c7205be4b3f838f6cbbf92e1d80574b342 SHA512 d5885444fd90a5f24c94a3af4f093744f4a63947a119059c851cd6639e572138205a48f7cd126c3deafe104e76985197e1fa36c8aa72a16bb173f11750b85151 -DIST rpi-eeprom_13.8-1.debian.tar.xz 13232 BLAKE2B a5c4a12eca86a5f44c6a18e06c3108a353adca055facd80ced42dfcdd518508358823bd31ef051b29dd47e46c59f056c36dc6628144c192eec26c57fc0658095 SHA512 dba8342af463a9d628a1f71dd30df803699a858873dc618a25aa4be682e5357d090345346ff686cb2c1bde7ad678362bf138f952115f186c841414354066a291 -DIST rpi-eeprom_13.8.orig.tar.gz 19328304 BLAKE2B 0cc9fcb2f30065494d8d4d8fd22930ad0229a38f67f02aa091269a099421c6e2781135c2a71dc10b2992832b443cc44e782f2bda424eb11539d0d6d858635129 SHA512 24675a0cc10f6ffc2e170da24999f5310ade1585618adfaf763b8dc1784639044bfdb5cbe513c3369056bb90c482ee65cd518b4161c54c0641feeb132552b1aa +DIST rpi-eeprom_15.0-1.debian.tar.xz 10720 BLAKE2B c8915ebf859ebb1ea3a48af8077539a2513151f94b6965641970b717ad5a6693f4aa3867f241ce9cad5f47d371e7bfaaaa1e1fc34bad3e8059c7840bc5d567aa SHA512 92652b52eaf0d56c95ed23fcc5b4afe599e92d9331259d7450766cb53e06598bf3381a8716cf996c48fc2a20187523fc47e63aa365b2221c16284220042be3b8 +DIST rpi-eeprom_15.0.orig.tar.gz 29800286 BLAKE2B ceda9bdc412a32443d0cb3fa444d1091f0f53215a5be6c546384a11f7fa28592d43bdf23f04a33925601b5e76e510b054b214d262904f03aafa2b959fcb5fc1e SHA512 eddea0c8057e13991e3a6493146c8785607162342321d48048ba5760ecc7f1c6687a03edffcd0be4a5549c333cdbb20e88d407c4212334e18178fb86cc6cd0a4 +DIST rpi-eeprom_21.0-1.debian.tar.xz 11876 BLAKE2B 5615237244e259a269f62951402ecf54bf947ff22efee157f664ddc49d4c053081544e05960dd934246fdccdf079d62d1932428718e8ad5ade09d0675af58ff5 SHA512 af347630ea8e3fffb5e86539067ca1005e71aea48b43e009bd6b50c602696e08e27ca931efbbc66f26c9bf30c98abd3853a221e067888597cad01078a1335b26 +DIST rpi-eeprom_21.0.orig.tar.gz 41026148 BLAKE2B 5398cf2087b0f5e0d3a2d9f113dbc788f82ff281b36ecbbd1689408db9368083ce77ff88e62a7eaa12dc524debe2f0724f6f00cc23bfb61160ae557bacfae57a SHA512 fc237efa8932a04e44bd47ad6837e5aed7547e3a9e0e03e196df801c83e95618290c04de7ee3458e6465bb273171084c664d6daaa49515e1dcbcd05cb3022f2d diff --git a/dev-embedded/rpi-eeprom/metadata.xml b/dev-embedded/rpi-eeprom/metadata.xml index fe9bc40f6b9f..074fc1d440e5 100644 --- a/dev-embedded/rpi-eeprom/metadata.xml +++ b/dev-embedded/rpi-eeprom/metadata.xml @@ -16,4 +16,8 @@ <upstream> <remote-id type="github">raspberrypi/rpi-eeprom</remote-id> </upstream> + <use> + <flag name="pi4">Install firmware files for the Raspberry Pi 4</flag> + <flag name="pi5">Install firmware files for the Raspberry Pi 5</flag> + </use> </pkgmetadata> diff --git a/dev-embedded/rpi-eeprom/rpi-eeprom-13.3_p1-r1.ebuild b/dev-embedded/rpi-eeprom/rpi-eeprom-15.0_p1.ebuild index de2223baedb2..528bfc276e3a 100644 --- a/dev-embedded/rpi-eeprom/rpi-eeprom-13.3_p1-r1.ebuild +++ b/dev-embedded/rpi-eeprom/rpi-eeprom-15.0_p1.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_COMPAT=( python3_{9..11} ) inherit python-r1 systemd diff --git a/dev-embedded/rpi-eeprom/rpi-eeprom-13.8_p1.ebuild b/dev-embedded/rpi-eeprom/rpi-eeprom-21.0_p1.ebuild index 262839cd17ce..df7039c948b6 100644 --- a/dev-embedded/rpi-eeprom/rpi-eeprom-13.8_p1.ebuild +++ b/dev-embedded/rpi-eeprom/rpi-eeprom-21.0_p1.ebuild @@ -1,15 +1,15 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_COMPAT=( python3_{9..12} ) inherit python-r1 systemd MY_P="${PN}-$(ver_cut 1-2)" MY_BASE_URL="https://archive.raspberrypi.org/debian/pool/main/r/${PN}/${PN}_$(ver_cut 1-2)" -DESCRIPTION="Updater for Raspberry Pi 4 bootloader and the VL805 USB controller" +DESCRIPTION="Updater for Raspberry Pi 4/5 bootloader and the VL805 USB controller" HOMEPAGE="https://github.com/raspberrypi/rpi-eeprom/" SRC_URI="${MY_BASE_URL}-$(ver_cut 4).debian.tar.xz ${MY_BASE_URL}.orig.tar.gz" @@ -17,18 +17,19 @@ S="${WORKDIR}" LICENSE="BSD rpi-eeprom" SLOT="0" -KEYWORDS="~arm ~arm64" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" +KEYWORDS="arm arm64" +IUSE="pi4 pi5" +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + ^^ ( pi4 pi5 ) +" BDEPEND="sys-apps/help2man" DEPEND="${PYTHON_DEPS}" RDEPEND="${PYTHON_DEPS} + dev-embedded/raspberrypi-utils sys-apps/flashrom - sys-apps/pciutils - || ( - >=media-libs/raspberrypi-userland-0_pre20201022 - >=media-libs/raspberrypi-userland-bin-1.20201022 - )" + sys-apps/pciutils" src_prepare() { default @@ -40,6 +41,11 @@ src_prepare() { "debian/rpi-eeprom.rpi-eeprom-update.service" || die "Failed sed on rpi-eeprom.rpi-eeprom-update.service" } +src_configure() { + use pi4 && export BROADCOM=2711 + use pi5 && export BROADCOM=2712 +} + src_install() { pushd "${MY_P}" 1>/dev/null || die "Cannot change into directory ${MY_P}" @@ -49,12 +55,12 @@ src_install() { dosbin rpi-eeprom-update rpi-eeprom-digest keepdir /var/lib/raspberrypi/bootloader/backup - for dir in critical stable beta; do + for dir in default latest critical stable beta; do insinto /lib/firmware/raspberrypi/bootloader - doins -r firmware/${dir} + doins -r firmware-$BROADCOM/${dir} done - dodoc firmware/release-notes.md + dodoc firmware-$BROADCOM/release-notes.md help2man -N \ --version-string="${PV}" --help-option="-h" \ diff --git a/dev-embedded/sdcc/Manifest b/dev-embedded/sdcc/Manifest index f2c7ac6c98a1..67c7abbe0abc 100644 --- a/dev-embedded/sdcc/Manifest +++ b/dev-embedded/sdcc/Manifest @@ -1,6 +1,10 @@ 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-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/files/binutils-2.41-acinclude.m4 b/dev-embedded/sdcc/files/binutils-2.41-acinclude.m4 new file mode 100644 index 000000000000..03bc955c619b --- /dev/null +++ b/dev-embedded/sdcc/files/binutils-2.41-acinclude.m4 @@ -0,0 +1,193 @@ +dnl Copyright (C) 2000-2023 Free Software Foundation, Inc. +dnl +dnl GCC is free software; you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation; either version 3, or (at your option) +dnl any later version. +dnl +dnl GCC is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with GCC; see the file COPYING3. If not see +dnl <http://www.gnu.org/licenses/>. + +dnl See whether strncmp reads past the end of its string parameters. +dnl On some versions of SunOS4 at least, strncmp reads a word at a time +dnl but erroneously reads past the end of strings. This can cause +dnl a SEGV in some cases. +AC_DEFUN([libiberty_AC_FUNC_STRNCMP], +[AC_REQUIRE([AC_FUNC_MMAP]) +AC_CACHE_CHECK([for working strncmp], ac_cv_func_strncmp_works, +[AC_TRY_RUN([ +/* Test by Jim Wilson and Kaveh Ghazi. + Check whether strncmp reads past the end of its string parameters. */ +#include <stdlib.h> +#include <string.h> +#include <sys/types.h> + +#ifdef HAVE_FCNTL_H +#include <fcntl.h> +#endif + +#ifdef HAVE_SYS_MMAN_H +#include <sys/mman.h> +#endif + +#ifndef MAP_ANON +#ifdef MAP_ANONYMOUS +#define MAP_ANON MAP_ANONYMOUS +#else +#define MAP_ANON MAP_FILE +#endif +#endif + +#ifndef MAP_FILE +#define MAP_FILE 0 +#endif +#ifndef O_RDONLY +#define O_RDONLY 0 +#endif + +#define MAP_LEN 0x10000 + +int +main (void) +{ +#if defined(HAVE_MMAP) || defined(HAVE_MMAP_ANYWHERE) + char *p; + int dev_zero; + + dev_zero = open ("/dev/zero", O_RDONLY); + if (dev_zero < 0) + exit (1); + + p = (char *) mmap (0, MAP_LEN, PROT_READ|PROT_WRITE, + MAP_ANON|MAP_PRIVATE, dev_zero, 0); + if (p == (char *)-1) + p = (char *) mmap (0, MAP_LEN, PROT_READ|PROT_WRITE, + MAP_ANON|MAP_PRIVATE, -1, 0); + if (p == (char *)-1) + exit (2); + else + { + char *string = "__si_type_info"; + char *q = (char *) p + MAP_LEN - strlen (string) - 2; + char *r = (char *) p + 0xe; + + strcpy (q, string); + strcpy (r, string); + strncmp (r, q, 14); + } +#endif /* HAVE_MMAP || HAVE_MMAP_ANYWHERE */ + exit (0); +} +], ac_cv_func_strncmp_works=yes, ac_cv_func_strncmp_works=no, + ac_cv_func_strncmp_works=yes) +rm -f core core.* *.core]) +if test $ac_cv_func_strncmp_works = no ; then + AC_LIBOBJ([strncmp]) +fi +]) + +dnl See if errno must be declared even when <errno.h> is included. +AC_DEFUN([libiberty_AC_DECLARE_ERRNO], +[AC_CACHE_CHECK(whether errno must be declared, libiberty_cv_declare_errno, +[AC_TRY_COMPILE( +[#include <errno.h>], +[int x = errno;], +libiberty_cv_declare_errno=no, +libiberty_cv_declare_errno=yes)]) +if test $libiberty_cv_declare_errno = yes +then AC_DEFINE(NEED_DECLARATION_ERRNO, 1, + [Define if errno must be declared even when <errno.h> is included.]) +fi +]) + +dnl See whether we need a declaration for a function. +AC_DEFUN([libiberty_NEED_DECLARATION], +[AC_MSG_CHECKING([whether $1 must be declared]) +AC_CACHE_VAL(libiberty_cv_decl_needed_$1, +[AC_TRY_COMPILE([ +#include "confdefs.h" +#include <stdio.h> +#ifdef HAVE_STRING_H +#include <string.h> +#else +#ifdef HAVE_STRINGS_H +#include <strings.h> +#endif +#endif +#ifdef HAVE_STDLIB_H +#include <stdlib.h> +#endif +#ifdef HAVE_UNISTD_H +#include <unistd.h> +#endif], +[char *(*pfn) = (char *(*)) $1], +libiberty_cv_decl_needed_$1=no, libiberty_cv_decl_needed_$1=yes)]) +AC_MSG_RESULT($libiberty_cv_decl_needed_$1) +if test $libiberty_cv_decl_needed_$1 = yes; then + AC_DEFINE([NEED_DECLARATION_]translit($1, [a-z], [A-Z]), 1, + [Define if $1 is not declared in system header files.]) +fi +])dnl + +# We always want a C version of alloca() compiled into libiberty, +# because native-compiler support for the real alloca is so !@#$% +# unreliable that GCC has decided to use it only when being compiled +# by GCC. This is the part of AC_FUNC_ALLOCA that calculates the +# information alloca.c needs. +AC_DEFUN([libiberty_AC_FUNC_C_ALLOCA], +[AC_CACHE_CHECK(whether alloca needs Cray hooks, ac_cv_os_cray, +[AC_EGREP_CPP(webecray, +[#if defined(CRAY) && ! defined(CRAY2) +webecray +#else +wenotbecray +#endif +], ac_cv_os_cray=yes, ac_cv_os_cray=no)]) +if test $ac_cv_os_cray = yes; then + for ac_func in _getb67 GETB67 getb67; do + AC_CHECK_FUNC($ac_func, + [AC_DEFINE_UNQUOTED(CRAY_STACKSEG_END, $ac_func, + [Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP + systems. This function is required for alloca.c support on those + systems.]) break]) + done +fi + +AC_CACHE_CHECK(stack direction for C alloca, ac_cv_c_stack_direction, +[AC_TRY_RUN([#include <stdlib.h> + +int +find_stack_direction (void) +{ + static char *addr = 0; + auto char dummy; + if (addr == 0) + { + addr = &dummy; + return find_stack_direction (); + } + else + return (&dummy > addr) ? 1 : -1; +} + +int +main (void) +{ + exit (find_stack_direction() < 0); +}], + ac_cv_c_stack_direction=1, + ac_cv_c_stack_direction=-1, + ac_cv_c_stack_direction=0)]) +AC_DEFINE_UNQUOTED(STACK_DIRECTION, $ac_cv_c_stack_direction, + [Define if you know the direction of stack growth for your system; + otherwise it will be automatically deduced at run-time. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown]) +]) 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/files/sdcc-4.3.0-autoreconf-libiberty.patch b/dev-embedded/sdcc/files/sdcc-4.3.0-autoreconf-libiberty.patch new file mode 100644 index 000000000000..7383f471ca48 --- /dev/null +++ b/dev-embedded/sdcc/files/sdcc-4.3.0-autoreconf-libiberty.patch @@ -0,0 +1,15 @@ +Most implicit function declarations left come from the included libiberty. +Add it to eautoreconf to regenerate its tests. +https://bugs.gentoo.org/898594 + +--- a/configure.ac ++++ b/configure.ac +@@ -874,7 +874,7 @@ + test $OPT_DISABLE_PACKIHX = 0 && AC_CONFIG_SUBDIRS(support/packihx) + test $OPT_DISABLE_UCSIM = 0 && AC_CONFIG_SUBDIRS(sim/ucsim) + test $OPT_DISABLE_SDCDB = 0 && AC_CONFIG_SUBDIRS(debugger/mcs51) +-test $OPT_DISABLE_SDBINUTILS = 0 && AC_CONFIG_SUBDIRS(support/sdbinutils) ++test $OPT_DISABLE_SDBINUTILS = 0 && AC_CONFIG_SUBDIRS(support/sdbinutils support/sdbinutils/libiberty) + AC_CONFIG_FILES([doc/Makefile]) + + ####test $OPT_DISABLE_AVR = 0 && AC_CONFIG_FILES([src/avr/Makefile]) diff --git a/dev-embedded/sdcc/files/sdcc-4.3.0-fix-binutils-dependency.patch b/dev-embedded/sdcc/files/sdcc-4.3.0-fix-binutils-dependency.patch new file mode 100644 index 000000000000..cae5ebe473ed --- /dev/null +++ b/dev-embedded/sdcc/files/sdcc-4.3.0-fix-binutils-dependency.patch @@ -0,0 +1,22 @@ +https://bugs.gentoo.org/917114 +https://sourceforge.net/p/sdcc/support-requests/193/ + +--- sdcc/Makefile.in ++++ sdcc/Makefile.in +@@ -98,7 +98,6 @@ + ifeq ($(OPT_DISABLE_SDBINUTILS), 0) + TARGETS += sdcc-sdbinutils + PKGS += $(SDCC_SDBINUTILS) +-SDBINUTILS_BINS = sdar$(EXEEXT) sdranlib$(EXEEXT) sdnm$(EXEEXT) sdobjcopy$(EXEEXT) + SDCC_BINUTILS = sdcc-sdbinutils + endif + +@@ -142,7 +141,7 @@ + + tini: checkconf sdcc-tini + +-sdcc-libs: ${SDCC_SDBINUTILS} ++sdcc-libs: ${SDCC_BINUTILS} + for lib in $(SDCC_LIBS); do $(MAKE) -C $$lib; done + + sdcc-cc: sdcc-libs diff --git a/dev-embedded/sdcc/files/sdcc-4.3.0-fix-mkdir-autoconf-test.patch b/dev-embedded/sdcc/files/sdcc-4.3.0-fix-mkdir-autoconf-test.patch new file mode 100644 index 000000000000..9a0be653ba28 --- /dev/null +++ b/dev-embedded/sdcc/files/sdcc-4.3.0-fix-mkdir-autoconf-test.patch @@ -0,0 +1,13 @@ +Fix implicit function declaration in configure logs: mkdir +https://bugs.gentoo.org/898594 + +--- a/support/cpp/configure.ac ++++ b/support/cpp/configure.ac +@@ -2317,6 +2317,7 @@ + ################################################################################ + + # mkdir takes a single argument on some systems. ++AC_CHECK_HEADERS([sys/stat.h]) + gcc_AC_FUNC_MKDIR_TAKES_ONE_ARG + + # File extensions diff --git a/dev-embedded/sdcc/files/sdcc-4.3.2-override-override.patch b/dev-embedded/sdcc/files/sdcc-4.3.2-override-override.patch new file mode 100644 index 000000000000..8a0e587f5f6b --- /dev/null +++ b/dev-embedded/sdcc/files/sdcc-4.3.2-override-override.patch @@ -0,0 +1,62 @@ +https://bugs.gentoo.org/911463 + +--- 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.69])]) +- +-dnl Test for the exact version when AC_INIT is expanded. +-dnl This allows one 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 +--- a/support/cpp/config/override.m4 ++++ b/support/cpp/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.69])]) +- +-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/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-3.8.0-r1.ebuild b/dev-embedded/sdcc/sdcc-3.8.0-r1.ebuild index c4850e617289..f3916194c922 100644 --- a/dev-embedded/sdcc/sdcc-3.8.0-r1.ebuild +++ b/dev-embedded/sdcc/sdcc-3.8.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -16,7 +16,7 @@ else fi DESCRIPTION="Small device C compiler (for various microprocessors)" -HOMEPAGE="http://sdcc.sourceforge.net/" +HOMEPAGE="https://sdcc.sourceforge.net/" LICENSE=" GPL-2 ZLIB diff --git a/dev-embedded/sdcc/sdcc-4.0.0.ebuild b/dev-embedded/sdcc/sdcc-4.0.0.ebuild index 42f67b831e1a..dcb2ee1132ef 100644 --- a/dev-embedded/sdcc/sdcc-4.0.0.ebuild +++ b/dev-embedded/sdcc/sdcc-4.0.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -16,7 +16,7 @@ else fi DESCRIPTION="Small device C compiler (for various microprocessors)" -HOMEPAGE="http://sdcc.sourceforge.net/" +HOMEPAGE="https://sdcc.sourceforge.net/" LICENSE=" GPL-2 ZLIB diff --git a/dev-embedded/sdcc/sdcc-4.1.0.ebuild b/dev-embedded/sdcc/sdcc-4.1.0.ebuild index 9b5bf53b05db..2be8c0e650ae 100644 --- a/dev-embedded/sdcc/sdcc-4.1.0.ebuild +++ b/dev-embedded/sdcc/sdcc-4.1.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -19,7 +19,7 @@ else fi DESCRIPTION="Small device C compiler (for various microprocessors)" -HOMEPAGE="http://sdcc.sourceforge.net/" +HOMEPAGE="https://sdcc.sourceforge.net/" LICENSE=" GPL-2 ZLIB 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..674b5e4b92f3 --- /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-4.3.0-r1.ebuild b/dev-embedded/sdcc/sdcc-4.3.0-r1.ebuild new file mode 100644 index 000000000000..3aa25dab19f1 --- /dev/null +++ b/dev-embedded/sdcc/sdcc-4.3.0-r1.ebuild @@ -0,0 +1,179 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic + +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 + "${FILESDIR}"/${P}-fix-binutils-dependency.patch + "${FILESDIR}"/${P}-fix-mkdir-autoconf-test.patch + "${FILESDIR}"/${P}-autoreconf-libiberty.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 + + # add acinclude.m4 from binutils to run autoreconf for libiberty + cp "${FILESDIR}"/binutils-2.41-acinclude.m4 support/sdbinutils/libiberty/acinclude.m4 || die + # libiberty configure will check this file and fail if not found + cp install-sh support/sdbinutils/libiberty/ || die + # libiberty configure will fail if this was not set + export libiberty_topdir="${S}"/support/sdbinutils/libiberty + + # this does not build: https://sourceforge.net/p/sdcc/bugs/3673/ + # disable for now + sed 's:device/lib/mos65c02/Makefile::' -i configure.ac || 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() { + # -Werror=odr, -Werror=lto-type-mismatch + # https://bugs.gentoo.org/924691 + # https://sourceforge.net/p/sdcc/bugs/3725/ + filter-lto + + 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..72705ab05c30 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-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -inherit autotools toolchain-funcs +inherit autotools flag-o-matic 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,51 +41,50 @@ 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-4.3.2-override-override.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 . {} + + mkdir -p support/sdbinutils/bfd/doc || die + default eautoreconf @@ -98,60 +95,70 @@ 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 \ + # -Werror=odr, -Werror=lto-type-mismatch + # https://bugs.gentoo.org/924691 + # https://sourceforge.net/p/sdcc/bugs/3725/ + filter-lto + + 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 } diff --git a/dev-embedded/srecord/srecord-1.64-r1.ebuild b/dev-embedded/srecord/srecord-1.64-r1.ebuild index aa4b0214e17d..452b66c8b96c 100644 --- a/dev-embedded/srecord/srecord-1.64-r1.ebuild +++ b/dev-embedded/srecord/srecord-1.64-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -6,7 +6,7 @@ EAPI=7 inherit autotools DESCRIPTION="A collection of powerful tools for manipulating EPROM load files" -HOMEPAGE="http://srecord.sourceforge.net/" +HOMEPAGE="https://srecord.sourceforge.net/" SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" LICENSE="GPL-3" diff --git a/dev-embedded/stm32flash/Manifest b/dev-embedded/stm32flash/Manifest index 5a1228bf3493..e4e097bf8308 100644 --- a/dev-embedded/stm32flash/Manifest +++ b/dev-embedded/stm32flash/Manifest @@ -1 +1,2 @@ DIST stm32flash-0.6.tar.gz 376186 BLAKE2B 82e479b4fad2c3ff832aea9d0d62d556500fd8c0530e879690b9b83cdf05f078b0051e1e104e7cb64b9c360ef84415904639ee67ee147045ce8e15ca3f6c61e1 SHA512 2d92ecf4f82b8a702b596cbf3c4ff594f67083f7dcec82c064555f73b47834b41a918efa1846e47fc8740ae63fa818b16dfb5b38fa242c17f465666a651eee3a +DIST stm32flash-0.7.tar.gz 380166 BLAKE2B 98522968072821e3cf110e62486a3b9ee90ac6c7e600f6633acbfac904024390157743f0895cae181fc9b20f4f14dc5b833c36e02de4adbfc644c797abd12d63 SHA512 328254dd043dc707cf8c3edf8ddd4a9441c85d9cb2ca1682bcb3f5301d526b04ed6fb335e72a94e3d26341f18bef45968bf321f0ffeb80eaa0c3add6701349ff diff --git a/dev-embedded/stm32flash/metadata.xml b/dev-embedded/stm32flash/metadata.xml index 85e4ed814fa2..8748497326f9 100644 --- a/dev-embedded/stm32flash/metadata.xml +++ b/dev-embedded/stm32flash/metadata.xml @@ -1,5 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<!-- maintainer-needed --> + <!-- maintainer-needed --> + <upstream> + <remote-id type="sourceforge">stm32flash</remote-id> + </upstream> </pkgmetadata> diff --git a/dev-embedded/stm32flash/stm32flash-0.7.ebuild b/dev-embedded/stm32flash/stm32flash-0.7.ebuild new file mode 100644 index 000000000000..3ecab4e33410 --- /dev/null +++ b/dev-embedded/stm32flash/stm32flash-0.7.ebuild @@ -0,0 +1,12 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +DESCRIPTION="Open source flash program for STM32 using the ST serial bootloader" +HOMEPAGE="https://sourceforge.net/projects/stm32flash/" +SRC_URI="mirror://sourceforge/project/${PN}/${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~x86" diff --git a/dev-embedded/sunxi-tools/Manifest b/dev-embedded/sunxi-tools/Manifest index db2220b9c0ad..a5a930f9841f 100644 --- a/dev-embedded/sunxi-tools/Manifest +++ b/dev-embedded/sunxi-tools/Manifest @@ -1,2 +1,4 @@ DIST sunxi-tools-1.3.tar.gz 52608 BLAKE2B e8c3ed7276f705273598e38a0cc469225de1ee4eb8177b78be63b78ebc584c4fdf2362e21b895f61b4c5e84df98bfd5ccf6d3965ffa9338c98027c9ce4635626 SHA512 954c95963013aee8a38b3583ba1b7ec7e7049c7e09c5fa9ec564dfc33f304d3669fdf68c2fa5e4b5a6265640a3d1ee8bc13bcd71d804c714884b6a780d193615 DIST sunxi-tools-1.4.1.tar.gz 78878 BLAKE2B f50b14e79d4880a076f8b25869eea44e34cfc50c91ce7f9e4adc831bb2ac2238c930623677bacb399e52faadba20c9ba21ea212915c50941af825d0579804153 SHA512 b66f5caaabec016a0d2f1ccc88ee7f37cd26a511ac81c270e2de6bf0b967e8dfda2b510d5306daffb33ec8855c3c6be99a29bfd1efd5bd0cf3431494b092a52b +DIST sunxi-tools-1.4.2-test.zip 890565 BLAKE2B c24bafde5f049eca61962faf71d9928eb6340c48d619484f6dad1a6d7c1b9dc6f23d0f3f9b3e7847efd68004e70b44b9637d27bec8a97e6e3772b4003f3d25db SHA512 7763d60094f990e42bf57ae3e72f19dfb52cc6573777bf8c9a01bc5c1598505b067645f88b04955ae2b0f9456140e6bcb8eab31526e6e94fa28e826a80da7172 +DIST sunxi-tools-1.4.2.tar.gz 84090 BLAKE2B b3261855eb9a18025c19829e343e3e2e7097dc4e267a60fdcf39cd2e9bfa57580267a77846a576ea5fc04a07fd6ba90b1223a8c644c933879dc7aa766ba36210 SHA512 633bc1752ae11799ce0bae347b52296792d28265a2260e173727847e1f457b767e88d02ae547bb55a2bb05e1eb552ba4406985ae105a1712a9fa30852ae293e8 diff --git a/dev-embedded/sunxi-tools/sunxi-tools-1.4.2.ebuild b/dev-embedded/sunxi-tools/sunxi-tools-1.4.2.ebuild new file mode 100644 index 000000000000..d7ce94b79fc2 --- /dev/null +++ b/dev-embedded/sunxi-tools/sunxi-tools-1.4.2.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +inherit toolchain-funcs + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/linux-sunxi/sunxi-tools" + PROPERTIES="test_network" + RESTRICT="test" + RDEPEND="sys-apps/dtc + sys-libs/zlib" +else + KEYWORDS="~amd64" + # We need this as zip, it is used during src_test + SRC_URI="https://github.com/linux-sunxi/sunxi-tools/archive/v${PV}.tar.gz -> ${P}.tar.gz + test? ( https://github.com/linux-sunxi/sunxi-boards/archive/bc7410fed9e5d9b31cd1d6ae90462d06b513660e.zip \ + -> ${P}-test.zip )" + RESTRICT="!test? ( test )" + + PATCHES=( + "${FILESDIR}/${PN}-1.4.1-fix-strncpy-compiler-warning.patch" + ) +fi + +DESCRIPTION="A collection of command line tools for ARM devices with Allwinner SoCs" +HOMEPAGE="https://linux-sunxi.org/Main_Page" + +LICENSE="GPL-2" +SLOT="0" +IUSE="test" + +RDEPEND+=" acct-group/plugdev + virtual/libusb:1 + virtual/udev" + +DEPEND="${RDEPEND} +" + +BDEPEND="virtual/pkgconfig + test? ( app-arch/unzip )" + +src_unpack() { + if [[ ${PV} = *9999* ]]; then + git-r3_src_unpack + else + unpack ${P}.tar.gz + # No need to unpack testdata twice + fi +} + +src_prepare() { + default + + if [[ ${PV} != *9999* ]] && use test; then + cp "${DISTDIR}/${P}-test.zip" "${S}/tests/sunxi-boards.zip" || die + sed -i 's$sunxi-boards-master$sunxi-boards-bc7410fed9e5d9b31cd1d6ae90462d06b513660e$' tests/Makefile || die + sed -i 's|^coverage:.*|coverage: $(BOARDS_DIR)/README|' tests/Makefile || die + fi +} + +src_compile() { + tc-export PKG_CONFIG + + emake LIBUSB_CFLAGS="$(${PKG_CONFIG} --cflags libusb-1.0)" \ + LIBUSB_LIBS="$(${PKG_CONFIG} --libs libusb-1.0)" \ + CC="$(tc-getCC)" tools misc +} + +src_install() { + dobin bin2fex fex2bin phoenix_info sunxi-nand-image-builder + newbin sunxi-bootinfo bootinfo + newbin sunxi-fel fel + newbin sunxi-fexc fexc + newbin sunxi-nand-part nand-part +} diff --git a/dev-embedded/sunxi-tools/sunxi-tools-9999.ebuild b/dev-embedded/sunxi-tools/sunxi-tools-9999.ebuild new file mode 100644 index 000000000000..d7ce94b79fc2 --- /dev/null +++ b/dev-embedded/sunxi-tools/sunxi-tools-9999.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +inherit toolchain-funcs + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/linux-sunxi/sunxi-tools" + PROPERTIES="test_network" + RESTRICT="test" + RDEPEND="sys-apps/dtc + sys-libs/zlib" +else + KEYWORDS="~amd64" + # We need this as zip, it is used during src_test + SRC_URI="https://github.com/linux-sunxi/sunxi-tools/archive/v${PV}.tar.gz -> ${P}.tar.gz + test? ( https://github.com/linux-sunxi/sunxi-boards/archive/bc7410fed9e5d9b31cd1d6ae90462d06b513660e.zip \ + -> ${P}-test.zip )" + RESTRICT="!test? ( test )" + + PATCHES=( + "${FILESDIR}/${PN}-1.4.1-fix-strncpy-compiler-warning.patch" + ) +fi + +DESCRIPTION="A collection of command line tools for ARM devices with Allwinner SoCs" +HOMEPAGE="https://linux-sunxi.org/Main_Page" + +LICENSE="GPL-2" +SLOT="0" +IUSE="test" + +RDEPEND+=" acct-group/plugdev + virtual/libusb:1 + virtual/udev" + +DEPEND="${RDEPEND} +" + +BDEPEND="virtual/pkgconfig + test? ( app-arch/unzip )" + +src_unpack() { + if [[ ${PV} = *9999* ]]; then + git-r3_src_unpack + else + unpack ${P}.tar.gz + # No need to unpack testdata twice + fi +} + +src_prepare() { + default + + if [[ ${PV} != *9999* ]] && use test; then + cp "${DISTDIR}/${P}-test.zip" "${S}/tests/sunxi-boards.zip" || die + sed -i 's$sunxi-boards-master$sunxi-boards-bc7410fed9e5d9b31cd1d6ae90462d06b513660e$' tests/Makefile || die + sed -i 's|^coverage:.*|coverage: $(BOARDS_DIR)/README|' tests/Makefile || die + fi +} + +src_compile() { + tc-export PKG_CONFIG + + emake LIBUSB_CFLAGS="$(${PKG_CONFIG} --cflags libusb-1.0)" \ + LIBUSB_LIBS="$(${PKG_CONFIG} --libs libusb-1.0)" \ + CC="$(tc-getCC)" tools misc +} + +src_install() { + dobin bin2fex fex2bin phoenix_info sunxi-nand-image-builder + newbin sunxi-bootinfo bootinfo + newbin sunxi-fel fel + newbin sunxi-fexc fexc + newbin sunxi-nand-part nand-part +} diff --git a/dev-embedded/u-boot-tools/Manifest b/dev-embedded/u-boot-tools/Manifest index b73e288f4f19..710591603f22 100644 --- a/dev-embedded/u-boot-tools/Manifest +++ b/dev-embedded/u-boot-tools/Manifest @@ -1,2 +1,3 @@ -DIST u-boot-2022.07.tar.bz2 18087759 BLAKE2B bb78c7ccd56f12ebc622fb73d29cbf0a5db9d421133b191a6591845b4842b111145d2df649bae69011284bd468b8219ee0df20b61660ea4ec52006a93e14f09d SHA512 e1b3621dafac876c644ffb3d24b6e2380f5a78454c420a5b17d174e3f0b57731a95cfbff28ae7d0af4493f4bbf8d21e7f9236d61bb2414ed12295332b3d557b6 -DIST u-boot-2022.10.tar.bz2 18365430 BLAKE2B 42aa7a6f131735888939982e579de4342e3909e064ab896b0df6f1ff56c20ed6cb11d25286da7c052a5f67dcef6fa7a746944d8df6dd504586f5a71502d157e1 SHA512 95bc1f915a3349f6045e59f46d8514485ca0de1d62303f7026b8e59f3ac539b9545895e0dd736ed7b26f28239db31672ecad2accc3fd99356a55269697039147 +DIST u-boot-2023.10.tar.bz2 19645392 BLAKE2B 1404ab42e8b0c821fbfdf612cc00ed5d6b1a1d15d4e69647e788cf97536234f89fe000f480107f8a78b56f7dae7a022f5e742c06ca7f381050e2251889fcdb83 SHA512 f238a69b9cc08ee0a69ea8ca2fa26975f2f2ede14e978b4db274b1e4095e43af0052307ac39034658a72ec9706951cd03c0f316d0591f391adecaf2cc9496fc4 +DIST u-boot-2024.01.tar.bz2 19926911 BLAKE2B c62a22f56276426917b0db508ad7dc82efa4fe7be14c5e7d79ecdea172b2b383981b7e65b7e920b196d0162a17fb362ef97a8d758a1b30e509e3c66748d2c106 SHA512 45bd093ba3bda23e43cdde83d8656c1ee1348ac2886ecff1fee475f101ac4965a5be6565408fa5b990c723f3fdc833edfca60a719f735a43040cd14a1b59a88b +DIST u-boot-tools-2024.01-fix-invalid-escape-sequence.patch 1285 BLAKE2B ad0af975b59794f21a44472a1f1b4542e75e478d51e649a6c339a4af9963cb4b822e6eba6819cbd3d35c09f3c33f1995288ef296e07466a427cf1f0dd0a399e1 SHA512 8675c267ca5a234924bdf8fc03dcaf75501cf86ac7a9b2e7fbc7982b9620e8863af289c124c5e91cccee58cc116b4d2798be745dedc1b28099a143f3464ad4d6 diff --git a/dev-embedded/u-boot-tools/files/disable-unused-mkeficapsule.patch b/dev-embedded/u-boot-tools/files/disable-unused-mkeficapsule.patch new file mode 100644 index 000000000000..90c8ce3f0a4d --- /dev/null +++ b/dev-embedded/u-boot-tools/files/disable-unused-mkeficapsule.patch @@ -0,0 +1,14 @@ +Disable unused mkeficapsule + +`CONFIG_TOOLS_MKEFICAPSULE` requires gnutls to build. Since we don't actually +expose the tool, we can just disable it. + +diff -ur a/configs/tools-only_defconfig b/configs/tools-only_defconfig +--- a/configs/tools-only_defconfig 2023-01-09 09:07:33.000000000 -0700 ++++ b/configs/tools-only_defconfig 2023-08-11 14:01:50.151294889 -0600 +@@ -33,4 +33,4 @@ + # CONFIG_VIRTIO_SANDBOX is not set + # CONFIG_GENERATE_ACPI_TABLE is not set + # CONFIG_EFI_LOADER is not set +-CONFIG_TOOLS_MKEFICAPSULE=y ++# CONFIG_TOOLS_MKEFICAPSULE is not set diff --git a/dev-embedded/u-boot-tools/files/disable-unused-pylibfdt.patch b/dev-embedded/u-boot-tools/files/disable-unused-pylibfdt.patch new file mode 100644 index 000000000000..8686341a8776 --- /dev/null +++ b/dev-embedded/u-boot-tools/files/disable-unused-pylibfdt.patch @@ -0,0 +1,17 @@ +Disable unused pylibfdt + +The `imply BINMAN` causes `pylibfdt` to be built, which requires python. We +don't currently expose `pylibfdt`, or declare python dependencies, so disable +it. + +diff -ur a/arch/Kconfig b/arch/Kconfig +--- a/arch/Kconfig 2023-01-09 09:07:33.000000000 -0700 ++++ b/arch/Kconfig 2023-08-11 14:01:05.998403114 -0600 +@@ -205,7 +205,6 @@ + imply KEYBOARD + imply PHYSMEM + imply GENERATE_ACPI_TABLE +- imply BINMAN + + config SH + bool "SuperH architecture" diff --git a/dev-embedded/u-boot-tools/metadata.xml b/dev-embedded/u-boot-tools/metadata.xml index 6f86a7d89ece..3f0bca1137e1 100644 --- a/dev-embedded/u-boot-tools/metadata.xml +++ b/dev-embedded/u-boot-tools/metadata.xml @@ -1,10 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>jsmolic@gentoo.org</email> - <name>Jakov Smolić</name> - </maintainer> <maintainer type="project"> <email>embedded@gentoo.org</email> <name>Embedded Gentoo</name> diff --git a/dev-embedded/u-boot-tools/u-boot-tools-2022.07.ebuild b/dev-embedded/u-boot-tools/u-boot-tools-2023.10-r1.ebuild index 4b8ceb9f6cd6..05e693d9e34a 100644 --- a/dev-embedded/u-boot-tools/u-boot-tools-2022.07.ebuild +++ b/dev-embedded/u-boot-tools/u-boot-tools-2023.10-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -13,18 +13,23 @@ S="${WORKDIR}/${MY_P}" LICENSE="GPL-2" SLOT="0" -KEYWORDS="amd64 arm arm64 ppc ~ppc64 ~riscv x86" +KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv x86" IUSE="envtools" RDEPEND="dev-libs/openssl:=" DEPEND="${RDEPEND}" BDEPEND=" - dev-lang/swig - sys-devel/bison - sys-devel/flex + app-alternatives/yacc + app-alternatives/lex + sys-apps/which virtual/pkgconfig " +PATCHES=( + "${FILESDIR}/disable-unused-mkeficapsule.patch" + "${FILESDIR}/disable-unused-pylibfdt.patch" +) + src_prepare() { default sed -i 's:\bpkg-config\b:${PKG_CONFIG}:g' \ @@ -67,7 +72,7 @@ src_install() { cd tools || die if ! use envtools; then - dobin bmp_logo dumpimage fdtgrep gen_eth_addr img2srec mkenvimage mkimage + dobin dumpimage fdtgrep gen_eth_addr img2srec mkenvimage mkimage fi dobin env/fw_printenv diff --git a/dev-embedded/u-boot-tools/u-boot-tools-2022.10.ebuild b/dev-embedded/u-boot-tools/u-boot-tools-2024.01.ebuild index 87f4e46b9f07..8930c2758c2b 100644 --- a/dev-embedded/u-boot-tools/u-boot-tools-2022.10.ebuild +++ b/dev-embedded/u-boot-tools/u-boot-tools-2024.01.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -8,7 +8,11 @@ inherit toolchain-funcs MY_P="u-boot-${PV/_/-}" DESCRIPTION="utilities for working with Das U-Boot" HOMEPAGE="https://www.denx.de/wiki/U-Boot/WebHome" -SRC_URI="https://ftp.denx.de/pub/u-boot/${MY_P}.tar.bz2" +SRC_URI=" + https://ftp.denx.de/pub/u-boot/${MY_P}.tar.bz2 + https://github.com/u-boot/u-boot/commit/88b9b9c44c859bdd9bb227e2fdbc4cbf686c3343.patch + -> u-boot-tools-2024.01-fix-invalid-escape-sequence.patch +" S="${WORKDIR}/${MY_P}" LICENSE="GPL-2" @@ -20,11 +24,16 @@ RDEPEND="dev-libs/openssl:=" DEPEND="${RDEPEND}" BDEPEND=" dev-lang/swig - sys-devel/bison - sys-devel/flex + app-alternatives/yacc + app-alternatives/lex virtual/pkgconfig " +PATCHES=( + # https://github.com/u-boot/u-boot/pull/489 + "${DISTDIR}"/u-boot-tools-2024.01-fix-invalid-escape-sequence.patch +) + src_prepare() { default sed -i 's:\bpkg-config\b:${PKG_CONFIG}:g' \ @@ -67,7 +76,7 @@ src_install() { cd tools || die if ! use envtools; then - dobin bmp_logo dumpimage fdtgrep gen_eth_addr img2srec mkenvimage mkimage + dobin dumpimage fdtgrep gen_eth_addr img2srec mkenvimage mkimage fi dobin env/fw_printenv diff --git a/dev-embedded/urjtag/Manifest b/dev-embedded/urjtag/Manifest index a7184daab17c..6799f1ccf0d8 100644 --- a/dev-embedded/urjtag/Manifest +++ b/dev-embedded/urjtag/Manifest @@ -1 +1 @@ -DIST urjtag-2019.12.tar.xz 1208432 BLAKE2B 69963cbd39dcbec1abd73778fc6e98d743e36f6d4a17ba673b8691598ac0d4cec97e8b9c79068ad8971e6e07de81553bfd3bf5f684515b4a19303dd95ed477a2 SHA512 e149e53410a6591bdadc2c0138c6f81dac0fd6e35601461e19d356decdb820ec8e6bd53d59a1fd9781dfa1fee88d23dcafbd8df9adc0f8e51256c626d2ee0f36 +DIST urjtag-2021.03.tar.xz 1208440 BLAKE2B 68d0f0ec15c25ef351e0523eea21c18e723871032a046d31c031809a2774b0b8339b0b5d1a6f11a681ab3d3074b7f5f4fcd819fa7de1fdcac5f20ab39c6a40dd SHA512 baf203e556d1d41437539d3f5c018b35fbb496f71391c2bec2786ffa47bff33d38654b3e7d106e38bcf36d075d86fc02b18eaaf634cdb65e2840ff50ca0da8b2 diff --git a/dev-embedded/urjtag/files/urjtag-2021.03-fix-python-setup.patch b/dev-embedded/urjtag/files/urjtag-2021.03-fix-python-setup.patch new file mode 100644 index 000000000000..c6206fefee2e --- /dev/null +++ b/dev-embedded/urjtag/files/urjtag-2021.03-fix-python-setup.patch @@ -0,0 +1,14 @@ +Subject: [PATCH] python: replace distutils with setuptools + +distutils is deprecated for sometime and it was removed in python 3.12. + +--- a/bindings/python/setup.py.in 2018-03-24 20:27:41.000000000 +0800 ++++ b/bindings/python/setup.py.in 2023-08-06 10:31:12.932358441 +0800 +@@ -1,6 +1,6 @@ + # python extension setup script for urjtag + +-from distutils.core import setup, Extension ++from setuptools import setup, Extension + + libraries = ['urjtag'] + libraries.extend( w.replace('-l', '') for w in "@LIBFTDI_LIBS@ @FTD2XXLIB@ @LIBUSB_LIBS@ @LIBINTL@".split() if w.replace('-l', '') not in libraries ) diff --git a/dev-embedded/urjtag/urjtag-2019.12.ebuild b/dev-embedded/urjtag/urjtag-2021.03.ebuild index 378f3e6e7e28..722255ff17da 100644 --- a/dev-embedded/urjtag/urjtag-2019.12.ebuild +++ b/dev-embedded/urjtag/urjtag-2021.03.ebuild @@ -1,7 +1,11 @@ -# 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 + +PYTHON_COMPAT=( python3_{10..12} ) + +inherit python-r1 if [[ ${PV} == "9999" ]] ; then EGIT_REPO_URI="git://git.code.sf.net/p/urjtag/git" @@ -13,19 +17,27 @@ else fi DESCRIPTION="Tool for communicating over JTAG with flash chips, CPUs, and many more" -HOMEPAGE="http://urjtag.sourceforge.net/" +HOMEPAGE="https://urjtag.sourceforge.net/" LICENSE="GPL-2" SLOT="0" -# TODO: Figure out if anyone wants the Python bindings -IUSE="ftdi ftd2xx readline usb" -DEPEND="ftdi? ( dev-embedded/libftdi:1= ) +IUSE="ftdi ftd2xx python readline usb" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +DEPEND="ftdi? ( dev-embedded/libftdi:1 ) ftd2xx? ( dev-embedded/libftd2xx ) + python? ( ${PYTHON_DEPS} ) readline? ( sys-libs/readline:= ) usb? ( virtual/libusb:1 )" -RDEPEND="${DEPEND} - !dev-embedded/jtag" +RDEPEND="${DEPEND}" +BDEPEND=" + python? ( dev-python/setuptools[${PYTHON_USEDEP}] ) +" + +PATCHES=( + "${FILESDIR}/${PN}-2021.03-fix-python-setup.patch" +) src_prepare() { default @@ -41,14 +53,32 @@ src_configure() { econf \ --disable-werror \ --disable-python \ - --disable-static \ $(use_with readline) \ $(use_with ftdi libftdi) \ $(use_with ftd2xx) \ $(use_with usb libusb 1.0) } +src_compile() { + use python && python_copy_sources + + emake +} + src_install() { default + + if use python; then + installation() { + cd bindings/python || die + ln -s "${S}"/src/.libs ../../src/.libs || die + "${EPYTHON}" setup.py install \ + --root="${D}" \ + --prefix="${EPREFIX}/usr" || die + } + python_foreach_impl run_in_build_dir installation + python_foreach_impl python_optimize + fi + find "${ED}" -name '*.la' -delete || die } diff --git a/dev-embedded/urjtag/urjtag-9999.ebuild b/dev-embedded/urjtag/urjtag-9999.ebuild index 54e0951ff6ce..031c9e8c7232 100644 --- a/dev-embedded/urjtag/urjtag-9999.ebuild +++ b/dev-embedded/urjtag/urjtag-9999.ebuild @@ -1,7 +1,11 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) + +inherit python-r1 if [[ ${PV} == "9999" ]] ; then EGIT_REPO_URI="git://git.code.sf.net/p/urjtag/git" @@ -13,18 +17,27 @@ else fi DESCRIPTION="Tool for communicating over JTAG with flash chips, CPUs, and many more" -HOMEPAGE="http://urjtag.sourceforge.net/" +HOMEPAGE="https://urjtag.sourceforge.net/" LICENSE="GPL-2" SLOT="0" -# TODO: Figure out if anyone wants the Python bindings -IUSE="ftdi readline usb" + +IUSE="ftdi ftd2xx python readline usb" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" DEPEND="ftdi? ( dev-embedded/libftdi:1 ) + ftd2xx? ( dev-embedded/libftd2xx ) + python? ( ${PYTHON_DEPS} ) readline? ( sys-libs/readline:= ) usb? ( virtual/libusb:1 )" -RDEPEND="${DEPEND} - !dev-embedded/jtag" +RDEPEND="${DEPEND}" +BDEPEND=" + python? ( dev-python/setuptools[${PYTHON_USEDEP}] ) +" + +PATCHES=( + "${FILESDIR}/${PN}-2021.03-fix-python-setup.patch" +) src_prepare() { default @@ -37,16 +50,35 @@ src_prepare() { } src_configure() { - use readline || export vl_cv_lib_readline=no - econf \ --disable-werror \ --disable-python \ + $(use_with readline) \ $(use_with ftdi libftdi) \ - $(use_with usb libusb) + $(use_with ftd2xx) \ + $(use_with usb libusb 1.0) +} + +src_compile() { + use python && python_copy_sources + + emake } src_install() { default + + if use python; then + installation() { + cd bindings/python || die + ln -s "${S}"/src/.libs ../../src/.libs || die + "${EPYTHON}" setup.py install \ + --root="${D}" \ + --prefix="${EPREFIX}/usr" || die + } + python_foreach_impl run_in_build_dir installation + python_foreach_impl python_optimize + fi + find "${ED}" -name '*.la' -delete || die } diff --git a/dev-embedded/usbprog/Manifest b/dev-embedded/usbprog/Manifest index 69e232c5dcb4..a414fc739e61 100644 --- a/dev-embedded/usbprog/Manifest +++ b/dev-embedded/usbprog/Manifest @@ -1 +1 @@ -DIST usbprog-0.3.0_p20140828.tar.bz2 4211124 BLAKE2B b0b1341e34f6f8c5b59925d115be0c45ce12d69d57a330fd111ce41a8f584f68548485f713ee6386e01facd4b7bf7c86e397194c4202ceda226bf912d94ab079 SHA512 fbc4e4edda36c5633f8459723d147bc02a211ef35d409b9a412ce901f3be1ac59f8183caf2a4f93cbe51b9807f7012986e12274167102fb5d84246f23712cca2 +DIST usbprog-0.3.0_p20140828.tar.gz 4216305 BLAKE2B 65ea08a9f937f70842af5d4bcb0a3256f539bdba36854a51c25458e8b32aa12ea80342f4cb597148f78a50d440d3af91e67e39ca60e54340bbf75fa679cf52e0 SHA512 31d9d551452305dc495caf0e44823c929d7bd25a9a2dec0fec8e1efaa70736dc45cf45607cf7a655aa4201854bcb19d6e6266ba901d6a51eec7d6b5cbfb5a2db diff --git a/dev-embedded/usbprog/metadata.xml b/dev-embedded/usbprog/metadata.xml index a98bf499324d..98fa0b02b3a9 100644 --- a/dev-embedded/usbprog/metadata.xml +++ b/dev-embedded/usbprog/metadata.xml @@ -6,6 +6,6 @@ <name>Embedded Gentoo</name> </maintainer> <upstream> - <remote-id type="bitbucket">bwalle/usbprog-tools</remote-id> + <remote-id type="github">bwalle/usbprog-tools</remote-id> </upstream> </pkgmetadata> diff --git a/dev-embedded/usbprog/usbprog-0.3.0_p20140828-r1.ebuild b/dev-embedded/usbprog/usbprog-0.3.0_p20140828-r2.ebuild index 93073fc987fa..a262a146260c 100644 --- a/dev-embedded/usbprog/usbprog-0.3.0_p20140828-r1.ebuild +++ b/dev-embedded/usbprog/usbprog-0.3.0_p20140828-r2.ebuild @@ -1,15 +1,15 @@ -# 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 cmake readme.gentoo-r1 -REV="293d559bac55" +REV="293d559bac55f7c7130ea2769c703c68a19d62c2" DESCRIPTION="flashtool for the multi purpose programming adapter usbprog" -HOMEPAGE="http://www.aaabbb.de/FirmwareUsbprog/FirmwareUsbprog_en.php https://bitbucket.org/bwalle/usbprog-tools/src/master/" -SRC_URI="https://bitbucket.org/bwalle/usbprog-tools/get/${REV}.tar.bz2 -> ${P}.tar.bz2" +HOMEPAGE="https://github.com/bwalle/usbprog-tools https://www.aaabbb.de/FirmwareUsbprog/FirmwareUsbprog_en.php" +SRC_URI="https://github.com/bwalle/usbprog-tools/archive/${REV}.tar.gz -> ${P}.tar.gz" LICENSE="GPL-2+" SLOT="0" @@ -28,7 +28,7 @@ RDEPEND=" virtual/libusb:1 " DEPEND="${RDEPEND}" -S="${WORKDIR}/bwalle-usbprog-tools-${REV}" +S="${WORKDIR}/usbprog-tools-${REV}" PATCHES=( "${FILESDIR}/${P}_versions.xml.patch" diff --git a/dev-embedded/xa/Manifest b/dev-embedded/xa/Manifest index 1b87076fc499..e9fd114f1bad 100644 --- a/dev-embedded/xa/Manifest +++ b/dev-embedded/xa/Manifest @@ -1 +1 @@ -DIST xa-2.3.13.tar.gz 155606 BLAKE2B 8196f8f88bee29dbab9ad026c0d4e3519159c4ed7579dc7db391c0bdd7b1bfe31e2884644258d863e299ac3b5fcc43718b3d95b9b7d7802541a9d58366728ffe SHA512 b8a4c1856e51bbe212b98be06895987d6fb926a229511a67ea90a934da1fcc84daf29bd289c3c4c2254d2bce345333bb92747947f3286376761613b2e181e99b +DIST xa-2.4.0.tar.gz 197862 BLAKE2B 27f8b41dafee9c1c4158681d57f971297a0a63e09df164469f665528cffae0cdd78441c0a939d742463e851f32a73ee30a95f2b2b41e2fe42137041a03041255 SHA512 eebaf67715324735203405016df7311bf2ed568ab0e609c0fec7d9d803c173cde5dea161b7f713cb5215454d1ce69acbde43372016dfe9866ed99acecb9aafb1 diff --git a/dev-embedded/xa/files/xa-2.3.10-Makefile.patch b/dev-embedded/xa/files/xa-2.3.10-Makefile.patch deleted file mode 100644 index cabc7b99beec..000000000000 --- a/dev-embedded/xa/files/xa-2.3.10-Makefile.patch +++ /dev/null @@ -1,77 +0,0 @@ ---- a/Makefile -+++ b/Makefile -@@ -1,11 +1,7 @@ - # Unix gcc or DOS go32 cross-compiling gcc - # --CC = gcc --LD = gcc - # for testing. not to be used; build failures in misc/. - #CFLAGS = -O2 -W -Wall -pedantic -ansi --CFLAGS = -O2 --LDFLAGS = -lc - - # for DOS? - # CC = gcc-go32 -@@ -32,13 +28,13 @@ - rm -f xa - - xa: -- (cd src && LD=${LD} CC="${CC} ${CFLAGS}" ${MAKE}) -+ (cd src && ${MAKE}) - - load: -- (cd loader && CC="${CC} ${CFLAGS}" ${MAKE}) -+ (cd loader && ${MAKE}) - - uncpk: -- (cd misc && CC="${CC} ${CFLAGS}" ${MAKE}) -+ (cd misc && ${MAKE}) - - dos: clean - (cd src && LD=gcc-go32 CC=gcc-go32 CFLAGS="-W -Wall -pedantic" ${MAKE}) ---- a/misc/Makefile -+++ b/misc/Makefile -@@ -2,7 +2,6 @@ - XCBMLIB = .. - - # -Wall -ansi et al. cause compile problems. --CFLAGS = -O2 - - LIBS = #-lncurses -ltermcap -lm - -@@ -10,19 +9,19 @@ - all: ../mkrom.sh ../uncpk ../printcbm ../file65 ../reloc65 ../ldo65 - - ../uncpk: uncpk.c -- ${CC} ${CFLAGS} uncpk.c -o $(XCBMLIB)/uncpk -+ ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} uncpk.c -o $(XCBMLIB)/uncpk - - ../printcbm: printcbm.c -- ${CC} ${CFLAGS} printcbm.c -o $(XCBMLIB)/printcbm -+ ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} printcbm.c -o $(XCBMLIB)/printcbm - - ../file65: file65.c -- ${CC} ${CFLAGS} file65.c -o $(XCBMLIB)/file65 -+ ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} file65.c -o $(XCBMLIB)/file65 - - ../ldo65: ldo65.c -- ${CC} ${CFLAGS} ldo65.c -o $(XCBMLIB)/ldo65 -+ ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} ldo65.c -o $(XCBMLIB)/ldo65 - - ../reloc65: reloc65.c -- ${CC} ${CFLAGS} reloc65.c -o $(XCBMLIB)/reloc65 -+ ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} reloc65.c -o $(XCBMLIB)/reloc65 - - ../mkrom.sh: mkrom.sh - cp mkrom.sh ../mkrom.sh ---- a/src/Makefile -+++ b/src/Makefile -@@ -8,7 +8,7 @@ - all: xa - - xa: ${OBJ} -- ${LD} -o ../xa ${OBJ} ${LDFLAGS} -+ ${CC} ${CFLAGS} ${LDFLAGS} -o ../xa ${OBJ} - - clean: - rm -f *.o *.o65 diff --git a/dev-embedded/xa/files/xa-2.4.0-make.patch b/dev-embedded/xa/files/xa-2.4.0-make.patch new file mode 100644 index 000000000000..a71ceef23bd7 --- /dev/null +++ b/dev-embedded/xa/files/xa-2.4.0-make.patch @@ -0,0 +1,28 @@ +https://bugs.gentoo.org/722600 +--- a/Makefile ++++ b/Makefile +@@ -4,2 +3,0 @@ +-CC = gcc +-LD = gcc +@@ -9,2 +6,0 @@ +-CFLAGS = -O2 +-LDFLAGS = -lc +@@ -33 +29 @@ +-all: killxa xa uncpk ++all: xa uncpk +@@ -39 +35 @@ +- (cd src && LD=${LD} CC="${CC} ${CFLAGS}" ${MAKE}) ++ (cd src && ${MAKE}) +@@ -45 +41 @@ +- (cd misc && CC="${CC} ${CFLAGS}" ${MAKE}) ++ (cd misc && ${MAKE}) +--- a/misc/Makefile ++++ b/misc/Makefile +@@ -5 +5 @@ +-CFLAGS = -O2 -g ++CFLAGS := $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) +--- a/src/Makefile ++++ b/src/Makefile +@@ -12 +12 @@ +- ${LD} -o ../xa ${OBJ} ${LDFLAGS} ++ ${CC} ${LDFLAGS} -o ../xa ${OBJ} diff --git a/dev-embedded/xa/xa-2.3.13.ebuild b/dev-embedded/xa/xa-2.4.0.ebuild index ddaef3e9cb4a..df008580717d 100644 --- a/dev-embedded/xa/xa-2.3.13.ebuild +++ b/dev-embedded/xa/xa-2.4.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -14,7 +14,7 @@ SLOT="0" KEYWORDS="amd64 ~arm ~arm64 x86" PATCHES=( - "${FILESDIR}"/${PN}-2.3.10-Makefile.patch + "${FILESDIR}"/${PN}-2.4.0-make.patch ) src_configure() { |