summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHanno Boeck <hanno@gentoo.org>2003-10-07 17:45:46 +0000
committerHanno Boeck <hanno@gentoo.org>2003-10-07 17:45:46 +0000
commit4f410ade9410fe1f6c01e5e7309d5f7d132dee04 (patch)
treeb7a61e528793884c716d98c36d913b9e19747fc1 /app-emulation/dosemu
parentx86 stable (diff)
downloadhistorical-4f410ade9410fe1f6c01e5e7309d5f7d132dee04.tar.gz
historical-4f410ade9410fe1f6c01e5e7309d5f7d132dee04.tar.bz2
historical-4f410ade9410fe1f6c01e5e7309d5f7d132dee04.zip
dosemu fixes
Diffstat (limited to 'app-emulation/dosemu')
-rw-r--r--app-emulation/dosemu/ChangeLog9
-rw-r--r--app-emulation/dosemu/Manifest10
-rw-r--r--app-emulation/dosemu/dosemu-1.1.99.1-r1.ebuild56
-rw-r--r--app-emulation/dosemu/files/digest-dosemu-1.1.99.1-r12
-rw-r--r--app-emulation/dosemu/files/dosemu_kernel26_patch51
-rw-r--r--app-emulation/dosemu/metadata.xml6
6 files changed, 130 insertions, 4 deletions
diff --git a/app-emulation/dosemu/ChangeLog b/app-emulation/dosemu/ChangeLog
index 15bc8d520393..23a173ee5385 100644
--- a/app-emulation/dosemu/ChangeLog
+++ b/app-emulation/dosemu/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for app-emulation/dosemu
# Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/dosemu/ChangeLog,v 1.13 2003/10/01 12:39:41 hanno Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/dosemu/ChangeLog,v 1.14 2003/10/07 17:45:39 hanno Exp $
+
+*dosemu-1.1.99.1-r1 (07 Oct 2003)
+
+ 07 Oct 2003; Hanno Boeck <hanno@gentoo.org> dosemu-1.1.99.1-r1.ebuild,
+ files/dosemu_kernel26_patch:
+ Re-added dosemu-broken-links.diff and added patch for compatibility with
+ kernel 2.6.
*dosemu-1.1.99.1 (01 Oct 2003)
diff --git a/app-emulation/dosemu/Manifest b/app-emulation/dosemu/Manifest
index 11c88d6ac844..40f88ab26825 100644
--- a/app-emulation/dosemu/Manifest
+++ b/app-emulation/dosemu/Manifest
@@ -1,6 +1,10 @@
+MD5 161c2154031c2dfc6987c68324e85aea ChangeLog 2518
+MD5 1c96c5a9d90e0fa9e8a858b88e087b4c dosemu-1.1.5-r1.ebuild 1631
+MD5 edcf48b4a5a1374ca1d101e4d62922a9 dosemu-1.1.99.1.ebuild 1202
+MD5 14764799e2f22248b93e951555c1a790 dosemu-1.1.99.1-r1.ebuild 1317
+MD5 a72a06a37ca4e5905085ebff07fe9e9e metadata.xml 217
+MD5 d9edbc98f1c06b2c5ad563ab29928ec0 files/dosemu_kernel26_patch 1480
MD5 1111d8e64602844f871f5c0f2deb839b files/digest-dosemu-1.1.5-r1 133
MD5 7512fcf270de5d4d5be6bdf556ad1d2a files/digest-dosemu-1.1.99.1 136
+MD5 7512fcf270de5d4d5be6bdf556ad1d2a files/digest-dosemu-1.1.99.1-r1 136
MD5 11e355fbc16d4a8c49fbd93df36e1350 files/dosemu-broken-links.diff 521
-MD5 edcf48b4a5a1374ca1d101e4d62922a9 dosemu-1.1.99.1.ebuild 1202
-MD5 b97beb0cd8178fc590fca5eb58c0f280 ChangeLog 2289
-MD5 1c96c5a9d90e0fa9e8a858b88e087b4c dosemu-1.1.5-r1.ebuild 1631
diff --git a/app-emulation/dosemu/dosemu-1.1.99.1-r1.ebuild b/app-emulation/dosemu/dosemu-1.1.99.1-r1.ebuild
new file mode 100644
index 000000000000..54990d9002ce
--- /dev/null
+++ b/app-emulation/dosemu/dosemu-1.1.99.1-r1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2003 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/dosemu/dosemu-1.1.99.1-r1.ebuild,v 1.1 2003/10/07 17:45:39 hanno Exp $
+
+inherit eutils
+
+P_FD=dosemu-freedos-b9-bin
+DESCRIPTION="DOS Emulator"
+HOMEPAGE="http://www.dosemu.org/"
+SRC_URI="mirror://sourceforge/dosemu/${P_FD}.tgz
+ mirror://sourceforge/dosemu/${P}.tgz"
+
+LICENSE="GPL-2 | LGPL-2.1"
+SLOT="0"
+KEYWORDS="-* ~x86"
+IUSE="X svga"
+
+DEPEND="X? ( virtual/x11 )
+ svga? ( media-libs/svgalib )
+ sys-libs/slang"
+
+# Has problems with -O3 on some systems
+replace-flags -O[3-9] -O2
+
+src_unpack() {
+ unpack ${P}.tgz
+ cd ${S}
+ epatch ${FILESDIR}/dosemu-broken-links.diff
+ epatch ${FILESDIR}/dosemu_kernel26_patch
+ # extract freedos binary
+ cd ${S}/src
+ unpack ${P_FD}.tgz
+}
+
+src_compile() {
+ local myflags
+
+ use X || myflags="${myflags} --with-x=no"
+ use svga && myflags="${myflags} --enable-use-svgalib"
+
+ econf ${myflags} || die "DOSemu Base Configuration Failed"
+
+ emake || die
+}
+
+src_install() {
+ make DESTDIR=${D} install || die
+
+ doman man/*.1
+ rm -rf ${D}/opt/dosemu/man/
+
+ mv ${D}/usr/share/doc/dosemu ${D}/usr/share/doc/${PF}
+
+ # freedos tarball is needed in /usr/share/dosemu
+ cp ${DISTDIR}/${P_FD}.tgz ${D}/usr/share/dosemu/dosemu-freedos-bin.tgz
+}
diff --git a/app-emulation/dosemu/files/digest-dosemu-1.1.99.1-r1 b/app-emulation/dosemu/files/digest-dosemu-1.1.99.1-r1
new file mode 100644
index 000000000000..719468ad99af
--- /dev/null
+++ b/app-emulation/dosemu/files/digest-dosemu-1.1.99.1-r1
@@ -0,0 +1,2 @@
+MD5 078146d2905b1f735573aab37e3d7c4f dosemu-freedos-b9-bin.tgz 1072238
+MD5 23dc1c006707a4bfa1e7eb1e81a1f8d4 dosemu-1.1.99.1.tgz 2149504
diff --git a/app-emulation/dosemu/files/dosemu_kernel26_patch b/app-emulation/dosemu/files/dosemu_kernel26_patch
new file mode 100644
index 000000000000..f3ac22d232c7
--- /dev/null
+++ b/app-emulation/dosemu/files/dosemu_kernel26_patch
@@ -0,0 +1,51 @@
+ --- src/dosext/dpmi/dpmi.h 17 Sep 2003 14:40:54 -0000 1.1.2.2
+ +++ src/dosext/dpmi/dpmi.h 30 Sep 2003 00:36:51 -0000 1.1.2.3
+ @@ -31,8 +31,8 @@
+ /* Aargh!! Is this the only way we have to know if a signal interrupted
+ * us in DPMI server or client code? */
+ #ifdef __linux__
+ -#define UCODESEL 0x23
+ -#define UDATASEL 0x2b
+ +#define UCODESEL ucodesel
+ +#define UDATASEL udatasel
+ #endif
+
+ /* DANG_BEGIN_REMARK
+ --- src/emu-i386/cpu.c 23 Jun 2003 00:02:08 -0000 1.1.1.1
+ +++ src/emu-i386/cpu.c 30 Sep 2003 00:36:51 -0000 1.1.1.1.4.1
+ @@ -96,6 +96,12 @@
+ };
+ #endif
+
+ +/* DOSEMU code selector and data selector. Initialized at startup.
+ + * These used to be 0x23 and 0x2b, but change to 0x73 and 0x7b
+ + * in Linux kernel 2.6
+ + */
+ +unsigned short ucodesel, udatasel;
+ +
+ /*
+ * DANG_BEGIN_FUNCTION cpu_trap_0f
+ *
+ @@ -241,6 +247,12 @@
+ #else
+ REG(eflags) |= (VIF | VIP);
+ #endif
+ +
+ + /* initialize user data & code selector values (used by DPMI code) */
+ + __asm__ volatile (
+ + " movw %%cs, ucodesel\n"
+ + " movw %%ds, udatasel\n"
+ + ::);
+
+ #ifdef X86_EMULATOR
+ if (config.cpuemu) {
+ --- src/include/cpu.h 23 Jun 2003 21:13:15 -0000 1.2
+ +++ src/include/cpu.h 30 Sep 2003 00:36:51 -0000 1.2.4.1
+ @@ -301,4 +301,6 @@
+ extern int write_port_w(unsigned int value,unsigned short port);
+ int do_soft_int(int intno);
+
+ +extern unsigned short ucodesel, udatasel;
+ +
+ #endif /* CPU_H */
+ \ No newline at end of file
diff --git a/app-emulation/dosemu/metadata.xml b/app-emulation/dosemu/metadata.xml
new file mode 100644
index 000000000000..efa54454de71
--- /dev/null
+++ b/app-emulation/dosemu/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>no-herd</herd>
+<maintainer><email>hanno@gentoo.org</email></maintainer>
+</pkgmetadata>