# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 inherit eutils multilib flag-o-matic toolchain-funcs udev autotools git-r3 EGIT_REPO_URI="https://git.code.sf.net/p/${PN}/code" EGIT_SUBMODULES=("-*libjaylink" "-jimtcl") DESCRIPTION="OpenOCD - Open On-Chip Debugger" HOMEPAGE="http://openocd.sourceforge.net" LICENSE="GPL-2+" SLOT="0" IUSE="+cmsis-dap dummy +ftdi +jlink parport +usb verbose-io" RESTRICT="strip" # includes non-native binaries RDEPEND=" >=dev-lang/jimtcl-0.76 cmsis-dap? ( dev-libs/hidapi ) jlink? ( >=dev-embedded/libjaylink-0.1.0 ) usb? ( virtual/libusb:0 virtual/libusb:1 ) ftdi? ( dev-embedded/libftdi ) " DEPEND=" ${RDEPEND} virtual/pkgconfig >=sys-apps/texinfo-5 " src_prepare() { default AT_NO_RECURSIVE=yes eautoreconf } src_configure() { # Here are some defaults local myconf=( --enable-buspirate --disable-werror --disable-internal-jimtcl --disable-internal-libjaylink --enable-amtjtagaccel --enable-ep93xx --enable-at91rm9200 --enable-gw16012 --enable-arm-jtag-ew --enable-sysfsgpio --enable-bcm2835gpio ) # Adapters requiring usb/libusb-1.X support if use usb; then myconf+=( --enable-aice --enable-usb-blaster-2 --enable-ftdi --enable-ti-icdi --enable-ulink --enable-osbdm --enable-opendous --enable-usbprog --enable-rlink --enable-stlink --enable-vsllink --enable-armjtagew $(use_enable verbose-io verbose-usb-io) $(use_enable verbose-io verbose_usb_comms) ) else myconf+=( --disable-aice --disable-usb-blaster-2 --disable-ftdi --disable-ti-icdi --disable-ulink --disable-osbdm --disable-opendous --disable-usbprog --disable-jlink --disable-rlink --disable-stlink --disable-vsllink --disable-armjtagew ) fi if use jlink; then myconf+=( --enable-jlink ) else myconf+=( --disable-jlink ) fi if use ftdi; then myconf+=( --enable-usb_blaster --enable-openjtag --enable-presto ) else myconf+=( --disable-openjtag --disable-presto --disable-usb_blaster ) fi econf \ $(use_enable dummy) \ $(use_enable cmsis-dap) \ $(use_enable parport) \ $(use_enable parport parport_ppdev) \ $(use_enable verbose-io verbose-jtag-io) \ "${myconf[@]}" } src_install() { default env -uRESTRICT prepstrip "${ED}"/usr/bin udev_dorules ${D}/usr/share/${PN}/contrib/*.rules } pkg_postinst() { elog "To access openocd devices as user you must be in the plugdev group" }