summaryrefslogtreecommitdiff
path: root/dev-lang/zig-bin
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-11-22 17:18:34 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-11-22 17:18:34 +0000
commitfd87b7c771378b2116981e3924bee5805148e118 (patch)
tree91ed28393c7b534787d3c073e269fe598d0fd535 /dev-lang/zig-bin
parent77b74be093bdf4a0ed4121acc3f8e229103cf004 (diff)
gentoo auto-resync : 22:11:2023 - 17:18:34
Diffstat (limited to 'dev-lang/zig-bin')
-rw-r--r--dev-lang/zig-bin/Manifest2
-rw-r--r--dev-lang/zig-bin/files/zig-0.11.0-first-try-getconf.patch38
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];