summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--emulators/bochs/Makefile69
-rw-r--r--emulators/bochs/distinfo2
-rw-r--r--emulators/bochs/files/patch-ad23
-rw-r--r--emulators/bochs/files/patch-ae23
-rw-r--r--emulators/bochs/files/patch-font::fonts.dir8
-rw-r--r--emulators/bochs/files/patch-iodev::soundlnx.cc14
-rw-r--r--emulators/bochs/files/patch-iodev::soundlnx.h14
-rw-r--r--emulators/bochs/pkg-comment2
-rw-r--r--emulators/bochs/pkg-descr15
-rw-r--r--emulators/bochs/pkg-message8
-rw-r--r--emulators/bochs/pkg-plist71
11 files changed, 162 insertions, 87 deletions
diff --git a/emulators/bochs/Makefile b/emulators/bochs/Makefile
index 82a7c1d..75ac5c2 100644
--- a/emulators/bochs/Makefile
+++ b/emulators/bochs/Makefile
@@ -7,46 +7,65 @@
#
PORTNAME= bochs
-PORTVERSION= 2000.0325
+PORTVERSION= 1.1.2
+PORTEPOCH= 1
CATEGORIES= emulators
-MASTER_SITES= ftp://ftp.bochs.com/bochs/
-DISTNAME= ${PORTNAME}-${PORTVERSION:S/./_/}a
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} \
+ ftp://ftp.bochs.com/bochs/
+MASTER_SITE_SUBDIR= ${PORTNAME}
-MAINTAINER= ports@FreeBSD.org
-
-VGABIOS= VGABIOS-elpin-2.20
-BIOS= BIOS-bochs-990925a
+MAINTAINER= clefevre@poboxes.com
USE_XLIB= yes
GNU_CONFIGURE= yes
-CONFIGURE_ARGS= --enable-cpu-level=4 \
- --enable-vga \
- --enable-fpu \
- --with-x11 --prefix=${PREFIX}
+CONFIGURE_ARGS= --enable-cpu-level=5 \
+ --enable-cdrom
+CFLAGS+= -fno-rtti -fno-exceptions -fomit-frame-pointer
+PKGMESSAGE= ${WRKDIR}/pkg-message
-.ifdef(WANT_DEBUGGER)
-CONFIGURE_ARGS+= --enable-debugger --enable-disasm
+.ifdef(WITH_BOCHS_DEBUGGER)
+CONFIGURE_ARGS+= --enable-debugger --enable-disasm
+.endif
+.ifdef(WITH_BOCHS_X86_DEBUGGER)
+CONFIGURE_ARGS+= --enable-x86-debugger
+.endif
+.ifdef(WITH_SOUND)
+CONFIGURE_ARGS+= --enable-sb16=linux
.endif
pre-configure:
@${PERL} -pi.fbsd \
- -e 's|^vgaromimage:\sbios/|vgaromimage: ${PREFIX}/lib/bochs/bios/| ;' \
- -e 's|^romimage:\sfile=bios/|romimage: file=${PREFIX}/lib/bochs/bios/|' \
+ -e 's|^vgaromimage:\sbios/|vgaromimage: ${PREFIX}/share/bochs/bios/| ;' \
+ -e 's|^romimage:\sfile=bios/|romimage: file=${PREFIX}/share/bochs/bios/|' \
${WRKSRC}/.bochsrc
+post-build:
+ ${GZIP_CMD} < ${WRKSRC}/font/vga.pcf > ${WRKSRC}/font/vga.pcf.gz
+ (${ECHO} '#!/bin/sh'; \
+ ${ECHO} '${X11BASE}/bin/xset fp+ ${PREFIX}/share/bochs/font'; \
+ ${ECHO} 'exec ${PREFIX}/bin/bochs-bin "$$@"') > ${WRKDIR}/bochs.sh
+
do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/bochs ${PREFIX}/bin
- @${MKDIR} ${PREFIX}/lib/bochs
- ${INSTALL_DATA} ${WRKSRC}/.bochsrc ${PREFIX}/lib/bochs/bochsrc.sample
- @${MKDIR} ${PREFIX}/lib/bochs/bios
- ${INSTALL_DATA} ${WRKSRC}/bios/${VGABIOS} \
- ${PREFIX}/lib/bochs/bios
- ${INSTALL_DATA} ${WRKSRC}/bios/${BIOS} \
- ${PREFIX}/lib/bochs/bios
+ ${INSTALL_PROGRAM} ${WRKSRC}/bochs ${PREFIX}/bin/bochs-bin
+ ${INSTALL_SCRIPT} ${WRKDIR}/bochs.sh ${PREFIX}/bin/bochs
+ @${MKDIR} ${PREFIX}/share/bochs
+ ${INSTALL_DATA} ${WRKSRC}/.bochsrc ${PREFIX}/share/bochs/dot.bochsrc
+ @${MKDIR} ${PREFIX}/share/bochs/bios
+ ${INSTALL_DATA} ${WRKSRC}/bios/VGABIOS-* \
+ ${PREFIX}/share/bochs/bios
+ ${INSTALL_DATA} ${WRKSRC}/bios/BIOS-* \
+ ${PREFIX}/share/bochs/bios
+ @${MKDIR} ${PREFIX}/share/bochs/font
+ ${INSTALL_DATA} ${WRKSRC}/font/vga.pcf.gz ${WRKSRC}/font/fonts.dir \
+ ${PREFIX}/share/bochs/font
.if !defined(NOPORTDOCS)
@${MKDIR} ${PREFIX}/share/doc/bochs
- ${INSTALL_MAN} ${WRKSRC}/docs-html/*.html ${PREFIX}/share/doc/bochs
- ${INSTALL_MAN} ${WRKSRC}/docs-html/*.gif ${PREFIX}/share/doc/bochs
+ ${INSTALL_MAN} ${WRKSRC}/docs-html/* ${PREFIX}/share/doc/bochs
.endif
+post-install:
+ @${SED} 's|%%PREFIX%%|${PREFIX}|g' ${PKGDIR}/pkg-message > \
+ ${PKGMESSAGE}
+ @${CAT} ${PKGMESSAGE}
+
.include <bsd.port.mk>
diff --git a/emulators/bochs/distinfo b/emulators/bochs/distinfo
index b0b1397..fd992b5 100644
--- a/emulators/bochs/distinfo
+++ b/emulators/bochs/distinfo
@@ -1 +1 @@
-MD5 (bochs-2000_0325a.tar.gz) = 6a6fc6794b81c88d71037f17c918a880
+MD5 (bochs-1.1.2.tar.gz) = 3790082c1736aac66b3b25a95ba78891
diff --git a/emulators/bochs/files/patch-ad b/emulators/bochs/files/patch-ad
index 81643e2..1c52498 100644
--- a/emulators/bochs/files/patch-ad
+++ b/emulators/bochs/files/patch-ad
@@ -1,15 +1,18 @@
---- iodev/cdrom.cc.orig Thu Nov 11 21:44:52 1999
-+++ iodev/cdrom.cc Sun Jan 16 10:47:05 2000
-@@ -34,7 +34,7 @@
+
+$FreeBSD$
+
+--- iodev/cdrom.cc.orig Wed May 16 09:46:26 2001
++++ iodev/cdrom.cc Wed May 30 01:56:06 2001
+@@ -50,7 +50,7 @@
}
- #endif
+ #endif /* __sun */
-#ifdef __OpenBSD__
+#if (defined(__OpenBSD__) || defined(__FreeBSD__))
- // Here is a diff for cdrom.cc which adds support for OpenBSD.
- //
- // Note that since the i386 sys/disklabel.h contains code which c++ considers
-@@ -134,7 +134,7 @@
+ // OpenBSD pre version 2.7 may require extern "C" { } structure around
+ // all the includes, because the i386 sys/disklabel.h contains code which
+ // c++ considers invalid.
+@@ -148,7 +148,7 @@
// some ioctl() calls to really eject the CD as well.
if (fd >= 0) {
@@ -18,7 +21,7 @@
(void) ioctl (fd, CDIOCALLOW);
if (ioctl (fd, CDIOCEJECT) < 0)
fprintf(stderr, "#eject_cdrom: eject returns error.\n");
-@@ -240,7 +240,7 @@
+@@ -258,7 +258,7 @@
return true;
}
@@ -27,7 +30,7 @@
{
struct ioc_toc_header h;
struct ioc_read_toc_entry t;
-@@ -366,6 +366,53 @@
+@@ -396,6 +396,53 @@
fprintf(stderr, "#cdrom: capacity: %u\n", lp.d_secperunit);
return(lp.d_secperunit);
diff --git a/emulators/bochs/files/patch-ae b/emulators/bochs/files/patch-ae
index e566225..6536a24 100644
--- a/emulators/bochs/files/patch-ae
+++ b/emulators/bochs/files/patch-ae
@@ -1,11 +1,12 @@
---- debug/lexer.c.orig Wed Feb 2 17:00:44 2000
-+++ debug/lexer.c Wed Feb 2 17:00:02 2000
-@@ -1272,7 +1272,7 @@
- case 92:
- YY_RULE_SETUP
- #line 108 "lexer.l"
--{ bxlval.ulval = strtoull(bxtext, NULL, 10); return(BX_TOKEN_LONG_NUMERIC); }
-+{ bxlval.ulval = strtouq(bxtext, NULL, 10); return(BX_TOKEN_LONG_NUMERIC); }
- YY_BREAK
- case 93:
- YY_RULE_SETUP
+$FreeBSD$
+--- debug/lexer.l.orig Tue Apr 10 03:57:02 2001
++++ debug/lexer.l Sun May 20 13:25:29 2001
+@@ -105,7 +105,7 @@
+ \/[0-9]+ { bxlval.sval = strdup(bxtext); return(BX_TOKEN_XFORMAT); }
+ 0x[0-9a-fA-F]+ { bxlval.uval = strtoul(bxtext+2, NULL, 16); return(BX_TOKEN_NUMERIC); }
+ 0[0-7]+ { bxlval.uval = strtoul(bxtext+1, NULL, 8); return(BX_TOKEN_NUMERIC); }
+-[0-9]+L { bxlval.ulval = strtoull(bxtext, NULL, 10); return(BX_TOKEN_LONG_NUMERIC); }
++[0-9]+L { bxlval.ulval = strtouq(bxtext, NULL, 10); return(BX_TOKEN_LONG_NUMERIC); }
+ [0-9]+ { bxlval.uval = strtoul(bxtext, NULL, 10); return(BX_TOKEN_NUMERIC); }
+ $[a-zA-Z_][a-zA-Z0-9_]* { bxlval.sval = strdup(bxtext); return(BX_TOKEN_SYMBOLNAME); }
+ \n { return('\n'); }
diff --git a/emulators/bochs/files/patch-font::fonts.dir b/emulators/bochs/files/patch-font::fonts.dir
new file mode 100644
index 0000000..5c5409b8
--- /dev/null
+++ b/emulators/bochs/files/patch-font::fonts.dir
@@ -0,0 +1,8 @@
+
+$FreeBSD$
+
+--- /dev/null Wed May 30 02:21:05 2001
++++ font/fonts.dir Wed May 30 02:24:10 2001
+@@ -0,0 +1,2 @@
++1
++vga.pcf.gz vga
diff --git a/emulators/bochs/files/patch-iodev::soundlnx.cc b/emulators/bochs/files/patch-iodev::soundlnx.cc
new file mode 100644
index 0000000..9b66572
--- /dev/null
+++ b/emulators/bochs/files/patch-iodev::soundlnx.cc
@@ -0,0 +1,14 @@
+
+$FreeBSD$
+
+--- iodev/soundlnx.cc 2001/05/30 22:19:00 1.1
++++ iodev/soundlnx.cc 2001/05/30 22:19:34
+@@ -22,7 +22,7 @@
+
+ // This file (SOUNDLNX.CC) written and donated by Josef Drexler
+
+-#if defined(linux)
++#if (defined(linux) || defined(__FreeBSD__))
+
+ #include "bochs.h"
+
diff --git a/emulators/bochs/files/patch-iodev::soundlnx.h b/emulators/bochs/files/patch-iodev::soundlnx.h
new file mode 100644
index 0000000..148e5f6
--- /dev/null
+++ b/emulators/bochs/files/patch-iodev::soundlnx.h
@@ -0,0 +1,14 @@
+
+$FreeBSD$
+
+--- iodev/soundlnx.h.orig Tue Apr 10 05:20:00 2001
++++ iodev/soundlnx.h Thu May 31 01:07:43 2001
+@@ -23,7 +23,7 @@
+ // This file (SOUNDLNX.H) written and donated by Josef Drexler
+
+
+-#if defined(linux)
++#if (defined(linux) || defined(__FreeBSD__))
+
+ #include "bochs.h"
+
diff --git a/emulators/bochs/pkg-comment b/emulators/bochs/pkg-comment
index 2945c9e..f2138ab 100644
--- a/emulators/bochs/pkg-comment
+++ b/emulators/bochs/pkg-comment
@@ -1 +1 @@
-IBM PC, i386, BIOS, and AT hardware emulator that runs DOS, Win 95, and more
+An IA-32 (x86) PC emulator that runs DOS, Win 95, and more
diff --git a/emulators/bochs/pkg-descr b/emulators/bochs/pkg-descr
index dcc5050..fcf811a 100644
--- a/emulators/bochs/pkg-descr
+++ b/emulators/bochs/pkg-descr
@@ -1,5 +1,12 @@
-Bochs is a portable x86 PC emulation software package that emulates
-enough of the x86 CPU, related AT hardware, and BIOS to run DOS,
-Windows '95, Minix 2.0, and other OS's, all on your workstation.
+Bochs is a highly portable open source IA-32 (x86) PC emulator written in
+C++, that runs on most popular platforms. It includes emulation of the
+Intel x86 CPU, common I/O devices, and a custom BIOS. Currently, bochs can
+be compiled to emulate a 386, 486 or Pentium CPU.
-WWW: http://www.bochs.com/
+Bochs is capable of running many Operating Systems inside the emulation
+including Linux, Windows 95, DOS, and Windows NT 4.
+
+Bochs was written by Kevin Lawton and is currently maintained by the Bochs
+project.
+
+WWW: http://bochs.sourceforge.net/
diff --git a/emulators/bochs/pkg-message b/emulators/bochs/pkg-message
index c1c3492..69a602f 100644
--- a/emulators/bochs/pkg-message
+++ b/emulators/bochs/pkg-message
@@ -1,3 +1,5 @@
-Bochs requires a .bochsrc file to be present in either your current
-directory or your home directory before starting. A sample of the
-.bochsrc file can be found in /usr/local/lib/bochs/bochsrc.sample.
+---------------------------------------------------------------------
+ Bochs requires a .bochsrc file to be present in either your current
+ directory or your home directory before starting. A sample of the
+ .bochsrc file can be found in %%PREFIX%%/share/bochs/dot.bochsrc.
+---------------------------------------------------------------------
diff --git a/emulators/bochs/pkg-plist b/emulators/bochs/pkg-plist
index e68033f..980ecfa 100644
--- a/emulators/bochs/pkg-plist
+++ b/emulators/bochs/pkg-plist
@@ -1,33 +1,40 @@
bin/bochs
-lib/bochs/bios/VGABIOS-elpin-2.20
-lib/bochs/bios/BIOS-bochs-990925a
-lib/bochs/bochsrc.sample
-share/doc/bochs/3rdparty.license.html
-share/doc/bochs/DOS.html
-share/doc/bochs/Linux.html
-share/doc/bochs/Minix.html
-share/doc/bochs/OldWindows95.html
-share/doc/bochs/Windows31.html
-share/doc/bochs/Windows95.html
-share/doc/bochs/changelog.html
-share/doc/bochs/codingguidelines.html
-share/doc/bochs/configure.html
-share/doc/bochs/construction.html
-share/doc/bochs/cosimulation.html
-share/doc/bochs/debugger.html
-share/doc/bochs/developers.html
-share/doc/bochs/faq.html
-share/doc/bochs/features.html
-share/doc/bochs/fpu.html
-share/doc/bochs/guestNT.html
-share/doc/bochs/index.html
-share/doc/bochs/install.html
-share/doc/bochs/instrumentation.html
-share/doc/bochs/mtools.html
-share/doc/bochs/sound.html
-share/doc/bochs/undercon.gif
-share/doc/bochs/whatisbochs.html
-share/doc/bochs/win32.html
-@dirrm lib/bochs/bios
-@dirrm lib/bochs
-@dirrm share/doc/bochs
+bin/bochs-bin
+share/bochs/bios/BIOS-bochs-990925a
+share/bochs/bios/VGABIOS-elpin-2.40
+share/bochs/bios/VGABIOS-elpin-LICENSE
+share/bochs/dot.bochsrc
+share/bochs/font/fonts.dir
+share/bochs/font/vga.pcf.gz
+%%PORTDOCS%%share/doc/bochs/00README
+%%PORTDOCS%%share/doc/bochs/3rdparty.license.html
+%%PORTDOCS%%share/doc/bochs/Linux.html
+%%PORTDOCS%%share/doc/bochs/Minix.html
+%%PORTDOCS%%share/doc/bochs/OldWindows95.html
+%%PORTDOCS%%share/doc/bochs/Windows95.html
+%%PORTDOCS%%share/doc/bochs/changelog.html
+%%PORTDOCS%%share/doc/bochs/codingguidelines.html
+%%PORTDOCS%%share/doc/bochs/configure.html
+%%PORTDOCS%%share/doc/bochs/construction.html
+%%PORTDOCS%%share/doc/bochs/cosimulation.html
+%%PORTDOCS%%share/doc/bochs/cvs-status.html
+%%PORTDOCS%%share/doc/bochs/cvs-structure.txt
+%%PORTDOCS%%share/doc/bochs/debugger.html
+%%PORTDOCS%%share/doc/bochs/developers.html
+%%PORTDOCS%%share/doc/bochs/faq.html
+%%PORTDOCS%%share/doc/bochs/features.html
+%%PORTDOCS%%share/doc/bochs/fpu.html
+%%PORTDOCS%%share/doc/bochs/guestNT.html
+%%PORTDOCS%%share/doc/bochs/index.html
+%%PORTDOCS%%share/doc/bochs/install.html
+%%PORTDOCS%%share/doc/bochs/instrumentation.html
+%%PORTDOCS%%share/doc/bochs/mtools.html
+%%PORTDOCS%%share/doc/bochs/random.txt
+%%PORTDOCS%%share/doc/bochs/sound.html
+%%PORTDOCS%%share/doc/bochs/undercon.gif
+%%PORTDOCS%%share/doc/bochs/whatisbochs.html
+%%PORTDOCS%%share/doc/bochs/win32.html
+%%PORTDOCS%%@dirrm share/doc/bochs
+@dirrm share/bochs/font
+@dirrm share/bochs/bios
+@dirrm share/bochs
OpenPOWER on IntegriCloud