openmw: 0.46 -> 0.47

+40 -14
+32 -13
pkgs/games/openmw/default.nix
··· 13 13 , unshield 14 14 , openal 15 15 , libXt 16 + , lz4 17 + , recastnavigation 16 18 }: 17 19 18 20 let 19 - openscenegraph_ = openscenegraph.overrideDerivation (self: { 21 + openscenegraph_openmw = (openscenegraph.override { colladaSupport = true; }) 22 + .overrideDerivation (self: { 23 + src = fetchFromGitHub { 24 + owner = "OpenMW"; 25 + repo = "osg"; 26 + rev = "bbe61c3bc510a4f5bb4aea21cce506519c2d24e6"; 27 + sha256 = "sha256-t3smLqstp7wWfi9HXJoBCek+3acqt/ySBYF8RJOG6Mo="; 28 + }; 29 + }); 30 + 31 + bullet_openmw = bullet.overrideDerivation (old: rec { 32 + version = "3.17"; 20 33 src = fetchFromGitHub { 21 - owner = "OpenMW"; 22 - repo = "osg"; 23 - # commit does not exist on any branch on the target repository 24 - rev = "1556cd7966ebc1c80b6626988d2b25fb43a744cf"; 25 - sha256 = "0d74hijzmj82nx3jkv5qmr3pkgvplra0b8fbjx1y3vmzxamb0axd"; 34 + owner = "bulletphysics"; 35 + repo = "bullet3"; 36 + rev = version; 37 + sha256 = "sha256-uQ4X8F8nmagbcFh0KexrmnhHIXFSB3A1CCnjPVeHL3Q="; 26 38 }; 39 + patches = []; 40 + cmakeFlags = (old.cmakeFlags or []) ++ [ 41 + "-DUSE_DOUBLE_PRECISION=ON" 42 + "-DBULLET2_MULTITHREADING=ON" 43 + ]; 27 44 }); 28 45 29 46 in 30 47 mkDerivation rec { 31 - version = "0.46.0"; 32 48 pname = "openmw"; 49 + version = "0.47.0"; 33 50 34 51 src = fetchFromGitHub { 35 52 owner = "OpenMW"; 36 53 repo = "openmw"; 37 54 rev = "${pname}-${version}"; 38 - sha256 = "0rm32zsmxvr6b0jjihfj543skhicbw5kg6shjx312clhlm035w2x"; 55 + sha256 = "sha256-Xq9hDUTCQr79Zzjk0CsiXclVTHK6nrSowukIQqVdrKY="; 39 56 }; 40 57 41 58 nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ]; ··· 43 60 buildInputs = [ 44 61 SDL2 45 62 boost 46 - bullet 63 + bullet_openmw 47 64 ffmpeg 48 65 libXt 49 66 mygui 50 67 openal 51 - openscenegraph_ 68 + openscenegraph_openmw 52 69 unshield 70 + lz4 71 + recastnavigation 53 72 ]; 54 73 55 74 cmakeFlags = [ 56 - "-DDESIRED_QT_VERSION:INT=5" 57 75 # as of 0.46, openmw is broken with GLVND 58 76 "-DOpenGL_GL_PREFERENCE=LEGACY" 77 + "-DOPENMW_USE_SYSTEM_RECASTNAVIGATION=1" 59 78 ]; 60 79 61 80 meta = with lib; { 62 81 description = "An unofficial open source engine reimplementation of the game Morrowind"; 63 - homepage = "http://openmw.org"; 82 + homepage = "https://openmw.org"; 64 83 license = licenses.gpl3Plus; 65 - maintainers = with maintainers; [ abbradar ]; 84 + maintainers = with maintainers; [ abbradar marius851000 ]; 66 85 platforms = platforms.linux; 67 86 }; 68 87 }
+8 -1
pkgs/games/openmw/tes3mp.nix
··· 9 9 , symlinkJoin 10 10 , mygui 11 11 , crudini 12 + , bullet 12 13 }: 13 14 14 15 # revisions are taken from https://github.com/GrimKriegor/TES3MP-deploy ··· 70 71 71 72 nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ makeWrapper ]; 72 73 73 - buildInputs = oldAttrs.buildInputs ++ [ luajit ]; 74 + buildInputs = (builtins.map (x: if x.pname or "" == "bullet" then bullet else x) oldAttrs.buildInputs) 75 + ++ [ luajit ]; 74 76 75 77 cmakeFlags = oldAttrs.cmakeFlags ++ [ 76 78 "-DBUILD_OPENCS=OFF" ··· 78 80 "-DRakNet_LIBRARY_RELEASE=${raknet}/lib/libRakNetLibStatic.a" 79 81 "-DRakNet_LIBRARY_DEBUG=${raknet}/lib/libRakNetLibStatic.a" 80 82 ]; 83 + 84 + prePatch = '' 85 + substituteInPlace components/process/processinvoker.cpp \ 86 + --replace "\"./\"" "\"$out/bin/\"" 87 + ''; 81 88 82 89 # https://github.com/TES3MP/openmw-tes3mp/issues/552 83 90 patches = [ ./tes3mp.patch ];