git: 5baffc837a29 - main - lang/zig015: copy from lang/zig

From: Kenneth Raplee <kenrap_at_FreeBSD.org>
Date: Mon, 11 May 2026 15:36:31 UTC
The branch main has been updated by kenrap:

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

commit 5baffc837a292b063684cb150281fd58825bc0c4
Author:     Pero Oršolić <bsd@orsolic.org>
AuthorDate: 2026-04-18 18:33:13 +0000
Commit:     Kenneth Raplee <kenrap@FreeBSD.org>
CommitDate: 2026-05-11 15:33:47 +0000

    lang/zig015: copy from lang/zig
    
    Create the lang/zig015 for ports not ready for Zig 0.16.0 and depending
    on Zig 0.15
    
    PR:             294741
    Approved by:    arrowd (co-mentor)
---
 lang/Makefile         |  1 +
 lang/zig015/Makefile  | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++
 lang/zig015/distinfo  |  3 ++
 lang/zig015/pkg-descr |  2 ++
 4 files changed, 82 insertions(+)

diff --git a/lang/Makefile b/lang/Makefile
index 0038ea9b4622..74a8fea61e4c 100644
--- a/lang/Makefile
+++ b/lang/Makefile
@@ -400,5 +400,6 @@
     SUBDIR += zephir
     SUBDIR += zig
     SUBDIR += zig014
+	SUBDIR += zig015
 
 .include <bsd.port.subdir.mk>
diff --git a/lang/zig015/Makefile b/lang/zig015/Makefile
new file mode 100644
index 000000000000..28701593922c
--- /dev/null
+++ b/lang/zig015/Makefile
@@ -0,0 +1,76 @@
+PORTNAME=	zig
+DISTVERSION=	0.15.2
+CATEGORIES=	lang
+MASTER_SITES=	https://ziglang.org/download/${DISTVERSION}/ \
+		https://ziglang.org/builds/
+PKGNAMESUFFIX=	015
+
+PATCH_SITES=	https://github.com/ziglang/${PORTNAME}/commit/
+
+MAINTAINER=	bsd@orsolic.org
+COMMENT=	Language designed for robustness, optimality, and maintainability
+WWW=		https://ziglang.org/
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+ONLY_FOR_ARCHS=	aarch64 amd64
+ONLY_FOR_ARCHS_REASON=	not yet supported
+
+BUILD_DEPENDS=	llvm${_LLVM_VER}>=0:devel/llvm${_LLVM_VER}
+
+LIB_DEPENDS=	libzstd.so:archivers/zstd
+
+USES=		cmake compiler:c++11-lang localbase:ldflags tar:xz
+CMAKE_ARGS+=	-DZIG_TARGET_MCPU=baseline # ensure we run everywhere
+CMAKE_ARGS+=	-DLLVM_CONFIG=${LOCALBASE}/bin/llvm-config${_LLVM_VER}
+CMAKE_ON=	THREADS_PREFER_PTHREAD_FLAG
+
+CONFLICTS_INSTALL=	zig0*
+
+OPTIONS_DEFINE=		DOCS STATIC
+OPTIONS_DEFAULT=	DOCS
+
+STATIC_DESC=	sets ZIG_STATIC to avoid 800MiB LLVM runtime dependency
+
+STATIC_RUN_DEPENDS_OFF=	llvm${_LLVM_VER}>=0:devel/llvm${_LLVM_VER}
+STATIC_CMAKE_BOOL=	ZIG_STATIC
+STATIC_LDFLAGS=		-licudata -licuuc -llzma -lm -lmd -lxml2 -lz -lzstd
+STATIC_LIB_DEPENDS+=	libxml2.so:textproc/libxml2
+
+_LLVM_VER=	20
+_ZIG_BIN=	${STAGEDIR}${PREFIX}/bin/zig
+
+post-configure-STATIC-on:
+	@${REINPLACE_CMD} 's/-Wl,-Bdynamic//' \
+		${BUILD_WRKSRC}/build.ninja
+
+post-install:
+	# Zig install creates this dir, which causes check-plist error
+	@${RM} -rf ${STAGEDIR}/wrkdirs
+
+	# Automatically create the PLIST file
+	@${FIND} -s ${_ZIG_BIN} -not -type d | ${SORT} | \
+		${SED} -e 's#^${STAGEDIR}${PREFIX}/##' >> ${TMPPLIST}
+	@${FIND} -s ${STAGEDIR}${PREFIX}/lib/${PORTNAME} -not -type d | ${SORT} | \
+		${SED} -e 's#^${STAGEDIR}${PREFIX}/##' >> ${TMPPLIST}
+	@${FIND} -s ${STAGEDIR}${PREFIX}/lib/${PORTNAME} -type d -empty | ${SORT} | \
+		${SED} -e 's#^${STAGEDIR}${PREFIX}/##; s#^#@dir #' >> ${TMPPLIST}
+
+post-install-DOCS-on:
+	${MKDIR} ${STAGEDIR}${DOCSDIR}/std
+.for f in index.html main.js
+	${INSTALL_MAN} ${WRKSRC}/lib/docs/${f} \
+		${STAGEDIR}${DOCSDIR}/${f}
+.endfor
+	@cd ${STAGEDIR}; ${FIND} ${DOCSDIR:C@^/@@} -type f | ${SED} -e 's@^@/@' | ${SORT} | \
+		${SED} -e 's#^${PREFIX}/##' >> ${TMPPLIST}
+	@${ECHO_CMD} "@dir share/doc/zig/std" >> ${TMPPLIST}
+
+do-test:
+	mkdir -p ${WRKDIR}/cache
+	(cd ${WRKSRC} && \
+		${_ZIG_BIN} build test-behavior --cache-dir ${WRKDIR}/cache \
+		--global-cache-dir ${WRKDIR}/cache --zig-lib-dir ${WRKSRC}/lib)
+
+.include <bsd.port.mk>
diff --git a/lang/zig015/distinfo b/lang/zig015/distinfo
new file mode 100644
index 000000000000..7b8de6171f6e
--- /dev/null
+++ b/lang/zig015/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1761276338
+SHA256 (zig-0.15.2.tar.xz) = d9b30c7aa983fcff5eed2084d54ae83eaafe7ff3a84d8fb754d854165a6e521c
+SIZE (zig-0.15.2.tar.xz) = 21366268
diff --git a/lang/zig015/pkg-descr b/lang/zig015/pkg-descr
new file mode 100644
index 000000000000..e3bd0df79986
--- /dev/null
+++ b/lang/zig015/pkg-descr
@@ -0,0 +1,2 @@
+Zig is a general purpose programming language designed for robustness,
+optimality, and maintainability.