summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSefa Eyeoglu <contact@scrumplex.net>2022-10-31 19:35:57 +0100
committerSefa Eyeoglu <contact@scrumplex.net>2022-10-31 19:35:57 +0100
commit23b8711b18f32ce22129813914d4cd6a8b360264 (patch)
treeae94ca55201fcfa6c0c3b898afe124f4422a34c8
parentfb056cdac1e352b2cf97d61f725c3c3e0a2b1f98 (diff)
parente0d7321aa6398b8350e4f50f481656756554c756 (diff)
downloadProject-Tick-23b8711b18f32ce22129813914d4cd6a8b360264.tar.gz
Project-Tick-23b8711b18f32ce22129813914d4cd6a8b360264.zip
Merge branch 'master' into rebrand
-rw-r--r--Dockerfile2
-rwxr-xr-xgenerateMojang.py41
-rw-r--r--meta/model/__init__.py2
-rw-r--r--static/mojang/library-patches.json182
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"
+ }
+ }
+ ]
+ }
+ ]
}
]