Date: Sun, 20 May 2001 18:03:35 +0200 (CEST) From: Cyrille Lefevre <clefevre@poboxes.com> To: FreeBSD-gnats-submit@freebsd.org Subject: ports/27467: Updated port: emulators/bochs (1.1.2) Message-ID: <200105201603.f4KG3ZA85102@gits.dyndns.org>
next in thread | raw e-mail | index | archive | help
>Number: 27467 >Category: ports >Synopsis: Updated port: emulators/bochs (1.1.2) >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: maintainer-update >Submitter-Id: current-users >Arrival-Date: Sun May 20 09:10:01 PDT 2001 >Closed-Date: >Last-Modified: >Originator: Cyrille Lefevre >Release: FreeBSD 4.3-STABLE i386 >Organization: ACME >Environment: System: FreeBSD gits 4.3-STABLE FreeBSD 4.3-STABLE #21: Sun Apr 22 22:20:03 CEST 2001 root@gits:/disk2/4.x-stable/src/sys/compile/CUSTOM i386 >Description: Makefile PORTVERSION bumped to 1.1.2. PORTEPOCH added. MAINTAINER updated. MASTER_SITES updated to MASTER_SITE_SOURCEFORGE USE_X_PREFIX added. CONFIGURE_ARGS updated w/ -cpu-level=5, -cdrom and -sb16=linux. -vga, -fpu and -x11 aren't needed anymore since they are the defaults. -x86-debugger is conditionnaly added if WANT_X86_DEBUGGER is defined. PLIST_SUB added. pre-configure renamed post-patch. do-install mostly rewritten. post-install added. distinfo updated as needed. pkg-descr description and WWW changed. pkg-plist @comment $FreeBSD$ added. mostly rewritten using %%XXX_SUBDIR%% where XXX is one of DATA, FONT, SAMP and DOC. %%PORTDOCS%% added. files/patch-* $FreeBSD$ added files/patch-ac deleted files/patch-ad updated as needed. files/patch-ae patch debug/lexer.l instead of debug/lexer.c. files/patch-af files/patch-ag sb16 linux emulation (untested but should work). >How-To-Repeat: n/a >Fix: take care, the patch kit is in two parts. the first one are patches against /dev/null and the second one are a cvs diff. --- /dev/null Sun May 20 17:46:52 2001 +++ files/patch-af Sun May 20 17:48:44 2001 @@ -0,0 +1,15 @@ +$FreeBSD$ +--- /dev/null Sun May 20 17:20:49 2001 ++++ files/patch-af Sun May 20 16:54:06 2001 +@@ -0,0 +1,11 @@ ++--- iodev/soundlnx.h.orig Tue Apr 10 04:20:00 2001 +++++ iodev/soundlnx.h Sun May 20 16:53:49 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" ++ --- /dev/null Sun May 20 17:46:52 2001 +++ files/patch-ag Sun May 20 17:46:28 2001 @@ -0,0 +1,12 @@ +$FreeBSD$ +--- iodev/soundlnx.cc.orig Tue Apr 10 04:19:59 2001 ++++ iodev/soundlnx.cc Sun May 20 15:56:27 2001 +@@ -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" + Index: Makefile =================================================================== RCS file: /home/ncvs/ports/emulators/bochs/Makefile,v retrieving revision 1.34 diff -u -r1.34 Makefile --- Makefile 2001/02/14 05:42:59 1.34 +++ Makefile 2001/05/20 15:39:17 @@ -7,46 +7,111 @@ # 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} +MASTER_SITE_SUBDIR= ${PORTNAME} MAINTAINER= ports@FreeBSD.org -VGABIOS= VGABIOS-elpin-2.20 -BIOS= BIOS-bochs-990925a +# +# Global variables +# +USE_X_PREFIX= yes 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 \ + --enable-sb16=linux .ifdef(WANT_DEBUGGER) -CONFIGURE_ARGS+= --enable-debugger --enable-disasm +CONFIGURE_ARGS+= --enable-debugger \ + --enable-disasm +.endif +.ifdef(WANT_X86_DEBUGGER) +CONFIGURE_ARGS+= --enable-x86-debugger .endif + +PLIST_SUB= VGABIOS="${VGABIOS}" ROMBIOS="${ROMBIOS}" X11BASE="${X11BASE}" \ + SAMP_SUBDIR="${SAMP_SUBDIR}" DATA_SUBDIR="${DATA_SUBDIR}" \ + FONT_SUBDIR="${FONT_SUBDIR}" DOC_SUBDIR="${DOC_SUBDIR}" \ + +# +# Local variables +# + +VGABIOS= VGABIOS-elpin-2.40 +ROMBIOS= BIOS-bochs-990925a + +PROG_SUBDIR= bin +SAMP_SUBDIR= lib/${PKGBASE} +DATA_SUBDIR= lib/${PKGBASE}/bios +FONT_SUBDIR= lib/${PKGBASE}/font +DOC_SUBDIR= share/doc/${PKGBASE} + +PROG_FILES= bochs +SAMP_FILES= bochsrc.sample +DATA_FILES= bios/${VGABIOS} bios/${ROMBIOS} +FONT_FILES= font/vga.pcf +DOC_FILES= bios/VGABIOS-elpin-LICENSE \ + docs-html/*.html docs-html/*.gif + +MKFONTDIR?= ${X11BASE}/bin/mkfontdir + +# +# Patch +# + +post-patch: patch-boshrc + +patch-boshrc: + @${SED} \ + -e '/^vgaromimage:/s|bios|${PREFIX}/${DATA_SUBDIR}|' \ + -e '/^romimage:/s|bios|${PREFIX}/${DATA_SUBDIR}|' \ + ${WRKSRC}/.bochsrc > ${WRKSRC}/bochsrc.sample + +# +# Install +# + +do-install: install-program install-sample install-data install-font install-doc + +install-program: +.for file in ${PROG_FILES} + ${INSTALL_DATA} ${WRKSRC}/${file} ${PREFIX}/${PROG_SUBDIR} +.endfor + +install-sample: + @${MKDIR} ${PREFIX}/${SAMP_SUBDIR} +.for file in ${SAMP_FILES} + ${INSTALL_DATA} ${WRKSRC}/${file} ${PREFIX}/${SAMP_SUBDIR} +.endfor + +install-data: + @${MKDIR} ${PREFIX}/${DATA_SUBDIR} +.for file in ${DATA_FILES} + ${INSTALL_DATA} ${WRKSRC}/${file} ${PREFIX}/${DATA_SUBDIR} +.endfor + +install-font: + @${MKDIR} ${PREFIX}/${FONT_SUBDIR} +.for file in ${FONT_FILES} + ${INSTALL_DATA} ${WRKSRC}/${file} ${PREFIX}/${FONT_SUBDIR} +.endfor + ${GZIP_CMD} ${PREFIX}/${FONT_SUBDIR}/*.pcf -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/|' \ - ${WRKSRC}/.bochsrc - -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-doc: .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 + @${MKDIR} ${PREFIX}/${DOC_SUBDIR} +.for file in ${DOC_FILES} + ${INSTALL_DATA} ${WRKSRC}/${file} ${PREFIX}/${DOC_SUBDIR} +.endfor .endif + +post-install: post-install-font + +post-install-font: + ${MKFONTDIR} ${PREFIX}/${FONT_SUBDIR} .include <bsd.port.mk> Index: distinfo =================================================================== RCS file: /home/ncvs/ports/emulators/bochs/distinfo,v retrieving revision 1.14 diff -u -r1.14 distinfo --- distinfo 2000/07/17 13:40:09 1.14 +++ distinfo 2001/05/19 20:21:42 @@ -1 +1 @@ -MD5 (bochs-2000_0325a.tar.gz) = 6a6fc6794b81c88d71037f17c918a880 +MD5 (bochs-1.1.2.tar.gz) = 3790082c1736aac66b3b25a95ba78891 Index: pkg-descr =================================================================== RCS file: /home/ncvs/ports/emulators/bochs/pkg-descr,v retrieving revision 1.4 diff -u -r1.4 pkg-descr --- pkg-descr 1999/05/02 22:06:40 1.4 +++ pkg-descr 2001/05/19 20:39:31 @@ -1,5 +1,13 @@ -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 most 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 at the following URL. + +WWW: http://bochs.sourceforge.net/ Index: pkg-plist =================================================================== RCS file: /home/ncvs/ports/emulators/bochs/pkg-plist,v retrieving revision 1.14 diff -u -r1.14 pkg-plist --- pkg-plist 2000/07/17 13:40:09 1.14 +++ pkg-plist 2001/05/20 15:45:45 @@ -1,33 +1,38 @@ +@comment $FreeBSD$ 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 +%%SAMP_SUBDIR%%/bochsrc.sample +%%DATA_SUBDIR%%/%%VGABIOS%% +%%DATA_SUBDIR%%/%%ROMBIOS%% +%%FONT_SUBDIR%%/vga.pcf.gz +@exec %%X11BASE%%/mkfontdir %B +@unexec rm -f %B/fonts.dir +%%PORTDOCS%%%%DOC_SUBDIR%%/VGABIOS-elpin-LICENSE +%%PORTDOCS%%%%DOC_SUBDIR%%/3rdparty.license.html +%%PORTDOCS%%%%DOC_SUBDIR%%/Linux.html +%%PORTDOCS%%%%DOC_SUBDIR%%/Minix.html +%%PORTDOCS%%%%DOC_SUBDIR%%/OldWindows95.html +%%PORTDOCS%%%%DOC_SUBDIR%%/Windows95.html +%%PORTDOCS%%%%DOC_SUBDIR%%/changelog.html +%%PORTDOCS%%%%DOC_SUBDIR%%/codingguidelines.html +%%PORTDOCS%%%%DOC_SUBDIR%%/configure.html +%%PORTDOCS%%%%DOC_SUBDIR%%/construction.html +%%PORTDOCS%%%%DOC_SUBDIR%%/cosimulation.html +%%PORTDOCS%%%%DOC_SUBDIR%%/cvs-status.html +%%PORTDOCS%%%%DOC_SUBDIR%%/debugger.html +%%PORTDOCS%%%%DOC_SUBDIR%%/developers.html +%%PORTDOCS%%%%DOC_SUBDIR%%/faq.html +%%PORTDOCS%%%%DOC_SUBDIR%%/features.html +%%PORTDOCS%%%%DOC_SUBDIR%%/fpu.html +%%PORTDOCS%%%%DOC_SUBDIR%%/guestNT.html +%%PORTDOCS%%%%DOC_SUBDIR%%/index.html +%%PORTDOCS%%%%DOC_SUBDIR%%/install.html +%%PORTDOCS%%%%DOC_SUBDIR%%/instrumentation.html +%%PORTDOCS%%%%DOC_SUBDIR%%/mtools.html +%%PORTDOCS%%%%DOC_SUBDIR%%/sound.html +%%PORTDOCS%%%%DOC_SUBDIR%%/undercon.gif +%%PORTDOCS%%%%DOC_SUBDIR%%/whatisbochs.html +%%PORTDOCS%%%%DOC_SUBDIR%%/win32.html +@dirrm %%FONT_SUBDIR%% +@dirrm %%DATA_SUBDIR%% +@dirrm %%SAMP_SUBDIR%% +%%PORTDOCS%%@dirrm %%DOC_SUBDIR%% Index: files/patch-aa =================================================================== RCS file: /home/ncvs/ports/emulators/bochs/files/patch-aa,v retrieving revision 1.11 diff -u -r1.11 patch-aa --- files/patch-aa 1999/11/23 01:55:04 1.11 +++ files/patch-aa 2001/05/20 15:46:18 @@ -1,3 +1,4 @@ +$FreeBSD$ --- .bochsrc.orig Sun Nov 14 16:01:27 1999 +++ .bochsrc Mon Nov 22 17:44:06 1999 @@ -84,4 +84,4 @@ Index: files/patch-ad =================================================================== RCS file: /home/ncvs/ports/emulators/bochs/files/patch-ad,v retrieving revision 1.2 diff -u -r1.2 patch-ad --- files/patch-ad 2000/01/16 19:56:01 1.2 +++ files/patch-ad 2001/05/20 15:46:24 @@ -1,15 +1,16 @@ ---- 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 08:46:26 2001 ++++ iodev/cdrom.cc Sun May 20 13:23:11 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 +19,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,57 +28,56 @@ { struct ioc_toc_header h; struct ioc_read_toc_entry t; -@@ -366,6 +366,53 @@ - +@@ -397,6 +397,52 @@ fprintf(stderr, "#cdrom: capacity: %u\n", lp.d_secperunit); return(lp.d_secperunit); -+ } + } +#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 data size, since disklabel doesn't appear ++ // to work, sadly. ++ // Keith Jones, 16 January 2000 + +#define MAX_TRACKS 100 + -+ int i, num_tracks, num_sectors; -+ struct ioc_toc_header td; -+ struct ioc_read_toc_entry rte; -+ struct cd_toc_entry toc_buffer[MAX_TRACKS + 1]; -+ -+ if (fd < 0) -+ bx_panic("cdrom: capacity: file not open.\n"); -+ -+ if (ioctl(fd, CDIOREADTOCHEADER, &td) < 0) -+ bx_panic("cdrom: ioctl(CDIOREADTOCHEADER) failed\n"); -+ -+ num_tracks = (td.ending_track - td.starting_track) + 1; -+ if (num_tracks > MAX_TRACKS) -+ bx_panic("cdrom: TOC is too large\n"); -+ -+ rte.address_format = CD_LBA_FORMAT; -+ rte.starting_track = td.starting_track; -+ rte.data_len = (num_tracks + 1) * sizeof(struct cd_toc_entry); -+ rte.data = toc_buffer; -+ if (ioctl(fd, CDIOREADTOCENTRYS, &rte) < 0) -+ bx_panic("cdrom: ioctl(CDIOREADTOCENTRYS) failed\n"); -+ -+ num_sectors = -1; -+ for (i = 0; i < num_tracks; i++) { -+ if (rte.data[i].control & 4) { /* data track */ -+ num_sectors = ntohl(rte.data[i + 1].addr.lba) -+ - ntohl(rte.data[i].addr.lba); -+ fprintf(stderr, "cdrom: Data track %d, length %d\n", -+ rte.data[i].track, num_sectors); -+ break; -+ } -+ } ++ int i, num_tracks, num_sectors; ++ struct ioc_toc_header td; ++ struct ioc_read_toc_entry rte; ++ struct cd_toc_entry toc_buffer[MAX_TRACKS + 1]; ++ ++ if (fd < 0) ++ bx_panic("cdrom: capacity: file not open.\n"); ++ ++ if (ioctl(fd, CDIOREADTOCHEADER, &td) < 0) ++ bx_panic("cdrom: ioctl(CDIOREADTOCHEADER) failed\n"); ++ ++ num_tracks = (td.ending_track - td.starting_track) + 1; ++ if (num_tracks > MAX_TRACKS) ++ bx_panic("cdrom: TOC is too large\n"); ++ ++ rte.address_format = CD_LBA_FORMAT; ++ rte.starting_track = td.starting_track; ++ rte.data_len = (num_tracks + 1) * sizeof(struct cd_toc_entry); ++ rte.data = toc_buffer; ++ if (ioctl(fd, CDIOREADTOCENTRYS, &rte) < 0) ++ bx_panic("cdrom: ioctl(CDIOREADTOCENTRYS) failed\n"); ++ ++ num_sectors = -1; ++ for (i = 0; i < num_tracks; i++) { ++ if (rte.data[i].control & 4) { /* data track */ ++ num_sectors = ntohl(rte.data[i + 1].addr.lba) ++ - ntohl(rte.data[i].addr.lba); ++ fprintf(stderr, "cdrom: Data track %d, length %d\n", ++ rte.data[i].track, num_sectors); ++ break; ++ } ++ } + -+ if (num_sectors < 0) -+ bx_panic("cdrom: no data track found\n"); ++ if (num_sectors < 0) ++ bx_panic("cdrom: no data track found\n"); + -+ return(num_sectors); -+ - } ++ return(num_sectors); ++} #elif defined WIN32 { + unsigned long FileSize; Index: files/patch-ae =================================================================== RCS file: /home/ncvs/ports/emulators/bochs/files/patch-ae,v retrieving revision 1.1 diff -u -r1.1 patch-ae --- files/patch-ae 2000/02/03 16:01:13 1.1 +++ files/patch-ae 2001/05/20 15:46:27 @@ -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'); } >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200105201603.f4KG3ZA85102>