git: f4e3544e2ee2 - main - games/jaggedalliance2: update 0.19.1 → 0.20.0

From: Dmitry Marakasov <amdmi3_at_FreeBSD.org>
Date: Wed, 15 Feb 2023 16:35:02 UTC
The branch main has been updated by amdmi3:

URL: https://cgit.FreeBSD.org/ports/commit/?id=f4e3544e2ee2789b264d8c315cc6790387b287c0

commit f4e3544e2ee2789b264d8c315cc6790387b287c0
Author:     Dmitry Marakasov <amdmi3@FreeBSD.org>
AuthorDate: 2023-02-09 20:41:19 +0000
Commit:     Dmitry Marakasov <amdmi3@FreeBSD.org>
CommitDate: 2023-02-15 16:33:34 +0000

    games/jaggedalliance2: update 0.19.1 → 0.20.0
    
    PR:             269122
    Submitted by:   timp87@gmail.com (maintainer)
---
 games/jaggedalliance2/Makefile                     | 50 ++++++++++----
 games/jaggedalliance2/distinfo                     | 76 +++++++++++++++++-----
 games/jaggedalliance2/files/patch-CMakeLists.txt   | 11 ----
 .../patch-dependencies_lib-lua_CMakeLists.txt      | 33 +++-------
 ...patch-dependencies_lib-miniaudio_CMakeLists.txt | 34 ----------
 .../patch-dependencies_lib-sol2_CMakeLists.txt     | 23 -------
 .../files/patch-rust_stracciatella_Cargo.toml      | 12 ++--
 .../files/patch-rust_stracciatella_src_fs.rs       | 11 ----
 .../files/patch-src_sgp_SoundMan.cc                | 11 ----
 9 files changed, 117 insertions(+), 144 deletions(-)

diff --git a/games/jaggedalliance2/Makefile b/games/jaggedalliance2/Makefile
index 01ab0c327f60..1511b594e349 100644
--- a/games/jaggedalliance2/Makefile
+++ b/games/jaggedalliance2/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	ja2
 DISTVERSIONPREFIX=	v
-DISTVERSION=	0.19.1
-PORTREVISION=	8
+DISTVERSION=	0.20.0
 CATEGORIES=	games
 
 MAINTAINER=	timp87@gmail.com
@@ -22,7 +21,7 @@ ONLY_FOR_ARCHS_REASON=	requires little endian environment
 BUILD_DEPENDS=	string_theory>=3.1:devel/string_theory \
 		rapidjson>=1.1.0:devel/rapidjson \
 		sol2>=3.2.2:devel/sol2 \
-		miniaudio>=0.10.36,1<0.11,1:audio/miniaudio
+		miniaudio>=0.11.9:audio/miniaudio
 LIB_DEPENDS=	libfltk.so:x11-toolkits/fltk
 
 USES=		cargo cmake compiler:c++17-lang pkgconfig sdl xorg gl lua:53
@@ -32,23 +31,33 @@ GH_PROJECT=	ja2-stracciatella
 USE_SDL=	sdl2
 USE_GL=		gl
 USE_XORG=	ice sm x11 xext
+GH_TUPLE=	Neargye:magic_enum:v0.7.3:magic_enum
 
 CMAKE_ARGS=	-DEXTRA_DATA_DIR:PATH="${DATADIR}" -DMINIAUDIO_INCLUDE_DIR="${PREFIX}/include/miniaudio"
 CMAKE_OFF=	LOCAL_STRING_THEORY_LIB WITH_UNITTESTS LOCAL_RAPIDJSON_LIB LOCAL_LUA_LIB LOCAL_SOL_LIB LOCAL_MINIAUDIO_LIB
 
-CARGO_CRATES=	ahash-0.7.6 \
+CARGO_CRATES=	addr2line-0.17.0 \
+		adler-1.0.2 \
+		ahash-0.7.6 \
 		aho-corasick-0.7.18 \
 		ansi_term-0.11.0 \
+		ascii-0.9.3 \
 		atty-0.2.14 \
 		autocfg-1.1.0 \
+		backtrace-0.3.65 \
 		bitflags-1.3.2 \
 		block-buffer-0.9.0 \
 		byteorder-1.4.3 \
+		bytes-1.1.0 \
 		caseless-0.2.1 \
 		cbindgen-0.20.0 \
+		cc-1.0.73 \
+		cesu8-1.1.0 \
 		cfg-if-1.0.0 \
 		chrono-0.4.19 \
 		clap-2.33.4 \
+		combine-3.8.1 \
+		combine-4.6.4 \
 		crossbeam-channel-0.5.4 \
 		crossbeam-deque-0.8.1 \
 		crossbeam-epoch-0.9.8 \
