Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / games / freeorion / default.nix
blob8c2c4ef86a08a435e88cd5c015f5e03a6339c1bd
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , cmake
5 , doxygen
6 , graphviz
7 , makeWrapper
8 , boost179
9 , SDL2
10 , python3
11 , freetype
12 , openal
13 , libogg
14 , libvorbis
15 , zlib
16 , libpng
17 , libtiff
18 , libjpeg
19 , libGLU
20 , libGL
21 , glew
22 , libxslt
25 stdenv.mkDerivation rec {
26   pname = "freeorion";
27   version = "0.5";
29   src = fetchFromGitHub {
30     owner = "freeorion";
31     repo = "freeorion";
32     rev = "v${version}";
33     sha256 = "sha256-uJRDU0Xd+sHL2IDvMiElUSOhvchVMW9wYMSLSN7pYtQ=";
34   };
36   buildInputs = [
37     (boost179.override { enablePython = true; python = python3; })
38     (python3.withPackages (p: with p; [ pycodestyle ]))
39     SDL2
40     freetype
41     glew
42     libGL
43     libGLU
44     libjpeg
45     libogg
46     libpng
47     libtiff
48     libvorbis
49     openal
50     zlib
51   ];
53   nativeBuildInputs = [
54     cmake
55     doxygen
56     graphviz
57     makeWrapper
58   ];
60   # as of 0.5 FreeOrion doesn't work with "-DOpenGL_GL_PREFERENCE=GLVND"
61   cmakeFlags = [ "-DOpenGL_GL_PREFERENCE=LEGACY" ];
63   postInstall = ''
64     mkdir -p $out/libexec
65     # We need final slashes for XSLT replace to work properly
66     substitute ${./fix-paths.xslt} $out/share/freeorion/fix-paths.xslt \
67       --subst-var-by nixStore "$NIX_STORE/" \
68       --subst-var-by out "$out/"
69     substitute ${./fix-paths.sh} $out/libexec/fix-paths \
70       --subst-var-by libxsltBin ${libxslt.bin} \
71       --subst-var-by shell ${stdenv.shell} \
72       --subst-var out
73     chmod +x $out/libexec/fix-paths
75     wrapProgram $out/bin/freeorion \
76       --run $out/libexec/fix-paths \
77       --prefix LD_LIBRARY_PATH : $out/lib/freeorion
78   '';
80   meta = with lib; {
81     description = "A free, open source, turn-based space empire and galactic conquest (4X) computer game";
82     homepage = "https://www.freeorion.org/";
83     license = with licenses; [ gpl2 cc-by-sa-30 ];
84     platforms = platforms.linux;
85     maintainers = with maintainers; [ tex ];
86   };