From 71e206c31e948709a88fafc342bd2d8695942aa5 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 10 Mar 2023 00:03:27 +0000 Subject: gentoo auto-resync : 10:03:2023 - 00:03:27 --- dev-lang/zig/Manifest | 4 +- dev-lang/zig/zig-0.10.1-r1.ebuild | 171 ------------------------------------- dev-lang/zig/zig-0.10.1-r2.ebuild | 172 ++++++++++++++++++++++++++++++++++++++ dev-lang/zig/zig-9999.ebuild | 3 +- 4 files changed, 176 insertions(+), 174 deletions(-) delete mode 100644 dev-lang/zig/zig-0.10.1-r1.ebuild create mode 100644 dev-lang/zig/zig-0.10.1-r2.ebuild (limited to 'dev-lang/zig') diff --git a/dev-lang/zig/Manifest b/dev-lang/zig/Manifest index 1ccbeb1ed7ec..26b65decc758 100644 --- a/dev-lang/zig/Manifest +++ b/dev-lang/zig/Manifest @@ -3,7 +3,7 @@ AUX zig-0.10.0-build-dir-install-stage3.patch 1430 BLAKE2B cca909207cadfe1c9b31b DIST zig-0.10.0.tar.xz 14530912 BLAKE2B 5949a44ee039b7d5a163344a0fc26af8dd9cf311ed25c7092a665bb59ec7dec8dc3cd39918d81ef02c707aa8989b038fb21dfba3927fd31153a1404739b4ea3c SHA512 9d83ce51cc0ce404c06da820179c1cc47aa50e573fb1c831a96baa12c6b5226abe85b384110f2ffc4cbdc5f24eaba1f14a4e3249ffeaa248c0d73ba29859e682 DIST zig-0.10.1.tar.xz 15143112 BLAKE2B 4954d95ad763000eedf73a78e62bc0e99d65bba91c7127cdf1ea4503eb67817265daf572f645b7efbe9e24087e690b2768f0b2bc6c43b5fd76eab33143e964fe SHA512 d443adf61556bc95470537c6b0371a0ac99d19a06b15635cf1e5055ae7849039680c9006105e06e1bd6ba0fc12da14c54c1d28ac597c7dee17ee3a5cd9cf79f8 EBUILD zig-0.10.0-r1.ebuild 3295 BLAKE2B 0997f58541abc6687278dd7eec16944a16b90bd58dc5a4ededea12dbfe9006264fc087c937eb5d1a4579d016df222a5aa8ed721fe42124a0fc85984fe7b38ec3 SHA512 ea1dec43578750945a3401ca1a2cefce0be9bc8da06a65c0e6da2684be6be0ff41b315f110a9ec9f8af99298c16b7369a37c21027ee1f53e82ecaceee13dce56 -EBUILD zig-0.10.1-r1.ebuild 4997 BLAKE2B 8463babcd1f7f016a334860f4dfe92810f689572472b6028059d81e2612a0697ee855c6e2740d79467099f7cb6d815ebbc9a35c75878a1fb7ea70483e384cddf SHA512 3208402b00e8098932137c6399ca4a5a605f505b0666c0a7c9562fb1498b01e4d7fb0d7c71cc0bb767545e51c4c7f577f1da5d14995ec8aaa056c4a21db3a503 +EBUILD zig-0.10.1-r2.ebuild 5007 BLAKE2B 821a4b58f546817c79405ba647dd573a96cd3d549a1d06c85b811b8715dabb1979e9bef322cb416ce33863a9abffb399b3800774af8bfa7b94e5a1adc92316b6 SHA512 7414a77f59083fbec912a578be208d71caf841ba31df2f28c524b8405452f25a001099934af0aecef91d45ca6d57826614fd3d80c9f11fa1fccf5f3be6c54d4d EBUILD zig-0.10.1.ebuild 3205 BLAKE2B 977a4dec97a9bb7708581758e8f99155c3d03b68723e2703f657c096d661555ba50549854c5c31d0ff8bdd412442dd223dd4323182999b8f1fed61dcfe4c06d4 SHA512 0e7861a183c917b9ed8452d302bcec688ca891cfe0a68b88ae59204e96fda138c4f1fc6e17a581708769ee1696aec28c6b25af1af16fe8c4c88a9eab6675ecce -EBUILD zig-9999.ebuild 3707 BLAKE2B 5b84b89a318871d48e922f1fb0e95284c53c9557fb5bfccd0a8350bf6f374d6a110d89c5b38d2768a9503380e74f88e6825e9cc3ef809d6e21d17ad4327cccc5 SHA512 baf0c8049385e282c7f6ca3b0d54dcc151e0f6fb3e154fc44c77e00e517ce89e91c2933158d62abd09bd0f229a9bfc4a81328e701b06e6057f532aca515510fc +EBUILD zig-9999.ebuild 3717 BLAKE2B 487e279f61b47d038e97824647e610b10f342d9e030ecf960dcbe38edf0f91c527edcd4e59b4eeeb4a98ae839bcbc22b0d5a6bc31fd8af48ef19043d4c71f07f SHA512 01c6797335df89e061fcd401db201a3abdef2b463f4b3c59f5038579ce2d648de957c487d8d868fc446cba8ea0541fd078dbd65a733802d8a6125dcb3dfe0277 MISC metadata.xml 541 BLAKE2B 6f5c7fbf759f0430f69073a17a0dae4b8bebf335b54c3b43da6b24104dc3de05a3b686cddbbd31e4dae1fc31695a2f08d000d22437ed6f1847de8fa95e3b1952 SHA512 d49cf0a8ad76ac9a6f6fb091effddbbcd812b56f91df6d3c782e15197cb4ff4423fb1076671a232aabcb9833af19ef8c820ad6df312a1e4d72e665680314c083 diff --git a/dev-lang/zig/zig-0.10.1-r1.ebuild b/dev-lang/zig/zig-0.10.1-r1.ebuild deleted file mode 100644 index d92a0e709dda..000000000000 --- a/dev-lang/zig/zig-0.10.1-r1.ebuild +++ /dev/null @@ -1,171 +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 toolchain-funcs - -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="$(ver_cut 1-2)" -IUSE="doc" - -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} - 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/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}" -} - -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 - elog "This version requires 10G of memory for building compiler." - elog "If you don't have enough memory, you can wait until 0.11.0 release" - elog "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 - -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 - - if use doc; then - cd "${BUILD_DIR}" || die - edo ./zig2 run ../doc/docgen.zig -- ./zig2 ../doc/langref.html.in "${S}/langref.html" - edo ./zig2 test ../lib/std/std.zig --zig-lib-dir ../lib -fno-emit-bin -femit-docs="${S}/std" - fi -} - -src_test() { - cd "${BUILD_DIR}" || die - local ZIG_TEST_ARGS="-Dstatic-llvm=false -Denable-llvm -Dskip-non-native \ - -Drelease -Dtarget=$(get_zig_target) -Dcpu=$(get_zig_mcpu)" - 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 -} - -src_install() { - use doc && local HTML_DOCS=( "langref.html" "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 - - 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" -} - -pkg_postrm() { - eselect zig update ifunset -} diff --git a/dev-lang/zig/zig-0.10.1-r2.ebuild b/dev-lang/zig/zig-0.10.1-r2.ebuild new file mode 100644 index 000000000000..7c16e1d9761c --- /dev/null +++ b/dev-lang/zig/zig-0.10.1-r2.ebuild @@ -0,0 +1,172 @@ +# 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 toolchain-funcs + +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="$(ver_cut 1-2)" +IUSE="doc" + +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/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}" +} + +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 + elog "This version requires 10G of memory for building compiler." + elog "If you don't have enough memory, you can wait until 0.11.0 release" + elog "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 + -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 + + if use doc; then + cd "${BUILD_DIR}" || die + edo ./zig2 run ../doc/docgen.zig -- ./zig2 ../doc/langref.html.in "${S}/langref.html" + edo ./zig2 test ../lib/std/std.zig --zig-lib-dir ../lib -fno-emit-bin -femit-docs="${S}/std" + fi +} + +src_test() { + cd "${BUILD_DIR}" || die + local ZIG_TEST_ARGS="-Dstatic-llvm=false -Denable-llvm -Dskip-non-native \ + -Drelease -Dtarget=$(get_zig_target) -Dcpu=$(get_zig_mcpu)" + 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 +} + +src_install() { + use doc && local HTML_DOCS=( "langref.html" "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 + + 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" +} + +pkg_postrm() { + eselect zig update ifunset +} diff --git a/dev-lang/zig/zig-9999.ebuild b/dev-lang/zig/zig-9999.ebuild index b3846db59b81..c744d732215e 100644 --- a/dev-lang/zig/zig-9999.ebuild +++ b/dev-lang/zig/zig-9999.ebuild @@ -35,9 +35,10 @@ DEPEND=" RDEPEND=" ${DEPEND} - app-eselect/eselect-zig " +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/bin/zig" -- cgit v1.2.3