git: 59e39f7dbeb5 - main - devel/superhtml: Update to 0.7.0

From: Gleb Popov <arrowd_at_FreeBSD.org>
Date: Tue, 16 Jun 2026 14:44:18 UTC
The branch main has been updated by arrowd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=59e39f7dbeb5a405c8e69412077b3086744bced1

commit 59e39f7dbeb5a405c8e69412077b3086744bced1
Author:     David Marker <dave@freedave.net>
AuthorDate: 2026-06-16 12:48:16 +0000
Commit:     Gleb Popov <arrowd@FreeBSD.org>
CommitDate: 2026-06-16 14:44:02 +0000

    devel/superhtml: Update to 0.7.0
    
    Differential Revision: https://reviews.freebsd.org/D57530
---
 devel/superhtml/Makefile                     |  9 ++-------
 devel/superhtml/Makefile.zig                 | 10 ++++++++++
 devel/superhtml/distinfo                     | 24 +++++++++++++---------
 devel/superhtml/files/patch-build.zig        | 30 ++++++++++++++++++++++++++++
 devel/superhtml/files/patch-build.zig.zon    | 28 ++++++++++++++++++++++++++
 devel/superhtml/files/patch-src_template.zig | 17 ++++++++++++++++
 6 files changed, 102 insertions(+), 16 deletions(-)

diff --git a/devel/superhtml/Makefile b/devel/superhtml/Makefile
index 2e1469834482..c1e0d6f8a384 100644
--- a/devel/superhtml/Makefile
+++ b/devel/superhtml/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	superhtml
 DISTVERSIONPREFIX=	v
-DISTVERSION=	0.6.2
+DISTVERSION=	0.7.0
 CATEGORIES=	devel
 
 MAINTAINER=	dave@freedave.net
@@ -10,7 +10,7 @@ WWW=		https://zine-ssg.io/docs/superhtml
 LICENSE=	MIT
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-USES=		zig:015
+USES=		zig
 
 USE_GITHUB=	yes
 GH_ACCOUNT=	kristoff-it
@@ -18,11 +18,6 @@ GH_PROJECT=	${PORTNAME}
 
 PLIST_FILES=	bin/superhtml
 
-ZIG_TUPLE=	known_folders:github.com/ziglibs/known-folders/archive/ab5cf5feb936fa3b72c95d3ad0c0c6779.tar.gz:known_folders-0.0.0-Fy-PJtTTAADUOhGKM0sxzG4eMkNQxRvx9e5dfHVyaeA3 \
-		lsp_kit:github.com/zigtools/lsp-kit/archive/fe98e895ca3bd1b39965ab30f0f252f7b.tar.gz:lsp_kit-0.1.0-bi_PLzAyCgClDh8_M0U9Q50ysdsQBuRuBTZfwg6rZPd6 \
-		scripty:github.com/kristoff-it/scripty/archive/50dbab8945440089384f26ec165d870c2.tar.gz:scripty-0.1.0-LKK5O7v4AADWWXuFcTJky_5sY12tmw3kRi3k2wkpfxAX \
-		tracy:github.com/kristoff-it/tracy/archive/67d2d89e351048c76fc6d161e0ac09d8a.tar.gz:tracy-0.0.0-4Xw-1pwwAABTfMgoDP1unCbZDZhJEfict7XCBGF6IdIn
-
 # `make WITH_DEBUG=yes test` to test against debug build
 do-test:
 	cd ${BUILD_WRKSRC} && ${DO_MAKE_BUILD:S/build/build test --summary all/}
