summaryrefslogtreecommitdiff
path: root/dev-libs/libusb
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-12-14 13:26:14 +0000
committerV3n3RiX <venerix@redcorelinux.org>2020-12-14 13:26:14 +0000
commit6abbf81ef2f298e3221ff5e67a1f3c5f23958212 (patch)
tree25413d1cb3a0cbfe36029db32398c0f333609215 /dev-libs/libusb
parent9c417bacd51da6d8b57fa9f37425161d30d4b95b (diff)
gentoo resync : 14.12.2020
Diffstat (limited to 'dev-libs/libusb')
-rw-r--r--dev-libs/libusb/Manifest11
-rw-r--r--dev-libs/libusb/files/libusb-1.0.24-multi_device_config_parsing.patch65
-rw-r--r--dev-libs/libusb/libusb-1.0.19-r1.ebuild68
-rw-r--r--dev-libs/libusb/libusb-1.0.22.ebuild67
-rw-r--r--dev-libs/libusb/libusb-1.0.23-r1.ebuild8
-rw-r--r--dev-libs/libusb/libusb-1.0.24-r1.ebuild (renamed from dev-libs/libusb/libusb-1.0.21-r1.ebuild)36
6 files changed, 92 insertions, 163 deletions
diff --git a/dev-libs/libusb/Manifest b/dev-libs/libusb/Manifest
index 271900105709..dfbad5a7acbf 100644
--- a/dev-libs/libusb/Manifest
+++ b/dev-libs/libusb/Manifest
@@ -1,9 +1,6 @@
-DIST libusb-1.0.19.tar.bz2 521496 BLAKE2B 9f38dcb8f053019511dc2eed93772183c5487917794abd2839e981924bf05e39aba5cee4fb9a366b78e4d265fb16a921fb64c9a083323993ce21543d37073720 SHA512 f42f0187bfec16ebabad64efef7a7651ee85dcf2af1b7cbe543b7de615f9c6432f7eea5fcc6b23335591dcad287c905eb9bd56199cc5d3b47435027ad678f2c1
-DIST libusb-1.0.21.tar.bz2 607417 BLAKE2B c76352a19f416ad27b8940e99f38878e248cdbc04ef97752f8c8468ab0391869ab611197e3e143d69e0e23563da59f1691c14fce72958fdf28ebf10dd8c1521b SHA512 015ca07bdb559aa40af5db1302ab0b1c8a30d593699fe2f3c9f45162673dc7b608cecc58d60fde8f3bde2a68370794a045e8efa48fc55402eece11261e525762
-DIST libusb-1.0.22.tar.bz2 598833 BLAKE2B 38d01c1dd1837434c24008151a27cdfb2b2e9aab30fe95e4403bad613a0147a13b9b029814e15520bcfc2c181b00e3c5cc1ffdc3a586a604190bf441d3c89318 SHA512 2a93ba48bb66b9775838c16d74f7269348d9bc163f94ccf2842d1108d95a41cf79f8c8065233bea410fb94261a462dbb08ecfa1a9b6d3ddf4a5980e6043f74f4
+AUX libusb-1.0.24-multi_device_config_parsing.patch 2340 BLAKE2B 28e8f3916843599e3b2f03228d2366de29a9332fc0a147e32c61f8944bb0f77fe1b57b3f323f161bafd00f5ef8434c33afeb5c89ad4a0d658b54daf2ba5dc541 SHA512 78af84f9dc33589f89e6f97d5aa81ec11208dc65c3bd8b8c947837d0f70d68e5313ce3a68853d4d6cc8af4cc2f237b5c95ac2db563f0013652f88479dbcfdd68
DIST libusb-1.0.23.tar.bz2 602860 BLAKE2B 4eaf8cce0047b85c3057c67b53769739c50a39c4d34e94659b030fb11f02309f9217e93d35d78f699c55256346cf8b14827c8ddf495caeeacc522c51f473abc2 SHA512 73430ad31dd405e76a9c6c55086961003989c44964e2735b5076f9ca849e3f6fe71d10a66b74b111f0c34a0d2cb744b9ca105863c552123fce4ec0bbdd2ec15b
-EBUILD libusb-1.0.19-r1.ebuild 1579 BLAKE2B 3b00f91164578403ec4979817fa3d8c83af1f43dac4cb948168696cb04003ec5ef2238740b51710cded491c8faf42bd88cf40ce9868d8575ea62926c0f863e39 SHA512 7b1fcb903de409c4411e50e3e57f60169fa554e3a7004ab2cc9882a3210225a38b8fda5fe89487f86dd7743676a72ddd8f61729d0f69062faff397a24533637e
-EBUILD libusb-1.0.21-r1.ebuild 1609 BLAKE2B 559d47334b5fd2c0db4edf47e18c8a62b21a0bcba8ae79ccbb221710ae0f49c1969a8f35faa7f993f4f959540fddf137b35153cce53ffa18adf213bf68c85e8d SHA512 a8aab2d2a224cf9bae1e8cdaf8ec2640a1fb3337e9c003d6b7222300eb38d7d31cbbb8ea3e9ca6511e49c7e696503408b4b0f5ad7262d1b671aabb392c3d6e65
-EBUILD libusb-1.0.22.ebuild 1601 BLAKE2B 9aea4268a1867da5a882310840ec7be499d226aabc9a73754f0151b925e14fb1948dce1f36a7bb0e2e3b2d908da5cd90b793b453dc086f9ed177911218d8955a SHA512 72dc67e74bea8a8ba876a4332895a71ec461cff5cb59bc07a04693b6fddceb3b3fa1c33fcadd10519fcedcdd7fdf8c2a9e9a6900152782dc5f39e957d78a8c6d
-EBUILD libusb-1.0.23-r1.ebuild 1666 BLAKE2B acb498cdb1682515dc67021ded28199f0bf3f5313681c6f0cba3ed847fa7afe4dffd132210d9ee667cba6ce46b4ecf4943b9fc2cbd78dd5baefeac1516eff76f SHA512 4f2f4aedafdb2e0d9aaaaf9385663b870b030d0a8ca8e22aa5901c811e97b0fb4eebe017157ff4bee6c9165e509338834059a7af051724f7d237035538746c57
+DIST libusb-1.0.24.tar.bz2 606593 BLAKE2B f6188b5af1225cf8b6d1486b6efcf48e837ee4f2e3592adab3ae6aae0a74a67aa54f40f0dd547f951a194d40954f2ee33acf741d2eee0b8449ce64f2edcf1018 SHA512 5aea36a530aaa15c6dd656d0ed3ce204522c9946d8d39ffbb290dab4a98cda388a2598da4995123d1032324056090bd429e702459626d3e8d7daeebc4e7ff3dc
+EBUILD libusb-1.0.23-r1.ebuild 1624 BLAKE2B b696e13646d0d39085116286ae7747a9d4895db811a58e795bdf6303fe6c0b502c7940cce2efcd4decdb5732d88ef9c47c4b1d498bca5ce4a4bc86cb452a0416 SHA512 0e5355522ae3c09d51b7406a78c169293f4bd398f3b2a5661f28bdbcdf2f1a672dad8f7868d202146961e33e9002e791061630e6326ee589052bd3e49eb1ac1e
+EBUILD libusb-1.0.24-r1.ebuild 1647 BLAKE2B d7021724068e3b94b33ac8e90360207f7800ac97b4f661fc4a7bab0a2c20bdab4a46aa0c054584800856e7300acf1f611702b0cc4146000fc20f0269221c576c SHA512 34958fd8cdacfc05246e968d1529ccfa3cf52e73498b9f52ee5694596e3961e2ac4ff00c954b24e8bf694a188de083f044d74a86c57044b96af4de98a9ab1dd7
MISC metadata.xml 335 BLAKE2B 8d1673cd194774a9e68e0f7458cceae03774fc5601925758a96406da4c41e9a399e42117b31b2dd23bdaf8626bfad3deb3c0a6c9b8af882aa3b4724a5bf017cd SHA512 e1040f513f81c769094c6b10e3b9bc4a64b55d281d9d97c8f3d33f1e95681b4f85070fb9731567629636b83243420320d63afba64ec7541c605f91d693f76ce0
diff --git a/dev-libs/libusb/files/libusb-1.0.24-multi_device_config_parsing.patch b/dev-libs/libusb/files/libusb-1.0.24-multi_device_config_parsing.patch
new file mode 100644
index 000000000000..739d41c404a7
--- /dev/null
+++ b/dev-libs/libusb/files/libusb-1.0.24-multi_device_config_parsing.patch
@@ -0,0 +1,65 @@
+From f6d2cb561402c3b6d3627c0eb89e009b503d9067 Mon Sep 17 00:00:00 2001
+From: Chris Dickens <christopher.a.dickens@gmail.com>
+Date: Sun, 13 Dec 2020 15:49:19 -0800
+Subject: [PATCH] linux_usbfs: Fix parsing of descriptors for
+ multi-configuration devices
+
+Commit e2be556bd2 ("linux_usbfs: Parse config descriptors during device
+initialization") introduced a regression for devices with multiple
+configurations. The logic that verifies the reported length of the
+configuration descriptors failed to count the length of the
+configuration descriptor itself and would truncate the actual length by
+9 bytes, leading to a parsing error for subsequent descriptors.
+
+Closes #825
+
+Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
+---
+ libusb/os/linux_usbfs.c | 12 ++++++++----
+ libusb/version_nano.h | 2 +-
+ 2 files changed, 9 insertions(+), 5 deletions(-)
+
+diff --git a/libusb/os/linux_usbfs.c b/libusb/os/linux_usbfs.c
+index fb2ed53a..4d2dc8d6 100644
+--- a/libusb/os/linux_usbfs.c
++++ b/libusb/os/linux_usbfs.c
+@@ -641,7 +641,12 @@ static int seek_to_next_config(struct libusb_context *ctx,
+ uint8_t *buffer, size_t len)
+ {
+ struct usbi_descriptor_header *header;
+- int offset = 0;
++ int offset;
++
++ /* Start seeking past the config descriptor */
++ offset = LIBUSB_DT_CONFIG_SIZE;
++ buffer += LIBUSB_DT_CONFIG_SIZE;
++ len -= LIBUSB_DT_CONFIG_SIZE;
+
+ while (len > 0) {
+ if (len < 2) {
+@@ -718,7 +723,7 @@ static int parse_config_descriptors(struct libusb_device *dev)
+ }
+
+ if (priv->sysfs_dir) {
+- /*
++ /*
+ * In sysfs wTotalLength is ignored, instead the kernel returns a
+ * config descriptor with verified bLength fields, with descriptors
+ * with an invalid bLength removed.
+@@ -727,8 +732,7 @@ static int parse_config_descriptors(struct libusb_device *dev)
+ int offset;
+
+ if (num_configs > 1 && idx < num_configs - 1) {
+- offset = seek_to_next_config(ctx, buffer + LIBUSB_DT_CONFIG_SIZE,
+- remaining - LIBUSB_DT_CONFIG_SIZE);
++ offset = seek_to_next_config(ctx, buffer, remaining);
+ if (offset < 0)
+ return offset;
+ sysfs_config_len = (uint16_t)offset;
+diff --git a/libusb/version_nano.h b/libusb/version_nano.h
+index 61a0a700..578b0979 100644
+--- a/libusb/version_nano.h
++++ b/libusb/version_nano.h
+@@ -1 +1 @@
+-#define LIBUSB_NANO 11584
++#define LIBUSB_NANO 11586
diff --git a/dev-libs/libusb/libusb-1.0.19-r1.ebuild b/dev-libs/libusb/libusb-1.0.19-r1.ebuild
deleted file mode 100644
index 3aa756f257a5..000000000000
--- a/dev-libs/libusb/libusb-1.0.19-r1.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit multilib-minimal toolchain-funcs usr-ldscript
-
-DESCRIPTION="Userspace access to USB devices"
-HOMEPAGE="https://libusb.info/ https://github.com/libusb/libusb"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
-
-LICENSE="LGPL-2.1"
-SLOT="1"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="debug doc examples static-libs test udev"
-RESTRICT="!test? ( test )"
-
-RDEPEND="udev? ( >=virtual/libudev-208:=[${MULTILIB_USEDEP},static-libs(-)?] )"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
- !udev? ( virtual/os-headers )"
-
-multilib_src_configure() {
- ECONF_SOURCE=${S} \
- econf \
- $(use_enable static-libs static) \
- $(use_enable udev) \
- $(use_enable debug debug-log) \
- $(use_enable test tests-build)
-}
-
-multilib_src_compile() {
- emake
-
- if multilib_is_native_abi; then
- use doc && emake -C doc docs
- 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 && dohtml doc/html/*
- fi
-}
-
-multilib_src_install_all() {
- find "${ED}" -name '*.la' -delete || die
-
- dodoc AUTHORS ChangeLog NEWS PORTING README TODO
-
- if use examples; then
- insinto /usr/share/doc/${PF}/examples
- doins examples/*.{c,h}
- insinto /usr/share/doc/${PF}/examples/getopt
- doins examples/getopt/*.{c,h}
- fi
-}
diff --git a/dev-libs/libusb/libusb-1.0.22.ebuild b/dev-libs/libusb/libusb-1.0.22.ebuild
deleted file mode 100644
index 8627f3050dad..000000000000
--- a/dev-libs/libusb/libusb-1.0.22.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit ltprune 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 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="debug doc examples static-libs test udev"
-RESTRICT="!test? ( test )"
-
-RDEPEND="udev? ( >=virtual/libudev-208:=[${MULTILIB_USEDEP},static-libs(-)?] )"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
- !udev? ( virtual/os-headers )"
-
-multilib_src_configure() {
- ECONF_SOURCE=${S} \
- econf \
- $(use_enable static-libs static) \
- $(use_enable udev) \
- $(use_enable debug debug-log) \
- $(use_enable test tests-build)
-}
-
-multilib_src_compile() {
- emake
-
- if multilib_is_native_abi; then
- use doc && emake -C doc docs
- 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/html
- fi
-}
-
-multilib_src_install_all() {
- prune_libtool_files
-
- dodoc AUTHORS ChangeLog NEWS PORTING README TODO
-
- if use examples; then
- insinto /usr/share/doc/${PF}/examples
- doins examples/*.{c,h}
- insinto /usr/share/doc/${PF}/examples/getopt
- doins examples/getopt/*.{c,h}
- fi
-}
diff --git a/dev-libs/libusb/libusb-1.0.23-r1.ebuild b/dev-libs/libusb/libusb-1.0.23-r1.ebuild
index 565cbb6a7d73..283daa606605 100644
--- a/dev-libs/libusb/libusb-1.0.23-r1.ebuild
+++ b/dev-libs/libusb/libusb-1.0.23-r1.ebuild
@@ -60,9 +60,9 @@ multilib_src_install_all() {
dodoc AUTHORS ChangeLog NEWS PORTING README TODO
if use examples; then
- insinto /usr/share/doc/${PF}/examples
- doins examples/*.{c,h}
- insinto /usr/share/doc/${PF}/examples/getopt
- doins examples/getopt/*.{c,h}
+ docinto examples
+ dodoc examples/*.{c,h}
+ docinto examples/getopt
+ dodoc examples/getopt/*.{c,h}
fi
}
diff --git a/dev-libs/libusb/libusb-1.0.21-r1.ebuild b/dev-libs/libusb/libusb-1.0.24-r1.ebuild
index 09e8498e73f1..50c1cb3b454b 100644
--- a/dev-libs/libusb/libusb-1.0.21-r1.ebuild
+++ b/dev-libs/libusb/libusb-1.0.24-r1.ebuild
@@ -1,9 +1,8 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-
-inherit multilib-minimal toolchain-funcs usr-ldscript
+EAPI=7
+inherit toolchain-funcs multilib-minimal usr-ldscript
DESCRIPTION="Userspace access to USB devices"
HOMEPAGE="https://libusb.info/ https://github.com/libusb/libusb"
@@ -11,29 +10,34 @@ 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 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="debug doc examples static-libs test udev"
RESTRICT="!test? ( test )"
RDEPEND="udev? ( >=virtual/libudev-208:=[${MULTILIB_USEDEP},static-libs(-)?] )"
DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
!udev? ( virtual/os-headers )"
+BDEPEND="doc? ( app-doc/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}/${P}-multi_device_config_parsing.patch" #759814
+)
multilib_src_configure() {
- ECONF_SOURCE=${S} \
- econf \
- $(use_enable static-libs static) \
- $(use_enable udev) \
- $(use_enable debug debug-log) \
+ 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 docs
+ use doc && emake -C doc
fi
}
@@ -50,19 +54,17 @@ multilib_src_install() {
if multilib_is_native_abi; then
gen_usr_ldscript -a usb-1.0
- use doc && dohtml doc/html/*
+ use doc && dodoc -r doc/api-1.0
fi
}
multilib_src_install_all() {
- find "${ED}" -name '*.la' -delete || die
+ find "${ED}" -type f -name "*.la" -delete || die
dodoc AUTHORS ChangeLog NEWS PORTING README TODO
if use examples; then
- insinto /usr/share/doc/${PF}/examples
- doins examples/*.{c,h}
- insinto /usr/share/doc/${PF}/examples/getopt
- doins examples/getopt/*.{c,h}
+ docinto examples
+ dodoc examples/*.{c,h}
fi
}