Created attachment 260528 [details] port v0.11.0 Demo https://defcon.social/@charlesrocket/113915474617572176
${WITH_DEBUG:D:U-Doptimize=ReleaseFast} can probably be written as ${WITH_DEBUG:U-Doptimize=ReleaseFast}. Then, I don't quite get why you set NO_INSTALL and define a post-install target, you could simply have a do-install target. You don't need to wrap all your scripts in (), for example, this is enough: do-test: @cd ${WRKSRC} && ${TEST_ENV} zig build test ${CONFIGURE_ARGS}
(In reply to Mathieu Arnold from comment #1) Thanks! I was getting a makefile error, but switching to the do-install target resolved it.
Created attachment 260539 [details] port v0.11.0 Fix installation/style
Created attachment 260540 [details] port v0.11.0 Fix debug flag
Created attachment 260581 [details] add port v0.11.0 Switched to `BUILD_ARGS` All checks are green
Created attachment 260706 [details] add port v0.11.1 * Bump zig to v0.14 * Strip the binary
Created attachment 261856 [details] add port v0.11.2 * bump to 0.11.2 * add distfiles
Thanks for a new port submission. Here are some comments: - Put ${SETENV} before ${MAKE_ENV} and ${TEST_ENV} - make check-plist fails with the following error: ====> Running Q/A tests (stage-qa) Warning: 'bin/cova_generator_xtxf' is not stripped consider trying INSTALL_TARGET=install-strip or using ${STRIP_CMD} ====> Checking for pkg-plist issues (check-plist) ===> Parsing plist ===> Checking for items in STAGEDIR missing from pkg-plist Error: Orphaned: bin/cova_generator_xtxf Error: Orphaned: bin/meta/arg_templates/xtxf-template.json Error: Orphaned: bin/meta/arg_templates/xtxf-template.kdl Error: Orphaned: bin/meta/help_docs/manpages/xtxf-version.1 Error: Orphaned: bin/meta/help_docs/manpages/xtxf.1 Error: Orphaned: bin/meta/help_docs/markdown/xtxf-version.md Error: Orphaned: bin/meta/help_docs/markdown/xtxf.md Error: Orphaned: bin/meta/tab_completions/_xtxf-completion.zsh Error: Orphaned: bin/meta/tab_completions/xtxf-completion.bash Error: Orphaned: bin/meta/tab_completions/xtxf-completion.ps1 ===> Checking for items in pkg-plist which are not in STAGEDIR ===> Error: Plist issues found. *** Error code 1 Stop. It appears some extra files are generated in addition to manpages. So you may have to remove those extras. - It would be a good idea to install shell completion files generated.
(In reply to Hiroki Tagato from comment #8) thanks! patching
Created attachment 261927 [details] add port v0.11.2 * completions * cleanup
(In reply to charlesrocket from comment #10) `make check-plist` still fails with the same error. My observation is that: - cova_generator_xtxf generates "meta" directory under the current working directory - executing cova_generator_xtxf under ${STAGEDIR}${PREFIX}/bin does not play nice with the ports framework because "meta" directory must be deleted before check-plist phase So I would suggest executing cova_generator_xtxf from ${WRKSRC}. Post-build stage will look something like: post-build: cd ${WRKSRC} && ${STAGEDIR}${PREFIX}/bin/cova_generator_xtxf By doing that, "meta" directory will be generated under ${WRKSRC} and we will not be bothered by removing "meta" directory. Additional comments: - I would suggest adding LICENSE_FILE since the source archive contains a license file - There is a typo in post-install-BASH-on (s at the end of the line) ${MKDIR} ${STAGEDIR}${PREFIX}/share/bash-completion/completion -> ${MKDIR} ${STAGEDIR}${PREFIX}/share/bash-completion/completions
(In reply to Hiroki Tagato from comment #11) Seems like I fixed it: ``` make check-plist ====> Checking for pkg-plist issues (check-plist) ===> Parsing plist ===> Checking for items in STAGEDIR missing from pkg-plist ===> Checking for items in pkg-plist which are not in STAGEDIR ===> No pkg-plist issues found (check-plist) ```
Created attachment 261940 [details] add port v0.11.2
As a final confirmation, I tried to build the port using poudriere to make it sure that the port succesfully builds on the package builders. I got the following error indicating the build process tried to access network during the build phase: =======================<phase: build >============================ ===== env: DEVELOPER_MODE=yes STRICT_DEPENDS=yes USER=root UID=0 GID=0 ===> Building for xtxf-0.11.2 /wrkdirs/usr/ports/games/xtxf/work/xtxf-0.11.2/build.zig.zon:8:20: error: unable to connect to server: CertificateBundleLoadFailure .url = "https://github.com/termbox/termbox2/archive/9c9281a9a4c971a2be57f8645e828ec99fd555e8.zip", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /wrkdirs/usr/ports/games/xtxf/work/xtxf-0.11.2/build.zig.zon:12:20: error: unable to connect to server: CertificateBundleLoadFailure .url = "https://github.com/00JCIV00/cova/archive/4c56696fba4505a739c15223fc52985832051351.zip", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /wrkdirs/usr/ports/games/xtxf/work/xtxf-0.11.2/build.zig.zon:16:20: error: unable to connect to server: CertificateBundleLoadFailure .url = "https://github.com/charlesrocket/ghext/archive/refs/tags/0.7.2.tar.gz", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *** Error code 1 Stop. Network access is only allowed in the fetch phase so you have to fetch all the necessary sources in that phase. Can you address the error and revise the patch?
(In reply to Hiroki Tagato from comment #14) Hmm, I thought I did, via GH_TUPLE. Checked the tree, and all other ports with Zig do the same, not sure whats going on.
Created attachment 261985 [details] Patch passing poudriere testport (In reply to charlesrocket from comment #15) I dug a bit into this issue and managed to make it pass `poudriere testport`. The problem it seems was: - one of the GH_TUPLE entries was corrupted (needs additional three letters at the end) 00JCIV00:cova:4c56696:cova/../.cache/zig/p/cova-0.10.1-AAAAAPqeBAAThnQ-eGLXG9tyPsBRehaw8ySs8nEPw -> 00JCIV00:cova:4c56696:cova/../.cache/zig/p/cova-0.10.1-AAAAAPqeBAAThnQ-eGLXG9tyPsBRehaw8ySs8nEPwMUy - hashes in build.zig.zon seems wrong (maybe they are for older versions of zig?) patching build.zig.zon solved the network access issue in the build phase Can you review the patch and check if it's OK? If so, I will commit this version.
(In reply to Hiroki Tagato from comment #16) That is weird, it was pulling all three deps for some reason, despite only one being invalid (I guess its due to different compiler). Let me try to fix it, feels like patching is not necessary here if I can resolve this in the upstream. Thank you! I was pretty sure its the makefile.
Created attachment 261989 [details] add port v0.11.3 * fixed offline build
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=f166c8bb1ffa5cac48850520cb09668f0d079a1d commit f166c8bb1ffa5cac48850520cb09668f0d079a1d Author: charlesrocket <slowdive@me.com> AuthorDate: 2025-07-09 01:49:54 +0000 Commit: Hiroki Tagato <tagattie@FreeBSD.org> CommitDate: 2025-07-09 06:58:09 +0000 games/xtxf: add port: Terminal-based screensaver The Matrix screensaver for your terminal. Light and efficient without heavy CPU usage. WWW: https://github.com/charlesrocket/xtxf PR: 286919 Reported by: charlesrocket <slowdive@me.com> (new maintainer) Reviewed by: mat games/Makefile | 1 + games/xtxf/Makefile (new) | 65 ++++++++++++++++++++++++++++++++++++++++++++++ games/xtxf/distinfo (new) | 9 +++++++ games/xtxf/pkg-descr (new) | 2 ++ 4 files changed, 77 insertions(+)
Committed, thanks!
(In reply to Mathieu Arnold from comment #1) > ${WITH_DEBUG:D:U-Doptimize=ReleaseFast} can probably be written as ${WITH_DEBUG:U-Doptimize=ReleaseFast}. Likely copied from one of my ports. If WITH_DEBUG is set its value should be ignored but your suggestion breaks that. Fortunately, "zig build" ignores unknown arguments thus it works by accident. $ make -V BUILD_ARGS WITH_DEBUG=true --prefix /usr/local true -Dcpu=baseline --verbose Note, ${VAR:D:Unewval} idiom is documented in make(1) manpage.