public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/zig/, dev-lang/zig/files/
@ 2022-05-27  7:45 Joonas Niilola
  0 siblings, 0 replies; 13+ messages in thread
From: Joonas Niilola @ 2022-05-27  7:45 UTC (permalink / raw
  To: gentoo-commits

commit:     e65424f0cda5754051c5b5a7178030cd45273ff8
Author:     BratishkaErik <bratishkaerik <AT> getgoogleoff <DOT> me>
AuthorDate: Fri May 20 12:19:18 2022 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Fri May 27 07:45:27 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e65424f0

dev-lang/zig: add threads USE flag

Signed-off-by: BratishkaErik <bratishkaerik <AT> getgoogleoff.me>
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 dev-lang/zig/files/zig-0.9.1-fix-single-threaded.patch | 13 +++++++++++++
 dev-lang/zig/zig-0.9.1.ebuild                          |  5 ++++-
 dev-lang/zig/zig-9999.ebuild                           |  5 +++--
 3 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/dev-lang/zig/files/zig-0.9.1-fix-single-threaded.patch b/dev-lang/zig/files/zig-0.9.1-fix-single-threaded.patch
new file mode 100644
index 000000000000..70f807f2d550
--- /dev/null
+++ b/dev-lang/zig/files/zig-0.9.1-fix-single-threaded.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 638f39f7e..791477c41 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -787,7 +787,7 @@ else()
+     set(ZIG1_RELEASE_ARG -OReleaseFast --strip)
+ endif()
+ if(ZIG_SINGLE_THREADED)
+-  set(ZIG1_SINGLE_THREADED_ARG "-fsingle-threaded")
++  set(ZIG1_SINGLE_THREADED_ARG "--single-threaded")
+ else()
+   set(ZIG1_SINGLE_THREADED_ARG "")
+ endif()

diff --git a/dev-lang/zig/zig-0.9.1.ebuild b/dev-lang/zig/zig-0.9.1.ebuild
index a0e3522a22a0..18dd79a4bbad 100644
--- a/dev-lang/zig/zig-0.9.1.ebuild
+++ b/dev-lang/zig/zig-0.9.1.ebuild
@@ -18,9 +18,11 @@ fi
 
 LICENSE="MIT"
 SLOT="0"
-IUSE="test"
+IUSE="test +threads"
 RESTRICT="!test? ( test )"
 
+PATCHES=("${FILESDIR}/${P}-fix-single-threaded.patch")
+
 BUILD_DIR="${S}/build"
 
 # According to zig's author, zig builds that do not support all targets are not
@@ -56,6 +58,7 @@ src_configure() {
 	local mycmakeargs=(
 		-DZIG_USE_CCACHE=OFF
 		-DZIG_PREFER_CLANG_CPP_DYLIB=ON
+		-DZIG_SINGLE_THREADED="$(usex threads OFF ON)"
 	)
 
 	cmake_src_configure

diff --git a/dev-lang/zig/zig-9999.ebuild b/dev-lang/zig/zig-9999.ebuild
index cdac1427ee7e..c63dc88b02c2 100644
--- a/dev-lang/zig/zig-9999.ebuild
+++ b/dev-lang/zig/zig-9999.ebuild
@@ -18,7 +18,7 @@ fi
 
 LICENSE="MIT"
 SLOT="0"
-IUSE="test +stage2"
+IUSE="test +stage2 +threads"
 RESTRICT="!test? ( test )"
 
 BUILD_DIR="${S}/build"
@@ -59,6 +59,7 @@ src_configure() {
 	local mycmakeargs=(
 		-DZIG_USE_CCACHE=OFF
 		-DZIG_PREFER_CLANG_CPP_DYLIB=ON
+		-DZIG_SINGLE_THREADED="$(usex threads OFF ON)"
 	)
 
 	cmake_src_configure
@@ -69,7 +70,7 @@ src_compile() {
 
 	if use stage2 ; then
 		cd "${BUILD_DIR}" || die
-		./zig build -p stage2 -Dstatic-llvm=false -Denable-llvm=true || die
+		./zig build -p stage2 -Dstatic-llvm=false -Denable-llvm=true -Dsingle-threaded="$(usex threads false true)" || die
 	fi
 }
 


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/zig/, dev-lang/zig/files/
@ 2022-07-15  8:41 Joonas Niilola
  0 siblings, 0 replies; 13+ messages in thread
From: Joonas Niilola @ 2022-07-15  8:41 UTC (permalink / raw
  To: gentoo-commits

commit:     dcd8eff6fdeca24dc34ac1ff2e78cfe281f3314e
Author:     BratishkaErik <bratishkaerik <AT> getgoogleoff <DOT> me>
AuthorDate: Sun Jul 10 08:11:40 2022 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Fri Jul 15 08:41:09 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dcd8eff6

dev-lang/zig: enable LLVM 14 on -9999

Signed-off-by: Eric Joldasov <bratishkaerik <AT> getgoogleoff.me>
Closes: https://github.com/gentoo/gentoo/pull/26320
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 dev-lang/zig/files/zig-9999-stage2-fix.patch |  4 ++--
 dev-lang/zig/zig-9999.ebuild                 | 14 +++-----------
 2 files changed, 5 insertions(+), 13 deletions(-)

diff --git a/dev-lang/zig/files/zig-9999-stage2-fix.patch b/dev-lang/zig/files/zig-9999-stage2-fix.patch
index 520be382c562..610ab6b86623 100644
--- a/dev-lang/zig/files/zig-9999-stage2-fix.patch
+++ b/dev-lang/zig/files/zig-9999-stage2-fix.patch
@@ -1,8 +1,8 @@
 diff --git a/build.zig b/build.zig
-index 4d3cf49..4601935 100644
+index ac0a161..12f7e15 100644
 --- a/build.zig
 +++ b/build.zig
-@@ -550,6 +550,7 @@ fn addCmakeCfgOptionsToExe(
+@@ -562,6 +562,7 @@ fn addCmakeCfgOptionsToExe(
                  else => |e| return e,
              };
              exe.linkSystemLibrary("unwind");

diff --git a/dev-lang/zig/zig-9999.ebuild b/dev-lang/zig/zig-9999.ebuild
index 87dc59b0c0c7..c081a14b93c0 100644
--- a/dev-lang/zig/zig-9999.ebuild
+++ b/dev-lang/zig/zig-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-LLVM_MAX_SLOT=13
+LLVM_MAX_SLOT=14
 inherit cmake llvm check-reqs
 
 DESCRIPTION="A robust, optimal, and maintainable programming language"
@@ -23,20 +23,12 @@ RESTRICT="!test? ( test )"
 
 BUILD_DIR="${S}/build"
 
-# According to zig's author, zig builds that do not support all targets are not
-# supported by the upstream project.
-ALL_LLVM_TARGETS=(
-	AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430 NVPTX
-	PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
-)
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-LLVM_TARGET_USEDEPS="${ALL_LLVM_TARGETS[@]}"
-
 RDEPEND="
 	sys-devel/clang:${LLVM_MAX_SLOT}
 	>=sys-devel/lld-${LLVM_MAX_SLOT}
 	<sys-devel/lld-$((${LLVM_MAX_SLOT} + 1))
-	sys-devel/llvm:${LLVM_MAX_SLOT}[${LLVM_TARGET_USEDEPS// /,}]
+	sys-devel/llvm:${LLVM_MAX_SLOT}
+	>=sys-libs/zlib-1.2.12
 "
 DEPEND="${RDEPEND}"
 


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/zig/, dev-lang/zig/files/
@ 2022-08-22  8:18 Jakov Smolić
  0 siblings, 0 replies; 13+ messages in thread
From: Jakov Smolić @ 2022-08-22  8:18 UTC (permalink / raw
  To: gentoo-commits

commit:     d005e3b069726d01579b86d32f6fe32c26573aa3
Author:     Eric Joldasov <bratishkaerik <AT> getgoogleoff <DOT> me>
AuthorDate: Tue Jul 26 21:25:12 2022 +0000
Commit:     Jakov Smolić <jsmolic <AT> gentoo <DOT> org>
CommitDate: Mon Aug 22 08:16:08 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d005e3b0

dev-lang/zig: block dev-lang/zig-bin, add risv stage0 patch for 0.9.1

Bug: https://bugs.gentoo.org/851732
Signed-off-by: Eric Joldasov <bratishkaerik <AT> getgoogleoff.me>
Signed-off-by: Jakov Smolić <jsmolic <AT> gentoo.org>

 dev-lang/zig/files/zig-0.9.1-fix-riscv.patch | 47 ++++++++++++++++++++++++++++
 dev-lang/zig/zig-0.9.1.ebuild                | 26 +++++++--------
 2 files changed, 59 insertions(+), 14 deletions(-)

diff --git a/dev-lang/zig/files/zig-0.9.1-fix-riscv.patch b/dev-lang/zig/files/zig-0.9.1-fix-riscv.patch
new file mode 100644
index 000000000000..372a68ea02ad
--- /dev/null
+++ b/dev-lang/zig/files/zig-0.9.1-fix-riscv.patch
@@ -0,0 +1,47 @@
+https://github.com/ziglang/zig/commit/ca3c4ff2d0afcdc8fe86e7e7b41a967c88779729
+From: Shupei Fan <dymarkfan@outlook.com>
+zig0: properly set llvm_cpu_names and llvm_cpu_features for riscv
+
+Bug: https://bugs.gentoo.org/851732
+
+--- a/src/stage1/zig0.cpp
++++ b/src/stage1/zig0.cpp
+@@ -160,6 +160,17 @@ static void get_native_target(ZigTarget *target) {
+     }
+ }
+ 
++static const char* get_baseline_llvm_cpu_name(ZigLLVM_ArchType arch) {
++    return "";
++}
++
++static const char* get_baseline_llvm_cpu_features(ZigLLVM_ArchType arch) {
++    switch (arch) {
++        case ZigLLVM_riscv64: return "+a,+c,+d,+m";
++        default: return "";
++    }
++}
++
+ static Error target_parse_triple(struct ZigTarget *target, const char *zig_triple, const char *mcpu,
+         const char *dynamic_linker)
+ {
+@@ -178,8 +189,8 @@ static Error target_parse_triple(struct ZigTarget *target, const char *zig_tripl
+         } else if (strcmp(mcpu, "baseline") == 0) {
+             target->is_native_os = false;
+             target->is_native_cpu = false;
+-            target->llvm_cpu_name = "";
+-            target->llvm_cpu_features = "";
++            target->llvm_cpu_name = get_baseline_llvm_cpu_name(target->arch);
++            target->llvm_cpu_features = get_baseline_llvm_cpu_features(target->arch);
+         } else {
+             const char *msg = "stage0 can't handle CPU/features in the target";
+             stage2_panic(msg, strlen(msg));
+@@ -220,6 +231,9 @@ static Error target_parse_triple(struct ZigTarget *target, const char *zig_tripl
+             const char *msg = "stage0 can't handle CPU/features in the target";
+             stage2_panic(msg, strlen(msg));
+         }
++
++        target->llvm_cpu_name = get_baseline_llvm_cpu_name(target->arch);
++        target->llvm_cpu_features = get_baseline_llvm_cpu_features(target->arch);
+     }
+ 
+     return ErrorNone;

diff --git a/dev-lang/zig/zig-0.9.1.ebuild b/dev-lang/zig/zig-0.9.1.ebuild
index 18dd79a4bbad..0c78b3e76b08 100644
--- a/dev-lang/zig/zig-0.9.1.ebuild
+++ b/dev-lang/zig/zig-0.9.1.ebuild
@@ -21,26 +21,24 @@ SLOT="0"
 IUSE="test +threads"
 RESTRICT="!test? ( test )"
 
-PATCHES=("${FILESDIR}/${P}-fix-single-threaded.patch")
+PATCHES=(
+	"${FILESDIR}/${P}-fix-single-threaded.patch"
+	"${FILESDIR}/${P}-fix-riscv.patch"
+)
 
 BUILD_DIR="${S}/build"
 
-# According to zig's author, zig builds that do not support all targets are not
-# supported by the upstream project.
-ALL_LLVM_TARGETS=(
-	AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430 NVPTX
-	PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
-)
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-LLVM_TARGET_USEDEPS="${ALL_LLVM_TARGETS[@]}"
-
-RDEPEND="
+DEPEND="
 	sys-devel/clang:${LLVM_MAX_SLOT}
 	>=sys-devel/lld-${LLVM_MAX_SLOT}
 	<sys-devel/lld-$((${LLVM_MAX_SLOT} + 1))
-	sys-devel/llvm:${LLVM_MAX_SLOT}[${LLVM_TARGET_USEDEPS// /,}]
+	sys-devel/llvm:${LLVM_MAX_SLOT}
+	>=sys-libs/zlib-1.2.12
+"
+
+RDEPEND="${DEPEND}
+	!dev-lang/zig-bin
 "
-DEPEND="${RDEPEND}"
 
 llvm_check_deps() {
 	has_version "sys-devel/clang:${LLVM_SLOT}"
@@ -58,7 +56,7 @@ src_configure() {
 	local mycmakeargs=(
 		-DZIG_USE_CCACHE=OFF
 		-DZIG_PREFER_CLANG_CPP_DYLIB=ON
-		-DZIG_SINGLE_THREADED="$(usex threads OFF ON)"
+		-DZIG_SINGLE_THREADED="$(usex !threads)"
 	)
 
 	cmake_src_configure


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/zig/, dev-lang/zig/files/
@ 2022-09-05  1:25 Sam James
  0 siblings, 0 replies; 13+ messages in thread
From: Sam James @ 2022-09-05  1:25 UTC (permalink / raw
  To: gentoo-commits

commit:     3e4dcebab96edb125e5089b9fd996ebdd36e23fa
Author:     Eric Joldasov <bratishkaerik <AT> getgoogleoff <DOT> me>
AuthorDate: Fri Sep  2 10:22:36 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Sep  5 01:23:50 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3e4dceba

dev-lang/zig: always install self-hosted compiler, workaround upstream cmake bugs

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

 dev-lang/zig/files/zig-9999-stage2-fix.patch |  6 +++---
 dev-lang/zig/metadata.xml                    |  3 ---
 dev-lang/zig/zig-9999.ebuild                 | 25 +++++++++----------------
 3 files changed, 12 insertions(+), 22 deletions(-)

diff --git a/dev-lang/zig/files/zig-9999-stage2-fix.patch b/dev-lang/zig/files/zig-9999-stage2-fix.patch
index 610ab6b86623..a2fe945c4a39 100644
--- a/dev-lang/zig/files/zig-9999-stage2-fix.patch
+++ b/dev-lang/zig/files/zig-9999-stage2-fix.patch
@@ -1,12 +1,12 @@
 diff --git a/build.zig b/build.zig
-index ac0a161..12f7e15 100644
+index c8e757dc4..b698b5680 100644
 --- a/build.zig
 +++ b/build.zig
-@@ -562,6 +562,7 @@ fn addCmakeCfgOptionsToExe(
+@@ -577,6 +577,7 @@ fn addCmakeCfgOptionsToExe(
                  else => |e| return e,
              };
              exe.linkSystemLibrary("unwind");
 +            exe.linkSystemLibrary("c_nonshared");
          } else if (exe.target.isFreeBSD()) {
-             try addCxxKnownPath(b, cfg, exe, "libc++.a", null, need_cpp_includes);
+             try addCxxKnownPath(b, cfg, exe, b.fmt("libc++.{s}", .{lib_suffix}), null, need_cpp_includes);
              exe.linkSystemLibrary("pthread");

diff --git a/dev-lang/zig/metadata.xml b/dev-lang/zig/metadata.xml
index c12ebabd226e..a5a5818faae7 100644
--- a/dev-lang/zig/metadata.xml
+++ b/dev-lang/zig/metadata.xml
@@ -9,9 +9,6 @@
 		<email>proxy-maint@gentoo.org</email>
 		<name>Proxy Maintainers</name>
 	</maintainer>
-	<use>
-		<flag name="stage2">Install stage2 compiler (written in Zig) alongside stage1 compiler (written in C++ and Zig)</flag>
-	</use>
 	<upstream>
 		<remote-id type="github">ziglang/zig</remote-id>
 		<bugs-to>https://github.com/ziglang/zig/issues</bugs-to>

diff --git a/dev-lang/zig/zig-9999.ebuild b/dev-lang/zig/zig-9999.ebuild
index 32a064ec02fc..1574aa37588a 100644
--- a/dev-lang/zig/zig-9999.ebuild
+++ b/dev-lang/zig/zig-9999.ebuild
@@ -18,7 +18,7 @@ fi
 
 LICENSE="MIT"
 SLOT="0"
-IUSE="test +stage2 +threads"
+IUSE="test +threads"
 RESTRICT="!test? ( test )"
 
 BUILD_DIR="${S}/build"
@@ -56,34 +56,27 @@ src_configure() {
 		-DZIG_USE_CCACHE=OFF
 		-DZIG_SHARED_LLVM=ON
 		-DZIG_SINGLE_THREADED="$(usex !threads)"
+		-DCMAKE_PREFIX_PATH=$(get_llvm_prefix ${LLVM_MAX_SLOT})
+		-DCMAKE_INSTALL_PREFIX="${BUILD_DIR}/stage3"
 	)
 
 	cmake_src_configure
 }
 
-src_compile() {
-	cmake_src_compile
-
-	if use stage2 ; then
-		cd "${BUILD_DIR}" || die
-		./zig build -p stage2 -Dstatic-llvm=false -Denable-llvm=true -Dsingle-threaded="$(usex threads false true)" -Dskip-install-lib-files=true --verbose || die
-	fi
-}
-
 src_test() {
 	cd "${BUILD_DIR}" || die
-	./zig build test || die
+	./stage3/bin/zig build test -Dstatic-llvm=false -Denable-llvm=true || die
 }
 
 src_install() {
-	cmake_src_install
-
-	use stage2 && newbin "${BUILD_DIR}/stage2/bin/zig" zig-stage2
+	cd "${BUILD_DIR}" || die
+	DESTDIR="${D}" ./zig2 build install -Denable-stage1=true -Dstatic-llvm=false -Denable-llvm=true --prefix "${EPREFIX}"/usr || die
+	dodoc ../README.md
 }
 
 # see https://github.com/ziglang/zig/issues/3382
-QA_FLAGS_IGNORED="usr/bin/zig-stage2"
+QA_FLAGS_IGNORED="usr/bin/zig"
 
 pkg_postinst() {
-	use stage2 && elog "You enabled stage2 USE flag, Zig stage1 was installed as /usr/bin/zig, Zig stage2 was installed as /usr/bin/zig-stage2"
+	elog "If you want to use stage1 backend, use -fstage1 flag"
 }


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/zig/, dev-lang/zig/files/
@ 2022-09-11 18:13 Sam James
  0 siblings, 0 replies; 13+ messages in thread
From: Sam James @ 2022-09-11 18:13 UTC (permalink / raw
  To: gentoo-commits

commit:     4d2d75f3df3edee03055e7e3b50e30d1c0dd0984
Author:     Eric Joldasov <bratishkaerik <AT> getgoogleoff <DOT> me>
AuthorDate: Wed Aug 24 10:08:10 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 11 18:13:22 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4d2d75f3

dev-lang/zig: add patches for 0.9.1

Bug: https://bugs.gentoo.org/780612
Bug: https://bugs.gentoo.org/829959
Bug: https://bugs.gentoo.org/866374
Signed-off-by: Eric Joldasov <bratishkaerik <AT> getgoogleoff.me>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-lang/zig/Manifest                              |  1 +
 .../zig-0.9.1-fix-bad-hostname-segfault.patch      | 26 ++++++++++++++++++++++
 .../zig/{zig-0.9.1.ebuild => zig-0.9.1-r1.ebuild}  |  3 +++
 3 files changed, 30 insertions(+)

diff --git a/dev-lang/zig/Manifest b/dev-lang/zig/Manifest
index daf4475076f0..f18eeb3ba012 100644
--- a/dev-lang/zig/Manifest
+++ b/dev-lang/zig/Manifest
@@ -1 +1,2 @@
+DIST zig-0.9.1-fix-detecting-abi.patch 22233 BLAKE2B fa523c4c4c23a74c0b4f85c6d2d91ef98b31d25694bb9dbc7988b82db972a16ab273aa9f1883cfa8ca79ef7fc56fca67d0a8656ba248b6db47bc902b7ac64a93 SHA512 259967f88f54c20f556bd9d67189ce3a2cfeb0250f0cee4dffb29020d976d61265a5dd9ae9cfcadfb7b1e152b47ee17f4184eafac2b80495f4ee8f98733cd692
 DIST zig-0.9.1.tar.xz 13940828 BLAKE2B 996b0e945f61b01dddbb7c8674a9e2d2d01b93eb48fdfd2c986496330990ffa64cba15f8bd8518b90ef6f514759ba6cc3fd31d6044c5b11b92bf92e3f7f15303 SHA512 0b8a5f9b7e34e4252536f59bc91429f1e76b2bf8e01f024095919f6ecf34db56b5c86c554fbb94bdcb5255394c87f2c87519c8f34c631f53816927ec0882ae2d

diff --git a/dev-lang/zig/files/zig-0.9.1-fix-bad-hostname-segfault.patch b/dev-lang/zig/files/zig-0.9.1-fix-bad-hostname-segfault.patch
new file mode 100644
index 000000000000..2e87ecc6d6ee
--- /dev/null
+++ b/dev-lang/zig/files/zig-0.9.1-fix-bad-hostname-segfault.patch
@@ -0,0 +1,26 @@
+https://github.com/ziglang/zig/commit/601d8f721d6dc90ac390bf5ecc7d8bafdd6a30d8
+Bug https://bugs.gentoo.org/829959
+
+From 601d8f721d6dc90ac390bf5ecc7d8bafdd6a30d8 Mon Sep 17 00:00:00 2001
+From: Veikka Touminen <git@vexu.eu>
+Date: Sun, 10 Jul 2022 04:27:23 -0600
+Subject: [PATCH] std.net.getAddressList: fix segfault on bad hostname
+
+Fixes #12065
+---
+ lib/std/net.zig | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/std/net.zig b/lib/std/net.zig
+index 235ad8496a1..c381df9bce7 100644
+--- a/lib/std/net.zig
++++ b/lib/std/net.zig
+@@ -731,7 +731,7 @@ pub fn getAddressList(allocator: mem.Allocator, name: []const u8, port: u16) !*A
+         break :blk result;
+     };
+     const arena = result.arena.allocator();
+-    errdefer result.arena.deinit();
++    errdefer result.deinit();
+ 
+     if (builtin.target.os.tag == .windows or builtin.link_libc) {
+         const name_c = try std.cstr.addNullByte(allocator, name);

diff --git a/dev-lang/zig/zig-0.9.1.ebuild b/dev-lang/zig/zig-0.9.1-r1.ebuild
similarity index 86%
rename from dev-lang/zig/zig-0.9.1.ebuild
rename to dev-lang/zig/zig-0.9.1-r1.ebuild
index 0c78b3e76b08..10a957c326e9 100644
--- a/dev-lang/zig/zig-0.9.1.ebuild
+++ b/dev-lang/zig/zig-0.9.1-r1.ebuild
@@ -16,6 +16,7 @@ else
 	KEYWORDS="~amd64 ~arm ~arm64"
 fi
 
+SRC_URI+=" https://codeberg.org/BratishkaErik/distfiles/media/branch/master/zig-0.9.1-fix-detecting-abi.patch"
 LICENSE="MIT"
 SLOT="0"
 IUSE="test +threads"
@@ -24,6 +25,8 @@ RESTRICT="!test? ( test )"
 PATCHES=(
 	"${FILESDIR}/${P}-fix-single-threaded.patch"
 	"${FILESDIR}/${P}-fix-riscv.patch"
+	"${FILESDIR}/${P}-fix-bad-hostname-segfault.patch"
+	"${DISTDIR}/zig-0.9.1-fix-detecting-abi.patch"
 )
 
 BUILD_DIR="${S}/build"


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/zig/, dev-lang/zig/files/
@ 2022-09-19  3:40 Sam James
  0 siblings, 0 replies; 13+ messages in thread
From: Sam James @ 2022-09-19  3:40 UTC (permalink / raw
  To: gentoo-commits

commit:     b0be76203ac70656b0b6cce6b165880680c38382
Author:     Eric Joldasov <bratishkaerik <AT> getgoogleoff <DOT> me>
AuthorDate: Mon Sep 12 13:38:17 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Sep 19 03:40:43 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b0be7620

dev-lang/zig: drop unnecessary patch for 9999

Signed-off-by: Eric Joldasov <bratishkaerik <AT> getgoogleoff.me>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-lang/zig/files/zig-9999-stage2-fix.patch | 12 ------------
 dev-lang/zig/zig-9999.ebuild                 |  3 ---
 2 files changed, 15 deletions(-)

diff --git a/dev-lang/zig/files/zig-9999-stage2-fix.patch b/dev-lang/zig/files/zig-9999-stage2-fix.patch
deleted file mode 100644
index a2fe945c4a39..000000000000
--- a/dev-lang/zig/files/zig-9999-stage2-fix.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/build.zig b/build.zig
-index c8e757dc4..b698b5680 100644
---- a/build.zig
-+++ b/build.zig
-@@ -577,6 +577,7 @@ fn addCmakeCfgOptionsToExe(
-                 else => |e| return e,
-             };
-             exe.linkSystemLibrary("unwind");
-+            exe.linkSystemLibrary("c_nonshared");
-         } else if (exe.target.isFreeBSD()) {
-             try addCxxKnownPath(b, cfg, exe, b.fmt("libc++.{s}", .{lib_suffix}), null, need_cpp_includes);
-             exe.linkSystemLibrary("pthread");

diff --git a/dev-lang/zig/zig-9999.ebuild b/dev-lang/zig/zig-9999.ebuild
index 1574aa37588a..373a6036ccb1 100644
--- a/dev-lang/zig/zig-9999.ebuild
+++ b/dev-lang/zig/zig-9999.ebuild
@@ -43,9 +43,6 @@ llvm_check_deps() {
 # see https://github.com/ziglang/zig/wiki/Troubleshooting-Build-Issues#high-memory-requirements
 CHECKREQS_MEMORY="10G"
 
-# see https://github.com/ziglang/zig/issues/11137
-PATCHES=( "${FILESDIR}/${P}-stage2-fix.patch" )
-
 pkg_setup() {
 	llvm_pkg_setup
 	check-reqs_pkg_setup


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/zig/, dev-lang/zig/files/
@ 2022-12-01 13:57 Michał Górny
  0 siblings, 0 replies; 13+ messages in thread
From: Michał Górny @ 2022-12-01 13:57 UTC (permalink / raw
  To: gentoo-commits

commit:     f49f0e28babffcf0878268d01324397309682fd6
Author:     Eric Joldasov <bratishkaerik <AT> getgoogleoff <DOT> me>
AuthorDate: Thu Dec  1 12:43:21 2022 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Dec  1 13:57:06 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f49f0e28

dev-lang/zig: drop 0.9.1-r3

Closes: https://bugs.gentoo.org/876181
Signed-off-by: Eric Joldasov <bratishkaerik <AT> getgoogleoff.me>
Closes: https://github.com/gentoo/gentoo/pull/28492
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-lang/zig/Manifest                              |  2 -
 .../zig-0.9.1-fix-bad-hostname-segfault.patch      | 26 --------
 dev-lang/zig/files/zig-0.9.1-fix-clang16.patch     | 23 -------
 dev-lang/zig/files/zig-0.9.1-fix-riscv.patch       | 47 --------------
 .../zig/files/zig-0.9.1-fix-single-threaded.patch  | 13 ----
 dev-lang/zig/zig-0.9.1-r3.ebuild                   | 72 ----------------------
 6 files changed, 183 deletions(-)

diff --git a/dev-lang/zig/Manifest b/dev-lang/zig/Manifest
index fd2ecb470579..297043a711ac 100644
--- a/dev-lang/zig/Manifest
+++ b/dev-lang/zig/Manifest
@@ -1,3 +1 @@
 DIST zig-0.10.0.tar.xz 14530912 BLAKE2B 5949a44ee039b7d5a163344a0fc26af8dd9cf311ed25c7092a665bb59ec7dec8dc3cd39918d81ef02c707aa8989b038fb21dfba3927fd31153a1404739b4ea3c SHA512 9d83ce51cc0ce404c06da820179c1cc47aa50e573fb1c831a96baa12c6b5226abe85b384110f2ffc4cbdc5f24eaba1f14a4e3249ffeaa248c0d73ba29859e682
-DIST zig-0.9.1-fix-detecting-abi.patch 22233 BLAKE2B fa523c4c4c23a74c0b4f85c6d2d91ef98b31d25694bb9dbc7988b82db972a16ab273aa9f1883cfa8ca79ef7fc56fca67d0a8656ba248b6db47bc902b7ac64a93 SHA512 259967f88f54c20f556bd9d67189ce3a2cfeb0250f0cee4dffb29020d976d61265a5dd9ae9cfcadfb7b1e152b47ee17f4184eafac2b80495f4ee8f98733cd692
-DIST zig-0.9.1.tar.xz 13940828 BLAKE2B 996b0e945f61b01dddbb7c8674a9e2d2d01b93eb48fdfd2c986496330990ffa64cba15f8bd8518b90ef6f514759ba6cc3fd31d6044c5b11b92bf92e3f7f15303 SHA512 0b8a5f9b7e34e4252536f59bc91429f1e76b2bf8e01f024095919f6ecf34db56b5c86c554fbb94bdcb5255394c87f2c87519c8f34c631f53816927ec0882ae2d

diff --git a/dev-lang/zig/files/zig-0.9.1-fix-bad-hostname-segfault.patch b/dev-lang/zig/files/zig-0.9.1-fix-bad-hostname-segfault.patch
deleted file mode 100644
index 2e87ecc6d6ee..000000000000
--- a/dev-lang/zig/files/zig-0.9.1-fix-bad-hostname-segfault.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-https://github.com/ziglang/zig/commit/601d8f721d6dc90ac390bf5ecc7d8bafdd6a30d8
-Bug https://bugs.gentoo.org/829959
-
-From 601d8f721d6dc90ac390bf5ecc7d8bafdd6a30d8 Mon Sep 17 00:00:00 2001
-From: Veikka Touminen <git@vexu.eu>
-Date: Sun, 10 Jul 2022 04:27:23 -0600
-Subject: [PATCH] std.net.getAddressList: fix segfault on bad hostname
-
-Fixes #12065
----
- lib/std/net.zig | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/std/net.zig b/lib/std/net.zig
-index 235ad8496a1..c381df9bce7 100644
---- a/lib/std/net.zig
-+++ b/lib/std/net.zig
-@@ -731,7 +731,7 @@ pub fn getAddressList(allocator: mem.Allocator, name: []const u8, port: u16) !*A
-         break :blk result;
-     };
-     const arena = result.arena.allocator();
--    errdefer result.arena.deinit();
-+    errdefer result.deinit();
- 
-     if (builtin.target.os.tag == .windows or builtin.link_libc) {
-         const name_c = try std.cstr.addNullByte(allocator, name);

diff --git a/dev-lang/zig/files/zig-0.9.1-fix-clang16.patch b/dev-lang/zig/files/zig-0.9.1-fix-clang16.patch
deleted file mode 100644
index deb563378d76..000000000000
--- a/dev-lang/zig/files/zig-0.9.1-fix-clang16.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From: Eric Joldasov <bratishkaerik@getgoogleoff.me>
-Fix building with Clang 16
-Upstream PR https://github.com/ziglang/zig/pull/13121
-
---- a/src/stage1/parse_f128.c
-+++ b/src/stage1/parse_f128.c
-@@ -983,14 +983,14 @@ static int isspace(int c)
-     return c == ' ' || (unsigned)c-'\t' < 5;
- }
- 
--static inline float128_t makeInf128() {
-+static inline float128_t makeInf128(void) {
-     union ldshape ux;
-     ux.i2.hi = 0x7fff000000000000UL;
-     ux.i2.lo = 0x0UL;
-     return ux.f;
- }
- 
--static inline float128_t makeNaN128() {
-+static inline float128_t makeNaN128(void) {
-     uint64_t rand = 0UL;
-     union ldshape ux;
-     ux.i2.hi = 0x7fff000000000000UL | (rand & 0xffffffffffffUL);

diff --git a/dev-lang/zig/files/zig-0.9.1-fix-riscv.patch b/dev-lang/zig/files/zig-0.9.1-fix-riscv.patch
deleted file mode 100644
index 372a68ea02ad..000000000000
--- a/dev-lang/zig/files/zig-0.9.1-fix-riscv.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-https://github.com/ziglang/zig/commit/ca3c4ff2d0afcdc8fe86e7e7b41a967c88779729
-From: Shupei Fan <dymarkfan@outlook.com>
-zig0: properly set llvm_cpu_names and llvm_cpu_features for riscv
-
-Bug: https://bugs.gentoo.org/851732
-
---- a/src/stage1/zig0.cpp
-+++ b/src/stage1/zig0.cpp
-@@ -160,6 +160,17 @@ static void get_native_target(ZigTarget *target) {
-     }
- }
- 
-+static const char* get_baseline_llvm_cpu_name(ZigLLVM_ArchType arch) {
-+    return "";
-+}
-+
-+static const char* get_baseline_llvm_cpu_features(ZigLLVM_ArchType arch) {
-+    switch (arch) {
-+        case ZigLLVM_riscv64: return "+a,+c,+d,+m";
-+        default: return "";
-+    }
-+}
-+
- static Error target_parse_triple(struct ZigTarget *target, const char *zig_triple, const char *mcpu,
-         const char *dynamic_linker)
- {
-@@ -178,8 +189,8 @@ static Error target_parse_triple(struct ZigTarget *target, const char *zig_tripl
-         } else if (strcmp(mcpu, "baseline") == 0) {
-             target->is_native_os = false;
-             target->is_native_cpu = false;
--            target->llvm_cpu_name = "";
--            target->llvm_cpu_features = "";
-+            target->llvm_cpu_name = get_baseline_llvm_cpu_name(target->arch);
-+            target->llvm_cpu_features = get_baseline_llvm_cpu_features(target->arch);
-         } else {
-             const char *msg = "stage0 can't handle CPU/features in the target";
-             stage2_panic(msg, strlen(msg));
-@@ -220,6 +231,9 @@ static Error target_parse_triple(struct ZigTarget *target, const char *zig_tripl
-             const char *msg = "stage0 can't handle CPU/features in the target";
-             stage2_panic(msg, strlen(msg));
-         }
-+
-+        target->llvm_cpu_name = get_baseline_llvm_cpu_name(target->arch);
-+        target->llvm_cpu_features = get_baseline_llvm_cpu_features(target->arch);
-     }
- 
-     return ErrorNone;

diff --git a/dev-lang/zig/files/zig-0.9.1-fix-single-threaded.patch b/dev-lang/zig/files/zig-0.9.1-fix-single-threaded.patch
deleted file mode 100644
index 70f807f2d550..000000000000
--- a/dev-lang/zig/files/zig-0.9.1-fix-single-threaded.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 638f39f7e..791477c41 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -787,7 +787,7 @@ else()
-     set(ZIG1_RELEASE_ARG -OReleaseFast --strip)
- endif()
- if(ZIG_SINGLE_THREADED)
--  set(ZIG1_SINGLE_THREADED_ARG "-fsingle-threaded")
-+  set(ZIG1_SINGLE_THREADED_ARG "--single-threaded")
- else()
-   set(ZIG1_SINGLE_THREADED_ARG "")
- endif()

diff --git a/dev-lang/zig/zig-0.9.1-r3.ebuild b/dev-lang/zig/zig-0.9.1-r3.ebuild
deleted file mode 100644
index 463cead06e2d..000000000000
--- a/dev-lang/zig/zig-0.9.1-r3.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_MAX_SLOT=13
-inherit cmake llvm check-reqs
-
-DESCRIPTION="A robust, optimal, and maintainable programming language"
-HOMEPAGE="https://ziglang.org/"
-if [[ ${PV} == 9999 ]]; then
-	EGIT_REPO_URI="https://github.com/ziglang/zig.git"
-	inherit git-r3
-else
-	SRC_URI="https://ziglang.org/download/${PV}/${P}.tar.xz"
-	KEYWORDS="~amd64 ~arm ~arm64"
-fi
-
-SRC_URI+=" https://codeberg.org/BratishkaErik/distfiles/media/branch/master/zig-0.9.1-fix-detecting-abi.patch"
-LICENSE="MIT"
-SLOT="0"
-IUSE="test +threads"
-RESTRICT="!test? ( test )"
-
-PATCHES=(
-	"${FILESDIR}/${P}-fix-clang16.patch"
-	"${FILESDIR}/${P}-fix-single-threaded.patch"
-	"${FILESDIR}/${P}-fix-riscv.patch"
-	"${FILESDIR}/${P}-fix-bad-hostname-segfault.patch"
-	"${DISTDIR}/zig-0.9.1-fix-detecting-abi.patch"
-)
-
-BUILD_DIR="${S}/build"
-
-DEPEND="
-	sys-devel/clang:${LLVM_MAX_SLOT}=
-	sys-devel/lld:${LLVM_MAX_SLOT}=
-	sys-devel/llvm:${LLVM_MAX_SLOT}=
-	>=sys-libs/zlib-1.2.12
-"
-
-RDEPEND="${DEPEND}
-	!dev-lang/zig-bin
-"
-
-llvm_check_deps() {
-	has_version "sys-devel/clang:${LLVM_SLOT}"
-}
-
-# see https://github.com/ziglang/zig/wiki/Troubleshooting-Build-Issues#high-memory-requirements
-CHECKREQS_MEMORY="10G"
-
-pkg_setup() {
-	llvm_pkg_setup
-	check-reqs_pkg_setup
-}
-
-src_configure() {
-	local mycmakeargs=(
-		-DZIG_USE_CCACHE=OFF
-		-DZIG_PREFER_CLANG_CPP_DYLIB=ON
-		-DZIG_SINGLE_THREADED="$(usex !threads)"
-		-DCMAKE_PREFIX_PATH=$(get_llvm_prefix ${LLVM_MAX_SLOT})
-	)
-
-	cmake_src_configure
-}
-
-src_test() {
-	cd "${BUILD_DIR}" || die
-	./zig build test || die
-}


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/zig/, dev-lang/zig/files/
@ 2023-01-08  3:37 Sam James
  0 siblings, 0 replies; 13+ messages in thread
From: Sam James @ 2023-01-08  3:37 UTC (permalink / raw
  To: gentoo-commits

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 <bratishkaerik@getgoogleoff.me>
+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}"
 }


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/zig/, dev-lang/zig/files/
@ 2023-01-11  6:04 Sam James
  0 siblings, 0 replies; 13+ messages in thread
From: Sam James @ 2023-01-11  6:04 UTC (permalink / raw
  To: gentoo-commits

commit:     28fcae31f91eb30b62c8d55b39207238d377f0c2
Author:     Eric Joldasov <bratishkaerik <AT> getgoogleoff <DOT> me>
AuthorDate: Wed Jan  4 11:44:25 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jan 11 06:04:38 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=28fcae31

dev-lang/zig: use correct binary for testing 0.10.0

According to upstream [1], 'stage3' binary should be used for testing
instead of 'stage2'. Thanks to Frederik Schwan and Sam James for
pointing this out! Also split tests so than we can know more accurately
what test step failed.

[1] https://www.github.com/ziglang/zig/issues/14240#issuecomment-1374634325

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

 .../zig-0.10.0-build-dir-install-stage3.patch      | 28 ++++++++++++++++++++++
 dev-lang/zig/zig-0.10.0.ebuild                     | 18 +++++++++++++-
 2 files changed, 45 insertions(+), 1 deletion(-)

diff --git a/dev-lang/zig/files/zig-0.10.0-build-dir-install-stage3.patch b/dev-lang/zig/files/zig-0.10.0-build-dir-install-stage3.patch
new file mode 100644
index 000000000000..c44632f5111e
--- /dev/null
+++ b/dev-lang/zig/files/zig-0.10.0-build-dir-install-stage3.patch
@@ -0,0 +1,28 @@
+From: Eric Joldasov <bratishkaerik@getgoogleoff.me>
+
+Install 'zig' binary in 'build_dir/stage3' directory so that we can find it and use for testing.
+Upstream PR https://github.com/ziglang/zig/pull/14255.
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1094,7 +1094,7 @@ set(ZIG_BUILD_ARGS
+ )
+ 
+ add_custom_target(stage3 ALL
+-    COMMAND zig2 build compile ${ZIG_BUILD_ARGS}
++    COMMAND zig2 build --prefix "${CMAKE_BINARY_DIR}/stage3" ${ZIG_BUILD_ARGS}
+     DEPENDS zig2
+     COMMENT STATUS "Building stage3"
+     WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
+--- a/build.zig
++++ b/build.zig
+@@ -148,10 +148,6 @@ pub fn build(b: *Builder) !void {
+     };
+ 
+     const exe = b.addExecutable("zig", main_file);
+-
+-    const compile_step = b.step("compile", "Build the self-hosted compiler");
+-    compile_step.dependOn(&exe.step);
+-
+     exe.stack_size = stack_size;
+     exe.strip = strip;
+     exe.sanitize_thread = sanitize_thread;

diff --git a/dev-lang/zig/zig-0.10.0.ebuild b/dev-lang/zig/zig-0.10.0.ebuild
index fbc2bd7aee94..f47f22799167 100644
--- a/dev-lang/zig/zig-0.10.0.ebuild
+++ b/dev-lang/zig/zig-0.10.0.ebuild
@@ -49,6 +49,7 @@ CHECKREQS_MEMORY="10G"
 
 PATCHES=(
 	"${FILESDIR}/${P}-avoid-cmake-bug.patch"
+	"${FILESDIR}/${P}-build-dir-install-stage3.patch"
 )
 
 llvm_check_deps() {
@@ -75,7 +76,22 @@ src_configure() {
 
 src_test() {
 	cd "${BUILD_DIR}" || die
-	./zig2 build test -Dstatic-llvm=false -Denable-llvm=true -Dskip-non-native=true || die
+	local ZIG_TESTARGS=("-Dstatic-llvm=false -Denable-llvm=true -Dskip-non-native=true -Drelease -Dtarget=native")
+	./stage3/bin/zig build test-cases ${ZIG_TESTARGS[@]} || die
+	./stage3/bin/zig build test-fmt ${ZIG_TESTARGS[@]} || die
+	./stage3/bin/zig build test-behavior ${ZIG_TESTARGS[@]} || die
+	./stage3/bin/zig build test-compiler-rt ${ZIG_TESTARGS[@]} || die
+	./stage3/bin/zig build test-universal-libc ${ZIG_TESTARGS[@]} || die
+	./stage3/bin/zig build test-compare-output ${ZIG_TESTARGS[@]} || die
+	./stage3/bin/zig build test-standalone ${ZIG_TESTARGS[@]} || die
+	./stage3/bin/zig build test-c-abi ${ZIG_TESTARGS[@]} || die
+	./stage3/bin/zig build test-link ${ZIG_TESTARGS[@]} || die
+	./stage3/bin/zig build test-stack-traces ${ZIG_TESTARGS[@]} || die
+	./stage3/bin/zig build test-cli ${ZIG_TESTARGS[@]} || die
+	./stage3/bin/zig build test-asm-link ${ZIG_TESTARGS[@]} || die
+	./stage3/bin/zig build test-translate-c ${ZIG_TESTARGS[@]} || die
+	./stage3/bin/zig build test-run-translated-c ${ZIG_TESTARGS[@]} || die
+	./stage3/bin/zig build test-std ${ZIG_TESTARGS[@]} || die
 }
 
 pkg_postinst() {


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/zig/, dev-lang/zig/files/
@ 2023-03-17  9:44 Florian Schmaus
  0 siblings, 0 replies; 13+ messages in thread
From: Florian Schmaus @ 2023-03-17  9:44 UTC (permalink / raw
  To: gentoo-commits

commit:     67e28ad1e4320b9ecb7b4f1925cd328252bd2a65
Author:     Eric Joldasov <bratishkaerik <AT> getgoogleoff <DOT> me>
AuthorDate: Thu Mar 16 15:03:10 2023 +0000
Commit:     Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Fri Mar 17 09:44:24 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=67e28ad1

dev-lang/zig: drop 0.10.0-r1, 0.10.1

Signed-off-by: Eric Joldasov <bratishkaerik <AT> getgoogleoff.me>
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>

 dev-lang/zig/Manifest                              |   1 -
 .../zig/files/zig-0.10.0-avoid-cmake-bug.patch     |  63 -------------
 dev-lang/zig/zig-0.10.0-r1.ebuild                  | 101 ---------------------
 dev-lang/zig/zig-0.10.1.ebuild                     |  99 --------------------
 4 files changed, 264 deletions(-)

diff --git a/dev-lang/zig/Manifest b/dev-lang/zig/Manifest
index 22f469292044..529aa0c2bc35 100644
--- a/dev-lang/zig/Manifest
+++ b/dev-lang/zig/Manifest
@@ -1,2 +1 @@
-DIST zig-0.10.0.tar.xz 14530912 BLAKE2B 5949a44ee039b7d5a163344a0fc26af8dd9cf311ed25c7092a665bb59ec7dec8dc3cd39918d81ef02c707aa8989b038fb21dfba3927fd31153a1404739b4ea3c SHA512 9d83ce51cc0ce404c06da820179c1cc47aa50e573fb1c831a96baa12c6b5226abe85b384110f2ffc4cbdc5f24eaba1f14a4e3249ffeaa248c0d73ba29859e682
 DIST zig-0.10.1.tar.xz 15143112 BLAKE2B 4954d95ad763000eedf73a78e62bc0e99d65bba91c7127cdf1ea4503eb67817265daf572f645b7efbe9e24087e690b2768f0b2bc6c43b5fd76eab33143e964fe SHA512 d443adf61556bc95470537c6b0371a0ac99d19a06b15635cf1e5055ae7849039680c9006105e06e1bd6ba0fc12da14c54c1d28ac597c7dee17ee3a5cd9cf79f8

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
deleted file mode 100644
index bfc8ac3fde7f..000000000000
--- a/dev-lang/zig/files/zig-0.10.0-avoid-cmake-bug.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-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 <bratishkaerik@getgoogleoff.me>
-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-r1.ebuild b/dev-lang/zig/zig-0.10.0-r1.ebuild
deleted file mode 100644
index 4d9a45ee5fb0..000000000000
--- a/dev-lang/zig/zig-0.10.0-r1.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_MAX_SLOT=15
-inherit edo cmake llvm check-reqs
-
-DESCRIPTION="A robust, optimal, and maintainable programming language"
-HOMEPAGE="https://ziglang.org/"
-if [[ ${PV} == 9999 ]]; then
-	EGIT_REPO_URI="https://github.com/ziglang/zig.git"
-	inherit git-r3
-else
-	SRC_URI="https://ziglang.org/download/${PV}/${P}.tar.xz"
-	KEYWORDS="~amd64 ~arm ~arm64"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-
-BUILD_DIR="${S}/build"
-
-# Zig requires zstd and zlib compression support in LLVM, if using LLVM backend.
-# (non-LLVM backends don't require these)
-# They are not required "on their own", so please don't add them here.
-# You can check https://github.com/ziglang/zig-bootstrap in future, to see
-# options that are passed to LLVM CMake building (excluding "static" ofc).
-DEPEND="
-	sys-devel/clang:${LLVM_MAX_SLOT}=
-	sys-devel/lld:${LLVM_MAX_SLOT}=
-	sys-devel/llvm:${LLVM_MAX_SLOT}=[zstd]
-"
-
-RDEPEND="
-	${DEPEND}
-	!dev-lang/zig-bin
-"
-
-# see https://github.com/ziglang/zig/issues/3382
-# For now, Zig doesn't support CFLAGS/LDFLAGS/etc.
-QA_FLAGS_IGNORED="usr/bin/zig"
-
-# see https://ziglang.org/download/0.10.0/release-notes.html#Self-Hosted-Compiler
-# 0.10.0 release - ~9.6 GiB, since we use compiler written in C++ for bootstrapping
-# 0.11.0 release - ~2.8 GiB, since we will (at least according to roadmap) use self-hosted compiler
-# (transpiled to C via C backend) for bootstrapping
-CHECKREQS_MEMORY="10G"
-
-PATCHES=(
-	"${FILESDIR}/${P}-avoid-cmake-bug.patch"
-	"${FILESDIR}/${P}-build-dir-install-stage3.patch"
-)
-
-llvm_check_deps() {
-	has_version "sys-devel/clang:${LLVM_SLOT}"
-}
-
-pkg_setup() {
-	llvm_pkg_setup
-	ewarn "This version requires 10G of memory for building compiler."
-	ewarn "If you don't have enough memory, you can wait until 0.11.0 release"
-	ewarn "or (if you are risky) use 9999 version (currently requires only 4GB)"
-	check-reqs_pkg_setup
-}
-
-src_configure() {
-	local mycmakeargs=(
-		-DZIG_USE_CCACHE=OFF
-		-DZIG_SHARED_LLVM=ON
-		-DCMAKE_PREFIX_PATH=$(get_llvm_prefix ${LLVM_MAX_SLOT})
-	)
-
-	cmake_src_configure
-}
-
-src_test() {
-	cd "${BUILD_DIR}" || die
-	local ZIG_TEST_ARGS="-Dstatic-llvm=false -Denable-llvm=true -Dskip-non-native=true -Drelease -Dtarget=native"
-	local ZIG_TEST_STEPS=(
-		test-cases test-fmt test-behavior test-compiler-rt test-universal-libc test-compare-output
-		test-standalone test-c-abi test-link test-stack-traces test-cli test-asm-link test-translate-c
-		test-run-translated-c test-std
-	)
-
-	local step
-	for step in "${ZIG_TEST_STEPS[@]}" ; do
-		edob ./stage3/bin/zig build ${step} ${ZIG_TEST_ARGS}
-	done
-}
-
-pkg_postinst() {
-	elog "0.10.0 release introduces self-hosted compiler for general use by default"
-	elog "It means that your code can be un-compilable since this compiler has some new or removed features and new or fixed bugs"
-	elog "Upstream recommends:"
-	elog " * Using old compiler if experiencing such breakage (flag '-fstage1')"
-	elog " * Waiting for bugfix release 0.10.1"
-	elog " * Waiting for release 0.11.0 with old compiler removed (these changes are already merged in 9999)"
-	elog "Also see: https://ziglang.org/download/0.10.0/release-notes.html#Self-Hosted-Compiler"
-	elog "and https://ziglang.org/download/0.10.0/release-notes.html#How-to-Upgrade"
-}

diff --git a/dev-lang/zig/zig-0.10.1.ebuild b/dev-lang/zig/zig-0.10.1.ebuild
deleted file mode 100644
index b5ed03b123f1..000000000000
--- a/dev-lang/zig/zig-0.10.1.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_MAX_SLOT=15
-inherit edo cmake llvm check-reqs
-
-DESCRIPTION="A robust, optimal, and maintainable programming language"
-HOMEPAGE="https://ziglang.org/"
-if [[ ${PV} == 9999 ]]; then
-	EGIT_REPO_URI="https://github.com/ziglang/zig.git"
-	inherit git-r3
-else
-	SRC_URI="https://ziglang.org/download/${PV}/${P}.tar.xz"
-	KEYWORDS="~amd64 ~arm ~arm64"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-
-BUILD_DIR="${S}/build"
-
-# Zig requires zstd and zlib compression support in LLVM, if using LLVM backend.
-# (non-LLVM backends don't require these)
-# They are not required "on their own", so please don't add them here.
-# You can check https://github.com/ziglang/zig-bootstrap in future, to see
-# options that are passed to LLVM CMake building (excluding "static" ofc).
-DEPEND="
-	sys-devel/clang:${LLVM_MAX_SLOT}=
-	sys-devel/lld:${LLVM_MAX_SLOT}=
-	sys-devel/llvm:${LLVM_MAX_SLOT}=[zstd]
-"
-
-RDEPEND="
-	${DEPEND}
-	!dev-lang/zig-bin
-"
-
-# see https://github.com/ziglang/zig/issues/3382
-# For now, Zig doesn't support CFLAGS/LDFLAGS/etc.
-QA_FLAGS_IGNORED="usr/bin/zig"
-
-# see https://ziglang.org/download/0.10.0/release-notes.html#Self-Hosted-Compiler
-# 0.10.0 release - ~9.6 GiB, since we use compiler written in C++ for bootstrapping
-# 0.11.0 release - ~2.8 GiB, since we will (at least according to roadmap) use self-hosted compiler
-# (transpiled to C via C backend) for bootstrapping
-CHECKREQS_MEMORY="10G"
-
-PATCHES=(
-	"${FILESDIR}/zig-0.10.0-build-dir-install-stage3.patch"
-)
-
-llvm_check_deps() {
-	has_version "sys-devel/clang:${LLVM_SLOT}"
-}
-
-pkg_setup() {
-	llvm_pkg_setup
-	ewarn "This version requires 10G of memory for building compiler."
-	ewarn "If you don't have enough memory, you can wait until 0.11.0 release"
-	ewarn "or (if you are risky) use 9999 version (currently requires only 4GB)"
-	check-reqs_pkg_setup
-}
-
-src_configure() {
-	local mycmakeargs=(
-		-DZIG_USE_CCACHE=OFF
-		-DZIG_SHARED_LLVM=ON
-		-DCMAKE_PREFIX_PATH=$(get_llvm_prefix ${LLVM_MAX_SLOT})
-	)
-
-	cmake_src_configure
-}
-
-src_test() {
-	cd "${BUILD_DIR}" || die
-	local ZIG_TEST_ARGS="-Dstatic-llvm=false -Denable-llvm=true -Dskip-non-native=true -Drelease -Dtarget=native"
-	local ZIG_TEST_STEPS=(
-		test-cases test-fmt test-behavior test-compiler-rt test-universal-libc test-compare-output
-		test-standalone test-c-abi test-link test-stack-traces test-cli test-asm-link test-translate-c
-		test-run-translated-c test-std
-	)
-
-	local step
-	for step in "${ZIG_TEST_STEPS[@]}" ; do
-		edob ./stage3/bin/zig build ${step} ${ZIG_TEST_ARGS}
-	done
-}
-
-pkg_postinst() {
-	elog "0.10.1 release uses self-hosted compiler by default and fixes some bugs from 0.10.0"
-	elog "But your code still can be un-compilable since some features still not implemented or bugs not fixed"
-	elog "Upstream recommends:"
-	elog " * Using old compiler if experiencing such breakage (flag '-fstage1')"
-	elog " * Waiting for release 0.11.0 with old compiler removed (these changes are already merged in 9999)"
-	elog "Also see: https://ziglang.org/download/0.10.0/release-notes.html#Self-Hosted-Compiler"
-	elog "and https://ziglang.org/download/0.10.0/release-notes.html#How-to-Upgrade"
-}


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/zig/, dev-lang/zig/files/
@ 2024-08-07  3:16 Sam James
  0 siblings, 0 replies; 13+ messages in thread
From: Sam James @ 2024-08-07  3:16 UTC (permalink / raw
  To: gentoo-commits

commit:     2cd85ecfc76344ae70181a0e2aabd5534098202e
Author:     Aliaksei Urbanski <aliaksei.urbanski <AT> gmail <DOT> com>
AuthorDate: Fri Jun 28 00:33:32 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Aug  7 03:15:20 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2cd85ecf

dev-lang/zig: add 0.13.0

Release:
  - https://ziglang.org/download/0.13.0/release-notes.html
  - https://github.com/ziglang/zig/releases/tag/0.13.0

Closes: https://bugs.gentoo.org/933854
Co-authored-by: Jean-Baptiste "Jiboo" Lepesme <lepesme.jb <AT> gmail.com>
Signed-off-by: Aliaksei Urbanski <aliaksei.urbanski <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-lang/zig/Manifest                              |   2 +
 .../zig/files/zig-0.13.0-test-fmt-no-doc.patch     |  17 ++
 .../files/zig-0.13.0-test-std-kernel-version.patch |  28 +++
 dev-lang/zig/zig-0.13.0.ebuild                     | 213 +++++++++++++++++++++
 4 files changed, 260 insertions(+)

diff --git a/dev-lang/zig/Manifest b/dev-lang/zig/Manifest
index 59c8c3e88aaa..538062fe0caf 100644
--- a/dev-lang/zig/Manifest
+++ b/dev-lang/zig/Manifest
@@ -2,3 +2,5 @@ DIST zig-0.11.0.tar.xz 15275316 BLAKE2B 603e4995a36d214ba71cf05b719a04732c892799
 DIST zig-0.11.0.tar.xz.minisig 312 BLAKE2B 8df407f07dde36280c945300fd8b803e6e59c026eb7a3eb56e6d2f4fe1047672e17946a3bbe23ccfe9be07b65331e17690e95fd348353be22f7b6d9b73b3f9ca SHA512 565dd1eacb7dd697e6b1ff54517adc1e4775d2523afaeb4f9a3dd404df871b187862211ecbbcf90b42e3a03853677fc1603e7fc8fc5ba7126a054679faa601ca
 DIST zig-0.12.0.tar.xz 17099152 BLAKE2B 2a1248302868156c4ddcb154d075af29886a95a4c29de02ff0981e76a85f5d4109dd5c38f95c2c16f5c942bab7d120ae068c1e122ab8ad421c0213b7e996956c SHA512 0c3d9396fea4905245c7e32ce6bd9b4ff140f061cd8a957929e4c84cf105f5bbcbf2e7c030013ac649edb569e909f65d928b3e8a86f35c9076fb62e996feea14
 DIST zig-0.12.0.tar.xz.minisig 312 BLAKE2B 4b3d1ae45d3b6d81054a39255c0892d9376d05da9ff1076bcf740310c9650b0154ddc39f19caee9dae293719d58a63764e43b694b83fe7031c87ab434aa377f5 SHA512 6e14c1e1926beeb249cb88fb2247ff401f679b64785c3ec8a924e33c894174deb77b48286469a863761bce0ca57524f904995eacf544919dda387c140e6e829e
+DIST zig-0.13.0.tar.xz 17220728 BLAKE2B f4bbacc2012950c556bebc28fc322fc6424bf20fe118e8362373336b6460e514028978584087f6e7f25ed8b8e6991610edce625676a1dd80c1975c5f9ef48775 SHA512 6f5f31f4ba71a11d8b16c7a5a613e124095e503fa6b02d2b77e5b177674c739287e81d98d96dc261fed24bc836caf196f71c3fcc7a6518387df86ba9e03df4dd
+DIST zig-0.13.0.tar.xz.minisig 312 BLAKE2B 2d061257c9c75f9c36b01cfb08dcd2040538a125b9ea2cae8617ae5496e685b165933ce8981494419522b7e19b51fc69a651ecaa4a8930753acf2e4ae3d6e00f SHA512 21c6139c06cba6c5e23a3305fed0c0f1b9b32d9140bd686c26365ce0279d5f53cd081894eaba29f0c1ed51b2e831edf7bd4ae6a7eaee5018a252e312e9b65507

diff --git a/dev-lang/zig/files/zig-0.13.0-test-fmt-no-doc.patch b/dev-lang/zig/files/zig-0.13.0-test-fmt-no-doc.patch
new file mode 100644
index 000000000000..7bbda741dc6f
--- /dev/null
+++ b/dev-lang/zig/files/zig-0.13.0-test-fmt-no-doc.patch
@@ -0,0 +1,17 @@
+# Docs contain examples of badly formatted code,
+# so they should be excluded for test-fmt to pass.
+# In the upstream, the "doc" directory
+# was removed from fmt_include_paths in
+# https://github.com/ziglang/zig/commit/cb1d1bdf
+
+--- a/build.zig
++++ b/build.zig
+@@ -428,7 +428,7 @@
+     }
+     const optimization_modes = chosen_opt_modes_buf[0..chosen_mode_index];
+ 
+-    const fmt_include_paths = &.{ "doc", "lib", "src", "test", "tools", "build.zig" };
++    const fmt_include_paths = &.{ "lib", "src", "test", "tools", "build.zig" };
+     const fmt_exclude_paths = &.{"test/cases"};
+     const do_fmt = b.addFmt(.{
+         .paths = fmt_include_paths,

diff --git a/dev-lang/zig/files/zig-0.13.0-test-std-kernel-version.patch b/dev-lang/zig/files/zig-0.13.0-test-std-kernel-version.patch
new file mode 100644
index 000000000000..2d2dc22a375a
--- /dev/null
+++ b/dev-lang/zig/files/zig-0.13.0-test-std-kernel-version.patch
@@ -0,0 +1,28 @@
+# https://github.com/ziglang/zig/pull/20001
+# https://github.com/Jiboo/zig/commit/856fe4af
+
+Author: Jean-Baptiste "Jiboo" Lepesme <lepesme.jb@gmail.com>
+Date: Sun, 19 May 2024 15:02:42 +0200
+
+IoUring: fix an issue in tests where InvalidVersion might get thrown by
+skipKernelLessThan, due to some kernel versions not being SemVer compliant.
+
+diff --git a/lib/std/os/linux/IoUring.zig b/lib/std/os/linux/IoUring.zig
+index 3bf3c077fc3b..b2a4da486907 100644
+--- a/lib/std/os/linux/IoUring.zig
++++ b/lib/std/os/linux/IoUring.zig
+@@ -3883,7 +3883,13 @@ inline fn skipKernelLessThan(required: std.SemanticVersion) !void {
+     }
+ 
+     const release = mem.sliceTo(&uts.release, 0);
+-    var current = try std.SemanticVersion.parse(release);
++    // Strips potential extra, as kernel version might not be semver compliant, example "6.8.9-300.fc40.x86_64"
++    const extra_index = std.mem.indexOfAny(u8, release, "-+");
++    const stripped = release[0..(extra_index orelse release.len)];
++    // Make sure the input don't rely on the extra we just stripped
++    try testing.expect(required.pre == null and required.build == null);
++
++    var current = try std.SemanticVersion.parse(stripped);
+     current.pre = null; // don't check pre field
+     if (required.order(current) == .gt) return error.SkipZigTest;
+ }

diff --git a/dev-lang/zig/zig-0.13.0.ebuild b/dev-lang/zig/zig-0.13.0.ebuild
new file mode 100644
index 000000000000..e55bb8ee700e
--- /dev/null
+++ b/dev-lang/zig/zig-0.13.0.ebuild
@@ -0,0 +1,213 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_MAX_SLOT=18
+inherit edo check-reqs cmake llvm multiprocessing toolchain-funcs
+
+DESCRIPTION="A robust, optimal, and maintainable programming language"
+HOMEPAGE="https://ziglang.org https://github.com/ziglang/zig"
+
+BDEPEND="test? ( !!<sys-apps/sandbox-2.39 )"
+if [[ ${PV} == 9999 ]]; then
+	EGIT_REPO_URI="https://github.com/ziglang/zig.git"
+	inherit git-r3
+else
+	VERIFY_SIG_METHOD=minisig
+	VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/minisig-keys/zig-software-foundation.pub
+	inherit verify-sig
+
+	SRC_URI="
+		https://ziglang.org/download/${PV}/${P}.tar.xz
+		verify-sig? ( https://ziglang.org/download/${PV}/${P}.tar.xz.minisig )
+	"
+	KEYWORDS="~amd64 ~arm ~arm64"
+
+	BDEPEND+=" verify-sig? ( sec-keys/minisig-keys-zig-software-foundation )"
+fi
+
+# project itself: MIT
+# There are bunch of projects under "lib/" folder that are needed for cross-compilation.
+# Files that are unnecessary for cross-compilation are removed by upstream
+# and therefore their licenses (if any special) are not included.
+# lib/libunwind: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )
+# lib/libcxxabi: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )
+# lib/libcxx: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )
+# lib/libc/wasi: || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain
+# lib/libc/musl: MIT BSD-2
+# lib/libc/mingw: ZPL public-domain BSD-2 ISC HPND
+# lib/libc/glibc: BSD HPND ISC inner-net LGPL-2.1+
+LICENSE="MIT Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain BSD-2 ZPL ISC HPND BSD inner-net LGPL-2.1+"
+SLOT="$(ver_cut 1-2)"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+BUILD_DIR="${S}/build"
+
+# Zig requires zstd and zlib compression support in LLVM, if using LLVM backend.
+# (non-LLVM backends don't require these)
+# They are not required "on their own", so please don't add them here.
+# You can check https://github.com/ziglang/zig-bootstrap in future, to see
+# options that are passed to LLVM CMake building (excluding "static" ofc).
+DEPEND="
+	sys-devel/clang:${LLVM_MAX_SLOT}=
+	sys-devel/lld:${LLVM_MAX_SLOT}=
+	sys-devel/llvm:${LLVM_MAX_SLOT}=[zstd]
+"
+
+RDEPEND="
+	${DEPEND}
+"
+
+IDEPEND="app-eselect/eselect-zig"
+
+# see https://github.com/ziglang/zig/issues/3382
+# For now, Zig Build System doesn't support enviromental CFLAGS/LDFLAGS/etc.
+QA_FLAGS_IGNORED="usr/.*/zig/${PV}/bin/zig"
+
+# Since commit https://github.com/ziglang/zig/commit/e7d28344fa3ee81d6ad7ca5ce1f83d50d8502118
+# Zig uses self-hosted compiler only
+CHECKREQS_MEMORY="4G"
+
+PATCHES=(
+	"${FILESDIR}/${P}-test-fmt-no-doc.patch"
+	"${FILESDIR}/${P}-test-std-kernel-version.patch"
+)
+
+llvm_check_deps() {
+	has_version "sys-devel/clang:${LLVM_SLOT}"
+}
+
+ctarget_to_zigtarget() {
+	# Zig's Target Format: arch-os-abi
+	local CTARGET="${CTARGET:-${CHOST}}"
+
+	local ZIG_ARCH
+	case "${CTARGET%%-*}" in
+		i?86)		ZIG_ARCH=x86;;
+		sparcv9)	ZIG_ARCH=sparc64;;
+		*)		ZIG_ARCH="${CTARGET%%-*}";; # Same as in CHOST
+	esac
+
+	local ZIG_OS
+	case "${CTARGET}" in
+		*linux*)	ZIG_OS=linux;;
+		*apple*)	ZIG_OS=macos;;
+	esac
+
+	local ZIG_ABI
+	case "${CTARGET##*-}" in
+		gnu)		ZIG_ABI=gnu;;
+		solaris*)	ZIG_OS=solaris ZIG_ABI=none;;
+		darwin*)	ZIG_ABI=none;;
+		*)		ZIG_ABI="${CTARGET##*-}";; # Same as in CHOST
+	esac
+
+	echo "${ZIG_ARCH}-${ZIG_OS}-${ZIG_ABI}"
+}
+
+get_zig_mcpu() {
+	local ZIG_DEFAULT_MCPU=native
+	tc-is-cross-compiler && ZIG_DEFAULT_MCPU=baseline
+	echo "${ZIG_MCPU:-${ZIG_DEFAULT_MCPU}}"
+}
+
+get_zig_target() {
+	local ZIG_DEFAULT_TARGET=native
+	tc-is-cross-compiler && ZIG_DEFAULT_TARGET="$(ctarget_to_zigtarget)"
+	echo "${ZIG_TARGET:-${ZIG_DEFAULT_TARGET}}"
+}
+
+pkg_setup() {
+	llvm_pkg_setup
+	check-reqs_pkg_setup
+}
+
+src_configure() {
+	# Useful for debugging and a little bit more deterministic.
+	export ZIG_LOCAL_CACHE_DIR="${T}/zig-local-cache"
+	export ZIG_GLOBAL_CACHE_DIR="${T}/zig-global-cache"
+
+	local mycmakeargs=(
+		-DZIG_SHARED_LLVM=ON
+		-DZIG_TARGET_TRIPLE="$(get_zig_target)"
+		-DZIG_TARGET_MCPU="$(get_zig_mcpu)"
+		-DZIG_USE_LLVM_CONFIG=ON
+		-DCMAKE_PREFIX_PATH="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
+		-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/$(get_libdir)/zig/${PV}"
+	)
+
+	cmake_src_configure
+}
+
+src_compile() {
+	cmake_src_compile
+
+	"${BUILD_DIR}/stage3/bin/zig" env || die "Zig compilation failed"
+
+	if use doc; then
+		cd "${BUILD_DIR}" || die
+		edo ./stage3/bin/zig build std-docs --prefix "${S}/docgen/"
+		edo ./stage3/bin/zig build langref --prefix "${S}/docgen/"
+	fi
+}
+
+src_test() {
+	cd "${BUILD_DIR}" || die
+	local ZIG_TEST_ARGS=(
+		-j$(makeopts_jobs)
+		--color on
+		--summary all
+		--verbose
+		-Dstatic-llvm=false
+		-Denable-llvm
+		-Dskip-non-native
+		-Doptimize=Debug
+		-Dtarget="$(get_zig_target)"
+		-Dcpu="$(get_zig_mcpu)"
+	)
+	local ZIG_TEST_STEPS=(
+		test-asm-link
+		test-behavior
+		test-c-abi
+		test-c-import
+		test-cases
+		test-cli
+		test-compare-output
+		test-compiler-rt
+		test-fmt
+		test-link
+		test-run-translated-c
+		test-stack-traces
+		test-standalone
+		test-std
+		test-translate-c
+		test-universal-libc
+	)
+
+	local step
+	for step in "${ZIG_TEST_STEPS[@]}" ; do
+		# to keep the verbosity, don't use edob here
+		./stage3/bin/zig build ${step} ${ZIG_TEST_ARGS[@]} || die
+	done
+}
+
+src_install() {
+	use doc && local HTML_DOCS=( "docgen/doc/langref.html" "docgen/doc/std" )
+	cmake_src_install
+
+	cd "${ED}/usr/$(get_libdir)/zig/${PV}/" || die
+	mv lib/zig/ lib2/ || die
+	rm -rf lib/ || die
+	mv lib2/ lib/ || die
+	dosym -r "/usr/$(get_libdir)/zig/${PV}/bin/zig" "/usr/bin/zig-${PV}"
+}
+
+pkg_postinst() {
+	eselect zig update ifunset || die
+}
+
+pkg_postrm() {
+	eselect zig update ifunset || die
+}


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/zig/, dev-lang/zig/files/
@ 2024-12-15  9:47 Sam James
  0 siblings, 0 replies; 13+ messages in thread
From: Sam James @ 2024-12-15  9:47 UTC (permalink / raw
  To: gentoo-commits

commit:     082d8d82085f74a30fdeb4f1ef5a02fd13189cd1
Author:     Eric Joldasov <bratishkaerik <AT> getgoogleoff <DOT> me>
AuthorDate: Fri Jun  7 13:39:46 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Dec 15 09:47:05 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=082d8d82

dev-lang/zig: add 0.13.0-r2

* Update to use llvm-r1 eclass instead of llvm, zig and
  zig-utils eclasses instead of local get_zig_mcpu etc. functions.
* Port "llvm USE-flag" from 9999 ebuild.
* "stage3" compilation is unified by combining build.zig options,
  now both cmake (+llvm) and bootstrap.c (-llvm) build up to "zig2"
  target, after that we use zig.eclass with common options.
* Before migrating to the zig.eclass, test steps in src_test
  have been ran sequentially in for-loop, which allowed logic inside
  each step to ran parallelly but not several steps at a time. Now we
  use upstream "test" step instead of separately calling all dependant
  steps, so that build system can now ran all of them paralelly.
  This means time spent in `src_test` is now significantly shorter.
* "zig2" in both scenarios now has explicit target which is set by
  using zig-utils.eclass functions on a CBUILD/CHOST. This allows us
  to skip convertion logic in CMake and bootstrap.c, so that instead
  of patching them we can just update converter in zig-utils.eclass
  and unify target behaviour.
* Disable autodocs generation for "std" module, since it can now
  be generated on-fly with `zig std` command.

Signed-off-by: Eric Joldasov <bratishkaerik <AT> landless-city.net>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../zig-0.13.0-skip-test-stack_iterator.patch      |  32 +++
 dev-lang/zig/zig-0.13.0-r2.ebuild                  | 248 +++++++++++++++++++++
 2 files changed, 280 insertions(+)

diff --git a/dev-lang/zig/files/zig-0.13.0-skip-test-stack_iterator.patch b/dev-lang/zig/files/zig-0.13.0-skip-test-stack_iterator.patch
new file mode 100644
index 000000000000..e088af2102ed
--- /dev/null
+++ b/dev-lang/zig/files/zig-0.13.0-skip-test-stack_iterator.patch
@@ -0,0 +1,32 @@
+From: Eric Joldasov <bratishkaerik@landless-city.net>
+
+Skip standalone test "stack_iterator" that fail on Gentoo Linux x86_64.
+Fails in ReleaseSafe, ReleaseFast and ReleaseSmall, but not in Debug.
+Reported to upstream here https://github.com/ziglang/zig/issues/19944 .
+
+Signed-off-by: Eric Joldasov <bratishkaerik@landless-city.net>
+
+diff --git a/test/standalone/stack_iterator/shared_lib_unwind.zig b/test/standalone/stack_iterator/shared_lib_unwind.zig
+index 57513a49c6..75fddb04c9 100644
+--- a/test/standalone/stack_iterator/shared_lib_unwind.zig
++++ b/test/standalone/stack_iterator/shared_lib_unwind.zig
+@@ -35,6 +35,7 @@ extern fn frame0(
+ ) void;
+
+ pub fn main() !void {
++    if (true) return;
+     // Disabled until the DWARF unwinder bugs on .aarch64 are solved
+     if (builtin.omit_frame_pointer and comptime builtin.target.isDarwin() and builtin.cpu.arch == .aarch64) return;
+
+diff --git a/test/standalone/stack_iterator/unwind.zig b/test/standalone/stack_iterator/unwind.zig
+index 69c463a0c1..40963af63d 100644
+--- a/test/standalone/stack_iterator/unwind.zig
++++ b/test/standalone/stack_iterator/unwind.zig
+@@ -87,6 +87,7 @@ noinline fn frame0(expected: *[4]usize, unwound: *[4]usize) void {
+ }
+
+ pub fn main() !void {
++    if (true) return;
+     // Disabled until the DWARF unwinder bugs on .aarch64 are solved
+     if (builtin.omit_frame_pointer and comptime builtin.target.isDarwin() and builtin.cpu.arch == .aarch64) return;
+

diff --git a/dev-lang/zig/zig-0.13.0-r2.ebuild b/dev-lang/zig/zig-0.13.0-r2.ebuild
new file mode 100644
index 000000000000..b970092ce4e4
--- /dev/null
+++ b/dev-lang/zig/zig-0.13.0-r2.ebuild
@@ -0,0 +1,248 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( 18 )
+LLVM_OPTIONAL=1
+
+ZIG_SLOT="$(ver_cut 1-2)"
+ZIG_OPTIONAL=1
+
+inherit check-reqs cmake flag-o-matic edo llvm-r1 toolchain-funcs zig
+
+DESCRIPTION="A robust, optimal, and maintainable programming language"
+HOMEPAGE="https://ziglang.org/ https://github.com/ziglang/zig/"
+if [[ ${PV} == 9999 ]]; then
+	EGIT_REPO_URI="https://github.com/ziglang/zig.git"
+	inherit git-r3
+else
+	VERIFY_SIG_METHOD=minisig
+	VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/minisig-keys/zig-software-foundation.pub
+	inherit verify-sig
+
+	SRC_URI="
+		https://ziglang.org/download/${PV}/${P}.tar.xz
+		verify-sig? ( https://ziglang.org/download/${PV}/${P}.tar.xz.minisig )
+		https://codeberg.org/BratishkaErik/distfiles/releases/download/dev-lang%2Fzig-${PV}/${P}-llvm-18.1.8-r6-fix.patch
+	"
+	KEYWORDS="~amd64 ~arm ~arm64"
+
+	BDEPEND="verify-sig? ( sec-keys/minisig-keys-zig-software-foundation )"
+fi
+
+# project itself: MIT
+# There are bunch of projects under "lib/" folder that are needed for cross-compilation.
+# Files that are unnecessary for cross-compilation are removed by upstream
+# and therefore their licenses (if any special) are not included.
+# lib/libunwind: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )
+# lib/libcxxabi: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )
+# lib/libcxx: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )
+# lib/libc/wasi: || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain
+# lib/libc/musl: MIT BSD-2
+# lib/libc/mingw: ZPL public-domain BSD-2 ISC HPND
+# lib/libc/glibc: BSD HPND ISC inner-net LGPL-2.1+
+LICENSE="MIT Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain BSD-2 ZPL ISC HPND BSD inner-net LGPL-2.1+"
+SLOT="${ZIG_SLOT}"
+IUSE="doc +llvm"
+REQUIRED_USE="
+	!llvm? ( !doc )
+	llvm? ( ${LLVM_REQUIRED_USE} )
+"
+
+# Used by both "cmake" and "zig" eclasses.
+BUILD_DIR="${WORKDIR}/${P}_build"
+
+# Zig requires zstd and zlib compression support in LLVM, if using LLVM backend.
+# (non-LLVM backends don't require these)
+# They are not required "on their own", so please don't add them here.
+# You can check https://github.com/ziglang/zig-bootstrap in future, to see
+# options that are passed to LLVM CMake building (excluding "static" ofc).
+DEPEND="
+	llvm? (
+		$(llvm_gen_dep '
+			llvm-core/clang:${LLVM_SLOT}
+			llvm-core/lld:${LLVM_SLOT}
+			llvm-core/llvm:${LLVM_SLOT}[zstd]
+		')
+	)
+"
+BDEPEND+="
+	${DEPEND}
+"
+RDEPEND="${DEPEND}"
+IDEPEND="app-eselect/eselect-zig"
+
+DOCS=( "README.md" "doc/build.zig.zon.md" )
+
+PATCHES=(
+	"${FILESDIR}/zig-0.13.0-test-std-kernel-version.patch"
+	"${FILESDIR}/zig-0.13.0-skip-test-stack_iterator.patch"
+	"${DISTDIR}/${P}-llvm-18.1.8-r6-fix.patch"
+)
+
+# zig.eclass does not set this for us since we use ZIG_OPTIONAL=1
+QA_FLAGS_IGNORED="usr/.*/zig/${PV}/bin/zig"
+
+# Since commit https://github.com/ziglang/zig/commit/e7d28344fa3ee81d6ad7ca5ce1f83d50d8502118
+# Zig uses self-hosted compiler only
+CHECKREQS_MEMORY="4G"
+
+pkg_setup() {
+	# Skip detecting zig executable.
+	ZIG_EXE="not-applicable" ZIG_VER="${PV}" zig_pkg_setup
+
+	export ZIG_SYS_INSTALL_DEST="${EPREFIX}/usr/$(get_libdir)/zig/${PV}"
+
+	if use llvm; then
+		tc-is-cross-compiler && die "USE=llvm is not yet supported when cross-compiling"
+		llvm-r1_pkg_setup
+	fi
+
+	check-reqs_pkg_setup
+}
+
+src_unpack() {
+	if [[ ${PV} == 9999 ]]; then
+		git-r3_src_unpack
+	else
+		if use verify-sig; then
+			verify-sig_verify_detached "${DISTDIR}"/${P}.tar.xz{,.minisig}
+		fi
+	fi
+	zig_src_unpack
+}
+
+src_prepare() {
+	if use llvm; then
+		cmake_src_prepare
+	else
+		# Sync with zig_src_prepare
+		default_src_prepare
+		mkdir -p "${BUILD_DIR}" || die
+		einfo "BUILD_DIR: \"${BUILD_DIR}\""
+		# "--system" mode is not used during bootstrap.
+	fi
+
+	# Remove "limit memory usage" flags, it's already verified by
+	# CHECKREQS_MEMORY and causes unneccessary errors. Upstream set them
+	# according to CI OOM failures, which are not applicable to normal Gentoo build.
+	sed -i -e '/\.max_rss = .*,/d' build.zig || die
+}
+
+src_configure() {
+	# Has no effect on final binary and only causes failures during bootstrapping.
+	filter-lto
+
+	# Used during bootstrapping. stage1/stage2 have limited functionality
+	# and can't resolve native target, so we pass target in exact form.
+	declare -r -g ZIG_HOST_AS_TARGET="$(zig-utils_c_env_to_zig_target "${CBUILD:-${CHOST}}" "${CFLAGS}"})"
+
+	# Note that if we are building with CMake, "my_zbs_args"
+	# are used only after compiling zig2.
+	local my_zbs_args=(
+		--zig-lib-dir "${S}/lib/"
+		# Will be a subdir under ZIG_SYS_INSTALL_DEST.
+		--prefix-lib-dir lib/
+
+		# These are built separately
+		-Dno-langref
+		-Dstd-docs=false
+
+		--release=fast
+	)
+	if use llvm; then
+		my_zbs_args+=(
+			-Denable-llvm=true
+			-Dstatic-llvm=false
+			-Dconfig_h="${BUILD_DIR}/config.h"
+		)
+	else
+		my_zbs_args+=(
+			-Denable-llvm=false
+		)
+	fi
+
+	zig_src_configure
+
+	if use llvm; then
+		# Build for native only, it's for zig2 (build-time executable)
+		# LLVM from BDEPEND
+		local mycmakeargs=(
+			-DZIG_SHARED_LLVM=ON
+			-DZIG_USE_LLVM_CONFIG=ON
+
+			-DZIG_TARGET_TRIPLE=native
+			-DZIG_TARGET_MCPU=native
+			-DZIG_HOST_TARGET_TRIPLE="${ZIG_HOST_AS_TARGET}"
+
+			-DCMAKE_PREFIX_PATH="$(get_llvm_prefix -b)"
+			-DCMAKE_INSTALL_PREFIX="${ZIG_SYS_INSTALL_DEST}"
+		)
+
+		cmake_src_configure
+	fi
+}
+
+src_compile() {
+	if use llvm; then
+		cmake_build zig2
+	else
+		cd "${BUILD_DIR}" || die
+		ln -s "${S}/stage1/" . || die
+		ln -s "${S}/src/" . || die
+		ln -s "${S}/lib/" . || die
+
+		local native_cc="$(tc-getBUILD_CC)"
+		"${native_cc}" -o bootstrap "${S}/bootstrap.c" || die "Zig's bootstrap.c compilation failed"
+		ZIG_HOST_TARGET_TRIPLE="${ZIG_HOST_AS_TARGET}" CC="${native_cc}" edo ./bootstrap
+	fi
+
+	cd "${BUILD_DIR}" || die
+	ZIG_EXE="./zig2" zig_src_compile --prefix "${BUILD_DIR}/stage3/"
+
+	./stage3/bin/zig env || die "Zig compilation failed"
+
+	if use doc; then
+		ZIG_EXE="./stage3/bin/zig" zig_src_compile langref --prefix "${S}/docgen/"
+	fi
+}
+
+src_test() {
+	cd "${BUILD_DIR}" || die
+	ZIG_EXE="./stage3/bin/zig" zig_src_test -Dskip-non-native
+}
+
+src_install() {
+	use doc && local HTML_DOCS=( "docgen/doc/langref.html" )
+
+	ZIG_EXE="./zig2" zig_src_install --prefix "${ZIG_SYS_INSTALL_DEST}"
+
+	cd "${D}/${ZIG_SYS_INSTALL_DEST}" || die
+	mv lib/zig/ lib2/ || die
+	rm -rf lib/ || die
+	mv lib2/ lib/ || die
+	dosym -r "${ZIG_SYS_INSTALL_DEST}/bin/zig" /usr/bin/zig-${PV}
+}
+
+pkg_postinst() {
+	eselect zig update ifunset || die
+
+	elog "Starting from 0.12.0, Zig no longer installs"
+	elog "precompiled standard library documentation."
+	elog "Instead, you can call \`zig std\` to compile it on-the-fly."
+	elog "It reflects all edits in standard library automatically."
+	elog "See \`zig std --help\` for more information."
+	elog "More details here: https://ziglang.org/download/0.12.0/release-notes.html#Redesign-How-Autodoc-Works"
+
+	if ! use llvm; then
+		elog "Currently, Zig built without LLVM support lacks some"
+		elog "important features such as most optimizations, @cImport, etc."
+		elog "They are listed under \"Building from Source without LLVM\""
+		elog "section of the README file from \"/usr/share/doc/${PF}\" ."
+	fi
+}
+
+pkg_postrm() {
+	eselect zig update ifunset || die
+}


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/zig/, dev-lang/zig/files/
@ 2025-02-16 16:29 Sam James
  0 siblings, 0 replies; 13+ messages in thread
From: Sam James @ 2025-02-16 16:29 UTC (permalink / raw
  To: gentoo-commits

commit:     7cdd301e55b3bf954e95b9c49ba830b3164df22e
Author:     Eric Joldasov <bratishkaerik <AT> landless-city <DOT> net>
AuthorDate: Sun Jan 19 20:09:39 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Feb 16 16:28:10 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7cdd301e

dev-lang/zig: drop 0.13.0-r1

Signed-off-by: Eric Joldasov <bratishkaerik <AT> landless-city.net>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../zig/files/zig-0.13.0-test-fmt-no-doc.patch     |  17 --
 dev-lang/zig/zig-0.13.0-r1.ebuild                  | 227 ---------------------
 2 files changed, 244 deletions(-)

diff --git a/dev-lang/zig/files/zig-0.13.0-test-fmt-no-doc.patch b/dev-lang/zig/files/zig-0.13.0-test-fmt-no-doc.patch
deleted file mode 100644
index 7bbda741dc6f..000000000000
--- a/dev-lang/zig/files/zig-0.13.0-test-fmt-no-doc.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-# Docs contain examples of badly formatted code,
-# so they should be excluded for test-fmt to pass.
-# In the upstream, the "doc" directory
-# was removed from fmt_include_paths in
-# https://github.com/ziglang/zig/commit/cb1d1bdf
-
---- a/build.zig
-+++ b/build.zig
-@@ -428,7 +428,7 @@
-     }
-     const optimization_modes = chosen_opt_modes_buf[0..chosen_mode_index];
- 
--    const fmt_include_paths = &.{ "doc", "lib", "src", "test", "tools", "build.zig" };
-+    const fmt_include_paths = &.{ "lib", "src", "test", "tools", "build.zig" };
-     const fmt_exclude_paths = &.{"test/cases"};
-     const do_fmt = b.addFmt(.{
-         .paths = fmt_include_paths,

diff --git a/dev-lang/zig/zig-0.13.0-r1.ebuild b/dev-lang/zig/zig-0.13.0-r1.ebuild
deleted file mode 100644
index 867fa84f3b19..000000000000
--- a/dev-lang/zig/zig-0.13.0-r1.ebuild
+++ /dev/null
@@ -1,227 +0,0 @@
-# Copyright 2019-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_MAX_SLOT=18
-inherit edo check-reqs cmake llvm multiprocessing toolchain-funcs
-
-DESCRIPTION="A robust, optimal, and maintainable programming language"
-HOMEPAGE="https://ziglang.org https://github.com/ziglang/zig"
-
-BDEPEND="test? ( !!<sys-apps/sandbox-2.39 )"
-if [[ ${PV} == 9999 ]]; then
-	EGIT_REPO_URI="https://github.com/ziglang/zig.git"
-	inherit git-r3
-else
-	VERIFY_SIG_METHOD=minisig
-	VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/minisig-keys/zig-software-foundation.pub
-	inherit verify-sig
-
-	SRC_URI="
-		https://ziglang.org/download/${PV}/${P}.tar.xz
-		verify-sig? ( https://ziglang.org/download/${PV}/${P}.tar.xz.minisig )
-		https://codeberg.org/BratishkaErik/distfiles/releases/download/dev-lang%2Fzig-${PV}/${P}-llvm-18.1.8-r6-fix.patch
-	"
-	KEYWORDS="~amd64 ~arm ~arm64"
-
-	BDEPEND+=" verify-sig? ( sec-keys/minisig-keys-zig-software-foundation )"
-fi
-
-# project itself: MIT
-# There are bunch of projects under "lib/" folder that are needed for cross-compilation.
-# Files that are unnecessary for cross-compilation are removed by upstream
-# and therefore their licenses (if any special) are not included.
-# lib/libunwind: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )
-# lib/libcxxabi: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )
-# lib/libcxx: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )
-# lib/libc/wasi: || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain
-# lib/libc/musl: MIT BSD-2
-# lib/libc/mingw: ZPL public-domain BSD-2 ISC HPND
-# lib/libc/glibc: BSD HPND ISC inner-net LGPL-2.1+
-LICENSE="MIT Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain BSD-2 ZPL ISC HPND BSD inner-net LGPL-2.1+"
-SLOT="$(ver_cut 1-2)"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-BUILD_DIR="${S}/build"
-
-# Zig requires zstd and zlib compression support in LLVM, if using LLVM backend.
-# (non-LLVM backends don't require these)
-# They are not required "on their own", so please don't add them here.
-# You can check https://github.com/ziglang/zig-bootstrap in future, to see
-# options that are passed to LLVM CMake building (excluding "static" ofc).
-DEPEND="
-	llvm-core/clang:${LLVM_MAX_SLOT}=
-	llvm-core/lld:${LLVM_MAX_SLOT}=
-	llvm-core/llvm:${LLVM_MAX_SLOT}=[zstd]
-"
-
-RDEPEND="
-	${DEPEND}
-"
-
-IDEPEND="app-eselect/eselect-zig"
-
-# see https://github.com/ziglang/zig/issues/3382
-# For now, Zig Build System doesn't support enviromental CFLAGS/LDFLAGS/etc.
-QA_FLAGS_IGNORED="usr/.*/zig/${PV}/bin/zig"
-
-# Since commit https://github.com/ziglang/zig/commit/e7d28344fa3ee81d6ad7ca5ce1f83d50d8502118
-# Zig uses self-hosted compiler only
-CHECKREQS_MEMORY="4G"
-
-PATCHES=(
-	"${FILESDIR}/${P}-test-fmt-no-doc.patch"
-	"${FILESDIR}/${P}-test-std-kernel-version.patch"
-	"${DISTDIR}/${P}-llvm-18.1.8-r6-fix.patch"
-)
-
-llvm_check_deps() {
-	has_version "llvm-core/clang:${LLVM_SLOT}"
-}
-
-ctarget_to_zigtarget() {
-	# Zig's Target Format: arch-os-abi
-	local CTARGET="${CTARGET:-${CHOST}}"
-
-	local ZIG_ARCH
-	case "${CTARGET%%-*}" in
-		i?86)		ZIG_ARCH=x86;;
-		sparcv9)	ZIG_ARCH=sparc64;;
-		*)		ZIG_ARCH="${CTARGET%%-*}";; # Same as in CHOST
-	esac
-
-	local ZIG_OS
-	case "${CTARGET}" in
-		*linux*)	ZIG_OS=linux;;
-		*apple*)	ZIG_OS=macos;;
-	esac
-
-	local ZIG_ABI
-	case "${CTARGET##*-}" in
-		gnu)		ZIG_ABI=gnu;;
-		solaris*)	ZIG_OS=solaris ZIG_ABI=none;;
-		darwin*)	ZIG_ABI=none;;
-		*)		ZIG_ABI="${CTARGET##*-}";; # Same as in CHOST
-	esac
-
-	echo "${ZIG_ARCH}-${ZIG_OS}-${ZIG_ABI}"
-}
-
-get_zig_mcpu() {
-	local ZIG_DEFAULT_MCPU=native
-	tc-is-cross-compiler && ZIG_DEFAULT_MCPU=baseline
-	echo "${ZIG_MCPU:-${ZIG_DEFAULT_MCPU}}"
-}
-
-get_zig_target() {
-	local ZIG_DEFAULT_TARGET=native
-	tc-is-cross-compiler && ZIG_DEFAULT_TARGET="$(ctarget_to_zigtarget)"
-	echo "${ZIG_TARGET:-${ZIG_DEFAULT_TARGET}}"
-}
-
-pkg_setup() {
-	llvm_pkg_setup
-	check-reqs_pkg_setup
-}
-
-src_unpack() {
-	if use verify-sig; then
-		verify-sig_verify_detached "${DISTDIR}"/${P}.tar.xz{,.minisig}
-	fi
-	default
-}
-
-src_configure() {
-	# Useful for debugging and a little bit more deterministic.
-	export ZIG_LOCAL_CACHE_DIR="${T}/zig-local-cache"
-	export ZIG_GLOBAL_CACHE_DIR="${T}/zig-global-cache"
-
-	local mycmakeargs=(
-		-DZIG_SHARED_LLVM=ON
-		-DZIG_TARGET_TRIPLE="$(get_zig_target)"
-		-DZIG_TARGET_MCPU="$(get_zig_mcpu)"
-		-DZIG_USE_LLVM_CONFIG=ON
-		-DCMAKE_PREFIX_PATH="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
-		-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/$(get_libdir)/zig/${PV}"
-	)
-
-	cmake_src_configure
-}
-
-src_compile() {
-	# Remove "limit memory usage" flags, it's already verified by
-	# CHECKREQS_MEMORY and causes unneccessary errors. Upstream set them
-	# according to CI OOM failures, which are higher than during Gentoo build.
-	sed -i -e '/\.max_rss = .*,/d' build.zig || die
-
-	cmake_src_compile
-
-	"${BUILD_DIR}/stage3/bin/zig" env || die "Zig compilation failed"
-
-	if use doc; then
-		cd "${BUILD_DIR}" || die
-		edo ./stage3/bin/zig build std-docs --prefix "${S}/docgen/"
-		edo ./stage3/bin/zig build langref --prefix "${S}/docgen/"
-	fi
-}
-
-src_test() {
-	cd "${BUILD_DIR}" || die
-	local ZIG_TEST_ARGS=(
-		-j$(makeopts_jobs)
-		--color on
-		--summary all
-		--verbose
-		-Dstatic-llvm=false
-		-Denable-llvm
-		-Dskip-non-native
-		-Doptimize=Debug
-		-Dtarget="$(get_zig_target)"
-		-Dcpu="$(get_zig_mcpu)"
-	)
-	local ZIG_TEST_STEPS=(
-		test-asm-link
-		test-behavior
-		test-c-abi
-		test-c-import
-		test-cases
-		test-cli
-		test-compare-output
-		test-compiler-rt
-		test-fmt
-		test-link
-		test-run-translated-c
-		test-stack-traces
-		test-standalone
-		test-std
-		test-translate-c
-		test-universal-libc
-	)
-
-	local step
-	for step in "${ZIG_TEST_STEPS[@]}" ; do
-		# to keep the verbosity, don't use edob here
-		./stage3/bin/zig build ${step} ${ZIG_TEST_ARGS[@]} || die
-	done
-}
-
-src_install() {
-	use doc && local HTML_DOCS=( "docgen/doc/langref.html" "docgen/doc/std" )
-	cmake_src_install
-
-	cd "${ED}/usr/$(get_libdir)/zig/${PV}/" || die
-	mv lib/zig/ lib2/ || die
-	rm -rf lib/ || die
-	mv lib2/ lib/ || die
-	dosym -r "/usr/$(get_libdir)/zig/${PV}/bin/zig" "/usr/bin/zig-${PV}"
-}
-
-pkg_postinst() {
-	eselect zig update ifunset || die
-}
-
-pkg_postrm() {
-	eselect zig update ifunset || die
-}


^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2025-02-16 16:29 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-17  9:44 [gentoo-commits] repo/gentoo:master commit in: dev-lang/zig/, dev-lang/zig/files/ Florian Schmaus
  -- strict thread matches above, loose matches on Subject: below --
2025-02-16 16:29 Sam James
2024-12-15  9:47 Sam James
2024-08-07  3:16 Sam James
2023-01-11  6:04 Sam James
2023-01-08  3:37 Sam James
2022-12-01 13:57 Michał Górny
2022-09-19  3:40 Sam James
2022-09-11 18:13 Sam James
2022-09-05  1:25 Sam James
2022-08-22  8:18 Jakov Smolić
2022-07-15  8:41 Joonas Niilola
2022-05-27  7:45 Joonas Niilola

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox