openmw: 0.46 -> 0.47

This commit is contained in:
marius david 2021-11-09 20:56:25 +01:00
parent 84dbadf81a
commit 36e16d6979
2 changed files with 40 additions and 14 deletions

View file

@ -13,29 +13,46 @@
, unshield , unshield
, openal , openal
, libXt , libXt
, lz4
, recastnavigation
}: }:
let let
openscenegraph_ = openscenegraph.overrideDerivation (self: { openscenegraph_openmw = (openscenegraph.override { colladaSupport = true; })
.overrideDerivation (self: {
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "OpenMW"; owner = "OpenMW";
repo = "osg"; repo = "osg";
# commit does not exist on any branch on the target repository rev = "bbe61c3bc510a4f5bb4aea21cce506519c2d24e6";
rev = "1556cd7966ebc1c80b6626988d2b25fb43a744cf"; sha256 = "sha256-t3smLqstp7wWfi9HXJoBCek+3acqt/ySBYF8RJOG6Mo=";
sha256 = "0d74hijzmj82nx3jkv5qmr3pkgvplra0b8fbjx1y3vmzxamb0axd";
}; };
}); });
bullet_openmw = bullet.overrideDerivation (old: rec {
version = "3.17";
src = fetchFromGitHub {
owner = "bulletphysics";
repo = "bullet3";
rev = version;
sha256 = "sha256-uQ4X8F8nmagbcFh0KexrmnhHIXFSB3A1CCnjPVeHL3Q=";
};
patches = [];
cmakeFlags = (old.cmakeFlags or []) ++ [
"-DUSE_DOUBLE_PRECISION=ON"
"-DBULLET2_MULTITHREADING=ON"
];
});
in in
mkDerivation rec { mkDerivation rec {
version = "0.46.0";
pname = "openmw"; pname = "openmw";
version = "0.47.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "OpenMW"; owner = "OpenMW";
repo = "openmw"; repo = "openmw";
rev = "${pname}-${version}"; rev = "${pname}-${version}";
sha256 = "0rm32zsmxvr6b0jjihfj543skhicbw5kg6shjx312clhlm035w2x"; sha256 = "sha256-Xq9hDUTCQr79Zzjk0CsiXclVTHK6nrSowukIQqVdrKY=";
}; };
nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ]; nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
@ -43,26 +60,28 @@ mkDerivation rec {
buildInputs = [ buildInputs = [
SDL2 SDL2
boost boost
bullet bullet_openmw
ffmpeg ffmpeg
libXt libXt
mygui mygui
openal openal
openscenegraph_ openscenegraph_openmw
unshield unshield
lz4
recastnavigation
]; ];
cmakeFlags = [ cmakeFlags = [
"-DDESIRED_QT_VERSION:INT=5"
# as of 0.46, openmw is broken with GLVND # as of 0.46, openmw is broken with GLVND
"-DOpenGL_GL_PREFERENCE=LEGACY" "-DOpenGL_GL_PREFERENCE=LEGACY"
"-DOPENMW_USE_SYSTEM_RECASTNAVIGATION=1"
]; ];
meta = with lib; { meta = with lib; {
description = "An unofficial open source engine reimplementation of the game Morrowind"; description = "An unofficial open source engine reimplementation of the game Morrowind";
homepage = "http://openmw.org"; homepage = "https://openmw.org";
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
maintainers = with maintainers; [ abbradar ]; maintainers = with maintainers; [ abbradar marius851000 ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View file

@ -9,6 +9,7 @@
, symlinkJoin , symlinkJoin
, mygui , mygui
, crudini , crudini
, bullet
}: }:
# revisions are taken from https://github.com/GrimKriegor/TES3MP-deploy # revisions are taken from https://github.com/GrimKriegor/TES3MP-deploy
@ -70,7 +71,8 @@ let
nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ makeWrapper ]; nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ makeWrapper ];
buildInputs = oldAttrs.buildInputs ++ [ luajit ]; buildInputs = (builtins.map (x: if x.pname or "" == "bullet" then bullet else x) oldAttrs.buildInputs)
++ [ luajit ];
cmakeFlags = oldAttrs.cmakeFlags ++ [ cmakeFlags = oldAttrs.cmakeFlags ++ [
"-DBUILD_OPENCS=OFF" "-DBUILD_OPENCS=OFF"
@ -79,6 +81,11 @@ let
"-DRakNet_LIBRARY_DEBUG=${raknet}/lib/libRakNetLibStatic.a" "-DRakNet_LIBRARY_DEBUG=${raknet}/lib/libRakNetLibStatic.a"
]; ];
prePatch = ''
substituteInPlace components/process/processinvoker.cpp \
--replace "\"./\"" "\"$out/bin/\""
'';
# https://github.com/TES3MP/openmw-tes3mp/issues/552 # https://github.com/TES3MP/openmw-tes3mp/issues/552
patches = [ ./tes3mp.patch ]; patches = [ ./tes3mp.patch ];