summaryrefslogtreecommitdiff
path: root/app-emulation/xtrs
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-10-07 13:23:59 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-10-07 13:23:59 +0100
commit27a61babf89122aeb64d52f4ea8f6f068b928da4 (patch)
tree56cc72dcfb76f622af8103ed350c61f432d5f686 /app-emulation/xtrs
parentbbdc49d5ccd04563006a608c87c870413f75057e (diff)
gentoo auto-resync : 07:10:2022 - 13:23:59
Diffstat (limited to 'app-emulation/xtrs')
-rw-r--r--app-emulation/xtrs/Manifest2
-rw-r--r--app-emulation/xtrs/files/xtrs-4.9d-implicit.patch35
-rw-r--r--app-emulation/xtrs/xtrs-4.9d-r6.ebuild83
3 files changed, 120 insertions, 0 deletions
diff --git a/app-emulation/xtrs/Manifest b/app-emulation/xtrs/Manifest
index 733978db2482..7e2295fa6433 100644
--- a/app-emulation/xtrs/Manifest
+++ b/app-emulation/xtrs/Manifest
@@ -1,6 +1,8 @@
+AUX xtrs-4.9d-implicit.patch 698 BLAKE2B f440e3c823d1b10594e6d77f9944ce0314af0a6d7ca726fa464218ef3d1a98b602d58ff484ecdecf8a71f47d5ffa9d44a3f9980eb49a81c79b23ec65afade45d SHA512 2e4cd05062667ff781c14463a48afd7526010a45c7a63a5768ecca1ec575a29059c54b4511450635304d330a094c4d4d9ab6fbade11e9c05febf6e651a83b9bf
AUX xtrs-4.9d-lcmod.patch 3717 BLAKE2B 1172d6bd65ab10f983cd7793157a45505e16d6300e3d2a7253beb2a9983887ea3ef7a97bc05327ed18f54c2016e64461da5d1887ebd5d0952800ed6510a3d246 SHA512 5ea5381333562328ad9c47931c10ea1596eb9e4812f73db9c986baa61df8020332a2ee5925c3ec6e03598a7a581ae741ae5740f5aaee3da5aa38b48c0062f0dc
DIST ld4-631.zip 106955 BLAKE2B 1c0e04186f14fcc840568521b09c7b55318a87dc49e394d516aa742fe7e5c499ac79771782f9b7ee687cdf55df159cef09897d19976879d4c60fff2a33f7f7c6 SHA512 8c6a24bc0af9326b5b935d7cdb1932b4cb714ab336167fed36f4f6d976cd80fe1d4d6a76e6374366fdc3fce623b2bdd6f9059a964bd6d29f59d6a052a1924c4a
DIST ld4-631l.xd3 692 BLAKE2B 7870135e999cd358d7a3e5c254908757fa059a61654403ba146b8b866bda450b53fd1821dd3e3f8fc5c0acd17d0935d83b5df814c8e12eb5748bfcdf5688c509 SHA512 401d36fdfbceaf90673c5e9f821d26aa0a58b901d7e950d34361e5cde3252a070ff902019fcc1eb820fb1b2d3277e4c1da57ccc442ee407b0be4e5ca26dc2d13
DIST xtrs-4.9d.tar.gz 455355 BLAKE2B b7ffda48f9a9bb534e33711b85c02734b7d3f8cee8d3cf2c2bc0a801954dcc1851b12451da03a14a7196368a9066cbaea953e871e8b68b4951f7439412e9e34e SHA512 5d6a2e1d4c2f2df63eaec8d015ea9e485615d82b7923af5c03c394862a31b1e6be2329aca18c0fa0c7d6b984164bb9b4d18f94a3d8cd140a683c5197ddff2249
EBUILD xtrs-4.9d-r5.ebuild 2265 BLAKE2B 01bd54df7e249888f978685334a91b7e6aedb6d5cdaa9072d9bab7a52fc92f684c15490cf873ffbd4d3748a4f31ca0d79090113bc9b546838f0e1b84f79718c6 SHA512 6645283559e7f820ad17bd1b13daac7deda694c6c3e321d6dd9b05190b0596990e7b4f30e19cb3e0ec0413d20852f709bc8ec57714a16b55beeeea67afe4cddd
+EBUILD xtrs-4.9d-r6.ebuild 2312 BLAKE2B 0c7c2fc97578078b2b5215919620afb4240202233607657696f43bc191cfe72e572da55348c80ba5e26316e39ec04f912ec18b244e23a2ca3d739a0dd6c12eae SHA512 345fd897ac9a19e8a94790c1434a33c7e874e6c38fccc7af0ec41bd220e4d7600eeb6824617c8b14d1f75bdb0f14d386b40789f072d9168517cb70e3e1f6f167
MISC metadata.xml 1107 BLAKE2B 1321f05644192e864d4225e0a3da21e089765d4efe624d7ca962de3e8ca0a5acbb5276dab0e20d0763bda4d7c527c1ab5c101e39a3c88081f430e067df8b9e96 SHA512 5e423972fa4907f2bab1ac561ee2a3cf2f55882ae10e2bf4382120a210400dda51ce7aa49421124f837ddea5520563fda747c2e51aa6abf8aabd6d7eb22cced7
diff --git a/app-emulation/xtrs/files/xtrs-4.9d-implicit.patch b/app-emulation/xtrs/files/xtrs-4.9d-implicit.patch
new file mode 100644
index 000000000000..959c3fb375a7
--- /dev/null
+++ b/app-emulation/xtrs/files/xtrs-4.9d-implicit.patch
@@ -0,0 +1,35 @@
+https://bugs.gentoo.org/875674
+
+--- xtrs-4.9d/trs_disk.c
++++ xtrs-4.9d/trs_disk.c
+@@ -3137,7 +3137,7 @@
+ }
+
+ void
+-real_restore(curdrive)
++real_restore(int curdrive)
+ {
+ #if __linux
+ DiskState *d = &disk[curdrive];
+--- xtrs-4.9d/trs_memory.c
++++ xtrs-4.9d/trs_memory.c
+@@ -153,7 +153,7 @@
+ memory_map = which + (trs_model << 4) + (romin << 2);
+ }
+
+-void mem_romin(state)
++void mem_romin(int state)
+ {
+ romin = (state & 1);
+ memory_map = (memory_map & ~4) + (romin << 2);
+--- xtrs-4.9d/trs_printer.c
++++ xtrs-4.9d/trs_printer.c
+@@ -18,7 +18,7 @@
+ #include "z80.h"
+ #include "trs.h"
+
+-void trs_printer_write(value)
++void trs_printer_write(int value)
+ {
+ if(value == 0x0D)
+ {
diff --git a/app-emulation/xtrs/xtrs-4.9d-r6.ebuild b/app-emulation/xtrs/xtrs-4.9d-r6.ebuild
new file mode 100644
index 000000000000..21cc748c8465
--- /dev/null
+++ b/app-emulation/xtrs/xtrs-4.9d-r6.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2022 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() {
+ 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
+}