commit:     03e8deb55ed4376b4f5e29f019797c82c03539cd
Author:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 20 17:27:52 2024 +0000
Commit:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Sat Jul 20 17:29:50 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=03e8deb5

dev-ruby/facter: fix vague Gem::MissingSpecError

Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>

 dev-ruby/facter/facter-4.7.0-r1.ebuild             | 56 ++++++++++++++++++++++
 .../files/facter-4.7.0-gentoo-thor-gemspec.patch   | 36 ++++++++++++++
 2 files changed, 92 insertions(+)

diff --git a/dev-ruby/facter/facter-4.7.0-r1.ebuild 
b/dev-ruby/facter/facter-4.7.0-r1.ebuild
new file mode 100644
index 000000000000..6c7cda531d76
--- /dev/null
+++ b/dev-ruby/facter/facter-4.7.0-r1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+USE_RUBY="ruby30 ruby31 ruby32"
+RUBY_FAKEGEM_GEMSPEC="facter.gemspec"
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
+RUBY_FAKEGEM_RECIPE_DOC="yard"
+
+inherit ruby-fakegem
+
+DESCRIPTION="A cross-platform ruby library for retrieving facts from operating 
systems"
+HOMEPAGE="http://www.puppetlabs.com/puppet/related-projects/facter/";
+
+LICENSE="Apache-2.0"
+SLOT="0"
+#IUSE="test"
+if [[ ${PV} == 9999 ]] ; then
+       inherit git-r3
+       EGIT_REPO_URI="https://github.com/puppetlabs/facter.git";
+       EGIT_BRANCH="master"
+else
+       [[ "${PV}" = *_rc* ]] || \
+       KEYWORDS="~amd64 ~riscv ~x86"
+       #KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+       SRC_URI="https://github.com/puppetlabs/${PN}/archive/${PV}.tar.gz -> 
${P}.tar.gz"
+fi
+
+#RESTRICT="!test? ( test )"
+
+ruby_add_rdepend "dev-ruby/hocon <dev-ruby/thor-2.0 dev-ruby/ffi 
dev-ruby/sys-filesystem"
+ruby_add_bdepend "test? ( dev-ruby/simplecov dev-ruby/timecop dev-ruby/webmock 
)"
+
+PATCHES=(
+       "${FILESDIR}"/facter-4.4.3-rspec-gentoo-tweak.patch
+       "${FILESDIR}"/facter-4.7.0-gentoo-thor-gemspec.patch
+)
+
+src_unpack() {
+       if [[ ${PV} == 9999 ]] ; then
+               git-r3_src_unpack
+       fi
+       ruby-ng_src_unpack
+}
+
+all_ruby_prepare() {
+       sed -e 's/__dir__/"."/' \
+               -e 's/__FILE__/"'${RUBY_FAKEGEM_GEMSPEC}'"/' \
+               -i ${RUBY_FAKEGEM_GEMSPEC} || die
+       # Breaks tests; handle deps ourselves
+       sed -e "/require 'bundler/d" -i spec/spec_helper.rb || die
+       # dev tasks not needed, but block tests
+       for f in tasks/rubocop.rake tasks/check.rake ; do
+               test -e ${f} && mv -f ${f}{,.DISABLE}
+       done
+}

diff --git a/dev-ruby/facter/files/facter-4.7.0-gentoo-thor-gemspec.patch 
b/dev-ruby/facter/files/facter-4.7.0-gentoo-thor-gemspec.patch
new file mode 100644
index 000000000000..67a47b345439
--- /dev/null
+++ b/dev-ruby/facter/files/facter-4.7.0-gentoo-thor-gemspec.patch
@@ -0,0 +1,36 @@
+Upstream Facter still supports Ruby 2.5 due to Puppetserver 7, but the Thor
+dependency dropped Ruby 2.5 support in the 1.3 series.
+
+That doesn't matter for Gentoo, because Gentoo dropped Ruby 2.5 long ago, so
+tweak the dependency to permit newer Thor.
+
+This stops the incredibly vague error:
+```
+$ puppet parser validate ..
+Error: Could not initialize global default settings: Gem::MissingSpecError
+```
+
+Reference: https://github.com/puppetlabs/facter/issues/2687
+Reference: https://github.com/puppetlabs/facter/pull/2674
+Reference: https://github.com/puppetlabs/facter/pull/2686
+Signed-off-by: Robin H. Johnson <robb...@gentoo.org>
+
+diff '--color=auto' -Nuar facter-4.7.0.orig/ext/project_data.yaml 
facter-4.7.0/ext/project_data.yaml
+--- facter-4.7.0.orig/ext/project_data.yaml    2024-04-05 10:45:18.000000000 
-0700
++++ facter-4.7.0/ext/project_data.yaml 2024-07-20 10:20:06.637005127 -0700
+@@ -15,4 +15,4 @@
+ gem_required_ruby_version: ['>= 2.5', '< 4.0']
+ gem_runtime_dependencies:
+   hocon: ~> 1.3
+-  thor: ['>= 1.0.1', '< 1.3']
++  thor: ['>= 1.0.1', '< 2.0']
+diff '--color=auto' -Nuar facter-4.7.0.orig/facter.gemspec 
facter-4.7.0/facter.gemspec
+--- facter-4.7.0.orig/facter.gemspec   2024-07-20 10:18:09.763758108 -0700
++++ facter-4.7.0/facter.gemspec        2024-07-20 10:19:55.470346750 -0700
+@@ -46,5 +46,5 @@
+   spec.add_development_dependency 'yard', '~> 0.9'
+ 
+   spec.add_runtime_dependency 'hocon', '~> 1.3'
+-  spec.add_runtime_dependency 'thor', ['>= 1.0.1', '< 1.3'] # Thor 1.3.0 
drops support for Ruby 2.5
++  spec.add_runtime_dependency 'thor', ['>= 1.0.1', '< 2.0'] # Thor 1.3.0 
drops support for Ruby 2.5 - which doesn't matter for Gentoo
+ end

Reply via email to