@@ -59,10 +68,13 @@ CARGO_CRATES=	ahash-0.7.6 \
 		dirs-sys-0.3.7 \
 		dunce-1.0.2 \
 		either-1.6.1 \
+		env_logger-0.8.4 \
+		error-chain-0.12.4 \
 		fastrand-1.7.0 \
 		generic-array-0.14.5 \
 		getopts-0.2.21 \
 		getrandom-0.2.6 \
+		gimli-0.26.1 \
 		hashbrown-0.11.2 \
 		heck-0.3.3 \
 		hermit-abi-0.1.19 \
@@ -72,29 +84,36 @@ CARGO_CRATES=	ahash-0.7.6 \
 		itoa-1.0.1 \
 		json_comments-0.2.1 \
 		lazy_static-1.4.0 \
-		libc-0.2.121 \
+		libc-0.2.124 \
 		linked-hash-map-0.5.4 \
 		log-0.4.16 \
 		lru-0.7.5 \
 		md-5-0.9.1 \
 		memchr-2.4.1 \
 		memoffset-0.6.5 \
+		miniz_oxide-0.5.1 \
 		num-integer-0.1.44 \
 		num-traits-0.2.14 \
 		num_cpus-1.13.1 \
+		num_enum-0.5.7 \
+		num_enum_derive-0.5.7 \
+		object-0.28.3 \
 		once_cell-1.10.0 \
 		opaque-debug-0.3.0 \
+		proc-macro-crate-1.1.3 \
 		proc-macro2-1.0.37 \
-		quote-1.0.17 \
-		rayon-1.5.1 \
-		rayon-core-1.9.1 \
+		quote-1.0.18 \
+		rayon-1.5.2 \
+		rayon-core-1.9.2 \
 		redox_syscall-0.2.13 \
 		redox_users-0.4.3 \
 		regex-1.5.5 \
 		regex-syntax-0.6.25 \
 		remove_dir_all-0.5.3 \
 		remove_dir_all-0.7.0 \
+		rustc-demangle-0.1.21 \
 		ryu-1.0.9 \
+		same-file-1.0.6 \
 		scopeguard-1.1.0 \
 		serde-1.0.136 \
 		serde_derive-1.0.136 \
@@ -110,16 +129,19 @@ CARGO_CRATES=	ahash-0.7.6 \
 		thiserror-1.0.30 \
 		thiserror-impl-1.0.30 \
 		time-0.1.43 \
-		tinyvec-1.5.1 \
+		tinyvec-1.6.0 \
 		tinyvec_macros-0.1.0 \
-		toml-0.5.8 \
+		toml-0.5.9 \
 		typenum-1.15.0 \
 		unicode-normalization-0.1.19 \
 		unicode-segmentation-1.9.0 \
 		unicode-width-0.1.9 \
 		unicode-xid-0.2.2 \
+		unreachable-1.0.0 \
 		vec_map-0.8.2 \
 		version_check-0.9.4 \
+		void-1.0.2 \
+		walkdir-2.3.2 \
 		wasi-0.10.2+wasi-snapshot-preview1 \
 		winapi-0.3.9 \
 		winapi-i686-pc-windows-gnu-0.4.0 \
@@ -136,9 +158,15 @@ CARGO_TEST=		no
 MAKE_ENV=	${CARGO_ENV:NCARGO_TARGET_DIR=*}
 LDFLAGS+=	-Wl,--as-needed
 
+pre-patch:
+	@${REINPLACE_CMD} -e 's|https://github.com/Neargye/magic_enum/archive/v0.7.3.zip|${DISTDIR}/Neargye-magic_enum-v0.7.3_GH0.tar.gz|' \
+		-e 's|86338841251da1bacab82684a76c4042|fc20f4149a6d6a2caa8ff66f99dac7cf|' \
+		${WRKSRC}/dependencies/lib-magic_enum/getter/CMakeLists.txt.in
+
 post-patch:
 	@${REINPLACE_CMD} -e 's|/some/place/where/the/data/is|${DATADIR}|' \
-		${WRKSRC}/rust/stracciatella/src/stracciatella.rs
+		${WRKSRC}/rust/stracciatella/src/config/ja2_json.rs \
+		${WRKSRC}/rust/stracciatella/src/config/engine_options.rs
 
 post-install:
 	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/ja2 \
