The luajit code modifies its mappings at runtime as it jit-compiles code
and then executes it. The efl build process creates a lua tool (named
elua) and then executes it to compile other efl code. This fails under
PaX kernels by default.
Hack the src_compile in this situations to build up elua first, tweak
the PaX file marks on the new binary, and then resume the compilation.
EKEY_STATE="snap"
fi
-inherit enlightenment
+inherit enlightenment pax-utils
DESCRIPTION="Enlightenment Foundation Libraries all-in-one package"
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"