forked from semios/semios-packages
Compare commits
4
Commits
fix-inode
...
python-pkg
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d05fce73dc | ||
|
|
ed596468e4 | ||
|
|
e2094c34d7 | ||
|
|
b09d172ff9 |
+6
-6
@@ -4,16 +4,16 @@ from . import packie
|
||||
|
||||
all: dict[str, dict[str, str]] = {
|
||||
"aarch64-semios-linux": {
|
||||
"CC": "clang -target aarch64-semios-linux-musl",
|
||||
"CXX": "clang++ -target aarch64-semios-linux-musl",
|
||||
"CC": "clang -target aarch64-unknown-linux-musl",
|
||||
"CXX": "clang++ -target aarch64-unknown-linux-musl",
|
||||
},
|
||||
"x86_64-semios-linux": {
|
||||
"CC": "clang -target x86_64-semios-linux-musl",
|
||||
"CXX": "clang++ -target x86_64-semios-linux-musl",
|
||||
"CC": "clang -target x86_64-unknown-linux-musl",
|
||||
"CXX": "clang++ -target x86_64-unknown-linux-musl",
|
||||
},
|
||||
"riscv64-semios-linux": {
|
||||
"CC": "clang -target riscv64-semios-linux-musl",
|
||||
"CXX": "clang++ -target riscv64-semios-linux-musl",
|
||||
"CC": "clang -target riscv64-unknown-linux-musl",
|
||||
"CXX": "clang++ -target riscv64-unknown-linux-musl",
|
||||
},
|
||||
}
|
||||
_target: str = packie.host_arch()
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
import os
|
||||
import shutil
|
||||
import subprocess
|
||||
|
||||
from . import make, arch
|
||||
|
||||
|
||||
PY3_VERSION = "3.14"
|
||||
|
||||
|
||||
def build():
|
||||
subprocess.run(["python3", "-m", "build", "."], check=True)
|
||||
|
||||
def install():
|
||||
if os.path.exists("../pyinstall"):
|
||||
shutil.rmtree("../pyinstall")
|
||||
for i in os.listdir("dist"):
|
||||
if not i.endswith(".whl"):
|
||||
continue
|
||||
subprocess.run(["python3", "-m", "installer", f"--destdir=../pyinstall", f"dist/{i}"], check=True)
|
||||
os.chdir("../pyinstall")
|
||||
while len(os.listdir(".")) == 1:
|
||||
os.chdir(os.listdir(".")[0])
|
||||
|
||||
def version(s: str):
|
||||
make.version(f"{s}+python{PY3_VERSION}")
|
||||
|
||||
def _depcommon(s: str):
|
||||
if s == "python":
|
||||
return f"python (~{PY3_VERSION}.0) @{arch.get_target()}"
|
||||
elif ".py" in s:
|
||||
if ")" in s:
|
||||
return s.replace(")", f", +python{PY3_VERSION})")
|
||||
else:
|
||||
return s.replace(".py", f" (+python{PY3_VERSION})")
|
||||
else:
|
||||
return None
|
||||
|
||||
def builddep(s: str):
|
||||
if s == "$shortcut":
|
||||
builddep("python")
|
||||
builddep("build.py")
|
||||
builddep("installer.py")
|
||||
elif _depcommon(s):
|
||||
make.builddep(_depcommon(s))
|
||||
else:
|
||||
raise RuntimeError("unrecognized python dep")
|
||||
|
||||
def dep(s: str):
|
||||
if _depcommon(s):
|
||||
make.dep(_depcommon(s))
|
||||
else:
|
||||
raise RuntimeError("unrecognized python dep")
|
||||
|
||||
def _auto_pack(composer):
|
||||
base = f"lib/python{PY3_VERSION}/site-packages"
|
||||
composer.makedirs(base)
|
||||
for i in os.listdir("."):
|
||||
composer.add_dir(i, f"{base}/{i}")
|
||||
|
||||
def use_auto_pack():
|
||||
make.on_pack(_auto_pack)
|
||||
@@ -28,7 +28,7 @@ srcdir = None
|
||||
packname = None
|
||||
|
||||
def llvm_host_triple():
|
||||
return arch.get_target().replace("-semios-linux", "-semios-linux-musl")
|
||||
return arch.get_target().replace("-semios-linux", "-unknown-linux-musl")
|
||||
|
||||
def cmake(sourcedir, args):
|
||||
builddir = os.getcwd() + f"/../_build_{sourcedir}"
|
||||
@@ -76,7 +76,7 @@ def auto_pack_dev(composer, name, devbins=[], extdirs=["lib/cmake"]):
|
||||
composer.makedir("lib")
|
||||
for i in os.listdir("lib"):
|
||||
prefix = None
|
||||
if os.path.isdir(i) and f"lib/{i}" in extdirs:
|
||||
if os.path.isdir(f"lib/{i}") and f"lib/{i}" in extdirs:
|
||||
composer.add_dir(f"lib/{i}", f"lib/{i}")
|
||||
elif ".so" in i:
|
||||
prefix = get_prefix(f"lib{name}")
|
||||
@@ -132,7 +132,7 @@ def build_clang():
|
||||
"-DCLANG_DEFAULT_CXX_STDLIB=libc++",
|
||||
"-DCLANG_DEFAULT_RTLIB=compiler-rt",
|
||||
"-DLLVM_INCLUDE_TESTS=OFF",
|
||||
f"-DC_INCLUDE_DIRS=/lib/{arch.get_target()}/include",
|
||||
f"-DC_INCLUDE_DIRS=/lib/{arch.get_target()}/include:{get_prefix('clang')}/lib/clang/{pkgver_major}/include",
|
||||
]
|
||||
cmake("clang", import_llvm() + options)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user