summaryrefslogtreecommitdiff
path: root/dev-ruby/facter
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ruby/facter')
-rw-r--r--dev-ruby/facter/Manifest29
-rw-r--r--dev-ruby/facter/facter-2.4.6.ebuild61
-rw-r--r--dev-ruby/facter/facter-2.5.1.ebuild61
-rw-r--r--dev-ruby/facter/facter-3.1.8.ebuild73
-rw-r--r--dev-ruby/facter/facter-3.6.3.ebuild88
-rw-r--r--dev-ruby/facter/facter-3.6.4.ebuild88
-rw-r--r--dev-ruby/facter/facter-3.6.7.ebuild89
-rw-r--r--dev-ruby/facter/facter-3.7.1.ebuild88
-rw-r--r--dev-ruby/facter/facter-3.8.0.ebuild88
-rw-r--r--dev-ruby/facter/facter-3.9.0.ebuild88
-rw-r--r--dev-ruby/facter/facter-3.9.1.ebuild88
-rw-r--r--dev-ruby/facter/facter-3.9.2.ebuild88
-rw-r--r--dev-ruby/facter/facter-9999.ebuild89
-rw-r--r--dev-ruby/facter/files/00facterdir1
-rw-r--r--dev-ruby/facter/files/facter-3.5.0-jar.patch34
-rw-r--r--dev-ruby/facter/files/is-integer_fact-1624_3.6.5.patch58
-rw-r--r--dev-ruby/facter/metadata.xml23
17 files changed, 1134 insertions, 0 deletions
diff --git a/dev-ruby/facter/Manifest b/dev-ruby/facter/Manifest
new file mode 100644
index 000000000000..a980d2748aaf
--- /dev/null
+++ b/dev-ruby/facter/Manifest
@@ -0,0 +1,29 @@
+AUX 00facterdir 15 SHA256 527f61e7d2f65fea63734b0a0932efb559d7740c5a1c6fe23c85f3344ee761dc SHA512 381973ca23aec0853714495f74b77155f0079e504312dc55e6e22c8a099aeafd2b7bc4a762c95543c3cd9c5fa5f88a6821f4104b7522536aee7b6f5426d9ec2f WHIRLPOOL 856f7760f2c215720c1c6541622d17c09675d9238d65bb338ca37aadf22645543c2b372b0d24d6abb658691c5f660ce695570279db35bec9e0e32575e3a15d8c
+AUX facter-3.5.0-jar.patch 2168 SHA256 dd0ca54abd12cf116937474e30d4b9ec11f120c797cebfd118ad84a990ce463b SHA512 49dda3fcccfc4d7b9faff7f466f84cb3940598ef8d9a6319491f4bb33ce089fa12526d31d132e4491af7934208d794595ef3d1a8c003c26c1c1096f585477e71 WHIRLPOOL d8820e0bb5fef75de3cd97914ab4b2e57b241a9cbdfc311b8931d01e5041aefc206c6fe9ad3327db0ae712905138fbc1673ecfe1a2102aac25eee1c083b14baa
+AUX is-integer_fact-1624_3.6.5.patch 2220 SHA256 441739f574bdc1ee3944eaeec12a276aa52adc3a9360725be784db044fc2a1eb SHA512 ce5c10ba7b1a249c4ece233994f11b06481e84a5cc53922a86680931683a0bd719b6045d0a36f3259e9c60044d9d3591736226cc0239f8cc236de63f97c6d1ea WHIRLPOOL 6721dcccd7e9d043e0694358d1860218223f6da5d9b3e4f2c8bb58adf847bf9fdde1768c230b5882d0bb95a21e1683d2d9f2840e11e37f81bbd45680cd82f2e8
+DIST facter-2.4.6.gem 246272 SHA256 56ffc5fbcd550fcdb4788bc4d7fd0199bff69937d6df1e5a1f61c92d143d78fe SHA512 a0a2bef37451ab96ed331c79171f77d89b6db430b083e6888a306fa5b57a72986b7f600cad3e09b5f4706e54736d1d32ea25525fe18a6108cc95f315da16664a WHIRLPOOL fca6165c55d6123e1ab123e5d3459943fda845e696b111520fb6de682ab56fd51a9a4ca072e0a533496c0aedd83b2b26f827147ed01a30dbe72389250437301e
+DIST facter-2.5.1.gem 254464 SHA256 6108a6178ee727088915984d161c2006e5bf991134fd37f29417ec5fbdfee51c SHA512 4fa4b5248bac64c7a76036e428f0f5fdb0b2173987fbaaf18d0130386126dabb083e23cea8cb4df37bae0ea5a883663f71bc6c04406c562bfb7adc23e0899f57 WHIRLPOOL 5a9bf9a257db5d10f0006004794cb7b8e9652c090abc8d2cc03caa29cccc544530c565a780eec6de5072b5bb9ddf8427707ca8447faae0223cb8d2107d84cb7b
+DIST facter-3.1.8.tar.gz 324710 SHA256 bd393026640baf149507c11d36be144759889d4c90174d7c6bfb35e0a341fbca SHA512 2884c2c0bb3075b2552763dee7f33228b0e70b4eb46367f52c4cbf9e01930ddc5e58d062d06ced4174900fc3eae5214d80471a4fe499bf0f2ac0278640e0e8c7 WHIRLPOOL 465432940e068318da0028ce1c8ea3084392212cfc6a50449a3ba034fe721836c88ba16c2248b4b3f062a890087421c93a3d14574c8d03e1eafe4f4f82b49d0d
+DIST facter-3.6.3.tar.gz 370771 SHA256 8c7491db7937a350d738985ee9b4ab370f074d82d89b6ed0115cc21e5adadcbe SHA512 cdcc6bd848c664f395f656d57e0bd28b62cccfdaeccdc9cd364d90a96693c6c8cdc079aa70409297f0ecfdee041c28bad52b3cb4b8981e66de2887bc5eb1bf33 WHIRLPOOL 91d7b8df9e79455f65e89f7a4e17c1cd7076e08091af89a8eb2116bc4716a7b4d4163559cdbed55f356d2fafc6a86cd075de6e15d8b9103be62d6ec3f68b69f6
+DIST facter-3.6.4.tar.gz 373722 SHA256 de12c53c74dd3f39633e61f62a900842d829cbe24b76e72b0c6e85000a99b8bc SHA512 d5e03bb40da448805a56accc2fb972569f686a1e8c8b343d4e0defb5a00a982665496049174c225a8b04abb4d09112bd2117a8a96c9360bb2e36e4d569d86337 WHIRLPOOL f7a05a044c7031f248a888458678b48fc8d7996a2d0bc588323bf6c76513ff4fc838f0299db19f212dd0b5ba094b8135558db7da7f4ff596267832354d369634
+DIST facter-3.6.7.tar.gz 372697 SHA256 2a5d5305f584f10269e9ed68e2ec0dc1b0e87a2986eb46d281ada5fb72625880 SHA512 a9f2781b0e05d09240efaf88d79476786782df7afc5afa222df30f3cd69eb1712dca59bd33157c2be43e7c54ab940e8d8ef0642dc075c44ee86fc6fd89a102da WHIRLPOOL 9538bc4d503a8f1543831b3e8ebbda074ddfc6f8a2a4379f49e58a5629b87341aa4022f6b02329951451acc21a9188a1e718fd33534aba8596e80fbb9dd21640
+DIST facter-3.7.1.tar.gz 374576 SHA256 fe62b0a33c9edd3f945c1d3057e45172a26952439e0e922341d3844864b92320 SHA512 3b2d218d60f5ad9ef756a50540f638303b7a4eb0ea2afca10d2c41f4e6e3f6c2bb6337de417e4989664e32317b0f8db921fed68e813e4cebe10083c943b33fee WHIRLPOOL 342d3d26cb23116a469530f4e3621575650dbfce0b66f8e5debcd05d05736b24df14b20213b4540a0be2065b50e445385b4c3cc583c88490dce4b59b1408e806
+DIST facter-3.8.0.tar.gz 378859 SHA256 1a481a50a621e55fdf2b1b2da089315209ec40b255687ad66cbe8bf32cce5ab9 SHA512 e28771c7136c9b40e2f8b3509fbe07188d2640288705b5bd531521e476b8b8386e5003448b4c199c9d6cced8128ec113dcc9ae317cd4aa5319da906e605cfc4d WHIRLPOOL 212ac005ab67fddea50d7bee4deaec125eb85f1d0f11fbcfb709eb95b26bfc3fbc85430d260d3a72413c368c07b5b66325bf44bd1ced4aae1cb18733ec09fa40
+DIST facter-3.9.0.tar.gz 380715 SHA256 5567544487e7ec1f3bc2c393a9dc66449315accb53666049ae01b3a94afd2298 SHA512 ca818ba58fe232752a74faaa8377f706a49661e37ce85af7e6eaf735ecbcdcda4071618a6b8906b0444fea989b7b16cb85171b980a089cd57aaad37508a2b905 WHIRLPOOL 35e9fc01a9f86a0e85ec81a5ff5f434857b13eb45387e2ad14588a13ea930a72754b0f18c0d479bd41f2e127dcfb18cadc33f58da69bc221ca7dc3f47ac2325c
+DIST facter-3.9.1.tar.gz 380762 SHA256 9e4a4aaafcadcdf01a86249a28a007e8bd5ea14bb41ace1e531ed3ccb9339a68 SHA512 a3b66bf40c062dbef644d60909a2c2afd0839c8a11fd02a0a15ccbbc1a1f216d9b0420a0f90dd44166487faa4e00843f2c0f3f057bb43bb30c22677dfac325a0 WHIRLPOOL c1e039cc1d3ae667b68dc54d1761c885a8ae0b22c690b8344a670c7d5c07c737fe45aa16a5341656c9fe04f4ce17b8b38737131b7c27f348655c2b220a936dd8
+DIST facter-3.9.2.tar.gz 380883 SHA256 f5441ed10d5c84493439151840bee23c69273f3cd877500d83cf973ba5b0348d SHA512 bc040826311bbff40f5a151ade315d9d47ef1e0f3faa570805e48ca55405265e66308230118b9cd59f701ecd76a7b0fd4d9200dd4ace838521223a162b105374 WHIRLPOOL deb9928bfe48314bbdb8debe22593a4cdcdfa926aade4dc9a96d09029f79f64e12aea6e7fd28b9df87b002a06caa72960003b54a8f0bf781fc7ecbe4efa9b601
+EBUILD facter-2.4.6.ebuild 1913 SHA256 776931cd7b6c1c1a843590bdccb07e3d2003f32b61c991571613f5da6736e5c5 SHA512 5aee3104a9617bb1da61c257b8fa1b560aaec4c47a232c72389d29afb73254dec918a2f4f24fc159d73f300d6d560238fb77ee4940ee0529d1a4b30d0daa2dc8 WHIRLPOOL 8769bf5f18dc54a69be187e72d3c9f0d1a526aad6fb01b2ce9e033b0bd757c73db36201440938b03d124994ba05a97a4e7082b947844628e42df6ef6b523e8fb
+EBUILD facter-2.5.1.ebuild 1918 SHA256 00905e73be78aadd74dd413bb1532d3a435ec119aae6a45db0bd939316aa65d2 SHA512 ed07f3b39a71b147a1a07ac161e1895a4e7380aa773c146d702f82eb5a6bf342aa8700f100c4c56ac2996a2d7fc82b5bd4af492c77aed4ba78d308c18a507ab6 WHIRLPOOL 0e6b1e4a9ecaad9b9f3d71c8de146b150a63292f1362d9b924ee03e1f44b0104bcb00a766952ffe5aa033d6e429d8a5e201f254ff06d8b118268c9e05b5d3f56
+EBUILD facter-3.1.8.ebuild 1832 SHA256 b292f0c468872e5609a1a1ce6808ff88edb6016530a7859b3314dc96f090fc27 SHA512 0d3848a3c3dad40654132dc1a0bb24469eb15210a5d210091233828330cd3591d26754e728b35b94f0ff599f247b3d8e694dffa6a251b55d89d149e276dd1ae2 WHIRLPOOL 1a5d7d4a0e2e5b960795578417d7931123332aec554cdae89ed24f97302794d5f35403d60e4846aed110593e2b2e001f976427d93483492f52b8ddaca494394e
+EBUILD facter-3.6.3.ebuild 2061 SHA256 b8a934b5f0581ceb5e2c66c51733d7fc17f4bfd96e7b21cf3716a2a4b2160f67 SHA512 ba9c874f424921af642d343404905992820f08ffa65431b44f4ff4a1b8438f54a28522e74f95cf5d44f0f8ae7068274a8f95703971efaccf752947519f471e4d WHIRLPOOL e2822c6ae5c47f574eaae09e253d05e231fd21ffe18dfec7453cff697e59884cabfe9c8e9c678672ce854664fd032e6539582ce76464ee783fe15b007587df1c
+EBUILD facter-3.6.4.ebuild 2081 SHA256 3211ed4a7d4d3f12cc79789918904453557c566e2729185253ead989bcea1fe4 SHA512 818c8c1d376f143894e04bcb881797e5e2eb825be12b485495d1bafefd5fbb50981440e890a6f5b6477516407277bb2dd76caed1b208498665bd3dfc7ff5bfa9 WHIRLPOOL 4a5c73148eb3bde20ddb6ff51adbccc69a2494fb45cea832a32b675dcf60148eafe883284f092a4a26bd8a7fa066c2893879ab5da5057c27667ee868167472ca
+EBUILD facter-3.6.7.ebuild 2145 SHA256 e53c07f4076eec7909e59b3653c366fe65d176e1a4a2d7f501c0e28c74e68d46 SHA512 06dcad1ffa7a6c262d54026666571aa99ccc2fea5d2f30b0c7690ef493cd8f2b39a83ad73b846ade930831dec236f5bd9cde017370a149076cc4d41eba348539 WHIRLPOOL 8d69df24c5339bb41a7cc50e5c381858aec5c44a4164a016f1cb82c6ff6aff19df6317444ff7303eab1da6e48d8c86bc87ab1a0e7ee21424310cd1a3f26abc4f
+EBUILD facter-3.7.1.ebuild 2102 SHA256 941e369a7afbe1be6d86a6edd855949f013d0939e2306975c303df32b52afc3a SHA512 8111259a1c695acc9dd884f6dc19560fb18dcaf4412c924529312b288565d20efb010cb41c64a55594f32cce47071b1216a29df23e93df578cdfa047897736ad WHIRLPOOL 9cd8cf5bf5f50d16e8b43bbde43289435b92a7e19769476685672e3df681648d04aef7d224a28b7992ab556d9cbf0160e505e041a9d560358b3db5477a60a069
+EBUILD facter-3.8.0.ebuild 2105 SHA256 ab7a24e49a89dc315c539079b752e700eb6b41f349efa1bc72905cf7e5744c7f SHA512 ab626767328201b102fe8d678296c0132d5b695c69649064421dc42d52f911a8fab75343c7c348b46e09ae52c2ba5ba3a0edc98eb9658951988db5cf2fe9cc74 WHIRLPOOL 0160dcbb5e8a3dca023098e120b1b05f654a93c0103e99335b3050526651ce2afec12bd570b25037099ee1a8581a097343a1f8cf77da90728caa5232568cf1d0
+EBUILD facter-3.9.0.ebuild 2105 SHA256 ab7a24e49a89dc315c539079b752e700eb6b41f349efa1bc72905cf7e5744c7f SHA512 ab626767328201b102fe8d678296c0132d5b695c69649064421dc42d52f911a8fab75343c7c348b46e09ae52c2ba5ba3a0edc98eb9658951988db5cf2fe9cc74 WHIRLPOOL 0160dcbb5e8a3dca023098e120b1b05f654a93c0103e99335b3050526651ce2afec12bd570b25037099ee1a8581a097343a1f8cf77da90728caa5232568cf1d0
+EBUILD facter-3.9.1.ebuild 2105 SHA256 ab7a24e49a89dc315c539079b752e700eb6b41f349efa1bc72905cf7e5744c7f SHA512 ab626767328201b102fe8d678296c0132d5b695c69649064421dc42d52f911a8fab75343c7c348b46e09ae52c2ba5ba3a0edc98eb9658951988db5cf2fe9cc74 WHIRLPOOL 0160dcbb5e8a3dca023098e120b1b05f654a93c0103e99335b3050526651ce2afec12bd570b25037099ee1a8581a097343a1f8cf77da90728caa5232568cf1d0
+EBUILD facter-3.9.2.ebuild 2103 SHA256 a01c79cbbfcbc55658cf72e4bd1f89fd9cf07e842d022f6806b1efcd38f20f01 SHA512 09dc3b62d4b0ba9a190c3cad58a5ede13f9e403b465fa480862c6b104fb8ec39687e366d67e325940fe3bdf8e3cfbba72292d2c5abd607cdf8d3ad02d2e5860f WHIRLPOOL 3d8a0084c9ab6f28e3def83337666ee3ddfb4ee0785d9b94e68e1204b57cace8a10135c7be66b851575b3ef580c2c36d83445c277bdaaeafb1c3816ba7322f4b
+EBUILD facter-9999.ebuild 2038 SHA256 d5f42a8b3924a0b81f926293eccf73e9db1f1d1f693ed455bddc069b26bfa160 SHA512 0bae7e5efa4650c7094688d31fb9e28af90dfb711cd75a7c325db20526fec36916fcb5752d7e635ad8613e0edf2eae3b454ad6c36c38ca034624c2b5cac9c472 WHIRLPOOL 1b94b07220a33aa779fb761829acdba64c410dda50fba975e90cd048b034e5cbbd9fcf0e29a6aa64c8f07a96a26a4a3734d4c7f5e7ea15611eb703003b27ab76
+MISC ChangeLog 10212 SHA256 dae20fc6ae002b0e1673ea1436e1e66643fb96d9b18e3b1d84688dbf8f9a97d8 SHA512 9350d115f1ebf9429ecb03ec0c353a9732112475b1388c6b4597a89fd337dafd0262dd1a7ca2be732c00daa3d35a247d14e31a5e8d31683d46d545be918a85e3 WHIRLPOOL 90e99b36281a1af5f736506ba7b003183fde71a60a6d6111ac3bde18cd98dd444b1ad12900369322cd1c08fe92b8154206d805650a47cc276379a29675f9b954
+MISC ChangeLog-2015 19896 SHA256 60698d1f7fa5b1f36af72c2d69d521c6b005a99659eabb3287ea61b7080eff03 SHA512 9ee649caebab607412dc57a77a1116e5e3c71ce50add3e057366be1d2f9533014e13d67c27fceb6e2de3402ee8020f0a1458ba25b389fd03cc963230859018a9 WHIRLPOOL aaec00a423ed48d3e153e45f6079e895c1495f7b48f4cc7fb45a2193c2955bc73873161d8cb3fa13b779c365045f882feb54b9609238f4292a78ab7bf2123afa
+MISC metadata.xml 854 SHA256 669fc433af84b441d2feddaefe50fa485443ccae80e71608065ebb9a5182b58c SHA512 27e7e17a15ad80544fb121b050f0f5c39d3e27a53ade89063a894569472618b29649b5a737011b8d6597594d9bc94a49cf52c9df857d577a098d6c770b4a9639 WHIRLPOOL 9ea1f2d6e7bcb5d133ab1988d7ff1dfd5998ed38ffc430f7e1b0920a56b92a76503d15f9899654f69264274902c819cfc6fd2087d954bf6dbc62459495f893f9
diff --git a/dev-ruby/facter/facter-2.4.6.ebuild b/dev-ruby/facter/facter-2.4.6.ebuild
new file mode 100644
index 000000000000..da36480b3a7c
--- /dev/null
+++ b/dev-ruby/facter/facter-2.4.6.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+USE_RUBY="ruby20 ruby21 ruby22 ruby23"
+RUBY_FAKEGEM_TASK_DOC=""
+RUBY_FAKEGEM_RECIPE_TEST="rspec"
+RUBY_FAKEGEM_EXTRADOC="README.md"
+RUBY_FAKEGEM_BINWRAP="facter"
+
+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="+dmi +pciutils +virt"
+KEYWORDS="amd64 hppa ppc ppc64 ~sparc x86"
+
+CDEPEND="
+ app-emulation/virt-what
+ sys-apps/net-tools
+ sys-apps/lsb-release
+ dmi? ( sys-apps/dmidecode )
+ pciutils? ( sys-apps/pciutils )"
+
+RDEPEND+=" ${CDEPEND}"
+DEPEND+=" test? ( ${CDEPEND} )"
+
+ruby_add_bdepend "test? ( dev-ruby/mocha:1.0 )"
+
+all_ruby_prepare() {
+ # Provide explicit path since /sbin is not in the default PATH on
+ # Gentoo.
+ sed -i -e 's:arp -an:/sbin/arp -an:' lib/facter/util/ec2.rb spec/unit/util/ec2_spec.rb || die
+
+ # Ensure the correct version of mocha is used without using bundler.
+ sed -i -e '1igem "mocha", "~>1.0"' spec/spec_helper.rb || die
+
+ # Avoid because tests try to access outside stuff, e.g. /sys/block
+ sed -i -e '/should load facts on the facter search path only once/,/^ end/ s:^:#:' spec/unit/util/loader_spec.rb || die
+
+ # Allow specs to work with newer rspec 2.x versions.
+ sed -i -e '1irequire "rspec-expectations"' spec/puppetlabs_spec/matchers.rb || die
+
+ # Avoid specs specific to macosx requiring cfpropertylist which is
+ # not available anymore.
+ rm spec/unit/util/macosx_spec.rb || die
+ sed -i -e '/macosx/ s:^:#:' \
+ -e '/on Darwin/,/^ end/ s:^:#:' spec/unit/virtual_spec.rb || die
+ sed -i -e '/Facter::Processors::Darwin/,/^end/ s:^:#:' spec/unit/processors/os_spec.rb || die
+}
+
+all_ruby_install() {
+ all_fakegem_install
+
+ # Create the directory for custom facts.
+ keepdir /etc/facter/facts.d
+}
diff --git a/dev-ruby/facter/facter-2.5.1.ebuild b/dev-ruby/facter/facter-2.5.1.ebuild
new file mode 100644
index 000000000000..55e308b2c58e
--- /dev/null
+++ b/dev-ruby/facter/facter-2.5.1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+USE_RUBY="ruby20 ruby21 ruby22 ruby23"
+RUBY_FAKEGEM_TASK_DOC=""
+RUBY_FAKEGEM_RECIPE_TEST="rspec"
+RUBY_FAKEGEM_EXTRADOC="README.md"
+RUBY_FAKEGEM_BINWRAP="facter"
+
+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="+dmi +pciutils +virt"
+KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+
+CDEPEND="
+ app-emulation/virt-what
+ sys-apps/net-tools
+ sys-apps/lsb-release
+ dmi? ( sys-apps/dmidecode )
+ pciutils? ( sys-apps/pciutils )"
+
+RDEPEND+=" ${CDEPEND}"
+DEPEND+=" test? ( ${CDEPEND} )"
+
+ruby_add_bdepend "test? ( dev-ruby/mocha:1.0 )"
+
+all_ruby_prepare() {
+ # Provide explicit path since /sbin is not in the default PATH on
+ # Gentoo.
+ sed -i -e 's:arp -an:/sbin/arp -an:' lib/facter/util/ec2.rb spec/unit/util/ec2_spec.rb || die
+
+ # Ensure the correct version of mocha is used without using bundler.
+ sed -i -e '1igem "mocha", "~>1.0"' spec/spec_helper.rb || die
+
+ # Avoid because tests try to access outside stuff, e.g. /sys/block
+ sed -i -e '/should load facts on the facter search path only once/,/^ end/ s:^:#:' spec/unit/util/loader_spec.rb || die
+
+ # Allow specs to work with newer rspec 2.x versions.
+ sed -i -e '1irequire "rspec-expectations"' spec/puppetlabs_spec/matchers.rb || die
+
+ # Avoid specs specific to macosx requiring cfpropertylist which is
+ # not available anymore.
+ rm spec/unit/util/macosx_spec.rb || die
+ sed -i -e '/macosx/ s:^:#:' \
+ -e '/on Darwin/,/^ end/ s:^:#:' spec/unit/virtual_spec.rb || die
+ sed -i -e '/Facter::Processors::Darwin/,/^end/ s:^:#:' spec/unit/processors/os_spec.rb || die
+}
+
+all_ruby_install() {
+ all_fakegem_install
+
+ # Create the directory for custom facts.
+ keepdir /etc/facter/facts.d
+}
diff --git a/dev-ruby/facter/facter-3.1.8.ebuild b/dev-ruby/facter/facter-3.1.8.ebuild
new file mode 100644
index 000000000000..8b2c428f2c23
--- /dev/null
+++ b/dev-ruby/facter/facter-3.1.8.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+USE_RUBY="ruby20 ruby21 ruby22"
+
+inherit cmake-utils multilib ruby-ng
+
+DESCRIPTION="A cross-platform ruby library for retrieving facts from operating systems"
+HOMEPAGE="http://www.puppetlabs.com/puppet/related-projects/facter/"
+SRC_URI="https://github.com/puppetlabs/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${S}/all/${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="debug test"
+KEYWORDS="amd64 hppa ppc ppc64 x86"
+
+CDEPEND="
+ >=sys-devel/gcc-4.8:*
+ >=dev-libs/boost-1.54[nls]
+ >=dev-libs/leatherman-0.4.2
+ >=dev-cpp/yaml-cpp-0.5.1
+ dev-libs/openssl:*
+ sys-apps/util-linux
+ app-emulation/virt-what
+ net-misc/curl
+ !<app-admin/puppet-4.0.0"
+
+RDEPEND+=" ${CDEPEND}"
+DEPEND+=" test? ( ${CDEPEND} )"
+
+src_prepare() {
+ # Remove the code that installs facter.rb to the wrong directory.
+ sed -i '/install(.*facter\.rb/d' lib/CMakeLists.txt || die
+ sed -i '/install(.*facter\.jar/d' lib/CMakeLists.txt || die
+ # make it support multilib
+ sed -i "s/\ lib)/\ $(get_libdir))/g" lib/CMakeLists.txt || die
+ sed -i "s/lib\")/$(get_libdir)\")/g" CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_VERBOSE_MAKEFILE=ON
+ -DCMAKE_BUILD_TYPE=None
+ -DCMAKE_INSTALL_PREFIX=/usr
+ -DCMAKE_INSTALL_SYSCONFDIR=/etc
+ -DCMAKE_INSTALL_LOCALSTATEDIR=/var
+ -DUSE_JRUBY_SUPPORT=FALSE
+ -DBLKID_LIBRARY=/$(get_libdir)/libblkid.so.1
+ )
+ if use debug; then
+ mycmakeargs+=(
+ -DCMAKE_BUILD_TYPE=Debug
+ )
+ fi
+ cmake-utils_src_configure
+}
+
+each_ruby_install() {
+ doruby "${BUILD_DIR}"/lib/facter.rb
+}
+
+src_install() {
+ cmake-utils_src_install
+ ruby-ng_src_install
+ if [[ $(get_libdir) == lib64 ]]; then
+ dodir /usr/lib64
+ mv "${D}/usr/lib/"* "${D}/usr/lib64/"
+ rmdir "${D}/usr/lib"
+ fi
+ doenvd "${FILESDIR}"/00facterdir
+}
diff --git a/dev-ruby/facter/facter-3.6.3.ebuild b/dev-ruby/facter/facter-3.6.3.ebuild
new file mode 100644
index 000000000000..b9c6d07157bf
--- /dev/null
+++ b/dev-ruby/facter/facter-3.6.3.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+USE_RUBY="ruby21 ruby22"
+
+inherit cmake-utils multilib ruby-ng
+
+DESCRIPTION="A cross-platform ruby library for retrieving facts from operating systems"
+HOMEPAGE="http://www.puppetlabs.com/puppet/related-projects/facter/"
+SRC_URI="https://github.com/puppetlabs/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${S}/all/${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="debug test"
+KEYWORDS="amd64 hppa ~ppc ~ppc64 x86"
+
+BDEPEND="
+ >=sys-devel/gcc-4.8:*
+ >=dev-libs/leatherman-0.9.3
+ dev-cpp/cpp-hocon"
+CDEPEND="
+ dev-libs/openssl:*
+ sys-apps/util-linux
+ app-emulation/virt-what
+ net-misc/curl
+ >=dev-libs/boost-1.54[nls]
+ >=dev-cpp/yaml-cpp-0.5.1
+ !<app-admin/puppet-4.0.0"
+
+RDEPEND="${CDEPEND}"
+DEPEND="${BDEPEND}
+ ${CDEPEND}"
+
+src_prepare() {
+ # Remove the code that installs facter.rb to the wrong directory.
+ sed -i '/install(.*facter\.rb/d' lib/CMakeLists.txt || die
+ sed -i '/install(.*facter\.jar/d' lib/CMakeLists.txt || die
+ # make it support multilib
+ sed -i "s/\ lib)/\ $(get_libdir))/g" lib/CMakeLists.txt || die
+ sed -i "s/lib\")/$(get_libdir)\")/g" CMakeLists.txt || die
+ # make the require work
+ sed -i 's/\${LIBFACTER_INSTALL_DESTINATION}\///g' lib/facter.rb.in || die
+ # patches
+ epatch_user
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_VERBOSE_MAKEFILE=ON
+ -DCMAKE_BUILD_TYPE=None
+ -DCMAKE_INSTALL_PREFIX=/usr
+ -DCMAKE_INSTALL_SYSCONFDIR=/etc
+ -DCMAKE_INSTALL_LOCALSTATEDIR=/var
+ -DUSE_JRUBY_SUPPORT=FALSE
+ -DBLKID_LIBRARY=/$(get_libdir)/libblkid.so.1
+ )
+ if use debug; then
+ mycmakeargs+=(
+ -DCMAKE_BUILD_TYPE=Debug
+ )
+ fi
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+each_ruby_install() {
+ doruby "${BUILD_DIR}"/lib/facter.rb
+}
+
+src_test() {
+ cmake-utils_src_test
+}
+
+src_install() {
+ cmake-utils_src_install
+ ruby-ng_src_install
+ if [[ $(get_libdir) == lib64 ]]; then
+ dodir /usr/lib64
+ mv "${D}/usr/lib/"* "${D}/usr/lib64/"
+ rmdir "${D}/usr/lib"
+ fi
+ doenvd "${FILESDIR}"/00facterdir
+}
diff --git a/dev-ruby/facter/facter-3.6.4.ebuild b/dev-ruby/facter/facter-3.6.4.ebuild
new file mode 100644
index 000000000000..6ba5e69df6da
--- /dev/null
+++ b/dev-ruby/facter/facter-3.6.4.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+USE_RUBY="ruby21 ruby22"
+
+inherit cmake-utils multilib ruby-ng
+
+DESCRIPTION="A cross-platform ruby library for retrieving facts from operating systems"
+HOMEPAGE="http://www.puppetlabs.com/puppet/related-projects/facter/"
+SRC_URI="https://github.com/puppetlabs/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${S}/all/${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="debug test"
+KEYWORDS="amd64 ~hppa ~ppc ~ppc64 x86"
+
+BDEPEND="
+ >=sys-devel/gcc-4.8:*
+ >=dev-libs/boost-1.54[nls]
+ >=dev-libs/leatherman-0.9.3
+ >=dev-cpp/yaml-cpp-0.5.1
+ dev-cpp/cpp-hocon"
+CDEPEND="
+ dev-libs/openssl:*
+ sys-apps/util-linux
+ app-emulation/virt-what
+ net-misc/curl
+ !<app-admin/puppet-4.0.0"
+
+RDEPEND="${CDEPEND}"
+DEPEND="${BDEPEND}
+ ${CDEPEND}"
+
+src_prepare() {
+ # Remove the code that installs facter.rb to the wrong directory.
+ sed -i '/install(.*facter\.rb/d' lib/CMakeLists.txt || die
+ sed -i '/install(.*facter\.jar/d' lib/CMakeLists.txt || die
+ # make it support multilib
+ sed -i "s/\ lib)/\ $(get_libdir))/g" lib/CMakeLists.txt || die
+ sed -i "s/lib\")/$(get_libdir)\")/g" CMakeLists.txt || die
+ # make the require work
+ sed -i 's/\${LIBFACTER_INSTALL_DESTINATION}\///g' lib/facter.rb.in || die
+ # patches
+ epatch_user
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_VERBOSE_MAKEFILE=ON
+ -DCMAKE_BUILD_TYPE=None
+ -DCMAKE_INSTALL_PREFIX=/usr
+ -DCMAKE_INSTALL_SYSCONFDIR=/etc
+ -DCMAKE_INSTALL_LOCALSTATEDIR=/var
+ -DUSE_JRUBY_SUPPORT=FALSE
+ -DBLKID_LIBRARY=/$(get_libdir)/libblkid.so.1
+ )
+ if use debug; then
+ mycmakeargs+=(
+ -DCMAKE_BUILD_TYPE=Debug
+ )
+ fi
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+each_ruby_install() {
+ doruby "${BUILD_DIR}"/lib/facter.rb
+}
+
+src_test() {
+ cmake-utils_src_test
+}
+
+src_install() {
+ cmake-utils_src_install
+ ruby-ng_src_install
+
+ # need a variable file in env.d :(
+ diropts -m0755
+ dodir /etc/env.d
+ echo -n "FACTERDIR=/usr/$(get_libdir)" > "${D}/etc/env.d/00facterdir"
+ fperms 0644 /etc/env.d/00facterdir
+}
diff --git a/dev-ruby/facter/facter-3.6.7.ebuild b/dev-ruby/facter/facter-3.6.7.ebuild
new file mode 100644
index 000000000000..b1ecb67c84c8
--- /dev/null
+++ b/dev-ruby/facter/facter-3.6.7.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+USE_RUBY="ruby21 ruby22"
+
+inherit cmake-utils eutils multilib ruby-ng
+
+DESCRIPTION="A cross-platform ruby library for retrieving facts from operating systems"
+HOMEPAGE="http://www.puppetlabs.com/puppet/related-projects/facter/"
+SRC_URI="https://github.com/puppetlabs/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${S}/all/${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="debug test"
+KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86"
+
+BDEPEND="
+ >=sys-devel/gcc-4.8:*
+ >=dev-libs/leatherman-1.0.0
+ dev-cpp/cpp-hocon"
+CDEPEND="
+ dev-libs/openssl:*
+ sys-apps/util-linux
+ app-emulation/virt-what
+ net-misc/curl
+ >=dev-libs/boost-1.54[nls]
+ >=dev-cpp/yaml-cpp-0.5.1
+ !<app-admin/puppet-4.0.0"
+
+RDEPEND="${CDEPEND}"
+DEPEND="${BDEPEND}
+ ${CDEPEND}"
+
+src_prepare() {
+ # Remove the code that installs facter.rb to the wrong directory.
+ sed -i '/install(.*facter\.rb/d' lib/CMakeLists.txt || die
+ sed -i '/install(.*facter\.jar/d' lib/CMakeLists.txt || die
+ # make it support multilib
+ sed -i "s/\ lib)/\ $(get_libdir))/g" lib/CMakeLists.txt || die
+ sed -i "s/lib\")/$(get_libdir)\")/g" CMakeLists.txt || die
+ # make the require work
+ sed -i 's/\${LIBFACTER_INSTALL_DESTINATION}\///g' lib/facter.rb.in || die
+ # patches
+ epatch "${FILESDIR}/is-integer_fact-1624_3.6.5.patch"
+ epatch_user
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_VERBOSE_MAKEFILE=ON
+ -DCMAKE_BUILD_TYPE=None
+ -DCMAKE_INSTALL_PREFIX=/usr
+ -DCMAKE_INSTALL_SYSCONFDIR=/etc
+ -DCMAKE_INSTALL_LOCALSTATEDIR=/var
+ -DUSE_JRUBY_SUPPORT=FALSE
+ -DBLKID_LIBRARY=/$(get_libdir)/libblkid.so.1
+ )
+ if use debug; then
+ mycmakeargs+=(
+ -DCMAKE_BUILD_TYPE=Debug
+ )
+ fi
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+each_ruby_install() {
+ doruby "${BUILD_DIR}"/lib/facter.rb
+}
+
+src_test() {
+ cmake-utils_src_test
+}
+
+src_install() {
+ cmake-utils_src_install
+ ruby-ng_src_install
+
+ # need a variable file in env.d :(
+ diropts -m0755
+ dodir /etc/env.d
+ echo -n "FACTERDIR=/usr/$(get_libdir)" > "${D}/etc/env.d/00facterdir"
+ fperms 0644 /etc/env.d/00facterdir
+}
diff --git a/dev-ruby/facter/facter-3.7.1.ebuild b/dev-ruby/facter/facter-3.7.1.ebuild
new file mode 100644
index 000000000000..5f534455759d
--- /dev/null
+++ b/dev-ruby/facter/facter-3.7.1.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+USE_RUBY="ruby21 ruby22 ruby23 ruby24"
+
+inherit cmake-utils eutils multilib ruby-ng
+
+DESCRIPTION="A cross-platform ruby library for retrieving facts from operating systems"
+HOMEPAGE="http://www.puppetlabs.com/puppet/related-projects/facter/"
+SRC_URI="https://github.com/puppetlabs/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${S}/all/${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="debug test"
+KEYWORDS="amd64 ~hppa ~ppc ~ppc64 x86"
+
+BDEPEND="
+ >=sys-devel/gcc-4.8:*
+ >=dev-libs/leatherman-1.0.0
+ dev-cpp/cpp-hocon"
+CDEPEND="
+ dev-libs/openssl:*
+ sys-apps/util-linux
+ app-emulation/virt-what
+ net-misc/curl
+ >=dev-libs/boost-1.54[nls]
+ >=dev-cpp/yaml-cpp-0.5.1
+ !<app-admin/puppet-4.0.0"
+
+RDEPEND="${CDEPEND}"
+DEPEND="${BDEPEND}
+ ${CDEPEND}"
+
+src_prepare() {
+ # Remove the code that installs facter.rb to the wrong directory.
+ sed -i '/install(.*facter\.rb/d' lib/CMakeLists.txt || die
+ sed -i '/install(.*facter\.jar/d' lib/CMakeLists.txt || die
+ # make it support multilib
+ sed -i "s/\ lib)/\ $(get_libdir))/g" lib/CMakeLists.txt || die
+ sed -i "s/lib\")/$(get_libdir)\")/g" CMakeLists.txt || die
+ # make the require work
+ sed -i 's/\${LIBFACTER_INSTALL_DESTINATION}\///g' lib/facter.rb.in || die
+ # patches
+ epatch_user
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_VERBOSE_MAKEFILE=ON
+ -DCMAKE_BUILD_TYPE=None
+ -DCMAKE_INSTALL_PREFIX=/usr
+ -DCMAKE_INSTALL_SYSCONFDIR=/etc
+ -DCMAKE_INSTALL_LOCALSTATEDIR=/var
+ -DUSE_JRUBY_SUPPORT=FALSE
+ -DBLKID_LIBRARY=/$(get_libdir)/libblkid.so.1
+ )
+ if use debug; then
+ mycmakeargs+=(
+ -DCMAKE_BUILD_TYPE=Debug
+ )
+ fi
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+each_ruby_install() {
+ doruby "${BUILD_DIR}"/lib/facter.rb
+}
+
+src_test() {
+ cmake-utils_src_test
+}
+
+src_install() {
+ cmake-utils_src_install
+ ruby-ng_src_install
+
+ # need a variable file in env.d :(
+ diropts -m0755
+ dodir /etc/env.d
+ echo -n "FACTERDIR=/usr/$(get_libdir)" > "${D}/etc/env.d/00facterdir"
+ fperms 0644 /etc/env.d/00facterdir
+}
diff --git a/dev-ruby/facter/facter-3.8.0.ebuild b/dev-ruby/facter/facter-3.8.0.ebuild
new file mode 100644
index 000000000000..247eed1af456
--- /dev/null
+++ b/dev-ruby/facter/facter-3.8.0.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+USE_RUBY="ruby21 ruby22 ruby23 ruby24"
+
+inherit cmake-utils eutils multilib ruby-ng
+
+DESCRIPTION="A cross-platform ruby library for retrieving facts from operating systems"
+HOMEPAGE="http://www.puppetlabs.com/puppet/related-projects/facter/"
+SRC_URI="https://github.com/puppetlabs/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${S}/all/${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="debug test"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
+
+BDEPEND="
+ >=sys-devel/gcc-4.8:*
+ >=dev-libs/leatherman-1.0.0
+ dev-cpp/cpp-hocon"
+CDEPEND="
+ dev-libs/openssl:*
+ sys-apps/util-linux
+ app-emulation/virt-what
+ net-misc/curl
+ >=dev-libs/boost-1.54[nls]
+ >=dev-cpp/yaml-cpp-0.5.1
+ !<app-admin/puppet-4.0.0"
+
+RDEPEND="${CDEPEND}"
+DEPEND="${BDEPEND}
+ ${CDEPEND}"
+
+src_prepare() {
+ # Remove the code that installs facter.rb to the wrong directory.
+ sed -i '/install(.*facter\.rb/d' lib/CMakeLists.txt || die
+ sed -i '/install(.*facter\.jar/d' lib/CMakeLists.txt || die
+ # make it support multilib
+ sed -i "s/\ lib)/\ $(get_libdir))/g" lib/CMakeLists.txt || die
+ sed -i "s/lib\")/$(get_libdir)\")/g" CMakeLists.txt || die
+ # make the require work
+ sed -i 's/\${LIBFACTER_INSTALL_DESTINATION}\///g' lib/facter.rb.in || die
+ # patches
+ default
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_VERBOSE_MAKEFILE=ON
+ -DCMAKE_BUILD_TYPE=None
+ -DCMAKE_INSTALL_PREFIX=/usr
+ -DCMAKE_INSTALL_SYSCONFDIR=/etc
+ -DCMAKE_INSTALL_LOCALSTATEDIR=/var
+ -DUSE_JRUBY_SUPPORT=FALSE
+ -DBLKID_LIBRARY=/$(get_libdir)/libblkid.so.1
+ )
+ if use debug; then
+ mycmakeargs+=(
+ -DCMAKE_BUILD_TYPE=Debug
+ )
+ fi
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+each_ruby_install() {
+ doruby "${BUILD_DIR}"/lib/facter.rb
+}
+
+src_test() {
+ cmake-utils_src_test
+}
+
+src_install() {
+ cmake-utils_src_install
+ ruby-ng_src_install
+
+ # need a variable file in env.d :(
+ diropts -m0755
+ dodir /etc/env.d
+ echo -n "FACTERDIR=/usr/$(get_libdir)" > "${D}/etc/env.d/00facterdir"
+ fperms 0644 /etc/env.d/00facterdir
+}
diff --git a/dev-ruby/facter/facter-3.9.0.ebuild b/dev-ruby/facter/facter-3.9.0.ebuild
new file mode 100644
index 000000000000..247eed1af456
--- /dev/null
+++ b/dev-ruby/facter/facter-3.9.0.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+USE_RUBY="ruby21 ruby22 ruby23 ruby24"
+
+inherit cmake-utils eutils multilib ruby-ng
+
+DESCRIPTION="A cross-platform ruby library for retrieving facts from operating systems"
+HOMEPAGE="http://www.puppetlabs.com/puppet/related-projects/facter/"
+SRC_URI="https://github.com/puppetlabs/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${S}/all/${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="debug test"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
+
+BDEPEND="
+ >=sys-devel/gcc-4.8:*
+ >=dev-libs/leatherman-1.0.0
+ dev-cpp/cpp-hocon"
+CDEPEND="
+ dev-libs/openssl:*
+ sys-apps/util-linux
+ app-emulation/virt-what
+ net-misc/curl
+ >=dev-libs/boost-1.54[nls]
+ >=dev-cpp/yaml-cpp-0.5.1
+ !<app-admin/puppet-4.0.0"
+
+RDEPEND="${CDEPEND}"
+DEPEND="${BDEPEND}
+ ${CDEPEND}"
+
+src_prepare() {
+ # Remove the code that installs facter.rb to the wrong directory.
+ sed -i '/install(.*facter\.rb/d' lib/CMakeLists.txt || die
+ sed -i '/install(.*facter\.jar/d' lib/CMakeLists.txt || die
+ # make it support multilib
+ sed -i "s/\ lib)/\ $(get_libdir))/g" lib/CMakeLists.txt || die
+ sed -i "s/lib\")/$(get_libdir)\")/g" CMakeLists.txt || die
+ # make the require work
+ sed -i 's/\${LIBFACTER_INSTALL_DESTINATION}\///g' lib/facter.rb.in || die
+ # patches
+ default
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_VERBOSE_MAKEFILE=ON
+ -DCMAKE_BUILD_TYPE=None
+ -DCMAKE_INSTALL_PREFIX=/usr
+ -DCMAKE_INSTALL_SYSCONFDIR=/etc
+ -DCMAKE_INSTALL_LOCALSTATEDIR=/var
+ -DUSE_JRUBY_SUPPORT=FALSE
+ -DBLKID_LIBRARY=/$(get_libdir)/libblkid.so.1
+ )
+ if use debug; then
+ mycmakeargs+=(
+ -DCMAKE_BUILD_TYPE=Debug
+ )
+ fi
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+each_ruby_install() {
+ doruby "${BUILD_DIR}"/lib/facter.rb
+}
+
+src_test() {
+ cmake-utils_src_test
+}
+
+src_install() {
+ cmake-utils_src_install
+ ruby-ng_src_install
+
+ # need a variable file in env.d :(
+ diropts -m0755
+ dodir /etc/env.d
+ echo -n "FACTERDIR=/usr/$(get_libdir)" > "${D}/etc/env.d/00facterdir"
+ fperms 0644 /etc/env.d/00facterdir
+}
diff --git a/dev-ruby/facter/facter-3.9.1.ebuild b/dev-ruby/facter/facter-3.9.1.ebuild
new file mode 100644
index 000000000000..247eed1af456
--- /dev/null
+++ b/dev-ruby/facter/facter-3.9.1.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+USE_RUBY="ruby21 ruby22 ruby23 ruby24"
+
+inherit cmake-utils eutils multilib ruby-ng
+
+DESCRIPTION="A cross-platform ruby library for retrieving facts from operating systems"
+HOMEPAGE="http://www.puppetlabs.com/puppet/related-projects/facter/"
+SRC_URI="https://github.com/puppetlabs/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${S}/all/${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="debug test"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
+
+BDEPEND="
+ >=sys-devel/gcc-4.8:*
+ >=dev-libs/leatherman-1.0.0
+ dev-cpp/cpp-hocon"
+CDEPEND="
+ dev-libs/openssl:*
+ sys-apps/util-linux
+ app-emulation/virt-what
+ net-misc/curl
+ >=dev-libs/boost-1.54[nls]
+ >=dev-cpp/yaml-cpp-0.5.1
+ !<app-admin/puppet-4.0.0"
+
+RDEPEND="${CDEPEND}"
+DEPEND="${BDEPEND}
+ ${CDEPEND}"
+
+src_prepare() {
+ # Remove the code that installs facter.rb to the wrong directory.
+ sed -i '/install(.*facter\.rb/d' lib/CMakeLists.txt || die
+ sed -i '/install(.*facter\.jar/d' lib/CMakeLists.txt || die
+ # make it support multilib
+ sed -i "s/\ lib)/\ $(get_libdir))/g" lib/CMakeLists.txt || die
+ sed -i "s/lib\")/$(get_libdir)\")/g" CMakeLists.txt || die
+ # make the require work
+ sed -i 's/\${LIBFACTER_INSTALL_DESTINATION}\///g' lib/facter.rb.in || die
+ # patches
+ default
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_VERBOSE_MAKEFILE=ON
+ -DCMAKE_BUILD_TYPE=None
+ -DCMAKE_INSTALL_PREFIX=/usr
+ -DCMAKE_INSTALL_SYSCONFDIR=/etc
+ -DCMAKE_INSTALL_LOCALSTATEDIR=/var
+ -DUSE_JRUBY_SUPPORT=FALSE
+ -DBLKID_LIBRARY=/$(get_libdir)/libblkid.so.1
+ )
+ if use debug; then
+ mycmakeargs+=(
+ -DCMAKE_BUILD_TYPE=Debug
+ )
+ fi
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+each_ruby_install() {
+ doruby "${BUILD_DIR}"/lib/facter.rb
+}
+
+src_test() {
+ cmake-utils_src_test
+}
+
+src_install() {
+ cmake-utils_src_install
+ ruby-ng_src_install
+
+ # need a variable file in env.d :(
+ diropts -m0755
+ dodir /etc/env.d
+ echo -n "FACTERDIR=/usr/$(get_libdir)" > "${D}/etc/env.d/00facterdir"
+ fperms 0644 /etc/env.d/00facterdir
+}
diff --git a/dev-ruby/facter/facter-3.9.2.ebuild b/dev-ruby/facter/facter-3.9.2.ebuild
new file mode 100644
index 000000000000..9517c4b3746e
--- /dev/null
+++ b/dev-ruby/facter/facter-3.9.2.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+USE_RUBY="ruby21 ruby22 ruby23 ruby24"
+
+inherit cmake-utils eutils multilib ruby-ng
+
+DESCRIPTION="A cross-platform ruby library for retrieving facts from operating systems"
+HOMEPAGE="http://www.puppetlabs.com/puppet/related-projects/facter/"
+SRC_URI="https://github.com/puppetlabs/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${S}/all/${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="debug test"
+KEYWORDS="amd64 ~arm ~hppa ~ppc ~ppc64 x86"
+
+BDEPEND="
+ >=sys-devel/gcc-4.8:*
+ >=dev-libs/leatherman-1.0.0
+ dev-cpp/cpp-hocon"
+CDEPEND="
+ dev-libs/openssl:*
+ sys-apps/util-linux
+ app-emulation/virt-what
+ net-misc/curl
+ >=dev-libs/boost-1.54[nls]
+ >=dev-cpp/yaml-cpp-0.5.1
+ !<app-admin/puppet-4.0.0"
+
+RDEPEND="${CDEPEND}"
+DEPEND="${BDEPEND}
+ ${CDEPEND}"
+
+src_prepare() {
+ # Remove the code that installs facter.rb to the wrong directory.
+ sed -i '/install(.*facter\.rb/d' lib/CMakeLists.txt || die
+ sed -i '/install(.*facter\.jar/d' lib/CMakeLists.txt || die
+ # make it support multilib
+ sed -i "s/\ lib)/\ $(get_libdir))/g" lib/CMakeLists.txt || die
+ sed -i "s/lib\")/$(get_libdir)\")/g" CMakeLists.txt || die
+ # make the require work
+ sed -i 's/\${LIBFACTER_INSTALL_DESTINATION}\///g' lib/facter.rb.in || die
+ # patches
+ default
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_VERBOSE_MAKEFILE=ON
+ -DCMAKE_BUILD_TYPE=None
+ -DCMAKE_INSTALL_PREFIX=/usr
+ -DCMAKE_INSTALL_SYSCONFDIR=/etc
+ -DCMAKE_INSTALL_LOCALSTATEDIR=/var
+ -DUSE_JRUBY_SUPPORT=FALSE
+ -DBLKID_LIBRARY=/$(get_libdir)/libblkid.so.1
+ )
+ if use debug; then
+ mycmakeargs+=(
+ -DCMAKE_BUILD_TYPE=Debug
+ )
+ fi
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+each_ruby_install() {
+ doruby "${BUILD_DIR}"/lib/facter.rb
+}
+
+src_test() {
+ cmake-utils_src_test
+}
+
+src_install() {
+ cmake-utils_src_install
+ ruby-ng_src_install
+
+ # need a variable file in env.d :(
+ diropts -m0755
+ dodir /etc/env.d
+ echo -n "FACTERDIR=/usr/$(get_libdir)" > "${D}/etc/env.d/00facterdir"
+ fperms 0644 /etc/env.d/00facterdir
+}
diff --git a/dev-ruby/facter/facter-9999.ebuild b/dev-ruby/facter/facter-9999.ebuild
new file mode 100644
index 000000000000..0fed77cf9e2c
--- /dev/null
+++ b/dev-ruby/facter/facter-9999.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+USE_RUBY="ruby21 ruby22"
+
+# git-r3 goes after ruby-ng so that it overrides src_unpack properly
+inherit cmake-utils multilib ruby-ng git-r3
+
+DESCRIPTION="A cross-platform ruby library for retrieving facts from operating systems"
+HOMEPAGE="http://www.puppetlabs.com/puppet/related-projects/facter/"
+EGIT_REPO_URI="https://github.com/puppetlabs/facter.git"
+EGIT_BRANCH="master"
+S="${S}/${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="debug test"
+KEYWORDS=""
+
+BDEPEND="
+ >=sys-devel/gcc-4.8:*
+ >=dev-libs/leatherman-0.9.3
+ dev-cpp/cpp-hocon"
+CDEPEND="
+ dev-libs/openssl:*
+ sys-apps/util-linux
+ app-emulation/virt-what
+ net-misc/curl
+ >=dev-libs/boost-1.54[nls]
+ >=dev-cpp/yaml-cpp-0.5.1
+ !<app-admin/puppet-4.0.0"
+
+RDEPEND="${CDEPEND}"
+DEPEND="${BDEPEND}
+ ${CDEPEND}"
+
+src_prepare() {
+ pwd
+ # Remove the code that installs facter.rb to the wrong directory.
+ sed -i '/install(.*facter\.rb/d' lib/CMakeLists.txt || die
+ sed -i '/install(.*facter\.jar/d' lib/CMakeLists.txt || die
+ # make it support multilib
+ sed -i "s/\ lib)/\ $(get_libdir))/g" lib/CMakeLists.txt || die
+ sed -i "s/lib\")/$(get_libdir)\")/g" CMakeLists.txt || die
+ default
+ epatch "${FILESDIR}/facter-3.5.0-jar.patch"
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_VERBOSE_MAKEFILE=ON
+ -DCMAKE_BUILD_TYPE=None
+ -DCMAKE_INSTALL_PREFIX=/usr
+ -DCMAKE_INSTALL_SYSCONFDIR=/etc
+ -DCMAKE_INSTALL_LOCALSTATEDIR=/var
+ -DUSE_JRUBY_SUPPORT=FALSE
+ -DBLKID_LIBRARY=/$(get_libdir)/libblkid.so.1
+ )
+ if use debug; then
+ mycmakeargs+=(
+ -DCMAKE_BUILD_TYPE=Debug
+ )
+ fi
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+each_ruby_install() {
+ doruby "${BUILD_DIR}"/lib/facter.rb
+}
+
+src_test() {
+ cmake-utils_src_test
+}
+
+src_install() {
+ cmake-utils_src_install
+ ruby-ng_src_install
+ if [[ $(get_libdir) == lib64 ]]; then
+ dodir /usr/lib64
+ mv "${D}/usr/lib/"* "${D}/usr/lib64/"
+ rmdir "${D}/usr/lib"
+ fi
+ doenvd "${FILESDIR}"/00facterdir
+}
diff --git a/dev-ruby/facter/files/00facterdir b/dev-ruby/facter/files/00facterdir
new file mode 100644
index 000000000000..45e29a2405a8
--- /dev/null
+++ b/dev-ruby/facter/files/00facterdir
@@ -0,0 +1 @@
+FACTERDIR=/usr
diff --git a/dev-ruby/facter/files/facter-3.5.0-jar.patch b/dev-ruby/facter/files/facter-3.5.0-jar.patch
new file mode 100644
index 000000000000..36b5279debb5
--- /dev/null
+++ b/dev-ruby/facter/files/facter-3.5.0-jar.patch
@@ -0,0 +1,34 @@
+Fix javah for strict javah & ordering.
+
+* javah on some JDKs is strict about sourcing, and no classpath entry
+ referencing the jar was present for the javah command, either as an argument
+ or in the environment.
+* javah was chained as a post-build of the jar creation. This caused breakage
+ if src/java/*.cc tried to use the javah-generated .h file before it was
+ generated.
+
+Fixes: https://tickets.puppetlabs.com/browse/FACT-1541
+Fixes: https://bugs.gentoo.org/show_bug.cgi?id=600942
+Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+
+diff -Nuar facter-9999.orig/lib/CMakeLists.txt facter-9999/lib/CMakeLists.txt
+--- facter-9999.orig/lib/CMakeLists.txt 2016-11-28 22:18:29.366271544 -0800
++++ facter-9999/lib/CMakeLists.txt 2016-11-28 22:28:36.244894899 -0800
+@@ -267,7 +267,15 @@
+ include(UseJava)
+- add_jar(facter-jruby "${CMAKE_BINARY_DIR}/lib/com/puppetlabs/Facter.java" OUTPUT_NAME facter OUTPUT_DIR "${CMAKE_BINARY_DIR}/lib" ENTRY_POINT com/puppetlabs/Facter)
++ add_jar(facter-jruby-jar "${CMAKE_BINARY_DIR}/lib/com/puppetlabs/Facter.java" OUTPUT_NAME facter OUTPUT_DIR "${CMAKE_BINARY_DIR}/lib" ENTRY_POINT com/puppetlabs/Facter)
+
+- add_custom_command(TARGET facter-jruby POST_BUILD COMMAND javah ARGS -d "${CMAKE_CURRENT_LIST_DIR}/src/java" com.puppetlabs.Facter WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/lib")
++ # javah does not atomically write the header file, so parallel builds can
++ # read it before it finishes writing if not careful.
++ add_custom_command(OUTPUT "${CMAKE_CURRENT_LIST_DIR}/src/java/com_puppetlabs_Facter.h"
++ COMMAND javah ARGS -classpath facter.jar -d "${CMAKE_CURRENT_LIST_DIR}/src/java" com.puppetlabs.Facter
++ WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
++ DEPENDS facter-jruby-jar)
++ # Anything that depends on facter-jruby wants both the jar AND the completely written header.
++ add_custom_target(facter-jruby DEPENDS facter-jruby-jar "${CMAKE_CURRENT_LIST_DIR}/src/java/com_puppetlabs_Facter.h")
++ set(LIBFACTER_COMMON_SOURCES ${LIBFACTER_COMMON_SOURCES} src/java/com_puppetlabs_Facter.h)
+ endif()
+
+ # Set include directories
diff --git a/dev-ruby/facter/files/is-integer_fact-1624_3.6.5.patch b/dev-ruby/facter/files/is-integer_fact-1624_3.6.5.patch
new file mode 100644
index 000000000000..c7b8d80b2c73
--- /dev/null
+++ b/dev-ruby/facter/files/is-integer_fact-1624_3.6.5.patch
@@ -0,0 +1,58 @@
+From 9cb17d9fdffabab3693f6548f6bfc54ed2251325 Mon Sep 17 00:00:00 2001
+From: Maggie Dreyer <maggie@puppet.com>
+Date: Tue, 2 May 2017 10:21:06 -0700
+Subject: [PATCH] (FACT-1624) Use `is_integer` instead of `is_fixednum` and
+ `is_bignum`
+
+Ruby 2.4 unified Fixnum and Bignum into Integer. We updated the
+Leatherman API to match this. This commit updates Facter to use the new
+API.
+---
+ lib/src/ruby/module.cc | 2 +-
+ lib/src/ruby/ruby_value.cc | 6 +++---
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/lib/src/ruby/module.cc b/lib/src/ruby/module.cc
+index 2d7223e0f..b8aeeed09 100644
+--- a/lib/src/ruby/module.cc
++++ b/lib/src/ruby/module.cc
+@@ -866,7 +866,7 @@ namespace facter { namespace ruby {
+ // Unfortunately we have to call to_sym rather than using ID2SYM, which is Ruby version dependent
+ uint32_t timeout = 0;
+ volatile VALUE timeout_option = ruby.rb_hash_lookup(argv[1], ruby.to_symbol("timeout"));
+- if (ruby.is_fixednum(timeout_option)) {
++ if (ruby.is_integer(timeout_option)) {
+ timeout = ruby.num2size_t(timeout_option);
+ }
+
+diff --git a/lib/src/ruby/ruby_value.cc b/lib/src/ruby/ruby_value.cc
+index d8ea20ce6..645472a3f 100644
+--- a/lib/src/ruby/ruby_value.cc
++++ b/lib/src/ruby/ruby_value.cc
+@@ -86,7 +86,7 @@ namespace facter { namespace ruby {
+ json.SetString(str, size, allocator);
+ return;
+ }
+- if (ruby.is_fixednum(value) || ruby.is_bignum(value)) {
++ if (ruby.is_integer(value)) {
+ json.SetInt64(ruby.rb_num2ll(value));
+ return;
+ }
+@@ -155,7 +155,7 @@ namespace facter { namespace ruby {
+ }
+ return;
+ }
+- if (ruby.is_fixednum(value) || ruby.is_bignum(value)) {
++ if (ruby.is_integer(value)) {
+ os << ruby.rb_num2ll(value);
+ return;
+ }
+@@ -241,7 +241,7 @@ namespace facter { namespace ruby {
+ emitter << str;
+ return;
+ }
+- if (ruby.is_fixednum(value) || ruby.is_bignum(value)) {
++ if (ruby.is_integer(value)) {
+ emitter << ruby.rb_num2ll(value);
+ return;
+ }
diff --git a/dev-ruby/facter/metadata.xml b/dev-ruby/facter/metadata.xml
new file mode 100644
index 000000000000..8f010b49bce9
--- /dev/null
+++ b/dev-ruby/facter/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/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>
+ <use>
+ <flag name="dmi">Use <pkg>sys-apps/dmidecode</pkg> to determine hardware system properties</flag>
+ <flag name="virt">Use <pkg>app-emulation/virt-what</pkg> for virtual machine detection</flag>
+ <flag name="pciutils">Use <pkg>sys-apps/pciutils</pkg> to determine hardware system properties</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">puppetlabs/facter</remote-id>
+ </upstream>
+</pkgmetadata>