Merge remote-tracking branch 'upstream/main'

This commit is contained in:
Evan Goode 2025-07-25 14:11:41 -04:00
commit 616c36f7f3
8 changed files with 160 additions and 40 deletions

21
flake.lock generated
View File

@ -7,11 +7,11 @@
]
},
"locked": {
"lastModified": 1730504689,
"narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=",
"lastModified": 1751413152,
"narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "506278e768c2a08bec68eb62932193e341f55c90",
"rev": "77826244401ea9de6e3bac47c2db46005e1f30b5",
"type": "github"
},
"original": {
@ -26,17 +26,14 @@
"gitignore": "gitignore",
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-stable": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1732021966,
"narHash": "sha256-mnTbjpdqF0luOkou8ZFi2asa1N3AA2CchR/RqCNmsGE=",
"lastModified": 1750779888,
"narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "3308484d1a443fc5bc92012435d79e80458fe43c",
"rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d",
"type": "github"
},
"original": {
@ -68,11 +65,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1732238832,
"narHash": "sha256-sQxuJm8rHY20xq6Ah+GwIUkF95tWjGRd1X8xF+Pkk38=",
"lastModified": 1751382304,
"narHash": "sha256-p+UruOjULI5lV16FkBqkzqgFasLqfx0bihLBeFHiZAs=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "8edf06bea5bcbee082df1b7369ff973b91618b8d",
"rev": "d31a91c9b3bee464d054633d5f8b84e17a637862",
"type": "github"
},
"original": {

View File

@ -11,7 +11,6 @@
url = "github:cachix/git-hooks.nix";
inputs.flake-compat.follows = "";
inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs-stable.follows = "nixpkgs";
};
};

View File

@ -15,8 +15,8 @@ LEGACYINFO_FILE = join(BASE_DIR, "legacyinfo.json")
FORGE_COMPONENT = "net.minecraftforge"
FORGEWRAPPER_LIBRARY = make_launcher_library(
GradleSpecifier("io.github.zekerzhayard", "ForgeWrapper", "prism-2024-02-29"),
"86c6791e32ac6478dabf9663f0ad19f8b6465dfe",
35483,
GradleSpecifier("io.github.zekerzhayard", "ForgeWrapper", "prism-2025-07-01"),
"9325d3c4f97deffca76633845c3bfc48dcabd18e",
28917,
)
BAD_VERSIONS = ["1.12.2-14.23.5.2851"]

View File

@ -2875,5 +2875,115 @@
},
"name": "org.lwjgl:lwjgl-glfw-natives-linux:3.3.2-lwjgl.1"
}
},
{
"_comment": "Use newer JNA on macOS to prevent crashes due to faulty assertion",
"match": [
"net.java.dev.jna:jna:5.6.0",
"net.java.dev.jna:jna:5.8.0",
"net.java.dev.jna:jna:5.9.0",
"net.java.dev.jna:jna:5.10.0",
"net.java.dev.jna:jna:5.12.1"
],
"override": {
"rules": [
{
"action": "allow"
},
{
"action": "disallow",
"os": {
"name": "osx"
}
},
{
"action": "disallow",
"os": {
"name": "osx-arm64"
}
}
]
},
"additionalLibraries": [
{
"downloads": {
"artifact": {
"sha1": "1200e7ebeedbe0d10062093f32925a912020e747",
"size": 1879325,
"url": "https://libraries.minecraft.net/net/java/dev/jna/jna/5.13.0/jna-5.13.0.jar"
}
},
"name": "net.java.dev.jna:jna:5.13.0",
"rules": [
{
"action": "allow",
"os": {
"name": "osx"
}
},
{
"action": "allow",
"os": {
"name": "osx-arm64"
}
}
]
}
]
},
{
"_comment": "Use newer JNA on macOS to prevent crashes due to faulty assertion",
"match": [
"net.java.dev.jna:jna-platform:5.6.0",
"net.java.dev.jna:jna-platform:5.8.0",
"net.java.dev.jna:jna-platform:5.9.0",
"net.java.dev.jna:jna-platform:5.10.0",
"net.java.dev.jna:jna-platform:5.12.1"
],
"override": {
"rules": [
{
"action": "allow"
},
{
"action": "disallow",
"os": {
"name": "osx"
}
},
{
"action": "disallow",
"os": {
"name": "osx-arm64"
}
}
]
},
"additionalLibraries": [
{
"downloads": {
"artifact": {
"sha1": "88e9a306715e9379f3122415ef4ae759a352640d",
"size": 1363209,
"url": "https://libraries.minecraft.net/net/java/dev/jna/jna-platform/5.13.0/jna-platform-5.13.0.jar"
}
},
"name": "net.java.dev.jna:jna-platform:5.13.0",
"rules": [
{
"action": "allow",
"os": {
"name": "osx"
}
},
{
"action": "allow",
"os": {
"name": "osx-arm64"
}
}
]
}
]
}
]

