aboutsummaryrefslogtreecommitdiffstats
path: root/emulators/stonx
diff options
context:
space:
mode:
authordinoex <dinoex@FreeBSD.org>2010-12-21 13:32:39 +0800
committerdinoex <dinoex@FreeBSD.org>2010-12-21 13:32:39 +0800
commit572644de240b8bbfb1761117a32e43326599cc74 (patch)
treecaaeeb2e18ac150dcfde2047a2221372d527f440 /emulators/stonx
parent9170dae15a83ea106ba0f27fa027dfbbe704aca2 (diff)
downloadfreebsd-ports-gnome-572644de240b8bbfb1761117a32e43326599cc74.tar.gz
freebsd-ports-gnome-572644de240b8bbfb1761117a32e43326599cc74.tar.zst
freebsd-ports-gnome-572644de240b8bbfb1761117a32e43326599cc74.zip
- update to 0.6.7.6
- update MASTER_SITES - install in standard path - wrapper script removed - enable audio support - reset MAINTAINER after 4 weeks PR: 152393 Approved by: (maintainer timeout)
Diffstat (limited to 'emulators/stonx')
-rw-r--r--emulators/stonx/Makefile48
-rw-r--r--emulators/stonx/distinfo8
-rw-r--r--emulators/stonx/files/patch-aa24
-rw-r--r--emulators/stonx/files/patch-audio.c17
-rw-r--r--emulators/stonx/files/patch-configure33
-rw-r--r--emulators/stonx/files/patch-di_dis.c242
-rw-r--r--emulators/stonx/files/patch-mint_stonxfs_fs.c11
-rw-r--r--emulators/stonx/pkg-plist44
8 files changed, 340 insertions, 87 deletions
diff --git a/emulators/stonx/Makefile b/emulators/stonx/Makefile
index 0527844cfe90..637059ea21f4 100644
--- a/emulators/stonx/Makefile
+++ b/emulators/stonx/Makefile
@@ -6,11 +6,10 @@
#
PORTNAME= stonx
-PORTVERSION= 0.6.7e
-PORTREVISION= 1
+PORTVERSION= 0.6.7e.6
CATEGORIES= emulators
-MASTER_SITES= ftp://ftp.complang.tuwien.ac.at/pub/nino/stonx-current/
-DISTNAME= STonX-0.6.7-epsilon
+MASTER_SITES= SF/stonx/stonx/0.6.7.6
+DISTNAME= STonX-0.6.7.6
MAINTAINER= treif@mayn.de
COMMENT= AtariST emulator
@@ -36,50 +35,37 @@ pre-build:
# Installing
#
BINDIR= ${PREFIX}/bin
-LIBDIR= ${PREFIX}/lib/X11/STonX
FNTDIR= ${PREFIX}/lib/X11/fonts/misc
-DATA= tos.img cartridge.img Keysyms Keysyms.G atari/FLOPPY-4MB \
- atari/bench1.pas atari/bench1.prg atari/final.tos
-DOCS= ../COPYING DEBUGGING FONTS INSTALL PROGRAMS README RELEASE_NOTES \
+DATA= atari/bench1.pas atari/bench1.prg
+ETCFILES= keysyms-alternative keysyms-german keysyms-spanish
+DOCS= ../COPYING AUTHORS DEBUGGING INSTALL README RELEASE_NOTES \
TOS-VERSIONS
FONTS= System0-iso.pcf System0.pcf System1-iso.pcf System1.pcf \
System2-iso.pcf System2.pcf
-pre-install:
- @${ECHO_MSG} "#!/bin/sh" > ${WRKSRC}/stonx.script
- @${ECHO_MSG} "cd ${LIBDIR}" >> ${WRKSRC}/stonx.script
- @${ECHO_MSG} "${BINDIR}/stonx.bin -noaudio \
- -disk A:FLOPPY-4MB -fs C:." >> ${WRKSRC}/stonx.script
-
-do-install:
- @${ECHO_MSG} "===> Installing programs"
- ${INSTALL_SCRIPT} ${WRKSRC}/stonx.script ${BINDIR}/stonx
- ${INSTALL_PROGRAM} ${WRKSRC}/stonx ${BINDIR}/stonx.bin
-
- @${ECHO_MSG} "===> Installing data"
- @${MKDIR} ${LIBDIR}
-.for f in ${DATA}
- ${INSTALL_DATA} ${WRKSRC}/$f ${LIBDIR}
+post-install:
+.for f in ${ETCFILES}
+ ${INSTALL_DATA} ${WRKSRC}/etc/$f ${ETCDIR}/
.endfor
-
@${ECHO_MSG} "===> Installing fonts"
.for f in ${FONTS}
- ${INSTALL_DATA} ${WRKSRC}/data/$f ${FNTDIR}
+ ${INSTALL_DATA} ${WRKSRC}/data/$f ${FNTDIR}/
@${GZIP_CMD} ${FNTDIR}/$f
.endfor
@mkfontdir ${FNTDIR}
-
.if !defined(NOPORTDOCS)
@${ECHO_MSG} "===> Installing docs"
- @${MKDIR} ${LIBDIR}/docs
+ @${MKDIR} ${DOCSDIR}
.for f in ${DOCS}
- ${INSTALL_DATA} ${WRKSRC}/docs/$f ${LIBDIR}/docs
+ ${INSTALL_DATA} ${WRKSRC}/docs/$f ${DOCSDIR}/
+.endfor
+ @${MKDIR} ${EXAMPLESDIR}
+.for f in ${DATA}
+ ${INSTALL_DATA} ${WRKSRC}/$f ${EXAMPLESDIR}/
.endfor
.endif
-
.if (defined(DISPLAY) && ${DISPLAY} != "")
-post-install:
@xset fp+ ${FNTDIR}
@xset fp rehash
.endif
@@ -88,7 +74,7 @@ post-install:
.if !exists(${DISTDIR}/${TOSIMG})
IGNORE="Please get a ROM dump from your AtariST and save it as"\
-"\"${TOSIMG}\" in \"${DISTDIR}\" manually, and then make install again"
+"\"${TOSIMG}\" in \"${DISTDIR}\" manually, and then make again"
.endif
BUILD_DEPENDS+= ${LOCALBASE}/lib/X11/fonts/misc/10x20-ISO8859-1.pcf.gz:${PORTSDIR}/x11-fonts/font-misc-misc
diff --git a/emulators/stonx/distinfo b/emulators/stonx/distinfo
index 13ee1d672279..f9c0172f1fd3 100644
--- a/emulators/stonx/distinfo
+++ b/emulators/stonx/distinfo
@@ -1,5 +1,3 @@
-MD5 (STonX-0.6.7-epsilon.tar.gz) = c8a5a3bbf6a7c13c1c1e6176c6e6d93a
-SHA256 (STonX-0.6.7-epsilon.tar.gz) = 814b0a3978c4dc1b233ca5696e6979adc4a84a19d43a7a26eb8e3f469db773b6
-SIZE (STonX-0.6.7-epsilon.tar.gz) = 192149
-MD5 (tos.img) = IGNORE
-SHA256 (tos.img) = IGNORE
+MD5 (STonX-0.6.7.6.tar.gz) = 77f356c428666b31318190b2d28a049a
+SHA256 (STonX-0.6.7.6.tar.gz) = 664df47df3be34be852dff24d4a43f507bf0a1d4d137e8016128a23486aafbd8
+SIZE (STonX-0.6.7.6.tar.gz) = 379738
diff --git a/emulators/stonx/files/patch-aa b/emulators/stonx/files/patch-aa
deleted file mode 100644
index fa6320cbf10b..000000000000
--- a/emulators/stonx/files/patch-aa
+++ /dev/null
@@ -1,24 +0,0 @@
---- Makefile.in.orig 1997-05-24 22:49:30.000000000 +0200
-+++ Makefile.in 2010-01-22 10:38:08.000000000 +0100
-@@ -28,7 +28,7 @@
- #XLIBS=@X_LIBS@ -lvgagl -lvga
- #SFLAGS=-DUSE_SVGALIB
-
--STONXDIR=/usr/local/lib/STonX
-+STONXDIR=${PREFIX}/lib/X11/STonX
- DEF= @def@ -DINLINE=@inline@ -DSTONXDIR=\"$(STONXDIR)\"
-
- # Compiler
-@@ -117,10 +117,10 @@
- $(SCC) @static@ -o $@ $(OBJ) $(MOREOBJ) $(XLIBS) @X_PRE_LIBS@ -lXext -lX11 @X_EXTRA_LIBS@ @xtra@
-
- fnttobdf: fnttobdf.c
-- $(CC) -o $@ fnttobdf.c $(XLIBS) @X_PRE_LIBS@ -lXext -lX11 @X_EXTRA_LIBS@
-+ $(CC) -o $@ fnttobdf.c $(CFLAGS) $(XLIBS) @X_PRE_LIBS@ -lXext -lX11 @X_EXTRA_LIBS@
-
- tosfonts: tosfonts.c
-- $(CC) -o $@ tosfonts.c $(XLIBS) @X_PRE_LIBS@ -lXext -lX11 @X_EXTRA_LIBS@
-+ $(CC) -o $@ tosfonts.c $(CFLAGS) $(XLIBS) @X_PRE_LIBS@ -lXext -lX11 @X_EXTRA_LIBS@
-
- clean:
- rm -f $(OBJ) $(MOREOBJ) stonx mon.out gmon.out fonts-done.stmp
diff --git a/emulators/stonx/files/patch-audio.c b/emulators/stonx/files/patch-audio.c
index 28a63044dd47..76d948065c5f 100644
--- a/emulators/stonx/files/patch-audio.c
+++ b/emulators/stonx/files/patch-audio.c
@@ -1,11 +1,12 @@
---- audio.c.orig Mon May 5 03:07:05 1997
-+++ audio.c Wed Oct 25 19:33:27 2006
-@@ -36,7 +36,7 @@
+--- audio.c.orig 2004-08-15 16:07:55.000000000 +0200
++++ audio.c 2010-04-03 09:44:58.000000000 +0200
+@@ -45,6 +45,9 @@
+ #include <linux/sched.h>
#include <linux/unistd.h>
#endif
- #else /* FreeBSD? */
--#include <machine/soundcard.h>
++#elif defined(__FreeBSD__)
+#include <sys/soundcard.h>
- #endif
- #include <unistd.h>
- #define LINUX_DEFAULT_FREQ (22050)
++#define SOUND_DEVICE "/dev/dsp"
+ #elif defined(__NetBSD__) || defined(__OpenBSD__)
+ /* NetBSD's Linux API emulation, require -lossaudio too */
+ #include <soundcard.h>
diff --git a/emulators/stonx/files/patch-configure b/emulators/stonx/files/patch-configure
new file mode 100644
index 000000000000..93e48031f445
--- /dev/null
+++ b/emulators/stonx/files/patch-configure
@@ -0,0 +1,33 @@
+--- configure.orig 2004-08-15 15:36:21.000000000 +0200
++++ configure 2010-04-03 09:57:44.000000000 +0200
+@@ -3989,6 +3990,30 @@
+ esac
+ copt="$copt -funroll-loops"
+ ;;
++*freebsd*)
++ echo 'A FreeBSD box...'
++ case $t in
++ i*86-*)
++ cat >>confdefs.h <<\_ACEOF
++#define NZREG "%ebx"
++_ACEOF
++
++ cat >>confdefs.h <<\_ACEOF
++#define PCREG "%ebp"
++_ACEOF
++
++ regs="-fomit-frame-pointer -ffixed-ebx -ffixed-ebp"
++ ;;
++ *)
++ regs=""
++ esac
++ # Most BSD systems support OSS audio, too:
++ cat >>confdefs.h <<\_ACEOF
++#define STONX_AUDIO_LINUX 1
++_ACEOF
++
++ libs=""
++ ;;
+ *bsd*)
+ echo 'A BSD box...'
+ case $t in
diff --git a/emulators/stonx/files/patch-di_dis.c b/emulators/stonx/files/patch-di_dis.c
new file mode 100644
index 000000000000..727e1121dca3
--- /dev/null
+++ b/emulators/stonx/files/patch-di_dis.c
@@ -0,0 +1,242 @@
+--- STonX-0.6.7.6.orig/di_dis.c 2004-08-15 14:33:40.000000000 +0200
++++ di_dis.c 2004-12-25 15:21:15.000000000 +0100
+@@ -76,7 +76,6 @@
+
+ static const OP_DEF table[] = {
+ "ABCD",0xc100,0xf1f0,type_14,
+- "ADD",0xd000,0xf000,type_3, /* add, adda */
+
+ "RESET",0x4e70,0xffff,type_10,
+ "RTE",0x4e73,0xffff,type_10,
+@@ -105,12 +104,12 @@
+ "NBCD",0x4800,0xffc0,type_15,
+ "PEA",0x4840,0xffc0,type_5,
+
++ "CHK",0x4180,0xf1c0,type_16,
++ "LEA",0x41c0,0xf1c0,type_2,
+ "EXT",0x4800,0xfe30,type_12,
+
+ "MOVEM",0x4880,0xfb80,type_23,
+
+- "CHK",0x4180,0xf1c0,type_16,
+- "LEA",0x41c0,0xf1c0,type_2,
+
+ "TST",0x4a00,0xff00,type_7,
+ "CLR",0x4200,0xff00,type_15,
+@@ -152,13 +151,13 @@
+ "SVC",0x58c0,0xffc0,type_5,
+ "SVS",0x59c0,0xffc0,type_5,
+ "ADDQ",0x5000,0xf100,type_6,
+- "ADDX",0xd000,0xf130,type_14,
+- "EXG",0xc100,0xf130,type_18,
++ "ADDA",0xd0c0,0xf0c0,type_3, /* ADDA can look like a ADDX! */
++ "ADDX",0xd100,0xf130,type_14,
++ "ADD",0xd000,0xf000,type_3, /* add, adda */
+ "MULS",0xc1c0,0xf1c0,type_16,
+ "MULU",0xc0c0,0xf1c0,type_16,
++ "EXG",0xc100,0xf130,type_18,
+ "AND",0xc000,0xf000,type_3,
+- "ASL",0xe100,0xf118,type_11,
+- "ASR",0xe000,0xf118,type_11,
+ "BCC",0x6400,0xff00,type_8,
+ "BCS",0x6500,0xff00,type_8,
+ "BEQ",0x6700,0xff00,type_8,
+@@ -175,15 +174,14 @@
+ "BVS",0x6900,0xff00,type_8,
+ "BRA",0x6000,0xff00,type_8,
+ "BSR",0x6100,0xff00,type_8,
++ "CMPA",0xb0c0,0xf0c0,type_3, /* cmpa */
+ "CMPM",0xb108,0xf138,type_19,
++ "EOR",0xb100,0xf100,type_3,
+ "CMP",0xb000,0xf000,type_3, /* cmp,cmpa */
+ "DIVS",0x81c0,0xf1c0,type_16,
+ "DIVU",0x80c0,0xf1c0,type_16,
+- "EOR",0xd000,0xf000,type_3,
+- "LSR",0xe008,0xf118,type_11,
+- "LSR",0xe2c0,0xffc0,type_11,
+- "LSL",0xe108,0xf118,type_11,
+- "LSL",0xe3c0,0xffc0,type_11,
++ "MOVEA.W",0x3040,0xf1c0,type_4,
++ "MOVEA.L",0x2040,0xf1c0,type_4,
+ "MOVE.B",0x1000,0xf000,type_4,
+ "MOVE.W",0x3000,0xf000,type_4,
+ "MOVE.L",0x2000,0xf000,type_4,
+@@ -196,10 +194,10 @@
+ "%6lx EORI #$%x,SR",0x0a7c,0xffff,type_27,
+ "%6lx ANDI #$%x,CCR",0x023c,0xffff,type_27, /* ANDI #<data>,CCR */
+ "%6lx ANDI #$%x,SR",0x027c,0xffff,type_27, /* ANDI #data,SR */
+- "%6lx MOVEP.W %x(%s),%s",0x0108,0xf1f8,type_29,
+- "%6lx MOVEP.W %s,%x(%s)",0x0188,0xf1f8,type_29,
+- "%6lx MOVEP.L %x(%s),%s",0x0148,0xf1f8,type_29,
+- "%6lx MOVEP.L %s,%x(%s)",0x01c8,0xf1f8,type_29,
++ "%6lx MOVEP.W $%x(%s),%s",0x0108,0xf1f8,type_29,
++ "%6lx MOVEP.W %s,$%x(%s)",0x0188,0xf1f8,type_29,
++ "%6lx MOVEP.L $%x(%s),%s",0x0148,0xf1f8,type_29,
++ "%6lx MOVEP.L %s,$%x(%s)",0x01c8,0xf1f8,type_29,
+ "BTST",0x0800,0xffc0,type_20,
+ "BSET",0x08c0,0xffc0,type_20,
+ "BCHG",0x0840,0xffc0,type_20,
+@@ -216,14 +214,23 @@
+ "BCHG",0x0140,0xf1c0,type_21,
+ "BCLR",0x0180,0xf1c0,type_21,
+
++ "ASR",0xe0c0,0xffc0,type_11,
++ "ASL",0xe1c0,0xffc0,type_11,
++ "LSR",0xe2c0,0xffc0,type_11,
++ "LSL",0xe3c0,0xffc0,type_11,
++ "ROXR",0xe4c0,0xffc0,type_11,
++ "ROXL",0xe5c0,0xffc0,type_11,
++ "ROR",0xe6c0,0xffc0,type_11,
++ "ROL",0xe7c0,0xffc0,type_11,
++ "ASR",0xe000,0xf118,type_11,
++ "ASL",0xe100,0xf118,type_11,
++ "LSR",0xe008,0xf118,type_11,
++ "LSL",0xe108,0xf118,type_11,
+ "ROL",0xe118,0xf118,type_11,
+ "ROR",0xe018,0xf118,type_11,
+- "ROL",0xe7c0,0xffc0,type_11,
+- "ROR",0xe6c0,0xffc0,type_11,
+ "ROXL",0xe110,0xf118,type_11,
+ "ROXR",0xe010,0xf118,type_11,
+- "ROXL",0xe5c0,0xffc0,type_11,
+- "ROXR",0xe4c0,0xffc0,type_11,
++
+ "SUBQ",0x5100,0xf100,type_6,
+ "SUBA",0x90c0,0xf0c0,type_3, /* SUBA can look like a SUBX! */
+ "SUBX",0x9100,0xf130,type_14,
+@@ -237,7 +244,9 @@
+ static const char *data_regs[] = {
+ "D0","D1","D2","D3","D4","D5","D6","D7"};
+
+-static const char *sizes[] = {".B",".W",".L"};
++static const char *sizes[] = {".B",".W",".L",".?"};
++
++static const char *unknown = "??";
+
+ void *dis(void *c,char *s)
+ {
+@@ -309,7 +318,7 @@
+ ULONG adr;
+ /* WORD data; */
+
+- adr = LM_UL(MEM(c));
++ adr = (long) c;
+ c++;
+ sprintf(s,table[index].op,adr,LM_UW(MEM(c)));
+ return(++c);
+@@ -524,7 +533,14 @@
+ adr = (long)c;
+ dest_reg = (LM_UW(MEM(c)) & 0x0e00) >> 9; /* get destination reg */
+ source = LM_UW(MEM(c)) & 0x3f; /* this is an effective address */
+- c = effective_address(c,e_a,source,index,0); /* do effective address */
++ if (0x0100 == (LM_UW(MEM(c)) & 0xf1c0))
++ {
++ c = effective_address(c,e_a,source,index,BYTE_SIZE); /* do effective address for BTST (special for BTST Dn,#) */
++ }
++ else
++ {
++ c = effective_address(c,e_a,source,index,0); /* do effective address */
++ }
+ sprintf(s,"%6lx %s %s,%s",adr,table[index].op,data_regs[dest_reg],e_a);
+ ++c;
+ return(c);
+@@ -575,7 +591,7 @@
+ const char *rx,*ry;
+
+ adr = (long)c;
+- dest = LM_UL(MEM(c)) & 0x07;
++ dest = LM_UW(MEM(c)) & 0x07;
+ source = (LM_UW(MEM(c)) & 0x0e00) >> 9;
+ op_mode = (LM_UW(MEM(c)) & 0xf8) >> 3;
+ if(op_mode == 0x08)
+@@ -593,6 +609,11 @@
+ rx = data_regs[source];
+ ry = adr_regs[dest];
+ }
++ else
++ {
++ rx = unknown;
++ ry = unknown;
++ }
+ sprintf(s,"%6lx %s %s,%s",adr,table[index].op,rx,ry);
+ ++c;
+ return(c);
+@@ -693,7 +714,7 @@
+ }
+ else
+ {
+- il_data = LM_UL(MEM(c));
++ il_data = LM_UW(MEM(c));
+ }
+ c = effective_address(c,e_a,dest,index,0);
+ sprintf(s,"%6lx %s%s #$%lx,%s",adr,table[index].op,sizes[size],il_data,e_a);
+@@ -731,7 +752,7 @@
+ size = (LM_UW(MEM(c)) & 0x0c0) >> 6;
+ if(size < 3) /* register shifts */
+ {
+- type = (LM_UW(MEM(c)) & 0x100) >> 8;
++ type = (LM_UW(MEM(c)) & 0x20) >> 5;
+ dest = (LM_UW(MEM(c)) & 0x07);
+ count = (LM_UW(MEM(c)) & 0x0e00)>>9;
+ if(type)
+@@ -796,9 +817,9 @@
+ else
+ {
+ size = ".S";
+- displacement = (UWORD)( (WORD)( (char)displacement) );
++ displacement = (UWORD)( (WORD)( (char)displacement) + 2 );
+ }
+- dest = (long)c + (long)((WORD)displacement) + 2l;
++ dest = (long)c + (long)((WORD)displacement);
+ sprintf(s,"%6lx %s%s $%lx",adr,table[index].op,size,dest);
+ ++c;
+ return(c);
+@@ -952,7 +973,7 @@
+ adr = (long)c;
+ the_reg = LM_UW(MEM(c)) & 0x07; /* get register number */
+ ++c; /* point to word displacement */
+- sprintf(s,"%6lx %s %s,#$%x",adr,table[index].op,adr_regs[the_reg],*c);
++ sprintf(s,"%6lx %s %s,#$%x",adr,table[index].op,adr_regs[the_reg],LM_UW(MEM(c)));
+ ++c;
+ return(c);
+ }
+@@ -1043,7 +1064,7 @@
+ displacement = LM_UW(MEM(a)) & 0xff;
+ index_reg = (LM_UW(MEM(a)) & 0x7000) >> 12;
+ index_reg_ind = (LM_UW(MEM(a)) & 0x8000)>> 15;
+- index_size = (LM_UW(MEM(a)) & 0x8000) >> 11;
++ index_size = (LM_UW(MEM(a)) & 0x0800) >> 11;
+ if(index_size)
+ {
+ s1 = ".L";
+@@ -1082,15 +1103,15 @@
+ case 2: /* program counter with displacement */
+ ++a;
+ displacement = LM_UW(MEM(a));
+- a1 = (long)a + (long)displacement;
+- sprintf(s,"%lx(PC)",a1);
++ a1 = (long)a + (long)((WORD)displacement);
++ sprintf(s,"$%lx(PC)",a1);
+ break;
+ case 3:
+ ++a;
+ a1 = (long)((char)(LM_UW(MEM(a)) & 0xff));
+ index_reg = (LM_UW(MEM(a)) & 0x7000) >> 12;
+ index_reg_ind = (LM_UW(MEM(a)) & 0x8000)>> 15;
+- index_size = (LM_UW(MEM(a)) & 0x8000) >> 11;
++ index_size = (LM_UW(MEM(a)) & 0x0800) >> 11;
+ a1 += (long)a;
+ if(index_size)
+ {
+@@ -1134,6 +1155,11 @@
+ sprintf(s,"#$%x.B",displacement);
+ }
+ break;
++ case 5:
++ case 6:
++ case 7:
++ sprintf (s, "%s", unknown);
++ break;
+ default:
+ {
+ fprintf(stderr,"Overun decode!\n");
diff --git a/emulators/stonx/files/patch-mint_stonxfs_fs.c b/emulators/stonx/files/patch-mint_stonxfs_fs.c
new file mode 100644
index 000000000000..14f5242ec03a
--- /dev/null
+++ b/emulators/stonx/files/patch-mint_stonxfs_fs.c
@@ -0,0 +1,11 @@
+--- mint/mint_stonxfs_fs.c.orig 2004-08-15 15:25:24.000000000 +0200
++++ mint/mint_stonxfs_fs.c 2010-04-03 09:52:51.000000000 +0200
+@@ -43,6 +43,8 @@
+ #elif defined(STATFS_USE_STATFS_VMOUNT)
+ #include <sys/statfs.h>
+ #include <sys/vmount.h>
++#elif defined(STATFS_USE_STATVFS)
++#include <sys/statvfs.h>
+ #else
+ #include <sys/vfs.h>
+ #endif
diff --git a/emulators/stonx/pkg-plist b/emulators/stonx/pkg-plist
index 5a50b7fadd7b..6df2cf650aee 100644
--- a/emulators/stonx/pkg-plist
+++ b/emulators/stonx/pkg-plist
@@ -1,29 +1,35 @@
bin/stonx
-bin/stonx.bin
-lib/X11/STonX/FLOPPY-4MB
-lib/X11/STonX/Keysyms
-lib/X11/STonX/Keysyms.G
-lib/X11/STonX/bench1.pas
-lib/X11/STonX/bench1.prg
-lib/X11/STonX/cartridge.img
-lib/X11/STonX/final.tos
-lib/X11/STonX/tos.img
+%%ETCDIR%%/keysyms
+%%ETCDIR%%/keysyms-alternative
+%%ETCDIR%%/keysyms-german
+%%ETCDIR%%/keysyms-spanish
+%%ETCDIR%%/stonxrc
+%%DATADIR%%/cartridge.img
+%%DATADIR%%/gemdos_c/bench1.prg
+%%DATADIR%%/gemdos_c/final.tos
+%%DATADIR%%/gemdos_c/mint/stonx.xfs
+%%DATADIR%%/tos.img
lib/X11/fonts/misc/System0-iso.pcf.gz
lib/X11/fonts/misc/System0.pcf.gz
lib/X11/fonts/misc/System1-iso.pcf.gz
lib/X11/fonts/misc/System1.pcf.gz
lib/X11/fonts/misc/System2-iso.pcf.gz
lib/X11/fonts/misc/System2.pcf.gz
-lib/X11/STonX/docs/COPYING
-lib/X11/STonX/docs/DEBUGGING
-lib/X11/STonX/docs/FONTS
-lib/X11/STonX/docs/INSTALL
-lib/X11/STonX/docs/PROGRAMS
-lib/X11/STonX/docs/README
-lib/X11/STonX/docs/RELEASE_NOTES
-lib/X11/STonX/docs/TOS-VERSIONS
-@dirrm lib/X11/STonX/docs
-@dirrm lib/X11/STonX
+%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
+%%PORTDOCS%%%%DOCSDIR%%/COPYING
+%%PORTDOCS%%%%DOCSDIR%%/DEBUGGING
+%%PORTDOCS%%%%DOCSDIR%%/INSTALL
+%%PORTDOCS%%%%DOCSDIR%%/README
+%%PORTDOCS%%%%DOCSDIR%%/RELEASE_NOTES
+%%PORTDOCS%%%%DOCSDIR%%/TOS-VERSIONS
+%%PORTDOCS%%%%EXAMPLESDIR%%/bench1.pas
+%%PORTDOCS%%%%EXAMPLESDIR%%/bench1.prg
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%
+%%PORTDOCS%%@dirrm %%DOCSDIR%%
+@dirrm %%DATADIR%%/gemdos_c/mint
+@dirrm %%DATADIR%%/gemdos_c
+@dirrm %%DATADIR%%
+@dirrmtry %%ETCDIR%%
@exec mkfontdir %D/lib/X11/fonts/misc
@exec xset fp+ %D/lib/X11/fonts/misc
@exec xset fp rehash