diff --git a/games/jaggedalliance2/distinfo b/games/jaggedalliance2/distinfo
index 269e134dac07..d6353c316569 100644
--- a/games/jaggedalliance2/distinfo
+++ b/games/jaggedalliance2/distinfo
@@ -1,30 +1,48 @@
-TIMESTAMP = 1651349655
+TIMESTAMP = 1674509362
+SHA256 (rust/crates/addr2line-0.17.0.crate) = b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b
+SIZE (rust/crates/addr2line-0.17.0.crate) = 32260
+SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe
+SIZE (rust/crates/adler-1.0.2.crate) = 12778
 SHA256 (rust/crates/ahash-0.7.6.crate) = fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47
 SIZE (rust/crates/ahash-0.7.6.crate) = 38030
 SHA256 (rust/crates/aho-corasick-0.7.18.crate) = 1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f
 SIZE (rust/crates/aho-corasick-0.7.18.crate) = 112923
 SHA256 (rust/crates/ansi_term-0.11.0.crate) = ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b
 SIZE (rust/crates/ansi_term-0.11.0.crate) = 17087
+SHA256 (rust/crates/ascii-0.9.3.crate) = eab1c04a571841102f5345a8fc0f6bb3d31c315dec879b5c6e42e40ce7ffa34e
+SIZE (rust/crates/ascii-0.9.3.crate) = 28283
 SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
 SIZE (rust/crates/atty-0.2.14.crate) = 5470
 SHA256 (rust/crates/autocfg-1.1.0.crate) = d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa
 SIZE (rust/crates/autocfg-1.1.0.crate) = 13272
+SHA256 (rust/crates/backtrace-0.3.65.crate) = 11a17d453482a265fd5f8479f2a3f405566e6ca627837aaddb85af8b1ab8ef61
+SIZE (rust/crates/backtrace-0.3.65.crate) = 74129
 SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
 SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
 SHA256 (rust/crates/block-buffer-0.9.0.crate) = 4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4
 SIZE (rust/crates/block-buffer-0.9.0.crate) = 7108
 SHA256 (rust/crates/byteorder-1.4.3.crate) = 14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610
 SIZE (rust/crates/byteorder-1.4.3.crate) = 22512
+SHA256 (rust/crates/bytes-1.1.0.crate) = c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8
+SIZE (rust/crates/bytes-1.1.0.crate) = 49640
 SHA256 (rust/crates/caseless-0.2.1.crate) = 808dab3318747be122cb31d36de18d4d1c81277a76f8332a02b81a3d73463d7f
 SIZE (rust/crates/caseless-0.2.1.crate) = 18826
 SHA256 (rust/crates/cbindgen-0.20.0.crate) = 51e3973b165dc0f435831a9e426de67e894de532754ff7a3f307c03ee5dec7dc
 SIZE (rust/crates/cbindgen-0.20.0.crate) = 183277
+SHA256 (rust/crates/cc-1.0.73.crate) = 2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11
+SIZE (rust/crates/cc-1.0.73.crate) = 57880
+SHA256 (rust/crates/cesu8-1.1.0.crate) = 6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c
+SIZE (rust/crates/cesu8-1.1.0.crate) = 10555
 SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
 SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
 SHA256 (rust/crates/chrono-0.4.19.crate) = 670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73
 SIZE (rust/crates/chrono-0.4.19.crate) = 155663
 SHA256 (rust/crates/clap-2.33.4.crate) = 826bf7bc84f9435630275cb8e802a4a0ec792b615969934bd16d42ffed10f207
 SIZE (rust/crates/clap-2.33.4.crate) = 202085
+SHA256 (rust/crates/combine-3.8.1.crate) = da3da6baa321ec19e1cc41d31bf599f00c783d0517095cdaf0332e3fe8d20680
+SIZE (rust/crates/combine-3.8.1.crate) = 103773
+SHA256 (rust/crates/combine-4.6.4.crate) = 2a604e93b79d1808327a6fca85a6f2d69de66461e7620f5a4cbf5fb4d1d7c948
+SIZE (rust/crates/combine-4.6.4.crate) = 132144
 SHA256 (rust/crates/crossbeam-channel-0.5.4.crate) = 5aaa7bd5fb665c6864b5f963dd9097905c54125909c7aa94c9e18507cdbe6c53
 SIZE (rust/crates/crossbeam-channel-0.5.4.crate) = 88237
 SHA256 (rust/crates/crossbeam-deque-0.8.1.crate) = 6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e
@@ -45,6 +63,10 @@ SHA256 (rust/crates/dunce-1.0.2.crate) = 453440c271cf5577fd2a40e4942540cb7d0d2f8
 SIZE (rust/crates/dunce-1.0.2.crate) = 7953
 SHA256 (rust/crates/either-1.6.1.crate) = e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457
 SIZE (rust/crates/either-1.6.1.crate) = 13641
