diff -urN ../portage-2.1.3.16-orig/bin/ebuild.sh bin/ebuild.sh --- ../portage-2.1.3.16-orig/bin/ebuild.sh 2007-10-23 05:33:20 +0900 +++ bin/ebuild.sh 2007-12-23 19:19:00 +0900 @@ -809,6 +809,22 @@ cd "${WORKDIR}" || die "Directory change failed: \`cd '${WORKDIR}'\`" vecho ">>> Unpacking source..." qa_call src_unpack + if [ -n "${PORTAGE_PATCHDIR}" -a -d "${PORTAGE_PATCHDIR}/${CATEGORY}/${PN}" ]; then + vecho ">>> Applying custom patches..." + if [ "$(type -t epatch)" != "function" ]; then + epatch() { + for level in 0 1 2 3 4; do + patch -p$level <"$1" && return 0 + done + return $? + } + fi + for patch in "${PORTAGE_PATCHDIR}/${CATEGORY}/${PN}"/* \ + "${PORTAGE_PATCHDIR}/${CATEGORY}/${PN}/${PV}"/*; do + [ -f "${patch}" ] || continue + epatch "${patch}" || die "Failed to apply patch ${patch}" + done + fi touch "${PORTAGE_BUILDDIR}/.unpacked" || die "IO Failure -- Failed 'touch .unpacked' in ${PORTAGE_BUILDDIR}" vecho ">>> Source unpacked." cd "${PORTAGE_BUILDDIR}"