summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ruby/facter/facter-3.11.3.ebuild')
-rw-r--r--dev-ruby/facter/facter-3.11.3.ebuild105
1 files changed, 105 insertions, 0 deletions
diff --git a/dev-ruby/facter/facter-3.11.3.ebuild b/dev-ruby/facter/facter-3.11.3.ebuild
new file mode 100644
index 000000000000..6210613630d9
--- /dev/null
+++ b/dev-ruby/facter/facter-3.11.3.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+USE_RUBY="ruby23 ruby24 ruby25"
+
+# git-r3 goes after ruby-ng so that it overrides src_unpack properly
+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/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="debug test"
+if [[ ${PV} == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/puppetlabs/facter.git"
+ EGIT_BRANCH="master"
+ S="${S}/${P}"
+else
+ [[ "${PV}" = *_rc* ]] || \
+ KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86"
+ SRC_URI="https://github.com/puppetlabs/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ S="${S}/all/${P}"
+fi
+
+BDEPEND="
+ >=sys-devel/gcc-4.8:*
+ dev-cpp/cpp-hocon"
+CDEPEND="
+ >=dev-libs/leatherman-1.0.0:=
+ 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"
+
+ruby_add_bdepend "test? ( dev-ruby/rake dev-ruby/rspec:2 dev-ruby/mocha:0.14 )"
+
+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
+ # be explicit about the version of rspec we test with and use the
+ # correct lib directory for tests
+ sed -i -e '/libfacter.*specs/ s/rspec/rspec-2/' \
+ -e '/libfacter.*specs/ s/lib64/lib/' CMakeLists.txt || die
+ # be more lenient for software versions for tests
+ sed -i -e '/rake/ s/~> 10.1.0/>= 10/' \
+ -e '/rspec/ s/2.11.0/2.11/' \
+ -e '/mocha/ s/0.10.5/0.14.0/' lib/Gemfile || die
+ # patches
+ default
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_VERBOSE_MAKEFILE=ON
+ -DCMAKE_BUILD_TYPE=None
+ -DCMAKE_INSTALL_PREFIX=/usr
+ -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
+}