+SHA256 (rust/crates/env_logger-0.8.4.crate) = a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3
+SIZE (rust/crates/env_logger-0.8.4.crate) = 33342
+SHA256 (rust/crates/error-chain-0.12.4.crate) = 2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc
+SIZE (rust/crates/error-chain-0.12.4.crate) = 29274
 SHA256 (rust/crates/fastrand-1.7.0.crate) = c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf
 SIZE (rust/crates/fastrand-1.7.0.crate) = 11265
 SHA256 (rust/crates/generic-array-0.14.5.crate) = fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803
@@ -53,6 +75,8 @@ SHA256 (rust/crates/getopts-0.2.21.crate) = 14dbbfd5c71d70241ecf9e6f13737f7b5ce8
 SIZE (rust/crates/getopts-0.2.21.crate) = 18457
 SHA256 (rust/crates/getrandom-0.2.6.crate) = 9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad
 SIZE (rust/crates/getrandom-0.2.6.crate) = 28043
+SHA256 (rust/crates/gimli-0.26.1.crate) = 78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4
+SIZE (rust/crates/gimli-0.26.1.crate) = 716168
 SHA256 (rust/crates/hashbrown-0.11.2.crate) = ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e
 SIZE (rust/crates/hashbrown-0.11.2.crate) = 85713
 SHA256 (rust/crates/heck-0.3.3.crate) = 6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c
@@ -71,8 +95,8 @@ SHA256 (rust/crates/json_comments-0.2.1.crate) = 41ee439ee368ba4a77ac70d04f14015
 SIZE (rust/crates/json_comments-0.2.1.crate) = 8169
 SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
 SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
-SHA256 (rust/crates/libc-0.2.121.crate) = efaa7b300f3b5fe8eb6bf21ce3895e1751d9665086af2d64b42f19701015ff4f
-SIZE (rust/crates/libc-0.2.121.crate) = 574702
+SHA256 (rust/crates/libc-0.2.124.crate) = 21a41fed9d98f27ab1c6d161da622a4fa35e8a54a8adc24bbf3ddd0ef70b0e50
+SIZE (rust/crates/libc-0.2.124.crate) = 577742
 SHA256 (rust/crates/linked-hash-map-0.5.4.crate) = 7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3
 SIZE (rust/crates/linked-hash-map-0.5.4.crate) = 16166
 SHA256 (rust/crates/log-0.4.16.crate) = 6389c490849ff5bc16be905ae24bc913a9c8892e19b2341dbc175e14c341c2b8
@@ -85,24 +109,34 @@ SHA256 (rust/crates/memchr-2.4.1.crate) = 308cc39be01b73d0d18f82a0e7b2a3df85245f
 SIZE (rust/crates/memchr-2.4.1.crate) = 64977
 SHA256 (rust/crates/memoffset-0.6.5.crate) = 5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce
 SIZE (rust/crates/memoffset-0.6.5.crate) = 7686
+SHA256 (rust/crates/miniz_oxide-0.5.1.crate) = d2b29bd4bc3f33391105ebee3589c19197c4271e3e5a9ec9bfe8127eeff8f082
+SIZE (rust/crates/miniz_oxide-0.5.1.crate) = 52418
 SHA256 (rust/crates/num-integer-0.1.44.crate) = d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db
 SIZE (rust/crates/num-integer-0.1.44.crate) = 22216
 SHA256 (rust/crates/num-traits-0.2.14.crate) = 9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290
 SIZE (rust/crates/num-traits-0.2.14.crate) = 45476
 SHA256 (rust/crates/num_cpus-1.13.1.crate) = 19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1
 SIZE (rust/crates/num_cpus-1.13.1.crate) = 14752
+SHA256 (rust/crates/num_enum-0.5.7.crate) = cf5395665662ef45796a4ff5486c5d41d29e0c09640af4c5f17fd94ee2c119c9
+SIZE (rust/crates/num_enum-0.5.7.crate) = 15199
+SHA256 (rust/crates/num_enum_derive-0.5.7.crate) = 3b0498641e53dd6ac1a4f22547548caa6864cc4933784319cd1775271c5a46ce
+SIZE (rust/crates/num_enum_derive-0.5.7.crate) = 12225
+SHA256 (rust/crates/object-0.28.3.crate) = 40bec70ba014595f99f7aa110b84331ffe1ee9aece7fe6f387cc7e3ecda4d456
+SIZE (rust/crates/object-0.28.3.crate) = 233545
 SHA256 (rust/crates/once_cell-1.10.0.crate) = 87f3e037eac156d1775da914196f0f37741a274155e34a0b7e427c35d2a2ecb9
 SIZE (rust/crates/once_cell-1.10.0.crate) = 30414
 SHA256 (rust/crates/opaque-debug-0.3.0.crate) = 624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5
 SIZE (rust/crates/opaque-debug-0.3.0.crate) = 5767
