summaryrefslogtreecommitdiff
path: root/games-strategy/ja2-stracciatella/ja2-stracciatella-0.21.0.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'games-strategy/ja2-stracciatella/ja2-stracciatella-0.21.0.ebuild')
-rw-r--r--games-strategy/ja2-stracciatella/ja2-stracciatella-0.21.0.ebuild266
1 files changed, 266 insertions, 0 deletions
diff --git a/games-strategy/ja2-stracciatella/ja2-stracciatella-0.21.0.ebuild b/games-strategy/ja2-stracciatella/ja2-stracciatella-0.21.0.ebuild
new file mode 100644
index 000000000000..c3eefb3961b1
--- /dev/null
+++ b/games-strategy/ja2-stracciatella/ja2-stracciatella-0.21.0.ebuild
@@ -0,0 +1,266 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+addr2line@0.17.0
+adler@1.0.2
+ahash@0.7.6
+aho-corasick@0.7.18
+ansi_term@0.11.0
+anyhow@1.0.69
+ascii@0.9.3
+atty@0.2.14
+autocfg@1.1.0
+backtrace@0.3.65
+base64@0.13.1
+bit-set@0.5.3
+bit-vec@0.6.3
+bitflags@1.3.2
+block-buffer@0.10.3
+bytecount@0.6.3
+byteorder@1.4.3
+bytes@1.4.0
+caseless@0.2.1
+cbindgen@0.20.0
+cc@1.0.73
+cesu8@1.1.0
+cfg-if@1.0.0
+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
+crossbeam-utils@0.8.8
+crypto-common@0.1.6
+cty@0.2.2
+deunicode@0.4.3
+digest@0.10.6
+dirs@4.0.0
+dirs-sys@0.3.7
+dunce@1.0.2
+either@1.6.1
+error-chain@0.12.4
+fancy-regex@0.8.0
+fastrand@1.7.0
+form_urlencoded@1.1.0
+fraction@0.10.0
+generic-array@0.14.5
+getopts@0.2.21
+getrandom@0.2.6
+gimli@0.26.1
+hashbrown@0.12.3
+heck@0.3.3
+hermit-abi@0.1.19
+hex@0.4.3
+idna@0.3.0
+indexmap@1.9.2
+instant@0.1.12
+iso8601@0.4.2
+itoa@1.0.1
+jni@0.14.0
+jni@0.19.0
+jni-sys@0.3.0
+json_comments@0.2.1
+jsonschema@0.16.0
+lazy_static@1.4.0
+libc@0.2.124
+lock_api@0.4.9
+log@0.4.16
+lru@0.8.1
+md-5@0.10.5
+memchr@2.4.1
+memoffset@0.6.5
+minimal-lexical@0.2.1
+miniz_oxide@0.5.1
+ndk@0.7.0
+ndk-sys@0.4.1+23.1.7779620
+nom@7.1.3
+num@0.2.1
+num-bigint@0.2.6
+num-cmp@0.1.0
+num-complex@0.2.4
+num-integer@0.1.45
+num-iter@0.1.43
+num-rational@0.2.4
+num-traits@0.2.15
+num_cpus@1.13.1
+num_enum@0.5.7
+num_enum_derive@0.5.7
+num_threads@0.1.6
+object@0.28.3
+once_cell@1.10.0
+parking_lot@0.12.1
+parking_lot_core@0.9.7
+percent-encoding@2.2.0
+proc-macro-crate@1.1.3
+proc-macro2@1.0.51
+quote@1.0.18
+raw-window-handle@0.5.0
+rayon@1.6.1
+rayon-core@1.10.2
+redox_syscall@0.2.13
+redox_users@0.4.3
+regex@1.7.1
+regex-syntax@0.6.28
+remove_dir_all@0.5.3
+rustc-demangle@0.1.21
+ryu@1.0.9
+same-file@1.0.6
+scopeguard@1.1.0
+send_wrapper@0.6.0
+serde@1.0.152
+serde_derive@1.0.152
+serde_json@1.0.93
+serde_yaml@0.9.17
+simplelog@0.12.0
+slug@0.1.4
+smallvec@1.10.0
+strsim@0.8.0
+syn@1.0.107
+tempfile@3.3.0
+termcolor@1.1.3
+textwrap@0.11.0
+thiserror@1.0.30
+thiserror-impl@1.0.30
+time@0.3.15
+time-macros@0.2.4
+tinyvec@1.6.0
+tinyvec_macros@0.1.1
+toml@0.5.9
+typenum@1.15.0
+unicode-bidi@0.3.10
+unicode-ident@1.0.6
+unicode-normalization@0.1.19
+unicode-segmentation@1.10.1
+unicode-width@0.1.9
+unreachable@1.0.0
+unsafe-libyaml@0.2.5
+url@2.3.1
+uuid@0.8.2
+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
+winapi-util@0.1.5
+winapi-x86_64-pc-windows-gnu@0.4.0
+windows-sys@0.45.0
+windows-targets@0.42.1
+windows_aarch64_gnullvm@0.42.1
+windows_aarch64_msvc@0.42.1
+windows_i686_gnu@0.42.1
+windows_i686_msvc@0.42.1
+windows_x86_64_gnu@0.42.1
+windows_x86_64_gnullvm@0.42.1
+windows_x86_64_msvc@0.42.1
+"
+
+# 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://github.com/ja2-stracciatella/"
+SRC_URI="
+ https://github.com/ja2-stracciatella/ja2-stracciatella/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ editor? ( https://github.com/ja2-stracciatella/free-ja2-resources/releases/download/v1/editor.slf -> ${P}-editor.slf )
+"
+SRC_URI+=" $(cargo_crate_uris ${CARGO_CRATES_URIS})"
+
+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]
+ >=x11-libs/fltk-1.3.5[opengl]
+ >=virtual/rust-1.40.0
+"
+RDEPEND="
+ ${DEPEND}
+ cdinstall? ( games-strategy/ja2-stracciatella-data )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.20.0-lua-cmake.patch
+)
+
+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
+}