diff --git a/emulators/bochs/Makefile b/emulators/bochs/Makefile index 96bccc783f5f..ea5162479ba7 100644 --- a/emulators/bochs/Makefile +++ b/emulators/bochs/Makefile @@ -7,14 +7,18 @@ # PORTNAME= bochs -PORTVERSION= 1.4.1 +PORTVERSION= 2.0.1 PORTEPOCH= 1 CATEGORIES= emulators -MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} \ - ftp://ftp.bochs.com/bochs/ -MASTER_SITE_SUBDIR= ${PORTNAME} +MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:S/$/:bochs/} \ + ${MASTER_SITE_LOCAL:S/$/:local/} +MASTER_SITE_SUBDIR= ${PORTNAME}:bochs \ + anholt/:local +DISTFILES= ${PORTNAME}-${PORTVERSION}.tar.gz:bochs \ + BIOS-bochs-1.4.1.gz:local +EXTRACT_ONLY= ${PORTNAME}-${PORTVERSION}.tar.gz -MAINTAINER= ports@FreeBSD.org +MAINTAINER= anholt@FreeBSD.org # Global variables # @@ -23,15 +27,15 @@ USE_XLIB= yes USE_REINPLACE= yes USE_GMAKE= yes -USE_AUTOCONF_VER= 213 -CONFIGURE_ARGS= --disable-split-hd +GNU_CONFIGURE= yes +CONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd${OSREL} +CONFIGURE_ARGS= --disable-split-hd \ + --enable-all-optimizations CFLAGS+= -fno-rtti -fno-exceptions -fomit-frame-pointer -# PREFIX isn't honored. force it w/ prefix. -MAKE_ARGS= prefix=${PREFIX} - -MAN1= bochs.1 bochsrc.1 bximage.1 +MAN1= bochs.1 bximage.1 +MAN5= bochsrc.5 .include @@ -68,7 +72,7 @@ CONFIGURE_ARGS+= --enable-ne2000 .endif .if defined(WITH_SOUND) -CONFIGURE_ARGS+= --enable-sb16=linux +CONFIGURE_ARGS+= --enable-sb16=freebsd .endif MSG_FILE= ${PKGDIR}/pkg-message @@ -126,19 +130,22 @@ pre-everything:: # Post-configure # +post-extract: + @${GZIP_CMD} -dc ${DISTDIR}/BIOS-bochs-1.4.1.gz > \ + ${WRKDIR}/BIOS-bochs-1.4.1 + post-patch: patch-bochsrc patch-mans patch-wrapper patch-pkgmessage patch-bochsrc: @${REINPLACE_CMD} -E ' \ - s|^vgaromimage:\sbios/|vgaromimage: ${BIOS_DIR}/|; \ - s|^romimage:\sfile=bios/|romimage: file=${BIOS_DIR}/|; \ + s|^vgaromimage: bios/|vgaromimage: ${BIOS_DIR}/|; \ + s|^romimage: file=bios/|romimage: file=${BIOS_DIR}/|; \ ' ${WRKSRC}/.bochsrc patch-mans: @${REINPLACE_CMD} -e ' \ - s|/usr/local/bochs|${DATADIR}|; \ - s|\@VERSION\@|${PORTVERSION}|; \ - ' ${WRKSRC}/doc/man/*.1 + s|/usr/local/share/doc/bochs|${DOCSDIR}|; \ + ' ${WRKSRC}/doc/man/*.1 ${WRKSRC}/doc/man/*.5 patch-wrapper: @${SED} 's|%%PREFIX%%|${PREFIX}|;s|%%X11BASE%%|${X11BASE}|; \ @@ -167,7 +174,7 @@ install-bins: @${INSTALL_PROGRAM} ${WRKSRC}/bximage ${PREFIX}/bin install-mans: -.for mansect in 1 +.for mansect in 1 5 .for man in ${MAN${mansect}} @${INSTALL_MAN} ${WRKSRC}/doc/man/${man} \ ${MAN${mansect}PREFIX}/man/man${mansect} @@ -182,6 +189,7 @@ install-bios: @${MKDIR} ${BIOS_DIR} @${INSTALL_DATA} ${WRKSRC}/bios/VGABIOS-* ${BIOS_DIR} @${INSTALL_DATA} ${WRKSRC}/bios/BIOS-* ${BIOS_DIR} + @${INSTALL_DATA} ${WRKDIR}/BIOS-bochs-1.4.1 ${BIOS_DIR} install-fonts: @${MKDIR} ${FONT_DIR} diff --git a/emulators/bochs/distinfo b/emulators/bochs/distinfo index 3ef55aa48791..cb0c269a176b 100644 --- a/emulators/bochs/distinfo +++ b/emulators/bochs/distinfo @@ -1 +1,2 @@ -MD5 (bochs-1.4.1.tar.gz) = 12e591b5cec2e0051e18605483f64678 +MD5 (bochs-2.0.1.tar.gz) = 8af4a88a2f58b86f3764b4375371be29 +MD5 (BIOS-bochs-1.4.1.gz) = b2d89ca9d3eb0f3bbb81e7202bd42076 diff --git a/emulators/bochs/files/patch-cdrom.cc b/emulators/bochs/files/patch-cdrom.cc new file mode 100644 index 000000000000..808753a0db78 --- /dev/null +++ b/emulators/bochs/files/patch-cdrom.cc @@ -0,0 +1,41 @@ +--- iodev/cdrom.cc Sat Dec 14 21:29:42 2002 ++++ iodev/cdrom.cc Fri Jan 3 13:21:31 2003 +@@ -101,6 +101,8 @@ + #include + #include + #include ++// ntohl(x) et al have been moved out of sys/param.h in FreeBSD 5 ++#include + + // XXX + #define BX_CD_FRAMESIZE 2048 +@@ -881,7 +883,7 @@ + t.data_len = sizeof(tocentry); + t.data = &tocentry; + +- if (ioctl (fd, CDIOREADTOCENTRYS, &tocentry) < 0) ++ if (ioctl (fd, CDIOREADTOCENTRYS, &t) < 0) + BX_PANIC(("cdrom: read_toc: READTOCENTRY failed.")); + + buf[len++] = 0; // Reserved +@@ -910,7 +912,7 @@ + t.data_len = sizeof(tocentry); + t.data = &tocentry; + +- if (ioctl (fd, CDIOREADTOCENTRYS, &tocentry) < 0) ++ if (ioctl (fd, CDIOREADTOCENTRYS, &t) < 0) + BX_PANIC(("cdrom: read_toc: READTOCENTRY lead-out failed.")); + + buf[len++] = 0; // Reserved +@@ -1123,9 +1125,8 @@ + } + #elif defined(__FreeBSD__) + { +- // Read the TOC to get the data size, since disklabel doesn't appear +- // to work, sadly. +- // Keith Jones, 16 January 2000 ++ // Read the TOC to get the size of the data track. ++ // Keith Jones , 16 January 2000 + + #define MAX_TRACKS 100 + diff --git a/emulators/bochs/files/patch-configure.in b/emulators/bochs/files/patch-configure.in deleted file mode 100644 index a5a5aad8dfbc..000000000000 --- a/emulators/bochs/files/patch-configure.in +++ /dev/null @@ -1,21 +0,0 @@ ---- configure.in.orig Wed Mar 27 17:20:32 2002 -+++ configure.in Thu May 30 21:32:01 2002 -@@ -101,8 +101,16 @@ - AC_CHECK_FUNCS(usleep, AC_DEFINE(BX_HAVE_USLEEP)) - AC_CHECK_FUNCS(nanosleep, AC_DEFINE(BX_HAVE_NANOSLEEP)) - AC_CHECK_FUNCS(abort, AC_DEFINE(BX_HAVE_ABORT)) --AC_CHECK_TYPE(socklen_t, AC_DEFINE(BX_HAVE_SOCKLEN_T), , [#include ]) -- -+AC_MSG_CHECKING(for socklen_t) -+AC_TRY_COMPILE([#include -+ #include ], -+ [socklen_t x], -+ [ -+ AC_DEFINE(BX_HAVE_SOCKLEN_T) -+ AC_MSG_RESULT(yes) -+ ], -+ AC_MSG_RESULT(no) -+ ) - AC_MSG_CHECKING(for struct timeval) - AC_TRY_COMPILE([#include ], - [struct timeval x;], diff --git a/emulators/bochs/files/patch-iodev::soundlnx.cc b/emulators/bochs/files/patch-iodev::soundlnx.cc deleted file mode 100644 index 9b665724deb4..000000000000 --- a/emulators/bochs/files/patch-iodev::soundlnx.cc +++ /dev/null @@ -1,14 +0,0 @@ - -$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 deleted file mode 100644 index 148e5f6e0d53..000000000000 --- a/emulators/bochs/files/patch-iodev::soundlnx.h +++ /dev/null @@ -1,14 +0,0 @@ - -$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-message b/emulators/bochs/pkg-message index 068f82c78341..d6bd1a84e6a3 100644 --- a/emulators/bochs/pkg-message +++ b/emulators/bochs/pkg-message @@ -1,3 +1,6 @@ **** 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 %%DATADIR%%/bochsrc.sample. + +If you have problems with the default BIOS, you may want to try the BIOS +from 1.4.1 at %%DATADIR%%/bios/BIOS-bochs-1.4.1 diff --git a/emulators/bochs/pkg-plist b/emulators/bochs/pkg-plist index ff4ddf408dd3..03cbe8b6e404 100644 --- a/emulators/bochs/pkg-plist +++ b/emulators/bochs/pkg-plist @@ -2,12 +2,14 @@ bin/bochs bin/bximage libexec/bochs.bin +share/bochs/bios/BIOS-bochs-1.4.1 share/bochs/bios/BIOS-bochs-2-processors share/bochs/bios/BIOS-bochs-4-processors +share/bochs/bios/BIOS-bochs-8-processors share/bochs/bios/BIOS-bochs-latest share/bochs/bios/VGABIOS-elpin-2.40 share/bochs/bios/VGABIOS-elpin-LICENSE -share/bochs/bios/VGABIOS-lgpl-0.3a +share/bochs/bios/VGABIOS-lgpl-latest share/bochs/bios/VGABIOS-lgpl-README share/bochs/bochsrc.sample share/bochs/font/fonts.dir @@ -24,7 +26,6 @@ share/bochs/font/vga.pcf.gz %%PORTDOCS%%share/doc/bochs/html/construction.html %%PORTDOCS%%share/doc/bochs/html/cosimulation.html %%PORTDOCS%%share/doc/bochs/html/cvs-status.html -%%PORTDOCS%%share/doc/bochs/html/debugger.html %%PORTDOCS%%share/doc/bochs/html/developers.html %%PORTDOCS%%share/doc/bochs/html/faq.html %%PORTDOCS%%share/doc/bochs/html/features.html