Install this version:
emerge -a =games-engines/uzdoom-5.0.3
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =games-engines/uzdoom-5.0.3
Or alternatively:
emerge --autounmask-write -a =games-engines/uzdoom-5.0.3
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake flag-o-matic xdg
MY_PN="UZDoom"
DESCRIPTION="Modder-friendly hardware-accelerated source port of the DOOM engine"
HOMEPAGE="https://zdoom.org"
SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="Apache-2.0 BSD BZIP2 GPL-3 LGPL-2.1+ LGPL-3 MIT
non-free? ( Activision ChexQuest3 DOOM-COLLECTORS-EDITION freedist WidePix )"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~ppc64"
IUSE="alsa debug gles2 mpg123 +non-free openmp +sndfile +swr telemetry vulkan"
DEPEND="
app-arch/bzip2:=
media-libs/libsdl2[gles2?,joystick,opengl,video,vulkan?]
media-libs/libvpx:=
media-libs/libwebp:=
media-libs/openal
alsa? ( media-libs/alsa-lib )
mpg123? ( media-sound/mpg123 )
sndfile? ( media-libs/libsndfile[-minimal] )
"
RDEPEND="
${DEPEND}
!games-fps/gzdoom
"
BDEPEND="
virtual/pkgconfig
"
src_prepare() {
# The bundled cppdap is heavily modified.
rm -r docs/licenses libraries/{bzip2,webp} || die
# These trigger CMake QA warnings but are unused.
rm -v libraries/cppdap/third_party/json/CMakeLists.txt \
libraries/ZMusic/thirdparty/dumb/cmake/CMakeLists.txt || die
cmake_src_prepare
cat <<-EOF > "${S}/src/gitinfo.h" || die
// 0
// The above line prevents UpdateRevision.cmake from replacing this file.
// This file was generated by the Gentoo ebuild.
#define GIT_DESCRIPTION "${PV}"
#define GIT_TAG "0"
#define GIT_DISTANCE 0
#define GIT_HASH "0"
#define GIT_TIME ""
EOF
}
src_configure() {
# https://bugs.gentoo.org/858749
filter-lto
append-flags -fno-strict-aliasing
local mycmakeargs=(
-DBUILD_NONFREE=$(usex non-free)
-DDYN_OPENAL=OFF
-DFORCE_INTERNAL_WEBP=OFF
-DFORCE_NO_LTO=ON
-DHAVE_GLES2=$(usex gles2)
-DHAVE_VULKAN=$(usex vulkan)
-DINSTALL_DOCS_PATH="${EPREFIX}/usr/share/doc/${PF}"
-DINSTALL_PK3_PATH="${EPREFIX}/usr/share/doom"
-DINSTALL_SOUNDFONT_PATH="${EPREFIX}/usr/share/doom"
-DNO_OPENAL=OFF
-DNO_OPENMP=$(usex !openmp)
-DSEND_ANON_STATS=$(usex telemetry)
-DZDOOM_ENABLE_SWR=$(usex swr)
-DCMAKE_DISABLE_FIND_PACKAGE_ALSA="$(usex !alsa)"
-DCMAKE_DISABLE_FIND_PACKAGE_MPG123="$(usex !mpg123)"
-DCMAKE_DISABLE_FIND_PACKAGE_SndFile="$(usex !sndfile)"
-DDYN_MPG123=OFF
-DDYN_SNDFILE=OFF
)
use debug || append-cppflags -DNDEBUG
cmake_src_configure
}
pkg_postinst() {
xdg_pkg_postinst
if ! use non-free ; then
ewarn
ewarn "${MY_PN} has been installed without non-free components. Commercial"
ewarn "games should still run, but the experience may be suboptimal."
ewarn
fi
}
Manage flags for this package:
euse -i <flag> -p games-engines/uzdoom |
euse -E <flag> -p games-engines/uzdoom |
euse -D <flag> -p games-engines/uzdoom
app-arch/bzip2:= media-libs/libsdl2[gles2?,joystick,opengl,video,vulkan?] media-libs/libvpx:= media-libs/libwebp:= media-libs/openal alsa? ( media-libs/alsa-lib ) mpg123? ( media-sound/mpg123 ) sndfile? ( media-libs/libsndfile[-minimal] )
app-arch/bzip2:= media-libs/libsdl2[gles2?,joystick,opengl,video,vulkan?] media-libs/libvpx:= media-libs/libwebp:= media-libs/openal alsa? ( media-libs/alsa-lib ) mpg123? ( media-sound/mpg123 ) sndfile? ( media-libs/libsndfile[-minimal] ) !games-fps/gzdoom
virtual/pkgconfig
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | uzdoom-5.0.3.tar.gz | 53230885 bytes | https://github.com/UZDoom/UZDoom/archive/refs/tags/5.0.3.tar.gz |