dev-ruby/facter: 3.6.5 fix
[gentoo.git] / dev-ruby / facter / facter-3.7.1.ebuild
1 # Copyright 1999-2017 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=5
5 USE_RUBY="ruby21 ruby22 ruby23 ruby24"
6
7 inherit cmake-utils eutils multilib ruby-ng
8
9 DESCRIPTION="A cross-platform ruby library for retrieving facts from operating systems"
10 HOMEPAGE="http://www.puppetlabs.com/puppet/related-projects/facter/"
11 SRC_URI="https://github.com/puppetlabs/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
12 S="${S}/all/${P}"
13
14 LICENSE="Apache-2.0"
15 SLOT="0"
16 IUSE="debug test"
17 KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86"
18
19 BDEPEND="
20         >=sys-devel/gcc-4.8:*
21         >=dev-libs/leatherman-1.0.0
22         dev-cpp/cpp-hocon"
23 CDEPEND="
24         dev-libs/openssl:*
25         sys-apps/util-linux
26         app-emulation/virt-what
27         net-misc/curl
28         >=dev-libs/boost-1.54[nls]
29         >=dev-cpp/yaml-cpp-0.5.1
30         !<app-admin/puppet-4.0.0"
31
32 RDEPEND="${CDEPEND}"
33 DEPEND="${BDEPEND}
34         ${CDEPEND}"
35
36 src_prepare() {
37         # Remove the code that installs facter.rb to the wrong directory.
38         sed -i '/install(.*facter\.rb/d' lib/CMakeLists.txt || die
39         sed -i '/install(.*facter\.jar/d' lib/CMakeLists.txt || die
40         # make it support multilib
41         sed -i "s/\ lib)/\ $(get_libdir))/g" lib/CMakeLists.txt || die
42         sed -i "s/lib\")/$(get_libdir)\")/g" CMakeLists.txt || die
43         # make the require work
44         sed -i 's/\${LIBFACTER_INSTALL_DESTINATION}\///g' lib/facter.rb.in || die
45         # patches
46         epatch_user
47 }
48
49 src_configure() {
50         local mycmakeargs=(
51                 -DCMAKE_VERBOSE_MAKEFILE=ON
52                 -DCMAKE_BUILD_TYPE=None
53                 -DCMAKE_INSTALL_PREFIX=/usr
54                 -DCMAKE_INSTALL_SYSCONFDIR=/etc
55                 -DCMAKE_INSTALL_LOCALSTATEDIR=/var
56                 -DUSE_JRUBY_SUPPORT=FALSE
57                 -DBLKID_LIBRARY=/$(get_libdir)/libblkid.so.1
58         )
59         if use debug; then
60                 mycmakeargs+=(
61                   -DCMAKE_BUILD_TYPE=Debug
62                 )
63         fi
64         cmake-utils_src_configure
65 }
66
67 src_compile() {
68         cmake-utils_src_compile
69 }
70
71 each_ruby_install() {
72         doruby "${BUILD_DIR}"/lib/facter.rb
73 }
74
75 src_test() {
76         cmake-utils_src_test
77 }
78
79 src_install() {
80         cmake-utils_src_install
81         ruby-ng_src_install
82
83         # need a variable file in env.d :(
84         diropts -m0755
85         dodir /etc/env.d
86         echo -n "FACTERDIR=/usr/$(get_libdir)" > "${D}/etc/env.d/00facterdir"
87         fperms 0644 /etc/env.d/00facterdir
88 }