Bug 284724 - [New port]: devel/xmake-io: A cross-platform build utility based on Lua
Summary: [New port]: devel/xmake-io: A cross-platform build utility based on Lua
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Robert Clausecker
URL:
Keywords:
: 284725 (view as bug list)
Depends on:
Blocks:
 
Reported: 2025-02-11 07:06 UTC by Huan Zhou
Modified: 2025-03-17 05:35 UTC (History)
2 users (show)

See Also:


Attachments
New port for xmake-io/xmake which has nothing to do with devel/xmake, only name is similar. (3.93 KB, text/plain)
2025-02-11 07:06 UTC, Huan Zhou
no flags Details
Update patch for new port xmake-io (4.42 KB, text/plain)
2025-02-13 16:43 UTC, Huan Zhou
no flags Details
sample port for tbox. (355 bytes, text/plain)
2025-02-14 14:11 UTC, Huan Zhou
no flags Details
devel/sv: new port (2.44 KB, patch)
2025-02-14 14:40 UTC, Robert Clausecker
no flags Details | Diff
devel/tbox: new port (17.33 KB, patch)
2025-02-14 14:42 UTC, Robert Clausecker
no flags Details | Diff
new port for sv using autoconf. (1.99 KB, text/plain)
2025-02-15 10:15 UTC, Huan Zhou
no flags Details
Add tbox extra config args, fix missing module for xmake. (1.00 KB, text/plain)
2025-03-03 02:10 UTC, Huan Zhou
no flags Details
[New port]: devel/xmake-io: A cross-platform build utility (4.71 KB, text/plain)
2025-03-03 02:20 UTC, Huan Zhou
no flags Details
devel/xmake-io: updated patch for the new port (5.40 KB, patch)
2025-03-03 05:12 UTC, Robert Clausecker
fuz: maintainer-approval? (pericycle.cc)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Huan Zhou 2025-02-11 07:06:55 UTC
Created attachment 257399 [details]
New port for xmake-io/xmake which has nothing to do with devel/xmake, only name is similar.

Xmake can be used to directly build source code (like with Make or Ninja), or it can generate project source files like CMake or Meson. It also has a built-in package management system to help users integrate C/C++ dependencies.
Comment 1 Huan Zhou 2025-02-11 12:03:53 UTC
*** Bug 284725 has been marked as a duplicate of this bug. ***
Comment 2 Robert Clausecker freebsd_committer freebsd_triage 2025-02-13 11:37:36 UTC
Thank you for your submission.  Here are some items to check:

 - use DISTVERSION over PORTVERSION if possible
 - please clear PORTREVISION; it should only be bumped if needed for the ports tree
 - plese unbundle the various dependencies you bundle, such as luajit, pdcurses,
   lz4, and so on.  We already have them packaged.  Ports should not bundle
   dependencies.
 - instead of post-configure, set MAKEFILE=makefile in the port
 - please add a WWW field
 - GH_ACCOUNT can be omitted as it is identical to the port name
 - please add yourself as the maintainer.  We do not accept new ports without a
   commitment to maintain them.
 - if your configure script is a GNU configure script, set GNU_CONFIGURE=yes
   instead of HAS_CONFIGURE=yes
 - DISTVERSIONPREFIX goes before DISTVERSION.  Check with portlint or portclippy.
Comment 3 Huan Zhou 2025-02-13 15:31:21 UTC
Comment on attachment 257399 [details]
New port for xmake-io/xmake which has nothing to do with devel/xmake, only name is similar.

From 826d4363ef443ca4e461e902f60c84fa79aaebdf Mon Sep 17 00:00:00 2001
From: Huan Zhou <pericycle.cc@gmail.com>
Date: Sun, 9 Feb 2025 13:53:01 +0800
Subject: [PATCH 2/2] New port: xmake-io: A cross-platform build utility based
 on Lua

---
 devel/xmake-io/Makefile  | 29 +++++++++++++++++++++++++++++
 devel/xmake-io/distinfo  | 17 +++++++++++++++++
 devel/xmake-io/pkg-descr |  4 ++++
 3 files changed, 50 insertions(+)
 create mode 100644 devel/xmake-io/Makefile
 create mode 100644 devel/xmake-io/distinfo
 create mode 100644 devel/xmake-io/pkg-descr

