summaryrefslogtreecommitdiff
path: root/emulators
diff options
context:
space:
mode:
authorhauke <hauke>2016-03-23 14:21:03 +0000
committerhauke <hauke>2016-03-23 14:21:03 +0000
commit457c760d0578688b4cdf033b0de9df5f1e2b88ce (patch)
tree33a82d3f58e555265e73af62379347bedce9d960 /emulators
parent8eb619f3baa3a3f2428b1fa4c5793d9d363b5a5f (diff)
downloadpkgsrc-457c760d0578688b4cdf033b0de9df5f1e2b88ce.tar.gz
Shoebill is an all-new, BSD-licensed Macintosh II emulator designed
from the ground up with the singular goal of running A/UX.
Diffstat (limited to 'emulators')
-rw-r--r--emulators/Makefile3
-rw-r--r--emulators/shoebill/DESCR21
-rw-r--r--emulators/shoebill/Makefile36
-rw-r--r--emulators/shoebill/PLIST4
-rw-r--r--emulators/shoebill/distinfo8
-rw-r--r--emulators/shoebill/files/shoebill.usage37
-rw-r--r--emulators/shoebill/patches/patch-sdl-gui_lin_build.sh24
-rw-r--r--emulators/shoebill/patches/patch-sdl-gui_sdl.c15
8 files changed, 147 insertions, 1 deletions
diff --git a/emulators/Makefile b/emulators/Makefile
index 73340abbfc9..8e41656e610 100644
--- a/emulators/Makefile
+++ b/emulators/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.242 2016/01/17 20:47:34 wiz Exp $
+# $NetBSD: Makefile,v 1.243 2016/03/23 14:22:14 hauke Exp $
#
COMMENT= Emulators for other operating systems
@@ -128,6 +128,7 @@ SUBDIR+= qemu0
SUBDIR+= raine
SUBDIR+= realboy
SUBDIR+= retroarch
+SUBDIR+= shoestring
SUBDIR+= simh
SUBDIR+= simulavr
SUBDIR+= ski
diff --git a/emulators/shoebill/DESCR b/emulators/shoebill/DESCR
new file mode 100644
index 00000000000..dbe61507556
--- /dev/null
+++ b/emulators/shoebill/DESCR
@@ -0,0 +1,21 @@
+Shoebill is an all-new, BSD-licensed Macintosh II emulator designed
+from the ground up with the singular goal of running A/UX, first
+presented on
+<http://www.emaculation.com/forum/viewtopic.php?f=7&t=8288>.
+
+Shoebill requires a Macintosh II, IIx or IIcx ROM, e.g. from
+<https://github.com/macmade/Macintosh-ROMs>, and a disk image with
+A/UX installed.
+
+Shoebill is different from other Macintosh emulators in how it
+boots. Instead of booting directly into the Macintosh ROM, Shoebill
+implements a bootloader and boots directly into A/UX
+itself. Traditionally, A/UX is booted by first booting Mac OS, and
+then running SASH/launch to mount the A/UX root partition, run fsck if
+necessary, load the unix kernel, and then boot it. SASH provides the
+ability to manipulate the A/UX filesystem while actually running in
+regular Mac OS.
+
+Shoebill cannot boot into regular Mac OS, although that's a future
+goal. Instead, it replicates the functionality of Apple's bootloader,
+and boots directly into A/UX.
diff --git a/emulators/shoebill/Makefile b/emulators/shoebill/Makefile
new file mode 100644
index 00000000000..96304e9e6cd
--- /dev/null
+++ b/emulators/shoebill/Makefile
@@ -0,0 +1,36 @@
+# $NetBSD: Makefile,v 1.1 2016/03/23 14:21:03 hauke Exp $
+
+GITHUB_PROJECT= shoebill
+DISTNAME= 0.0.5
+PKGNAME= ${GITHUB_PROJECT}-${DISTNAME}
+CATEGORIES= emulators
+MASTER_SITES= ${MASTER_SITE_GITHUB:=pruten/}
+DIST_SUBDIR= ${GITHUB_PROJECT}
+
+MAINTAINER= hauke@NetBSD.org
+HOMEPAGE= ${MASTER_SITE_GITHUB:=pruten/shoebill/}
+COMMENT= Macintosh II emulator that runs A/UX
+LICENSE= 2-clause-bsd
+
+# Missing long double math functions
+NOT_FOR_PLATFORM= NetBSD-[0-6]*-*
+
+USE_TOOLS+= perl
+
+WRKSRC= ${WRKDIR}/${PKGNAME}
+
+DOCDIR= share/doc/shoebill
+INSTALLATION_DIRS= bin ${DOCDIR}
+
+do-build:
+ ( cd ${WRKSRC}/sdl-gui && \
+ ${ENV} CC=${CC:Q} CFLAGS=${CFLAGS:Q} LDFLAGS=${LDFLAGS:Q} \
+ ${SH} ./lin_build.sh )
+
+do-install:
+ ${INSTALL_DATA} files/shoebill.usage ${DESTDIR}${PREFIX}/${DOCDIR}
+ ${INSTALL_DATA} ${WRKSRC}/README.md ${DESTDIR}${PREFIX}/${DOCDIR}
+ ${INSTALL_PROGRAM} ${WRKSRC}/sdl-gui/shoebill ${DESTDIR}${PREFIX}/bin
+
+.include "../../devel/SDL2/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/emulators/shoebill/PLIST b/emulators/shoebill/PLIST
new file mode 100644
index 00000000000..21b91a533dd
--- /dev/null
+++ b/emulators/shoebill/PLIST
@@ -0,0 +1,4 @@
+@comment $NetBSD: PLIST,v 1.1 2016/03/23 14:21:03 hauke Exp $
+bin/shoebill
+share/doc/shoebill/README.md
+share/doc/shoebill/shoebill.usage
diff --git a/emulators/shoebill/distinfo b/emulators/shoebill/distinfo
new file mode 100644
index 00000000000..7eca73e71bc
--- /dev/null
+++ b/emulators/shoebill/distinfo
@@ -0,0 +1,8 @@
+$NetBSD: distinfo,v 1.1 2016/03/23 14:21:03 hauke Exp $
+
+SHA1 (shoebill/0.0.5.tar.gz) = 40b9ae839bbb9d065ca7d36363b1b4660d780010
+RMD160 (shoebill/0.0.5.tar.gz) = 20143081d2418d6961f86626e3d994b2feda8a4b
+SHA512 (shoebill/0.0.5.tar.gz) = cf8d7945943d6d7a505c233b5c99371f5d37d5d60dd5beeeadbe442ef43b9980e96d51f193d69a03eb58a0a2b13103b4dba311a53c939b633b20753a8c19a772
+Size (shoebill/0.0.5.tar.gz) = 253877 bytes
+SHA1 (patch-sdl-gui_lin_build.sh) = 024efbe3dbec708148bc205c01cddff4fd6d74e1
+SHA1 (patch-sdl-gui_sdl.c) = ee433b37104dcccc700d1d08b97807689ed8da67
diff --git a/emulators/shoebill/files/shoebill.usage b/emulators/shoebill/files/shoebill.usage
new file mode 100644
index 00000000000..b692b875f87
--- /dev/null
+++ b/emulators/shoebill/files/shoebill.usage
@@ -0,0 +1,37 @@
+Shoebill v0.0.4 - http://github.com/pruten/shoebill - Peter Rutenbar (c) 2014
+
+Arguments have the form name=value.
+
+rom=<path to Mac II ROM>
+Specifies the path to a Macintosh II ROM.
+E.g. rom=/home/foo/macii.rom
+
+disk0..disk6=<path to disk image>
+
+Specifies the path to a disk image for the given SCSI ID. Shoebill
+will always boot from disk0, so make sure disk0 points to a bootable
+A/UX image. E.g. disk0=/home/foo/aux3.img disk1=/blah.img
+
+ram=<megabytes of memory>
+E.g. ram=16
+
+height=<num pixels>
+Specifies the height of the screen in pixels.
+
+width=<num pixels>
+Specifies the width of the screen in pixels.
+
+pram-path=<path to PRAM file>
+Defaults to ~/.shoebill_pram
+
+verbose=<1 or 0>
+Whether to boot A/UX in verbose mode. Best to leave it at default (1).
+
+unix-path=<path to kernel on disk0>
+Path to the kernel file on the root disk image. Best to leave it at
+default (/unix).
+
+
+Example:
+
+./shoebill disk0=/aux3.img rom=/macii.rom width=1024 height=768 ram=64
diff --git a/emulators/shoebill/patches/patch-sdl-gui_lin_build.sh b/emulators/shoebill/patches/patch-sdl-gui_lin_build.sh
new file mode 100644
index 00000000000..085e18df4ae
--- /dev/null
+++ b/emulators/shoebill/patches/patch-sdl-gui_lin_build.sh
@@ -0,0 +1,24 @@
+$NetBSD: patch-sdl-gui_lin_build.sh,v 1.1 2016/03/23 14:21:03 hauke Exp $
+
+Make build parameters settable from pkg Makefile
+
+--- sdl-gui/lin_build.sh.orig 2015-09-14 02:11:18.000000000 +0000
++++ sdl-gui/lin_build.sh
+@@ -1,6 +1,7 @@
+-#!/bin/bash
++#!/bin/sh
+
+-CC=gcc
++CC=${CC:-"gcc"}
++CFLAGS=${CFLAGS:-"-O2"}
+
+ files=""
+ for i in adb fpu mc68851 mem via floppy core_api cpu dis; do
+@@ -17,6 +18,6 @@ $CC -O1 ../core/decoder_gen.c -o decoder
+ ./decoder_gen dis .
+
+
+-cmd="$CC -O3 -ggdb -flto $files sdl.c -lpthread -lm -lSDL2 -lGL -o shoebill"
++cmd="$CC ${CFLAGS} -ggdb -flto $files sdl.c -lpthread -lm -lSDL2 -lGL ${LDFLAGS} -o shoebill"
+ echo $cmd
+ $cmd
diff --git a/emulators/shoebill/patches/patch-sdl-gui_sdl.c b/emulators/shoebill/patches/patch-sdl-gui_sdl.c
new file mode 100644
index 00000000000..f4f77fc736f
--- /dev/null
+++ b/emulators/shoebill/patches/patch-sdl-gui_sdl.c
@@ -0,0 +1,15 @@
+$NetBSD: patch-sdl-gui_sdl.c,v 1.1 2016/03/23 14:21:03 hauke Exp $
+
+Fix #include path
+
+--- sdl-gui/sdl.c.orig 2015-09-14 02:11:18.000000000 +0000
++++ sdl-gui/sdl.c
+@@ -220,7 +220,7 @@ struct {
+ #if !((defined WIN32) || (defined _WIN64))
+ #include <sys/types.h>
+ #include <pwd.h>
+-#include <uuid/uuid.h>
++#include <uuid.h>
+ #endif
+
+ static char* _get_home_dir (const char *terminal_element)