commit: c6871fe3b24e94f4c9f363dc9abedf0783ace9f9
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 27 20:17:13 2025 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Jun 27 20:20:41 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c6871fe3
games-emulation/hatari: add 2.6.0
"Seems" to work with py3.14, albeit only did limited runtime testing.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
games-emulation/hatari/Manifest | 1 +
games-emulation/hatari/hatari-2.6.0.ebuild | 113 +++++++++++++++++++++++++++++
2 files changed, 114 insertions(+)
diff --git a/games-emulation/hatari/Manifest b/games-emulation/hatari/Manifest
index 052aedb706f3..d1f0a137ca51 100644
--- a/games-emulation/hatari/Manifest
+++ b/games-emulation/hatari/Manifest
@@ -1 +1,2 @@
DIST hatari-2.5.0.tar.bz2 2820580 BLAKE2B
42d955db9a219632d39697041667c2f9ddbd2cc06472c7ca508a097a3dcd5681a73a1069a3a6e788eca79a9aae2ff1ce00288a09556c8bedd697bcd77256f653
SHA512
53c5d5164ccaba8abea2babfbca971995fe6bd4f796d418f01243d3d40ac43371ba04c20600c5117b3e7b7b9a36d092e15cd209cc08324d17a05a7ca8e93cd84
+DIST hatari-2.6.0.tar.bz2 2885028 BLAKE2B
fd11990bd277edb3b815b92bb6e980cab6a8ce391c2df18ae0c2518f97194764b076662f306aa9bb3adaeb1f6d3fa95a422c28428871d899d28d33993899097f
SHA512
fb7e26d19903ef35d86ef5ce9cc7ab4d01a5f65dfd91f22c7dee79a1a51d94a900d0cec14204790a3b1e68a7432897216b1d466f5953e7e8b23f39aeafd892e9
diff --git a/games-emulation/hatari/hatari-2.6.0.ebuild
b/games-emulation/hatari/hatari-2.6.0.ebuild
new file mode 100644
index 000000000000..37b5b76a573b
--- /dev/null
+++ b/games-emulation/hatari/hatari-2.6.0.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..14} )
+inherit cmake python-single-r1 xdg
+
+DESCRIPTION="Atari ST emulator"
+HOMEPAGE="
+ https://www.hatari-emu.org/
+ https://framagit.org/hatari/hatari/
+"
+SRC_URI="https://framagit.org/hatari/releases/-/raw/main/v$(ver_cut
1-2)/${P}.tar.bz2"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="X capsimage capstone gui png portmidi readline test udev zlib"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ png? ( zlib )
+"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ media-libs/libsdl2[X?,joystick,sound,video]
+ X? ( x11-libs/libX11 )
+ capsimage? ( dev-libs/spsdeclib )
+ capstone? ( dev-libs/capstone:= )
+ png? ( media-libs/libpng:= )
+ portmidi? ( media-libs/portmidi )
+ readline? ( sys-libs/readline:= )
+ udev? ( virtual/udev )
+ zlib? ( sys-libs/zlib:= )
+"
+RDEPEND="
+ ${PYTHON_DEPS}
+ ${COMMON_DEPEND}
+ gui? (
+ $(python_gen_cond_dep
'dev-python/pygobject:3[${PYTHON_USEDEP}]')
+ x11-libs/gtk+:3[introspection]
+ )
+ games-emulation/emutos
+"
+DEPEND="
+ ${COMMON_DEPEND}
+ X? ( x11-base/xorg-proto )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ test? ( virtual/imagemagick-tools[png] )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.3.1-caps5-include-path.patch
+)
+
+DOCS=(
+ readme.txt
+ doc/{bugs,changelog,scsi-driver,thanks,video-recording}.txt
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed -i "s/\.1\.gz\b/.1/;T;s/gzip[^\$]*/cat /" {*/,}*/CMakeLists.txt ||
die
+ sed -i "s:doc/${PN}:doc/${PF}/html:" python-ui/uihelpers.py || die
+ sed -e "s/python3/${EPYTHON}/" \
+ -e 's/mkdosfs/mkfs.fat/' \
+ -i tools/atari-hd-image.sh || die
+
+ # use emutos package rather than bundled ROM
+ rm src/tos.img || die
+ cat <<-EOF > hatari.cfg || die
+ [ROM]
+ szTosImageFileName = ${EPREFIX}/usr/share/emutos/etos1024k.img
+ EOF
+
+ # currently no switch to control building python-ui
+ use gui || cmake_comment_add_subdirectory python-ui
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=OFF
+ -DDOCDIR="${EPREFIX}"/usr/share/doc/${PF}/html
+ -DETCDIR="${EPREFIX}"/etc
+ -DPython_FIND_STRATEGY=LOCATION #959154
+ $(cmake_use_find_package X X11)
+ $(cmake_use_find_package capsimage CapsImage)
+ $(cmake_use_find_package capstone Capstone)
+ $(cmake_use_find_package png PNG)
+ $(cmake_use_find_package portmidi PortMidi)
+ $(cmake_use_find_package readline Readline)
+ $(cmake_use_find_package udev Udev)
+ $(cmake_use_find_package zlib ZLIB)
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ insinto /etc
+ doins hatari.cfg
+
+ mv -- "${ED}"/usr/share/doc/${PF}/{html/*.txt,} || die
+
+ python_fix_shebang "${ED}"/usr/bin
+ use gui && python_fix_shebang "${ED}"/usr/share/${PN}/${PN}ui
+}