|
8 | 8 | SDL2_net, |
9 | 9 | fetchFromGitHub, |
10 | 10 | makeWrapper, |
| 11 | + zlib, |
11 | 12 | }: |
12 | 13 |
|
13 | | -stdenv.mkDerivation rec { |
| 14 | +stdenv.mkDerivation (finalAttrs: { |
14 | 15 | pname = "eternity-engine"; |
15 | | - version = "4.02.00"; |
| 16 | + version = "4.05.04"; |
16 | 17 | src = fetchFromGitHub { |
17 | 18 | owner = "team-eternity"; |
18 | 19 | repo = "eternity"; |
19 | | - tag = version; |
20 | | - sha256 = "0dlz7axbiw003bgwk2hl43w8r2bwnxhi042i1xwdiwaja0cpnf5y"; |
| 20 | + tag = finalAttrs.version; |
| 21 | + hash = "sha256-uUQYTI6qDMMtL0Zc82wr3hOPayvAj5kH8CuexAKFE6I="; |
21 | 22 | fetchSubmodules = true; |
22 | 23 | }; |
23 | 24 |
|
| 25 | + postPatch = |
| 26 | + # CMake 4 compatibility |
| 27 | + '' |
| 28 | + substituteInPlace acsvm/CMakeLists.txt \ |
| 29 | + --replace-fail 'cmake_minimum_required(VERSION 2.6)' 'cmake_minimum_required(VERSION 3.10)' |
| 30 | +
|
| 31 | + substituteInPlace zlib/CMakeLists.txt \ |
| 32 | + --replace-fail 'cmake_minimum_required(VERSION 2.4.4)' 'cmake_minimum_required(VERSION 3.10)' |
| 33 | +
|
| 34 | + substituteInPlace snes_spc/CMakeLists.txt \ |
| 35 | + --replace-fail 'CMAKE_MINIMUM_REQUIRED (VERSION 2.4)' 'cmake_minimum_required(VERSION 3.10)' |
| 36 | +
|
| 37 | + substituteInPlace libpng/CMakeLists.txt \ |
| 38 | + --replace-fail 'cmake_minimum_required(VERSION 3.1)' 'cmake_minimum_required(VERSION 3.10)' \ |
| 39 | + --replace-fail 'cmake_policy(VERSION 3.1)' 'cmake_policy(VERSION 3.10)' |
| 40 | +
|
| 41 | + substituteInPlace adlmidi/libADLMIDI.pc.in \ |
| 42 | + --replace-fail 'libdir=''${exec_prefix}/@CMAKE_INSTALL_LIBDIR@' 'libdir=@CMAKE_INSTALL_FULL_LIBDIR@' \ |
| 43 | + --replace-fail 'includedir=''${prefix}/@CMAKE_INSTALL_INCLUDEDIR@' 'libdir=@CMAKE_INSTALL_FULL_INCLUDEDIR@' |
| 44 | + '' |
| 45 | + + |
| 46 | + # Find installed 'base' data directory |
| 47 | + '' |
| 48 | + substituteInPlace source/hal/i_directory.cpp \ |
| 49 | + --replace-fail '/usr/local/share/eternity/base' "$out/share/eternity/base" |
| 50 | + ''; |
| 51 | + |
24 | 52 | nativeBuildInputs = [ |
25 | 53 | cmake |
26 | 54 | makeWrapper |
27 | 55 | ]; |
| 56 | + |
28 | 57 | buildInputs = [ |
29 | 58 | libGL |
30 | 59 | SDL2 |
31 | 60 | SDL2_mixer |
32 | 61 | SDL2_net |
| 62 | + zlib |
33 | 63 | ]; |
34 | 64 |
|
35 | | - installPhase = '' |
36 | | - install -Dm755 eternity/eternity $out/lib/eternity/eternity |
37 | | - cp -r $src/base $out/lib/eternity/base |
38 | | - mkdir $out/bin |
39 | | - makeWrapper $out/lib/eternity/eternity $out/bin/eternity |
40 | | - ''; |
41 | | - |
42 | 65 | meta = { |
43 | 66 | homepage = "https://doomworld.com/eternity"; |
44 | 67 | description = "New school Doom port by James Haley"; |
45 | 68 | mainProgram = "eternity"; |
46 | 69 | license = lib.licenses.gpl3; |
47 | 70 | platforms = lib.platforms.linux; |
48 | | - maintainers = [ ]; |
| 71 | + maintainers = with lib.maintainers; [ aware70 ]; |
49 | 72 | }; |
50 | | -} |
| 73 | +}) |
0 commit comments