commit:     5ce86915a6b6bf730dbeb4c54fd6d220d8fc43b2
Author:     Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 18 07:06:27 2023 +0000
Commit:     Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Sat Mar 18 07:06:27 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5ce86915

dev-ruby/libusb: add extension installed marker manually

This gem has an extension that is a no-op when using system
libusb. Install the "extension installed" marker manually to make
rubygems happy.

Closes: https://bugs.gentoo.org/901973
Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org>

 dev-ruby/libusb/libusb-0.6.4-r2.ebuild | 47 ++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/dev-ruby/libusb/libusb-0.6.4-r2.ebuild 
b/dev-ruby/libusb/libusb-0.6.4-r2.ebuild
new file mode 100644
index 000000000000..335703d18ed0
--- /dev/null
+++ b/dev-ruby/libusb/libusb-0.6.4-r2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby27 ruby30 ruby31"
+
+RUBY_FAKEGEM_EXTRADOC="History.md README.md"
+RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
+
+inherit ruby-fakegem
+
+DESCRIPTION="binding that gives Ruby programmers access to arbitrary USB 
devices"
+HOMEPAGE="https://github.com/larskanis/libusb";
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND+="virtual/libusb:1"
+RDEPEND+="${DEPEND}"
+
+ruby_add_rdepend "dev-ruby/ffi:0"
+ruby_add_bdepend "test? ( dev-ruby/eventmachine )"
+
+all_ruby_prepare() {
+       sed -e '/mini_portile2/d' \
+               -e 's/git ls-files --/find/' \
+               -i ${RUBY_FAKEGEM_GEMSPEC} || die
+
+       # Avoid tests that try to open devices or depend on specific hardware
+       rm -f test/test_libusb_{bos,descriptors}.rb || die
+}
+
+each_ruby_test() {
+       ${RUBY} -I.:lib -e "Dir['test/test_*.rb'].each{|f| require f}" || die
+}
+
+each_ruby_install() {
+       each_fakegem_install
+
+       # This gem includes an extension that does not actually do anything
+       # when using the system libusb, but newer rubygems versions still
+       # require the marker to be present.
+       ruby_fakegem_extensions_installed
+}

Reply via email to