diff --git a/games-emulation/np2kai/metadata.xml b/games-emulation/np2kai/metadata.xml index c8c54e1d06..7dcbc88584 100644 --- a/games-emulation/np2kai/metadata.xml +++ b/games-emulation/np2kai/metadata.xml @@ -11,12 +11,11 @@ It is based on Neko project II. - - Use media-libs/libsdl over media-libs/libsdl2 - + Use media-libs/libsdl + Use media-libs/libsdl2 - Enable i286 emulation. - USE="ia32" or USE="haxm" will disable it, + Enable i286 emulation + USE="ia32" or USE="haxm" will disable it, unless all 3 emulation USE flags are set Enable ia32 emulation diff --git a/games-emulation/np2kai/np2kai-22.ebuild b/games-emulation/np2kai/np2kai-22.ebuild index 22a7116ff9..035962b57a 100644 --- a/games-emulation/np2kai/np2kai-22.ebuild +++ b/games-emulation/np2kai/np2kai-22.ebuild @@ -3,66 +3,76 @@ EAPI=7 -DESCRIPTION="NP2kai is an emulator for the japanese PC-98 series of computers." +DESCRIPTION="NP2kai is an emulator for the japanese PC-98 series of computers" HOMEPAGE="https://domisan.sakura.ne.jp/article/np2kai/np2kai.html" SRC_URI="https://github.com/AZO234/NP2kai/archive/refs/tags/rev.${PV}.tar.gz -> ${P}.tar.gz" +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="sdl +sdl2 +i286 ia32 haxm" +REQUIRED_USE="^^ ( sdl sdl2 )" + +# Configure crashes if sdl AND sdl2 are not present, even if the options are off +# It also requires sdl2-ttf even when building for sdl +# TODO: test musl +# TODO: migrate from gtk2 to gtk3 +DEPEND="media-libs/libsdl + media-libs/libsdl2 + sdl? ( + media-libs/sdl-mixer + media-libs/sdl-ttf + ) + sdl2? ( + media-libs/sdl2-mixer + ) + media-libs/sdl2-ttf + virtual/libusb:1 + x11-base/xorg-server + x11-libs/gtk+:2" +RDEPEND="${DEPEND}" +BDEPEND="sys-devel/automake" + +S="${WORKDIR}/NP2kai-rev.${PV}/x11" + PATCHES=( "${FILESDIR}/${P}-autogen.patch" ) -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64" - -IUSE="sdl +i286 ia32 haxm" - -# Configure crashes if sdl AND sdl2 are not present, even if the options are off -# It also requires sdl2-ttf even when building for sdl -DEPEND="sys-libs/glibc - media-libs/libsdl - sdl? ( media-libs/sdl-mixer ) - sdl? ( media-libs/sdl-ttf ) - media-libs/libsdl2 - !sdl? ( media-libs/sdl2-mixer ) - media-libs/sdl2-ttf - virtual/libusb:1 - x11-base/xorg-server - x11-libs/gtk+:2" - -RDEPEND="${DEPEND}" -BDEPEND="sys-devel/gcc - sys-devel/automake - dev-util/cmake" - -S=${WORKDIR}/NP2kai-rev.${PV}/x11 - +# TODO: add a die statement to autogen src_configure() { bash "${S}/autogen.sh" - sdlconf=$(usex sdl "--enable-sdl --enable-sdlmixer --enable-sdlttf - --disable-sdl2 --disable-sdl2mixer --disable-sdl2ttf" \ - "--enable-sdl2 --enable-sdl2mixer --enable-sdl2ttf - --disable-sdl --disable-sdlmixer --disable-sdlttf" ) - features=$( if use i286 && use ia32 && use haxm ; \ - then echo --enable-build-all ; \ - else echo $(use_enable ia32) $(use_enable haxm) ; \ - fi ) - econf ${sdlconf} ${features} + if use i286 && use ia32 && use haxm ; then + features=("--enable-build-all") + else + features=($(use_enable ia32) $(use_enable haxm)) + fi + local myeconfargs=( + $(use_enable sdl) + $(use_enable sdl sdlmixer) + $(use_enable sdl sdlttf) + $(use_enable sdl2) + $(use_enable sdl2 sdl2mixer) + $(use_enable sdl2 sdl2ttf) + ) + econf "${myeconfargs[@]}" "${features}" } pkg_postinst() { - if [ "${features}" = "--enable-build-all" ] ; then - cfgname="{xnp2kai, xnp21kai}" - elif ! use ia32 && ! use haxm ; then - cfgname="xnp2kai" - else - cfgname="xnp21kai" + if [[ -z ${REPLACING_VERSIONS} ]] ; then + if [ use i286 && use ia32 && use haxm ] ; then + cfgname="{xnp2kai, xnp21kai}" + elif [ ! use ia32 && ! use haxm ] ; then + cfgname="xnp2kai" + else + cfgname="xnp21kai" + fi + + elog "Japanese fonts are needed to use the emulator." + elog "Please run the following command to configure them:" + elog "mkdir -p ~/.config/${cfgname} && ln -s /path/to/font.ttf ~/.config/${cfgname}/default.ttf && rm ~/.config/${cfgname}/font.tmp" + + elog "Neko project 2 requires a BIOS dump to work." + elog "Please dump the BIOS from your device and put the files under ~/.config/${cfgname}" fi - - elog "Japanese fonts are needed to use the emulator." - elog "Please run the following command to configure them:" - elog "mkdir -p ~/.config/${cfgname} && ln -s /path/to/font.ttf ~/.config/${cfgname}/default.ttf && rm ~/.config/${cfgname}/font.tmp" - - elog "Neko project 2 requires a BIOS dump to work." - elog "Please dump the BIOS from your device and put the files under ~/.config/${cfgname}" }