View File

@ -284,6 +284,21 @@ class MojangRules(MetaBase):
return self.__root__[item]
class MojangLoggingArtifact(MojangArtifactBase):
id: str
class MojangLogging(MetaBase):
@validator("type")
def validate_type(cls, v):
assert v in ["log4j2-xml"]
return v
file: MojangLoggingArtifact
argument: str
type: str
class Library(MetaBase):
extract: Optional[MojangLibraryExtractRules]
name: Optional[GradleSpecifier]
@ -329,6 +344,7 @@ class MetaVersion(Versioned):
additional_tweakers: Optional[List[str]] = Field(alias="+tweakers")
additional_jvm_args: Optional[List[str]] = Field(alias="+jvmArgs")
additional_agents: Optional[List[Agent]] = Field(alias="+agents")
logging: Optional[MojangLogging]
class MetaPackage(Versioned):

View File

@ -10,6 +10,7 @@ from . import (
MojangAssets,
MojangArtifact,
MojangLibraryDownloads,
MojangLogging,
Library,
MetaVersion,
GradleSpecifier,
@ -182,21 +183,6 @@ class MojangArguments(MetaBase):
jvm: Optional[List[Any]]
class MojangLoggingArtifact(MojangArtifactBase):
id: str
class MojangLogging(MetaBase):
@validator("type")
def validate_type(cls, v):
assert v in ["log4j2-xml"]
return v
file: MojangLoggingArtifact
argument: str
type: str
class MojangJavaComponent(StrEnum):
JreLegacy = "jre-legacy"
Alpha = "java-runtime-alpha"
@ -353,4 +339,5 @@ class MojangVersion(MetaBase):
compatible_java_name=javaName,
additional_traits=addn_traits,
main_jar=main_jar,
logging=(self.logging or {}).get("client")
)

27
poetry.lock generated
View File

