diff --git a/dev-embedded/rpi-openocd/metadata.xml b/dev-embedded/rpi-openocd/metadata.xml new file mode 100644 index 0000000000..838745ed0c --- /dev/null +++ b/dev-embedded/rpi-openocd/metadata.xml @@ -0,0 +1,22 @@ + + + + + ljn0099@hotmail.com + Manuel + + + raspberrypi/openocd + + + Support for ARM disassembly via dev-libs/capstone + Support for CMSIS-DAP adapter driver via dev-libs/hidapi + Build the dummy port driver + Support for USB FTDI chips via dev-embedded/libftdi + Support for linuxgpiod driver via dev-libs/libgpiod + Support for J-Link driver via dev-embedded/libjaylink + Support for parport JTAG devices + Verbose IO and comm JTAG and USB messages + Support for the USB-based drivers + + diff --git a/dev-embedded/rpi-openocd/rpi-openocd-9999.ebuild b/dev-embedded/rpi-openocd/rpi-openocd-9999.ebuild new file mode 100644 index 0000000000..c2cb0ea939 --- /dev/null +++ b/dev-embedded/rpi-openocd/rpi-openocd-9999.ebuild @@ -0,0 +1,102 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools git-r3 udev + +DESCRIPTION="OpenOCD - Open On-Chip Debugger (Raspberry Pi Fork)" +HOMEPAGE="https://github.com/raspberrypi/openocd" + +EGIT_REPO_URI="https://github.com/raspberrypi/openocd.git" +EGIT_BRANCH="rpi-common" +EGIT_SUBMODULES=() + +LICENSE="GPL-2+" +SLOT="0" +IUSE="capstone +cmsis-dap dummy +ftdi gpiod +jlink parport +usb verbose-io" +RESTRICT="strip" + +DEPEND=" + acct-group/plugdev + >=dev-lang/jimtcl-0.79 + capstone? ( dev-libs/capstone ) + cmsis-dap? ( dev-libs/hidapi ) + ftdi? ( dev-embedded/libftdi:= ) + gpiod? ( dev-libs/libgpiod:0/2 ) + jlink? ( >=dev-embedded/libjaylink-0.2.0 ) + usb? ( virtual/libusb:1 ) +" +RDEPEND="${DEPEND}" +BDEPEND="virtual/pkgconfig" + +src_prepare() { + default + + AT_NO_RECURSIVE=yes eautoreconf +} + +src_configure() { + local myconf=( + --program-prefix=rpi- + --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/openocd/contrib/*.rules +} + +pkg_postinst() { + udev_reload + + elog "To access openocd devices as user you must be in the plugdev group" + elog "Installed as rpi-openocd" +} + +pkg_postrm() { + udev_reload +}