# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit flag-o-matic toolchain-funcs readme.gentoo-r1 DESCRIPTION="Radio Shack TRS-80 emulator" HOMEPAGE="https://www.tim-mann.org/xtrs.html" SRC_URI="https://www.tim-mann.org/trs80/${P}.tar.gz ls-dos? ( https://www.tim-mann.org/trs80/ld4-631.zip https://dev.gentoo.org/~ulm/distfiles/ld4-631l.xd3 )" LICENSE="xtrs ls-dos? ( freedist )" SLOT="0" KEYWORDS="amd64 ppc x86" IUSE="ls-dos" RESTRICT="ls-dos? ( bindist )" RDEPEND="sys-libs/ncurses:0= sys-libs/readline:0= x11-libs/libX11" DEPEND="${RDEPEND} ls-dos? ( app-arch/unzip dev-util/xdelta:3 )" PATCHES=( "${FILESDIR}"/${P}-lcmod.patch "${FILESDIR}"/${P}-implicit.patch ) src_prepare() { default sed -i -e 's/$(CC) -o/$(CC) $(LDFLAGS) -o/' Makefile || die if use ls-dos; then cd "${WORKDIR}" || die xdelta3 -d -s ld4-631.dsk "${DISTDIR}"/ld4-631l.xd3 out.dsk || die mv out.dsk ld4-631.dsk || die fi } src_compile() { append-flags -std=gnu17 case $(tc-endian) in little) ;; big) append-flags -Dbig_endian ;; *) die ;; esac emake CC="$(tc-getCC)" DEBUG="${CFLAGS}" LDFLAGS="${LDFLAGS}" } src_install() { dodir /usr/bin /usr/share/xtrs/disks /usr/share/man/man1 emake PREFIX="${D}"/usr install insopts -m0444 insinto /usr/share/xtrs/disks doins cpmutil.dsk utility.dsk if use ls-dos; then doins "${WORKDIR}"/ld4-631.dsk dosym disks/ld4-631.dsk /usr/share/xtrs/disk4p-0 dosym disks/utility.dsk /usr/share/xtrs/disk4p-1 fi dodoc ChangeLog README xtrsrom4p.README cpmutil.html dskspec.html local DOC_CONTENTS="For copyright reasons, xtrs does not include actual ROM images. Because of this, unless you supply your own ROM, xtrs will not function in any mode except 'Model 4p' mode (a minimal free ROM is included for this), which can be run like this: \n\nxtrs -model 4p -diskdir /usr/share/xtrs \n\nIf you already own a copy of the ROM software (e.g., if you have a TRS-80 with this ROM), then you can make yourself a copy of this for use with xtrs, using utilities available on the web. To load your own ROM, specify the '-romfile' option, or the 'Xtrs.romfile' X resource. ROM files can be in Intel hex or binary format." readme.gentoo_create_doc } pkg_postinst() { readme.gentoo_print_elog }