1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 pkg-config,
6 SDL2,
7 libGLU,
8 libGL,
9 openal,
10 luajit,
11 libdevil,
12 freetype,
13 physfs,
14 libmodplug,
15 mpg123,
16 libvorbis,
17 libogg,
18 libtheora,
19 which,
20 autoconf,
21 automake,
22 libtool,
23 xorg,
24}:
25
26stdenv.mkDerivation rec {
27 pname = "love";
28 version = "11.5";
29
30 src = fetchFromGitHub {
31 owner = "love2d";
32 repo = "love";
33 rev = version;
34 sha256 = "sha256-wZktNh4UB3QH2wAIIlnYUlNoXbjEDwUmPnT4vesZNm0=";
35 };
36
37 nativeBuildInputs = [
38 pkg-config
39 autoconf
40 automake
41 ];
42 buildInputs = [
43 SDL2
44 xorg.libX11 # SDl2 optional depend, for SDL_syswm.h
45 libGLU
46 libGL
47 openal
48 luajit
49 libdevil
50 freetype
51 physfs
52 libmodplug
53 mpg123
54 libvorbis
55 libogg
56 libtheora
57 which
58 libtool
59 ];
60
61 preConfigure = "$shell ./platform/unix/automagic";
62
63 configureFlags = [
64 "--with-lua=luajit"
65 ];
66
67 env.NIX_CFLAGS_COMPILE = "-DluaL_reg=luaL_Reg"; # needed since luajit-2.1.0-beta3
68
69 meta = {
70 homepage = "https://love2d.org";
71 description = "Lua-based 2D game engine/scripting language";
72 mainProgram = "love";
73 license = lib.licenses.zlib;
74 platforms = lib.platforms.linux;
75 maintainers = [ lib.maintainers.raskin ];
76 };
77}