Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / games / the-powder-toy / default.nix
blobc1c9415b90df34d521f505cfa4bca8d74ae6b087
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , meson
5 , ninja
6 , pkg-config
7 , python3
8 , SDL2
9 , bzip2
10 , curl
11 , fftwFloat
12 , lua
13 , luajit
14 , zlib
15 , jsoncpp
16 , libpng
17 , Cocoa }:
19 stdenv.mkDerivation rec {
20   pname = "the-powder-toy";
21   version = "97.0.352";
23   src = fetchFromGitHub {
24     owner = "The-Powder-Toy";
25     repo = "The-Powder-Toy";
26     rev = "v${version}";
27     sha256 = "sha256-LYohsqFU9LBgTXMaV6cf8/zf3fBvT+s5A1JBpPHekH8=";
28   };
30   nativeBuildInputs = [ meson ninja pkg-config python3 ];
32   buildInputs = [ SDL2 bzip2 curl fftwFloat lua luajit zlib jsoncpp libpng ]
33   ++ lib.optionals stdenv.isDarwin [ Cocoa ];
35   mesonFlags = [ "-Dworkaround_elusive_bzip2=false" ];
37   installPhase = ''
38     install -Dm 755 powder $out/bin/powder
40     mkdir -p $out/share/applications
41     mv ../resources $out/share
42   '' + lib.optionalString stdenv.isLinux ''
43     mv ./resources/powder.desktop $out/share/applications
44   '';
46   meta = with lib; {
47     description = "A free 2D physics sandbox game";
48     homepage = "https://powdertoy.co.uk/";
49     platforms = platforms.unix;
50     license = licenses.gpl3Plus;
51     maintainers = with maintainers; [ abbradar siraben ];
52     mainProgram = "powder";
53   };