+SHA256 (rust/crates/proc-macro-crate-1.1.3.crate) = e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a
+SIZE (rust/crates/proc-macro-crate-1.1.3.crate) = 8758
 SHA256 (rust/crates/proc-macro2-1.0.37.crate) = ec757218438d5fda206afc041538b2f6d889286160d649a86a24d37e1235afd1
 SIZE (rust/crates/proc-macro2-1.0.37.crate) = 41378
-SHA256 (rust/crates/quote-1.0.17.crate) = 632d02bff7f874a36f33ea8bb416cd484b90cc66c1194b1a1110d067a7013f58
-SIZE (rust/crates/quote-1.0.17.crate) = 28629
-SHA256 (rust/crates/rayon-1.5.1.crate) = c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90
-SIZE (rust/crates/rayon-1.5.1.crate) = 160424
-SHA256 (rust/crates/rayon-core-1.9.1.crate) = d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e
-SIZE (rust/crates/rayon-core-1.9.1.crate) = 64961
+SHA256 (rust/crates/quote-1.0.18.crate) = a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1
+SIZE (rust/crates/quote-1.0.18.crate) = 28911
+SHA256 (rust/crates/rayon-1.5.2.crate) = fd249e82c21598a9a426a4e00dd7adc1d640b22445ec8545feef801d1a74c221
+SIZE (rust/crates/rayon-1.5.2.crate) = 165456
+SHA256 (rust/crates/rayon-core-1.9.2.crate) = 9f51245e1e62e1f1629cbfec37b5793bbabcaeb90f30e94d2ba03564687353e4
+SIZE (rust/crates/rayon-core-1.9.2.crate) = 65221
 SHA256 (rust/crates/redox_syscall-0.2.13.crate) = 62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42
 SIZE (rust/crates/redox_syscall-0.2.13.crate) = 23759
 SHA256 (rust/crates/redox_users-0.4.3.crate) = b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b
@@ -115,8 +149,12 @@ SHA256 (rust/crates/remove_dir_all-0.5.3.crate) = 3acd125665422973a33ac9d3dd2df8
 SIZE (rust/crates/remove_dir_all-0.5.3.crate) = 9184
 SHA256 (rust/crates/remove_dir_all-0.7.0.crate) = 882f368737489ea543bc5c340e6f3d34a28c39980bd9a979e47322b26f60ac40
 SIZE (rust/crates/remove_dir_all-0.7.0.crate) = 9041
+SHA256 (rust/crates/rustc-demangle-0.1.21.crate) = 7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342
+SIZE (rust/crates/rustc-demangle-0.1.21.crate) = 27920
 SHA256 (rust/crates/ryu-1.0.9.crate) = 73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f
 SIZE (rust/crates/ryu-1.0.9.crate) = 48391
+SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502
+SIZE (rust/crates/same-file-1.0.6.crate) = 10183
 SHA256 (rust/crates/scopeguard-1.1.0.crate) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd
 SIZE (rust/crates/scopeguard-1.1.0.crate) = 11470
 SHA256 (rust/crates/serde-1.0.136.crate) = ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789
@@ -147,12 +185,12 @@ SHA256 (rust/crates/thiserror-impl-1.0.30.crate) = aa32fd3f627f367fe16f893e2597a
 SIZE (rust/crates/thiserror-impl-1.0.30.crate) = 15230
 SHA256 (rust/crates/time-0.1.43.crate) = ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438
 SIZE (rust/crates/time-0.1.43.crate) = 28653
-SHA256 (rust/crates/tinyvec-1.5.1.crate) = 2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2
-SIZE (rust/crates/tinyvec-1.5.1.crate) = 44942
+SHA256 (rust/crates/tinyvec-1.6.0.crate) = 87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50
+SIZE (rust/crates/tinyvec-1.6.0.crate) = 45991
 SHA256 (rust/crates/tinyvec_macros-0.1.0.crate) = cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c
 SIZE (rust/crates/tinyvec_macros-0.1.0.crate) = 1817
-SHA256 (rust/crates/toml-0.5.8.crate) = a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa
-SIZE (rust/crates/toml-0.5.8.crate) = 54219
+SHA256 (rust/crates/toml-0.5.9.crate) = 8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7
+SIZE (rust/crates/toml-0.5.9.crate) = 55667
 SHA256 (rust/crates/typenum-1.15.0.crate) = dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987
 SIZE (rust/crates/typenum-1.15.0.crate) = 40741
 SHA256 (rust/crates/unicode-normalization-0.1.19.crate) = d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9
