Mon Jun 6 14:20:07 2022 UTC ()
Add emulators/open-simh.
The fork from emulators/simh due to licensing issues.
(rhialto)
diff -r0 -r1.1 pkgsrc/emulators/open-simh/DESCR
diff -r0 -r1.1 pkgsrc/emulators/open-simh/Makefile
diff -r0 -r1.1 pkgsrc/emulators/open-simh/PLIST
diff -r0 -r1.1 pkgsrc/emulators/open-simh/distinfo
diff -r0 -r1.1 pkgsrc/emulators/open-simh/patches/patch-makefile
Bob Supnik's historical computer simulator, including:
3b2 alpha altair altairz80 b5000 besm6 cdc1700 eclipse gri
h316 hp2100 hp3000 i1401 i1620 i650 i7000 i7094 ibm1130
intel-systems id16 id32 lgp nova pdp1 pdp6 pdp10 pdp11 pdp18b
pdp4 pdp7 pdp8 pdp9 s3 sage sds ssem tx0 vax
This version is maintained by the SIMH Steering Group.
See http://www.netbsd.org/ports/vax/emulator-howto.html on how to
install NetBSD/vax on simh!
# $NetBSD: Makefile,v 1.1 2022/06/06 14:20:07 rhialto Exp $
DISTNAME= open-simh-4.0.0
PKGNAME= open-simh-4.0.0.20220531
CATEGORIES= emulators
MASTER_SITES= ${MASTER_SITE_GITHUB:=open-simh/}
GITHUB_PROJECT= simh
GITHUB_TAG= 5a7a4c778edf6bad66bc688923316ccf951398be
MAINTAINER= rhialto@NetBSD.org
HOMEPAGE= http://simh.trailing-edge.com/
COMMENT= Bob Supniks historical computer simulator
LICENSE= mit
DEPENDS+= dejavu-ttf-[0-9]*:../../fonts/dejavu-ttf
USE_TOOLS+= gmake
BUILDLINK_API_DEPENDS.libpcap+= libpcap>=0.9
.include "../../mk/bsd.prefs.mk"
.if ${OPSYS} == "Darwin"
# Doesn't seem to work with pkgsrc pcap, and dylib path is hardcoded.
PREFER.libpcap= native
# Link error with the native version: _zlibVersion
PREFER.zlib= pkgsrc
.endif
BUILDLINK_TRANSFORM+= rm:-flto
BUILDLINK_TRANSFORM+= rm:-fwhole-program
.if (${MACHINE_ARCH} == "arm")
BUILDLINK_TRANSFORM+= rm:-O2
.endif
# Needed for PDP11/pdp11_dc.c on gcc 4.1.3
.if (${MACHINE_ARCH} == "vax")
CFLAGS+= -fforce-addr
.endif
CFLAGS.SunOS+= -DBSD_COMP
LDFLAGS.SunOS+= -lm
LDFLAGS.Linux+= -lm -pthread -lrt
INSTALLATION_DIRS= bin share/simh share/simh/TX-0 share/doc/simh
MAKE_FILE= makefile
INCLUDES= ${PREFIX:Q}/include:\
${BUILDLINK_PREFIX.SDL2:Q}/include/SDL2:\
${BUILDLINK_PREFIX.libpcap:Q}/include/pcap:\
${BUILDLINK_PREFIX.pcre:Q}/include/pcre:\
${BUILDLINK_PREFIX.png:Q}/include:\
/usr/include
LIBRARIES= ${PREFIX:Q}/lib:\
${BUILDLINK_PREFIX.SDL2:Q}/lib${LIBABISUFFIX}:\
${BUILDLINK_PREFIX.libpcap:Q}/lib${LIBABISUFFIX}:\
${BUILDLINK_PREFIX.pcre:Q}/lib${LIBABISUFFIX}:\
${BUILDLINK_PREFIX.png:Q}/lib${LIBABISUFFIX}:\
/usr/lib${LIBABISUFFIX}
MAKE_ENV+= INCLUDES=${INCLUDES:Q}
MAKE_ENV+= LIBRARIES=${LIBRARIES:Q}
MAKE_ENV+= GCC=${CC:Q}
MAKE_ENV+= OS_LDFLAGS=${LDFLAGS:Q}
MAKE_ENV+= FONTPATH=${PREFIX}/share/fonts/X11/TTF
BUILD_MAKE_FLAGS= TESTS=0
post-extract:
${MKDIR} ${WRKSRC}/BIN
do-install:
(cd ${WRKSRC}/BIN && for BIN in *; do \
if [ -f $$BIN ] ; then \
${INSTALL_PROGRAM} $$BIN ${DESTDIR}${PREFIX}/bin/simh-$$BIN; \
fi ; \
done)
${INSTALL_DATA} ${WRKSRC}/TX-0/*.bin ${DESTDIR}${PREFIX}/share/simh/TX-0
(cd ${WRKSRC} && for TXT in *.txt */*.txt; do \
${INSTALL_DATA} "$$TXT" ${DESTDIR}${PREFIX}/share/doc/simh; \
done)
# Note: tests require shm (/var/shm is a tmpfs) for the uc15.
# They are part of the build and can't be run separately.
do-test:
cd ${WRKSRC} && ${TEST_MAKE_CMD} clean
cd ${WRKSRC} && ${TEST_MAKE_CMD} all
.include "../../devel/SDL2/buildlink3.mk"
.include "../../fonts/SDL2_ttf/buildlink3.mk"
.include "../../devel/pcre/buildlink3.mk"
.include "../../graphics/png/buildlink3.mk"
.include "../../net/libpcap/buildlink3.mk"
.include "../../mk/dlopen.buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
@comment $NetBSD: PLIST,v 1.1 2022/06/06 14:20:07 rhialto Exp $
bin/simh-3b2
bin/simh-altair
bin/simh-altairz80
bin/simh-b5500
bin/simh-besm6
bin/simh-cdc1700
bin/simh-eclipse
bin/simh-gri
bin/simh-h316
bin/simh-hp2100
bin/simh-hp3000
bin/simh-i1401
bin/simh-i1620
bin/simh-i650
bin/simh-i701
bin/simh-i7010
bin/simh-i704
bin/simh-i7070
bin/simh-i7080
bin/simh-i7090
bin/simh-i7094
bin/simh-ibm1130
bin/simh-id16
bin/simh-id32
bin/simh-imlac
bin/simh-infoserver100
bin/simh-infoserver1000
bin/simh-infoserver150vxt
bin/simh-intel-mds
bin/simh-lgp
bin/simh-microvax1
bin/simh-microvax2
bin/simh-microvax2000
bin/simh-microvax3100
bin/simh-microvax3100e
bin/simh-microvax3100m80
bin/simh-microvax3900
bin/simh-nova
bin/simh-pdp1
bin/simh-pdp10
bin/simh-pdp10-ka
bin/simh-pdp10-ki
bin/simh-pdp10-kl
bin/simh-pdp10-ks
bin/simh-pdp11
bin/simh-pdp15
bin/simh-pdp4
bin/simh-pdp6
bin/simh-pdp7
bin/simh-pdp8
bin/simh-pdp9
bin/simh-rtvax1000
bin/simh-s3
bin/simh-scelbi
bin/simh-sds
bin/simh-sel32
bin/simh-sigma
bin/simh-ssem
bin/simh-swtp6800mp-a
bin/simh-swtp6800mp-a2
bin/simh-tt2500
bin/simh-tx-0
bin/simh-uc15
bin/simh-vax
bin/simh-vax730
bin/simh-vax750
bin/simh-vax780
bin/simh-vax8200
bin/simh-vax8600
bin/simh-vaxstation3100m30
bin/simh-vaxstation3100m38
bin/simh-vaxstation3100m76
bin/simh-vaxstation4000m60
bin/simh-vaxstation4000vlc
share/doc/simh/0ReadMe_Projects.txt
share/doc/simh/0readmeAsynchIO.txt
share/doc/simh/0readme_39.txt
share/doc/simh/0readme_ethernet.txt
share/doc/simh/CDC1700-Customization.txt
share/doc/simh/CDC1700-Diagnostics.txt
share/doc/simh/CDC1700-MSOS.txt
share/doc/simh/CDC1700.txt
share/doc/simh/LICENSE.txt
share/doc/simh/altair.txt
share/doc/simh/eclipse.txt
share/doc/simh/haltguide.txt
share/doc/simh/hp2100_bugfixes.txt
share/doc/simh/hp2100_diag.txt
share/doc/simh/hp2100_release.txt
share/doc/simh/hp3000_diag.txt
share/doc/simh/hp3000_release.txt
share/doc/simh/i1620_error_matrix.txt
share/doc/simh/i7094_bug_history.txt
share/doc/simh/id_diag.txt
share/doc/simh/input.txt
share/doc/simh/m68k_parse.y.txt
share/doc/simh/m68kasm.y.txt
share/doc/simh/pdp10_bug_history.txt
share/doc/simh/pdp18b_diag.txt
share/doc/simh/pdp1_diag.txt
share/doc/simh/readme-sage.txt
share/doc/simh/readme1130.txt
share/doc/simh/readme_s3.txt
share/doc/simh/readme_update.txt
share/doc/simh/sds_diag.txt
share/doc/simh/sigma_bugs.txt
share/doc/simh/sigma_disks.txt
share/doc/simh/system3.txt
share/doc/simh/tx0_diag.txt
share/doc/simh/vax780_bug_history.txt
share/simh/TX-0/bin_newMouse_3-22-66.bin
share/simh/TX-0/bin_tic-tac-toe_new_code_12-16-61.bin
$NetBSD: distinfo,v 1.1 2022/06/06 14:20:07 rhialto Exp $
BLAKE2s (open-simh-4.0.0-5a7a4c778edf6bad66bc688923316ccf951398be.tar.gz) = 1ba6b9c9495a45f422a52ec86ff3333bea5c07e833db37cfa285eb536ae92a06
SHA512 (open-simh-4.0.0-5a7a4c778edf6bad66bc688923316ccf951398be.tar.gz) = cef85c91a32aed6a75eeee39cd5bfaa146a1ad44e07d5334c51acd397259fb06d01028c6e8587bad7c7feee46e3762970c0ab1017d239f957468780039e6750b
Size (open-simh-4.0.0-5a7a4c778edf6bad66bc688923316ccf951398be.tar.gz) = 31258284 bytes
SHA1 (patch-makefile) = a532dde8a12d359cd66a2447ed95812cc0dd5dbe
$NetBSD: patch-makefile,v 1.1 2022/06/06 14:20:07 rhialto Exp $
Exclude -flto for gcc 4.1.3 (used in NetBSD/vax 6)
Exclude -flto for clang on NetBSD
Exclude -flto for gcc 4.4.7 (Used in DragonFly 2.13 - 3.1)
NO_LTO=1 is in effect for gcc and clang, except Darwin.
Fix png16 detection.
Let INCLUDES and LIBRARIES be the sole source for INCPATH and LIBPATH,
to avoid seeing non-pkgsrc libraries (except MacOS platform).
--- makefile.orig 2022-04-01 19:37:11.000000000 +0000
+++ makefile
@@ -307,7 +307,7 @@ ifeq (${WIN32},) #*nix Environments (&&
$(shell git log -1 --pretty="SIM_GIT_COMMIT_ID %H$(GIT_EXTRA_FILES)%nSIM_GIT_COMMIT_TIME $(isodate)" >.git-commit-id)
endif
endif
- LTO_EXCLUDE_VERSIONS =
+ LTO_EXCLUDE_VERSIONS = 4.1.3 4.4.7 4.8.3 4.8.4 4.8.5 5.3.0 5.4.0
PCAPLIB = pcap
ifeq (agcc,$(findstring agcc,${GCC})) # Android target build?
OS_CCDEFS += -D_GNU_SOURCE -DSIM_ASYNCH_IO
@@ -348,16 +348,16 @@ ifeq (${WIN32},) #*nix Environments (&&
ifeq (Darwin,$(OSTYPE))
OSNAME = OSX
LIBEXT = dylib
- ifneq (include,$(findstring include,$(UNSUPPORTED_BUILD)))
- INCPATH:=$(shell LANG=C; ${GCC} -x c -v -E /dev/null 2>&1 | grep -A 10 '> search starts here' | grep '^ ' | grep -v 'framework directory' | tr -d '\n')
- endif
+ #ifneq (include,$(findstring include,$(UNSUPPORTED_BUILD)))
+ INCPATH+=$(shell LANG=C; ${GCC} -x c -v -E /dev/null 2>&1 | grep -A 10 '> search starts here' | grep '^ ' | grep -v 'framework directory' | tr -d '\n')
+ #endif
ifeq (incopt,$(shell if ${TEST} -d /opt/local/include; then echo incopt; fi))
- INCPATH += /opt/local/include
- OS_CCDEFS += -I/opt/local/include
+ # INCPATH += /opt/local/include
+ # OS_CCDEFS += -I/opt/local/include
endif
ifeq (libopt,$(shell if ${TEST} -d /opt/local/lib; then echo libopt; fi))
- LIBPATH += /opt/local/lib
- OS_LDFLAGS += -L/opt/local/lib
+ # LIBPATH += /opt/local/lib
+ # OS_LDFLAGS += -L/opt/local/lib
endif
ifeq (HomeBrew,$(or $(shell if ${TEST} -d /usr/local/Cellar; then echo HomeBrew; fi),$(shell if ${TEST} -d /opt/homebrew/Cellar; then echo HomeBrew; fi)))
ifeq (local,$(shell if $(TEST) -d /usr/local/Cellar; then echo local; fi))
@@ -365,8 +365,8 @@ ifeq (${WIN32},) #*nix Environments (&&
else
HBPATH = /opt/homebrew
endif
- INCPATH += $(foreach dir,$(wildcard $(HBPATH)/Cellar/*/*),$(realpath $(dir)/include))
- LIBPATH += $(foreach dir,$(wildcard $(HBPATH)/Cellar/*/*),$(realpath $(dir)/lib))
+ # INCPATH += $(foreach dir,$(wildcard $(HBPATH)/Cellar/*/*),$(realpath $(dir)/include))
+ # LIBPATH += $(foreach dir,$(wildcard $(HBPATH)/Cellar/*/*),$(realpath $(dir)/lib))
endif
else
ifeq (Linux,$(OSTYPE))
@@ -376,15 +376,15 @@ ifeq (${WIN32},) #*nix Environments (&&
ifneq (lib,$(findstring lib,$(UNSUPPORTED_BUILD)))
ifeq (Android,$(shell uname -o))
ifneq (,$(shell if ${TEST} -d ${PREFIX}/lib; then echo prefixlib; fi))
- LIBPATH += ${PREFIX}/lib
+ # LIBPATH += ${PREFIX}/lib
endif
ifneq (,$(shell if ${TEST} -d /system/lib; then echo systemlib; fi))
- LIBPATH += /system/lib
+ # LIBPATH += /system/lib
endif
- LIBPATH += $(LD_LIBRARY_PATH)
+ # LIBPATH += $(LD_LIBRARY_PATH)
endif
ifeq (ldconfig,$(shell if ${TEST} -e /sbin/ldconfig; then echo ldconfig; fi))
- LIBPATH := $(sort $(foreach lib,$(shell /sbin/ldconfig -p | grep ' => /' | sed 's/^.* => //'),$(dir $(lib))))
+ # LIBPATH := $(sort $(foreach lib,$(shell /sbin/ldconfig -p | grep ' => /' | sed 's/^.* => //'),$(dir $(lib))))
endif
endif
LIBSOEXT = so
@@ -393,7 +393,7 @@ ifeq (${WIN32},) #*nix Environments (&&
ifeq (SunOS,$(OSTYPE))
OSNAME = Solaris
ifneq (lib,$(findstring lib,$(UNSUPPORTED_BUILD)))
- LIBPATH := $(shell LANG=C; crle | grep 'Default Library Path' | awk '{ print $$5 }' | sed 's/:/ /g')
+ # LIBPATH := $(shell LANG=C; crle | grep 'Default Library Path' | awk '{ print $$5 }' | sed 's/:/ /g')
endif
LIBEXT = so
OS_LDFLAGS += -lsocket -lnsl
@@ -402,27 +402,27 @@ ifeq (${WIN32},) #*nix Environments (&&
OS_CCDEFS += -I/opt/sfw/include
endif
ifeq (libsfw,$(shell if ${TEST} -d /opt/sfw/lib; then echo libsfw; fi))
- LIBPATH += /opt/sfw/lib
- OS_LDFLAGS += -L/opt/sfw/lib -R/opt/sfw/lib
+ # LIBPATH += /opt/sfw/lib
+ # OS_LDFLAGS += -L/opt/sfw/lib -R/opt/sfw/lib
endif
OS_CCDEFS += -D_LARGEFILE_SOURCE
else
ifeq (cygwin,$(OSTYPE))
# use 0readme_ethernet.txt documented Windows pcap build components
- INCPATH += ../windows-build/winpcap/WpdPack/Include
- LIBPATH += ../windows-build/winpcap/WpdPack/Lib
+ # INCPATH += ../windows-build/winpcap/WpdPack/Include
+ # LIBPATH += ../windows-build/winpcap/WpdPack/Lib
PCAPLIB = wpcap
LIBEXT = a
else
ifneq (,$(findstring AIX,$(OSTYPE)))
OS_LDFLAGS += -lm -lrt
ifeq (incopt,$(shell if ${TEST} -d /opt/freeware/include; then echo incopt; fi))
- INCPATH += /opt/freeware/include
- OS_CCDEFS += -I/opt/freeware/include
+ # INCPATH += /opt/freeware/include
+ # OS_CCDEFS += -I/opt/freeware/include
endif
ifeq (libopt,$(shell if ${TEST} -d /opt/freeware/lib; then echo libopt; fi))
- LIBPATH += /opt/freeware/lib
- OS_LDFLAGS += -L/opt/freeware/lib
+ # LIBPATH += /opt/freeware/lib
+ # OS_LDFLAGS += -L/opt/freeware/lib
endif
else
ifneq (,$(findstring Haiku,$(OSTYPE)))
@@ -433,9 +433,9 @@ ifeq (${WIN32},) #*nix Environments (&&
ifeq ($(HAIKU_ARCH),x86_gcc2)
$(error Unsupported arch x86_gcc2. Run setarch x86 and retry)
endif
- INCPATH := $(shell findpaths -e -a $(HAIKU_ARCH) B_FIND_PATH_HEADERS_DIRECTORY)
- INCPATH += $(shell findpaths -e B_FIND_PATH_HEADERS_DIRECTORY posix)
- LIBPATH := $(shell findpaths -e -a $(HAIKU_ARCH) B_FIND_PATH_DEVELOP_LIB_DIRECTORY)
+ # INCPATH := $(shell findpaths -e -a $(HAIKU_ARCH) B_FIND_PATH_HEADERS_DIRECTORY)
+ # INCPATH += $(shell findpaths -e B_FIND_PATH_HEADERS_DIRECTORY posix)
+ # LIBPATH := $(shell findpaths -e -a $(HAIKU_ARCH) B_FIND_PATH_DEVELOP_LIB_DIRECTORY)
OS_LDFLAGS += -lnetwork
else
ifeq (,$(findstring NetBSD,$(OSTYPE)))
@@ -443,7 +443,7 @@ ifeq (${WIN32},) #*nix Environments (&&
LDSEARCH :=$(shell LANG=C; ldconfig -r | grep 'search directories' | awk '{print $$3}' | sed 's/:/ /g')
endif
ifneq (,$(LDSEARCH))
- LIBPATH := $(LDSEARCH)
+ # LIBPATH := $(LDSEARCH)
else
ifeq (,$(strip $(LPATH)))
$(info *** Warning ***)
@@ -455,22 +455,22 @@ ifeq (${WIN32},) #*nix Environments (&&
$(info *** Warning *** variable.)
$(info *** Warning ***)
else
- LIBPATH = $(subst :, ,$(LPATH))
+ # LIBPATH = $(subst :, ,$(LPATH))
endif
endif
- OS_LDFLAGS += $(patsubst %,-L%,${LIBPATH})
+ # OS_LDFLAGS += $(patsubst %,-L%,${LIBPATH})
endif
endif
endif
ifeq (usrpkglib,$(shell if ${TEST} -d /usr/pkg/lib; then echo usrpkglib; fi))
- LIBPATH += /usr/pkg/lib
- INCPATH += /usr/pkg/include
- OS_LDFLAGS += -L/usr/pkg/lib -R/usr/pkg/lib
- OS_CCDEFS += -I/usr/pkg/include
+ # LIBPATH += /usr/pkg/lib
+ # INCPATH += /usr/pkg/include
+ # OS_LDFLAGS += -L/usr/pkg/lib -R/usr/pkg/lib
+ # OS_CCDEFS += -I/usr/pkg/include
endif
ifeq (/usr/local/lib,$(findstring /usr/local/lib,${LIBPATH}))
- INCPATH += /usr/local/include
- OS_CCDEFS += -I/usr/local/include
+ # INCPATH += /usr/local/include
+ # OS_CCDEFS += -I/usr/local/include
endif
ifneq (,$(findstring NetBSD,$(OSTYPE))$(findstring FreeBSD,$(OSTYPE))$(findstring AIX,$(OSTYPE)))
LIBEXT = so
@@ -497,12 +497,12 @@ ifeq (${WIN32},) #*nix Environments (&&
endif
ifeq (,$(filter /lib/,$(LIBPATH)))
ifeq (existlib,$(shell if $(TEST) -d /lib/; then echo existlib; fi))
- LIBPATH += /lib/
+ # LIBPATH += /lib/
endif
endif
ifeq (,$(filter /usr/lib/,$(LIBPATH)))
ifeq (existusrlib,$(shell if $(TEST) -d /usr/lib/; then echo existusrlib; fi))
- LIBPATH += /usr/lib/
+ # LIBPATH += /usr/lib/
endif
endif
export CPATH = $(subst $() $(),:,$(INCPATH))
@@ -611,9 +611,9 @@ ifeq (${WIN32},) #*nix Environments (&&
OS_CCDEFS += -DHAVE_UTIME
endif
ifneq (,$(call find_include,png))
- ifneq (,$(call find_lib,png))
+ ifneq (,$(call find_lib,png16))
OS_CCDEFS += -DHAVE_LIBPNG
- OS_LDFLAGS += -lpng
+ OS_LDFLAGS += -lpng16
$(info using libpng: $(call find_lib,png) $(call find_include,png))
ifneq (,$(call find_include,zlib))
ifneq (,$(call find_lib,z))
@@ -803,7 +803,7 @@ ifeq (${WIN32},) #*nix Environments (&&
NETWORK_FEATURES = - dynamic networking support using libpcap components from www.tcpdump.org and locally installed libpcap.${LIBEXT}
$(info using libpcap: $(call find_include,pcap))
else
- LIBPATH += /usr/local/lib
+ # LIBPATH += /usr/local/lib
LIBEXT = a
ifneq (,$(call find_lib,$(PCAPLIB)))
$(info using libpcap: $(call find_lib,$(PCAPLIB)) $(call find_include,pcap))
@@ -1198,11 +1198,11 @@ ifneq (,$(UNSUPPORTED_BUILD))
endif
ifneq ($(DEBUG),)
CFLAGS_G = -g -ggdb -g3
- CFLAGS_O = -O0
+ CFLAGS_O += -O0
BUILD_FEATURES = - debugging support
else
ifneq (,$(findstring clang,$(COMPILER_NAME))$(findstring LLVM,$(COMPILER_NAME)))
- CFLAGS_O = -O2 -fno-strict-overflow
+ CFLAGS_O += -O2 -fno-strict-overflow
GCC_OPTIMIZERS_CMD = ${GCC} --help
NO_LTO = 1
else
@@ -1210,7 +1210,7 @@ else
ifeq (Darwin,$(OSTYPE))
CFLAGS_O += -O4 -flto -fwhole-program
else
- CFLAGS_O := -O2
+ CFLAGS_O += -O2
endif
endif
LDFLAGS_O =