mirror of
https://github.com/pmret/papermario.git
synced 2024-09-18 23:42:35 +02:00
Require pigment64, use it to build most standalone images (#1088)
This commit is contained in:
parent
c2c5f15a2a
commit
1118ee8110
1
Jenkinsfile
vendored
1
Jenkinsfile
vendored
@ -16,6 +16,7 @@ pipeline {
|
|||||||
sh 'curl -L "https://github.com/decompals/mips-gcc-2.7.2/releases/download/main/gcc-2.7.2-linux.tar.gz" | tar zx -C tools/build/cc/gcc2.7.2'
|
sh 'curl -L "https://github.com/decompals/mips-gcc-2.7.2/releases/download/main/gcc-2.7.2-linux.tar.gz" | tar zx -C tools/build/cc/gcc2.7.2'
|
||||||
sh 'curl -L "https://github.com/decompals/mips-binutils-2.6/releases/download/main/binutils-2.6-linux.tar.gz" | tar zx -C tools/build/cc/gcc2.7.2'
|
sh 'curl -L "https://github.com/decompals/mips-binutils-2.6/releases/download/main/binutils-2.6-linux.tar.gz" | tar zx -C tools/build/cc/gcc2.7.2'
|
||||||
sh 'pip install -U -r requirements.txt'
|
sh 'pip install -U -r requirements.txt'
|
||||||
|
sh 'cargo install pigment64'
|
||||||
sh './configure'
|
sh './configure'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,9 +23,14 @@ BUILD_TOOLS = Path("tools/build")
|
|||||||
YAY0_COMPRESS_TOOL = f"{BUILD_TOOLS}/yay0/Yay0compress"
|
YAY0_COMPRESS_TOOL = f"{BUILD_TOOLS}/yay0/Yay0compress"
|
||||||
CRC_TOOL = f"{BUILD_TOOLS}/rom/n64crc"
|
CRC_TOOL = f"{BUILD_TOOLS}/rom/n64crc"
|
||||||
|
|
||||||
|
PIGMENT = "pigment64"
|
||||||
|
PIGMENT_REQ_VERSION = "0.2.2"
|
||||||
|
|
||||||
|
|
||||||
def exec_shell(command: List[str]) -> str:
|
def exec_shell(command: List[str]) -> str:
|
||||||
ret = subprocess.run(command, stdout=subprocess.PIPE, text=True)
|
ret = subprocess.run(
|
||||||
|
command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True
|
||||||
|
)
|
||||||
return ret.stdout
|
return ret.stdout
|
||||||
|
|
||||||
|
|
||||||
@ -181,6 +186,12 @@ def write_ninja_rules(
|
|||||||
command=f"$python {BUILD_TOOLS}/img/build.py $img_type $in $out $img_flags",
|
command=f"$python {BUILD_TOOLS}/img/build.py $img_type $in $out $img_flags",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
ninja.rule(
|
||||||
|
"pigment",
|
||||||
|
description="img($img_type) $in",
|
||||||
|
command=f"{PIGMENT} $img_flags $in $img_type -o $out",
|
||||||
|
)
|
||||||
|
|
||||||
ninja.rule(
|
ninja.rule(
|
||||||
"img_header",
|
"img_header",
|
||||||
description="img_header $in",
|
description="img_header $in",
|
||||||
@ -620,7 +631,7 @@ class Configure:
|
|||||||
build(
|
build(
|
||||||
bin_path,
|
bin_path,
|
||||||
src_paths,
|
src_paths,
|
||||||
"img",
|
"pigment",
|
||||||
variables={
|
variables={
|
||||||
"img_type": seg.type,
|
"img_type": seg.type,
|
||||||
"img_flags": flags,
|
"img_flags": flags,
|
||||||
@ -660,7 +671,7 @@ class Configure:
|
|||||||
build(
|
build(
|
||||||
bin_path,
|
bin_path,
|
||||||
src_paths,
|
src_paths,
|
||||||
"img",
|
"pigment",
|
||||||
variables={
|
variables={
|
||||||
"img_type": seg.type,
|
"img_type": seg.type,
|
||||||
"img_flags": "",
|
"img_flags": "",
|
||||||
@ -700,7 +711,7 @@ class Configure:
|
|||||||
build(
|
build(
|
||||||
bin_path,
|
bin_path,
|
||||||
entry.src_paths,
|
entry.src_paths,
|
||||||
"img",
|
"pigment",
|
||||||
variables={
|
variables={
|
||||||
"img_type": seg.type,
|
"img_type": seg.type,
|
||||||
"img_flags": flags,
|
"img_flags": flags,
|
||||||
@ -719,7 +730,7 @@ class Configure:
|
|||||||
build(
|
build(
|
||||||
bin_path,
|
bin_path,
|
||||||
entry.src_paths,
|
entry.src_paths,
|
||||||
"img",
|
"pigment",
|
||||||
variables={
|
variables={
|
||||||
"img_type": seg.type,
|
"img_type": seg.type,
|
||||||
"img_flags": "",
|
"img_flags": "",
|
||||||
@ -839,7 +850,7 @@ class Configure:
|
|||||||
build(
|
build(
|
||||||
logotype_path,
|
logotype_path,
|
||||||
[src_dir / "title/logotype.png"],
|
[src_dir / "title/logotype.png"],
|
||||||
"img",
|
"pigment",
|
||||||
variables={
|
variables={
|
||||||
"img_type": "rgba32",
|
"img_type": "rgba32",
|
||||||
"img_flags": "",
|
"img_flags": "",
|
||||||
@ -848,7 +859,7 @@ class Configure:
|
|||||||
build(
|
build(
|
||||||
press_start_path,
|
press_start_path,
|
||||||
[src_dir / "title/press_start.png"],
|
[src_dir / "title/press_start.png"],
|
||||||
"img",
|
"pigment",
|
||||||
variables={
|
variables={
|
||||||
"img_type": "ia8",
|
"img_type": "ia8",
|
||||||
"img_flags": "",
|
"img_flags": "",
|
||||||
@ -859,7 +870,7 @@ class Configure:
|
|||||||
build(
|
build(
|
||||||
copyright_path,
|
copyright_path,
|
||||||
[src_dir / "title/copyright.png"],
|
[src_dir / "title/copyright.png"],
|
||||||
"img",
|
"pigment",
|
||||||
variables={
|
variables={
|
||||||
"img_type": "ci4",
|
"img_type": "ci4",
|
||||||
"img_flags": "",
|
"img_flags": "",
|
||||||
@ -868,7 +879,7 @@ class Configure:
|
|||||||
build(
|
build(
|
||||||
copyright_pal_path,
|
copyright_pal_path,
|
||||||
[src_dir / "title/copyright.png"],
|
[src_dir / "title/copyright.png"],
|
||||||
"img",
|
"pigment",
|
||||||
variables={
|
variables={
|
||||||
"img_type": "palette",
|
"img_type": "palette",
|
||||||
"img_flags": "",
|
"img_flags": "",
|
||||||
@ -884,7 +895,7 @@ class Configure:
|
|||||||
build(
|
build(
|
||||||
copyright_path,
|
copyright_path,
|
||||||
[src_dir / "title/copyright.png"],
|
[src_dir / "title/copyright.png"],
|
||||||
"img",
|
"pigment",
|
||||||
variables={
|
variables={
|
||||||
"img_type": "ia8",
|
"img_type": "ia8",
|
||||||
"img_flags": "",
|
"img_flags": "",
|
||||||
@ -975,7 +986,7 @@ class Configure:
|
|||||||
build(
|
build(
|
||||||
out_path,
|
out_path,
|
||||||
[src_path],
|
[src_path],
|
||||||
"img",
|
"pigment",
|
||||||
variables={
|
variables={
|
||||||
"img_type": "ci4",
|
"img_type": "ci4",
|
||||||
"img_flags": "",
|
"img_flags": "",
|
||||||
@ -999,7 +1010,7 @@ class Configure:
|
|||||||
build(
|
build(
|
||||||
out_path,
|
out_path,
|
||||||
[src_path],
|
[src_path],
|
||||||
"img",
|
"pigment",
|
||||||
variables={
|
variables={
|
||||||
"img_type": "palette",
|
"img_type": "palette",
|
||||||
"img_flags": "",
|
"img_flags": "",
|
||||||
@ -1181,6 +1192,22 @@ if __name__ == "__main__":
|
|||||||
print(f" ./configure --cpp {gcc_cpps[0]}")
|
print(f" ./configure --cpp {gcc_cpps[0]}")
|
||||||
exit(1)
|
exit(1)
|
||||||
|
|
||||||
|
try:
|
||||||
|
version = exec_shell([PIGMENT, "--version"]).split(" ")[1].strip()
|
||||||
|
|
||||||
|
if version < PIGMENT_REQ_VERSION:
|
||||||
|
print(
|
||||||
|
f"error: {PIGMENT} version {PIGMENT_REQ_VERSION} or newer is required, system version is {version}\n"
|
||||||
|
)
|
||||||
|
exit(1)
|
||||||
|
except FileNotFoundError:
|
||||||
|
print(f"error: {PIGMENT} is not installed\n")
|
||||||
|
print(
|
||||||
|
"To build and install it, obtain cargo:\n\tcurl https://sh.rustup.rs -sSf | sh"
|
||||||
|
)
|
||||||
|
print(f"and then run:\n\tcargo install {PIGMENT}")
|
||||||
|
exit(1)
|
||||||
|
|
||||||
# default version behaviour is to only do those that exist
|
# default version behaviour is to only do those that exist
|
||||||
if len(args.version) > 0:
|
if len(args.version) > 0:
|
||||||
versions = args.version
|
versions = args.version
|
||||||
|
Loading…
Reference in New Issue
Block a user