lang/zig-devel: NEW PORT - latest version of zig language

Adds latest development version of zig-lang - upcoming 0.12.

- based off https://reviews.freebsd.org/D41067
- with further changes from lang/zig which has evolved
- update MAINTAINER per email approval for lang/zig*

Test Plan: Tested on 14.0-RELEASE and 15.0-CURRENT.

Differential Revision: https://reviews.freebsd.org/D43416
Differential Revision: https://reviews.freebsd.org/D41067
Obtained from:         Pero Orsolic <bsd@orsolic.org>
This commit is contained in:
Dave Cottlehuber 2024-02-14 14:39:00 +00:00
parent 57d39b461a
commit 98d70399e7
9 changed files with 13004 additions and 3 deletions

1
MOVED
View File

@ -1870,7 +1870,6 @@ devel/f18||2023-01-15|Depends on removed old llvm ports
devel/xtoolchain-llvm80||2023-01-15|Depends on removed old llvm ports
devel/xtoolchain-llvm90||2023-01-15|Depends on removed old llvm ports
net-p2p/tootle|net-p2p/tooth|2023-01-16|Upstream archived, forked
lang/zig-devel|lang/zig|2023-01-19|Development version no longer necessary
irc/cwirc||2023-01-19|Has expired: No upstream, no apparent use seen online
sysutils/ior|benchmarks/ior|2023-01-20|Moved to a better fit category
emulators/qemu-guest-agent|emulators/qemu@guestagent|2023-01-20|Seperate port merged with main port as a flavor

View File

@ -384,6 +384,7 @@
SUBDIR += ypsilon
SUBDIR += zephir
SUBDIR += zig
SUBDIR += zig-devel
SUBDIR += zig010
.include <bsd.port.subdir.mk>

70
lang/zig-devel/Makefile Normal file
View File

@ -0,0 +1,70 @@
PORTNAME= zig
DISTVERSION= 0.12.0-dev.1879+e19219fa0
CATEGORIES= lang
MASTER_SITES= https://ziglang.org/download/${DISTVERSION}/ \
https://ziglang.org/builds/
PKGNAMESUFFIX= -devel
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
PATCH_SITES= https://github.com/ziglang/${PORTNAME}/commit/
MAINTAINER= bsd@orsolic.org
COMMENT= Language designed for robustness, optimality, and maintainability, latest git version
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 \
libxml2>=2.0:textproc/libxml2 \
llvm${_LLVM_VER}>=0:devel/llvm${_LLVM_VER}
LIB_DEPENDS= liblzma.so:archivers/lzma \
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-devel zig0*
_LLVM_VER= 17
OPTIONS_DEFINE= DOCS STATIC
OPTIONS_DEFAULT= STATIC
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
_ZIG_BIN= ${STAGEDIR}${PREFIX}/bin/zig
post-patch:
@${REINPLACE_CMD} 's|"-Dversion-string=$${RESOLVED_ZIG_VERSION}"|"-Dversion-string=${DISTVERSION}"|g' ${WRKSRC}/CMakeLists.txt
post-configure-STATIC-on:
@${REINPLACE_CMD} 's/-Wl,-Bdynamic//' \
${BUILD_WRKSRC}/build.ninja
post-build:
@${RM} -rf ${STAGEDIR}/wrkdirs
post-install:
@${RM} -rf ${WRKDIR}/.build
post-install-DOCS-on:
${MKDIR} ${STAGEDIR}${DOCSDIR}/std
.for f in commonmark.js index.html main.js ziglexer.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>

3
lang/zig-devel/distinfo Normal file
View File

@ -0,0 +1,3 @@
TIMESTAMP = 1705014044
SHA256 (zig-0.12.0-dev.1879+e19219fa0.tar.xz) = 7bfad0dace0cea9afa376cc84d36b48ea2caeabec3c1f656faf9ff8bcf64e92f
SIZE (zig-0.12.0-dev.1879+e19219fa0.tar.xz) = 15980836

View File

@ -0,0 +1,10 @@
--- CMakeLists.txt.orig 2023-04-14 11:08:26.398236000 +0200
+++ CMakeLists.txt 2023-04-14 11:08:31.255736000 +0200
@@ -857,6 +857,7 @@
"-Dtarget=${ZIG_TARGET_TRIPLE}"
"-Dcpu=${ZIG_TARGET_MCPU}"
"-Dversion-string=${RESOLVED_ZIG_VERSION}"
+ "--verbose"
)
add_custom_target(stage3 ALL

2
lang/zig-devel/pkg-descr Normal file
View File

@ -0,0 +1,2 @@
Zig is a general purpose programming language designed for robustness,
optimality, and maintainability.

12913
lang/zig-devel/pkg-plist Normal file

File diff suppressed because it is too large Load Diff

View File

@ -10,7 +10,7 @@ DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \
PATCH_SITES= https://github.com/ziglang/${PORTNAME}/commit/
MAINTAINER= dch@FreeBSD.org
MAINTAINER= bsd@orsolic.org
COMMENT= Language designed for robustness, optimality, and maintainability
WWW= https://ziglang.org/
@ -51,6 +51,9 @@ post-configure-STATIC-on:
post-build:
@${RM} -rf ${STAGEDIR}/wrkdirs
post-install:
@${RM} -rf ${WRKDIR}/.build
post-install-DOCS-on:
${MKDIR} ${STAGEDIR}${DOCSDIR}/std
.for f in langref.html std/data.js std/main.js std/index.html

View File

@ -11,7 +11,7 @@ DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \
PATCH_SITES= https://github.com/ziglang/${PORTNAME}/commit/
MAINTAINER= dch@FreeBSD.org
MAINTAINER= bsd@orsolic.org
COMMENT= Language designed for robustness, optimality, and maintainability (deprecated 0.10.* series)
WWW= https://ziglang.org/