diff --git a/devel/xmake-io/Makefile b/devel/xmake-io/Makefile
new file mode 100644
index 000000000000..64fe0dbb2dbe
--- /dev/null
+++ b/devel/xmake-io/Makefile
@@ -0,0 +1,29 @@
+PORTNAME=	xmake-io
+DISTVERSIONPREFIX=	v
+DISTVERSION=	2.9.8
+CATEGORIES=	devel
+WWW=		https://xmake.io/
+USES=		gmake tar:tgz 
+
+MAINTAINER=	pericycle.cc@gmail.com
+COMMENT=	A cross-platform build utility based on Lua
+
+LICENSE=	APACHE20
+LICENSE_FILE=	${WRKSRC}/LICENSE.md
+PLIST_FILES=	bin/xmake bin/xrepo
+
+USE_GITHUB=	yes
+GH_PROJECT=	xmake
+GH_TUPLE=	tboox:tbox:914bd30:tbox/core/src/tbox/tbox \
+		xmake-io:xmake-core-luajit:7cdc078:xmake_core_luajit/core/src/luajit/luajit \
+		xmake-io:xmake-core-sv:b3363a3:xmake_core_sv/core/src/sv/sv \
+ 		xmake-io:xmake-core-pdcurses:5c62af0:pdcurse/core/src/pdcurses/pdcurses \
+		xmake-io:xmake-core-lua-cjson:ddcecf3:xmake_core_lua_cjson/core/src/lua-cjson/lua-cjson \
+		xmake-io:xmake-core-lua:1ab3208:xmake_core_lua/core/src/lua/lua \
+		xmake-io:xmake-core-lz4:ebb370c:xmake_core_lz4/core/src/lz4/lz4 
+		
+
+HAS_CONFIGURE=	yes
+MAKEFILE=	makefile
+
+.include <bsd.port.mk>
diff --git a/devel/xmake-io/distinfo b/devel/xmake-io/distinfo
new file mode 100644
index 000000000000..9453d6517c49
--- /dev/null
+++ b/devel/xmake-io/distinfo
@@ -0,0 +1,17 @@
+TIMESTAMP = 1739049288
+SHA256 (xmake-io-xmake-v2.9.8_GH0.tar.gz) = e5a45ec7e48d0b0da46ae1729ce64a23341328102083fb0eb66296a4e36835b3
+SIZE (xmake-io-xmake-v2.9.8_GH0.tar.gz) = 2382364
+SHA256 (tboox-tbox-914bd30_GH0.tar.gz) = 6caa1c839a2af8faaf8e412cf8c41d08b3704d772785d85df50134c37b343793
+SIZE (tboox-tbox-914bd30_GH0.tar.gz) = 863997
+SHA256 (xmake-io-xmake-core-luajit-7cdc078_GH0.tar.gz) = 82c518ab37117ba2dabf06d2a8bf363eab6a8b88508fa91b4e116bf8d3c83c83
+SIZE (xmake-io-xmake-core-luajit-7cdc078_GH0.tar.gz) = 1495704
+SHA256 (xmake-io-xmake-core-sv-b3363a3_GH0.tar.gz) = cb5a51596a88296dfa4c53535656f5ba582c15a68fdd6f63a3621f6b9526496e
+SIZE (xmake-io-xmake-core-sv-b3363a3_GH0.tar.gz) = 25879
+SHA256 (xmake-io-xmake-core-pdcurses-5c62af0_GH0.tar.gz) = b1183fcbe03ed1856a959015c65e4423dfae63468ef942f86d1c7d7aef0a0ad3
+SIZE (xmake-io-xmake-core-pdcurses-5c62af0_GH0.tar.gz) = 364822
+SHA256 (xmake-io-xmake-core-lua-cjson-ddcecf3_GH0.tar.gz) = 7a491b76f7f5104f1399b66295d4b1652ca07c33458cb52a3bc89b05d2382ebf
+SIZE (xmake-io-xmake-core-lua-cjson-ddcecf3_GH0.tar.gz) = 67613
+SHA256 (xmake-io-xmake-core-lua-1ab3208_GH0.tar.gz) = dc4845fd4454896d714c41b6791f8df386f13336907d5ddb5500c9fc60053a3b
+SIZE (xmake-io-xmake-core-lua-1ab3208_GH0.tar.gz) = 463003
+SHA256 (xmake-io-xmake-core-lz4-ebb370c_GH0.tar.gz) = 6d2d47dc895571c0db1417613387f409b5d74d0deec0fc77a5999ad3ac36f0e5
+SIZE (xmake-io-xmake-core-lz4-ebb370c_GH0.tar.gz) = 387241
diff --git a/devel/xmake-io/pkg-descr b/devel/xmake-io/pkg-descr
new file mode 100644
index 000000000000..64dbd2192de6
--- /dev/null
+++ b/devel/xmake-io/pkg-descr
@@ -0,0 +1,4 @@
+What is Xmake?
+- Xmake is a cross-platform build utility based on the Lua scripting language.
+- Xmake is very lightweight and has no dependencies outside of the standard library.
+- Uses the xmake.lua file to maintain project builds with a simple and readable syntax.
-- 
2.48.1
Comment 4 Huan Zhou 2025-02-13 15:32:35 UTC
Comment on attachment 257399 [details]
New port for xmake-io/xmake which has nothing to do with devel/xmake, only name is similar.

