You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/media-libs/allegro/allegro-4.4.3.1-r1.ebuild

115 lines
2.9 KiB

# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake-multilib desktop
DESCRIPTION="Cross-platform multimedia library"
HOMEPAGE="https://liballeg.org/"
SRC_URI="https://github.com/liballeg/allegro5/releases/download/${PV}/${P}.tar.gz"
LICENSE="Allegro MIT GPL-2+ ZLIB"
SLOT="0"
KEYWORDS="amd64 ~arm64 ~loong ~mips ppc ppc64 ~riscv x86"
IUSE="alsa doc fbcon jack jpeg opengl oss png svga vga vorbis X"
RDEPEND="
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
jack? ( virtual/jack[${MULTILIB_USEDEP}] )
jpeg? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] )
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
svga? ( media-libs/svgalib )
vorbis? ( media-libs/libvorbis[${MULTILIB_USEDEP}] )
X? (
x11-libs/libX11[${MULTILIB_USEDEP}]
x11-libs/libXcursor[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
x11-libs/libXpm[${MULTILIB_USEDEP}]
x11-libs/libXt[${MULTILIB_USEDEP}]
x11-libs/libXxf86dga[${MULTILIB_USEDEP}]
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
opengl? (
virtual/glu[${MULTILIB_USEDEP}]
virtual/opengl[${MULTILIB_USEDEP}]
)
)"
DEPEND="${RDEPEND}
X? ( x11-base/xorg-proto )"
BDEPEND="
virtual/pkgconfig
doc? ( sys-apps/texinfo )
"
PATCHES=(
"${FILESDIR}"/${PN}-4.4.2-shared.patch
"${FILESDIR}"/${PN}-4.4.2-underlink.patch
"${FILESDIR}"/${PN}-4.4.2-gentoo.patch
"${FILESDIR}"/${PN}-4.4.2-rpath.patch
"${FILESDIR}"/${PN}-4.4.3.1-texinfo-encoding.patch
)
src_prepare() {
cmake_src_prepare
sed -i \
-e "s:allegro-\${ALLEGRO_VERSION}:${PF}:" \
docs/CMakeLists.txt || die
}
src_configure() {
# WANT_LINUX_CONSOLE is by default OFF
# WANT_EXAMPLES doesn't install anything
# WANT_TEST doesn't do anything regarding unittests
local mycmakeargs=(
-DDOCDIR=share/doc
-DINFODIR=share/info
-DMANDIR=share/man
-DWANT_ALSA=$(usex alsa)
-DWANT_DOCS_INFO=$(usex doc)
-DWANT_EXAMPLES=OFF
-DWANT_JACK=$(usex jack)
-DWANT_JPGALLEG=$(usex jpeg)
-DWANT_LINUX_CONSOLE=OFF
-DWANT_LINUX_FBCON=$(usex fbcon)
-DWANT_LINUX_SVGALIB=$(usex svga)
-DWANT_LINUX_VGA=$(usex vga)
-DWANT_LOADPNG=$(usex png)
-DWANT_LOGG=$(usex vorbis)
-DWANT_OSS=$(usex oss)
-DWANT_TESTS=OFF
-DWANT_TOOLS=$(usex X)
-DWANT_X11=$(usex X)
)
if use X; then
mycmakeargs+=( -DWANT_ALLEGROGL=$(usex opengl) )
else
mycmakeargs+=( -DWANT_ALLEGROGL=OFF )
fi
cmake-multilib_src_configure
}
multilib_src_install() {
if multilib_is_native_abi ; then
dodoc -r docs/html
#176020 (init_dialog.3), #409305 (key.3)
pushd docs/man >/dev/null
local manpage
for manpage in $(ls -d *.3); do
newman ${manpage} ${PN}-${manpage}
done
popd >/dev/null
if use X; then
newbin setup/setup ${PN}-setup
insinto /usr/share/${PN}
doins "${S}"/{keyboard,language,setup/setup}.dat
newicon "${S}"/misc/icon.png ${PN}.png
make_desktop_entry ${PN}-setup "Allegro Setup" ${PN} "Settings"
fi
fi
cmake_src_install
}