---
 eclass/xorg-2.eclass | 73 +++++++++++++++++++++++++++++++++++-----------------
 1 file changed, 49 insertions(+), 24 deletions(-)

diff --git a/eclass/xorg-2.eclass b/eclass/xorg-2.eclass
index 437265a..f6cf1f9 100644
--- a/eclass/xorg-2.eclass
+++ b/eclass/xorg-2.eclass
@@ -43,12 +43,14 @@ fi
 # before inheriting this eclass.
 : ${XORG_MULTILIB:="no"}
 
-# we need to inherit autotools first to get the deps
-inherit autotools autotools-utils eutils libtool multilib toolchain-funcs \
+# Manage AUTOTOOLS_DEPEND ourselves
+: ${AUTOTOOLS_AUTO_DEPEND:="no"}
+
+inherit autotools eutils libtool multilib toolchain-funcs \
        flag-o-matic ${FONT_ECLASS} ${GIT_ECLASS}
 
 if [[ ${XORG_MULTILIB} == yes ]]; then
-       inherit autotools-multilib
+       inherit multilib-minimal
 fi
 
 EXPORTED_FUNCTIONS="src_unpack src_compile src_install pkg_postinst pkg_postrm"
@@ -124,13 +126,11 @@ if [[ ${PN} != util-macros ]] ; then
        # Required even by xorg-server
        [[ ${PN} == "font-util" ]] || EAUTORECONF_DEPEND+=" 
>=media-fonts/font-util-1.2.0"
 fi
-WANT_AUTOCONF="latest"
-WANT_AUTOMAKE="latest"
 for arch in ${XORG_EAUTORECONF_ARCHES}; do
-       EAUTORECONF_DEPENDS+=" ${arch}? ( ${EAUTORECONF_DEPEND} )"
+       EAUTORECONF_DEPENDS+=" ${arch}? ( ${AUTOTOOLS_DEPEND} 
${EAUTORECONF_DEPEND} )"
 done
 DEPEND+=" ${EAUTORECONF_DEPENDS}"
-[[ ${XORG_EAUTORECONF} != no ]] && DEPEND+=" ${EAUTORECONF_DEPEND}"
+[[ ${XORG_EAUTORECONF} != no ]] && DEPEND+=" ${AUTOTOOLS_DEPEND} 
${EAUTORECONF_DEPEND}"
 unset EAUTORECONF_DEPENDS
 unset EAUTORECONF_DEPEND
 
@@ -350,6 +350,14 @@ xorg-2_patch_source() {
        EPATCH_SUFFIX=${EPATCH_SUFFIX:=patch}
 
        [[ -d "${EPATCH_SOURCE}" ]] && epatch
+
+       if [[ "$(declare -p PATCHES 2>/dev/null)" == "declare -a"* ]]; then
+               epatch "${PATCHES[@]}"
+       elif [[ -n ${PATCHES} ]]; then
+               epatch ${PATCHES}
+       fi
+
+       epatch_user
 }
 
 # @FUNCTION: xorg-2_reconf_source
@@ -358,18 +366,15 @@ xorg-2_patch_source() {
 xorg-2_reconf_source() {
        debug-print-function ${FUNCNAME} "$@"
 
+       [[ -e configure.ac || -e configure.in ]] || return 0
+
+       local run_ea=${XORG_EAUTORECONF}
+
        case ${CHOST} in
-               *-interix* | *-aix* | *-winnt*)
-                       # some hosts need full eautoreconf
-                       [[ -e "./configure.ac" || -e "./configure.in" ]] \
-                               && AUTOTOOLS_AUTORECONF=1
-                       ;;
-               *)
-                       # elibtoolize required for BSD
-                       [[ ${XORG_EAUTORECONF} != no && ( -e "./configure.ac" 
|| -e "./configure.in" ) ]] \
-                               && AUTOTOOLS_AUTORECONF=1
-                       ;;
+               *-interix* | *-aix* | *-winnt*) run_ea=yes ;;
        esac
+
+       [[ ${run_ea} == no ]] || eautoreconf
 }
 
 # @FUNCTION: xorg-2_src_prepare
@@ -380,7 +385,6 @@ xorg-2_src_prepare() {
 
        xorg-2_patch_source
        xorg-2_reconf_source
-       autotools-utils_src_prepare "$@"
 }
 
 # @FUNCTION: xorg-2_font_configure
@@ -472,12 +476,18 @@ xorg-2_src_configure() {
                ${dep_track}
                ${FONT_OPTIONS}
                "${xorgconfadd[@]}"
+               "$@"
        )
 
        if [[ ${XORG_MULTILIB} == yes ]]; then
-               autotools-multilib_src_configure "$@"
+               if ! declare -f multilib_src_configure >/dev/null; then
+                       multilib_src_configure() {
+                               ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+                       }
+               fi
+               multilib-minimal_src_configure
        else
-               autotools-utils_src_configure "$@"
+               econf "${myeconfargs[@]}"
        fi
 }
 
@@ -487,10 +497,17 @@ xorg-2_src_configure() {
 xorg-2_src_compile() {
        debug-print-function ${FUNCNAME} "$@"
 
+       local makeargs=( "$@" )
+
        if [[ ${XORG_MULTILIB} == yes ]]; then
-               autotools-multilib_src_compile "$@"
+               if ! declare -f multilib_src_compile >/dev/null; then
+                       multilib_src_compile() {
+                               emake "${makeargs[@]}"
+                       }
+               fi
+               multilib-minimal_src_compile
        else
-               autotools-utils_src_compile "$@"
+               emake "${makeargs[@]}"
        fi
 }
 
@@ -509,10 +526,18 @@ xorg-2_src_install() {
                )
        fi
 
+       install_args+=( "$@" )
+
        if [[ ${XORG_MULTILIB} == yes ]]; then
-               autotools-multilib_src_install "${install_args[@]}"
+               if ! declare -f multilib_src_install >/dev/null; then
+                       multilib_src_install() {
+                               emake DESTDIR="${D}" install 
"${install_args[@]}"
+                       }
+               fi
+               multilib-minimal_src_install
        else
-               autotools-utils_src_install "${install_args[@]}"
+               emake DESTDIR="${D}" install "${install_args[@]}"
+               einstalldocs
        fi
 
        if [[ -n ${GIT_ECLASS} ]]; then
-- 
2.8.1


Reply via email to