[Bug 256355] games/jaggedalliance2: update to 0.18.0. Second attempt.
Date: Tue, 01 Jun 2021 20:33:57 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=256355
Bug ID: 256355
Summary: games/jaggedalliance2: update to 0.18.0. Second
attempt.
Product: Ports & Packages
Version: Latest
Hardware: Any
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: Individual Port(s)
Assignee: ports-bugs@FreeBSD.org
Reporter: timp87@gmail.com
Created attachment 225477
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=225477&action=edit
port patch
This is a second attempt to update games/jaggedalliance2 to 0.18.0. See
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=255399 for the first one.
It uses cmake and cargo (some component written in rust) and has some external
dependencies to be downloaded during build process.
So the build process for JA2-Stracciatella is not packaging friendly:
- there are rust crates the project depends on which can't be handled by ports
infra. Fortunately those crates are for android build. But I couldn't find any
way to tell cargo to skip those dependencies to be downloaded.
patch-rust_stracciatella__c__api_Cargo.toml and
patch-rust_stracciatella_Cargo.toml patches are removing not needed crates from
Cargo.toml files. Cargo is able to see that and skip them.
- there are dependencies written in C/C++. Current cmake build process provides
a way to use packages already installed in your system for some of those
dependencies. But there are new ones appeared in this release which don't have
such a way. Those are lua, sol2 and miniaudio. So it always downloads and
builds them during build step.
patch-dependencies_lib-lua_CMakeLists.txt and
patch-dependencies_lib-sol2_CMakeLists.txt handle lua and sol2 dependencies.
Miniaudio is trickier. We have a port for it. But it's incomplete for ja2
usage. We have bare minimum in our port, while ja2 build wants files from
extras dir of miniaudio project (see https://github.com/mackron/miniaudio). So
I added a dirty stuff with GH_TUPLE and pre-patch with REINPLACE to make it
sure miniaudio sources are downloaded and it can start building.
If anybody can advice me something I miss, please, do.
I'll try to upstream those patches and rise my concerns in their github.
This port patch also adds more dependencies I found it was looking during
configure step.
--
You are receiving this mail because:
You are the assignee for the bug.