diff options
author | Eric Joldasov <bratishkaerik@getgoogleoff.me> | 2023-10-10 09:22:35 +0600 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-10-27 03:53:03 +0100 |
commit | baf4175f348041a9324003db60d18bcad6cdb7bc (patch) | |
tree | 2d713de28440877fc2f64f1037d358307d6cf709 /dev-lang/zig | |
parent | dev-lang/zig-bin: patch 0.11.0's build system to use getconf when detecting g... (diff) | |
download | gentoo-baf4175f348041a9324003db60d18bcad6cdb7bc.tar.gz gentoo-baf4175f348041a9324003db60d18bcad6cdb7bc.tar.bz2 gentoo-baf4175f348041a9324003db60d18bcad6cdb7bc.zip |
dev-lang/zig: drop 0.10.1-r3
Signed-off-by: Eric Joldasov <bratishkaerik@getgoogleoff.me>
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-lang/zig')
-rw-r--r-- | dev-lang/zig/Manifest | 1 | ||||
-rw-r--r-- | dev-lang/zig/files/zig-0.10.0-build-dir-install-stage3.patch | 42 | ||||
-rw-r--r-- | dev-lang/zig/files/zig-0.10.1-musl-1.2.4-lfs64.patch | 220 | ||||
-rw-r--r-- | dev-lang/zig/zig-0.10.1-r3.ebuild | 184 |
4 files changed, 0 insertions, 447 deletions
diff --git a/dev-lang/zig/Manifest b/dev-lang/zig/Manifest index 99b9116507be..0041c029d4ff 100644 --- a/dev-lang/zig/Manifest +++ b/dev-lang/zig/Manifest @@ -1,2 +1 @@ -DIST zig-0.10.1.tar.xz 15143112 BLAKE2B 4954d95ad763000eedf73a78e62bc0e99d65bba91c7127cdf1ea4503eb67817265daf572f645b7efbe9e24087e690b2768f0b2bc6c43b5fd76eab33143e964fe SHA512 d443adf61556bc95470537c6b0371a0ac99d19a06b15635cf1e5055ae7849039680c9006105e06e1bd6ba0fc12da14c54c1d28ac597c7dee17ee3a5cd9cf79f8 DIST zig-0.11.0.tar.xz 15275316 BLAKE2B 603e4995a36d214ba71cf05b719a04732c8927995c8207ab8fdd574dca3410cdc5ccc8f6aa9964807afc04a5cbce1a3910a6cde4cf12e585cdf7684833217eb2 SHA512 c19a8ae6d440a16dd5e77941fc77c036d1f284f1784376625e63b65f30b4acad62f9f4217bc818c401f88c2c33f8722f26fc467c3e23c29a89178c4b1882d1c4 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 deleted file mode 100644 index 5704e4ba7921..000000000000 --- a/dev-lang/zig/files/zig-0.10.0-build-dir-install-stage3.patch +++ /dev/null @@ -1,42 +0,0 @@ -From: Eric Joldasov <bratishkaerik@getgoogleoff.me> - -Install 'zig' binary in 'build_dir/stage3' directory so that we can find it and use for testing. -Also split "add_custom_target(stage3 ALL" and command that it invokes, so that it won't retry it during installation, -as target will be considered not out-of-date. (Bug https://bugs.gentoo.org/890457 and https://bugs.gentoo.org/890459). -Upstream PR https://github.com/ziglang/zig/pull/14255. - ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1094,10 +1094,14 @@ set(ZIG_BUILD_ARGS - ) - - add_custom_target(stage3 ALL -- COMMAND zig2 build compile ${ZIG_BUILD_ARGS} -- DEPENDS zig2 -- COMMENT STATUS "Building stage3" -- WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" -+ DEPENDS "${CMAKE_BINARY_DIR}/stage3/bin/zig" -+) -+ -+add_custom_command( -+ OUTPUT "${CMAKE_BINARY_DIR}/stage3/bin/zig" -+ COMMAND zig2 build --prefix "${CMAKE_BINARY_DIR}/stage3" ${ZIG_BUILD_ARGS} -+ COMMENT STATUS "Building stage3" -+ WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" - ) - - install(CODE "set(ZIG_EXECUTABLE \"${ZIG_EXECUTABLE}\")") - ---- 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/files/zig-0.10.1-musl-1.2.4-lfs64.patch b/dev-lang/zig/files/zig-0.10.1-musl-1.2.4-lfs64.patch deleted file mode 100644 index 05a550a7920e..000000000000 --- a/dev-lang/zig/files/zig-0.10.1-musl-1.2.4-lfs64.patch +++ /dev/null @@ -1,220 +0,0 @@ -From https://github.com/ziglang/zig/commit/b20ccff515364cdb8f3e733cc950e53ab77656db Mon Sep 17 00:00:00 2001 -From: Andrew Kelley <andrew@ziglang.org> -Date: Mon, 19 Jun 2023 15:17:01 -0700 -Subject: [PATCH] std.os: update logic for 64-bit symbol choice - -musl v1.2.4 dropped the "64"-suffixed aliases for legacy "LFS64" ("large -file support") interfaces, so this commit changes the corresponding Zig -logic to call the correct names. ---- a/lib/std/os.zig -+++ b/lib/std/os.zig -@@ -890,10 +890,7 @@ pub fn pread(fd: fd_t, buf: []u8, offset: u64) PReadError!usize { - }; - const adjusted_len = @min(max_count, buf.len); - -- const pread_sym = if (builtin.os.tag == .linux and builtin.link_libc) -- system.pread64 -- else -- system.pread; -+ const pread_sym = if (lfs64_abi) system.pread64 else system.pread; - - const ioffset = @bitCast(i64, offset); // the OS treats this as unsigned - while (true) { -@@ -966,10 +963,7 @@ pub fn ftruncate(fd: fd_t, length: u64) TruncateError!void { - } - - while (true) { -- const ftruncate_sym = if (builtin.os.tag == .linux and builtin.link_libc) -- system.ftruncate64 -- else -- system.ftruncate; -+ const ftruncate_sym = if (lfs64_abi) system.ftruncate64 else system.ftruncate; - - const ilen = @bitCast(i64, length); // the OS treats this as unsigned - switch (errno(ftruncate_sym(fd, ilen))) { -@@ -1034,10 +1028,7 @@ pub fn preadv(fd: fd_t, iov: []const iovec, offset: u64) PReadError!usize { - - const iov_count = math.cast(u31, iov.len) orelse math.maxInt(u31); - -- const preadv_sym = if (builtin.os.tag == .linux and builtin.link_libc) -- system.preadv64 -- else -- system.preadv; -+ const preadv_sym = if (lfs64_abi) system.preadv64 else system.preadv; - - const ioffset = @bitCast(i64, offset); // the OS treats this as unsigned - while (true) { -@@ -1311,10 +1302,7 @@ pub fn pwrite(fd: fd_t, bytes: []const u8, offset: u64) PWriteError!usize { - }; - const adjusted_len = @min(max_count, bytes.len); - -- const pwrite_sym = if (builtin.os.tag == .linux and builtin.link_libc) -- system.pwrite64 -- else -- system.pwrite; -+ const pwrite_sym = if (lfs64_abi) system.pwrite64 else system.pwrite; - - const ioffset = @bitCast(i64, offset); // the OS treats this as unsigned - while (true) { -@@ -1400,10 +1388,7 @@ pub fn pwritev(fd: fd_t, iov: []const iovec_const, offset: u64) PWriteError!usiz - } - } - -- const pwritev_sym = if (builtin.os.tag == .linux and builtin.link_libc) -- system.pwritev64 -- else -- system.pwritev; -+ const pwritev_sym = if (lfs64_abi) system.pwritev64 else system.pwritev; - - const iov_count = if (iov.len > IOV_MAX) IOV_MAX else @intCast(u31, iov.len); - const ioffset = @bitCast(i64, offset); // the OS treats this as unsigned -@@ -1514,10 +1499,7 @@ pub fn openZ(file_path: [*:0]const u8, flags: u32, perm: mode_t) OpenError!fd_t - return open(mem.sliceTo(file_path, 0), flags, perm); - } - -- const open_sym = if (builtin.os.tag == .linux and builtin.link_libc) -- system.open64 -- else -- system.open; -+ const open_sym = if (lfs64_abi) system.open64 else system.open; - - while (true) { - const rc = open_sym(file_path, flags, perm); -@@ -1730,10 +1712,7 @@ pub fn openatZ(dir_fd: fd_t, file_path: [*:0]const u8, flags: u32, mode: mode_t) - return openat(dir_fd, mem.sliceTo(file_path, 0), flags, mode); - } - -- const openat_sym = if (builtin.os.tag == .linux and builtin.link_libc) -- system.openat64 -- else -- system.openat; -+ const openat_sym = if (lfs64_abi) system.openat64 else system.openat; - - while (true) { - const rc = openat_sym(dir_fd, file_path, flags, mode); -@@ -4117,10 +4096,7 @@ pub fn fstat(fd: fd_t) FStatError!Stat { - @compileError("fstat is not yet implemented on Windows"); - } - -- const fstat_sym = if (builtin.os.tag == .linux and builtin.link_libc) -- system.fstat64 -- else -- system.fstat; -+ const fstat_sym = if (lfs64_abi) system.fstat64 else system.fstat; - - var stat = mem.zeroes(Stat); - switch (errno(fstat_sym(fd, &stat))) { -@@ -4176,10 +4152,7 @@ pub fn fstatatZ(dirfd: fd_t, pathname: [*:0]const u8, flags: u32) FStatAtError!S - return fstatatWasi(dirfd, mem.sliceTo(pathname), flags); - } - -- const fstatat_sym = if (builtin.os.tag == .linux and builtin.link_libc) -- system.fstatat64 -- else -- system.fstatat; -+ const fstatat_sym = if (lfs64_abi) system.fstatat64 else system.fstatat; - - var stat = mem.zeroes(Stat); - switch (errno(fstatat_sym(dirfd, pathname, &stat, flags))) { -@@ -4416,10 +4389,7 @@ pub fn mmap( - fd: fd_t, - offset: u64, - ) MMapError![]align(mem.page_size) u8 { -- const mmap_sym = if (builtin.os.tag == .linux and builtin.link_libc) -- system.mmap64 -- else -- system.mmap; -+ const mmap_sym = if (lfs64_abi) system.mmap64 else system.mmap; - - const ioffset = @bitCast(i64, offset); // the OS treats this as unsigned - const rc = mmap_sym(ptr, length, prot, flags, fd, ioffset); -@@ -4823,10 +4793,7 @@ pub fn lseek_SET(fd: fd_t, offset: u64) SeekError!void { - } - } - -- const lseek_sym = if (builtin.os.tag == .linux and builtin.link_libc) -- system.lseek64 -- else -- system.lseek; -+ const lseek_sym = if (lfs64_abi) system.lseek64 else system.lseek; - - const ioffset = @bitCast(i64, offset); // the OS treats this as unsigned - switch (errno(lseek_sym(fd, ioffset, SEEK.SET))) { -@@ -4870,10 +4837,7 @@ pub fn lseek_CUR(fd: fd_t, offset: i64) SeekError!void { - else => |err| return unexpectedErrno(err), - } - } -- const lseek_sym = if (builtin.os.tag == .linux and builtin.link_libc) -- system.lseek64 -- else -- system.lseek; -+ const lseek_sym = if (lfs64_abi) system.lseek64 else system.lseek; - - const ioffset = @bitCast(i64, offset); // the OS treats this as unsigned - switch (errno(lseek_sym(fd, ioffset, SEEK.CUR))) { -@@ -4917,10 +4881,7 @@ pub fn lseek_END(fd: fd_t, offset: i64) SeekError!void { - else => |err| return unexpectedErrno(err), - } - } -- const lseek_sym = if (builtin.os.tag == .linux and builtin.link_libc) -- system.lseek64 -- else -- system.lseek; -+ const lseek_sym = if (lfs64_abi) system.lseek64 else system.lseek; - - const ioffset = @bitCast(i64, offset); // the OS treats this as unsigned - switch (errno(lseek_sym(fd, ioffset, SEEK.END))) { -@@ -4964,10 +4925,7 @@ pub fn lseek_CUR_get(fd: fd_t) SeekError!u64 { - else => |err| return unexpectedErrno(err), - } - } -- const lseek_sym = if (builtin.os.tag == .linux and builtin.link_libc) -- system.lseek64 -- else -- system.lseek; -+ const lseek_sym = if (lfs64_abi) system.lseek64 else system.lseek; - - const rc = lseek_sym(fd, 0, SEEK.CUR); - switch (errno(rc)) { -@@ -6169,10 +6127,7 @@ pub fn sendfile( - // TODO we should not need this cast; improve return type of @min - const adjusted_count = @intCast(usize, adjusted_count_tmp); - -- const sendfile_sym = if (builtin.link_libc) -- system.sendfile64 -- else -- system.sendfile; -+ const sendfile_sym = if (lfs64_abi) system.sendfile64 else system.sendfile; - - while (true) { - var offset: off_t = @bitCast(off_t, in_offset); -@@ -7050,10 +7005,7 @@ pub fn prctl(option: PR, args: anytype) PrctlError!u31 { - pub const GetrlimitError = UnexpectedError; - - pub fn getrlimit(resource: rlimit_resource) GetrlimitError!rlimit { -- const getrlimit_sym = if (builtin.os.tag == .linux and builtin.link_libc) -- system.getrlimit64 -- else -- system.getrlimit; -+ const getrlimit_sym = if (lfs64_abi) system.getrlimit64 else system.getrlimit; - - var limits: rlimit = undefined; - switch (errno(getrlimit_sym(resource, &limits))) { -@@ -7067,10 +7019,7 @@ pub fn getrlimit(resource: rlimit_resource) GetrlimitError!rlimit { - pub const SetrlimitError = error{ PermissionDenied, LimitTooBig } || UnexpectedError; - - pub fn setrlimit(resource: rlimit_resource, limits: rlimit) SetrlimitError!void { -- const setrlimit_sym = if (builtin.os.tag == .linux and builtin.link_libc) -- system.setrlimit64 -- else -- system.setrlimit; -+ const setrlimit_sym = if (lfs64_abi) system.setrlimit64 else system.setrlimit; - - switch (errno(setrlimit_sym(resource, &limits))) { - .SUCCESS => return, -@@ -7339,3 +7288,5 @@ pub fn ptrace(request: u32, pid: pid_t, addr: usize, signal: usize) PtraceError! - }, - }; - } -+ -+const lfs64_abi = builtin.os.tag == .linux and builtin.link_libc and builtin.abi.isGnu(); diff --git a/dev-lang/zig/zig-0.10.1-r3.ebuild b/dev-lang/zig/zig-0.10.1-r3.ebuild deleted file mode 100644 index b85fc3c95232..000000000000 --- a/dev-lang/zig/zig-0.10.1-r3.ebuild +++ /dev/null @@ -1,184 +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 - -# 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" - -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" - -# 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" - "${FILESDIR}/zig-0.10.1-musl-1.2.4-lfs64.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 -} |