Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / libraries / allegro / 5.nix
blob487b0dfde0d62cf7a9bf34ec888e6bf14fe9cf3b
1 { lib
2 , alsa-lib
3 , cmake
4 , enet
5 , fetchFromGitHub
6 , fetchpatch
7 , flac
8 , freetype
9 , gtk3
10 , libGL
11 , libGLU
12 , libjpeg
13 , libopus
14 , libpng
15 , libpthreadstubs
16 , libpulseaudio
17 , libtheora
18 , libvorbis
19 , libwebp
20 , libX11
21 , libXcursor
22 , libXdmcp
23 , libXext
24 , libXfixes
25 , libXi
26 , libXpm
27 , libXt
28 , libXxf86dga
29 , libXxf86misc
30 , libXxf86vm
31 , openal
32 , pcre
33 , physfs
34 , pkg-config
35 , stdenv
36 , texinfo
37 , xorgproto
38 , zlib
41 stdenv.mkDerivation rec {
42   pname = "allegro";
43   version = "5.2.8.0";
45   src = fetchFromGitHub {
46     owner = "liballeg";
47     repo = "allegro5";
48     rev = version;
49     sha256 = "sha256-uNcaeTelFNfg+YjPYc7nK4TrFDxJsEuPhsF8x1cvIYQ=";
50   };
52   nativeBuildInputs = [
53     cmake
54     pkg-config
55   ];
57   buildInputs = [
58     enet
59     flac
60     freetype
61     gtk3
62     libGL
63     libGLU
64     libjpeg
65     libopus
66     libpng
67     libtheora
68     libvorbis
69     libwebp
70     openal
71     pcre
72     physfs
73     texinfo
74     zlib
75   ] ++ lib.optionals stdenv.isLinux [
76     alsa-lib
77     libpthreadstubs
78     libpulseaudio
79     libX11
80     libXcursor
81     libXdmcp
82     libXext
83     libXfixes
84     libXi
85     libXpm
86     libXt
87     libXxf86dga
88     libXxf86misc
89     libXxf86vm
90     xorgproto
91   ];
93   postPatch = ''
94     sed -e 's@/XInput2.h@/XI2.h@g' -i CMakeLists.txt "src/"*.c
95     sed -e 's@Kernel/IOKit/hidsystem/IOHIDUsageTables.h@IOKit/hid/IOHIDUsageTables.h@g' -i include/allegro5/platform/alosx.h
96     sed -e 's@OpenAL/@AL/@g' -i addons/audio/openal.c
97   '';
99   cmakeFlags = [ "-DCMAKE_SKIP_RPATH=ON" ];
101   meta = with lib; {
102     description = "A game programming library";
103     homepage = "https://liballeg.org/";
104     license = licenses.zlib;
105     maintainers = [ maintainers.raskin ];
106     platforms = platforms.linux ++ platforms.darwin;
107   };