From 83584504b4af6c034813ec2bd0cc1b866a43dd66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnau=20Camprub=C3=AD?= Date: Mon, 25 Aug 2025 00:03:08 +0200 Subject: [PATCH] dev-lang/zig-bin: add 0.15.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Arnau Camprubí Part-of: https://github.com/gentoo/gentoo/pull/43546 Closes: https://github.com/gentoo/gentoo/pull/43546 Signed-off-by: Sam James --- dev-lang/zig-bin/Manifest | 16 ++ ...zig-0.15.1-reduce-command-new-writer.patch | 175 ++++++++++++++++++ dev-lang/zig-bin/zig-bin-0.15.1.ebuild | 88 +++++++++ 3 files changed, 279 insertions(+) create mode 100644 dev-lang/zig-bin/files/zig-0.15.1-reduce-command-new-writer.patch create mode 100644 dev-lang/zig-bin/zig-bin-0.15.1.ebuild diff --git a/dev-lang/zig-bin/Manifest b/dev-lang/zig-bin/Manifest index e01e0cc6c39e..61db9c89ddec 100644 --- a/dev-lang/zig-bin/Manifest +++ b/dev-lang/zig-bin/Manifest @@ -1,5 +1,9 @@ DIST zig-aarch64-linux-0.14.1.tar.xz 44954692 BLAKE2B 4d79559595517c39718d88ad7fc2a3584454f5a239c7e0e444e3137e0041b8e247bf21357f9acc6e075a128dd126832f4ff4a699f64a3dc98f6734feff6311dc SHA512 0019698d9a234dcce32bf84fcc09b582d55a2149e0d6a3d7e38a0a7c22b74d501f4c6c074b3f87dc5fe8b623996059168427eef4a60dea95099e0d5e2123cfe0 DIST zig-aarch64-linux-0.14.1.tar.xz.minisig 326 BLAKE2B 5a9b834101c483a7879bc01c6929bf4fd7de38215fc3aa8a19629c30078f81bedeafa37781e4d2d56fe6558a149b2be93e4325698ae6d60e22a238a03d70d198 SHA512 81782c22658f8697b6bf7c1a762da1d05541d8e26c23d224b39d464d07ec054d9f58ca2e5526c5e0f08e52ecc7a46a518be36555c76d06eb70411984bb3d2204 +DIST zig-aarch64-linux-0.15.1.tar.xz 49493872 BLAKE2B b01d77024afcc00228decf1ea2af7e1a999e7d519319c8bb86ec5757ab4d7a88e4f77f86ca7bc451e76bd5167505472286ed697ad2a23d7d4a078b6ac14d4308 SHA512 744f1bbfd13ea003ca79f6925e5030eead9836979b930d4cc1505e1500aa318bbc29d5dcb74f0680ed0ddf04d129478b76c51d48dfb572af6b7d2015786a4013 +DIST zig-aarch64-linux-0.15.1.tar.xz.minisig 326 BLAKE2B b21eb25d68f70bb9a63326d5c855417877cbe168409d974d62f4de5217b941cf595414f376b3c64f1b1530e9a6bb1b35b7c5354b98aad402da184e35b7d38557 SHA512 81f684e947376c9838d09cb3f16405c108c23ea96bca8d622ea758f716c6e23e9ad7cfbe4c50c182e050609469cc88e8a0f2a236d8d368b3e3b60cf30baf73fa +DIST zig-arm-linux-0.15.1.tar.xz 50477464 BLAKE2B 264e612869d8d0d7aa420eb364b632513c127d52712f7057b838584045c98c26528417d1ed419bbb4b61c8110d3839de4ab6651afe45aa85653d2ae099b0133d SHA512 cacc2ebab72663fcd4d0c5c61f8e6e894bcfaedbe86ee729aa714d0344df6462b767e89f6cdf6326954c653b18d12e3b41c387ba337cc8e8495d92d947c11d8a +DIST zig-arm-linux-0.15.1.tar.xz.minisig 322 BLAKE2B 354c87e81bc6bf72390e4e8c2f6397da37ed4ba47c67c39aa03140791157193a8380c5da5915fc72c3c080567dc95a6d1fc5a9c8c606b1c1c326c1b3ebeff6a8 SHA512 eca65431b89e3890f7e8d81294ef8dbf2a95c54dbef620028382a0885179c408fef6a421d443817be5d9283fa6b441f2e012a74944e8eec51f9ea8514ba5deef DIST zig-armv7a-linux-0.14.1.tar.xz 46137456 BLAKE2B 295f3f4e029504aa7ea983ae24146a0e4a613a9822237c5a246c569e1409f138bfc5350f70426536502ef88fbad85fbcf2185822823559e18d07fd85eff7c5a2 SHA512 786a33ee9a2472cb35f338e84a120d122a2206b43b64877cf74dbf22eb7afd8b23ab77e04cd225e6731fda26c9acc513204d4cf562d3672d6efdee85f6221976 DIST zig-armv7a-linux-0.14.1.tar.xz.minisig 325 BLAKE2B 0dc940ddd44fe1a155e5aa92df8d9722a4cd20e189b0c3d136a6f95cdf79eab34810451e181c595782efe53066641c97eb0a85996cd860eafbbfaa10e0ad2d06 SHA512 328b265f9539eaed2fff5e29d16120c5b9f32c1658565e9c9b8f82cb19ce0bec3b8b30beb6b5339c12ad082bbf1440e03a828aa1444c168e561006a0c8e6ad82 DIST zig-linux-aarch64-0.10.1.tar.xz 40321280 BLAKE2B 39abefb80d540d52333ec76203893630ac5df2a784684397033e9ac766f67c4512be71513ebb80faac6c5ebaa2a737859b7bc27b82797232cf97d87d91e8492e SHA512 44dd15b1b2d7bc85a4f8e8171ae5c51122be352249273091b499de5a392c72e262585f981908afd1718a41fa7e67b36f1b65c6cacbf8e9f226a687bd85b7edc6 @@ -26,13 +30,25 @@ DIST zig-linux-x86_64-0.13.0.tar.xz 47082308 BLAKE2B 587565eaac53f0137bdfb4c58e5 DIST zig-linux-x86_64-0.13.0.tar.xz.minisig 325 BLAKE2B 9161b9b36c38c2b388a0850011bcc22119bb7b0333615914780fe63fb741298524be196db07277771b6f3f053079c7f95b5786dbb9059c4a627a9786752ebe4e SHA512 279cf9abb3b86893a3fd4ac124e954d8f01d6823831591cf2c869538bce4b2cbfcdb67279b9875bfe3a865841ca976b9fb7b4c4c63fe2b56937d3023664e81c6 DIST zig-loongarch64-linux-0.14.1.tar.xz 45825404 BLAKE2B 297087d8cab208d556ab42f078af10e64347bf3be80a8a249b31d5435c8848f6549f92d14365be6dfddeb2a2f05c61da94fa6d35212cc4743ad455c7ae7fe068 SHA512 c8c29bbacd7a17eedd1103dc6dac15c43838df2e244f321407a540e5ec74bd06d65a02433f2a49b16033b39876398f4864f78d17069e6d41850bc4ff358e679e DIST zig-loongarch64-linux-0.14.1.tar.xz.minisig 330 BLAKE2B 78d7acc98e6dbaf1f78e5068aa2780b546b737f1e852f4f670f15c3fc99a6cd99cbcabe24ede963f11c3b76d0a8c9ec326519e5964105b1a7eddce1d7ba6e25b SHA512 f0f7e03d292b46d8ed3e69d7630eb659de4d9ee249d80e921d38ed7cd84f3a4dbc58ed2cdb01c554c6ae0a9cd4409b420794e3e9b90fd5b63e0ed54066888b3f +DIST zig-loongarch64-linux-0.15.1.tar.xz 50794376 BLAKE2B 877948595173bc07a3fb9ac1e85b557f1ea4d57183d19e0ac917764c170015509d799e79ca81fd7a1723328d3ea931642a51b4b2cc957f717aff3334748fc12e SHA512 8a7ad0ee82fbb54db8cea6725af39ea0ae912dbc8d77faa6e582de8691490c923db41b09b168b3c46e8198b4cbdebba79a2176424f6dcfc142c3e1c372021d97 +DIST zig-loongarch64-linux-0.15.1.tar.xz.minisig 330 BLAKE2B 528bf6f6d605ee12e6d07d1225280171c1fdbbfe878b25747e12e6ff9e0a9cb3b138e2b61cd6becd20addaafa5001e06afc4c67d54caf6061c54c4695e669587 SHA512 5f50f45b88564cd8c6616a4f9f1d68e9c1dde6ae529925098cc243e7d8361c0ee667cc5f5bf67965881d957791afc82049b2a91b568b5158f6b77c7d43dc4672 DIST zig-powerpc64le-linux-0.14.1.tar.xz 48720956 BLAKE2B b70a031670af1100a282df79edebfb0c6244dee5b36f49c9d902a6c09dd4b77d38f7e69578ae51ecc913fe7e22a5339b4fe5ec33ae4c0f7011aa1d317699cfa7 SHA512 5497837188fe04a9617288f059c2eb2c275b647307b21ac6c4ec6ac305ce88849c7a463e4c1f56acd63e41059fa8bfaf43da4a6f5d3e2b3fe66fe6a7259dd749 DIST zig-powerpc64le-linux-0.14.1.tar.xz.minisig 330 BLAKE2B 3f58fcab727f953ccd29221e88ec07838a3b4afe2084cb7cbfd5140f747b3034b799c00c8b855c1ccdf831f2bcfa86cc9081531e884033602d552900d14d9dfa SHA512 8433a2c06a4489e6776d0af81d7b52ba2311d3d1c94c96e331be8d155f84ce4b4967640709a741b5fd0e436e760d54ccaf9f460a223823caab413a69672402c4 +DIST zig-powerpc64le-linux-0.15.1.tar.xz 53566944 BLAKE2B e22bffa70b7034462386db804e11a91332251b14c45e5e6f875503af6719791ea0af939822c0547b1fb724ce85194db12830b0890d8c8932c4f2d24909bff80d SHA512 67204f857f633a9740b7f4433a2eafd297ebb982905cf244c3045219e7f4cd6ecee6523f2562748bed2e7c2b8787630edf1032d61cece28203fa0f93eb2b5025 +DIST zig-powerpc64le-linux-0.15.1.tar.xz.minisig 330 BLAKE2B 420ca48b76efdf74b338235d019994cd905f4fdbaa1e933a8465743466b771a24c6e5d6f0b86173e25bdd5ba5da0527986ae0756989b61e907acafc45ad4577e SHA512 33c9f0e68a533f98175947044429202de2503cc2e1cf74f4941bfa4a92df05557c36c47b93d4dc8fbc6c845493e02e23ced1a3b08a41bb059012b1c0abbee959 DIST zig-riscv64-linux-0.14.1.tar.xz 48094380 BLAKE2B 927f8e4d73a0f5cfcdf8b44eb9d13711376b9c6ee2c62629867447bb64e2435f5176685ca204e875bba6d391321eadaa32e7a6095517bd1eca48e49120c9914e SHA512 bd641426d3bcbc2e090ee9300dc2203a669412ed8971e127a17186d404f87130782166ca5733e01fa9918574c82c7862ec31ff7eb542bceea611c74621f80686 DIST zig-riscv64-linux-0.14.1.tar.xz.minisig 326 BLAKE2B 4cc71606ea310277f674051a03c524012049d5a276459bb1eb7bca05a6139bf1cc2320c7cbd33c367461dede6d21a251ba543a0bec3ad1b1468c31bc63cef23f SHA512 46c9a598043863f6aa8439444453d252c5ab3e88c7ebea04ee2e2c1a12dd68a4669fde4082de6c5cb8976925330c4d1e8296240b3c033f5075f7422548d3d04a +DIST zig-riscv64-linux-0.15.1.tar.xz 53597792 BLAKE2B 159ee35c603523d54655c84df3d9c775552308fe73e45035095ff20077ab0ef05f64412609239c8c2f120432316fb8276f2e51e8f50cc76a9af9e9d075098e5c SHA512 e95d5ee02263f9a3ffc962b871c2a4237290d608a32c654c340ebbfe473310f2acdd670e121e2aeaf256adc2f6df63eb2ae98e8975a4d7b6c094d206b3941766 +DIST zig-riscv64-linux-0.15.1.tar.xz.minisig 326 BLAKE2B 4ccd409422ce624785f0bf4b588b4b4d58a72b864b4a7d8f93912d2f5ccc0905cd62797a55580e155877f6bade7ecb1f0c25b1def05ff9c2c74c8d44f1974ae2 SHA512 6e1600a8bee53f248203f05fc4b56dea7052f0ff9529dd8adecb11ba929484b8295ed948e197486385b29ea527b1f9cac599417972c0a2ea0a66527da20ca7a1 DIST zig-s390x-linux-0.14.1.tar.xz 55602032 BLAKE2B 6a9ec84ca4990738f999c2b751e53666f56668a648aac2762fc00fca13bb0063904eb2c28878bade58f4cafb79163f44a0e729718ed850361876d094ad41a903 SHA512 edf79bf57304495f952639954e5add91db54213887b75707686548b121d9e1605af1d1d8010ad3f5b54e05b74c122f16edd7708cae8611247716c0a5b37cf82d DIST zig-s390x-linux-0.14.1.tar.xz.minisig 324 BLAKE2B 29175fc5a41849911bca20f2079c7cf3bf74a6954fbf0b6555503a70d9da56f9089540bfc0d1391831147019cb108b467033262174fba6818f1cc0a83472c4d0 SHA512 153734c9b11e56f5009b0875621e6f2444e2f68c25c9be297091483f016a597e0d226a167fff66c64ec5c8b291a026a64f53df10330c08cbc95e1f2fa263b3a2 +DIST zig-s390x-linux-0.15.1.tar.xz 53508068 BLAKE2B f51f32c8b716dbab830d996982d8e1f587bedf91d5fc377866bd57a5c5569a7e993cb9383209c228440b23ef5fc4f2ec0e04072c3f80fe3de89849a132d81dae SHA512 d0bd692bb57c32d2e56ddaa01e33b73d48fda8b5a546c4f7148249c81395181686dbf8ddbd5154df9a8d929c902c075308978cd2df147aebe118c87811cbaab9 +DIST zig-s390x-linux-0.15.1.tar.xz.minisig 324 BLAKE2B a0d3b9913898c99a0199cf0a5e0bb84484e4da55da8cb3f5ac4a7cc26584342df7ea6df7d5fcc59f3b943d2a382b6664c64dde7de5bda7908cad01751373d5cb SHA512 bffad324f68a5e58ff94bd182fd168e7cf5c35b7db670105a677e1152f4046d74b4a1bb4ee776b7146469a4d72d5c2187621b8c6c7e2f1079cbadccc63f98c5f DIST zig-x86-linux-0.14.1.tar.xz 51643520 BLAKE2B cd8c17720a1a0d0b7f37c54b4e2e13c10d32875783682ebdf28801801204f6cb156fdf5912379b868dbb7f44752b7b56b1e43ffd9d23dfc39e46e395ac4b5f3b SHA512 a1cfed87bbcce9bfd11dceaa59c44682e6d5eee2defdbc14a9120cb282c01fa9a9a640f5c195d8d8858a9ab612d642bbc19342fcf298c02fc25696e797284bbe DIST zig-x86-linux-0.14.1.tar.xz.minisig 322 BLAKE2B cbfd887890ffe25dcd527bc04554eb7ee5dfca63d06828a93897fffc0a617cc03107bd6806b92e7f2492f2b62a9dbca2be5d81ca8f90a3f361f051b4edf61402 SHA512 21723b8d429b7cd79e8b76b8e69ea12eab54a6d6d636d5c8e85e4fd180080a2fe377eebd1dd626551f6af470a71943ced0bfa09ab13dfdf983d4c4bcf74d99e6 +DIST zig-x86-linux-0.15.1.tar.xz 56311228 BLAKE2B 2f19b3b46be4eedc05a93731ffc3ac3a67cbc8f8336930a652122d5b90135896217ad37472c6b9fdda6c54408a17ce351a15cbbb78559f7a1480918a4c2e5d42 SHA512 67c2493420b01d41218f992ee4fa801ca6a4f1ced7a09d927a750187bff5f5af9b49ee02b0516b6e76692ae0cb518d73adc1964345c2ca80d658914af3bb5947 +DIST zig-x86-linux-0.15.1.tar.xz.minisig 322 BLAKE2B 22337b1a7678365f3c36744b3f5e11400c34fe793dd2b9595ffa49ee78ea1eaf755ab7f342a679b18acc2b2f02db9703f18f9b6675346cbeb58deb15630f4702 SHA512 3d0a355d642fcc69a77e51e660f1c2d8e973555e31853b263a7f03adbb38277897f17be036f205dc835ecafc90ae0c69a95d2f66a802bb17e3cc6bc6c4f084d0 DIST zig-x86_64-linux-0.14.1.tar.xz 49086504 BLAKE2B c9e50c7f6d1df3de4579671069e0d6609f81767e7a47d5c5a60e5f07b0583da1e5531c0ba7a7cc331efe87df123f2ec6bca68b34ef20f94352317810957000cd SHA512 7434388df6569e8319daf974ddb564013ffa6441ddef9517d648512e3f260c7ab52ee70ab80d5d56e5b9ee15df203c8834db181752576e130c875a7414677f34 DIST zig-x86_64-linux-0.14.1.tar.xz.minisig 325 BLAKE2B 61820da772bbdb4f6a15908f2b39938a25595f6e247d7bd1e33f05d0b02b2fa0e865ec834eb0fa760dc25e97aa4c5f88182fcf0055c8ed0edf498300685c69ea SHA512 897d40004f434dfc88223bf2d074c317ebe65289e55eb77570a0ae253dcc807f9bf5b77e3ff7e4152fb3d0179a98851c1210ff3e81410bbf24ce645d85a597e3 +DIST zig-x86_64-linux-0.15.1.tar.xz 53734456 BLAKE2B 4e14bfe9fce7416ac398bd361c45194beae60d0e258bc01600e7c6df21a71b3b43198c9de9a26f807b4cda404541d44b1fc2d5f3b66ea78ac3a66780b4f3ee16 SHA512 b48538e3196638faee0756f03db195d5460ff2ea2c05c42c9cf836a90907e324083d3e4d1d4c25197c8f4fed11ebca10a7c56f19f2e108abfb411c7a0b5582ea +DIST zig-x86_64-linux-0.15.1.tar.xz.minisig 325 BLAKE2B 6b431b122e3b2d16f7469113a603a2fc637ddaccf4e50c0ced57ce6e4b9e6c3bd8b5e133f92c58514b4d08cddc319a6e2d4f87e4625e05392aa0bcd5def006fd SHA512 e8f4dbfad9ac25df088d3030de4890d17b30e8430c1e1738c0d77e8c00d4da4801e1d2567d982fd0559a485f3d55f9eb8abebae076500d8a2092e32ccf630c9f diff --git a/dev-lang/zig-bin/files/zig-0.15.1-reduce-command-new-writer.patch b/dev-lang/zig-bin/files/zig-0.15.1-reduce-command-new-writer.patch new file mode 100644 index 000000000000..07bb44b3cfa7 --- /dev/null +++ b/dev-lang/zig-bin/files/zig-0.15.1-reduce-command-new-writer.patch @@ -0,0 +1,175 @@ +# https://github.com/ziglang/zig/pull/24928 + +From: Justus Klausecker + +zig reduce: adapt to new Writer API + +diff --git a/lib/compiler/reduce.zig b/lib/compiler/reduce.zig +index d9955b9e3383..b20a2fcba318 100644 +--- a/lib/compiler/reduce.zig ++++ b/lib/compiler/reduce.zig +@@ -114,10 +114,10 @@ pub fn main() !void { + interestingness_argv.appendAssumeCapacity(checker_path); + interestingness_argv.appendSliceAssumeCapacity(argv); + +- var rendered = std.array_list.Managed(u8).init(gpa); ++ var rendered: std.Io.Writer.Allocating = .init(gpa); + defer rendered.deinit(); + +- var astgen_input = std.array_list.Managed(u8).init(gpa); ++ var astgen_input: std.Io.Writer.Allocating = .init(gpa); + defer astgen_input.deinit(); + + var tree = try parse(gpa, root_source_file_path); +@@ -138,10 +138,10 @@ pub fn main() !void { + } + } + +- var fixups: Ast.Fixups = .{}; ++ var fixups: Ast.Render.Fixups = .{}; + defer fixups.deinit(gpa); + +- var more_fixups: Ast.Fixups = .{}; ++ var more_fixups: Ast.Render.Fixups = .{}; + defer more_fixups.deinit(gpa); + + var rng = std.Random.DefaultPrng.init(seed); +@@ -188,15 +188,14 @@ pub fn main() !void { + try transformationsToFixups(gpa, arena, root_source_file_path, this_set, &fixups); + + rendered.clearRetainingCapacity(); +- try tree.renderToArrayList(&rendered, fixups); ++ try tree.render(gpa, &rendered.writer, fixups); + + // The transformations we applied may have resulted in unused locals, + // in which case we would like to add the respective discards. + { +- try astgen_input.resize(rendered.items.len); +- @memcpy(astgen_input.items, rendered.items); +- try astgen_input.append(0); +- const source_with_null = astgen_input.items[0 .. astgen_input.items.len - 1 :0]; ++ try astgen_input.writer.writeAll(rendered.written()); ++ try astgen_input.writer.writeByte(0); ++ const source_with_null = astgen_input.written()[0..(astgen_input.written().len - 1) :0]; + var astgen_tree = try Ast.parse(gpa, source_with_null, .zig); + defer astgen_tree.deinit(gpa); + if (astgen_tree.errors.len != 0) { +@@ -228,12 +227,12 @@ pub fn main() !void { + } + if (more_fixups.count() != 0) { + rendered.clearRetainingCapacity(); +- try astgen_tree.renderToArrayList(&rendered, more_fixups); ++ try astgen_tree.render(gpa, &rendered.writer, more_fixups); + } + } + } + +- try std.fs.cwd().writeFile(.{ .sub_path = root_source_file_path, .data = rendered.items }); ++ try std.fs.cwd().writeFile(.{ .sub_path = root_source_file_path, .data = rendered.written() }); + // std.debug.print("trying this code:\n{s}\n", .{rendered.items}); + + const interestingness = try runCheck(arena, interestingness_argv.items); +@@ -273,8 +272,8 @@ pub fn main() !void { + // Revert the source back to not be transformed. + fixups.clearRetainingCapacity(); + rendered.clearRetainingCapacity(); +- try tree.renderToArrayList(&rendered, fixups); +- try std.fs.cwd().writeFile(.{ .sub_path = root_source_file_path, .data = rendered.items }); ++ try tree.render(gpa, &rendered.writer, fixups); ++ try std.fs.cwd().writeFile(.{ .sub_path = root_source_file_path, .data = rendered.written() }); + + return std.process.cleanExit(); + } +@@ -318,7 +317,7 @@ fn transformationsToFixups( + arena: Allocator, + root_source_file_path: []const u8, + transforms: []const Walk.Transformation, +- fixups: *Ast.Fixups, ++ fixups: *Ast.Render.Fixups, + ) !void { + fixups.clearRetainingCapacity(); + +@@ -359,7 +358,7 @@ fn transformationsToFixups( + other_file_ast.deinit(gpa); + } + +- var inlined_fixups: Ast.Fixups = .{}; ++ var inlined_fixups: Ast.Render.Fixups = .{}; + defer inlined_fixups.deinit(gpa); + if (std.fs.path.dirname(inline_imported_file.imported_string)) |dirname| { + inlined_fixups.rebase_imported_paths = dirname; +@@ -382,16 +381,16 @@ fn transformationsToFixups( + } + } + +- var other_source = std.array_list.Managed(u8).init(gpa); ++ var other_source: std.io.Writer.Allocating = .init(gpa); + defer other_source.deinit(); +- try other_source.appendSlice("struct {\n"); +- try other_file_ast.renderToArrayList(&other_source, inlined_fixups); +- try other_source.appendSlice("}"); ++ try other_source.writer.writeAll("struct {\n"); ++ try other_file_ast.render(gpa, &other_source.writer, inlined_fixups); ++ try other_source.writer.writeAll("}"); + + try fixups.replace_nodes_with_string.put( + gpa, + inline_imported_file.builtin_call_node, +- try arena.dupe(u8, other_source.items), ++ try arena.dupe(u8, other_source.written()), + ); + }, + }; +diff --git a/lib/compiler/reduce/Walk.zig b/lib/compiler/reduce/Walk.zig +index 4e41fdf1a2a9..7a448fad2172 100644 +--- a/lib/compiler/reduce/Walk.zig ++++ b/lib/compiler/reduce/Walk.zig +@@ -501,6 +501,10 @@ fn walkExpression(w: *Walk, node: Ast.Node.Index) Error!void { + .@"asm", + => return walkAsm(w, ast.fullAsm(node).?), + ++ .asm_legacy => { ++ return walkAsmLegacy(w, ast.legacyAsm(node).?); ++ }, ++ + .enum_literal => { + return walkIdentifier(w, ast.nodeMainToken(node)); // name + }, +@@ -665,7 +669,7 @@ fn walkStructInit( + + fn walkCall(w: *Walk, call: Ast.full.Call) Error!void { + try walkExpression(w, call.ast.fn_expr); +- try walkParamList(w, call.ast.params); ++ try walkExpressions(w, call.ast.params); + } + + fn walkSlice( +@@ -830,7 +834,7 @@ fn walkWhile(w: *Walk, node_index: Ast.Node.Index, while_node: Ast.full.While) E + } + + fn walkFor(w: *Walk, for_node: Ast.full.For) Error!void { +- try walkParamList(w, for_node.ast.inputs); ++ try walkExpressions(w, for_node.ast.inputs); + try walkExpression(w, for_node.ast.then_expr); + if (for_node.ast.else_expr.unwrap()) |else_expr| { + try walkExpression(w, else_expr); +@@ -874,15 +878,12 @@ fn walkIf(w: *Walk, node_index: Ast.Node.Index, if_node: Ast.full.If) Error!void + + fn walkAsm(w: *Walk, asm_node: Ast.full.Asm) Error!void { + try walkExpression(w, asm_node.ast.template); +- for (asm_node.ast.items) |item| { +- try walkExpression(w, item); +- } ++ try walkExpressions(w, asm_node.ast.items); + } + +-fn walkParamList(w: *Walk, params: []const Ast.Node.Index) Error!void { +- for (params) |param_node| { +- try walkExpression(w, param_node); +- } ++fn walkAsmLegacy(w: *Walk, asm_node: Ast.full.AsmLegacy) Error!void { ++ try walkExpression(w, asm_node.ast.template); ++ try walkExpressions(w, asm_node.ast.items); + } + + /// Check if it is already gutted (i.e. its body replaced with `@trap()`). diff --git a/dev-lang/zig-bin/zig-bin-0.15.1.ebuild b/dev-lang/zig-bin/zig-bin-0.15.1.ebuild new file mode 100644 index 000000000000..13f5f39824d3 --- /dev/null +++ b/dev-lang/zig-bin/zig-bin-0.15.1.ebuild @@ -0,0 +1,88 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_METHOD=minisig +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/minisig-keys/zig-software-foundation.pub +inherit verify-sig + +DESCRIPTION="A robust, optimal, and maintainable programming language" +HOMEPAGE="https://ziglang.org/" +SRC_URI=" + amd64? ( https://ziglang.org/download/${PV}/zig-x86_64-linux-${PV}.tar.xz ) + arm? ( https://ziglang.org/download/${PV}/zig-arm-linux-${PV}.tar.xz ) + arm64? ( https://ziglang.org/download/${PV}/zig-aarch64-linux-${PV}.tar.xz ) + loong? ( https://ziglang.org/download/${PV}/zig-loongarch64-linux-${PV}.tar.xz ) + ppc64? ( https://ziglang.org/download/${PV}/zig-powerpc64le-linux-${PV}.tar.xz ) + riscv? ( https://ziglang.org/download/${PV}/zig-riscv64-linux-${PV}.tar.xz ) + s390? ( https://ziglang.org/download/${PV}/zig-s390x-linux-${PV}.tar.xz ) + x86? ( https://ziglang.org/download/${PV}/zig-x86-linux-${PV}.tar.xz ) + verify-sig? ( + amd64? ( https://ziglang.org/download/${PV}/zig-x86_64-linux-${PV}.tar.xz.minisig ) + arm? ( https://ziglang.org/download/${PV}/zig-arm-linux-${PV}.tar.xz.minisig ) + arm64? ( https://ziglang.org/download/${PV}/zig-aarch64-linux-${PV}.tar.xz.minisig ) + loong? ( https://ziglang.org/download/${PV}/zig-loongarch64-linux-${PV}.tar.xz.minisig ) + ppc64? ( https://ziglang.org/download/${PV}/zig-powerpc64le-linux-${PV}.tar.xz.minisig ) + riscv? ( https://ziglang.org/download/${PV}/zig-riscv64-linux-${PV}.tar.xz.minisig ) + s390? ( https://ziglang.org/download/${PV}/zig-s390x-linux-${PV}.tar.xz.minisig ) + x86? ( https://ziglang.org/download/${PV}/zig-x86-linux-${PV}.tar.xz.minisig ) + ) +" + +# 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)" +KEYWORDS="-* ~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~s390 ~x86" + +BDEPEND="verify-sig? ( sec-keys/minisig-keys-zig-software-foundation )" +IDEPEND="app-eselect/eselect-zig" + +DOCS=( "README.md" ) +HTML_DOCS=( "doc/langref.html" ) + +# Zig provides its standard library and some compiler code in source form "/opt/zig-bin-{PV}/lib/". +# Here we use this feature to fix programs that use standard library. +# Note: Zig build system is also part of standard library, so we can fix it too. +# Don't remove this comment so that other contributors won't be misleaded by "-bin" suffix. +PATCHES=( + "${FILESDIR}/zig-${PV}-reduce-command-new-writer.patch" +) + +QA_PREBUILT="opt/zig-bin-${PV}/zig" + +src_unpack() { + verify-sig_src_unpack + + mv "${WORKDIR}/"* "${S}" || die +} + +src_install() { + insinto /opt/ + + einstalldocs + rm README.md || die + rm -r ./doc/ || die + + doins -r "${S}" + fperms 0755 /opt/zig-bin-${PV}/zig + dosym -r /opt/zig-bin-${PV}/zig /usr/bin/zig-bin-${PV} +} + +pkg_postinst() { + eselect zig update ifunset || die +} + +pkg_postrm() { + eselect zig update ifunset +}