# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 PYTHON_COMPAT=( python3_{9..11} ) inherit cmake python-single-r1 xdg DESCRIPTION="Atari ST emulator" HOMEPAGE="https://hatari.tuxfamily.org/" SRC_URI="https://download.tuxfamily.org/hatari/${PV}/${P}.tar.bz2" LICENSE="GPL-2+" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="X capsimage gui png portmidi readline udev zlib" REQUIRED_USE=" ${PYTHON_REQUIRED_USE} png? ( zlib )" COMMON_DEPEND=" media-libs/libsdl2[X?,joystick,sound,video] X? ( x11-libs/libX11 ) capsimage? ( >=dev-libs/spsdeclib-5.1-r1 ) 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-1.1.1" DEPEND=" ${COMMON_DEPEND} X? ( x11-base/xorg-proto )" BDEPEND="${PYTHON_DEPS}" PATCHES=( "${FILESDIR}"/${PN}-2.3.1-caps5-include-path.patch "${FILESDIR}"/${PN}-2.3.1-cmake-include-checksym.patch # backport upstream patch for -Werror=lto-type-mismatch "${FILESDIR}"/adccd68b16eff815590c1ec993354ef8e752ecfd.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 } src_configure() { local mycmakeargs=( -DBUILD_SHARED_LIBS=OFF -DDOCDIR="${EPREFIX}"/usr/share/doc/${PF}/html -DETCDIR="${EPREFIX}"/etc $(cmake_use_find_package X X11) $(cmake_use_find_package capsimage CapsImage) $(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) $(usev !gui -DPYTHON_EXECUTABLE=false) # only disables python-ui/ ) 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 }