@ -1,4 +1,4 @@
# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand.
# This file is automatically @generated by Poetry 2.1.3 and should not be changed by hand.
[[package]]
name = "cachecontrol"
@ -6,6 +6,7 @@ version = "0.14.2"
description = "httplib2 caching for requests"
optional = false
python-versions = ">=3.8"
groups = ["main"]
files = [
{file = "cachecontrol-0.14.2-py3-none-any.whl", hash = "sha256:ebad2091bf12d0d200dfc2464330db638c5deb41d546f6d7aca079e87290f3b0"},
{file = "cachecontrol-0.14.2.tar.gz", hash = "sha256:7d47d19f866409b98ff6025b6a0fca8e4c791fb31abbd95f622093894ce903a2"},
@ -26,6 +27,7 @@ version = "2024.2.2"
description = "Python package for providing Mozilla's CA Bundle."
optional = false
python-versions = ">=3.6"
groups = ["main"]
files = [
{file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"},
{file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"},
@ -37,6 +39,7 @@ version = "3.3.2"
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
optional = false
python-versions = ">=3.7.0"
groups = ["main"]
files = [
{file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"},
{file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"},
@ -136,6 +139,7 @@ version = "3.16.1"
description = "A platform independent file lock."
optional = false
python-versions = ">=3.8"
groups = ["main"]
files = [
{file = "filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0"},
{file = "filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435"},
@ -144,7 +148,7 @@ files = [
[package.extras]
docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4.1)"]
testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.2)", "pytest (>=8.3.3)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.4)"]
typing = ["typing-extensions (>=4.12.2)"]
typing = ["typing-extensions (>=4.12.2) ; python_version < \"3.11\""]
[[package]]
name = "idna"
@ -152,6 +156,7 @@ version = "3.7"
description = "Internationalized Domain Names in Applications (IDNA)"
optional = false
python-versions = ">=3.5"
groups = ["main"]
files = [
{file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"},
{file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"},
@ -163,6 +168,7 @@ version = "1.0.8"
description = "MessagePack serializer"
optional = false
python-versions = ">=3.8"
groups = ["main"]
files = [
{file = "msgpack-1.0.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:505fe3d03856ac7d215dbe005414bc28505d26f0c128906037e66d98c4e95868"},
{file = "msgpack-1.0.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e6b7842518a63a9f17107eb176320960ec095a8ee3b4420b5f688e24bf50c53c"},
@ -224,13 +230,14 @@ files = [
[[package]]
name = "packaging"
version = "24.2"
version = "25.0"
description = "Core utilities for Python packages"
optional = false
python-versions = ">=3.8"
groups = ["main"]
files = [
{file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"},
{file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"},
{file = "packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484"},
{file = "packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f"},
]
[[package]]
@ -239,6 +246,7 @@ version = "1.10.21"
description = "Data validation and settings management using python type hints"
optional = false
python-versions = ">=3.7"
groups = ["main"]
files = [
{file = "pydantic-1.10.21-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:245e486e0fec53ec2366df9cf1cba36e0bbf066af7cd9c974bbbd9ba10e1e586"},
{file = "pydantic-1.10.21-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6c54f8d4c151c1de784c5b93dfbb872067e3414619e10e21e695f7bb84d1d1fd"},
@ -319,6 +327,7 @@ version = "2.32.3"
description = "Python HTTP for Humans."
optional = false
python-versions = ">=3.8"
groups = ["main"]
files = [
{file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"},
{file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"},
@ -351,6 +360,7 @@ version = "4.11.0"
description = "Backported and Experimental Type Hints for Python 3.8+"
optional = false
python-versions = ">=3.8"
groups = ["main"]
files = [
{file = "typing_extensions-4.11.0-py3-none-any.whl", hash = "sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a"},
{file = "typing_extensions-4.11.0.tar.gz", hash = "sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0"},
@ -362,18 +372,19 @@ version = "2.2.1"
description = "HTTP library with thread-safe connection pooling, file post, and more."
optional = false
python-versions = ">=3.8"
groups = ["main"]
files = [
{file = "urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d"},
{file = "urllib3-2.2.1.tar.gz", hash = "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19"},
]
[package.extras]
brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"]
brotli = ["brotli (>=1.0.9) ; platform_python_implementation == \"CPython\"", "brotlicffi (>=0.8.0) ; platform_python_implementation != \"CPython\""]
h2 = ["h2 (>=4,<5)"]
socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"]
zstd = ["zstandard (>=0.18.0)"]
[metadata]
lock-version = "2.0"
lock-version = "2.1"
python-versions = "^3.8"
content-hash = "f81f2b8ccc78137ad82fa9a022f0444ae272ef0cdf54d2402e511b5840f72af6"
content-hash = "2ed3cbaf03c118578cad2e4ea78c7baefeb741fae05c96472df8a4a59d97a9ae"

View File

@ -33,7 +33,7 @@ python = "^3.8"
cachecontrol = "^0.14.0"
requests = "^2.31.0"
filelock = "^3.13.1"
packaging = "^24.0"
packaging = "^25.0"
pydantic = "^1.10.13"
python-dateutil = "^2.9.0.post0"