@@ -163,10 +201,16 @@ SHA256 (rust/crates/unicode-width-0.1.9.crate) = 3ed742d4ea2bd1176e236172c8429aa
 SIZE (rust/crates/unicode-width-0.1.9.crate) = 16745
 SHA256 (rust/crates/unicode-xid-0.2.2.crate) = 8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3
 SIZE (rust/crates/unicode-xid-0.2.2.crate) = 14955
+SHA256 (rust/crates/unreachable-1.0.0.crate) = 382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56
+SIZE (rust/crates/unreachable-1.0.0.crate) = 6355
 SHA256 (rust/crates/vec_map-0.8.2.crate) = f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191
 SIZE (rust/crates/vec_map-0.8.2.crate) = 14466
 SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f
 SIZE (rust/crates/version_check-0.9.4.crate) = 14895
+SHA256 (rust/crates/void-1.0.2.crate) = 6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d
+SIZE (rust/crates/void-1.0.2.crate) = 2356
+SHA256 (rust/crates/walkdir-2.3.2.crate) = 808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56
+SIZE (rust/crates/walkdir-2.3.2.crate) = 23516
 SHA256 (rust/crates/wasi-0.10.2+wasi-snapshot-preview1.crate) = fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6
 SIZE (rust/crates/wasi-0.10.2+wasi-snapshot-preview1.crate) = 27505
 SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
@@ -179,5 +223,7 @@ SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1
 SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
 SHA256 (rust/crates/yaml-rust-0.4.5.crate) = 56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85
 SIZE (rust/crates/yaml-rust-0.4.5.crate) = 47783
