diff options
-rw-r--r-- | games-emulation/np2kai/metadata.xml | 9 | ||||
-rw-r--r-- | games-emulation/np2kai/np2kai-22.ebuild | 86 |
2 files changed, 52 insertions, 43 deletions
diff --git a/games-emulation/np2kai/metadata.xml b/games-emulation/np2kai/metadata.xml index c8c54e1d0..7dcbc8858 100644 --- a/games-emulation/np2kai/metadata.xml +++ b/games-emulation/np2kai/metadata.xml @@ -11,12 +11,11 @@ It is based on Neko project II. </longdescription> <use> - <flag name="sdl"> - Use <pkg>media-libs/libsdl</pkg> over <pkg>media-libs/libsdl2</pkg> - </flag> + <flag name="sdl">Use <pkg>media-libs/libsdl</pkg></flag> + <flag name="sdl2">Use <pkg>media-libs/libsdl2</pkg></flag> <flag name="i286"> - 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 </flag> <flag name="ia32">Enable ia32 emulation</flag> diff --git a/games-emulation/np2kai/np2kai-22.ebuild b/games-emulation/np2kai/np2kai-22.ebuild index 22a7116ff..035962b57 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" -PATCHES=( - "${FILESDIR}/${P}-autogen.patch" -) - LICENSE="MIT" SLOT="0" KEYWORDS="~amd64" - -IUSE="sdl +i286 ia32 haxm" +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 -DEPEND="sys-libs/glibc - media-libs/libsdl - sdl? ( media-libs/sdl-mixer ) - sdl? ( media-libs/sdl-ttf ) +# TODO: test musl +# TODO: migrate from gtk2 to gtk3 +DEPEND="media-libs/libsdl media-libs/libsdl2 - !sdl? ( media-libs/sdl2-mixer ) + 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/gcc - sys-devel/automake - dev-util/cmake" +BDEPEND="sys-devel/automake" -S=${WORKDIR}/NP2kai-rev.${PV}/x11 +S="${WORKDIR}/NP2kai-rev.${PV}/x11" +PATCHES=( + "${FILESDIR}/${P}-autogen.patch" +) + +# 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" - fi + 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 "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}" + 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 } |