diff --git a/devel/superhtml/Makefile.zig b/devel/superhtml/Makefile.zig
new file mode 100644
index 000000000000..ac16ab9708a8
--- /dev/null
+++ b/devel/superhtml/Makefile.zig
@@ -0,0 +1,10 @@
+# XXX These are modified from actual versions used by 0.7.0
+#     They are as close as we can get while still using zig 0.16.x instead of
+#     zig 0.17.0-dev (not available in ports ... yet)
+ZIG_TUPLE=      AFLplusplus:github.com/AFLplusplus/AFLplusplus/archive/v4.21c.tar.gz:N-V-__8AAKE4uAAJZgEcPdaXnWqoj-IwYf3G2h9YSm-x92gg \
+                AFLplusplus:github.com/allyourcodebase/AFLplusplus/archive/7e65eb4262688a120bf830d145060aac0.tar.gz:AFLplusplus-4.21.0-aA1y4dZxAAAhqDy_JoRw3zwNSg8MenEGP7uJI_xNcYuV \
+		afl_kit:github.com/kristoff-it/zig-afl-kit/archive/395c39d5b33d999f6871a90bd731ec112.tar.gz:afl_kit-0.1.0-NdJ3ch8eAABQkd1wk2W-JDCvvX5Jmnu3uJulS3lPepG7 \
+		known_folders:github.com/ziglibs/known-folders/archive/207c34a16e4365edc20d92c7892f962b3.tar.gz:known_folders-0.0.0-Fy-PJsbKAACbDh9bBxR0MMThxZSS6A9RH4apWphNHY70 \
+		lsp_kit:github.com/zigtools/lsp-kit/archive/cf0ff08ac00301859656bbd4a5af6fcb8.tar.gz:lsp_kit-0.1.0-bi_PL8cxDAAxREwBYHZFTGG2xVuzAjgnZPMmwiajkFu0 \
+		scripty:github.com/kristoff-it/scripty/archive/77f2eac9d31ea9b8eb9eec494b2c0a318.tar.gz:scripty-0.1.0-LKK5O6wTAQC9Z751KlmpGsHLadbbNYXA7vrdGesxSZl- \
+		tracy:github.com/kristoff-it/tracy/archive/67d2d89e351048c76fc6d161e0ac09d8a.tar.gz:tracy-0.0.0-4Xw-1pwwAABTfMgoDP1unCbZDZhJEfict7XCBGF6IdIn
diff --git a/devel/superhtml/distinfo b/devel/superhtml/distinfo
index f7a2b343fd36..ed6c6c8f3208 100644
--- a/devel/superhtml/distinfo
+++ b/devel/superhtml/distinfo
@@ -1,11 +1,17 @@
-TIMESTAMP = 1773684846
-SHA256 (zig/ab5cf5feb936fa3b72c95d3ad0c0c6779.tar.gz) = 55a2380907da5e30a3a9991d73d5b4a1372a2c2bd508da4dad96c127a10625e9
-SIZE (zig/ab5cf5feb936fa3b72c95d3ad0c0c6779.tar.gz) = 12569
-SHA256 (zig/fe98e895ca3bd1b39965ab30f0f252f7b.tar.gz) = 46c57bad1922899bfae68e2d30a363061242dc2e808d6f27fc92ea8fe74c92db
-SIZE (zig/fe98e895ca3bd1b39965ab30f0f252f7b.tar.gz) = 100656
-SHA256 (zig/50dbab8945440089384f26ec165d870c2.tar.gz) = 18325156728c48236270812947b4a1d24f9767899c771ddd21bfdb99b581fd30
-SIZE (zig/50dbab8945440089384f26ec165d870c2.tar.gz) = 12473
+TIMESTAMP = 1781102610
+SHA256 (zig/v4.21c.tar.gz) = 11f7c77d37cff6e7f65ac7cc55bab7901e0c6208e845a38764394d04ed567b30
+SIZE (zig/v4.21c.tar.gz) = 3004235
+SHA256 (zig/7e65eb4262688a120bf830d145060aac0.tar.gz) = ed670033d925563091323622e465665540abedce999552b7bf04ffd0e2bc050f
+SIZE (zig/7e65eb4262688a120bf830d145060aac0.tar.gz) = 7271
+SHA256 (zig/395c39d5b33d999f6871a90bd731ec112.tar.gz) = 573ce3455468311df43ffa573d6049593d558076b74e8203327eabeca10fca1c
+SIZE (zig/395c39d5b33d999f6871a90bd731ec112.tar.gz) = 6165
+SHA256 (zig/207c34a16e4365edc20d92c7892f962b3.tar.gz) = 03fb841c2debc62c90c600f7e32d9ea21a106e79215114eec705b604d142fce8
+SIZE (zig/207c34a16e4365edc20d92c7892f962b3.tar.gz) = 11867
+SHA256 (zig/cf0ff08ac00301859656bbd4a5af6fcb8.tar.gz) = cfd0570290d2e2fbab0a1ce2197c635367fe1c1b2ad6cb6300682bd95a0e359a
+SIZE (zig/cf0ff08ac00301859656bbd4a5af6fcb8.tar.gz) = 119385
+SHA256 (zig/77f2eac9d31ea9b8eb9eec494b2c0a318.tar.gz) = 5f7ead4c7cedf2e9d63994de09f7332fd58d6f6cdce54b4a2b497564c06e7f61
+SIZE (zig/77f2eac9d31ea9b8eb9eec494b2c0a318.tar.gz) = 15487
 SHA256 (zig/67d2d89e351048c76fc6d161e0ac09d8a.tar.gz) = a54d405e7ffadcc5f2e441b361226666e61df1acf3ac18045f2771df0cf26b3f
 SIZE (zig/67d2d89e351048c76fc6d161e0ac09d8a.tar.gz) = 3933
