dosbox-staging-0.83.0.ebuild
Загрузить (2,44 КБ)
# Copyright 2020-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake xdg
# Nuked SC-55 CLAP audio plugin
SC55PV=0.11.0
SC55_S="${WORKDIR}/Nuked-SC55-CLAP-${SC55PV}"
SC55_BUILD_DIR="${SC55_S}_build"
DESCRIPTION="Modernized DOSBox soft-fork"
HOMEPAGE="https://dosbox-staging.github.io/"
SRC_URI="https://github.com/dosbox-staging/dosbox-staging/archive/v${PV}.tar.gz -> ${P}.tar.gz
sc55? (
https://github.com/johnnovak/Nuked-SC55-CLAP/archive/refs/tags/v${SC55PV}.tar.gz
-> Nuked-SC55-CLAP-${SC55PV}.tar.gz
)"
LICENSE="GPL-2+ sc55? ( XMAME )"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE="debug dynrec mt-32 opengl +sc55 slirp test"
RESTRICT="!test? ( test )"
RDEPEND="debug? ( sys-libs/ncurses:0= )
mt-32? ( media-libs/munt-mt32emu )
opengl? ( virtual/opengl )
slirp? ( net-libs/libslirp )
dev-cpp/asio
media-libs/alsa-lib
media-libs/iir1
media-libs/libpng:0=
media-libs/libsdl2[alsa,joystick,opengl?,sound,video,X]
media-libs/opusfile
media-libs/sdl2-image
media-libs/speexdsp
media-sound/fluid-soundfont
media-sound/fluidsynth
virtual/zlib:=
sys-libs/zlib-ng:=
!games-emulation/dosbox"
DEPEND="${RDEPEND}"
BDEPEND="test? ( dev-cpp/gtest )
sc55? ( virtual/pkgconfig )"
PATCHES=( "${FILESDIR}"/${P}-optional_mt32.patch )
DOCS=( README.md docs/AUTHORS )
src_prepare() {
cmake_src_prepare
# We do not have default.sf2, use actual name from fluid-soundfont
sed -e "s/default.sf2/FluidR3_GM.sf2/" \
-i src/midi/fluidsynth.cpp || die
# Disable license install
# Fix install path
sed -e '/install(.*license/I,/)/d' \
-e 's#${RESOURCE_COPY_PATH}#\0/#' \
-i cmake/add_install_rules.cmake || die
use sc55 && CMAKE_USE_DIR="${SC55_S}" BUILD_DIR="${SC55_BUILD_DIR}" cmake_prepare
}
src_configure() {
if use sc55; then
CMAKE_USE_DIR="${SC55_S}" BUILD_DIR="${SC55_BUILD_DIR}" cmake_src_configure
fi
# alsa is needed already by libsdl2[alsa,sound]
# xinput2 comes with libsdl2[X]
local mycmakeargs=(
-DUSE_SYSTEM_LIBS=ON
-DOPT_XINPUT=ON
-DOPT_DEBUGGER=$(usex debug)
-DOPT_FORCE_DYNREC=$(usex dynrec)
-DOPT_MT32EMU=$(usex mt-32)
-DOPT_OPENGL=$(usex opengl)
-DOPT_TESTS=$(usex test)
)
cmake_src_configure
}
src_compile() {
use sc55 && CMAKE_USE_DIR="${SC55_S}" BUILD_DIR="${SC55_BUILD_DIR}" cmake_src_compile
cmake_src_compile
}
src_install() {
if use sc55; then
insinto /usr/share/dosbox-staging/plugins
doins "${SC55_BUILD_DIR}/Nuked-SC55.clap"
fi
cmake_src_install
}
| ||