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.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 0E560159C9B for ; Sun, 11 Aug 2024 16:19:34 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 5EA7BE2A63; Sun, 11 Aug 2024 16:19:33 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 44B88E2A63 for ; Sun, 11 Aug 2024 16:19:33 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 5C4D4343140 for ; Sun, 11 Aug 2024 16:19:32 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id EE6A21E0D for ; Sun, 11 Aug 2024 16:19:30 +0000 (UTC) From: "Fabian Groffen" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Fabian Groffen" Message-ID: <1723393132.3f1be2af12937c77c962bb864a8254ffebedc15b.grobian@gentoo> Subject: [gentoo-commits] repo/proj/prefix:master commit in: scripts/ X-VCS-Repository: repo/proj/prefix X-VCS-Files: scripts/bootstrap-prefix.sh X-VCS-Directories: scripts/ X-VCS-Committer: grobian X-VCS-Committer-Name: Fabian Groffen X-VCS-Revision: 3f1be2af12937c77c962bb864a8254ffebedc15b X-VCS-Branch: master Date: Sun, 11 Aug 2024 16:19:30 +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-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: a47f4328-e95f-446d-89a9-71acd5283881 X-Archives-Hash: fe52834acbf0780302367a4f9d9fee32 commit: 3f1be2af12937c77c962bb864a8254ffebedc15b Author: Fabian Groffen gentoo org> AuthorDate: Sun Aug 11 16:18:52 2024 +0000 Commit: Fabian Groffen gentoo org> CommitDate: Sun Aug 11 16:18:52 2024 +0000 URL: https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=3f1be2af scripts/bootstrap-prefix: set CPU_FLAGS_* when we can Signed-off-by: Fabian Groffen gentoo.org> scripts/bootstrap-prefix.sh | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh index dfdff4c99e..a20af50355 100755 --- a/scripts/bootstrap-prefix.sh +++ b/scripts/bootstrap-prefix.sh @@ -3289,6 +3289,47 @@ EOF [[ ${STOP_BOOTSTRAP_AFTER} == stage3 ]] && exit 0 + # do some sanity USE-flag enabling based on CPU, use cpuid2cpuflags + # if keyworded for this arg, else see if there's fallbacks to be + # made + mkdir -p "${EPREFIX}/etc/portage/package.use" + if emerge -1v cpuid2cpuflags ; then + hash -r + echo "*/* $(cpuid2cpuflags)" \ + > "${EPREFIX}/etc/portage/package.use/00cpu-flags" + else + case "${CHOST}" in + arm64-*darwin*) + # https://github.com/RustCrypto/utils/issues/378 + local flags=( "aes" "sha1" "sha2" ) + local line + sysctl hw.optional | while read -r line ; do + line=${line#hw.optional.} + [[ ${line%%*: } == "1" ]] || continue + line=${line%: *} + case "${line}" in + "neon") + flags+=( "${line}" ) + ;; + "armv8_"*) + line=${line#armv8_} + case "${line}" in + "crc32") + flags+=( "${line}" ) + ;; + "2_sha"*) + flags+=( "${line#2_}" ) + ;; + esac + ;; + esac + done + echo "*/* CPU_FLAGS_ARM: ${flags}" \ + > "${EPREFIX}/etc/portage/package.use/00cpu-flags" + ;; + esac + fi + local cmd="emerge -v --deep --update --changed-use @world" if [[ -e ${EPREFIX}/var/cache/edb/mtimedb ]] && \ grep -q resume "${EPREFIX}"/var/cache/edb/mtimedb ;