template
1.5 KB · 60 lines# Template file for 'odin'
pkgname=odin
version=2026.07a
revision=1
_tag="dev-${version//./-}"
archs="x86_64"
hostmakedepends="clang llvm make which"
makedepends="llvm21-devel"
checkdepends="python3"
depends="clang"
short_desc="Data-oriented programming language"
maintainer="AmarBego <[email protected]>"
license="BSD-3-Clause"
homepage="https://odin-lang.org/"
nostrip=yes
# Keep Odin's bundled AArch64 raylib available for cross-target builds without
# making the native x86_64 package depend on the AArch64 dynamic loader.
skiprdeps="/usr/lib/odin/vendor/raylib/linux-arm64/libraylib.so.600"
distfiles="https://github.com/odin-lang/Odin/archive/refs/tags/${_tag}.tar.gz"
checksum=8f4f02fd9a3426b441cd0dfbe0aca1b95fd93c95d86940fcb4417ef6044c83cd
wrksrc="Odin-${_tag}"
do_build() {
export CXX=clang++
export LLVM_CONFIG=llvm-config
make release
make -C vendor/cgltf/src
make -C vendor/miniaudio/src
make -C vendor/stb/src
}
do_check() {
./odin check examples/all -strict-style
python3 tests/core/download_assets.py tests/core/assets
./odin test tests/core/speed.odin -o:speed -file -all-packages
./odin test tests/vendor -all-packages
./odin test tests/internal -all-packages
}
do_install() {
vmkdir usr/lib/odin
vinstall odin 755 usr/lib/odin
for d in base core shared vendor; do
vcopy "$d" usr/lib/odin
done
# Create wrapper script to ensure ODIN_ROOT is set correctly
cat > odin.sh <<EOF
#!/bin/sh
export ODIN_ROOT=/usr/lib/odin
exec /usr/lib/odin/odin "\$@"
EOF
vbin odin.sh odin
vlicense LICENSE
vdoc PROPOSAL-PROCESS.md
vdoc README.md
}
Part of odin