From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id B0205138334 for ; Fri, 22 Jun 2018 14:34:37 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id A2EF5E0857; Fri, 22 Jun 2018 14:34:36 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 5CEAAE0857 for ; Fri, 22 Jun 2018 14:34:36 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id B5208335C51 for ; Fri, 22 Jun 2018 14:34:33 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id DB7712E6 for ; Fri, 22 Jun 2018 14:34:31 +0000 (UTC) From: "Michael Haubenwallner" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Michael Haubenwallner" Message-ID: <1529675109.b69fe7bafe8c39c105de5545dc3903af76f233f4.haubi@gentoo> Subject: [gentoo-commits] repo/proj/prefix:master commit in: sys-apps/portage/files/, sys-apps/portage/ X-VCS-Repository: repo/proj/prefix X-VCS-Files: sys-apps/portage/files/portage-2.3.40-stacked-prefix.patch sys-apps/portage/portage-2.3.40.2.ebuild X-VCS-Directories: sys-apps/portage/files/ sys-apps/portage/ X-VCS-Committer: haubi X-VCS-Committer-Name: Michael Haubenwallner X-VCS-Revision: b69fe7bafe8c39c105de5545dc3903af76f233f4 X-VCS-Branch: master Date: Fri, 22 Jun 2018 14:34:31 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 9030e550-d679-4ac6-9c30-3e8413dd8562 X-Archives-Hash: 55c96ec801627eb455c4bb3f9c8fc83f commit: b69fe7bafe8c39c105de5545dc3903af76f233f4 Author: Michael Haubenwallner gentoo org> AuthorDate: Fri Jun 22 13:34:27 2018 +0000 Commit: Michael Haubenwallner gentoo org> CommitDate: Fri Jun 22 13:45:09 2018 +0000 URL: https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=b69fe7ba sys-apps/portage: add the stacked-prefix patch (#658572) Package-Manager: Portage-2.3.24, Repoman-2.3.6 .../files/portage-2.3.40-stacked-prefix.patch | 59 ++++++++++++++++++++++ sys-apps/portage/portage-2.3.40.2.ebuild | 3 +- 2 files changed, 61 insertions(+), 1 deletion(-) diff --git a/sys-apps/portage/files/portage-2.3.40-stacked-prefix.patch b/sys-apps/portage/files/portage-2.3.40-stacked-prefix.patch new file mode 100644 index 0000000000..d967d1faf7 --- /dev/null +++ b/sys-apps/portage/files/portage-2.3.40-stacked-prefix.patch @@ -0,0 +1,59 @@ +From 8a121d477a9a13569be3fb50eaeaa1162ed884bd Mon Sep 17 00:00:00 2001 +From: Michael Haubenwallner +Date: Tue, 19 Jun 2018 16:39:12 +0200 +Subject: [PATCH 1/2] introduce the 'stacked-prefix' FEATURE + +When we merge into another EPREFIX, but not into some ROOT, +and CHOST is equal to CBUILD, build tools found in EPREFIX +perfectly work for the current build environment. +In a "stacked prefix" we explicitly utilize this situation. + +This is useful during prefix bootstrap (#655414, #655326), but also to +build packages for targets unable to support the full portage toolchain +(native Windows, MinGW), but otherwise do not require a full cross +compilation setup. +--- + bin/phase-helpers.sh | 14 ++++++++++++++ + pym/portage/const.py | 1 + + 2 files changed, 15 insertions(+) + +diff --git a/bin/phase-helpers.sh b/bin/phase-helpers.sh +index 75d92b407..c5a818db7 100644 +--- a/bin/phase-helpers.sh ++++ b/bin/phase-helpers.sh +@@ -927,6 +927,20 @@ ___best_version_and_has_version_common() { + fi ;; + esac + ++ if ___eapi_has_prefix_variables && ++ has "${root_arg}" '--host-root' '-b' && ++ has stacked-prefix ${FEATURES} && ++ [[ -z ${ROOT%/} ]] && ++ [[ ${CBUILD} == ${CHOST} ]] && ++ [[ ${EPREFIX} != ${BROOT-${PORTAGE_OVERRIDE_EPREFIX}} ]] && ++ :; then ++ # When we merge into another EPREFIX, but not into some ROOT, ++ # and CHOST is equal to CBUILD, build tools found in EPREFIX ++ # perfectly work for the current build environment. ++ # In a "stacked prefix" we explicitly utilize this situation. ++ "${FUNCNAME[1]}" "${atom}" && return 0 ++ fi ++ + if [[ -n $PORTAGE_IPC_DAEMON ]] ; then + cmd+=("${PORTAGE_BIN_PATH}"/ebuild-ipc "${FUNCNAME[1]}" "${root}" "${atom}") + else +diff --git a/pym/portage/const.py b/pym/portage/const.py +index d9c57f300..be7bf1036 100644 +--- a/pym/portage/const.py ++++ b/pym/portage/const.py +@@ -203,6 +203,7 @@ SUPPORTED_FEATURES = frozenset([ + "splitdebug", + "split-elog", + "split-log", ++ "stacked-prefix", + "strict", + "strict-keepdir", + "stricter", +-- +2.16.1 + diff --git a/sys-apps/portage/portage-2.3.40.2.ebuild b/sys-apps/portage/portage-2.3.40.2.ebuild index 8e6b1c32a5..63935aaa09 100644 --- a/sys-apps/portage/portage-2.3.40.2.ebuild +++ b/sys-apps/portage/portage-2.3.40.2.ebuild @@ -92,7 +92,8 @@ python_prepare_all() { distutils-r1_python_prepare_all epatch "${FILESDIR}"/${PN}-2.3.40-ebuildshell.patch # 155161 - use prefix-chaining && + epatch "${FILESDIR}"/${PN}-2.3.40-stacked-prefix.patch # 658572 + use prefix-chaining && # maybe useful even with stacked-prefix epatch "${FILESDIR}"/${PN}-2.3.40-prefix-chaining.patch if use native-extensions; then