56 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			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 ];
 | |
|   };
 | |
| }
 | 
