# SPDX-License-Identifier: CC0-1.0
#
# SPDX-FileContributor: Adrian "asie" Siekierka, 2023

pkgname=(wf-lua-toml)
_pkgver=0.4.1
pkgver=0.4.1.r49.f9ee400
pkgrel=1
epoch=
pkgdesc="Lua TOML library"
arch=("i686" "x86_64" "armv6h" "aarch64")
url="https://github.com/LebJe/toml.lua"
license=("MIT")
source=(
	"$pkgname::git+https://github.com/LebJe/toml.lua#branch=main"
	"file:///wf/patches/lua-toml-0.4.0-remove-march-native.patch"
)
depends=(wf-lua)
makedepends=(wf-lua-dev)
sha256sums=(
	"SKIP"
	"SKIP"
)

. "/wf/config/runtime-env-vars.sh"

. "../templates/git-pkgver.PKGBUILD"

prepare() {
	cd "$pkgname"
	patch -p1 <../lua-toml-0.4.0-remove-march-native.patch
}

build() {
	cd "$pkgname"

	if [ "$WF_HOST_OS" == "windows" ]; then
		# Building toml++ *really* requires a lot of memory...
		cmake -S . -B build -G Ninja \
			-DCMAKE_CXX_FLAGS=-O1 \
			-DCMAKE_CXX_FLAGS_RELEASE=-O1
	else
		case ${CARCH} in
			armv6h|i686)
				# Building toml++ *really* requires a lot of memory...
				LDFLAGS="$WF_RUNTIME_LDFLAGS" \
					cmake -S . -B build -G Ninja \
					-DCMAKE_CXX_FLAGS=-O1 \
					-DCMAKE_CXX_FLAGS_RELEASE=-O1 \
					-DLUA_INCLUDE_DIR="$WF_PATH"/include \
					-DLUA_LIBRARIES=
				;;
			*)
				LDFLAGS="$WF_RUNTIME_LDFLAGS" \
					cmake -S . -B build -G Ninja \
					-DLUA_INCLUDE_DIR="$WF_PATH"/include \
					-DLUA_LIBRARIES=
				;;
		esac
	fi

	# Building toml++ requires a lot of memory...
	cmake --build build --config Release -j 1
}

package() {
	cd "$pkgname"

	mkdir -p "$pkgdir$WF_DESTDIR"/lib/lua/5.4
	cp -a build/toml"$WF_LIBRARY_SUFFIX" "$pkgdir$WF_DESTDIR"/lib/lua/5.4
}

