|
|
|
@ -1,20 +1,33 @@ |
|
|
|
|
{ lib, stdenv, fetchurl, makeWrapper, pkg-config, gettext, imagemagick, curl, libpng, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf, xercesc, xdg-utils, hicolor-icon-theme }: |
|
|
|
|
{ lib, stdenv, fetchurl, fetchpatch, makeWrapper, pkg-config, gettext, imagemagick, curl, libpng, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf, xercesc, xdg-utils, hicolor-icon-theme }: |
|
|
|
|
stdenv.mkDerivation rec { |
|
|
|
|
pname = "enigma"; |
|
|
|
|
version = "1.30-alpha"; |
|
|
|
|
version = "1.30"; |
|
|
|
|
|
|
|
|
|
src = fetchurl { |
|
|
|
|
url = "https://github.com/Enigma-Game/Enigma/releases/download/${version}/${pname}-${version}.tar.gz"; |
|
|
|
|
sha256 = "1zyk3j43gzfr1lhc6g13j7qai5f33fv5xm5735nnznaqvaz17949"; |
|
|
|
|
url = "https://github.com/Enigma-Game/Enigma/releases/download/${version}/Enigma-${version}-src.tar.gz"; |
|
|
|
|
sha256 = "rmS5H7wrEJcAcdDXjtW07enuOGjeLm6VaVRvxYQ3+K8="; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
patches = [ |
|
|
|
|
# fix format string security warning (turned into error) |
|
|
|
|
(fetchpatch { |
|
|
|
|
url = "https://github.com/Enigma-Game/Enigma/pull/70/commits/d25051eb6228c885e779a9674f8ee3979da30663.patch"; |
|
|
|
|
sha256 = "L5C4NCZDDUKji9Tg4geKaiw3CkSY6rCoawqGKqR4dFM="; |
|
|
|
|
}) |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
nativeBuildInputs = [ pkg-config gettext makeWrapper imagemagick ]; |
|
|
|
|
buildInputs = [ SDL2 SDL2_image SDL2_mixer SDL2_ttf libpng xercesc curl xdg-utils ]; |
|
|
|
|
|
|
|
|
|
# For some reason (might be related to the alpha status), some includes |
|
|
|
|
# which are required by lib-src/enigma-core are not picked up by the |
|
|
|
|
# configure script. Hence we add them manually. |
|
|
|
|
CPPFLAGS = "-I${SDL2.dev}/include/SDL2 -I${SDL2_ttf}/include/SDL2 -I${SDL2_image}/include/SDL2 -I${SDL2_mixer}/include/SDL2"; |
|
|
|
|
# The configure script of enigma uses pkg-config to determine the header |
|
|
|
|
# directories of SDL2. However, pkg-config only returns the path to the core |
|
|
|
|
# SDL2 library, not to the additional libraries SDL2_ttf, SDL2_image and |
|
|
|
|
# SDL2_mixer. In contrast, sdl2-config does return the correct list of paths. |
|
|
|
|
# We don't use configureFlags here so that the shell can correctly carry |
|
|
|
|
# out the interpolation. |
|
|
|
|
preConfigure = '' |
|
|
|
|
export SDL_CFLAGS=$(sdl2-config --cflags) |
|
|
|
|
''; |
|
|
|
|
|
|
|
|
|
postInstall = '' |
|
|
|
|
rm -r $out/include |
|
|
|
|