-SHA256 (zig/kristoff-it-superhtml-v0.6.2_GH0.tar.gz) = 431d7189501e1b2e8da53c3ca8d6e7f1c642b523f3715c21cb8bfd2f8eef3971
-SIZE (zig/kristoff-it-superhtml-v0.6.2_GH0.tar.gz) = 2639671
+SHA256 (zig/kristoff-it-superhtml-v0.7.0_GH0.tar.gz) = 92b2b76e6a38ac0aa2e10fe13ce4131366c2f1bb3d13131687aa8a2df82de82a
+SIZE (zig/kristoff-it-superhtml-v0.7.0_GH0.tar.gz) = 2665596
diff --git a/devel/superhtml/files/patch-build.zig b/devel/superhtml/files/patch-build.zig
new file mode 100644
index 000000000000..6cc167344602
--- /dev/null
+++ b/devel/superhtml/files/patch-build.zig
@@ -0,0 +1,30 @@
+--- build.zig.orig	2026-06-09 15:40:29 UTC
++++ build.zig
+@@ -228,7 +228,7 @@ fn setupCliTool(
+     super_cli.root_module.addOptions("build_options", options);
+ 
+     const run_exe = b.addRunArtifact(super_cli);
+-    run_exe.addPassthruArgs();
++    if (b.args) |args| run_exe.addArgs(args);
+     const run_exe_step = b.step("run", "Run the SuperHTML CLI");
+     run_exe_step.dependOn(&run_exe.step);
+ 
+@@ -429,14 +429,14 @@ fn getGitVersion(b: *std.Build) Version {
+ };
+ 
+ fn getGitVersion(b: *std.Build) Version {
+-    const git_path = b.findProgram(.{ .names = &.{"git"} }) orelse return .unknown;
++    const git_path = b.findProgram(&.{"git"}, &.{}) catch return .unknown;
+     var out: u8 = undefined;
+     const git_describe = std.mem.trim(
+         u8,
+         b.runAllowFail(&[_][]const u8{
+-            git_path,               "-C",
+-            b.root.root_dir.path.?, "describe",
+-            "--match",              "*.*.*",
++            git_path,            "-C",
++            b.build_root.path.?, "describe",
++            "--match",           "*.*.*",
+             "--tags",
+         }, &out, .ignore) catch return .unknown,
+         " \n\r",
diff --git a/devel/superhtml/files/patch-build.zig.zon b/devel/superhtml/files/patch-build.zig.zon
new file mode 100644
index 000000000000..a42ab484ce63
--- /dev/null
+++ b/devel/superhtml/files/patch-build.zig.zon
@@ -0,0 +1,28 @@
+--- build.zig.zon.orig	2026-06-10 13:55:24 UTC
++++ build.zig.zon
+@@ -2,7 +2,7 @@
+     .name = .superhtml,
+     .version = "0.7.0",
+     .fingerprint = 0xc5e9aede3c1db363,
+-    .minimum_zig_version = "0.17.0-dev.702+18b3c78a9",
++    .minimum_zig_version = "0.16.0",
+     .dependencies = .{
+         .known_folders = .{
+             .url = "git+https://github.com/ziglibs/known-folders#207c34a16e4365edc20d92c7892f962b3bed46e8",
+@@ -13,12 +13,12 @@
+             .hash = "tracy-0.0.0-4Xw-1pwwAABTfMgoDP1unCbZDZhJEfict7XCBGF6IdIn",
+         },
+         .lsp_kit = .{
+-            .url = "git+https://github.com/zigtools/lsp-kit#dcbb8dd686d85a8f178a4389e730d41dd727b991",
+-            .hash = "lsp_kit-0.1.0-bi_PL2UzDADxFRnnSjhhN7-ZTi9fDMom827yIp_ptc8l",
++            .url = "git+https://github.com/zigtools/lsp-kit#cf0ff08ac00301859656bbd4a5af6fcb889497e4",
++            .hash = "lsp_kit-0.1.0-bi_PL8cxDAAxREwBYHZFTGG2xVuzAjgnZPMmwiajkFu0",
+         },
+         .scripty = .{
+-            .url = "git+https://github.com/kristoff-it/scripty#ad75ad546bc7dd2ece4acd23404e25cd65a4bde9",
+-            .hash = "scripty-0.1.0-LKK5O-sUAQDifuGq_k00NAdEgJjNxXoFTt9js_A7Yx4F",
++            .url = "git+https://github.com/kristoff-it/scripty#77f2eac9d31ea9b8eb9eec494b2c0a318bfe4ec6",
++            .hash = "scripty-0.1.0-LKK5O6wTAQC9Z751KlmpGsHLadbbNYXA7vrdGesxSZl-",
+         },
+         .afl_kit = .{
+             .url = "git+https://github.com/kristoff-it/zig-afl-kit#e9b5dfc14c06133786a09214709316dc9fb54bd9",
diff --git a/devel/superhtml/files/patch-src_template.zig b/devel/superhtml/files/patch-src_template.zig
new file mode 100644
index 000000000000..4051e55f76b9
--- /dev/null
+++ b/devel/superhtml/files/patch-src_template.zig
@@ -0,0 +1,17 @@
+--- src/template.zig.orig	2026-06-09 15:40:29 UTC
++++ src/template.zig
+@@ -1233,12 +1233,12 @@ pub fn SuperTemplate(comptime ScriptyVM: type) type {
+         }
+ 
+         pub fn setContext(tpl: Template, script_ctx: RootRef) void {
+-            script_ctx.loop = if (tpl.loop_stack.getLast()) |last|
++            script_ctx.loop = if (tpl.loop_stack.getLastOrNull()) |last|
+                 last.iterator
+             else
+                 null;
+ 
+-            script_ctx.@"if" = if (tpl.if_stack.getLast()) |last|
++            script_ctx.@"if" = if (tpl.if_stack.getLastOrNull()) |last|
+                 last.value
+             else
+                 null;