app-emulation/libvirt-9999: Perform out-of-tree build
authorMichal Privoznik <mprivozn@redhat.com>
Tue, 12 Nov 2019 14:02:59 +0000 (15:02 +0100)
committerDoug Goldstein <cardoe@gentoo.org>
Mon, 2 Dec 2019 14:41:42 +0000 (08:41 -0600)
In preparation to move to meson, we've forbidden in tree builds.
Fortunately, there is a gentoo eclass that handles out-of-tree
builds and very little is needed to use it. However, due to some
automake magic, we have to enable dependency-tracking (which is
disabled as of EAPI 4) because if we don't, then generated
Makefile doesn't precreate all directories under build dir and
the build fails.

Closes: https://github.com/gentoo/gentoo/pull/13752
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: Doug Goldstein <cardoe@gentoo.org>
app-emulation/libvirt/libvirt-9999.ebuild

index 1c39aa69ee2225301a72c4c3022cbf6b57842a20..03d2e558566421e965e250cc16d51b06309af0ab 100644 (file)
@@ -5,7 +5,7 @@ EAPI=7
 
 PYTHON_COMPAT=( python3_{5,6,7} )
 
-inherit autotools bash-completion-r1 eutils linux-info python-any-r1 readme.gentoo-r1 systemd
+inherit autotools out-of-source bash-completion-r1 eutils linux-info python-any-r1 readme.gentoo-r1 systemd
 
 if [[ ${PV} = *9999* ]]; then
        inherit git-r3
@@ -239,7 +239,7 @@ src_prepare() {
        eautoreconf
 }
 
-src_configure() {
+my_src_configure() {
        local myeconfargs=(
                $(use_with apparmor)
                $(use_with apparmor apparmor-profiles)
@@ -295,6 +295,7 @@ src_configure() {
                --disable-werror
 
                --localstatedir=/var
+               --enable-dependency-tracking
        )
 
        if use virtualbox && has_version app-emulation/virtualbox-ose; then
@@ -308,13 +309,11 @@ src_configure() {
        if [[ ${PV} = *9999* ]]; then
                # Restore gnulib's config.sub and config.guess
                # bug #377279
-               (cd .gnulib && git reset --hard > /dev/null)
+               (cd ${S}/.gnulib && git reset --hard > /dev/null)
        fi
 }
 
-src_test() {
-       cd "${BUILD_DIR}"
-
+my_src_test() {
        # remove problematic tests, bug #591416, bug #591418
        sed -i -e 's#commandtest$(EXEEXT) # #' \
                -e 's#virfirewalltest$(EXEEXT) # #' \
@@ -326,7 +325,7 @@ src_test() {
        HOME="${T}" emake check || die "tests failed"
 }
 
-src_install() {
+my_src_install() {
        emake DESTDIR="${D}" \
                SYSTEMD_UNIT_DIR="$(systemd_get_systemunitdir)" install