dev-libs/efl: fix builds on PaX kernels #547076
authorMike Frysinger <vapier@gentoo.org>
Thu, 24 Dec 2015 18:56:30 +0000 (13:56 -0500)
committerMike Frysinger <vapier@gentoo.org>
Thu, 24 Dec 2015 20:16:40 +0000 (15:16 -0500)
Sync the logic into the live ebuild.

dev-libs/efl/efl-9999.ebuild

index fcf0d81744ec786396935f9625e3c5e199a11915..806219a27a0d758dfcc032fa8571f84272b23fa7 100644 (file)
@@ -18,7 +18,7 @@ else
        EKEY_STATE="snap"
 fi
 
-inherit enlightenment
+inherit enlightenment pax-utils
 
 DESCRIPTION="Enlightenment Foundation Libraries all-in-one package"
 
@@ -163,6 +163,17 @@ DEPEND="
 
 S=${WORKDIR}/${MY_P}
 
+src_prepare() {
+       enlightenment_src_prepare
+
+       # Remove stupid sleep command.
+       # Also back out gnu make hack that causes regen of Makefiles.
+       sed -i \
+               -e '/sleep 10/d' \
+               -e '/^#### Work around bug in automake check macro$/,/^#### Info$/d' \
+               configure || die
+}
+
 src_configure() {
        if use ssl && use gnutls ; then
                einfo "You enabled both USE=ssl and USE=gnutls, but only one can be used;"
@@ -245,6 +256,18 @@ src_configure() {
        enlightenment_src_configure
 }
 
+src_compile() {
+       if host-is-pax && ! use oldlua ; then
+               # We need to build the lua code first so we can pax-mark it. #547076
+               local target='_e_built_sources_target_gogogo_'
+               printf '%s: $(BUILT_SOURCES)\n' "${target}" >> src/Makefile || die
+               emake -C src "${target}"
+               emake -C src bin/elua/elua
+               pax-mark m src/bin/elua/.libs/elua
+       fi
+       enlightenment_src_compile
+}
+
 src_install() {
        MAKEOPTS+=" -j1"