Files
guru/games-emulation/RetroArch/RetroArch-1.20.0.ebuild
Paul Zander e07d695d5d */*: Add := to virtual/zlib deps
Add := to virtual/zlib deps, part 1

Done via:

```
git grep -l virtual/zlib$ | xargs sed -i -e 's@virtual/zlib$@&:=@'
```

Add := to virtual/zlib deps

Done via:

```
git grep -l 'virtual/zlib ' |
  xargs sed -i -e 's@virtual/zlib @virtual/zlib:= @g'
```

Unify virtual/zlib:0= to virtual/zlib:=

Done via:

```
git grep -l 'virtual/zlib:0=' |
  xargs sed -i -e 's@virtual/zlib:0=@virtual/zlib:=@g'
```

Add := to virtual/zlib deps, part 3

Done via:

```
git grep -l 'virtual/zlib:0' |
  xargs sed -i -e 's@virtual/zlib:0@virtual/zlib:=@g'
git grep -l 'virtual/zlib:=/' |
  xargs sed -i -e 's@virtual/zlib:=/@virtual/zlib:0/@g'
```

Add := to virtual/zlib deps, part 4

Done via:

```
git grep -l 'virtual/zlib\[' |
  xargs sed -i -e 's@virtual/zlib\[@virtual/zlib:=\[@g'
```

Use := on virtual/zlib deps, part 5

Done via:

```
git grep -l 'virtual/zlib-' |
  xargs sed -i -r -e 's@virtual/zlib-[0-9.]*(-r[0-9]*)?@&:=@g'
git grep -l 'virtual/zlib-' | xargs sed -i -e 's@:=:=@:=@g'
pkgcheck scan --commits \
  -c SourcingCheck,VisibilityCheck,DependencyCheck --exit error
```

Use := on virtual/zlib deps, part 6

Done via:

```
git grep -l 'virtual/zlib"' | xargs sed -i -e 's@virtual/zlib"@virtual/zlib:="@'
```

Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
2025-11-18 17:53:08 +01:00

190 lines
5.0 KiB
Bash

# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit flag-o-matic toolchain-funcs xdg
DESCRIPTION="RetroArch is a frontend for emulators, game engines and media players"
HOMEPAGE="https://www.retroarch.com"
SRC_URI="https://github.com/libretro/RetroArch/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64"
IUSE="7zip alsa cg cpu_flags_arm_neon cpu_flags_arm_vfp cpu_flags_x86_sse2 cheevos debug dispmanx +egl filters ffmpeg gles2 gles3 hid jack kms libass libusb materialui network openal +opengl oss +ozone pipewire pulseaudio +rgui sdl +truetype +threads udev v4l2 videocore vulkan wayland X xinerama xmb xv zlib"
REQUIRED_USE="
|| ( opengl sdl vulkan dispmanx )
|| ( materialui ozone rgui xmb )
alsa? ( threads )
arm? ( gles2? ( egl ) )
!arm? (
egl? ( opengl )
gles2? ( opengl )
)
cg? ( opengl )
dispmanx? ( videocore arm )
gles2? ( !cg )
gles3? ( gles2 )
kms? ( egl )
libass? ( ffmpeg )
libusb? ( hid )
videocore? ( arm )
vulkan? ( amd64 )
wayland? ( egl )
xinerama? ( X )
xv? ( X )
"
RDEPEND="
app-arch/xz-utils
x11-libs/libxkbcommon
x11-libs/libXScrnSaver
alsa? ( media-libs/alsa-lib )
cg? ( media-gfx/nvidia-cg-toolkit:0= )
arm? ( dispmanx? ( || ( media-libs/raspberrypi-userland:0 media-libs/raspberrypi-userland-bin:0 ) ) )
ffmpeg? ( >=media-video/ffmpeg-2.1.3:0= )
jack? ( virtual/jack:= )
libass? ( media-libs/libass:0= )
libusb? ( virtual/libusb:1= )
openal? ( media-libs/openal )
opengl? ( media-libs/libglvnd )
pulseaudio? ( media-libs/libpulse )
pipewire? ( media-video/pipewire:= )
sdl? ( media-libs/libsdl2[joystick] )
truetype? (
media-libs/fontconfig
media-libs/freetype:2
)
udev? ( virtual/udev
X? ( x11-drivers/xf86-input-evdev:0= )
)
v4l2? ( media-libs/libv4l:0= )
wayland? (
dev-libs/wayland
dev-libs/wayland-protocols
)
X? (
x11-libs/libX11
x11-libs/libXext
x11-libs/libXrandr
x11-libs/libXxf86vm
x11-libs/libxcb:=
)
xinerama? ( x11-libs/libXinerama:0= )
xv? ( x11-libs/libXv )
zlib? ( virtual/zlib:= )
"
DEPEND="${RDEPEND}"
BDEPEND="
virtual/pkgconfig
wayland? ( dev-util/wayland-scanner )
"
src_configure() {
if use cg; then
append-ldflags -L"${EPREFIX}/"opt/nvidia-cg-toolkit/$(get_libdir)
append-cflags -I"${EPREFIX}/"opt/nvidia-cg-toolkit/include
fi
# Absolute path of the directory containing Retroarch shared libraries.
export RETROARCH_LIB_DIR="${EPREFIX}/usr/$(get_libdir)/retroarch"
if use filters; then
# Replace stock defaults with Gentoo-specific defaults.
sed -i retroarch.cfg \
-e 's:# \(video_filter_dir =\):\1 "/'${RETROARCH_LIB_DIR}'/filters/video/":' \
-e 's:# \(audio_filter_dir =\):\1 "/'${RETROARCH_LIB_DIR}'/filters/audio/":' \
|| die '"sed" failed.'
fi
# Note that OpenVG support is hard-disabled. (See ${RDEPEND} above.)
CC="$(tc-getCC)" CXX="$(tc-getCXX)" ./configure \
--prefix="${EPREFIX}/usr" \
--docdir="${EPREFIX}/usr/share/doc/${PF}" \
--enable-dynamic \
--disable-builtinzlib \
--disable-qt \
--disable-sdl \
--disable-vg \
--disable-osmesa \
$(use_enable 7zip) \
$(use_enable alsa) \
$(use_enable cheevos) \
$(use_enable cg) \
$(use_enable cpu_flags_arm_neon neon) \
$(use_enable cpu_flags_arm_vfp floathard) \
$(use_enable cpu_flags_x86_sse2 sse) \
$(use_enable dispmanx) \
$(use_enable egl) \
$(use_enable ffmpeg) \
$(use_enable gles2 opengles) \
$(use_enable gles3 opengles3) \
$(use_enable hid) \
$(use_enable jack) \
$(use_enable kms) \
$(use_enable libass ssa) \
$(use_enable libusb) \
$(use_enable materialui) \
$(use_enable network networking) \
$(use_enable openal al) \
$(use_enable opengl) \
$(use_enable oss) \
$(use_enable ozone) \
$(use_enable pulseaudio pulse) \
$(use_enable pipewire) \
$(use_enable rgui) \
$(use_enable sdl sdl2) \
$(use_enable threads) \
$(use_enable truetype freetype) \
$(use_enable udev) \
$(use_enable v4l2) \
$(use_enable videocore) \
$(use_enable vulkan) \
$(use_enable wayland) \
$(use_enable X x11) \
$(use_enable xinerama) \
$(use_enable xmb) \
$(use_enable xv xvideo) \
$(use_enable zlib) \
|| die
}
src_compile() {
emake V=1 $(usex debug "DEBUG=1" "")
if use filters; then
emake CC="$(tc-getCC)" $(usex debug "build=debug" "build=release") -C gfx/video_filters/
emake CC="$(tc-getCC)" $(usex debug "build=debug" "build=release") -C libretro-common/audio/dsp_filters/
fi
}
src_install() {
# Install core files and directories.
emake DESTDIR="${D}" install
# Install documentation.
dodoc README.md
if use filters; then
# Install video filters.
insinto ${RETROARCH_LIB_DIR}/filters/video/
doins "${S}"/gfx/video_filters/*.so
doins "${S}"/gfx/video_filters/*.filt
# Install audio filters.
insinto ${RETROARCH_LIB_DIR}/filters/audio/
doins "${S}"/libretro-common/audio/dsp_filters/*.dsp
fi
}
pkg_postinst() {
if use oss; then
ewarn ""
ewarn "OSS support is enabled, however it is not installed as a dependency."
ewarn "Make sure you have OSS installed in your system."
ewarn ""
fi
}