diff options
Diffstat (limited to 'dev-lang/zig/zig-0.9.1.ebuild')
-rw-r--r-- | dev-lang/zig/zig-0.9.1.ebuild | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/dev-lang/zig/zig-0.9.1.ebuild b/dev-lang/zig/zig-0.9.1.ebuild deleted file mode 100644 index 2227501..0000000 --- a/dev-lang/zig/zig-0.9.1.ebuild +++ /dev/null @@ -1,115 +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 - -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 -# 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[@]/%/(-)?}" - -IUSE="test threads ${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// /,}] -" -DEPEND="${RDEPEND}" - -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 - if ! use $target; then - llvm_target=${target#llvm_targets_} - case $llvm_target in - AArch64) arch=(aarch64 aarch64_be aarch64_32);; - AMDGPU) arch=(amdgcn);; - ARM) arch=(thumb thumbeb arm armeb);; - AVR) arch=(avr);; - BPF) arch=(bpfel bpfeb);; - Hexagon) arch=(hexagon);; - Lanai) arch=(lanai);; - Mips) arch=(mips mipsel mips64 mips64el);; - MSP430) arch=(msp430);; - NVPTX) arch=(nvptx nvptx64);; - PowerPC) arch=(powerpc powerpcle powerpc64 powerpc64le);; - RISCV) arch=(riscv32 riscv64);; - Sparc) arch=(sparc sparcv9 sparcel);; - SystemZ) arch=(s390x);; - WebAssembly) arch=(wasm32 wasm64);; - X86) arch=(i386 x86_64);; - XCore) arch=(xcore);; - *) die "unhandled target" - esac - for a in ${arch[@]}; do - mysedargs+=( - -e "/^pub fn targetTriple(/,/^}/s/\.$a => .*/.$a => return error.@\"Zig compiled without LLVM $llvm_target\",/" - ) - done - mysedargs+=( - -e " - /^fn initializeLLVMTarget(/,/^}/ { - /\.$a => {/,/},$/ { - s/=>.*/=> unreachable,/ - /=>/!d - } - } - " - ) - fi - done - sed -i "${mysedargs[@]}" src/codegen/llvm.zig || die - - local mycmakeargs=( - -DZIG_USE_CCACHE=OFF - -DZIG_PREFER_CLANG_CPP_DYLIB=ON - -DZIG_SINGLE_THREADED="$(usex threads OFF ON)" - ) - - cmake_src_configure -} - -src_test() { - cd "${BUILD_DIR}" || die - ./zig build test || die -} |