diff --git a/lib/cpp.py b/lib/cpp.py index fd9ad4b..2a8ab73 100644 --- a/lib/cpp.py +++ b/lib/cpp.py @@ -117,6 +117,7 @@ def _is_dev_file(ent) -> bool: or ent.name.endswith(".la") or ent.name.endswith(".pc") or ent.name.endswith(".h") + or ent.name.endswith(".hpp") or ent.name.endswith(".cmake") or ent.name.endswith(".inc") or ("Makefile" in ent.name) diff --git a/packages/spirv-tools/pkgbuild.py b/packages/spirv-tools/pkgbuild.py new file mode 100644 index 0000000..188663d --- /dev/null +++ b/packages/spirv-tools/pkgbuild.py @@ -0,0 +1,43 @@ +import os +import shutil + +from lib.make import * +from lib import cpp, arch + + +sdk_version = "1.4.357.0" + +version(sdk_version) +description("an API and commands for processing SPIR-V modules") +maintainer("sisungo ") +source_url("https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/vulkan-sdk-1.4.357.0.tar.gz") + +builddep("shortcut/cmake") +builddep("shortcut/c++") +builddep(f"spirv-headers (={sdk_version}) @{arch.get_target()}") + + +def build(): + cpp.cmake([ + f"-DSPIRV-Headers_SOURCE_DIR=/lib/{arch.get_target()}", + "-DCMAKE_CXX_FLAGS=-Wno-error=switch", + f"-DCMAKE_INSTALL_PREFIX={get_prefix('spirv-tools-dev')}", + ]) + cpp.ninja() + cpp.ninja_install() + try: + os.rename("lib64", "lib") + os.rename("lib32", "lib") + except: + pass + +on_build(build) + + +package("spirv-tools") +dep("libcxx @same-arch") +cpp.use_auto_pack(["bin"]) + +package("spirv-tools-dev") +dep("spirv-tools (same)") +cpp.use_auto_pack(["lib", "dev"])