mirror of
https://anongit.gentoo.org/git/repo/gentoo.git
synced 2025-12-17 07:28:38 +00:00
This snapshot includes a fix for LTO issues, and a patch to update bundled crates so that the package can build with modern versions of dev-lang/rust. Bug: https://bugs.gentoo.org/953908 Closes: https://bugs.gentoo.org/916965 Signed-off-by: Matt Jolly <kangie@gentoo.org>
327 lines
6.5 KiB
Bash
327 lines
6.5 KiB
Bash
# Copyright 1999-2025 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
CRATES="
|
|
addr2line@0.24.2
|
|
adler2@2.0.0
|
|
ahash@0.7.8
|
|
ahash@0.8.11
|
|
aho-corasick@1.1.3
|
|
ansi_term@0.11.0
|
|
anyhow@1.0.98
|
|
ascii@0.9.3
|
|
atty@0.2.14
|
|
autocfg@1.4.0
|
|
backtrace@0.3.74
|
|
base64@0.13.1
|
|
bit-set@0.5.3
|
|
bit-vec@0.6.3
|
|
bitflags@1.3.2
|
|
bitflags@2.9.0
|
|
block-buffer@0.10.4
|
|
bumpalo@3.17.0
|
|
bytecount@0.6.8
|
|
byteorder@1.5.0
|
|
bytes@1.10.1
|
|
caseless@0.2.2
|
|
cbindgen@0.20.0
|
|
cesu8@1.1.0
|
|
cfg-if@1.0.0
|
|
clap@2.33.4
|
|
combine@3.8.1
|
|
combine@4.6.7
|
|
crossbeam-deque@0.8.6
|
|
crossbeam-epoch@0.9.18
|
|
crossbeam-utils@0.8.21
|
|
crypto-common@0.1.6
|
|
deranged@0.4.0
|
|
deunicode@1.6.1
|
|
digest@0.10.7
|
|
dirs-sys@0.3.7
|
|
dirs@4.0.0
|
|
displaydoc@0.2.5
|
|
dunce@1.0.5
|
|
either@1.15.0
|
|
equivalent@1.0.2
|
|
errno@0.3.11
|
|
error-chain@0.12.4
|
|
fancy-regex@0.10.0
|
|
fastrand@2.3.0
|
|
fluent-uri@0.1.4
|
|
form_urlencoded@1.2.1
|
|
fraction@0.12.2
|
|
generic-array@0.14.7
|
|
getopts@0.2.21
|
|
getrandom@0.2.15
|
|
getrandom@0.3.2
|
|
gimli@0.31.1
|
|
hashbrown@0.12.3
|
|
hashbrown@0.15.2
|
|
heck@0.3.3
|
|
hermit-abi@0.1.19
|
|
hex@0.4.3
|
|
icu_collections@1.5.0
|
|
icu_locid@1.5.0
|
|
icu_locid_transform@1.5.0
|
|
icu_locid_transform_data@1.5.1
|
|
icu_normalizer@1.5.0
|
|
icu_normalizer_data@1.5.1
|
|
icu_properties@1.5.1
|
|
icu_properties_data@1.5.1
|
|
icu_provider@1.5.0
|
|
icu_provider_macros@1.5.0
|
|
idna@1.0.3
|
|
idna_adapter@1.2.0
|
|
indexmap@1.9.3
|
|
indexmap@2.9.0
|
|
iso8601@0.5.1
|
|
itoa@1.0.15
|
|
jni-sys@0.3.0
|
|
jni@0.14.0
|
|
jni@0.19.0
|
|
json-patch@2.0.0
|
|
json_comments@0.2.2
|
|
jsonptr@0.4.7
|
|
jsonschema@0.16.1
|
|
lazy_static@1.5.0
|
|
libc@0.2.172
|
|
libredox@0.1.3
|
|
linux-raw-sys@0.9.4
|
|
litemap@0.7.5
|
|
lock_api@0.4.12
|
|
log@0.4.27
|
|
lru@0.8.1
|
|
md-5@0.10.6
|
|
memchr@2.7.4
|
|
minimal-lexical@0.2.1
|
|
miniz_oxide@0.8.8
|
|
ndk-sys@0.4.1+23.1.7779620
|
|
ndk@0.7.0
|
|
nom@7.1.3
|
|
num-bigint@0.4.6
|
|
num-cmp@0.1.0
|
|
num-complex@0.4.6
|
|
num-conv@0.1.0
|
|
num-integer@0.1.46
|
|
num-iter@0.1.45
|
|
num-rational@0.4.2
|
|
num-traits@0.2.19
|
|
num@0.4.3
|
|
num_enum@0.5.11
|
|
num_enum_derive@0.5.11
|
|
num_threads@0.1.7
|
|
object@0.36.7
|
|
once_cell@1.21.3
|
|
parking_lot@0.12.3
|
|
parking_lot_core@0.9.10
|
|
percent-encoding@2.3.1
|
|
powerfmt@0.2.0
|
|
proc-macro-crate@1.3.1
|
|
proc-macro2@1.0.95
|
|
quote@1.0.40
|
|
r-efi@5.2.0
|
|
raw-window-handle@0.5.2
|
|
rayon-core@1.12.1
|
|
rayon@1.10.0
|
|
redox_syscall@0.5.11
|
|
redox_users@0.4.6
|
|
regex-automata@0.4.9
|
|
regex-syntax@0.8.5
|
|
regex@1.11.1
|
|
rustc-demangle@0.1.24
|
|
rustix@1.0.5
|
|
rustversion@1.0.20
|
|
ryu@1.0.20
|
|
same-file@1.0.6
|
|
scopeguard@1.2.0
|
|
send_wrapper@0.6.0
|
|
serde@1.0.219
|
|
serde_derive@1.0.219
|
|
serde_json@1.0.140
|
|
serde_yaml@0.9.34+deprecated
|
|
simplelog@0.12.2
|
|
slug@0.1.6
|
|
smallvec@1.15.0
|
|
stable_deref_trait@1.2.0
|
|
strsim@0.8.0
|
|
syn@1.0.109
|
|
syn@2.0.100
|
|
synstructure@0.13.1
|
|
tempfile@3.19.1
|
|
termcolor@1.4.1
|
|
textwrap@0.11.0
|
|
thiserror-impl@1.0.69
|
|
thiserror@1.0.69
|
|
time-core@0.1.4
|
|
time-macros@0.2.22
|
|
time@0.3.41
|
|
tinystr@0.7.6
|
|
tinyvec@1.9.0
|
|
tinyvec_macros@0.1.1
|
|
toml@0.5.11
|
|
toml_datetime@0.6.8
|
|
toml_edit@0.19.15
|
|
typenum@1.18.0
|
|
unicode-ident@1.0.18
|
|
unicode-normalization@0.1.24
|
|
unicode-segmentation@1.12.0
|
|
unicode-width@0.1.14
|
|
unreachable@1.0.0
|
|
unsafe-libyaml@0.2.11
|
|
url@2.5.4
|
|
utf16_iter@1.0.5
|
|
utf8_iter@1.0.4
|
|
uuid@1.16.0
|
|
vec_map@0.8.2
|
|
version_check@0.9.5
|
|
void@1.0.2
|
|
walkdir@2.5.0
|
|
wasi@0.11.0+wasi-snapshot-preview1
|
|
wasi@0.14.2+wasi-0.2.4
|
|
wasm-bindgen-backend@0.2.100
|
|
wasm-bindgen-macro-support@0.2.100
|
|
wasm-bindgen-macro@0.2.100
|
|
wasm-bindgen-shared@0.2.100
|
|
wasm-bindgen@0.2.100
|
|
winapi-i686-pc-windows-gnu@0.4.0
|
|
winapi-util@0.1.9
|
|
winapi-x86_64-pc-windows-gnu@0.4.0
|
|
winapi@0.3.9
|
|
windows-sys@0.59.0
|
|
windows-targets@0.52.6
|
|
windows_aarch64_gnullvm@0.52.6
|
|
windows_aarch64_msvc@0.52.6
|
|
windows_i686_gnu@0.52.6
|
|
windows_i686_gnullvm@0.52.6
|
|
windows_i686_msvc@0.52.6
|
|
windows_x86_64_gnu@0.52.6
|
|
windows_x86_64_gnullvm@0.52.6
|
|
windows_x86_64_msvc@0.52.6
|
|
winnow@0.5.40
|
|
wit-bindgen-rt@0.39.0
|
|
write16@1.0.0
|
|
writeable@0.5.5
|
|
yoke-derive@0.7.5
|
|
yoke@0.7.5
|
|
zerocopy-derive@0.7.35
|
|
zerocopy@0.7.35
|
|
zerofrom-derive@0.1.6
|
|
zerofrom@0.1.6
|
|
zerovec-derive@0.10.3
|
|
zerovec@0.10.4
|
|
"
|
|
|
|
# See dependencies/lib-lua/CMakeLists.txt
|
|
LUA_COMPAT=( lua5-3 )
|
|
|
|
inherit cargo cmake lua-single xdg
|
|
|
|
DESCRIPTION="An improved, cross-platform, stable Jagged Alliance 2 runtime"
|
|
HOMEPAGE="https://ja2-stracciatella.github.io/"
|
|
MY_COMMIT=1ca63145ffe295e9110464e95579bfb376b67a26
|
|
SRC_URI="
|
|
https://codeload.github.com/ja2-stracciatella/ja2-stracciatella/tar.gz/${MY_COMMIT} -> ${P}.tar.gz
|
|
https://github.com/Kangie/ja2-stracciatella/commit/c038d98ff0cee6847abb3dc951de95cd0617773e.patch -> ${P}-rust.patch
|
|
editor? ( https://github.com/ja2-stracciatella/free-ja2-resources/releases/download/v1/editor.slf -> ${P}-editor.slf )
|
|
${CARGO_CRATE_URIS}
|
|
"
|
|
S="${WORKDIR}/${PN}-${MY_COMMIT}"
|
|
|
|
LICENSE="public-domain SFI-SCLA"
|
|
SLOT="0"
|
|
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
|
|
IUSE="cdinstall editor ru-gold test"
|
|
# ./ja2 -unittest can't find save files
|
|
RESTRICT="!test? ( test ) test"
|
|
REQUIRED_USE="${LUA_REQUIRED_USE}"
|
|
|
|
DEPEND="
|
|
${LUA_DEPS}
|
|
>=dev-cpp/magic_enum-0.9.5
|
|
>=dev-cpp/sol2-3.3.0
|
|
>=dev-cpp/string-theory-3.1
|
|
>=dev-games/libsmacker-1.1.1
|
|
>=dev-libs/miniaudio-0.11.11
|
|
>=dev-libs/rapidjson-1.1.0
|
|
media-libs/libsdl2[X,sound,video]
|
|
"
|
|
RDEPEND="
|
|
${DEPEND}
|
|
cdinstall? ( games-strategy/ja2-stracciatella-data )
|
|
"
|
|
|
|
PATCHES=(
|
|
"${FILESDIR}"/${PN}-0.20.0-lua-cmake.patch
|
|
"${DISTDIR}"/${P}-rust.patch
|
|
)
|
|
|
|
pkg_setup() {
|
|
lua-single_pkg_setup
|
|
rust_pkg_setup
|
|
}
|
|
|
|
src_prepare() {
|
|
cmake_src_prepare
|
|
}
|
|
|
|
src_configure() {
|
|
|
|
local mycmakeargs=(
|
|
-DUSE_SCCACHE=OFF
|
|
|
|
-DLOCAL_GTEST_LIB=OFF
|
|
-DLOCAL_FLTK_LIB=OFF
|
|
|
|
-DLOCAL_LUA_LIB=OFF
|
|
-DLUA_VERSION="${ELUA#lua}"
|
|
|
|
-DLOCAL_MAGICENUM_LIB=OFF
|
|
-DLOCAL_MINIAUDIO_LIB=OFF
|
|
-DLOCAL_RAPIDJSON_LIB=OFF
|
|
-DLOCAL_SDL_LIB=OFF
|
|
-DLOCAL_SOL_LIB=OFF
|
|
-DLOCAL_STRING_THEORY_LIB=OFF
|
|
|
|
-DWITH_MAGICENUM=OFF
|
|
-DWITH_RUST_BINARIES=OFF
|
|
-DWITH_UNITTESTS=$(usex test)
|
|
|
|
-DBUILD_LAUNCHER=OFF
|
|
|
|
-DINSTALL_LIB_DIR="${EPREFIX}/usr/$(get_libdir)"
|
|
-DEXTRA_DATA_DIR="${EPREFIX}/usr/share/ja2"
|
|
-DMINIAUDIO_INCLUDE_DIR="${EPREFIX}/usr/include/miniaudio"
|
|
-DMAGICENUM_INCLUDE_DIR="${EPREFIX}/usr/include"
|
|
)
|
|
|
|
cargo_gen_config
|
|
cmake_src_configure
|
|
}
|
|
|
|
src_install() {
|
|
if use editor; then
|
|
insinto /usr/share/ja2
|
|
doins "${DISTDIR}/${P}-editor.slf"
|
|
dosym "${P}-editor.slf" "/usr/share/ja2/editor.slf"
|
|
fi
|
|
|
|
cmake_src_install
|
|
}
|
|
|
|
src_test() {
|
|
"${BUILD_DIR}"/ja2 -unittests || die
|
|
}
|
|
|
|
pkg_postinst() {
|
|
if ! use cdinstall ; then
|
|
elog "You need to copy all files from the Data directory of"
|
|
elog "Jagged Alliance 2 installation to"
|
|
elog "e.g. /opt/ja2/data and set game_dir in .ja2/ja2.json"
|
|
elog "accordingly."
|
|
elog "Make sure the filenames are lowercase."
|
|
fi
|
|
|
|
xdg_pkg_postinst
|
|
}
|