aboutsummaryrefslogtreecommitdiff
path: root/lang/zig011/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'lang/zig011/Makefile')
-rw-r--r--lang/zig011/Makefile68
1 files changed, 68 insertions, 0 deletions
diff --git a/lang/zig011/Makefile b/lang/zig011/Makefile
new file mode 100644
index 000000000000..ca171397ecec
--- /dev/null
+++ b/lang/zig011/Makefile
@@ -0,0 +1,68 @@
+PORTNAME= zig
+DISTVERSION= 0.11.0
+CATEGORIES= lang
+MASTER_SITES= https://ziglang.org/download/${DISTVERSION}/ \
+ https://ziglang.org/builds/
+PKGNAMESUFFIX= 011
+# fetch prebuilt platform-independent docs
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \
+ zig-freebsd-x86_64-${DISTVERSION}${EXTRACT_SUFX}
+
+PATCH_SITES= https://github.com/ziglang/${PORTNAME}/commit/
+
+MAINTAINER= bsd@orsolic.org
+COMMENT= Language designed for robustness, optimality, and maintainability (deprecated 0.11.* series)
+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= zig zig010 zig-devel
+PORTSCOUT= limit:^0\.11\.
+
+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= 16
+_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 langref.html std/data.js std/main.js std/index.html
+ ${INSTALL_MAN} ${WRKDIR}/zig-freebsd-x86_64-${DISTVERSION}/doc/${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>