diff options
Diffstat (limited to 'nixpkgs/pkgs/games/freeorion/default.nix')
-rw-r--r-- | nixpkgs/pkgs/games/freeorion/default.nix | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/games/freeorion/default.nix b/nixpkgs/pkgs/games/freeorion/default.nix new file mode 100644 index 000000000000..204223e6094d --- /dev/null +++ b/nixpkgs/pkgs/games/freeorion/default.nix @@ -0,0 +1,87 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, doxygen +, graphviz +, makeWrapper +, boost179 +, SDL2 +, python3 +, freetype +, openal +, libogg +, libvorbis +, zlib +, libpng +, libtiff +, libjpeg +, libGLU +, libGL +, glew +, libxslt +}: + +stdenv.mkDerivation rec { + pname = "freeorion"; + version = "0.5.0.1"; + + src = fetchFromGitHub { + owner = "freeorion"; + repo = "freeorion"; + rev = "v${version}"; + sha256 = "sha256-VvTq6TcLc5BMvRTjVsZ2HA9ug3WAqFuTHIoFQ/9/zWc="; + }; + + buildInputs = [ + (boost179.override { enablePython = true; python = python3; }) + (python3.withPackages (p: with p; [ pycodestyle ])) + SDL2 + freetype + glew + libGL + libGLU + libjpeg + libogg + libpng + libtiff + libvorbis + openal + zlib + ]; + + nativeBuildInputs = [ + cmake + doxygen + graphviz + makeWrapper + ]; + + # as of 0.5.0.1 FreeOrion doesn't work with "-DOpenGL_GL_PREFERENCE=GLVND" + cmakeFlags = [ "-DOpenGL_GL_PREFERENCE=LEGACY" ]; + + postInstall = '' + mkdir -p $out/libexec + # We need final slashes for XSLT replace to work properly + substitute ${./fix-paths.xslt} $out/share/freeorion/fix-paths.xslt \ + --subst-var-by nixStore "$NIX_STORE/" \ + --subst-var-by out "$out/" + substitute ${./fix-paths.sh} $out/libexec/fix-paths \ + --subst-var-by libxsltBin ${libxslt.bin} \ + --subst-var-by shell ${stdenv.shell} \ + --subst-var out + chmod +x $out/libexec/fix-paths + + wrapProgram $out/bin/freeorion \ + --run $out/libexec/fix-paths \ + --prefix LD_LIBRARY_PATH : $out/lib/freeorion + ''; + + meta = with lib; { + description = "A free, open source, turn-based space empire and galactic conquest (4X) computer game"; + homepage = "https://www.freeorion.org/"; + license = with licenses; [ gpl2 cc-by-sa-30 ]; + platforms = platforms.linux; + maintainers = with maintainers; [ tex ]; + }; +} |