diff --git a/pkgs/games/manaplus/0001-libxml2-const-ptr-and-missing-include.patch b/pkgs/games/manaplus/0001-libxml2-const-ptr-and-missing-include.patch new file mode 100644 index 000000000000..2d31c730dddc --- /dev/null +++ b/pkgs/games/manaplus/0001-libxml2-const-ptr-and-missing-include.patch @@ -0,0 +1,25 @@ +diff --git a/src/utils/dumplibs.cpp b/src/utils/dumplibs.cpp +index 4215d6183..2d410f150 100644 +--- a/src/utils/dumplibs.cpp ++++ b/src/utils/dumplibs.cpp +@@ -140,7 +140,7 @@ void dumpLibs() + LIBXML_TEST_VERSION + #endif // LIBXML_TEST_VERSION + #ifdef ENABLE_LIBXML +- const char **xmlVersion = __xmlParserVersion(); ++ const char * const *xmlVersion = __xmlParserVersion(); + if (xmlVersion != nullptr) + logger->log(" libxml2: %s", *xmlVersion); + #endif // ENABLE_LIBXML +diff --git a/src/utils/xml/libxml.inc b/src/utils/xml/libxml.inc +index c60abd095..cf4c845a9 100644 +--- a/src/utils/xml/libxml.inc ++++ b/src/utils/xml/libxml.inc +@@ -24,6 +24,7 @@ + + #ifdef ENABLE_LIBXML + ++#include + #include + + __XML_XMLWRITER_H__ diff --git a/pkgs/games/manaplus/0002-missing-ctime-include.patch b/pkgs/games/manaplus/0002-missing-ctime-include.patch new file mode 100644 index 000000000000..1b3b0d385758 --- /dev/null +++ b/pkgs/games/manaplus/0002-missing-ctime-include.patch @@ -0,0 +1,30 @@ +diff --git a/src/progs/dyecmd/client.cpp b/src/progs/dyecmd/client.cpp +index 6321da0d2..bb655519b 100644 +--- a/src/progs/dyecmd/client.cpp ++++ b/src/progs/dyecmd/client.cpp +@@ -86,9 +86,7 @@ PRAGMA48(GCC diagnostic pop) + #include + #include "fs/specialfolder.h" + #undef ERROR +-#endif // WIN32 +- +-#ifdef __clang__ ++#else + #include + #endif // __clang__ + +diff --git a/src/resources/wallpaper.cpp b/src/resources/wallpaper.cpp +index 2df412b7d..1658e3d4a 100644 +--- a/src/resources/wallpaper.cpp ++++ b/src/resources/wallpaper.cpp +@@ -37,9 +37,7 @@ + + #ifdef WIN32 + #include +-#endif // WIN32 +- +-#ifdef __clang__ ++#else + #include + #endif // __clang__ + diff --git a/pkgs/games/manaplus/default.nix b/pkgs/games/manaplus/default.nix index 865a027503e9..6696826436c4 100644 --- a/pkgs/games/manaplus/default.nix +++ b/pkgs/games/manaplus/default.nix @@ -1,7 +1,7 @@ { stdenv, lib, - fetchurl, + fetchFromGitLab, SDL2, SDL2_image, SDL2_ttf, @@ -17,35 +17,48 @@ libGL, autoreconfHook, }: -stdenv.mkDerivation rec { - pname = "manaplus"; - version = "2.1.3.17"; - src = fetchurl { - url = "https://download.evolonline.org/manaplus/download/${version}/manaplus-${version}.tar.xz"; - sha256 = "sha256-6NFqxUjEAp7aiIScyTOFh2tT7PfuTCKH1vTgPpTm+j0="; +stdenv.mkDerivation (finalAttrs: { + pname = "manaplus"; + version = "2.1.3.17-unstable-2024-08-15"; + + src = fetchFromGitLab { + owner = "manaplus"; + repo = "manaplus"; + rev = "40ebe02e81b34f5b02ea682d2d470a20e7e63cfc"; + sha256 = "sha256-OVmCqK8undrBKgY5bB2spezmYwWXnmrPlSpV5euortc="; }; + patches = [ + # https://gitlab.com/manaplus/manaplus/-/issues/33 + ./0001-libxml2-const-ptr-and-missing-include.patch + # https://gitlab.com/manaplus/manaplus/-/issues/32 + ./0002-missing-ctime-include.patch + ]; + nativeBuildInputs = [ + SDL2 autoreconfHook pkg-config ]; buildInputs = [ SDL2 + SDL2_gfx SDL2_image - SDL2_ttf SDL2_mixer SDL2_net - SDL2_gfx - zlib - physfs + SDL2_ttf curl - libxml2 - libpng libGL + libpng + libxml2 + physfs + zlib ]; + strictDeps = true; + configureFlags = [ "--with-sdl2" "--without-dyecmd" @@ -60,4 +73,4 @@ stdenv.mkDerivation rec { license = lib.licenses.gpl2Plus; broken = stdenv.hostPlatform.isDarwin; }; -} +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d06a95254e4d..d6154119914d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16772,7 +16772,7 @@ with pkgs; openjfx = openjfx21; }; - manaplus = callPackage ../games/manaplus { stdenv = gcc11Stdenv; }; + manaplus = callPackage ../games/manaplus { }; mindustry-wayland = callPackage ../by-name/mi/mindustry/package.nix { enableWayland = true;