stepmania-5.0.12jm-overlay
download
# Copyright 1999-2025 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake desktop
FFMPEG_VER="2.1.3" # From CMake/SetupFfmpeg.cmake
DESCRIPTION="Advanced rhythm game, designed for both home and arcade use"
HOMEPAGE="http://www.stepmania.com/"
SRC_URI="https://github.com/stepmania/stepmania/archive/v${PV}.tar.gz -> ${P}.tar.gz
ffmpeg? ( https://ffmpeg.org/releases/ffmpeg-${FFMPEG_VER}.tar.bz2 )"
LICENSE="MIT default-songs? ( CC-BY-NC-4.0 )"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="doc +default-songs alsa oss pulseaudio jack +ffmpeg gles2 +gtk +mp3 +ogg +jpeg networking wav parport crash-handler cpu_flags_x86_sse2"
REQUIRED_USE="|| ( alsa oss pulseaudio jack )"
RDEPEND="virtual/opengl
app-arch/bzip2
sys-libs/zlib
x11-libs/libSM
x11-libs/libICE
x11-libs/libX11
x11-libs/libXext
x11-libs/libXrandr
dev-libs/libpcre
media-libs/libva
alsa? ( media-libs/alsa-lib )
pulseaudio? ( media-sound/pulseaudio )
jack? ( media-sound/jack-audio-connection-kit )
gtk? (
x11-libs/gtk+:2
dev-libs/glib:2
x11-libs/gdk-pixbuf:2
x11-libs/cairo
x11-libs/pango
)
mp3? ( media-libs/libmad )
ogg? (
media-libs/libvorbis
media-libs/libogg
)"
DEPEND="${RDEPEND}
doc? ( app-text/doxygen )"
CMAKE_MAKEFILE_GENERATOR=emake
src_unpack() {
default
if use ffmpeg; then
mv "${WORKDIR}/ffmpeg-${FFMPEG_VER}" "${S}/extern/ffmpeg-linux-${FFMPEG_VER}" || die
fi
}
src_prepare() {
eapply "${FILESDIR}/stepmania-select-audio-backends.patch"
eapply_user
cmake_src_prepare
}
src_configure() {
# Minimaid tries to use pre-built static libraries (x86 only, often fails to link)
# TTY input fails to compile
local mycmakeargs=(
-DCMAKE_INSTALL_PREFIX=/opt
-DWITH_CRASH_HANDLER="$(usex crash-handler)"
-DWITH_ALSA="$(usex alsa)"
-DWITH_PULSEAUDIO="$(usex pulseaudio)"
-DWITH_JACK="$(usex jack)"
-DWITH_OSS="$(usex oss)"
-DWITH_FFMPEG="$(usex ffmpeg)"
-DWITH_SYSTEM_FFMPEG=OFF
-DWITH_GLES2="$(usex gles2)"
-DWITH_GTK2="$(usex gtk)"
-DWITH_MP3="$(usex mp3)"
-DWITH_OGG="$(usex ogg)"
-DWITH_WAV="$(usex wav)"
-DWITH_JPEG="$(usex jpeg)"
-DWITH_PARALLEL_PORT="$(usex parport)"
-DWITH_NETWORKING="$(usex networking)"
-DWITH_SSE2="$(usex cpu_flags_x86_sse2)"
-DWITH_TTY="NO"
-DWITH_LTO="NO"
-DWITH_FULL_RELEASE="NO"
-DWITH_MINIMAID="NO"
-DWITH_GPL_LIBS="YES"
-DWITH_PROFILING="NO"
-DWITH_PORTABLE_TOMCRYPT="YES"
)
cmake_src_configure
}
src_compile() {
cmake_src_compile
if use doc; then
cd Docs || die
doxygen || die
fi
}
src_install() {
cmake_src_install
mv "${ED}/opt/${PN}-$(ver_cut 1-2)" "${ED}/opt/${PN}" || die
rm -r "${ED}/opt/${PN}/Docs" || die
if ! use default-songs; then
rm -r "${ED}/opt/${PN}/Songs/StepMania 5" || die
fi
make_wrapper "${PN}" "${EROOT}opt/${PN}/${PN}"
newicon "Themes/default/Graphics/ScreenTitleMenu logo/_arrow (dither).png" "${PN}.png"
make_desktop_entry "${PN}" "Stepmania" "${PN}"
cd Docs || die
dodoc Changelog_* CommandLineArgs.txt credits.txt KnownIssues.txt Mapping_keys_for_edit_mode.txt old_changelog.txt versioning.txt Userdocs/*
use doc && dodoc -r CourseFormat.txt CustomMissionReference.txt Devdocs Luadoc SimfileFormats Themerdocs
use doc && dodoc -r doxygen/html
}