66 lines
2.3 KiB
Makefile
66 lines
2.3 KiB
Makefile
PORTNAME= odin
|
|
DISTVERSIONPREFIX= dev-
|
|
DISTVERSION= 2026-09
|
|
CATEGORIES= lang devel
|
|
PKGNAMESUFFIX= -lang
|
|
|
|
MAINTAINER= yuri@FreeBSD.org
|
|
COMMENT= Odin programming language
|
|
WWW= https://odin-lang.org \
|
|
https://github.com/odin-lang/Odin
|
|
|
|
LICENSE= ZLIB
|
|
LICENSE_FILE= ${WRKSRC}/LICENSE
|
|
|
|
BROKEN_armv7= compilation fails: use of undeclared identifier 'LLVMInitializeWebAssemblyTargetInfo'
|
|
BROKEN_i386= compilation fails: use of undeclared identifier 'LLVMInitializeAArch64TargetInfo', see https://github.com/odin-lang/Odin/issues/4875
|
|
|
|
USES= gmake llvm:21,lib python:test
|
|
|
|
USE_GITHUB= yes
|
|
GH_ACCOUNT= odin-lang
|
|
GH_PROJECT= Odin
|
|
|
|
ALL_TARGET= release
|
|
|
|
BINARY_ALIAS= python3=${PYTHON_CMD}
|
|
|
|
OPTIONS_DEFINE= EXAMPLES
|
|
|
|
PORTEXAMPLES= *
|
|
|
|
do-install:
|
|
# binary
|
|
${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
|
|
# libs and binary
|
|
${MKDIR} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}
|
|
${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}
|
|
cd ${WRKSRC} && \
|
|
${COPYTREE_SHARE} core ${STAGEDIR}${PREFIX}/lib/${PORTNAME} && \
|
|
${COPYTREE_SHARE} base ${STAGEDIR}${PREFIX}/lib/${PORTNAME} && \
|
|
${COPYTREE_SHARE} vendor ${STAGEDIR}${PREFIX}/lib/${PORTNAME}
|
|
# binary symlink
|
|
${RLN} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
|
|
# examples
|
|
cd ${WRKSRC}/examples && \
|
|
${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}
|
|
|
|
do-test:
|
|
@${ECHO} "===> Compiling vendor libraries"
|
|
@cd ${WRKSRC}/vendor/stb/src && ${SETENV} ${MAKE_ENV} sh build_stb.sh
|
|
@cd ${WRKSRC}/vendor/cgltf/src && ${SETENV} ${MAKE_ENV} sh build_cgltf.sh
|
|
@cd ${WRKSRC}/vendor/miniaudio/src && ${SETENV} ${MAKE_ENV} sh build_miniaudio.sh
|
|
@${ECHO} "===> Running tests"
|
|
@cd ${WRKSRC} && \
|
|
${SETENV} ${TEST_ENV} ./odin test tests/core/normal.odin -file -all-packages -define:ODIN_TEST_FANCY=false && \
|
|
${SETENV} ${TEST_ENV} ./odin test tests/core/speed.odin -o:speed -file -all-packages -define:ODIN_TEST_FANCY=false && \
|
|
${SETENV} ${TEST_ENV} ./odin test tests/vendor -all-packages -define:ODIN_TEST_FANCY=false && \
|
|
${SETENV} ${TEST_ENV} ./odin test tests/internal -all-packages -define:ODIN_TEST_FANCY=false
|
|
|
|
# tests as of 2026-09:
|
|
# Finished 603 tests in 2.410357009s. All tests were successful.
|
|
# Finished 128 tests in 1.693737531s. All tests were successful.
|
|
# Finished 131 tests in 786.296559ms. All tests were successful.
|
|
|
|
.include <bsd.port.mk>
|