aboutsummaryrefslogtreecommitdiffstats
path: root/devel
diff options
context:
space:
mode:
authorjylefort <jylefort@FreeBSD.org>2006-08-28 14:18:01 +0800
committerjylefort <jylefort@FreeBSD.org>2006-08-28 14:18:01 +0800
commitf37e1028a79b1dd8c3e67ffd0a58e968a4a7b770 (patch)
tree25104094367cc7da7d0ed9d17ae86b8769075f0a /devel
parent222a88e1ace751b2178a8f754d7453dc7230dc9d (diff)
downloadfreebsd-ports-gnome-f37e1028a79b1dd8c3e67ffd0a58e968a4a7b770.tar.gz
freebsd-ports-gnome-f37e1028a79b1dd8c3e67ffd0a58e968a4a7b770.tar.zst
freebsd-ports-gnome-f37e1028a79b1dd8c3e67ffd0a58e968a4a7b770.zip
Add kasm.
kasm is a System RPL/Machine Language assembler for the Saturn microprocessor, used in the HP48/HP49 calculators (this microprocessor is also used in other HP calculators, but kasm is made specifically for the HP48/HP49 calculators). It uses the same syntax as the MASD compiler (found in the MetaKernel program for HP48 calculators and in the HP49 calculator). This syntax, which has only very small incompatibilities with the traditional syntax (used in the HP Tools, in the GNU Tools and in JAZZ), supports a few constructs that make the assembly language be closer to a high level programming language. It supports all the structures (blocks, etc.) and shortcuts (RPL, SCREEN, etc.) of the MASD compiler in the HP49G calculators. WWW: http://k-asm.sourceforge.net/
Diffstat (limited to 'devel')
-rw-r--r--devel/Makefile1
-rw-r--r--devel/kasm/Makefile32
-rw-r--r--devel/kasm/distinfo3
-rw-r--r--devel/kasm/files/patch-doc_Makefile.in11
-rw-r--r--devel/kasm/files/patch-src_Makefile.in40
-rw-r--r--devel/kasm/files/patch-src_entrytable.hpp11
-rw-r--r--devel/kasm/files/patch-src_main.cpp11
-rw-r--r--devel/kasm/files/patch-src_nib__io.hpp33
-rw-r--r--devel/kasm/pkg-descr15
-rw-r--r--devel/kasm/pkg-plist4
10 files changed, 161 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index 043e450c3263..200ed1bc1b19 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -447,6 +447,7 @@
SUBDIR += jude-community
SUBDIR += judy
SUBDIR += kaptain
+ SUBDIR += kasm
SUBDIR += kcachegrind
SUBDIR += kdbg
SUBDIR += kdesdk3
diff --git a/devel/kasm/Makefile b/devel/kasm/Makefile
new file mode 100644
index 000000000000..a78d3bbe16e2
--- /dev/null
+++ b/devel/kasm/Makefile
@@ -0,0 +1,32 @@
+# New ports collection makefile for: kasm
+# Date created: 28 Aug 2006
+# Whom: Jean-Yves Lefort <jylefort@FreeBSD.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= kasm
+PORTVERSION= 1.0.0
+CATEGORIES= devel
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
+MASTER_SITE_SUBDIR= k-asm
+
+MAINTAINER= jylefort@FreeBSD.org
+COMMENT= A System RPL/Machine Language assembler for the HP48/HP49 calculators
+
+GNU_CONFIGURE= yes
+USE_GETOPT_LONG=yes
+PORTDOCS= *
+
+OPTIONS= HP48 "set the default output model to hp48 instead of hp49" off
+
+.include <bsd.port.pre.mk>
+
+.if defined(WITH_HP48)
+CONFIGURE_ARGS+= --with-default=hp48
+.endif
+
+post-patch:
+ @${RM} -f ${WRKSRC}/src/getopt.h
+
+.include <bsd.port.post.mk>
diff --git a/devel/kasm/distinfo b/devel/kasm/distinfo
new file mode 100644
index 000000000000..e79086b1c028
--- /dev/null
+++ b/devel/kasm/distinfo
@@ -0,0 +1,3 @@
+MD5 (kasm-1.0.0.tar.gz) = b15ec1661da0b6f4d8cd958c868e6695
+SHA256 (kasm-1.0.0.tar.gz) = 01000ab8c9f47117c4103a7a9b58d2080d19f18f2a587b5665e203348a173d41
+SIZE (kasm-1.0.0.tar.gz) = 285884
diff --git a/devel/kasm/files/patch-doc_Makefile.in b/devel/kasm/files/patch-doc_Makefile.in
new file mode 100644
index 000000000000..851c84b8b4bd
--- /dev/null
+++ b/devel/kasm/files/patch-doc_Makefile.in
@@ -0,0 +1,11 @@
+--- doc/Makefile.in.orig Sat Mar 17 18:28:53 2001
++++ doc/Makefile.in Mon Aug 28 08:11:13 2006
+@@ -67,7 +67,7 @@
+ VERSION = @VERSION@
+ YACC = @YACC@
+
+-docdir = $(prefix)/doc/kalc-$(VERSION)
++docdir = $(prefix)/share/doc/kasm
+
+ doc_DATA = kasm.dvi kasm.ps
+
diff --git a/devel/kasm/files/patch-src_Makefile.in b/devel/kasm/files/patch-src_Makefile.in
new file mode 100644
index 000000000000..34aead14123f
--- /dev/null
+++ b/devel/kasm/files/patch-src_Makefile.in
@@ -0,0 +1,40 @@
+--- src/Makefile.in.orig Sat Mar 17 18:28:56 2001
++++ src/Makefile.in Mon Aug 28 08:05:10 2006
+@@ -69,10 +69,10 @@
+
+ bin_PROGRAMS = kasm
+
+-kasm_SOURCES = main.cpp kasm_parser.yy kasm_lexer.ll kasm_mnemonics.cpp entrytable.cpp nib_io.cpp getopt.c getopt1.c
++kasm_SOURCES = main.cpp kasm_parser.yy kasm_lexer.ll kasm_mnemonics.cpp entrytable.cpp nib_io.cpp
+
+
+-noinst_HEADERS = kasm_parser.h entrytable.hpp kasm.hpp nib_io.hpp getopt.h
++noinst_HEADERS = kasm_parser.h entrytable.hpp kasm.hpp nib_io.hpp
+
+
+ YFLAGS = -dt
+@@ -89,7 +89,7 @@
+ LDFLAGS = @LDFLAGS@
+ LIBS = @LIBS@
+ kasm_OBJECTS = main.o kasm_parser.o kasm_lexer.o kasm_mnemonics.o \
+-entrytable.o nib_io.o getopt.o getopt1.o
++entrytable.o nib_io.o
+ kasm_LDADD = $(LDADD)
+ kasm_DEPENDENCIES =
+ kasm_LDFLAGS =
+@@ -235,13 +235,13 @@
+ kasm.hpp
+ getopt.o: getopt.c ../config.h
+ getopt1.o: getopt1.c ../config.h getopt.h
+-kasm_lexer.o: kasm_lexer.cc getopt.h ../config.h entrytable.hpp \
++kasm_lexer.o: kasm_lexer.cc ../config.h entrytable.hpp \
+ nib_io.hpp kasm.hpp kasm_parser.h
+ kasm_mnemonics.o: kasm_mnemonics.cpp ../config.h entrytable.hpp \
+ nib_io.hpp kasm.hpp
+ kasm_parser.o: kasm_parser.cc ../config.h entrytable.hpp nib_io.hpp \
+ kasm.hpp
+-main.o: main.cpp ../config.h getopt.h entrytable.hpp nib_io.hpp kasm.hpp
++main.o: main.cpp ../config.h entrytable.hpp nib_io.hpp kasm.hpp
+ nib_io.o: nib_io.cpp ../config.h nib_io.hpp
+
+ info-am:
diff --git a/devel/kasm/files/patch-src_entrytable.hpp b/devel/kasm/files/patch-src_entrytable.hpp
new file mode 100644
index 000000000000..370fb9d8dbd5
--- /dev/null
+++ b/devel/kasm/files/patch-src_entrytable.hpp
@@ -0,0 +1,11 @@
+--- src/entrytable.hpp.orig Fri Jan 26 11:39:04 2001
++++ src/entrytable.hpp Mon Aug 28 07:56:38 2006
+@@ -25,6 +25,8 @@
+ #ifndef __ENTRYTABLE_HPP
+ #define __ENTRYTABLE_HPP
+
++#include <map>
++using namespace std;
+
+ #define T_POINTER 0
+ #define T_ROMPTR 1
diff --git a/devel/kasm/files/patch-src_main.cpp b/devel/kasm/files/patch-src_main.cpp
new file mode 100644
index 000000000000..a0dcf1bc3e70
--- /dev/null
+++ b/devel/kasm/files/patch-src_main.cpp
@@ -0,0 +1,11 @@
+--- src/main.cpp.orig Tue Mar 6 01:50:34 2001
++++ src/main.cpp Mon Aug 28 07:58:54 2006
+@@ -176,7 +176,7 @@
+ }
+
+ #ifndef MSDOS
+- fOut.open(outfile.c_str(), ios::out | ios::trunc | ios::bin);
++ fOut.open(outfile.c_str(), ios::out | ios::trunc);
+ #else
+ fOut.open(outfile.c_str(), ios::out | ios::trunc | ios::binary);
+ #endif
diff --git a/devel/kasm/files/patch-src_nib__io.hpp b/devel/kasm/files/patch-src_nib__io.hpp
new file mode 100644
index 000000000000..bae7c27e69e2
--- /dev/null
+++ b/devel/kasm/files/patch-src_nib__io.hpp
@@ -0,0 +1,33 @@
+--- src/nib_io.hpp.orig Thu Feb 8 19:31:17 2001
++++ src/nib_io.hpp Mon Aug 28 08:03:41 2006
+@@ -29,6 +29,7 @@
+ #define __NIB_IO_H
+
+ #include <fstream>
++using namespace std;
+
+
+ /*********************************
+@@ -49,9 +50,8 @@
+ // Constructors
+ nibfstream(): fstream() { ibuff = obuff = false; }
+ #ifndef MSDOS
+- nibfstream(int fd) : fstream(fd) { ibuff = obuff = false; }
+- nibfstream(const char *name, int mode = ios::in, int prot = 0644)
+- : fstream(name, mode, prot) { ibuff = obuff = false; }
++ nibfstream(const char *name, ios_base::openmode mode = ios::in, int prot = 0644)
++ : fstream(name, mode) { ibuff = obuff = false; }
+ #else
+ nibfstream(const char *name, int mode = ios::in)
+ : fstream(name, mode) { ibuff = obuff = false; }
+@@ -59,8 +59,8 @@
+ ~nibfstream() { close(); }
+
+ #ifndef MSDOS
+- void open(const char *name, int mode, int prot = 0664)
+- { fstream::open(name, mode, prot); ibuff = obuff = false; }
++ void open(const char *name, ios_base::openmode mode, int prot = 0664)
++ { fstream::open(name, mode); ibuff = obuff = false; }
+ #else
+ void open(const char *name, int mode)
+ { fstream::open(name, mode); ibuff = obuff = false; }
diff --git a/devel/kasm/pkg-descr b/devel/kasm/pkg-descr
new file mode 100644
index 000000000000..fb73e9713f5e
--- /dev/null
+++ b/devel/kasm/pkg-descr
@@ -0,0 +1,15 @@
+kasm is a System RPL/Machine Language assembler for the Saturn microprocessor,
+used in the HP48/HP49 calculators (this microprocessor is also used in other
+HP calculators, but kasm is made specifically for the HP48/HP49
+calculators). It uses the same syntax as the MASD compiler (found in the
+MetaKernel program for HP48 calculators and in the HP49 calculator). This
+syntax, which has only very small incompatibilities with the traditional
+syntax (used in the HP Tools, in the GNU Tools and in JAZZ), supports a few
+constructs that make the assembly language be closer to a high level
+programming language. It supports all the structures (blocks, etc.) and
+shortcuts (RPL, SCREEN, etc.) of the MASD compiler in the HP49G calculators.
+
+WWW: http://k-asm.sourceforge.net/
+
+- Jean-Yves Lefort
+jylefort@FreeBSD.org
diff --git a/devel/kasm/pkg-plist b/devel/kasm/pkg-plist
new file mode 100644
index 000000000000..1dbd6fac58c9
--- /dev/null
+++ b/devel/kasm/pkg-plist
@@ -0,0 +1,4 @@
+bin/kasm
+share/kasm/entry48.a
+share/kasm/entry49.a
+@dirrm share/kasm