mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-29 10:18:30 +00:00
674b0ae1a2
PR: 279702 Approved by: bsd@orsolic.org (maintainer)
64 lines
1.6 KiB
Makefile
64 lines
1.6 KiB
Makefile
PORTNAME= zig
|
|
DISTVERSION= 0.12.1
|
|
CATEGORIES= lang
|
|
MASTER_SITES= https://ziglang.org/download/${DISTVERSION}/ \
|
|
https://ziglang.org/builds/
|
|
|
|
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= icu>=71:devel/icu \
|
|
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_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
|
|
|
|
_LLVM_VER= 17
|
|
_ZIG_BIN= ${STAGEDIR}${PREFIX}/bin/zig
|
|
|
|
post-configure-STATIC-on:
|
|
@${REINPLACE_CMD} 's/-Wl,-Bdynamic//' \
|
|
${BUILD_WRKSRC}/build.ninja
|
|
|
|
post-install:
|
|
@${RM} -rf ${WRKDIR}/.build
|
|
@${RM} -rf ${STAGEDIR}/wrkdirs
|
|
|
|
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
|
|
|
|
do-test:
|
|
mkdir ${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>
|