From nobody Fri Mar 27 19:49:33 2026 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjB771XRNz6WNGj for ; Fri, 27 Mar 2026 19:49:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fjB765nz2z3mmm for ; Fri, 27 Mar 2026 19:49:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774640978; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Po1KIhjdjo5oOHyAGSjdScbEcEXh6dRtd9pmaeKl3Lk=; b=wa9vZ8UPE1QKSlp75RBWBE1Zhh5biWiUZptKCENeIBiJKnvA6q//26o6UiZZf6w4bcbuny TU7FwNWkiDdDqmt5N+LfzRXJJep5KJAg3L2U4WcsUCx5vjwS8dSB/2cRnlM/cEwJxCQD8b DE7yq3/U/dcI5oDEMHjGUih/MmUQE/ESmttwS9nt6VOp2AlBbh7+86rW2bYO4E+rmliSiL 5lgvrSWnxFSnTC1aA7vuD4Qv0/Rbc1kKMl37FFUFz3om3bGIb2uvOMRpTH6AQ0LAASdPE6 /rIoctPZqE5dPoO18u/HYF22Q0ceaJc/Eh0kpMuXzbr3vq7XzBBovyBtFp91mg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774640978; a=rsa-sha256; cv=none; b=WvDKkZswC5ZNtE+u1IH/YoYRLzPco4chPIDfd1U+2JUXxH5lnnwsjimivnn4LGeFrekfyx +kjAXrc4BmS8+svPT0GDPLDIvF3F4mD/eXg1ur6WPBxYEjrnBI904c8cpTtS3UQgMw0hZM 3IYv70K4kmwlOqqu/IplvY+6TVJjVe6oeCGK4U7ivnljGLTYm1kV6Nu5vRfMmPdbW7KpRc GuA3E4AwpeANeINhVisq8z/Ov3dsvUGgBvGjvIQzL8/Q2N26+72+GDUPHuti8xhiNKpSph 0wDTz/MAQ4eoeAqKjE9X4XPlk/D+0uccfbHtsDCfN+H0Jpi7oDaTU7IlrT/gdg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774640978; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Po1KIhjdjo5oOHyAGSjdScbEcEXh6dRtd9pmaeKl3Lk=; b=IsRIf5IEFcB36pBbRHq9KyZPlOD81eMULqgyff9/tDA7H6BEd4x7fETDzL85MsYJJl8gBE 6ViXmtRATPf4nrXjn0uDjTnv95gFmlP+y8fWz+Yk2fyhOpTXJbgjoq/5W90G452+CBNzPP 3a47mRvL44WiCtes1YS12mgl/WdgFZgacIl1fHmF2UUTlZphSI8g5oCIBhisMzZ3Rk8BU0 8plN23yUMyCctjrPIy9itnQVPcEvdxLbttnshX7GG22J7ed2WVrNHTMV9jVJihAsZE3lL5 ZtRP1iEZuX6leJziuvbsL5SFC31URJ8LHQNSsNVx/VHYEaD6X8QqABXAFmLj6Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fjB764jtZzskg for ; Fri, 27 Mar 2026 19:49:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 203a3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 19:49:33 +0000 To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Cc: Dave Marker From: Adam Weinberger Subject: git: e93d209b4fac - main - www/zine-ssg: Add port List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-main@freebsd.org Sender: owner-dev-commits-ports-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adamw X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e93d209b4fac2663214a3a3f9866c9917fe3061e Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 19:49:33 +0000 Message-Id: <69c6df4d.203a3.3bafb3bb@gitrepo.freebsd.org> The branch main has been updated by adamw: URL: https://cgit.FreeBSD.org/ports/commit/?id=e93d209b4fac2663214a3a3f9866c9917fe3061e commit e93d209b4fac2663214a3a3f9866c9917fe3061e Author: Dave Marker AuthorDate: 2026-03-27 19:42:49 +0000 Commit: Adam Weinberger CommitDate: 2026-03-27 19:49:13 +0000 www/zine-ssg: Add port Zine is a static site generator similar in concept to www/gohugo. Zine turns your content into HTML, styles it using your layouts, and finally copies the result into an output directory that you can then publish on static hosting services like GitHub Pages. Zine has a companion port, devel/superhtml which acts as an LSP for the markdown content and HTML layouts. Differential Revision: https://reviews.freebsd.org/D55877 --- www/Makefile | 1 + www/zine-ssg/Makefile | 44 +++++++++++++++++++++++++++ www/zine-ssg/Makefile.zig | 24 +++++++++++++++ www/zine-ssg/distinfo | 49 ++++++++++++++++++++++++++++++ www/zine-ssg/files/patch-build.zig | 36 ++++++++++++++++++++++ www/zine-ssg/files/patch-build.zig.zon | 13 ++++++++ www/zine-ssg/files/patch-src_cli_serve.zig | 10 ++++++ www/zine-ssg/pkg-descr | 8 +++++ 8 files changed, 185 insertions(+) diff --git a/www/Makefile b/www/Makefile index e04b64aaf7cc..f8c1d45deb72 100644 --- a/www/Makefile +++ b/www/Makefile @@ -2741,6 +2741,7 @@ SUBDIR += yuicompressor SUBDIR += zenphoto SUBDIR += zerowait-httpd + SUBDIR += zine-ssg SUBDIR += zgrab2 SUBDIR += zola diff --git a/www/zine-ssg/Makefile b/www/zine-ssg/Makefile new file mode 100644 index 000000000000..6f23c6b1ba97 --- /dev/null +++ b/www/zine-ssg/Makefile @@ -0,0 +1,44 @@ +PORTNAME= zine-ssg +DISTVERSIONPREFIX= v +DISTVERSION= 0.11.2 +CATEGORIES= www + +MAINTAINER= dave@freedave.net +COMMENT= Fast and Flexible Static Site Generator +WWW= https://zine-ssg.io + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +# This is needed to run `make test`. +TEST_DEPENDS= git:devel/git + +USES= inotify zig + +USE_GITHUB= yes +GH_ACCOUNT= kristoff-it +GH_PROJECT= zine + +CONFLICTS_INSTALL= zine + +PLIST_FILES= bin/zine + +.include + +post-patch: +.if defined(INOTIFY_PORT) + ${REINPLACE_CMD} -e 's|%INOTIFY_GUARD%||' ${WRKSRC}/build.zig +.else + # comment out of builds for FreeBSD15+ + ${REINPLACE_CMD} -e 's|%INOTIFY_GUARD%|// |' ${WRKSRC}/build.zig +.endif + +# zine needs to test with a git repo which the ports build system goes out of +# its way to *not* use. So step 1 is to create the git repo... its just for the test +# Also we have to remove the -D... and --release... flags. zine is using "snapshot" +# testing and changing args breaks that. +do-test: + cd ${BUILD_WRKSRC} && ${RM} -r .git && git init . && git add tests && git commit -m 'tests' + cd ${BUILD_WRKSRC} && ${DO_MAKE_BUILD:N-D*:N--release=*:S/build/build test --summary all/} + +.include diff --git a/www/zine-ssg/Makefile.zig b/www/zine-ssg/Makefile.zig new file mode 100644 index 000000000000..38a6d74b1610 --- /dev/null +++ b/www/zine-ssg/Makefile.zig @@ -0,0 +1,24 @@ +# had to advance afl_kit for zig 0.15.2 +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 \ + cbor:github.com/neurocyte/cbor/archive/7d2eeb68c8a2fb3f4d6baad6cc04c521b.tar.gz:cbor-1.0.0-RcQE_AswAQAPlqBCZXYQf9DZXn-0Ubt8Mk03ZcJWcsAG \ + flow_syntax:github.com/neurocyte/flow-syntax/archive/6992eddeb9a4a013886db0cbca2156686.tar.gz:flow_syntax-0.6.0-X8jOoWgVAQBBTuGGE9r1ECSDFzi8z6_XNCW1oF5B4fL8 \ + frameworks:github.com/hexops/xcode-frameworks/archive/8a1cfb373587ea4c9bb1468b7c986462d.tar.gz:N-V-__8AALShqgXkvqYU6f__FrA22SMWmi2TXCJjNTO1m8XJ \ + gfm:github.com/kristoff-it/cmark-gfm/archive/b96c27a5152b9124d657dee7fb1186d0a.tar.gz:cmark_gfm-0.1.0-uQgTK6WZFwCG9y7_Z0IkCINtmMTwvEZTyVh_6nsaMVPq \ + known_folders:github.com/ziglibs/known-folders/archive/aa24df42183ad415d10bc0a33e6238c43.tar.gz:known_folders-0.0.0-Fy-PJtLDAADGDOwYwMkVydMSTp_aN-nfjCZw6qPQ2ECL \ + known_folders:github.com/ziglibs/known-folders/archive/ab5cf5feb936fa3b72c95d3ad0c0c6779.tar.gz:known_folders-0.0.0-Fy-PJtTTAADUOhGKM0sxzG4eMkNQxRvx9e5dfHVyaeA3 \ + lsp_kit:github.com/kristoff-it/lsp-kit/archive/01c14e592d25dc57dfebba27b8bd2b4aa.tar.gz:lsp_kit-0.1.0-bi_PL5YyCgA2QFEza6llr2Uy08QUQsWBu2wKvtr8tbLx \ + lsp_kit:github.com/zigtools/lsp-kit/archive/4835b9d3d3cf732fe1830189d81f331c6.tar.gz:lsp_kit-0.1.0-bi_PL18tCgAMyrZ0tgn_0PXnGEvxGWeNkkRygfe9pX9u \ + lsp_kit:github.com/zigtools/lsp-kit/archive/c46ac866dda11ab58e4ba71ed0d8ba21f.tar.gz:lsp_kit-0.1.0-bi_PL98yCgBfW3T4iLkfV5VOXc__pOpOsQsX1tRmpqAG \ + lsp_kit:github.com/zigtools/lsp-kit/archive/fe98e895ca3bd1b39965ab30f0f252f7b.tar.gz:lsp_kit-0.1.0-bi_PLzAyCgClDh8_M0U9Q50ysdsQBuRuBTZfwg6rZPd6 \ + mime:github.com/kristoff-it/mime/archive/a2ed0cba3b1463217168034ffed8c1604.tar.gz:mime-3.0.0-zwmL--0gAAByELrj57sRm2EFBRzjKLFrMgHQcs7sFZev \ + scripty:github.com/kristoff-it/scripty/archive/50dbab8945440089384f26ec165d870c2.tar.gz:scripty-0.1.0-LKK5O7v4AADWWXuFcTJky_5sY12tmw3kRi3k2wkpfxAX \ + superhtml:github.com/kristoff-it/superhtml/archive/8cb16babb0c66b6512d6aeb4cbc37ed90.tar.gz:superhtml-0.4.0-Y7MdPJTWDQBJJoaCLlBYLGrjhAnmWAtVhVGelveq3O-s \ + supermd:github.com/kristoff-it/supermd/archive/530ac6c337c9a9511560fba3181db10d1.tar.gz:supermd-0.1.0-3Mco3GyYWACe4ptEKIrZUhizWGwXhbmtKtjNopG8f76y \ + tracy:github.com/kristoff-it/tracy/archive/67d2d89e351048c76fc6d161e0ac09d8a.tar.gz:tracy-0.0.0-4Xw-1pwwAABTfMgoDP1unCbZDZhJEfict7XCBGF6IdIn \ + tree_sitter:github.com/neurocyte/tree-sitter/releases/download/master-6e2827ee231e220467bf04d2a2746faff5cb204a/source.tar.gz:tree_sitter-0.22.4-150-g7e3f5726-z0LhyGeG1y67PeOltaplVkxRNT2jMMexQhbUlrh0vdxM \ + wuffs:github.com/allyourcodebase/wuffs/archive/5822dc06c75b30d53082debf68c90193c.tar.gz:wuffs-0.4.0-alpha.9+3837.20240914-3CHJgcMFAACyPvxsC7b48pJv9dPkPa4pSrB2VFbCXTfK \ + wuffs:github.com/google/wuffs-mirror-release-c/archive/90e4d81a6a8b7b601e8e568da32a105d7f7705e5.tar.gz:N-V-__8AANEmUgA6aZZZKbfNMv6DSs5In7CDFU6nInu_Y6aY \ + zeit:github.com/sam701/zeit/archive/46583c4695bade6841a558c0ce5648426.tar.gz:zeit-0.6.0-5I6bk0J9AgCVa0nnyL0lNY9Xa9F68hHq-ZarhuXNV-Jb \ + ziggy:github.com/kristoff-it/ziggy/archive/4353b20ef2ac750e35c6d68e4eb2a07c2.tar.gz:ziggy-0.1.0-kTg8v5pABgDztlefWHceH-Sh8tVveguFC61QkmLkIRaA diff --git a/www/zine-ssg/distinfo b/www/zine-ssg/distinfo new file mode 100644 index 000000000000..e9651c529ab7 --- /dev/null +++ b/www/zine-ssg/distinfo @@ -0,0 +1,49 @@ +TIMESTAMP = 1773684398 +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/7d2eeb68c8a2fb3f4d6baad6cc04c521b.tar.gz) = 89b234098ebefc8472d8b1e7eda21938c11bc6577f83d58dd62ec941ae68fcd7 +SIZE (zig/7d2eeb68c8a2fb3f4d6baad6cc04c521b.tar.gz) = 13775 +SHA256 (zig/6992eddeb9a4a013886db0cbca2156686.tar.gz) = 442bb2c07ba6cd281a8f5c4863c1211a64a88b44ec928c2d6c6ca2f122ce9beb +SIZE (zig/6992eddeb9a4a013886db0cbca2156686.tar.gz) = 14688 +SHA256 (zig/8a1cfb373587ea4c9bb1468b7c986462d.tar.gz) = 8ed818e25f2ed3bb77dc8202d003ecd0efa2be198962eca1452e545cbe17aac8 +SIZE (zig/8a1cfb373587ea4c9bb1468b7c986462d.tar.gz) = 16433930 +SHA256 (zig/b96c27a5152b9124d657dee7fb1186d0a.tar.gz) = 7a9bb97d6a5ad6c7d34f29760e1eae9bf0283932fefef51a7b0a60e6e57cb8d1 +SIZE (zig/b96c27a5152b9124d657dee7fb1186d0a.tar.gz) = 301431 +SHA256 (zig/aa24df42183ad415d10bc0a33e6238c43.tar.gz) = 500d9df2df8b44060dac523b0402126c0341e01d77f59101e1335654b8ae25a1 +SIZE (zig/aa24df42183ad415d10bc0a33e6238c43.tar.gz) = 11946 +SHA256 (zig/ab5cf5feb936fa3b72c95d3ad0c0c6779.tar.gz) = 55a2380907da5e30a3a9991d73d5b4a1372a2c2bd508da4dad96c127a10625e9 +SIZE (zig/ab5cf5feb936fa3b72c95d3ad0c0c6779.tar.gz) = 12569 +SHA256 (zig/01c14e592d25dc57dfebba27b8bd2b4aa.tar.gz) = b4fbe30a998c4e112703eb6376bf29c9667f76721fd579e2dde59f0479189a81 +SIZE (zig/01c14e592d25dc57dfebba27b8bd2b4aa.tar.gz) = 100623 +SHA256 (zig/4835b9d3d3cf732fe1830189d81f331c6.tar.gz) = 3bc515f43df0c81404ab27833a8ac08f372c5d8752750efabf0f21a9fa60b781 +SIZE (zig/4835b9d3d3cf732fe1830189d81f331c6.tar.gz) = 100191 +SHA256 (zig/c46ac866dda11ab58e4ba71ed0d8ba21f.tar.gz) = e9ddd03a2cc9eed59e6115de8a5e2d044b2b8e58196fb681e33c8c90ed338a0c +SIZE (zig/c46ac866dda11ab58e4ba71ed0d8ba21f.tar.gz) = 100880 +SHA256 (zig/fe98e895ca3bd1b39965ab30f0f252f7b.tar.gz) = 46c57bad1922899bfae68e2d30a363061242dc2e808d6f27fc92ea8fe74c92db +SIZE (zig/fe98e895ca3bd1b39965ab30f0f252f7b.tar.gz) = 100656 +SHA256 (zig/a2ed0cba3b1463217168034ffed8c1604.tar.gz) = fba12453efe9e788644cc3e6fe5c04be25ef4d4f21c4f82e995b9640b71bb383 +SIZE (zig/a2ed0cba3b1463217168034ffed8c1604.tar.gz) = 2926 +SHA256 (zig/50dbab8945440089384f26ec165d870c2.tar.gz) = 18325156728c48236270812947b4a1d24f9767899c771ddd21bfdb99b581fd30 +SIZE (zig/50dbab8945440089384f26ec165d870c2.tar.gz) = 12473 +SHA256 (zig/8cb16babb0c66b6512d6aeb4cbc37ed90.tar.gz) = e1b1846ab9310e406497228578bcbd320ad9ebb760ac95ee6aeb7d540200ad66 +SIZE (zig/8cb16babb0c66b6512d6aeb4cbc37ed90.tar.gz) = 2235403 +SHA256 (zig/530ac6c337c9a9511560fba3181db10d1.tar.gz) = 630b0a5e0afccd5b86b9dff8603629ce24c2802767aba779338c92a93c9a0e9a +SIZE (zig/530ac6c337c9a9511560fba3181db10d1.tar.gz) = 490017 +SHA256 (zig/67d2d89e351048c76fc6d161e0ac09d8a.tar.gz) = a54d405e7ffadcc5f2e441b361226666e61df1acf3ac18045f2771df0cf26b3f +SIZE (zig/67d2d89e351048c76fc6d161e0ac09d8a.tar.gz) = 3933 +SHA256 (zig/source.tar.gz) = 93c78e5ae9f600dcd624e6bc5c06a45cde1595d830ce5cb7144498025b1b555c +SIZE (zig/source.tar.gz) = 42884192 +SHA256 (zig/5822dc06c75b30d53082debf68c90193c.tar.gz) = 2746628447433f64793928fe1a88dcf89d4ac14561af67783fe8fc03115e6645 +SIZE (zig/5822dc06c75b30d53082debf68c90193c.tar.gz) = 2233 +SHA256 (zig/90e4d81a6a8b7b601e8e568da32a105d7f7705e5.tar.gz) = ddbebc8fb7405e7a9177efdfbdf0df18ad02b607311d9e604959c7c0f6236af4 +SIZE (zig/90e4d81a6a8b7b601e8e568da32a105d7f7705e5.tar.gz) = 721379 +SHA256 (zig/46583c4695bade6841a558c0ce5648426.tar.gz) = d7e6ac2d5b6e45f3af073bed1032fb52f773440bf7e3fc4effca4005af6b3c82 +SIZE (zig/46583c4695bade6841a558c0ce5648426.tar.gz) = 39731 +SHA256 (zig/4353b20ef2ac750e35c6d68e4eb2a07c2.tar.gz) = 18e6c8a159abd6b2819e7089a3b01ee346c99ce784cdac9f8ed694923c0eb392 +SIZE (zig/4353b20ef2ac750e35c6d68e4eb2a07c2.tar.gz) = 173775 +SHA256 (zig/kristoff-it-zine-v0.11.2_GH0.tar.gz) = 551e9953b5b07473b66b128f20678aa4a18bf3447a5ab3c7c54d6a203d3a7ae4 +SIZE (zig/kristoff-it-zine-v0.11.2_GH0.tar.gz) = 824759 diff --git a/www/zine-ssg/files/patch-build.zig b/www/zine-ssg/files/patch-build.zig new file mode 100644 index 000000000000..690f6783a19c --- /dev/null +++ b/www/zine-ssg/files/patch-build.zig @@ -0,0 +1,36 @@ +--- build.zig.orig 2025-11-21 13:41:48 UTC ++++ build.zig +@@ -309,6 +309,11 @@ pub fn build(b: *std.Build) !void { + else => @panic("target must be added to build.zig"), + .linux => {}, + ++ .freebsd => { ++ // only added for FreeBSD < 15 ++ %INOTIFY_GUARD%zine_exe.linkSystemLibrary("inotify"); ++ }, ++ + .windows => { + zine_exe.linkSystemLibrary("ws2_32"); + }, +@@ -519,8 +524,10 @@ fn setupReleaseStep( + const targets: []const std.Target.Query = &.{ + .{ .cpu_arch = .aarch64, .os_tag = .macos }, + .{ .cpu_arch = .aarch64, .os_tag = .linux, .abi = .musl }, ++ .{ .cpu_arch = .aarch64, .os_tag = .freebsd }, + .{ .cpu_arch = .x86_64, .os_tag = .macos }, + .{ .cpu_arch = .x86_64, .os_tag = .linux, .abi = .musl }, ++ .{ .cpu_arch = .x86_64, .os_tag = .freebsd }, + .{ .cpu_arch = .x86_64, .os_tag = .windows }, + .{ .cpu_arch = .aarch64, .os_tag = .windows }, + }; +@@ -626,6 +633,10 @@ fn setupReleaseStep( + switch (target.result.os.tag) { + else => @panic("target must be added to build.zig"), + .linux => {}, ++ .freebsd => { ++ // only added for FreeBSD < 15 ++ %INOTIFY_GUARD%zine_exe_release.linkSystemLibrary("inotify"); ++ }, + .windows => { + zine_exe_release.linkSystemLibrary("ws2_32"); + }, diff --git a/www/zine-ssg/files/patch-build.zig.zon b/www/zine-ssg/files/patch-build.zig.zon new file mode 100644 index 000000000000..e348e5769faf --- /dev/null +++ b/www/zine-ssg/files/patch-build.zig.zon @@ -0,0 +1,13 @@ +--- build.zig.zon.orig 2025-11-21 13:41:48 UTC ++++ build.zig.zon +@@ -5,8 +5,8 @@ + .minimum_zig_version = "0.15.0", + .dependencies = .{ + .afl_kit = .{ +- .url = "git+https://github.com/kristoff-it/zig-afl-kit#8ef04d1db48650345dca68da1e1b8f2615125c40", +- .hash = "afl_kit-0.1.0-NdJ3cvscAACLEvjZTB017IAks_Uq5ux1qpA-klDe384Y", ++ .url = "git+https://github.com/kristoff-it/zig-afl-kit#395c39d5b33d999f6871a90bd731ec112d3995ca", ++ .hash = "afl_kit-0.1.0-NdJ3ch8eAABQkd1wk2W-JDCvvX5Jmnu3uJulS3lPepG7", + .lazy = true, + }, + .lsp_kit = .{ diff --git a/www/zine-ssg/files/patch-src_cli_serve.zig b/www/zine-ssg/files/patch-src_cli_serve.zig new file mode 100644 index 000000000000..ba09a8bb83c0 --- /dev/null +++ b/www/zine-ssg/files/patch-src_cli_serve.zig @@ -0,0 +1,10 @@ +--- src/cli/serve.zig.orig 2026-03-13 17:52:18 UTC ++++ src/cli/serve.zig +@@ -24,6 +24,7 @@ const Watcher = switch (builtin.target.os.tag) { + const outside_html = @embedFile("serve/outside.html"); + const Watcher = switch (builtin.target.os.tag) { + .linux => @import("serve/watcher/LinuxWatcher.zig"), ++ .freebsd => @import("serve/watcher/LinuxWatcher.zig"), + .macos => @import("serve/watcher/MacosWatcher.zig"), + .windows => @import("serve/watcher/WindowsWatcher.zig"), + else => @compileError("unsupported platform"), diff --git a/www/zine-ssg/pkg-descr b/www/zine-ssg/pkg-descr new file mode 100644 index 000000000000..4c05ac41bcaa --- /dev/null +++ b/www/zine-ssg/pkg-descr @@ -0,0 +1,8 @@ +Zine is a static site generator similar in concept to www/gohugo. + +Zine turns your content into HTML, styles it using your layouts, and finally +copies the result into an output directory that you can then publish on static +hosting services like GitHub Pages. + +Zine has a companion port, devel/superhtml which acts as an LSP for the markdown +content and HTML layouts.