summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/libusb/libusb-1.0.26.ebuild')
-rw-r--r--dev-libs/libusb/libusb-1.0.26.ebuild74
1 files changed, 74 insertions, 0 deletions
diff --git a/dev-libs/libusb/libusb-1.0.26.ebuild b/dev-libs/libusb/libusb-1.0.26.ebuild
new file mode 100644
index 000000000000..69e776459901
--- /dev/null
+++ b/dev-libs/libusb/libusb-1.0.26.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit 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 ~loong ~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 )"
+REQUIRED_USE="static-libs? ( !udev )"
+
+RDEPEND="udev? ( >=virtual/libudev-208:=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ !udev? ( virtual/os-headers )"
+BDEPEND="doc? ( app-text/doxygen )"
+
+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
+ if [[ -e /dev/bus/usb ]]; then
+ tests/stress || die
+ else
+ # bug #824266
+ ewarn "/dev/bus/usb does not exist, skipping stress test"
+ fi
+}
+
+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
+}