nixpkgs/pkgs/development/interpreters/love/0.8.nix
2021-01-23 20:29:03 +07:00

56 lines
1.5 KiB
Nix

{ lib, stdenv, fetchurl, pkg-config
, SDL, libGLU, libGL, openal, lua
, libdevil, freetype, physfs
, libmodplug, mpg123, libvorbis, libogg
}:
stdenv.mkDerivation rec {
pname = "love";
version = "0.8.0";
src = fetchurl {
url = "https://bitbucket.org/rude/love/downloads/${pname}-${version}-linux-src.tar.gz";
sha256 = "1k4fcsa8zzi04ja179bmj24hvqcbm3icfvrvrzyz2gw9qwfclrwi";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [
SDL libGLU libGL openal lua
libdevil freetype physfs libmodplug mpg123 libvorbis libogg
];
preConfigure = ''
luaoptions="${"''"} lua luajit "
for i in lua luajit-; do
for j in 5 5.0 5.1 5.2 5.3 5.4; do
luaoptions="$luaoptions $i$j "
done
done
luaso="$(echo "${lua}/lib/"lib*.so.*)"
luaso="''${luaso##*/lib}"
luaso="''${luaso%%.so*}"
luaoptions="$luaoptions $luaso"
sed -e "s/${"''"} lua lua.*;/$luaoptions;/" -i configure
luaincdir="$(echo "${lua}/include"/*/ )"
test -d "$luaincdir" && {
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$luaincdir"
} || true
'';
NIX_CFLAGS_COMPILE = toString [
"-I${SDL.dev}/include/SDL"
"-I${freetype.dev}include/freetype2"
"-DGL_GLEXT_PROTOTYPES" # https://community.khronos.org/t/glgenbuffers-was-not-declared-in-this-scope/59283/2
];
meta = {
homepage = "http://love2d.org";
description = "A Lua-based 2D game engine/scripting language";
license = lib.licenses.zlib;
platforms = lib.platforms.linux;
maintainers = [ lib.maintainers.raskin ];
};
}