|
|
|
# Copyright 1999-2021 Gentoo Authors
|
|
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
|
|
|
|
EAPI=7
|
|
|
|
inherit toolchain-funcs multilib-minimal usr-ldscript
|
|
|
|
|
|
|
|
DESCRIPTION="Userspace access to USB devices"
|
|
|
|
HOMEPAGE="https://libusb.info/ https://github.com/libusb/libusb"
|
|
|
|
SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.bz2"
|
|
|
|
|
|
|
|
LICENSE="LGPL-2.1"
|
|
|
|
SLOT="1"
|
|
|
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
|
|
|
|
IUSE="debug doc examples static-libs test udev"
|
|
|
|
RESTRICT="!test? ( test )"
|
|
|
|
|
|
|
|
RDEPEND="udev? ( >=virtual/libudev-208:=[${MULTILIB_USEDEP},static-libs(-)?] )"
|
|
|
|
DEPEND="${RDEPEND}
|
|
|
|
!udev? ( virtual/os-headers )"
|
|
|
|
BDEPEND="doc? ( app-doc/doxygen )"
|
|
|
|
|
|
|
|
PATCHES=(
|
|
|
|
"${FILESDIR}/${P}-multi_device_config_parsing.patch" #759814
|
|
|
|
)
|
|
|
|
|
|
|
|
multilib_src_configure() {
|
|
|
|
local myeconfargs=(
|
|
|
|
$(use_enable static-libs static)
|
|
|
|
$(use_enable udev)
|
|
|
|
$(use_enable debug debug-log)
|
|
|
|
$(use_enable test tests-build)
|
|
|
|
)
|
|
|
|
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
|
|
|
}
|
|
|
|
|
|
|
|
multilib_src_compile() {
|
|
|
|
emake
|
|
|
|
|
|
|
|
if multilib_is_native_abi; then
|
|
|
|
use doc && emake -C doc
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
multilib_src_test() {
|
|
|
|
emake check
|
|
|
|
|
|
|
|
# noinst_PROGRAMS from tests/Makefile.am
|
|
|
|
tests/stress || die
|
|
|
|
}
|
|
|
|
|
|
|
|
multilib_src_install() {
|
|
|
|
emake DESTDIR="${D}" install
|
|
|
|
|
|
|
|
if multilib_is_native_abi; then
|
|
|
|
gen_usr_ldscript -a usb-1.0
|
|
|
|
|
|
|
|
use doc && dodoc -r doc/api-1.0
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
multilib_src_install_all() {
|
|
|
|
find "${ED}" -type f -name "*.la" -delete || die
|
|
|
|
|
|
|
|
dodoc AUTHORS ChangeLog NEWS PORTING README TODO
|
|
|
|
|
|
|
|
if use examples; then
|
|
|
|
docinto examples
|
|
|
|
dodoc examples/*.{c,h}
|
|
|
|
fi
|
|
|
|
}
|