1 # Copyright 1999-2023 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
8 DESCRIPTION="Cross-platform library aimed at video game and multimedia programming"
9 HOMEPAGE="https://liballeg.org/"
10 SRC_URI="https://github.com/liballeg/allegro5/releases/download/${PV}/${P}.tar.gz"
14 KEYWORDS="amd64 ~arm64 ~loong ppc ppc64 ~riscv x86"
15 IUSE="alsa dumb flac gtk jpeg openal opengl opus oss physfs png pulseaudio test truetype vorbis webp X xinerama"
17 # TODO: For tests, we need some extra deps.
18 # -- Could NOT find OPENSL (missing: OPENSL_INCLUDE_DIR OPENSL_LIBRARY)
19 # -- Could NOT find MiniMP3 (missing: MINIMP3_INCLUDE_DIRS)
20 # TODO: Tweak REQUIRED_USE for tests?
21 # WARNING: allegro_video wanted but no supported backend found
23 REQUIRED_USE="X? ( opengl )
25 || ( alsa openal oss pulseaudio )"
26 RESTRICT="!test? ( test )"
29 alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] )
30 dumb? ( >=media-libs/dumb-0.9.3-r2:=[${MULTILIB_USEDEP}] )
31 flac? ( >=media-libs/flac-1.2.1-r5:=[${MULTILIB_USEDEP}] )
32 gtk? ( x11-libs/gtk+:3[${MULTILIB_USEDEP}] )
33 jpeg? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] )
34 openal? ( >=media-libs/openal-1.15.1[${MULTILIB_USEDEP}] )
36 >=virtual/glu-9.0-r1[${MULTILIB_USEDEP}]
37 >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}]
39 opus? ( media-libs/opus[${MULTILIB_USEDEP}] )
40 physfs? ( >=dev-games/physfs-2.0.3-r1[${MULTILIB_USEDEP}] )
41 png? ( >=media-libs/libpng-1.5.18:0=[${MULTILIB_USEDEP}] )
42 pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
43 truetype? ( >=media-libs/freetype-2.5.0.1[${MULTILIB_USEDEP}] )
44 vorbis? ( >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}] )
45 webp? ( media-libs/libwebp:0=[${MULTILIB_USEDEP}] )
47 >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
48 >=x11-libs/libXcursor-1.1.14[${MULTILIB_USEDEP}]
49 >=x11-libs/libXrandr-1.4.2[${MULTILIB_USEDEP}]
50 >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}]
52 xinerama? ( >=x11-libs/libXinerama-1.1.3[${MULTILIB_USEDEP}] )
57 BDEPEND="virtual/pkgconfig"
59 MULTILIB_WRAPPED_HEADERS=( /usr/include/allegro5/allegro_native_dialog.h )
62 # We forego freeimage for now because ebuild is not multilib
63 # No known consumers yet anyway
65 -DWANT_ALSA=$(usex alsa)
68 -DWANT_FLAC=$(usex flac)
69 -DWANT_IMAGE_FREEIMAGE=OFF
70 -DWANT_IMAGE_JPG=$(usex jpeg)
71 -DWANT_IMAGE_PNG=$(usex png)
72 -DWANT_IMAGE_WEBP=$(usex webp)
73 -DWANT_MODAUDIO=$(usex dumb)
74 -DWANT_NATIVE_DIALOG=$(usex gtk)
75 -DWANT_OGG_VIDEO=$(usex vorbis)
76 -DWANT_OPENAL=$(usex openal)
77 -DWANT_OPENGL=$(usex opengl)
78 -DWANT_OPUS=$(usex opus)
79 -DWANT_OSS=$(usex oss)
80 -DWANT_PHYSFS=$(usex physfs)
81 -DWANT_PRIMITIVES=$(usex opengl)
82 -DWANT_PULSEAUDIO=$(usex pulseaudio)
83 -DWANT_TESTS=$(usex test)
84 -DWANT_TTF=$(usex truetype)
85 -DWANT_VORBIS=$(usex vorbis)
87 -DWANT_X11_XINERAMA=$(usex xinerama)
90 cmake-multilib_src_configure
94 local HTML_DOCS=( docs/html/refman/. )
95 cmake-multilib_src_install
97 dodoc CHANGES-5.0.txt CHANGES-5.1.txt CHANGES-5.2.txt