summaryrefslogtreecommitdiff
path: root/emulators/spim
diff options
context:
space:
mode:
Diffstat (limited to 'emulators/spim')
-rw-r--r--emulators/spim/Makefile48
-rw-r--r--emulators/spim/PLIST6
-rw-r--r--emulators/spim/distinfo17
-rw-r--r--emulators/spim/patches/patch-aa59
-rw-r--r--emulators/spim/patches/patch-ab16
-rw-r--r--emulators/spim/patches/patch-ac41
-rw-r--r--emulators/spim/patches/patch-ad78
-rw-r--r--emulators/spim/patches/patch-ae13
8 files changed, 170 insertions, 108 deletions
diff --git a/emulators/spim/Makefile b/emulators/spim/Makefile
index a7d643f1167..e65828dfc0e 100644
--- a/emulators/spim/Makefile
+++ b/emulators/spim/Makefile
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.36 2008/11/10 17:21:35 wiz Exp $
+# $NetBSD: Makefile,v 1.37 2009/03/22 19:55:42 markd Exp $
-DISTNAME= spim-7.1
-PKGREVISION= 4
+DISTNAME= spim-7.3
CATEGORIES= emulators
MASTER_SITES= http://pages.cs.wisc.edu/~larus/SPIM/ \
ftp://ftp.cs.wisc.edu/pub/spim/
@@ -10,6 +9,8 @@ MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://pages.cs.wisc.edu/~larus/spim.html
COMMENT= MIPS R2000 Simulator
+PKG_DESTDIR_SUPPORT= user-destdir
+
LICENSE= spim-license
RESTRICTED= No permission to copy, and prohibited commercially.
NO_SRC_ON_CDROM= ${RESTRICTED}
@@ -17,34 +18,41 @@ NO_BIN_ON_CDROM= ${RESTRICTED}
NO_SRC_ON_FTP= ${RESTRICTED}
NO_BIN_ON_FTP= ${RESTRICTED}
-#DIST_SUBDIR= ${PKGNAME}
-
WRKSRC= ${WRKDIR}/${PKGNAME_NOREV}
HAS_CONFIGURE= yes
+CONFIGURE_DIRS= xspim
+BUILD_DIRS= spim xspim
CONFIGURE_SCRIPT= ./Configure
USE_IMAKE= yes
-USE_TOOLS+= gzip lex yacc
+USE_TOOLS+= gzip flex yacc
XMKMF= ${X11BASE}/bin/xmkmf # don't specify -a option
+INSTALL_TARGET= install
-BUILD_TARGET= y.tab.c depend all
+SUBST_CLASSES+= cpudir
+SUBST_STAGE.cpudir= post-patch
+SUBST_MESSAGE.cpudir= rename CPU_DIR
+SUBST_FILES.cpudir= spim/Makefile xspim/Imakefile
+SUBST_SED.cpudir= -e s:CPU_DIR:CPUDIR:
-pre-configure:
- @${RM} -f ${WRKSRC}/y.tab.*
+INSTALLATION_DIRS= bin share/spim share/doc/spim man/man1
-pre-install:
- ${INSTALL_DATA_DIR} ${PREFIX}/share/spim
- ${CHMOD} a+rx ${PREFIX}/share/spim
+post-configure:
+ cd ${WRKSRC}/spim && ${SETENV} ${_CONFIGURE_SCRIPT_ENV} \
+ ${CONFIG_SHELL} ${CONFIG_SHELL_FLAGS} \
+ ${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS}
post-install:
@${ECHO} "Installing spim/xspim documentation"
- ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/spim \
- && ${CHMOD} a+rx ${PREFIX}/share/doc/spim
- ${INSTALL_DATA} ${WRKSRC}/Documentation/spim.tex \
- ${PREFIX}/share/doc/spim
- ${INSTALL_DATA} ${WRKSRC}/Documentation/*.id \
- ${PREFIX}/share/doc/spim
- ${INSTALL_DATA} ${WRKSRC}/Documentation/cycle.ps \
- ${PREFIX}/share/doc/spim
+ ${INSTALL_DATA} ${WRKSRC}/Documentation/spim.man \
+ ${DESTDIR}${PREFIX}/man/man1/spim.1
+ ${INSTALL_DATA} ${WRKSRC}/Documentation/xspim.man \
+ ${DESTDIR}${PREFIX}/man/man1/xspim.1
+ ${INSTALL_DATA} ${WRKSRC}/Documentation/TeX/spim.tex \
+ ${DESTDIR}${PREFIX}/share/doc/spim
+ ${INSTALL_DATA} ${WRKSRC}/Documentation/TeX/*.id \
+ ${DESTDIR}${PREFIX}/share/doc/spim
+ ${INSTALL_DATA} ${WRKSRC}/Documentation/TeX/cycle.ps \
+ ${DESTDIR}${PREFIX}/share/doc/spim
.include "../../x11/libXaw/buildlink3.mk"
.include "../../x11/libXp/buildlink3.mk"
diff --git a/emulators/spim/PLIST b/emulators/spim/PLIST
index 4cb8d2b3b96..c8717536449 100644
--- a/emulators/spim/PLIST
+++ b/emulators/spim/PLIST
@@ -1,8 +1,8 @@
-@comment $NetBSD: PLIST,v 1.3 2006/04/12 19:27:22 joerg Exp $
+@comment $NetBSD: PLIST,v 1.4 2009/03/22 19:55:42 markd Exp $
bin/spim
bin/xspim
-${IMAKE_MAN_DIR}/spim.${IMAKE_MAN_SUFFIX}
-${IMAKE_MAN_DIR}/xspim.${IMAKE_MAN_SUFFIX}
+man/man1/spim.1
+man/man1/xspim.1
share/doc/spim/cause_reg.id
share/doc/spim/cycle.ps
share/doc/spim/io_reg.id
diff --git a/emulators/spim/distinfo b/emulators/spim/distinfo
index 0f0f7157a90..66bfdcee9f8 100644
--- a/emulators/spim/distinfo
+++ b/emulators/spim/distinfo
@@ -1,9 +1,10 @@
-$NetBSD: distinfo,v 1.10 2006/10/17 08:42:03 markd Exp $
+$NetBSD: distinfo,v 1.11 2009/03/22 19:55:42 markd Exp $
-SHA1 (spim-7.1.tar.gz) = 3e0399e4c2e007aecbd2532b9d8f3f63b7035ff9
-RMD160 (spim-7.1.tar.gz) = 175f63d95011a20087ab135de54b03fccc98286d
-Size (spim-7.1.tar.gz) = 307599 bytes
-SHA1 (patch-aa) = ad07b8a31f95c27596dc56e7ba687df62794b404
-SHA1 (patch-ab) = 5e1cf699e926f434d6f6aba8f55df7ad7da44fdb
-SHA1 (patch-ac) = f3785adfdedf5744b0ce7b0bae5f39436bd4ac88
-SHA1 (patch-ad) = cf4e94736a0f5f5d036d362dfc6ca09e4e62bb9e
+SHA1 (spim-7.3.tar.gz) = 630b75ebc9365093e1b3d0c98ca0524f772d8647
+RMD160 (spim-7.3.tar.gz) = f87116820755ff76087889bbd0f39eaacbce201a
+Size (spim-7.3.tar.gz) = 347226 bytes
+SHA1 (patch-aa) = 8dfa13e5d986d02bd0a995401b0a8582c849a0b9
+SHA1 (patch-ab) = 175b8ac38b140c8b284a21663f2be86cc6196979
+SHA1 (patch-ac) = 198d1d95302463348043281ed4e2e14d83fb5855
+SHA1 (patch-ad) = 66a7b90a20764eb022e45552775be21fcfef6b5a
+SHA1 (patch-ae) = 1f5610a0458acb132a108bfc29504b1d05fca5f0
diff --git a/emulators/spim/patches/patch-aa b/emulators/spim/patches/patch-aa
index bfb4fdff4df..bccfac80ec1 100644
--- a/emulators/spim/patches/patch-aa
+++ b/emulators/spim/patches/patch-aa
@@ -1,54 +1,39 @@
-$NetBSD: patch-aa,v 1.5 2006/04/24 22:22:55 markd Exp $
+$NetBSD: patch-aa,v 1.6 2009/03/22 19:55:42 markd Exp $
---- Imakefile.orig 2005-01-03 13:03:48.000000000 +1300
-+++ Imakefile
-@@ -44,13 +44,13 @@
+--- xspim/Imakefile.orig 2006-08-29 14:23:19.000000000 +1200
++++ xspim/Imakefile
+@@ -33,13 +33,13 @@
#
- # Full path for directory that will hold the exception handler file:
--EXCEPTION_DIR = .
-+EXCEPTION_DIR = $(PREFIX)/share/spim
-
# Full path for the directory that will hold the executable files:
--BIN_DIR = /usr/unsup/bin
-+# BIN_DIR = $(PREFIX)/bin
+-BIN_DIR = /usr/local/bin
++# BIN_DIR = /usr/local/bin
+
+ # Full path for the directory that will hold the exception handler:
+-EXCEPTION_DIR = /usr/local/lib
++EXCEPTION_DIR = $(PREFIX)/share/spim
# Full path for the directory that will hold the man files:
--MAN_DIR = /var/unsup/man
-+# MAN_DIR = $(PREFIX)/man/man1
+-MAN_DIR = /usr/man/mann
++# MAN_DIR = /usr/man/mann
# If you have flex, use it instead of lex. If you use flex, define this
-@@ -111,7 +111,7 @@ CSH = csh
- # Program dependencies:
- #
-
--AllTarget(spim)
-+AllTarget(spim xspim)
+@@ -112,7 +112,7 @@ force: configuration
+ configuration:
+ ./Configure
- spim: force
- @touch .spim-made
-@@ -131,10 +131,10 @@ configuration:
- NormalProgramTarget(spim_sub,$(OBJS),,,)
- NormalProgramTarget(xspim_sub,$(XOBJS),$(DEPLIBS),$(LOCALLIBS),$(SYSLIBS))
-
--InstallProgram(spim,$(BIN_DIR))
-InstallProgram(xspim,$(BIN_DIR))
--InstallManPage(spim,$(MAN_DIR))
--InstallManPage(xspim,$(MAN_DIR))
-+InstallProgram(spim,$(BINDIR))
+InstallProgram(xspim,$(BINDIR))
-+InstallManPage(spim,$(MANDIR))
-+InstallManPage(xspim,$(MANDIR))
- InstallNonExec(exceptions.s,$(EXCEPTION_DIR))
-
+ InstallNonExec($(CPU_DIR)/exceptions.s,$(EXCEPTION_DIR))
+ #InstallManPage($(DOC_DIR)/xspim,$(MAN_DIR))
-@@ -250,7 +250,7 @@ shar:
- mv -f lex.yy.c.xx lex.yy.c
+@@ -147,7 +147,7 @@ very-clean: clean
+ rm -f configuration
- depend::
-- makedepend -w10 *.c
-+ makedepend -w10 -I$(X11BASE)/include *.c
+ makedepend: y.tab.c
+- makedepend -w10 -I. -I$(CPU_DIR) $(CPU_DIR)\*.c *.c
++ makedepend -w10 -I$(X11BASE)/include -I. -I$(CPU_DIR) $(CPU_DIR)\*.c *.c
#
# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/emulators/spim/patches/patch-ab b/emulators/spim/patches/patch-ab
index 62f7274167e..3bcb7241eff 100644
--- a/emulators/spim/patches/patch-ab
+++ b/emulators/spim/patches/patch-ab
@@ -1,23 +1,21 @@
-$NetBSD: patch-ab,v 1.1 2005/07/17 21:38:45 kristerw Exp $
+$NetBSD: patch-ab,v 1.2 2009/03/22 19:55:42 markd Exp $
---- Configure.orig 2005-07-17 23:11:53.000000000 +0200
-+++ Configure 2005-07-17 23:13:20.000000000 +0200
-@@ -150,14 +150,15 @@
-
+--- xspim/Configure.orig 2006-08-29 14:23:19.000000000 +1200
++++ xspim/Configure
+@@ -153,13 +153,14 @@ fi;
echo
--echo Checking for /usr/include/termios.h
+ echo Checking for /usr/include/termios.h
-if [ -f /usr/include/termios.h ]; then
-- echo "-DUSE_TERMIOS" >> configuration
+- echo "-DUSE_TERMIOS" >> ./configuration
- echo "Yes, it is there"
-else
- # No termios
- echo "No, it is not there"
-fi;
+# The pkg uses unportable termios.h stuff, so disable it.
-+#echo Checking for /usr/include/termios.h
+#if [ -f /usr/include/termios.h ]; then
-+# echo "-DUSE_TERMIOS" >> configuration
++# echo "-DUSE_TERMIOS" >> ./configuration
+# echo "Yes, it is there"
+#else
+# # No termios
diff --git a/emulators/spim/patches/patch-ac b/emulators/spim/patches/patch-ac
index ebd9e9b4355..4766cb42f26 100644
--- a/emulators/spim/patches/patch-ac
+++ b/emulators/spim/patches/patch-ac
@@ -1,23 +1,28 @@
-$NetBSD: patch-ac,v 1.1 2006/01/12 21:02:10 joerg Exp $
+$NetBSD: patch-ac,v 1.2 2009/03/22 19:55:42 markd Exp $
---- run.c.orig 2006-01-12 20:43:59.000000000 +0000
-+++ run.c
-@@ -33,6 +33,7 @@
- #endif
+--- spim/Configure.orig 2006-08-29 14:23:19.000000000 +1200
++++ spim/Configure
+@@ -152,14 +152,15 @@ fi;
- #include <math.h>
-+#include <stdlib.h>
- #include <stdio.h>
-
- #ifdef WIN32
-@@ -58,10 +59,6 @@
-
- int force_break = 0; /* For the execution env. to force an execution break */
-
--#ifndef _MSC_VER
--extern int errno;
--long atol (const char *);
--#endif
+ echo
+-echo Checking for /usr/include/termios.h
+-if [ -f /usr/include/termios.h ]; then
+- echo "-DUSE_TERMIOS" >> ./configuration
+- echo "Yes, it is there"
+-else
+- # No termios
+- echo "No, it is not there"
+-fi;
++# The pkg uses unportable termios.h stuff, so disable it.
++#echo Checking for /usr/include/termios.h
++#if [ -f /usr/include/termios.h ]; then
++# echo "-DUSE_TERMIOS" >> ./configuration
++# echo "Yes, it is there"
++#else
++# # No termios
++# echo "No, it is not there"
++#fi;
+ if [ -f /usr/lib/libc.dylib ]; then
diff --git a/emulators/spim/patches/patch-ad b/emulators/spim/patches/patch-ad
index 4a87a1ccab0..737766302dd 100644
--- a/emulators/spim/patches/patch-ad
+++ b/emulators/spim/patches/patch-ad
@@ -1,13 +1,65 @@
-$NetBSD: patch-ad,v 1.1 2006/10/17 08:42:03 markd Exp $
-
---- spim.c.orig 2006-10-17 21:33:10.000000000 +1300
-+++ spim.c
-@@ -111,7 +111,7 @@ int spim_return_value; /* Value returne
-
- /* Non-zero => load standard exception handler */
- static int load_exception_handler = 1;
--static char *exception_file_name = DEFAULT_EXCEPTION_HANDLER;
-+char *exception_file_name = DEFAULT_EXCEPTION_HANDLER;
- static int console_state_saved;
- #ifdef USE_TERMIOS
- static struct termios saved_console_state;
+$NetBSD: patch-ad,v 1.2 2009/03/22 19:55:42 markd Exp $
+
+--- spim/Makefile.orig 2006-08-29 14:23:19.000000000 +1200
++++ spim/Makefile
+@@ -54,13 +54,13 @@ DOC_DIR = ../Documentation
+
+
+ # Full path for the directory that will hold the executable files:
+-BIN_DIR = /usr/local/bin
++BIN_DIR = $(DESTDIR)$(PREFIX)/bin
+
+ # Full path for the directory that will hold the exception handler:
+-EXCEPTION_DIR = /usr/local/lib
++EXCEPTION_DIR = $(PREFIX)/share/spim
+
+ # Full path for the directory that will hold the man files:
+-MAN_DIR = /usr/man/mann
++MAN_DIR = $(DESTDIR)$(PREFIX)/man/man1
+
+
+ # If you have flex, use it instead of lex. If you use flex, define this
+@@ -92,7 +92,7 @@ ENDIAN=`cat configuration`
+
+ DEFINES = $(ENDIAN) $(MEM_SIZES) -DDEFAULT_EXCEPTION_HANDLER="\"$(EXCEPTION_DIR)/exceptions.s\"" -DSPIM_VERSION="\"`cat ../VERSION`\""
+
+-CC = gcc
++#CC = gcc
+ CFLAGS = -I. -I$(CPU_DIR) $(DEFINES) -g -Wall
+-YFLAGS = -d --file-prefix=y
++YFLAGS = -d # --file-prefix=y
+ YCFLAGS =
+@@ -108,6 +108,7 @@ LEXCFLAGS = -O $(CFLAGS)
+ OBJS = spim-utils.o run.o mem.o inst.o data.o sym-tbl.o y.tab.o lex.yy.o \
+ syscall.o display-utils.o string-stream.o
+
++all: spim
+
+ spim: force
+ make -f Makefile spim2
+@@ -174,11 +175,11 @@ clean:
+ rm -f spim spim.exe *.o TAGS test.out lex.yy.c y.tab.c y.tab.h y.output
+
+ install: spim
+ install -c -s spim $(BIN_DIR)
+- install -c -m 0444 $(CPU_DIR)/exceptions.s $(EXCEPTION_DIR)
++ install -c -m 0444 $(CPU_DIR)/exceptions.s $(DESTDIR)$(EXCEPTION_DIR)
+
+-install-man:
+- install -c -m 0444 $(DOC_DIR)/spim.man $(MAN_DIR)
++install.man:
++ install -c -m 0444 $(DOC_DIR)/spim.man $(MAN_DIR)/spim.1
+
+ very-clean: clean
+ rm -f configuration
+@@ -195,8 +196,8 @@ splint: spim
+
+ y.tab.h: y.tab.c
+
+ y.tab.c: $(CPU_DIR)/parser.y
+- bison $(YFLAGS) $(CPU_DIR)/parser.y
++ $(YACC) $(YFLAGS) $(CPUDIR)/parser.y
+
+ y.tab.o: y.tab.c
+ $(CC) $(CFLAGS) $(YCFLAGS) -c y.tab.c
+
diff --git a/emulators/spim/patches/patch-ae b/emulators/spim/patches/patch-ae
new file mode 100644
index 00000000000..673bb0f3cc6
--- /dev/null
+++ b/emulators/spim/patches/patch-ae
@@ -0,0 +1,13 @@
+$NetBSD: patch-ae,v 1.1 2009/03/22 19:55:42 markd Exp $
+
+--- CPU/scanner.l.orig 2006-08-29 14:23:17.000000000 +1200
++++ CPU/scanner.l
+@@ -309,7 +309,7 @@ initialize_scanner (FILE *in_file)
+ yyin = in_file;
+ #ifdef FLEX_SCANNER
+ yyrestart(in_file);
+-#if (YY_FLEX_MAJOR_VERSION==2 && YY_FLEX_MINOR_VERSION==5 && YY_FLEX_SUBMINOR_VERSION==33)
++#if (YY_FLEX_MAJOR_VERSION==2 && YY_FLEX_MINOR_VERSION==5 && YY_FLEX_SUBMINOR_VERSION>=33)
+ /* flex 2.5.33 flips the polarity of this flag (sigh) */
+ yy_init = 0;
+ #else