diff --git a/pkgs/development/interpreters/love/default.nix b/pkgs/development/interpreters/love/default.nix new file mode 100644 index 000000000000..ee68f85725ab --- /dev/null +++ b/pkgs/development/interpreters/love/default.nix @@ -0,0 +1,58 @@ +x@{builderDefsPackage + , lua5, mpg123, physfs, freetype, libdevil, openal, SDL, libvorbis + , libogg, flac, mesa, libtiff, libpng, libjpeg, libmodplug + , ...}: +builderDefsPackage +(a : +let + helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ + []; + + buildInputs = map (n: builtins.getAttr n x) + (builtins.attrNames (builtins.removeAttrs x helperArgNames)); + sourceInfo = rec { + baseName="love"; + version="0.7.2"; + name="${baseName}-${version}"; + url="https://bitbucket.org/rude/love/downloads/${name}-linux-src.tar.gz"; + hash="0s7jywkvydlshlgy11ilzngrnybmq5xlgzp2v2dhlffwrfqdqym5"; + }; +in +rec { + src = a.fetchurl { + url = sourceInfo.url; + sha256 = sourceInfo.hash; + }; + + inherit (sourceInfo) name version; + inherit buildInputs; + + /* doConfigure should be removed if not needed */ + phaseNames = ["setVars" "fixSrc" "doConfigure" "doMakeInstall"]; + + fixSrc =a.fullDepEntry '' + sed -e '/typedef void (\*__GLXextFuncPtr)/d' -i src/modules/graphics/opengl/GLee.h + '' ["minInit" "doUnpack"]; + + setVars = a.noDepEntry '' + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${SDL}/include/SDL" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${freetype}/include/freetype2" + ''; + + meta = { + description = "A Lua-based 2D game engine/scripting language"; + maintainers = with a.lib.maintainers; + [ + raskin + ]; + platforms = with a.lib.platforms; + linux; + license = a.lib.licenses.zlib; + }; + passthru = { + updateInfo = { + downloadPage = "http://love2d.org/"; + }; + }; +}) x + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b022a42ddae2..eb7db6f73437 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2490,6 +2490,8 @@ let kona = callPackage ../development/interpreters/kona {}; + love = callPackage ../development/interpreters/love {}; + lua4 = callPackage ../development/interpreters/lua-4 { }; lua5 = callPackage ../development/interpreters/lua-5 { };