diff options
author | wiz <wiz@pkgsrc.org> | 2012-12-12 10:12:16 +0000 |
---|---|---|
committer | wiz <wiz@pkgsrc.org> | 2012-12-12 10:12:16 +0000 |
commit | de21beee080d63a3413f38b6921e753cf7bc1b96 (patch) | |
tree | dd7b49fc0c6ab87ee5753155d7c7b9e12fa993af | |
parent | 32f0186939e04aec6bf621aef94c7354efa97c36 (diff) | |
download | pkgsrc-de21beee080d63a3413f38b6921e753cf7bc1b96.tar.gz |
Update to 0.91, provided by Dennis Lindroos in PR 44771.
----------------------------------------------------------------------
Section: New in release 0.91
----------------------------------------------------------------------
Added anonymous labels (- + -- ++ --- +++ etc.). Every other assembler
seems to support them, so I added them to ACME as well... :)
New POs: "!warn MESSAGE", "!error MESSAGE", "!serious MESSAGE"
New CLI option: "--maxdepth NUMBER" sets maximum recursion depth for
macro calls and the "!source" pseudo opcode.
ACME now gives a warning when assembling JMP($xxff) on 6502/6510
because that instruction is broken on those CPUs.
After giving the error "Target out of range", the error "Number out of
range" is now suppressed.
Corrected code example in QuickRef.txt (why didn't anyone tell me? :))
Added additional example source code.
----------------------------------------------------------------------
Section: New in release 0.90
----------------------------------------------------------------------
Arithmetic shift right now has some watchdog code and should work
regardless of compiler.
Corrected some typos in error messages and docs.
New CLI option: "--cpu CPU_TYPE"
The output file format chosen with "--format FORMAT" is now used as
default when "!to" is used without format keyword.
Again: Tidier code.
----------------------------------------------------------------------
Section: New in release 0.89
----------------------------------------------------------------------
Support for more undocumented ("illegal") opcodes: anc, arr, asr, sbx,
dop, top, jam. See Illegals.txt for more info.
Change in shift operators: Logical shift right (">>" or "LSR") has on
most platforms actually been an arithmetic shift right all the
time! Therefore, ">>" now *officially* performs an arithmetic
shift right (can also be written as "ASR"), while ">>>" has been
added to perform a logical shift right (can also be written as
"LSR"). Note: This is about ACME's maths parser and has nothing to
do with the 6502 mnemonics "asl" and "lsr".
Finally added a "-o" command line option to set the output file! See
QuickRef.txt for info on the other new CLI options (--format,
--labeldump, --maxerrors, --setpc, --initmem, --version).
Fixed bug: "!align" could be used while program counter undefined.
Fixed bug: Numbers before mnemonics are no longer skipped (or rather,
implicit label definitions are no longer accepted if the label
name starts with a digit).
Change: Much better algorithm to compute to-the-power-of (read: it's
no longer braindead).
Some more internal tidying.
----------------------------------------------------------------------
Section: New in release 0.88
----------------------------------------------------------------------
Fixed architecture-dependent bug introduced in release 0.87.
Fixed bug: Unknown !cpu keywords could cause crashes.
Fixed bug in !ct "filename" nesting.
----------------------------------------------------------------------
Section: New in release 0.87
----------------------------------------------------------------------
Support for some undocumented ("illegal") opcodes: slo, rla, sre, rra,
sax, lax, dcp, isc. To use these, choose the 6510 cpu.
Two error messages gone: "Sorry, feature not yet implemented." and
"Chosen CPU does not support this command and/or addressing mode."
Explanation of new error message ("There's more than one character.")
added to docs.
----------------------------------------------------------------------
Section: New in release 0.86
----------------------------------------------------------------------
The "!convtab" pseudo opcode can now be given the file name of a
conversion table. The file must hold exactly 256 bytes.
Improved docs a bit (more and better examples, more info on verbosity
CLI switch).
If no "!to" pseudo opcode has been found, ACME will tell you so.
-rw-r--r-- | devel/acme/DESCR | 4 | ||||
-rw-r--r-- | devel/acme/Makefile | 30 | ||||
-rw-r--r-- | devel/acme/PLIST | 3 | ||||
-rw-r--r-- | devel/acme/distinfo | 19 | ||||
-rw-r--r-- | devel/acme/patches/patch-aa | 24 | ||||
-rw-r--r-- | devel/acme/patches/patch-ab | 22 | ||||
-rw-r--r-- | devel/acme/patches/patch-ac | 24 |
7 files changed, 48 insertions, 78 deletions
diff --git a/devel/acme/DESCR b/devel/acme/DESCR index f1cf6850f86..b28c4d4bc41 100644 --- a/devel/acme/DESCR +++ b/devel/acme/DESCR @@ -1,4 +1,4 @@ ACME is a free crossassembler, released under the GNU General Public License. The current version can produce code for the 6502, 65c02 and -65816 processors. (Support for some of the 6510's illegal opcodes is -planned.) +65816 processors. It also supports some of the undocumented ("illegal") +opcodes of the 6502. diff --git a/devel/acme/Makefile b/devel/acme/Makefile index e2e6dc13503..efd12120cac 100644 --- a/devel/acme/Makefile +++ b/devel/acme/Makefile @@ -1,40 +1,38 @@ -# $NetBSD: Makefile,v 1.12 2008/05/26 02:13:17 joerg Exp $ +# $NetBSD: Makefile,v 1.13 2012/12/12 10:12:16 wiz Exp $ # -DISTNAME= acme085_linux -PKGNAME= acme-0.85 -PKGREVISION= 1 +DISTNAME= acme091src +PKGNAME= acme-0.91 CATEGORIES= devel MASTER_SITES= http://www.esw-heim.tu-clausthal.de/~marco/smorbrod/acme/current/ DISTFILES= ${DISTNAME}${EXTRACT_SUFX} ${LIBDIST} +EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} +SITES.${LIBDIST}= http://www.esw-heim.tu-clausthal.de/~marco/smorbrod/acme/ MAINTAINER= dillo@NetBSD.org -HOMEPAGE= http://www.esw-heim.tu-clausthal.de/~marco/smorbrod/acme/acme.html +HOMEPAGE= http://www.esw-heim.tu-clausthal.de/~marco/smorbrod/acme COMMENT= Cross assembler for 6502, 65c02, and 65816 - -PKG_DESTDIR_SUPPORT= destdir +LICENSE= gnu-gpl-v2 USE_TOOLS+= pax unzip -WRKSRC= ${WRKTOP}/sources -LIBDIST= lib002.zip -EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} -WRKTOP= ${WRKDIR}/acme085 +LIBDIST= ACME_Lib2.zip +WRKSRC= ${WRKDIR}/acme091 +BUILD_DIRS= src ACME_LIB= ${PREFIX}/share/acme MAKE_ENV+= ACME_LIB=${ACME_LIB:Q} INSTALLATION_DIRS= bin +INSTALLATION_DIRS+= share/acme +INSTALLATION_DIRS+= share/doc/acme post-extract: cd ${WRKDIR} && unzip -qa ${_DISTDIR}/${LIBDIST} do-install: - ${INSTALL_PROGRAM} ${WRKSRC}/acme ${DESTDIR}${PREFIX}/bin/acme - ${INSTALL_DATA_DIR} ${DESTDIR}${PREFIX}/share/doc/acme - ${INSTALL_DATA} ${WRKTOP}/docs/* ${DESTDIR}${PREFIX}/share/doc/acme - ${INSTALL_DATA_DIR} ${DESTDIR}${ACME_LIB} + ${INSTALL_PROGRAM} ${WRKSRC}/src/acme ${DESTDIR}${PREFIX}/bin/acme + ${INSTALL_DATA} ${WRKSRC}/docs/* ${DESTDIR}${PREFIX}/share/doc/acme cd ${WRKDIR}/ACME_Lib && pax -rw . ${DESTDIR}${ACME_LIB} - ${CHOWN} -R ${ROOT_USER}:${ROOT_GROUP} ${DESTDIR}${ACME_LIB} .include "../../mk/bsd.pkg.mk" diff --git a/devel/acme/PLIST b/devel/acme/PLIST index d457ef60945..df0f6125f46 100644 --- a/devel/acme/PLIST +++ b/devel/acme/PLIST @@ -1,4 +1,4 @@ -@comment $NetBSD: PLIST,v 1.2 2009/06/14 17:48:32 joerg Exp $ +@comment $NetBSD: PLIST,v 1.3 2012/12/12 10:12:16 wiz Exp $ bin/acme share/acme/6502/Help.txt share/acme/6502/std.a @@ -30,6 +30,7 @@ share/doc/acme/Changes.txt share/doc/acme/Errors.txt share/doc/acme/Example.txt share/doc/acme/Help.txt +share/doc/acme/Illegals.txt share/doc/acme/Lib.txt share/doc/acme/QuickRef.txt share/doc/acme/Source.txt diff --git a/devel/acme/distinfo b/devel/acme/distinfo index 4a7ae0dad0c..098c5b92964 100644 --- a/devel/acme/distinfo +++ b/devel/acme/distinfo @@ -1,11 +1,10 @@ -$NetBSD: distinfo,v 1.3 2007/01/27 10:38:22 wiz Exp $ +$NetBSD: distinfo,v 1.4 2012/12/12 10:12:16 wiz Exp $ -SHA1 (acme085_linux.tar.gz) = 8eb698e839eecea631b1eb3404071c02d2915474 -RMD160 (acme085_linux.tar.gz) = 7be4e179e18509c6fad6617433d8681e4107ee85 -Size (acme085_linux.tar.gz) = 100590 bytes -SHA1 (lib002.zip) = 699f85edec7e28feb7f50abbf4fc2380757bb4f1 -RMD160 (lib002.zip) = bf3c4d84ece0897a79bac0799027774cab0a0819 -Size (lib002.zip) = 18197 bytes -SHA1 (patch-aa) = b0131874ccfd8f7b43e9d25b363b6a7fdda502e3 -SHA1 (patch-ab) = ef30221626d8145cf8f8e67be3a0eb3e0495d006 -SHA1 (patch-ac) = 666ef25503fac52de69c4867ed490b9fa6e7a7e5 +SHA1 (acme091src.tar.gz) = 7104ea01a2ca2962294aaac4974e10c6486534a8 +RMD160 (acme091src.tar.gz) = df26bbdeca2bc38b284b6cf967ef13431029a7f9 +Size (acme091src.tar.gz) = 131953 bytes +SHA1 (ACME_Lib2.zip) = 699f85edec7e28feb7f50abbf4fc2380757bb4f1 +RMD160 (ACME_Lib2.zip) = bf3c4d84ece0897a79bac0799027774cab0a0819 +Size (ACME_Lib2.zip) = 18197 bytes +SHA1 (patch-aa) = bd08ee3c226d758080aa2c9f4094c668ab5c9105 +SHA1 (patch-ab) = 4491111185dc1502a6424f5efbe352e181117df4 diff --git a/devel/acme/patches/patch-aa b/devel/acme/patches/patch-aa index 1f703163376..7cb5270fc17 100644 --- a/devel/acme/patches/patch-aa +++ b/devel/acme/patches/patch-aa @@ -1,25 +1,21 @@ -$NetBSD: patch-aa,v 1.1.1.1 2001/10/29 18:30:30 dillo Exp $ +$NetBSD: patch-aa,v 1.2 2012/12/12 10:12:16 wiz Exp $ ---- Makefile.orig Thu May 17 13:33:00 2001 -+++ Makefile -@@ -1,7 +1,8 @@ --CFLAGS = -O2 -+CFLAGS+= -DDEFAULT_ACME_LIB=\"${ACME_LIB}\" -+#CFLAGS = -O2 - LIBS = -lm +--- src/Makefile.orig 2006-03-26 18:10:54.000000000 +0300 ++++ src/Makefile 2011-03-17 10:54:04.000000000 +0200 +@@ -1,12 +1,12 @@ +-CFLAGS = -O3 -Wall ++CFLAGS+= -DDEFAULT_ACME_LIB=\"${ACME_LIB}/\" + #LIBS = -lm -CC = gcc -RM = rm +#CC = gcc +#RM = rm - SRC = acme.c alu.c alu.h block.c block.h config.h context.c\ - context.h core.c core.h cpu.c cpu.h data.c data.h flowpo.c\ -@@ -15,7 +16,7 @@ - tree.c tree.h + #SRC = PROGS = acme -BINDIR = /usr/local/bin -+BINDIR = ${PREFIX}/bin ++BINDIR = $(PREFIX)/bin + USERBIN = $(HOME)/bin all: $(PROGS) - diff --git a/devel/acme/patches/patch-ab b/devel/acme/patches/patch-ab index 54639a74c5b..41a23c0f27c 100644 --- a/devel/acme/patches/patch-ab +++ b/devel/acme/patches/patch-ab @@ -1,13 +1,13 @@ -$NetBSD: patch-ab,v 1.1.1.1 2001/10/29 18:30:30 dillo Exp $ +$NetBSD: patch-ab,v 1.2 2012/12/12 10:12:16 wiz Exp $ ---- platform/std.c.orig Thu Mar 22 15:17:38 2001 -+++ platform/std.c -@@ -27,7 +27,7 @@ - psLibPath = (char *) ALLOC_PROCESS(c + 1); - strcpy(psLibPath, pPathname); - } else { -- psLibPath = NULL; -+ psLibPath = DEFAULT_ACME_LIB "/"; - } - } +--- src/_std.c.orig 2006-03-26 20:37:02.000000000 +0300 ++++ src/_std.c 2011-03-17 10:27:51.000000000 +0200 +@@ -12,7 +12,7 @@ + + // Variables +-char *AnyOS_lib_prefix = NULL; // header string of library tree ++char *AnyOS_lib_prefix = DEFAULT_ACME_LIB; // header string of library tree + + + // Functions diff --git a/devel/acme/patches/patch-ac b/devel/acme/patches/patch-ac deleted file mode 100644 index 0da99c53f60..00000000000 --- a/devel/acme/patches/patch-ac +++ /dev/null @@ -1,24 +0,0 @@ -$NetBSD: patch-ac,v 1.1 2007/01/27 10:38:22 wiz Exp $ - ---- context.h.orig 2001-03-22 17:34:46.000000000 +0000 -+++ context.h -@@ -11,6 +11,8 @@ - #ifndef context_H - #define context_H - -+#include "config.h" -+ - /* Number of "global zone" */ - #define ZONE_GLOBAL 0 - -@@ -42,8 +44,8 @@ struct context { - extern zone Context_CurrentZone;/* current zone value */ - extern zone Zone_Max;/* Highest zone number yet */ - extern int nContext;/* Number of saved contexts */ --extern context Context[]; --extern byte pTitle[][]; -+extern context Context[MAXCONTEXTS]; -+extern byte pTitle[MAXCONTEXTS][LSMAX + 1]; - extern int Context_CodeTable;/* Current translation table and its values */ - enum { - CODETABLE_RAW, |