summaryrefslogtreecommitdiff
path: root/dev-ruby/facter
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-04 16:47:34 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-04 16:47:34 -0500
commitdda948891d3731927b821ce31f9d9a2d03ba20c5 (patch)
tree99cd40be4cbb0606260da212cd81b8ab2db9da9b /dev-ruby/facter
parenta3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7 (diff)
downloadbaldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.tar.gz
baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.tar.xz
baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.zip
Adding metadata
Diffstat (limited to 'dev-ruby/facter')
-rw-r--r--dev-ruby/facter/Manifest6
-rw-r--r--dev-ruby/facter/facter-4.10.0-r1.ebuild64
-rw-r--r--dev-ruby/facter/facter-4.10.0.ebuild63
-rw-r--r--dev-ruby/facter/facter-4.4.3-r1.ebuild55
-rw-r--r--dev-ruby/facter/facter-4.5.0.ebuild55
-rw-r--r--dev-ruby/facter/facter-4.5.1.ebuild55
-rw-r--r--dev-ruby/facter/facter-4.5.2.ebuild55
-rw-r--r--dev-ruby/facter/facter-4.7.0-r1.ebuild56
-rw-r--r--dev-ruby/facter/facter-4.7.0.ebuild55
-rw-r--r--dev-ruby/facter/files/facter-4.10.0-gentoo-os-release.patch81
-rw-r--r--dev-ruby/facter/files/facter-4.4.3-rspec-gentoo-tweak.patch53
-rw-r--r--dev-ruby/facter/files/facter-4.7.0-gentoo-thor-gemspec.patch36
-rw-r--r--dev-ruby/facter/metadata.xml16
13 files changed, 650 insertions, 0 deletions
diff --git a/dev-ruby/facter/Manifest b/dev-ruby/facter/Manifest
new file mode 100644
index 000000000000..831f73814096
--- /dev/null
+++ b/dev-ruby/facter/Manifest
@@ -0,0 +1,6 @@
+DIST facter-4.10.0.tar.gz 488307 BLAKE2B 12c3f6eb3e676f4b7edf28c0191c1a5b3b2b922b11eb97d4d43cee2c2c859442daa18c80ee67c55948458684afe556a6646dd1c8812874639d8b9e35957773be SHA512 fbfa35c035e0ef8637ebee3a3e683b5e09362b21fe2af95fbc8cf8fe2e7c464f6b9fcd8958e983013a2c5e9614fbc77b68509c450e6046b7cd24bda63ba09047
+DIST facter-4.4.3.tar.gz 493663 BLAKE2B 19f670e503b5ccf3d78b7fa72b0f3d25cef827eacf9939182fa4bfd6591fbfae6091425d6fc4d00c87ee587537dbcefdc1ff8d3a6d713c21ad6e167b55753835 SHA512 9e8867b00665559562e5778783247bf97a8fce154c857fc1b2e4cb193a66c9029edcfa09dd4e3ca8a0ad16b8dec272b440441f4cffab899366d543a66d1e26df
+DIST facter-4.5.0.tar.gz 494255 BLAKE2B 7ec4edc85c83fd2a4ab198e0807d705cfba7c05ae5fd6dc1954c00a6e14ab6869926d315bc6fcaf553ec3ae632452a383c6a25e5da2d9a099f24c721fd14407c SHA512 025afb1a8ce2716253cfa94f2a4692558ab1c0021afeacfe4c8e6f482fdf91e8042d0f914da04716c4c50faca5b7e89cd6e741b10d431a71ed933943ca4e712f
+DIST facter-4.5.1.tar.gz 494725 BLAKE2B d77ef233c901f41e2bfeaaf5ecd0d3be885154f5027d9e51a02815eed928ddfa6911af396b5ccfb4a33bd7814ba1e8afd77cafec76e78f2baa57a2113dfd2e0a SHA512 f89dfda26fbde74a7425159cde6eb51755238b86b4e15e2237dbfe3997032130e88f7be3d80c5fe115c6dc41cc69ef8942b826aeeb1669d94fe7a1b7824c0167
+DIST facter-4.5.2.tar.gz 465911 BLAKE2B c806d5abb14ed434a4453cbabc77edd5791788ed11eab6b6ea4c56fbfaee82c1ecbb3407b0953ea674b00b0893da1cdce4752c9ab299bdffc97aece61b14ad0b SHA512 1117845c730fa102b833deb2c1020dc82fd9a5fe3ef959e0e98b0b55b3beeb988bc9bc2dbbb04374e26a2c449815139763a107c799a075ad12f64bbf357ca9b8
+DIST facter-4.7.0.tar.gz 481862 BLAKE2B 5179a15616ca9bb2e494c77d407227b2ecb3c554e73433ff461bd19b28fa23bc89d3ce774810435efbcd80b9307340b5a18ccf5360652924f39e9da27446afa8 SHA512 cd0482bc8cd845fc1f0fa73aa3a7217ad45cced7578069317a0812daf9d1b363931edd99412777fa4db020f1407dd073c9adef425cc262755b2a0a236cd44677
diff --git a/dev-ruby/facter/facter-4.10.0-r1.ebuild b/dev-ruby/facter/facter-4.10.0-r1.ebuild
new file mode 100644
index 000000000000..400406dfd732
--- /dev/null
+++ b/dev-ruby/facter/facter-4.10.0-r1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+USE_RUBY="ruby32 ruby33"
+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="https://www.puppetlabs.com/"
+
+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 ~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.7.0-gentoo-thor-gemspec.patch
+ "${FILESDIR}"/facter-4.10.0-gentoo-os-release.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
+
+ # Avoid dependency on simplecov
+ sed -e '/simplecov/,/^end/ s:^:#:' \
+ -e '/SimpleCov/ s:^:#:' \
+ -i spec/spec_helper.rb || die
+
+ # Use the correct path on Gentoo
+ sed -e 's:/usr/bin/true:/bin/true:' \
+ -i spec/custom_facts/core/execution/posix_spec.rb || die
+}
diff --git a/dev-ruby/facter/facter-4.10.0.ebuild b/dev-ruby/facter/facter-4.10.0.ebuild
new file mode 100644
index 000000000000..1e9bc0c7d31c
--- /dev/null
+++ b/dev-ruby/facter/facter-4.10.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+USE_RUBY="ruby32 ruby33"
+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="https://www.puppetlabs.com/"
+
+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 ~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.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
+
+ # Avoid dependency on simplecov
+ sed -e '/simplecov/,/^end/ s:^:#:' \
+ -e '/SimpleCov/ s:^:#:' \
+ -i spec/spec_helper.rb || die
+
+ # Use the correct path on Gentoo
+ sed -e 's:/usr/bin/true:/bin/true:' \
+ -i spec/custom_facts/core/execution/posix_spec.rb || die
+}
diff --git a/dev-ruby/facter/facter-4.4.3-r1.ebuild b/dev-ruby/facter/facter-4.4.3-r1.ebuild
new file mode 100644
index 000000000000..18070dbf7ff7
--- /dev/null
+++ b/dev-ruby/facter/facter-4.4.3-r1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2023 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 ~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
+)
+
+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/facter-4.5.0.ebuild b/dev-ruby/facter/facter-4.5.0.ebuild
new file mode 100644
index 000000000000..18070dbf7ff7
--- /dev/null
+++ b/dev-ruby/facter/facter-4.5.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2023 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 ~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
+)
+
+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/facter-4.5.1.ebuild b/dev-ruby/facter/facter-4.5.1.ebuild
new file mode 100644
index 000000000000..18070dbf7ff7
--- /dev/null
+++ b/dev-ruby/facter/facter-4.5.1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2023 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 ~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
+)
+
+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/facter-4.5.2.ebuild b/dev-ruby/facter/facter-4.5.2.ebuild
new file mode 100644
index 000000000000..c2a4a652e567
--- /dev/null
+++ b/dev-ruby/facter/facter-4.5.2.ebuild
@@ -0,0 +1,55 @@
+# 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 ~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
+)
+
+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/facter-4.7.0-r1.ebuild b/dev-ruby/facter/facter-4.7.0-r1.ebuild
new file mode 100644
index 000000000000..25c457b35858
--- /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 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc 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/facter-4.7.0.ebuild b/dev-ruby/facter/facter-4.7.0.ebuild
new file mode 100644
index 000000000000..b893229e7cf8
--- /dev/null
+++ b/dev-ruby/facter/facter-4.7.0.ebuild
@@ -0,0 +1,55 @@
+# 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
+)
+
+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.10.0-gentoo-os-release.patch b/dev-ruby/facter/files/facter-4.10.0-gentoo-os-release.patch
new file mode 100644
index 000000000000..56e971459287
--- /dev/null
+++ b/dev-ruby/facter/files/facter-4.10.0-gentoo-os-release.patch
@@ -0,0 +1,81 @@
+https://bugs.gentoo.org/971977
+https://github.com/OpenVoxProject/openfact/pull/100
+
+From 2b85d85bb35bfce4ac55ba3794a6b3f5329dc534 Mon Sep 17 00:00:00 2001
+From: Anthony Ryan <anthonyryan1@gmail.com>
+Date: Tue, 7 Apr 2026 21:09:44 -0400
+Subject: [PATCH] Fix OS detection for Gentoo now that they changed to
+ single-quotes in /etc/os-release
+
+Signed-off-by: Anthony Ryan <anthonyryan1@gmail.com>
+---
+ lib/facter/resolvers/os_release.rb | 2 +-
+ spec/facter/resolvers/os_release_spec.rb | 28 ++++++++++++++++++++++++
+ spec/fixtures/os_release_gentoo | 8 +++++++
+ 3 files changed, 37 insertions(+), 1 deletion(-)
+ create mode 100644 spec/fixtures/os_release_gentoo
+
+diff --git a/lib/facter/resolvers/os_release.rb b/lib/facter/resolvers/os_release.rb
+index 0d7a93cc7..103aaaa20 100644
+--- a/lib/facter/resolvers/os_release.rb
++++ b/lib/facter/resolvers/os_release.rb
+@@ -49,7 +49,7 @@ def read_and_parse_os_release_file
+
+ pairs = []
+ content.each do |line|
+- pairs << line.strip.delete('"').split('=', 2) unless line.start_with?('#')
++ pairs << line.strip.delete(%q('")).split('=', 2) unless line.start_with?('#')
+ end
+
+ pairs
+diff --git a/spec/facter/resolvers/os_release_spec.rb b/spec/facter/resolvers/os_release_spec.rb
+index 67cbac03b..0ea5a7627 100644
+--- a/spec/facter/resolvers/os_release_spec.rb
++++ b/spec/facter/resolvers/os_release_spec.rb
+@@ -189,4 +189,32 @@
+ expect(result).to eq('VirtuozzoLinux')
+ end
+ end
++
++ context 'when on Gentoo with single-quoted values' do
++ let(:os_release_content) { load_fixture('os_release_gentoo').readlines }
++
++ it 'returns os NAME' do
++ result = Facter::Resolvers::OsRelease.resolve(:name)
++
++ expect(result).to eq('Gentoo')
++ end
++
++ it 'returns os PRETTY_NAME' do
++ result = Facter::Resolvers::OsRelease.resolve(:pretty_name)
++
++ expect(result).to eq('Gentoo Linux')
++ end
++
++ it 'returns os VERSION_ID' do
++ result = Facter::Resolvers::OsRelease.resolve(:version_id)
++
++ expect(result).to eq('2.15')
++ end
++
++ it 'returns os id' do
++ result = Facter::Resolvers::OsRelease.resolve(:id)
++
++ expect(result).to eq('gentoo')
++ end
++ end
+ end
+diff --git a/spec/fixtures/os_release_gentoo b/spec/fixtures/os_release_gentoo
+new file mode 100644
+index 000000000..df7778b52
+--- /dev/null
++++ b/spec/fixtures/os_release_gentoo
+@@ -0,0 +1,8 @@
++NAME='Gentoo'
++ID=gentoo
++PRETTY_NAME='Gentoo Linux'
++ANSI_COLOR='1;32'
++HOME_URL='https://www.gentoo.org/'
++SUPPORT_URL='https://www.gentoo.org/support/'
++BUG_REPORT_URL='https://bugs.gentoo.org/'
++VERSION_ID='2.15'
diff --git a/dev-ruby/facter/files/facter-4.4.3-rspec-gentoo-tweak.patch b/dev-ruby/facter/files/facter-4.4.3-rspec-gentoo-tweak.patch
new file mode 100644
index 000000000000..ce97bbbccee9
--- /dev/null
+++ b/dev-ruby/facter/files/facter-4.4.3-rspec-gentoo-tweak.patch
@@ -0,0 +1,53 @@
+These two tests fail on a Gentoo system. Mark as pending so we have coverage of the other tests.
+
+```
+ 1) Facter::Core::Execution::Base#execute with expand on posix does not expant builtin command
+ # False positive on Gentoo due to environment, returns GEM_SKIP instead of PATH
+ Failure/Error: old_require(path) unless LIBS_TO_SKIP.include?(path)
+
+ {"SHELL"=>"/bin/bash", ..., "_"=>"/usr/bin/rspec", "RACK_ENV"=>"test",
+ "resolution_test_foo"=>"foo"} received :[] with unexpected arguments
+ expected: ("PATH")
+ got: ("GEM_SKIP")
+ Please stub a default value first if message might be received with other args as well.
+ # ./spec/mocks/kernel.rb:7:in `require'
+ # ./lib/facter/custom_facts/core/execution/base.rb:74:in `execute_command'
+ # ./lib/facter/custom_facts/core/execution/base.rb:63:in `execute'
+ # ./spec/custom_facts/core/execution/fact_manager_spec.rb:106:in `block (4 levels) in <top (required)>'
+
+
+ 2) Facter::Core::Execution::Posix when calling execute_command executes a command
+ # False positive on Gentoo due to environment, returns "" instead of ["", ""]
+ Failure/Error: expect(posix_executor.execute_command('/usr/bin/true', nil, logger)).to eq(['', ''])
+
+ expected: ["", ""]
+ got: ""
+
+ (compared using ==)
+ # ./spec/custom_facts/core/execution/posix_spec.rb:112:in `block (3 levels) in <top (required)>'
+```
+
+Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+
+diff -NuarwbB --exclude '*swp' facter-4.4.3.orig/spec/custom_facts/core/execution/fact_manager_spec.rb facter-4.4.3/spec/custom_facts/core/execution/fact_manager_spec.rb
+--- facter-4.4.3.orig/spec/custom_facts/core/execution/fact_manager_spec.rb 2023-08-24 10:49:03.000000000 -0700
++++ facter-4.4.3/spec/custom_facts/core/execution/fact_manager_spec.rb 2023-09-09 21:25:03.428326009 -0700
+@@ -99,6 +99,7 @@
+ end
+
+ it 'does not expant builtin command' do
++ pending('False positive on Gentoo due to environment, returns GEM_SKIP instead of PATH')
+ allow(Facter::Core::Execution::Popen3).to receive(:popen3e).with({ 'LC_ALL' => 'C', 'LANG' => 'C' }, '/bin/foo')
+ .and_return('')
+ allow(Open3).to receive(:capture2).with('type /bin/foo').and_return('builtin')
+diff -NuarwbB --exclude '*swp' facter-4.4.3.orig/spec/custom_facts/core/execution/posix_spec.rb facter-4.4.3/spec/custom_facts/core/execution/posix_spec.rb
+--- facter-4.4.3.orig/spec/custom_facts/core/execution/posix_spec.rb 2023-08-24 10:49:03.000000000 -0700
++++ facter-4.4.3/spec/custom_facts/core/execution/posix_spec.rb 2023-09-09 21:24:39.484374593 -0700
+@@ -108,6 +108,7 @@
+ let(:logger) { instance_spy(Logger) }
+
+ it 'executes a command' do
++ pending('False positive on Gentoo due to environment, returns "" instead of ["", ""]')
+ expect(posix_executor.execute_command('/usr/bin/true', nil, logger)).to eq(['', ''])
+ end
+
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 <robbat2@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
diff --git a/dev-ruby/facter/metadata.xml b/dev-ruby/facter/metadata.xml
new file mode 100644
index 000000000000..4c9bf486422b
--- /dev/null
+++ b/dev-ruby/facter/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ </maintainer>
+ <maintainer type="project">
+ <email>sysadmin@gentoo.org</email>
+ <name>Gentoo Sysadmin Project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>ruby@gentoo.org</email>
+ <name>Gentoo Ruby Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>