From 826d4363ef443ca4e461e902f60c84fa79aaebdf Mon Sep 17 00:00:00 2001
From: Huan Zhou <pericycle.cc@gmail.com>
Date: Sun, 9 Feb 2025 13:53:01 +0800
Subject: [PATCH 2/2] New port: xmake-io: A cross-platform build utility based
 on Lua

---
 devel/xmake-io/Makefile  | 29 +++++++++++++++++++++++++++++
 devel/xmake-io/distinfo  | 17 +++++++++++++++++
 devel/xmake-io/pkg-descr |  4 ++++
 3 files changed, 50 insertions(+)
 create mode 100644 devel/xmake-io/Makefile
 create mode 100644 devel/xmake-io/distinfo
 create mode 100644 devel/xmake-io/pkg-descr

diff --git a/devel/xmake-io/Makefile b/devel/xmake-io/Makefile
new file mode 100644
index 000000000000..64fe0dbb2dbe
--- /dev/null
+++ b/devel/xmake-io/Makefile
@@ -0,0 +1,29 @@
+PORTNAME=	xmake-io
+DISTVERSIONPREFIX=	v
+DISTVERSION=	2.9.8
+CATEGORIES=	devel
+WWW=		https://xmake.io/
+USES=		gmake tar:tgz 
+
+MAINTAINER=	pericycle.cc@gmail.com
+COMMENT=	A cross-platform build utility based on Lua
+
+LICENSE=	APACHE20
+LICENSE_FILE=	${WRKSRC}/LICENSE.md
+PLIST_FILES=	bin/xmake bin/xrepo
+
+USE_GITHUB=	yes
+GH_PROJECT=	xmake
+GH_TUPLE=	tboox:tbox:914bd30:tbox/core/src/tbox/tbox \
+		xmake-io:xmake-core-luajit:7cdc078:xmake_core_luajit/core/src/luajit/luajit \
+		xmake-io:xmake-core-sv:b3363a3:xmake_core_sv/core/src/sv/sv \
+ 		xmake-io:xmake-core-pdcurses:5c62af0:pdcurse/core/src/pdcurses/pdcurses \
+		xmake-io:xmake-core-lua-cjson:ddcecf3:xmake_core_lua_cjson/core/src/lua-cjson/lua-cjson \
+		xmake-io:xmake-core-lua:1ab3208:xmake_core_lua/core/src/lua/lua \
+		xmake-io:xmake-core-lz4:ebb370c:xmake_core_lz4/core/src/lz4/lz4 
+		
+
+HAS_CONFIGURE=	yes
+MAKEFILE=	makefile
+
+.include <bsd.port.mk>
diff --git a/devel/xmake-io/distinfo b/devel/xmake-io/distinfo
new file mode 100644
index 000000000000..9453d6517c49
--- /dev/null
+++ b/devel/xmake-io/distinfo
@@ -0,0 +1,17 @@
+TIMESTAMP = 1739049288
+SHA256 (xmake-io-xmake-v2.9.8_GH0.tar.gz) = e5a45ec7e48d0b0da46ae1729ce64a23341328102083fb0eb66296a4e36835b3
+SIZE (xmake-io-xmake-v2.9.8_GH0.tar.gz) = 2382364
+SHA256 (tboox-tbox-914bd30_GH0.tar.gz) = 6caa1c839a2af8faaf8e412cf8c41d08b3704d772785d85df50134c37b343793
+SIZE (tboox-tbox-914bd30_GH0.tar.gz) = 863997
+SHA256 (xmake-io-xmake-core-luajit-7cdc078_GH0.tar.gz) = 82c518ab37117ba2dabf06d2a8bf363eab6a8b88508fa91b4e116bf8d3c83c83
+SIZE (xmake-io-xmake-core-luajit-7cdc078_GH0.tar.gz) = 1495704
+SHA256 (xmake-io-xmake-core-sv-b3363a3_GH0.tar.gz) = cb5a51596a88296dfa4c53535656f5ba582c15a68fdd6f63a3621f6b9526496e
+SIZE (xmake-io-xmake-core-sv-b3363a3_GH0.tar.gz) = 25879
+SHA256 (xmake-io-xmake-core-pdcurses-5c62af0_GH0.tar.gz) = b1183fcbe03ed1856a959015c65e4423dfae63468ef942f86d1c7d7aef0a0ad3
+SIZE (xmake-io-xmake-core-pdcurses-5c62af0_GH0.tar.gz) = 364822
+SHA256 (xmake-io-xmake-core-lua-cjson-ddcecf3_GH0.tar.gz) = 7a491b76f7f5104f1399b66295d4b1652ca07c33458cb52a3bc89b05d2382ebf
+SIZE (xmake-io-xmake-core-lua-cjson-ddcecf3_GH0.tar.gz) = 67613
+SHA256 (xmake-io-xmake-core-lua-1ab3208_GH0.tar.gz) = dc4845fd4454896d714c41b6791f8df386f13336907d5ddb5500c9fc60053a3b
+SIZE (xmake-io-xmake-core-lua-1ab3208_GH0.tar.gz) = 463003
+SHA256 (xmake-io-xmake-core-lz4-ebb370c_GH0.tar.gz) = 6d2d47dc895571c0db1417613387f409b5d74d0deec0fc77a5999ad3ac36f0e5
+SIZE (xmake-io-xmake-core-lz4-ebb370c_GH0.tar.gz) = 387241
diff --git a/devel/xmake-io/pkg-descr b/devel/xmake-io/pkg-descr
new file mode 100644
index 000000000000..64dbd2192de6
--- /dev/null
+++ b/devel/xmake-io/pkg-descr
@@ -0,0 +1,4 @@
+What is Xmake?
+- Xmake is a cross-platform build utility based on the Lua scripting language.
+- Xmake is very lightweight and has no dependencies outside of the standard library.
+- Uses the xmake.lua file to maintain project builds with a simple and readable syntax.
-- 
2.48.1
Comment 5 Robert Clausecker freebsd_committer freebsd_triage 2025-02-13 15:35:00 UTC
(In reply to Huan Zhou from comment #3)

Remaining issues:

 - unbundle the dependencies
 - for the dependencies you cannot unbundle, use the full git hash or a tag,
   not an abbreviated git hash
 - please fix the order of variables in the file.  You can use the portclippy
   utility for this purpose.

Please use the "Add an attachment" function to upload new versions of the patch.  Do not submit new versions as comments.
Comment 6 Huan Zhou 2025-02-13 16:43:55 UTC
Created attachment 257480 [details]
Update patch for new port xmake-io

(In reply to Robert Clausecker from comment #5)
thanks for your review and i'm really sorry for the stupid mistake i made(send the patch as comment twice T^T)
i've test all of the bundle dependency and all of them is required so i keep them all with full hash.
Comment 7 Robert Clausecker freebsd_committer freebsd_triage 2025-02-13 17:37:35 UTC
(In reply to Huan Zhou from comment #6)

> i've test all of the bundle dependency and all of them is required so i keep them all with full hash.

Yes, the dependencies are most likely all required and I'm not asking you to get rid of them, merely to unbundle them.

Unbundling means that instead of using the bundled dependencies, you use the versions of the dependencies we ship.  This may require edits to the code or the build system.  It's your job as the porter to figure out how to unbundle dependencies.

So for example, instead of bundling your own copy of pdcurses, make it so it uses the port devel/pdcurses, which we already have.  Do that with all dependencies we already package.

The only dependencies we do not already package are tbox and libsv, but these ones too should probably be unbundled.  Ideally submit separate ports for tbox and libsv, and then make this port depend on these ports.

I cannot accept this port without unbundling the dependencies, except if there is a very good technical reason why they cannot be unbundled.
Comment 8 Huan Zhou 2025-02-14 03:41:25 UTC
(In reply to Robert Clausecker from comment #7)
ok i'll figure it out how to unbundle it.
Comment 9 Huan Zhou 2025-02-14 13:44:33 UTC
(In reply to Robert Clausecker from comment #7)

the xmake its configure script has --external option to use system's utils for build, but tbox/sv's missing will lead to build failure, and i manually install the tbox(as example, probably same as sv).

`configure && make install`

but it's does not generate pkg-config file so though make install the tbox, when compile xmake it's configure script still not detect(the xmake configure script use pkg-config to detect the external dependency) so the build process end up with 
 undefine symbol: tb_xxx(missing tbox) ... im not sure how to do next.

T^T
Comment 10 Robert Clausecker freebsd_committer freebsd_triage 2025-02-14 13:54:38 UTC
(In reply to Huan Zhou from comment #9)

We don't have tbox and sv packaged, so for now it's ok if you bundle them.
Check if you can unbundle them in the future though.
Comment 11 Huan Zhou 2025-02-14 14:06:27 UTC
(In reply to Robert Clausecker from comment #10)
https://github.com/xmake-io/xmake/blob/5b1f1123af7afc503d5634ae08b07f018931d799/core/xmake.sh#L36
the external option use whether use dependency all from system or all from its submodule, i'll test if can use part of it's submodule to build.
Comment 12 Robert Clausecker freebsd_committer freebsd_triage 2025-02-14 14:08:36 UTC
If you like, I can try to assist you with packaging tbox and sv.  It should be possible to fix the xmake build by manually giving it the right paths and libraries to include through LDFLAGS and LIBS.
Comment 13 Huan Zhou 2025-02-14 14:11:51 UTC
Created attachment 257526 [details]
sample port for tbox.

(In reply to Robert Clausecker from comment #12)
here's a demo for libtbox i worked today.
great if you can help me with it <3
Comment 14 Robert Clausecker freebsd_committer freebsd_triage 2025-02-14 14:12:39 UTC
(In reply to Huan Zhou from comment #13)

I'll go ahead and do ports for sv and tbox.  I'll let you know when they're done.  May take a day or two.
Comment 15 Huan Zhou 2025-02-14 14:15:09 UTC
(In reply to Robert Clausecker from comment #14)
ok, thanks! <3
Comment 16 Robert Clausecker freebsd_committer freebsd_triage 2025-02-14 14:40:45 UTC
Created attachment 257527 [details]
devel/sv: new port

New port for sv.

This one installs pkg-config files.
Unfortunately I couldn't get it to build with autotools, so cmake will be needed to build xmake-io.
Comment 17 Robert Clausecker freebsd_committer freebsd_triage 2025-02-14 14:42:52 UTC
Created attachment 257528 [details]
devel/tbox: new port

Very straightforward.

Unfortunately this one does not install a pkg-config file.
You may have to add USES=localbase and perhaps copy-edit the port to make this work.
Comment 18 Huan Zhou 2025-02-15 10:15:35 UTC
Created attachment 257548 [details]
new port for sv using autoconf.

(In reply to Robert Clausecker from comment #16)
the autoconf works fine, i modify a little bit, but tbox still now work as expects.
Comment 19 Huan Zhou 2025-02-15 10:16:28 UTC
(In reply to Huan Zhou from comment #18)
i mean autotools.
Comment 20 Robert Clausecker freebsd_committer freebsd_triage 2025-02-15 12:19:11 UTC
(In reply to Huan Zhou from comment #18)

Thanks.  I kind of forgot about libtool...
Will change the port according to your patch with some extra changes.
Comment 21 Huan Zhou 2025-02-16 04:55:06 UTC
(In reply to Robert Clausecker from comment #20)
btw, a little bit of offtopic, do you know how to host a pkg site for another arch?
for example, i mainly working on riscv but i found there is no pkg mirror for riscv, even i can't install pkg from itself, so im consider hosting a pkg repo for it but idk how to host and upload ports to the site... would be great if useful information provide <3
Comment 22 Robert Clausecker freebsd_committer freebsd_triage 2025-02-16 10:20:50 UTC
(In reply to Huan Zhou from comment #21)

You can host your own pkg repository, it's quite easy.  I do it too for armv7 at

    http://fuz.su/pkg

Use poudriere to build the desired packages.  Then upload the package directory build by poudriere to a web server.  Then optionally sign the packages using pkg-repo(8).  Then add a configuration file to your client installation (place it in
/usr/local/etc/pkg/repos, you can find a sample at http://fuz.su/pkg/fuz.conf).
Then run pkg-update(8) to fetch the new package lists.

That's all!
Comment 23 Huan Zhou 2025-02-17 02:24:00 UTC
(In reply to Robert Clausecker from comment #22)
great, thanks for the information.
Comment 24 Huan Zhou 2025-02-17 07:58:13 UTC
(In reply to Robert Clausecker from comment #22)
i've successfully host it lol
http://bsd.per1cycle.org/
Comment 25 Robert Clausecker freebsd_committer freebsd_triage 2025-02-17 08:10:25 UTC
(In reply to Huan Zhou from comment #24)

Nice!
Comment 26 commit-hook freebsd_committer freebsd_triage 2025-02-18 14:28:41 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=3907eefc3849f9a83befb2fde2e8ad89b4ee4cd8

commit 3907eefc3849f9a83befb2fde2e8ad89b4ee4cd8
Author:     Robert Clausecker <fuz@FreeBSD.org>
AuthorDate: 2025-02-14 14:20:53 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2025-02-18 14:16:19 +0000

    devel/sv: Semantic versioning in c99

    This is free and unencumbered software released into the public domain.
    This package installs a C language library implementing semantic
    versioning for the C language.

    WWW: https://github.com/uael/sv/

    This port also builds with cmake, but as it is a prerequisite for an
    upcoming port of the xmake build system, I did not want to make the
    dependency chain longer than it needs to be.

    PR:             284724
    Co-authored-by: Huan Zhou <pericycle.cc@gmail.com>

 devel/Makefile           |  1 +
 devel/sv/Makefile (new)  | 24 ++++++++++++++++++++++++
 devel/sv/distinfo (new)  |  3 +++
 devel/sv/pkg-descr (new) |  3 +++
 devel/sv/pkg-plist (new) |  7 +++++++
 5 files changed, 38 insertions(+)
Comment 27 commit-hook freebsd_committer freebsd_triage 2025-02-18 14:29:03 UTC
A commit in branch main references this bug:

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

commit b86453d829e4684894973583f58f1a66d8fb80e1
Author:     Robert Clausecker <fuz@FreeBSD.org>
AuthorDate: 2025-02-14 14:38:48 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2025-02-18 14:16:19 +0000

    devel/tbox: Glib-like multi-platform c library

    TBOX is a glib-like cross-platform C library that is simple to use yet
    powerful in nature.

    The project focuses on making C development easier and provides many
    modules (.e.g stream, coroutine, regex, container, algorithm ...), so
    that any developer can quickly pick it up and enjoy the productivity
    boost when developing in C language.

    WWW: https://docs.tboox.org/

    PR:             284724

 devel/Makefile             |   1 +
 devel/tbox/Makefile (new)  |  27 +++
 devel/tbox/distinfo (new)  |   3 +
 devel/tbox/pkg-descr (new) |   7 +
 devel/tbox/pkg-plist (new) | 421 +++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 459 insertions(+)
Comment 28 Robert Clausecker freebsd_committer freebsd_triage 2025-02-18 14:42:03 UTC
The dependencies have been committed.  Feel free to continue working on the main port.  I've assigned this one to myself so I can guide you through the remaining steps.
Comment 29 Huan Zhou 2025-02-19 02:13:37 UTC
(In reply to Robert Clausecker from comment #28)
ok, i'll keep on working on this port.
Comment 30 Huan Zhou 2025-03-03 01:58:22 UTC
New progress:
i've successfully modify to make it works, need some extra config args in tbox, referencing to debian xmake port. and also need a little bit patch, i'll upload patch later in the today.
Comment 31 Huan Zhou 2025-03-03 02:10:19 UTC
Created attachment 258228 [details]
Add tbox extra config args, fix missing module for xmake.
Comment 32 Huan Zhou 2025-03-03 02:20:10 UTC
Created attachment 258229 [details]
[New port]: devel/xmake-io: A cross-platform build utility
Comment 33 Robert Clausecker freebsd_committer freebsd_triage 2025-03-03 05:12:04 UTC
Created attachment 258240 [details]
devel/xmake-io: updated patch for the new port

(In reply to Huan Zhou from comment #32)

Thank you for the update.  I had to do some copy-editing to make the port work properly.  Please let me know if this one works for you and if yes, approve for commit.
Comment 34 Huan Zhou 2025-03-03 05:51:15 UTC
(In reply to Robert Clausecker from comment #33)
no issue.
Tested by Huan Zhou <pericycle.cc@gmail.com>
Comment 35 Robert Clausecker freebsd_committer freebsd_triage 2025-03-03 06:07:41 UTC
Great!
Comment 36 Huan Zhou 2025-03-03 10:53:37 UTC
(In reply to Robert Clausecker from comment #35)
btw another little bit off-topic here.
im currently have 4 months(June 2025) before i graduate from 
college,and im interested in "Port virtual_oss to base" in freebsd 
summer of code projects, andi wonder if its proper to register 
for this year's gsoc? considering July& Augest im not a student 
anymore...?
Comment 37 Robert Clausecker freebsd_committer freebsd_triage 2025-03-03 11:04:42 UTC
(In reply to Huan Zhou from comment #36)

I don't know if you'll be eligible, but I suppose it's likely.  Come to channel #freebsd-soc on libera.chat if you have further questions.
Comment 38 commit-hook freebsd_committer freebsd_triage 2025-03-16 10:21:15 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=2a288c93ba3e51a4460e893a00450e4fe66f9dd1

commit 2a288c93ba3e51a4460e893a00450e4fe66f9dd1
Author:     Huan Zhou <pericycle.cc@gmail.com>
AuthorDate: 2025-02-10 05:01:00 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2025-03-16 10:19:27 +0000

    devel/xmake-io: Cross-platform build utility based on Lua

    What is Xmake?

     - Xmake is a cross-platform build utility based on the Lua scripting language
     - Xmake is very lightweight and has no dependencies outside of
       the standard library.
     - Uses the xmake.lua file to maintain project builds with a simple and
       readable syntax

    WWW: https://xmake.io/

    PR:             284724

 devel/Makefile                                 |    1 +
 devel/xmake-io/Makefile (new)                  |   26 +
 devel/xmake-io/distinfo (new)                  |   17 +
 devel/xmake-io/files/patch-core_xmake.sh (new) |   13 +
 devel/xmake-io/pkg-descr (new)                 |    7 +
 devel/xmake-io/pkg-plist (new)                 | 1809 ++++++++++++++++++++++++
 6 files changed, 1873 insertions(+)
Comment 39 commit-hook freebsd_committer freebsd_triage 2025-03-16 10:21:20 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=28c9bc9fb959fd49ad8c1e8fbae651404741fcd5

commit 28c9bc9fb959fd49ad8c1e8fbae651404741fcd5
Author:     Huan Zhou <pericycle.cc@gmail.com>
AuthorDate: 2025-03-03 02:08:07 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2025-03-16 10:19:27 +0000

    devel/tbox: update tbox config, missing module of charset and hash for xmake

    Obtained from:  https://github.com/xmake-io/xmake-package-debian-tbox/blob/b1a88c33152ff7ad4a209cef940d5f91971a6b21/debian/rules#L14C64-L14C73
    Approved by:    fuz (maintainer)
    PR:             284724

 devel/tbox/Makefile | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
Comment 40 Robert Clausecker freebsd_committer freebsd_triage 2025-03-16 10:24:09 UTC
Thank you for your contribution.
Sorry for the slow commit.
Comment 41 Huan Zhou 2025-03-17 05:35:47 UTC
(In reply to Robert Clausecker from comment #40)
np, nice to see the commit :)