commit:     7bcf6e440e99f0d38f27011186ff98a5abe9cdc0
Author:     Eric Joldasov <bratishkaerik <AT> getgoogleoff <DOT> me>
AuthorDate: Sat Jan  7 11:24:21 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jan  8 03:24:51 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7bcf6e44

dev-lang/zig: add patch from upstream for 0.10.0

Closes: https://bugs.gentoo.org/886569
Signed-off-by: Eric Joldasov <bratishkaerik <AT> getgoogleoff.me>
Closes: https://github.com/gentoo/gentoo/pull/28997
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../zig/files/zig-0.10.0-avoid-cmake-bug.patch     | 63 ++++++++++++++++++++++
 dev-lang/zig/zig-0.10.0.ebuild                     |  6 ++-
 2 files changed, 68 insertions(+), 1 deletion(-)

diff --git a/dev-lang/zig/files/zig-0.10.0-avoid-cmake-bug.patch 
b/dev-lang/zig/files/zig-0.10.0-avoid-cmake-bug.patch
new file mode 100644
index 000000000000..bfc8ac3fde7f
--- /dev/null
+++ b/dev-lang/zig/files/zig-0.10.0-avoid-cmake-bug.patch
@@ -0,0 +1,63 @@
+https://github.com/ziglang/zig/commit/fe2bd9dda8467b775da4fe3bd535aece9e07ee1b
+Bug https://bugs.gentoo.org/886569
+
+From fe2bd9dda8467b775da4fe3bd535aece9e07ee1b Mon Sep 17 00:00:00 2001
+From: Eric Joldasov <[email protected]>
+Date: Wed, 4 Jan 2023 01:04:48 +0600
+Subject: [PATCH] cmake: move 'continue' statement to avoid cmake bug
+
+---
+ cmake/Findllvm.cmake | 32 +++++++++++---------------------
+ 1 file changed, 11 insertions(+), 21 deletions(-)
+
+diff --git a/cmake/Findllvm.cmake b/cmake/Findllvm.cmake
+index 60a52056d8d..d8662034579 100644
+--- a/cmake/Findllvm.cmake
++++ b/cmake/Findllvm.cmake
+@@ -79,7 +79,11 @@ if(ZIG_USE_LLVM_CONFIG)
+         OUTPUT_VARIABLE LLVM_TARGETS_BUILT_SPACES
+       OUTPUT_STRIP_TRAILING_WHITESPACE)
+     string(REPLACE " " ";" LLVM_TARGETS_BUILT "${LLVM_TARGETS_BUILT_SPACES}")
+-    function(NEED_TARGET TARGET_NAME)
++
++    set(ZIG_LLVM_REQUIRED_TARGETS 
"AArch64;AMDGPU;ARM;AVR;BPF;Hexagon;Lanai;Mips;MSP430;NVPTX;PowerPC;RISCV;Sparc;SystemZ;VE;WebAssembly;X86;XCore")
++
++    set(ZIG_LLVM_REQUIRED_TARGETS_ENABLED TRUE)
++    foreach(TARGET_NAME IN LISTS ZIG_LLVM_REQUIRED_TARGETS)
+       list (FIND LLVM_TARGETS_BUILT "${TARGET_NAME}" _index)
+       if (${_index} EQUAL -1)
+         # Save the error message, in case this is the last llvm-config we find
+@@ -87,27 +91,13 @@ if(ZIG_USE_LLVM_CONFIG)
+ 
+         # Ignore this directory and try the search again
+         list(APPEND CMAKE_IGNORE_PATH "${LLVM_CONFIG_DIR}")
+-        continue()
++        set(ZIG_LLVM_REQUIRED_TARGETS_ENABLED FALSE)
++        break()
+       endif()
+-    endfunction(NEED_TARGET)
+-    NEED_TARGET("AArch64")
+-    NEED_TARGET("AMDGPU")
+-    NEED_TARGET("ARM")
+-    NEED_TARGET("AVR")
+-    NEED_TARGET("BPF")
+-    NEED_TARGET("Hexagon")
+-    NEED_TARGET("Lanai")
+-    NEED_TARGET("Mips")
+-    NEED_TARGET("MSP430")
+-    NEED_TARGET("NVPTX")
+-    NEED_TARGET("PowerPC")
+-    NEED_TARGET("RISCV")
+-    NEED_TARGET("Sparc")
+-    NEED_TARGET("SystemZ")
+-    NEED_TARGET("VE")
+-    NEED_TARGET("WebAssembly")
+-    NEED_TARGET("X86")
+-    NEED_TARGET("XCore")
++    endforeach()
++    if (NOT ZIG_LLVM_REQUIRED_TARGETS_ENABLED)
++      continue()
++    endif()
+ 
+     # Got it!
+     break()

diff --git a/dev-lang/zig/zig-0.10.0.ebuild b/dev-lang/zig/zig-0.10.0.ebuild
index c4a1219ddb22..fbc2bd7aee94 100644
--- a/dev-lang/zig/zig-0.10.0.ebuild
+++ b/dev-lang/zig/zig-0.10.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2019-2022 Gentoo Authors
+# Copyright 2019-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -47,6 +47,10 @@ QA_FLAGS_IGNORED="usr/bin/zig"
 # (transpiled to C via C backend) for bootstrapping
 CHECKREQS_MEMORY="10G"
 
+PATCHES=(
+       "${FILESDIR}/${P}-avoid-cmake-bug.patch"
+)
+
 llvm_check_deps() {
        has_version "sys-devel/clang:${LLVM_SLOT}"
 }

Reply via email to