diff options
| author | Sefa Eyeoglu <contact@scrumplex.net> | 2022-10-31 19:35:57 +0100 |
|---|---|---|
| committer | Sefa Eyeoglu <contact@scrumplex.net> | 2022-10-31 19:35:57 +0100 |
| commit | 23b8711b18f32ce22129813914d4cd6a8b360264 (patch) | |
| tree | ae94ca55201fcfa6c0c3b898afe124f4422a34c8 | |
| parent | fb056cdac1e352b2cf97d61f725c3c3e0a2b1f98 (diff) | |
| parent | e0d7321aa6398b8350e4f50f481656756554c756 (diff) | |
| download | Project-Tick-23b8711b18f32ce22129813914d4cd6a8b360264.tar.gz Project-Tick-23b8711b18f32ce22129813914d4cd6a8b360264.zip | |
Merge branch 'master' into rebrand
| -rw-r--r-- | Dockerfile | 2 | ||||
| -rwxr-xr-x | generateMojang.py | 41 | ||||
| -rw-r--r-- | meta/model/__init__.py | 2 | ||||
| -rw-r--r-- | static/mojang/library-patches.json | 182 |
4 files changed, 208 insertions, 19 deletions
diff --git a/Dockerfile b/Dockerfile index 4c6848dc93..bbc28c2a58 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,7 @@ FROM python:3.10.2-bullseye ARG UID=1337 ARG GID=1337 -RUN pip install cachecontrol requests lockfile pydantic \ +RUN pip install cachecontrol requests lockfile packaging pydantic \ && apt-get update && apt-get install -y rsync cron # add our cronjob diff --git a/generateMojang.py b/generateMojang.py index b82517540b..51b54623ac 100755 --- a/generateMojang.py +++ b/generateMojang.py @@ -4,6 +4,7 @@ import os from collections import defaultdict, namedtuple from operator import attrgetter from pprint import pprint +from packaging import version as pversion from typing import Optional, List from meta.common import ensure_component_dir, launcher_path, upstream_path, static_path @@ -25,9 +26,12 @@ ensure_component_dir(LWJGL3_COMPONENT) def map_log4j_artifact(version): - if version == "2.0-beta9": - return "2.0-beta9-fixed", "https://files.launcher.org/maven/%s" - return "2.17.1", "https://repo1.maven.org/maven2/%s" # This is the only version that's patched (as of 2022/02/19) + x = pversion.parse(version) + if x <= pversion.parse("2.0"): + return "2.0-beta9-fixed", "https://files.prismlauncher.org/maven/%s" + if x <= pversion.parse("2.17.1"): + return "2.17.1", "https://repo1.maven.org/maven2/%s" # This is the only version that's patched (as of 2022/02/19) + return None, None LOG4J_HASHES = { @@ -334,23 +338,26 @@ def main(): elif lib.name.is_log4j(): version_override, maven_override = map_log4j_artifact(lib.name.version) - if version_override not in LOG4J_HASHES: - raise Exception("ERROR: unhandled log4j version (overriden) %s!" % version_override) + if version_override and maven_override: + if version_override not in LOG4J_HASHES: + raise Exception("ERROR: unhandled log4j version (overriden) %s!" % version_override) - if lib.name.artifact not in LOG4J_HASHES[version_override]: - raise Exception("ERROR: unhandled log4j artifact %s!" % lib.name.artifact) + if lib.name.artifact not in LOG4J_HASHES[version_override]: + raise Exception("ERROR: unhandled log4j artifact %s!" % lib.name.artifact) - replacement_name = GradleSpecifier("org.apache.logging.log4j", lib.name.artifact, version_override) - artifact = MojangArtifact( - url=maven_override % (replacement_name.path()), - sha1=LOG4J_HASHES[version_override][lib.name.artifact]["sha1"], - size=LOG4J_HASHES[version_override][lib.name.artifact]["size"] - ) + replacement_name = GradleSpecifier("org.apache.logging.log4j", lib.name.artifact, version_override) + artifact = MojangArtifact( + url=maven_override % (replacement_name.path()), + sha1=LOG4J_HASHES[version_override][lib.name.artifact]["sha1"], + size=LOG4J_HASHES[version_override][lib.name.artifact]["size"] + ) - libs_minecraft.append(Library( - name=replacement_name, - downloads=MojangLibraryDownloads(artifact=artifact) - )) + libs_minecraft.append(Library( + name=replacement_name, + downloads=MojangLibraryDownloads(artifact=artifact) + )) + else: + libs_minecraft.append(lib) else: new_libs_minecraft += patch_library(lib, library_patches) libs_minecraft.append(lib) diff --git a/meta/model/__init__.py b/meta/model/__init__.py index 58c2a0c021..7a6d368c05 100644 --- a/meta/model/__init__.py +++ b/meta/model/__init__.py @@ -216,7 +216,7 @@ class MojangLibraryDownloads(MetaBase): class OSRule(MetaBase): @validator("name") def name_must_be_os(cls, v): - assert v in ["osx", "linux", "windows", "osx-arm64", "linux-arm64", "linux-arm32"] + assert v in ["osx", "linux", "windows", "windows-arm64", "osx-arm64", "linux-arm64", "linux-arm32"] return v name: str diff --git a/static/mojang/library-patches.json b/static/mojang/library-patches.json index cac9cd1a3c..71f12d6e8e 100644 --- a/static/mojang/library-patches.json +++ b/static/mojang/library-patches.json @@ -1971,5 +1971,187 @@ ] } ] + }, + { + "_comment": "Add windows-arm64 support for LWJGL 3.3.1", + "match": [ + "org.lwjgl:lwjgl-glfw:3.3.1" + ], + "additionalLibraries": [ + { + "downloads": { + "artifact": { + "sha1": "beda65ee503443e60aa196d58ed31f8d001dc22a", + "size": 123808, + "url": "https://build.lwjgl.org/release/3.3.1/bin/lwjgl-glfw/lwjgl-glfw-natives-windows-arm64.jar" + } + }, + "name": "org.lwjgl:lwjgl-glfw-natives-windows-arm64:3.3.1-lwjgl.1", + "rules": [ + { + "action": "allow", + "os": { + "name": "windows-arm64" + } + } + ] + } + ] + }, + { + "_comment": "Add windows-arm64 support for LWJGL 3.3.1", + "match": [ + "org.lwjgl:lwjgl-jemalloc:3.3.1" + ], + "additionalLibraries": [ + { + "downloads": { + "artifact": { + "sha1": "cae85c4edb219c88b6a0c26a87955ad98dc9519d", + "size": 114250, + "url": "https://build.lwjgl.org/release/3.3.1/bin/lwjgl-jemalloc/lwjgl-jemalloc-natives-windows-arm64.jar" + } + }, + "name": "org.lwjgl:lwjgl-jemalloc-natives-windows-arm64:3.3.1-lwjgl.1", + "rules": [ + { + "action": "allow", + "os": { + "name": "windows-arm64" + } + } + ] + } + ] + }, + { + "_comment": "Add windows-arm64 support for LWJGL 3.3.1", + "match": [ + "org.lwjgl:lwjgl-openal:3.3.1" + ], + "additionalLibraries": [ + { + "downloads": { + "artifact": { + "sha1": "40d65f1a7368a2aa47336f9cb69f5a190cf9975a", + "size": 505234, + "url": "https://build.lwjgl.org/release/3.3.1/bin/lwjgl-openal/lwjgl-openal-natives-windows-arm64.jar" + } + }, + "name": "org.lwjgl:lwjgl-openal-natives-windows-arm64:3.3.1-lwjgl.1", + "rules": [ + { + "action": "allow", + "os": { + "name": "windows-arm64" + } + } + ] + } + ] + }, + { + "_comment": "Add windows-arm64 support for LWJGL 3.3.1", + "match": [ + "org.lwjgl:lwjgl-opengl:3.3.1" + ], + "additionalLibraries": [ + { + "downloads": { + "artifact": { + "sha1": "527d78f1e9056aff3ed02ce93019c73c5e8f1721", + "size": 82445, + "url": "https://build.lwjgl.org/release/3.3.1/bin/lwjgl-opengl/lwjgl-opengl-natives-windows-arm64.jar" + } + }, + "name": "org.lwjgl:lwjgl-opengl-natives-windows-arm64:3.3.1-lwjgl.1", + "rules": [ + { + "action": "allow", + "os": { + "name": "windows-arm64" + } + } + ] + } + ] + }, + { + "_comment": "Add windows-arm64 support for LWJGL 3.3.1", + "match": [ + "org.lwjgl:lwjgl-stb:3.3.1" + ], + "additionalLibraries": [ + { + "downloads": { + "artifact": { + "sha1": "fde63cdd2605c00636721a6c8b961e41d1f6b247", + "size": 216848, + "url": "https://build.lwjgl.org/release/3.3.1/bin/lwjgl-stb/lwjgl-stb-natives-windows-arm64.jar" + } + }, + "name": "org.lwjgl:lwjgl-stb-natives-windows-arm64:3.3.1-lwjgl.1", + "rules": [ + { + "action": "allow", + "os": { + "name": "windows-arm64" + } + } + ] + } + ] + }, + { + "_comment": "Add windows-arm64 support for LWJGL 3.3.1", + "match": [ + "org.lwjgl:lwjgl-tinyfd:3.3.1" + ], + "additionalLibraries": [ + { + "downloads": { + "artifact": { + "sha1": "83a5e780df610829ff3a737822b4f931cffecd91", + "size": 109139, + "url": "https://build.lwjgl.org/release/3.3.1/bin/lwjgl-tinyfd/lwjgl-tinyfd-natives-windows-arm64.jar" + } + }, + "name": "org.lwjgl:lwjgl-tinyfd-natives-windows-arm64:3.3.1-lwjgl.1", + "rules": [ + { + "action": "allow", + "os": { + "name": "windows-arm64" + } + } + ] + } + ] + }, + { + "_comment": "Add windows-arm64 support for LWJGL 3.3.1", + "match": [ + "org.lwjgl:lwjgl:3.3.1" + ], + "additionalLibraries": [ + { + "downloads": { + "artifact": { + "sha1": "0f46cadcf95675908fd3a550d63d9d709cb68998", + "size": 130064, + "url": "https://build.lwjgl.org/release/3.3.1/bin/lwjgl/lwjgl-natives-windows-arm64.jar" + } + }, + "name": "org.lwjgl:lwjgl-natives-windows-arm64:3.3.1-lwjgl.1", + "rules": [ + { + "action": "allow", + "os": { + "name": "windows-arm64" + } + } + ] + } + ] } ] |
