forked from semios/semios-packages
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0ed5e65337 | ||
|
|
0ada9d32fb | ||
|
|
839b57e9bf | ||
|
|
3a1f472de2 | ||
|
|
452e767da4 | ||
|
|
933e526f26 | ||
|
|
8edccbc04e | ||
|
|
402aedcfb7 | ||
|
|
e9e835a7cf | ||
|
|
a14d1e6ea0 | ||
|
|
9711728da6 | ||
|
|
9810303b71 |
@@ -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)
|
||||
|
||||
+42
-10
@@ -4,6 +4,7 @@ import sys
|
||||
import tarfile
|
||||
import urllib.parse
|
||||
import urllib.request
|
||||
import zipfile
|
||||
|
||||
|
||||
def filename(url):
|
||||
@@ -128,6 +129,25 @@ def tar_common_root(tar: tarfile.TarFile) -> str | None:
|
||||
return root
|
||||
|
||||
|
||||
def zip_common_root(zip_file: zipfile.ZipFile) -> str | None:
|
||||
members = zip_file.infolist()
|
||||
if not members:
|
||||
return None
|
||||
root = None
|
||||
for member in members:
|
||||
path = member.filename.replace('\\', '/').lstrip('./').lstrip('/')
|
||||
if not path:
|
||||
continue
|
||||
this_root = path.split('/')[0]
|
||||
if this_root in ('', '.', '..'):
|
||||
continue
|
||||
if root is None:
|
||||
root = this_root
|
||||
elif this_root != root:
|
||||
return None
|
||||
return root
|
||||
|
||||
|
||||
def sources_dir_name() -> str:
|
||||
with open("./target/sources.tag") as file:
|
||||
return file.read()
|
||||
@@ -139,16 +159,28 @@ def source_url(url: str):
|
||||
download_path = f"./target/{filename(url)}"
|
||||
download(url, download_path)
|
||||
|
||||
with tarfile.open(download_path, "r") as tar:
|
||||
common_root = tar_common_root(tar)
|
||||
extract_dir = "./target"
|
||||
sources_dir = f"./target/{common_root}"
|
||||
if common_root in ["", ".", "None"]:
|
||||
extract_dir = "./target/sources"
|
||||
sources_dir = "./target/sources"
|
||||
tar.extractall(extract_dir)
|
||||
with open("./target/sources.tag", "wt+") as file:
|
||||
file.write(sources_dir)
|
||||
if download_path.endswith(".zip"):
|
||||
with zipfile.ZipFile(download_path, "r") as zip:
|
||||
common_root = zip_common_root(zip)
|
||||
else:
|
||||
with tarfile.open(download_path, "r") as tar:
|
||||
common_root = tar_common_root(tar)
|
||||
|
||||
extract_dir = "./target"
|
||||
sources_dir = f"./target/{common_root}"
|
||||
if common_root in ["", ".", None]:
|
||||
extract_dir = "./target/sources"
|
||||
sources_dir = "./target/sources"
|
||||
|
||||
if download_path.endswith(".zip"):
|
||||
with zipfile.ZipFile(download_path, "r") as zip:
|
||||
zip.extractall(extract_dir)
|
||||
else:
|
||||
with tarfile.open(download_path, "r") as tar:
|
||||
tar.extractall(extract_dir)
|
||||
|
||||
with open("./target/sources.tag", "wt+") as file:
|
||||
file.write(sources_dir)
|
||||
|
||||
|
||||
def _git_repo_name(url: str) -> str:
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
from lib.make import *
|
||||
from lib import python
|
||||
|
||||
|
||||
python.version("3.0.3")
|
||||
description("Safely add untrusted strings to HTML/XML markup.")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz")
|
||||
|
||||
python.builddep("$shortcut")
|
||||
|
||||
|
||||
def build():
|
||||
python.build()
|
||||
python.install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
package("MarkupSafe.py")
|
||||
python.dep("python")
|
||||
python.use_auto_pack()
|
||||
@@ -0,0 +1,22 @@
|
||||
from lib.make import *
|
||||
from lib import python
|
||||
|
||||
|
||||
python.version("6.0.3")
|
||||
description("YAML parser and emitter for Python")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz")
|
||||
|
||||
python.builddep("$shortcut")
|
||||
|
||||
|
||||
def build():
|
||||
python.build()
|
||||
python.install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
package("PyYAML.py")
|
||||
python.dep("python")
|
||||
python.use_auto_pack()
|
||||
@@ -0,0 +1,37 @@
|
||||
from lib.make import *
|
||||
from lib import cpp, arch
|
||||
|
||||
|
||||
version("22.1.5")
|
||||
description("A tool and a library for bi-directional translation between SPIR-V and LLVM IR")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/refs/tags/v22.1.5.tar.gz")
|
||||
|
||||
builddep("shortcut/cmake")
|
||||
builddep("shortcut/c++")
|
||||
builddep(f"libllvm-dev (~22.1.0) @{arch.get_target()}")
|
||||
builddep(f"libllvm-static (~22.1.0) @{arch.get_target()}")
|
||||
builddep("pkgconf")
|
||||
builddep("spirv-headers")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.cmake([
|
||||
"-DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=ON",
|
||||
f"-DLLVM_DIR=/lib/{arch.get_target()}/cmake/llvm",
|
||||
f"-DSPIRV-Headers_SOURCE_DIR=/lib/{arch.get_target()}",
|
||||
f"-DCMAKE_INSTALL_PREFIX={get_prefix('libllvmspirv-dev')}",
|
||||
])
|
||||
cpp.ninja()
|
||||
cpp.ninja_install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
package("libllvmspirv-dev")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
|
||||
package("llvm-spirv")
|
||||
dep("libllvm (~22.1.0) @same-arch")
|
||||
dep("libcxx @same-arch")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
@@ -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 <[email protected]>")
|
||||
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"])
|
||||
@@ -119,6 +119,7 @@ def cmd_build_package(package: str):
|
||||
"version": pkgver,
|
||||
"arch": pkgarch,
|
||||
"description": pkginfo[lib.make._key_description],
|
||||
"maintainers": pkginfo[lib.make._key_maintainers],
|
||||
"dependencies": pkginfo[lib.make._key_dependencies],
|
||||
"provides": pkginfo[lib.make._key_provides],
|
||||
"recommendations": pkginfo[lib.make._key_recommendations],
|
||||
|
||||
Reference in New Issue
Block a user