aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games-emulation/np2kai/metadata.xml9
-rw-r--r--games-emulation/np2kai/np2kai-22.ebuild86
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
}