SUMMARY="A library for handling OpenGL function pointer management for you"
DESCRIPTION="Epoxy is a library for handling OpenGL function pointer \
management for you.
It hides the complexity of dlopen(), dlsym(), glXGetProcAddress(), \
eglGetProcAddress(), etc. from the app developer, with very little \
knowledge needed on their part. They get to read GL specs and write \
code using undecorated function names like glCompileShader(). \
Don't forget to check for your extensions or versions being present \
before you use them, just like before! We'll tell you what you forgot \
to check for instead of just segfaulting, though."
HOMEPAGE="https://github.com/anholt/libepoxy"
COPYRIGHT="2018-2021 Emmanuele Bassi"
LICENSE="MIT"
REVISION="2"
SOURCE_URI="https://github.com/anholt/libepoxy/archive/$portVersion.tar.gz"
CHECKSUM_SHA256="0cd80cb040b75cbe77fadd45c48282ebab82d845c597ce11ee5e8cb9c1efeabb"
PATCHES="libepoxy-$portVersion.patchset"

ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"

PROVIDES="
	libepoxy$secondaryArchSuffix = $portVersion
	lib:libepoxy$secondaryArchSuffix = 0.0.0 compat >= 0
	"
REQUIRES="
	haiku$secondaryArchSuffix
	lib:libEGL$secondaryArchSuffix
	lib:libGL$secondaryArchSuffix
	"

PROVIDES_devel="
	libepoxy${secondaryArchSuffix}_devel = $portVersion
	devel:libepoxy$secondaryArchSuffix = 0.0.0 compat >= 0
	"
REQUIRES_devel="
	libepoxy$secondaryArchSuffix == $portVersion base
	"

BUILD_REQUIRES="
	haiku${secondaryArchSuffix}_devel
	setuptools_python3
	devel:libEGL$secondaryArchSuffix
	devel:libGL$secondaryArchSuffix
	devel:util_macros
	"
BUILD_PREREQUIRES="
	cmd:gcc$secondaryArchSuffix
	cmd:make
	cmd:meson
	cmd:ninja
	cmd:pkg_config$secondaryArchSuffix
	cmd:python3
	"

defineDebugInfoPackage libepoxy$secondaryArchSuffix \
	"$libDir"/libepoxy.so.0.0.0

BUILD()
{
	mkdir -p _build

	cd _build

	meson --buildtype=release --prefix=$prefix \
		--libdir=$libDir --includedir=$includeDir

	ninja $jobArgs
}

INSTALL()
{
	cd _build

	ninja install

	prepareInstalledDevelLib libepoxy
	fixPkgconfig

	packageEntries devel \
		$developDir
}

TEST()
{
	cd _build && ninja test
}
