summaryrefslogtreecommitdiff
path: root/dev-lang/zig/zig-0.9.0.ebuild
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2021-12-25 20:34:27 +0000
committerV3n3RiX <venerix@koprulu.sector>2021-12-25 20:34:27 +0000
commit0f15659d48c193027158492acb726297501202c5 (patch)
tree5502ba879a78b759da28441d418dbbfe08bd8f03 /dev-lang/zig/zig-0.9.0.ebuild
parent93a93e9a3b53c1a73142a305ea1f8136846942ee (diff)
gentoo xmass resync : 25.12.2021
Diffstat (limited to 'dev-lang/zig/zig-0.9.0.ebuild')
-rw-r--r--dev-lang/zig/zig-0.9.0.ebuild59
1 files changed, 59 insertions, 0 deletions
diff --git a/dev-lang/zig/zig-0.9.0.ebuild b/dev-lang/zig/zig-0.9.0.ebuild
new file mode 100644
index 000000000000..a433638a0feb
--- /dev/null
+++ b/dev-lang/zig/zig-0.9.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2019-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+LLVM_MAX_SLOT=13
+inherit cmake llvm
+
+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://github.com/ziglang/zig/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="test"
+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// /,}]
+"
+DEPEND="${RDEPEND}"
+
+llvm_check_deps() {
+ has_version "sys-devel/clang:${LLVM_SLOT}"
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DZIG_USE_CCACHE=OFF
+ -DZIG_PREFER_CLANG_CPP_DYLIB=ON
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ cd "${BUILD_DIR}" || die
+ ./zig build test || die
+}