@@ -0,0 +1,98 @@
|
||||
import os
|
||||
|
||||
from lib.make import *
|
||||
from lib import cpp
|
||||
|
||||
|
||||
version("1.7.0")
|
||||
description("The GL Vendor-Neutral Dispatch library")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_git("https://gitlab.freedesktop.org/glvnd/libglvnd.git", "v1.7.0")
|
||||
|
||||
builddep("shortcut/meson")
|
||||
builddep("shortcut/c")
|
||||
builddep("libexpat")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.meson_setup([
|
||||
"-Degl=true",
|
||||
"-Dentrypoint-patching=disabled",
|
||||
|
||||
# X11 Stuff
|
||||
# We don't have X11 yet, so leave them disabled
|
||||
"-Dx11=disabled",
|
||||
"-Dglx=disabled",
|
||||
])
|
||||
cpp.meson_compile()
|
||||
cpp.meson_install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def fix_pc(path, name):
|
||||
with open(path, 'r') as file:
|
||||
content = file.read()
|
||||
devpkgname = f"{name}-dev"
|
||||
content = content.replace("prefix=/usr/local", f"prefix=/")
|
||||
content = content.replace("includedir=${prefix}/include", f"includedir={get_prefix(devpkgname)}/include")
|
||||
content = content.replace("libdir=${prefix}/lib", f"libdir={get_prefix(name)}/lib")
|
||||
with open(path, 'wt+') as file:
|
||||
file.write(content)
|
||||
|
||||
def pack_librun(composer, libname):
|
||||
composer.makedir("lib")
|
||||
for i in os.listdir("lib"):
|
||||
if ".so" in i and i.startswith(libname):
|
||||
composer.addfile(f"lib/{i}", f"lib/{i}")
|
||||
|
||||
def pack_libdev(composer, pkgname, pkgconfname, includenames):
|
||||
composer.makedirs("lib/pkgconfig")
|
||||
for i in os.listdir("lib/pkgconfig"):
|
||||
if pkgconfname == i:
|
||||
composer.addfile(f"lib/pkgconfig/{i}", f"lib/pkgconfig/{i}")
|
||||
fix_pc(f"{composer.workdir}/bundle/lib/pkgconfig/{i}", pkgname)
|
||||
composer.makedir("include")
|
||||
for i in includenames:
|
||||
composer.add_dir(f"include/{i}", f"include/{i}")
|
||||
|
||||
|
||||
package("libgldispatch")
|
||||
dep("semi-libc @same-arch")
|
||||
on_pack(lambda composer: pack_librun(composer, "libGLdispatch"))
|
||||
|
||||
package("libgldispatch-dev")
|
||||
dep("semi-libc @same-arch")
|
||||
on_pack(lambda composer: pack_libdev(composer, "libgldispatch", "libglvnd.pc", ["glvnd", "KHR"]))
|
||||
|
||||
package("libegl")
|
||||
dep("libgldispatch (same)")
|
||||
on_pack(lambda composer: pack_librun(composer, "libEGL"))
|
||||
|
||||
package("libegl-dev")
|
||||
dep("libegl (same)")
|
||||
on_pack(lambda composer: pack_libdev(composer, "libegl", "egl.pc", ["EGL"]))
|
||||
|
||||
package("libglesv1-cm")
|
||||
dep("libgldispatch (same)")
|
||||
on_pack(lambda composer: pack_librun(composer, "libGLESv1_CM"))
|
||||
|
||||
package("libglesv1-cm-dev")
|
||||
dep("libglesv1-cm (same)")
|
||||
on_pack(lambda composer: pack_libdev(composer, "libglesv1-cm", "glesv1_cm.pc", ["GLES"]))
|
||||
|
||||
package("libglesv2")
|
||||
dep("libgldispatch (same)")
|
||||
on_pack(lambda composer: pack_librun(composer, "libGLESv2"))
|
||||
|
||||
package("libglesv2-dev")
|
||||
dep("libglesv2 (same)")
|
||||
on_pack(lambda composer: pack_libdev(composer, "libglesv2", "glesv2.pc", ["GLES2", "GLES3"]))
|
||||
|
||||
package("libopengl")
|
||||
dep("libgldispatch (same)")
|
||||
on_pack(lambda composer: pack_librun(composer, "libOpenGL"))
|
||||
|
||||
package("libopengl-dev")
|
||||
dep("libopengl (same)")
|
||||
on_pack(lambda composer: pack_libdev(composer, "libopengl", "opengl.pc", ["GL"]))
|
||||
Reference in New Issue
Block a user