diff options
Diffstat (limited to 'dev-lang/zig')
-rw-r--r-- | dev-lang/zig/Manifest | 2 | ||||
-rw-r--r-- | dev-lang/zig/files/zig-0.9.1-fix-single-threaded.patch | 13 | ||||
-rw-r--r-- | dev-lang/zig/zig-0.9.1.ebuild (renamed from dev-lang/zig/zig-0.9.0.ebuild) | 28 |
3 files changed, 35 insertions, 8 deletions
diff --git a/dev-lang/zig/Manifest b/dev-lang/zig/Manifest index b55846f..daf4475 100644 --- a/dev-lang/zig/Manifest +++ b/dev-lang/zig/Manifest @@ -1 +1 @@ -DIST zig-0.9.0.tar.gz 21994175 BLAKE2B aadef89d5fddc3e802965125625e62140ac37bdac40b29ab8b7652056589c037cbed5d4e46889f335b3c296fb4ae2a7cafd5d064a02d728a8325ad515cdc8c7a SHA512 fef36221e818364b45cf65de210b0a9d535c411a510371a3ab4dfd6f4621c0a16dba786169f115a006966875102acc742abee19a74d83e2bc999ea5b8304b879 +DIST zig-0.9.1.tar.xz 13940828 BLAKE2B 996b0e945f61b01dddbb7c8674a9e2d2d01b93eb48fdfd2c986496330990ffa64cba15f8bd8518b90ef6f514759ba6cc3fd31d6044c5b11b92bf92e3f7f15303 SHA512 0b8a5f9b7e34e4252536f59bc91429f1e76b2bf8e01f024095919f6ecf34db56b5c86c554fbb94bdcb5255394c87f2c87519c8f34c631f53816927ec0882ae2d 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 0000000..70f807f --- /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.0.ebuild b/dev-lang/zig/zig-0.9.1.ebuild index 76f45f3..2227501 100644 --- a/dev-lang/zig/zig-0.9.0.ebuild +++ b/dev-lang/zig/zig-0.9.1.ebuild @@ -1,10 +1,10 @@ -# Copyright 2019-2021 Gentoo Authors +# Copyright 2019-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 LLVM_MAX_SLOT=13 -inherit cmake llvm +inherit cmake llvm check-reqs DESCRIPTION="A robust, optimal, and maintainable programming language" HOMEPAGE="https://ziglang.org/" @@ -12,14 +12,17 @@ if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://github.com/ziglang/zig.git" inherit git-r3 else - SRC_URI="https://github.com/ziglang/zig/archive/${PV}.tar.gz -> ${P}.tar.gz" + SRC_URI="https://ziglang.org/download/${PV}/${P}.tar.xz" KEYWORDS="~amd64 ~arm ~arm64" fi LICENSE="MIT" SLOT="0" +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 @@ -31,7 +34,7 @@ ALL_LLVM_TARGETS=( ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LLVM_TARGET_USEDEPS="${ALL_LLVM_TARGETS[@]/%/(-)?}" -IUSE="test ${ALL_LLVM_TARGETS[*]}" +IUSE="test threads ${ALL_LLVM_TARGETS[*]}" RDEPEND=" sys-devel/clang:${LLVM_MAX_SLOT} @@ -45,6 +48,14 @@ 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 mysedargs=() llvm_target arch for target in "${ALL_LLVM_TARGETS[@]}"; do @@ -76,12 +87,14 @@ src_configure() { ) done mysedargs+=( - -e "/^fn initializeLLVMTarget(/,/^}/ { + -e " + /^fn initializeLLVMTarget(/,/^}/ { /\.$a => {/,/},$/ { s/=>.*/=> unreachable,/ /=>/!d } - }" + } + " ) fi done @@ -90,6 +103,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 |