vcmi: rework derivation
This commit is contained in:
@@ -1,30 +1,29 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
SDL2,
|
||||
SDL2_image,
|
||||
SDL2_mixer,
|
||||
SDL2_ttf,
|
||||
boost,
|
||||
cmake,
|
||||
fetchFromGitHub,
|
||||
ffmpeg,
|
||||
fuzzylite,
|
||||
innoextract,
|
||||
lib,
|
||||
libsquish,
|
||||
luajit,
|
||||
minizip,
|
||||
ninja,
|
||||
onetbb,
|
||||
onnxruntime,
|
||||
pkg-config,
|
||||
python3,
|
||||
onetbb,
|
||||
qt6,
|
||||
stdenv,
|
||||
unshield,
|
||||
versionCheckHook,
|
||||
xz,
|
||||
zlib,
|
||||
testers,
|
||||
vcmi,
|
||||
libsForQt5,
|
||||
libsquish,
|
||||
onnxruntime,
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "vcmi";
|
||||
@@ -43,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
ninja
|
||||
pkg-config
|
||||
python3
|
||||
libsForQt5.wrapQtAppsHook
|
||||
qt6.wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
@@ -54,29 +53,26 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
boost
|
||||
ffmpeg
|
||||
fuzzylite
|
||||
libsquish
|
||||
luajit
|
||||
minizip
|
||||
libsForQt5.qtbase
|
||||
libsForQt5.qttools
|
||||
onetbb
|
||||
onnxruntime
|
||||
qt6.qtbase
|
||||
qt6.qttools
|
||||
xz
|
||||
zlib
|
||||
libsquish
|
||||
onnxruntime
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DENABLE_LUA:BOOL=ON"
|
||||
"-DENABLE_ERM:BOOL=ON"
|
||||
"-DENABLE_GOLDMASTER:BOOL=ON"
|
||||
"-DENABLE_PCH:BOOL=OFF"
|
||||
"-DENABLE_TEST:BOOL=OFF" # Tests require HOMM3 data files.
|
||||
"-DFORCE_BUNDLED_MINIZIP:BOOL=OFF"
|
||||
"-DFORCE_BUNDLED_FL:BOOL=OFF"
|
||||
"-DCMAKE_INSTALL_RPATH:STRING=$out/lib/vcmi"
|
||||
"-DCMAKE_INSTALL_BINDIR:STRING=bin"
|
||||
"-DCMAKE_INSTALL_LIBDIR:STRING=lib"
|
||||
"-DCMAKE_INSTALL_DATAROOTDIR:STRING=share"
|
||||
(lib.cmakeBool "ENABLE_CLIENT" true)
|
||||
(lib.cmakeBool "ENABLE_GOLDMASTER" true)
|
||||
(lib.cmakeBool "ENABLE_TEST" false) # Requires nonfree data files.
|
||||
(lib.cmakeBool "ENABLE_PCH" false)
|
||||
(lib.cmakeFeature "CMAKE_INSTALL_RPATH" "$out/lib/vcmi")
|
||||
(lib.cmakeFeature "CMAKE_INSTALL_BINDIR" "bin")
|
||||
(lib.cmakeFeature "CMAKE_INSTALL_LIBDIR" "lib")
|
||||
(lib.cmakeFeature "CMAKE_INSTALL_DATAROOTDIR" "share")
|
||||
];
|
||||
|
||||
postFixup = ''
|
||||
@@ -90,23 +86,36 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
}"
|
||||
'';
|
||||
|
||||
passthru.tests.version = testers.testVersion {
|
||||
package = vcmi;
|
||||
command = ''
|
||||
XDG_DATA_HOME="$TMPDIR" XDG_CACHE_HOME="$TMPDIR" XDG_CONFIG_HOME="$TMPDIR" \
|
||||
vcmiclient --version
|
||||
'';
|
||||
};
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
versionCheckProgram = "${placeholder "out"}/bin/vcmiclient";
|
||||
versionCheckProgramArg = "--version";
|
||||
versionCheckKeepEnvironment = [
|
||||
"XDG_CACHE_HOME"
|
||||
"XDG_CONFIG_HOME"
|
||||
"XDG_DATA_HOME"
|
||||
];
|
||||
preVersionCheck = ''
|
||||
export \
|
||||
XDG_CACHE_HOME="$TMPDIR" \
|
||||
XDG_CONFIG_HOME="$TMPDIR" \
|
||||
XDG_DATA_HOME="$TMPDIR"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Open-source engine for Heroes of Might and Magic III";
|
||||
longDescription = ''
|
||||
VCMI is an open-source engine for Heroes of Might and Magic III, offering
|
||||
new and extended possibilities. To use VCMI, you need to own the original
|
||||
data files.
|
||||
'';
|
||||
homepage = "https://vcmi.eu";
|
||||
changelog = "https://github.com/vcmi/vcmi/blob/${finalAttrs.src.rev}/ChangeLog.md";
|
||||
changelog = "https://vcmi.eu/ChangeLog";
|
||||
license = with lib.licenses; [
|
||||
gpl2Plus
|
||||
cc-by-sa-40
|
||||
];
|
||||
maintainers = with lib.maintainers; [ azahi ];
|
||||
maintainers = [ lib.maintainers.azahi ];
|
||||
platforms = lib.platforms.linux;
|
||||
mainProgram = "vcmilauncher";
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user