diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-11-22 17:18:34 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-11-22 17:18:34 +0000 |
commit | fd87b7c771378b2116981e3924bee5805148e118 (patch) | |
tree | 91ed28393c7b534787d3c073e269fe598d0fd535 /dev-lang/zig-bin | |
parent | 77b74be093bdf4a0ed4121acc3f8e229103cf004 (diff) |
gentoo auto-resync : 22:11:2023 - 17:18:34
Diffstat (limited to 'dev-lang/zig-bin')
-rw-r--r-- | dev-lang/zig-bin/Manifest | 2 | ||||
-rw-r--r-- | dev-lang/zig-bin/files/zig-0.11.0-first-try-getconf.patch | 38 |
2 files changed, 22 insertions, 18 deletions
diff --git a/dev-lang/zig-bin/Manifest b/dev-lang/zig-bin/Manifest index 4644a78434e2..355c00f53764 100644 --- a/dev-lang/zig-bin/Manifest +++ b/dev-lang/zig-bin/Manifest @@ -1,5 +1,5 @@ AUX zig-0.10.1-musl-1.2.4-lfs64.patch 8866 BLAKE2B 5faf4a70f2f388f24105948c56940123b51bb5da389f5008b565008a96df1f4033ebe6fbd764b1105870d2f2e7b018e0f8bb09947937bc53d542ef359fe94b70 SHA512 169f0b6412e8ebe11a20d23c0e639f98778ae077dd36ea44b423fd565b54adb70bcdcf1af085521e8a0ca9a08e095d6f82e40347d315ae1ec5566c8c205cfddb -AUX zig-0.11.0-first-try-getconf.patch 5214 BLAKE2B 8129d084fc36a2a8f32c21d13698a4c589ce35da640c4a5e3f95c100266240ba9f0ff9f9146ca5f9c2523257af20ad4cd0557f64228d77c2daadfb3c48e019a0 SHA512 b5ed25905da463c9ba34b82f118fdb0251bb460e8f47a3a37f52857ffc806e9078dc41f8c3aa82abd5f09a37f8fdda7e12c5c245fd181b6b7c54048b9f6662ef +AUX zig-0.11.0-first-try-getconf.patch 5378 BLAKE2B a5bdb83e4897a0553431b333b0ee3a1fc1ed2da413c177188f6d4b1756c1f06275a548a53bb5885ef912cbf03de07d5302066078281fdd120a3bcffb1375a4d2 SHA512 20252263c52e791829d7fdf8b59f824a4a91252f771fed0b773d7b288cba93cac5ac8c3ebe3134d87b56658192bc6eb9dfde9f85d2490a596e594034c5ac251f DIST zig-linux-aarch64-0.10.1.tar.xz 40321280 BLAKE2B 39abefb80d540d52333ec76203893630ac5df2a784684397033e9ac766f67c4512be71513ebb80faac6c5ebaa2a737859b7bc27b82797232cf97d87d91e8492e SHA512 44dd15b1b2d7bc85a4f8e8171ae5c51122be352249273091b499de5a392c72e262585f981908afd1718a41fa7e67b36f1b65c6cacbf8e9f226a687bd85b7edc6 DIST zig-linux-aarch64-0.11.0.tar.xz 41492432 BLAKE2B fd4e1f242475bfdc94f418817d2f1b256ebdc7e29b94e7629f54c241b7a1df273a2c776ab29dad645af041b5cfb0e7d1b0a922bb04a82553604076d36e957580 SHA512 07a026958cac0f1674496f8a1fd3a3dfcd79274d1a25c87e4123b74a437f332bbea4097320da7f83d67626fb9d6e9fe1d78e917522debb8873f7c40938031e63 DIST zig-linux-armv7a-0.10.1.tar.xz 50718132 BLAKE2B 76ef431ef8957272b992f6b861913a961d348120106a7f4b77d1f6b2a042dd8904a1ac744ab6b02b78681eef68af4143372e5315cd113d40711bd26fc78e6632 SHA512 4ec3ccd7ac980bfd9fc7a2f6b2301051d3df43b00143914d869389fc44b48916820d996e27cb922dac152228c4b04a0cce51f7b125317de85440a5479fe8ff7d diff --git a/dev-lang/zig-bin/files/zig-0.11.0-first-try-getconf.patch b/dev-lang/zig-bin/files/zig-0.11.0-first-try-getconf.patch index 6d1b3ca7e5b7..5a63e9e74ad9 100644 --- a/dev-lang/zig-bin/files/zig-0.11.0-first-try-getconf.patch +++ b/dev-lang/zig-bin/files/zig-0.11.0-first-try-getconf.patch @@ -17,14 +17,14 @@ Bug: https://bugs.gentoo.org/914731 Bug: https://bugs.gentoo.org/914101 diff --git a/lib/std/zig/system/NativeTargetInfo.zig b/lib/std/zig/system/NativeTargetInfo.zig -index 99a1a8f2e..d1032a716 100644 +index 99a1a8f2e..0250db968 100644 --- a/lib/std/zig/system/NativeTargetInfo.zig +++ b/lib/std/zig/system/NativeTargetInfo.zig @@ -19,6 +19,32 @@ dynamic_linker: DynamicLinker = DynamicLinker{}, - + pub const DynamicLinker = Target.DynamicLinker; - -+// Copy-pasted from `std.zig.CrossTarget.parse` to avoid changing visibility of mentioned function. + ++// Copy-pasted from `std.zig.CrossTarget.parse` to avoid introducing unexpected new public function as part of standard library. +/// Parses a version with an omitted patch component, such as "1.0", +/// which SemanticVersion.parse is not capable of. +fn parseWithOptionalPatchField(ver: []const u8) error{ InvalidVersion, Overflow }!std.SemanticVersion { @@ -38,7 +38,7 @@ index 99a1a8f2e..d1032a716 100644 + }; + } + }.parseVersionComponent; -+ var version_components = mem.split(u8, ver, "."); ++ var version_components = mem.splitScalar(u8, ver, '.'); + const major = version_components.first(); + const minor = version_components.next() orelse return error.InvalidVersion; + const patch = version_components.next() orelse "0"; @@ -53,10 +53,10 @@ index 99a1a8f2e..d1032a716 100644 pub const DetectError = error{ FileSystem, SystemResources, -@@ -307,6 +333,35 @@ fn detectAbiAndDynamicLinker( +@@ -307,6 +333,39 @@ fn detectAbiAndDynamicLinker( } const ld_info_list = ld_info_list_buffer[0..ld_info_list_len]; - + + if (is_linux and !os_is_non_native and cross_target.glibc_version == null) try_getconf: { + var buf: [4096]u8 = undefined; + var fba = std.heap.FixedBufferAllocator.init(&buf); @@ -68,20 +68,24 @@ index 99a1a8f2e..d1032a716 100644 + .max_output_bytes = 1024, + }) catch break :try_getconf; + if (!std.mem.startsWith(u8, getconf.stdout, "glibc ")) break :try_getconf; -+ const version_string = getconf.stdout["glibc ".len..]; ++ const version_string = std.mem.trim(u8, getconf.stdout["glibc ".len..], &std.ascii.whitespace); + const glibc_version = parseWithOptionalPatchField(version_string) catch break :try_getconf; + + var os_with_glibc = os; + os_with_glibc.version_range.linux.glibc = glibc_version; + ++ const target: Target = .{ ++ .cpu = cpu, ++ .os = os_with_glibc, ++ .abi = .gnu, ++ .ofmt = cross_target.ofmt orelse Target.ObjectFormat.default(os_with_glibc.tag, cpu.arch), ++ }; + const result: NativeTargetInfo = .{ -+ .target = .{ -+ .cpu = cpu, -+ .os = os_with_glibc, -+ .abi = cross_target.abi orelse Target.Abi.default(cpu.arch, os_with_glibc), -+ .ofmt = cross_target.ofmt orelse Target.ObjectFormat.default(os_with_glibc.tag, cpu.arch), -+ }, -+ .dynamic_linker = cross_target.dynamic_linker, ++ .target = target, ++ .dynamic_linker = if (cross_target.dynamic_linker.get() == null) ++ target.standardDynamicLinkerPath() ++ else ++ cross_target.dynamic_linker, + }; + return result; + } @@ -89,7 +93,7 @@ index 99a1a8f2e..d1032a716 100644 // Best case scenario: the executable is dynamically linked, and we can iterate // over our own shared objects and find a dynamic linker. const elf_file = blk: { -@@ -563,7 +618,7 @@ fn glibcVerFromSoFile(file: fs.File) !std.SemanticVersion { +@@ -563,7 +622,7 @@ fn glibcVerFromSoFile(file: fs.File) !std.SemanticVersion { while (it.next()) |s| { if (mem.startsWith(u8, s, "GLIBC_2.")) { const chopped = s["GLIBC_".len..]; @@ -98,7 +102,7 @@ index 99a1a8f2e..d1032a716 100644 error.Overflow => return error.InvalidGnuLibCVersion, error.InvalidVersion => return error.InvalidGnuLibCVersion, }; -@@ -586,7 +641,7 @@ fn glibcVerFromLinkName(link_name: []const u8, prefix: []const u8) !std.Semantic +@@ -586,7 +645,7 @@ fn glibcVerFromLinkName(link_name: []const u8, prefix: []const u8) !std.Semantic } // chop off "libc-" and ".so" const link_name_chopped = link_name[prefix.len .. link_name.len - suffix.len]; |