-SHA256 (ja2-stracciatella-ja2-stracciatella-v0.19.1_GH0.tar.gz) = e9806755f471275b653408f5b1ffc6f1629e83ac2fe04370b8756ed6eb87fee7
-SIZE (ja2-stracciatella-ja2-stracciatella-v0.19.1_GH0.tar.gz) = 26385836
+SHA256 (ja2-stracciatella-ja2-stracciatella-v0.20.0_GH0.tar.gz) = 432e8c834ce5c5aaa2be3e10e44c47963970936ede39c33c95e7d8f874770ff8
+SIZE (ja2-stracciatella-ja2-stracciatella-v0.20.0_GH0.tar.gz) = 32931298
+SHA256 (Neargye-magic_enum-v0.7.3_GH0.tar.gz) = b8d0cd848546fee136dc1fa4bb021a1e4dc8fe98e44d8c119faa3ef387636bf7
+SIZE (Neargye-magic_enum-v0.7.3_GH0.tar.gz) = 151870
diff --git a/games/jaggedalliance2/files/patch-CMakeLists.txt b/games/jaggedalliance2/files/patch-CMakeLists.txt
deleted file mode 100644
index a87bb59f0e92..000000000000
--- a/games/jaggedalliance2/files/patch-CMakeLists.txt
+++ /dev/null
@@ -1,11 +0,0 @@
---- CMakeLists.txt.orig	2022-04-14 10:20:57 UTC
-+++ CMakeLists.txt
-@@ -94,6 +94,8 @@ option(WITH_MAEMO "Build with right click mapped to F4
- option(BUILD_LAUNCHER "Build the ja2 launcher application" ON)
- option(WITH_EDITOR_SLF "Include the latest free editor.slf" OFF)
- option(WITH_RUST_BINARIES "Include rust binaries in build" ON)
-+# @see LOCAL_LUA_LIB in dependencies/lib-lua/CMakeLists.txt
-+# @see LOCAL_SOL_LIB in dependencies/lib-sol2/CMakeLists.txt
- set(WITH_CUSTOM_LOCALE "" CACHE STRING "Set a custom locale at the start, leave empty to disable")
- 
- if(MSVC)
diff --git a/games/jaggedalliance2/files/patch-dependencies_lib-lua_CMakeLists.txt b/games/jaggedalliance2/files/patch-dependencies_lib-lua_CMakeLists.txt
index 0ffaecc51d33..6f12a6ce12ba 100644
--- a/games/jaggedalliance2/files/patch-dependencies_lib-lua_CMakeLists.txt
+++ b/games/jaggedalliance2/files/patch-dependencies_lib-lua_CMakeLists.txt
@@ -1,24 +1,11 @@
---- dependencies/lib-lua/CMakeLists.txt.orig	2021-04-23 09:23:24 UTC
+--- dependencies/lib-lua/CMakeLists.txt.orig	2023-01-25 17:13:43 UTC
 +++ dependencies/lib-lua/CMakeLists.txt
-@@ -1,4 +1,21 @@
- # \file dependencies/lib-lua/CMakeLists.txt
-+
-+option(LOCAL_LUA_LIB "Download and build Lua instead of searching the system" ON)
-+if (NOT LOCAL_LUA_LIB)
-+    message(STATUS "Using system Lua")
-+    find_package(Lua "5.3" REQUIRED)
-+    if (NOT LUA_FOUND)
-+        message(FATAL_ERROR "Lua 5.3 not found")
-+    endif()
-+
-+    set(LUA_INCLUDE_DIRS "${LUA_INCLUDE_DIR}" PARENT_SCOPE)
-+
-+    add_library(lua INTERFACE)
-+    target_link_libraries(lua INTERFACE "${LUA_LIBRARY}")
-+
-+    return()
-+endif()
-+
- message(STATUS "<lua>")
- 
- CMAKE_MINIMUM_REQUIRED(VERSION 3.1)
+@@ -3,7 +3,7 @@
+ option(LOCAL_LUA_LIB "Download and build Lua instead of searching the system" ON)
+ if (NOT LOCAL_LUA_LIB)
+     message(STATUS "Using system Lua")
+-    find_package(Lua "5.3" REQUIRED)
++    find_package(Lua "5.3" REQUIRED EXACT)
+     if (NOT LUA_FOUND)
+         message(FATAL_ERROR "Lua 5.3 not found")
+     endif()
diff --git a/games/jaggedalliance2/files/patch-dependencies_lib-miniaudio_CMakeLists.txt b/games/jaggedalliance2/files/patch-dependencies_lib-miniaudio_CMakeLists.txt
deleted file mode 100644
index 9bf1647b5357..000000000000
--- a/games/jaggedalliance2/files/patch-dependencies_lib-miniaudio_CMakeLists.txt
+++ /dev/null
@@ -1,34 +0,0 @@
---- dependencies/lib-miniaudio/CMakeLists.txt.orig	2022-04-27 09:14:13 UTC
-+++ dependencies/lib-miniaudio/CMakeLists.txt
-@@ -1,5 +1,31 @@
- # \file dependencies/lib-miniaudio/CMakeLists.txt
- 
-+option(LOCAL_MINIAUDIO_LIB "Download and build miniaudio instead of searching the system" ON)
-+if (NOT LOCAL_MINIAUDIO_LIB)
-+    message(STATUS "Using system miniaudio")
-+
-+    if (NOT DEFINED MINIAUDIO_INCLUDE_DIR)
-+        message(FATAL_ERROR "MINIAUDIO_INCLUDE_DIR var not set")
-+    endif()
-+
-+    include(CheckIncludeFileCXX)
-+    set (CMAKE_REQUIRED_INCLUDES "${MINIAUDIO_INCLUDE_DIR}")
-+
-+    CHECK_INCLUDE_FILE_CXX("miniaudio.h" MINIAUDIO_FOUND)
-+    if (NOT MINIAUDIO_FOUND)
-+        message(FATAL_ERROR "miniaudio.h not found")
-+    endif()
-+
-+    CHECK_INCLUDE_FILE_CXX("extras/stb_vorbis.c" VORBIS_FOUND)
-+    if (NOT VORBIS_FOUND)
-+        message(FATAL_ERROR "miniaudio extras/stb_vorbis.c not found")
-+    endif()
-+
-+    set(MINIAUDIO_INCLUDE_DIRS "${MINIAUDIO_INCLUDE_DIR}" PARENT_SCOPE)
-+
-+    return()
-+endif()
-+
- message(STATUS "<miniaudio>")
- 
- # create getter
diff --git a/games/jaggedalliance2/files/patch-dependencies_lib-sol2_CMakeLists.txt b/games/jaggedalliance2/files/patch-dependencies_lib-sol2_CMakeLists.txt
deleted file mode 100644
index 7550fec8d552..000000000000
--- a/games/jaggedalliance2/files/patch-dependencies_lib-sol2_CMakeLists.txt
+++ /dev/null
@@ -1,23 +0,0 @@
---- dependencies/lib-sol2/CMakeLists.txt.orig	2021-04-23 09:23:24 UTC
-+++ dependencies/lib-sol2/CMakeLists.txt
-@@ -1,5 +1,20 @@
- # \file dependencies/lib-sol2/CMakeLists.txt
- 
-+option(LOCAL_SOL_LIB "Download and build Sol2 instead of searching the system" ON)
-+if (NOT LOCAL_SOL_LIB)
-+    message(STATUS "Using system Sol2")
-+    find_package(sol2 "3.2.2"
-+        REQUIRED
-+        PATH_SUFFIXES lib/cmake/sol2 # path to sol2-config.cmake
-+    )
-+    if (NOT sol2_FOUND)
-+        message(FATAL_ERROR "Sol2 not found")
-+    endif()
-+
-+    set(SOL_INCLUDE_DIR "${SOL2_INCLUDE_DIRS}" PARENT_SCOPE)
-+    return()
-+endif()
-+
- message(STATUS "<sol2>")
- 
- # create getter
diff --git a/games/jaggedalliance2/files/patch-rust_stracciatella_Cargo.toml b/games/jaggedalliance2/files/patch-rust_stracciatella_Cargo.toml
index f248bb32ea0c..c8a6a7b58c5a 100644
--- a/games/jaggedalliance2/files/patch-rust_stracciatella_Cargo.toml
+++ b/games/jaggedalliance2/files/patch-rust_stracciatella_Cargo.toml
@@ -1,6 +1,6 @@
---- rust/stracciatella/Cargo.toml.orig	2022-04-14 10:20:57 UTC
+--- rust/stracciatella/Cargo.toml.orig	2022-11-11 20:19:16 UTC
 +++ rust/stracciatella/Cargo.toml
-@@ -36,24 +36,6 @@ slug = "0.1.4"
+@@ -37,26 +37,6 @@ slug = "0.1.4"
  [target.'cfg(not(target_os = "android"))'.dependencies.simplelog]
  version = "0.10"
  
@@ -16,11 +16,13 @@
 -[target.'cfg(target_os = "android")'.dependencies.lazy_static]
 -version = "1.4"
 -[target.'cfg(target_os = "android")'.dependencies.jni]
--version = "0.14"
+-version = "0.18"
+-[target.'cfg(target_os = "android")'.dependencies.jni-sys]
+-version = "0.3"
 -[target.'cfg(target_os = "android")'.dependencies.ndk]
--git = "https://github.com/selaux/android-ndk-rs"
+-version = "0.6"
 -[target.'cfg(target_os = "android")'.dependencies.ndk-sys]
--git = "https://github.com/selaux/android-ndk-rs"
+-version = "0.3"
 -
  [build-dependencies]
  serde = "1.0"
diff --git a/games/jaggedalliance2/files/patch-rust_stracciatella_src_fs.rs b/games/jaggedalliance2/files/patch-rust_stracciatella_src_fs.rs
deleted file mode 100644
index 1fdc729750d8..000000000000
--- a/games/jaggedalliance2/files/patch-rust_stracciatella_src_fs.rs
+++ /dev/null
@@ -1,11 +0,0 @@
---- rust/stracciatella/src/fs.rs.orig	2022-05-02 13:31:34 UTC
-+++ rust/stracciatella/src/fs.rs
-@@ -59,7 +59,7 @@ pub fn remove_file<P: AsRef<Path>>(path: P) -> Result<
- pub fn rename<P: AsRef<Path>>(from: P, to: P) -> Result<(), io::Error> {
-     match std::fs::rename(&from, &to) {
-         Ok(()) => Ok(()),
--        #[cfg(target_os = "linux")]
-+        #[cfg(target_family = "unix")]
-         Err(e) if e.raw_os_error() == Some(libc::EXDEV) => {
-             std::fs::copy(&from, &to).and_then(|_| remove_file(&from))
-         }
diff --git a/games/jaggedalliance2/files/patch-src_sgp_SoundMan.cc b/games/jaggedalliance2/files/patch-src_sgp_SoundMan.cc
deleted file mode 100644
index a36ac1994f55..000000000000
--- a/games/jaggedalliance2/files/patch-src_sgp_SoundMan.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/sgp/SoundMan.cc.orig	2022-04-27 09:14:13 UTC
-+++ src/sgp/SoundMan.cc
-@@ -696,7 +696,7 @@ size_t MiniaudioReadProc(ma_decoder* pDecoder, void* p
- 	return SDL_RWread(rwOps, pBufferOut, sizeof(UINT8), bytesToRead);
- }
- 
--ma_bool32 MiniaudioSeekProc(ma_decoder* pDecoder, int byteOffset, ma_seek_origin origin) {
-+ma_bool32 MiniaudioSeekProc(ma_decoder* pDecoder, ma_int64 byteOffset, ma_seek_origin origin) {
- 	auto rwOps = (SDL_RWops*)pDecoder->pUserData;
- 	auto sdlOrigin = RW_SEEK_SET;
- 	if (origin == ma_seek_origin::ma_seek_origin_current) {