diff --git a/pkgs/development/tools/godot/default.nix b/pkgs/development/tools/godot/default.nix new file mode 100644 index 000000000000..7ebbc1b88e30 --- /dev/null +++ b/pkgs/development/tools/godot/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchFromGitHub, gcc, scons, pkgconfig, libX11, libXcursor +, libXinerama, libXrandr, libXrender, freetype, openssl, alsaLib +, libpulseaudio, mesa, mesa_glu, zlib }: + +stdenv.mkDerivation rec { + name = "godot-${version}"; + version = "2.1.1-stable"; + + src = fetchFromGitHub { + owner = "godotengine"; + repo = "godot"; + rev = version; + sha256 = "071qkm1l6yn2s9ha67y15w2phvy5m5wl3wqvrslhfmnsir3q3k01"; + }; + + buildInputs = [ + gcc scons pkgconfig libX11 libXcursor libXinerama libXrandr libXrender + freetype openssl alsaLib libpulseaudio mesa mesa_glu zlib + ]; + + patches = [ ./pkg_config_additions.patch ]; + + enableParallelBuilding = true; + + buildPhase = '' + scons platform=x11 prefix=$out -j $NIX_BUILD_CORES + ''; + + installPhase = '' + mkdir $out/bin -p + cp bin/godot.* $out/bin/ + ''; + + meta = { + homepage = "http://godotengine.org"; + description = "Free and Open Source 2D and 3D game engine"; + license = stdenv.lib.licenses.mit; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/tools/godot/pkg_config_additions.patch b/pkgs/development/tools/godot/pkg_config_additions.patch new file mode 100644 index 000000000000..f5e835a73749 --- /dev/null +++ b/pkgs/development/tools/godot/pkg_config_additions.patch @@ -0,0 +1,12 @@ ++++ build/platform/x11/detect.py +@@ -132,6 +132,10 @@ + env.ParseConfig('pkg-config xinerama --cflags --libs') + env.ParseConfig('pkg-config xcursor --cflags --libs') + env.ParseConfig('pkg-config xrandr --cflags --libs') ++ env.ParseConfig('pkg-config xrender --cflags --libs') ++ env.ParseConfig('pkg-config osmesa --cflags') ++ env.ParseConfig('pkg-config glu --cflags --libs') ++ env.ParseConfig('pkg-config zlib --cflags --libs') + + if (env['builtin_openssl'] == 'no'): + env.ParseConfig('pkg-config openssl --cflags --libs') diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9e175e50d1fb..76d36242ed01 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1938,6 +1938,8 @@ in gocryptfs = callPackage ../tools/filesystems/gocrypfs { }; + godot = callPackage ../development/tools/godot {}; + go-mtpfs = callPackage ../tools/filesystems/go-mtpfs { }; go-pup = callPackage ../development/tools/pup { };