summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2004-10-27 19:51:58 +0000
committerMike Frysinger <vapier@gentoo.org>2004-10-27 19:51:58 +0000
commit54addd02ee64e5ce9e997c823de92153f30bd350 (patch)
treee7e304533b0058fa4a66266907427c2aa1f7d97f /app-emulation
parentadded ~ppc-macos closes bug 67555 (diff)
downloadhistorical-54addd02ee64e5ce9e997c823de92153f30bd350.tar.gz
historical-54addd02ee64e5ce9e997c823de92153f30bd350.tar.bz2
historical-54addd02ee64e5ce9e997c823de92153f30bd350.zip
Version bump to move wine into the normal prefix of things (/usr). The winex ebuilds have long been punted from portage and the prebuilt solutions from transgaming come in nicely bundled formats so there wont be any collisions. Indirectly, we solve #33174 and #43550. Also, update our config files #59134, make sure the default registry is created properly #58976, and clean up our wrappers #63376.
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/wine/ChangeLog13
-rw-r--r--app-emulation/wine/Manifest7
-rw-r--r--app-emulation/wine/files/20041019-load-wrappers.patch44
-rw-r--r--app-emulation/wine/files/digest-wine-20041019-r13
-rw-r--r--app-emulation/wine/wine-20041019-r1.ebuild132
5 files changed, 196 insertions, 3 deletions
diff --git a/app-emulation/wine/ChangeLog b/app-emulation/wine/ChangeLog
index 0e72522661ac..8dd6f1664de3 100644
--- a/app-emulation/wine/ChangeLog
+++ b/app-emulation/wine/ChangeLog
@@ -1,6 +1,17 @@
# ChangeLog for app-emulation/wine
# Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/ChangeLog,v 1.78 2004/10/27 12:45:14 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/ChangeLog,v 1.79 2004/10/27 19:51:57 vapier Exp $
+
+*wine-20041019-r1 (27 Oct 2004)
+
+ 27 Oct 2004; Mike Frysinger <vapier@gentoo.org>
+ +files/20041019-load-wrappers.patch, +wine-20041019-r1.ebuild:
+ Version bump to move wine into the normal prefix of things (/usr). The winex
+ ebuilds have long been punted from portage and the prebuilt solutions from
+ transgaming come in nicely bundled formats so there wont be any collisions.
+ Indirectly, we solve #33174 and #43550. Also, update our config files
+ #59134, make sure the default registry is created properly #58976, and clean
+ up our wrappers #63376.
*wine-20041019 (27 Oct 2004)
diff --git a/app-emulation/wine/Manifest b/app-emulation/wine/Manifest
index 5595fedc106a..a5a7fae7e6a0 100644
--- a/app-emulation/wine/Manifest
+++ b/app-emulation/wine/Manifest
@@ -1,8 +1,11 @@
-MD5 878ccf9a45f17e6b3d0f80894a730588 ChangeLog 13679
+MD5 0a0219ff573492e115baf933263ad85b ChangeLog 14239
MD5 6525c48ba09d08599432ea6c299e52f4 metadata.xml 354
+MD5 ba6fc68ac42bffafc1b2b0a0ccdf99b6 wine-20041019-r1.ebuild 3455
MD5 c34592b921795c2afde7e0e6cb5fbafd wine-20041019.ebuild 3652
MD5 0b8a40b373bf8ab6c0368dd5a64f5449 wine-20040716.ebuild 3443
-MD5 64c9b939319110b4f44ef6f431262181 files/digest-wine-20041019 212
+MD5 f619ca99f68a2d81076b45b3c19ddbc5 files/20041019-load-wrappers.patch 1402
MD5 1668a758aa2007cb99a773b3c5c844c9 files/winearts-kdecvs-fix.patch 325
MD5 ae28341f05c0916661c1346a28720230 files/QueryActCtxw_Photoshop7.0.diff 686
+MD5 90d546d818e0470698ca6b743abe9fca files/digest-wine-20041019-r1 212
+MD5 64c9b939319110b4f44ef6f431262181 files/digest-wine-20041019 212
MD5 b1893ef0ed5c38dabcbea9fcc3d35f59 files/digest-wine-20040716 212
diff --git a/app-emulation/wine/files/20041019-load-wrappers.patch b/app-emulation/wine/files/20041019-load-wrappers.patch
new file mode 100644
index 000000000000..35a54a797749
--- /dev/null
+++ b/app-emulation/wine/files/20041019-load-wrappers.patch
@@ -0,0 +1,44 @@
+--- wine-20041019/loader/preloader.c.orig 2004-09-23 20:25:32.000000000 -0400
++++ wine-20041019/loader/preloader.c 2004-10-27 11:06:46.914656000 -0400
+@@ -69,6 +69,7 @@
+ #include <string.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
++#include <sys/param.h>
+ #include <fcntl.h>
+ #ifdef HAVE_SYS_MMAN_H
+ # include <sys/mman.h>
+@@ -495,6 +496,7 @@
+ unsigned char buf[0x800];
+ ElfW(Ehdr) *header = (ElfW(Ehdr)*)buf;
+ ElfW(Phdr) *phdr, *ph;
++ char altname[MAXPATHLEN];
+ /* Scan the program header table, collecting its load commands. */
+ struct loadcmd
+ {
+@@ -503,9 +505,23 @@
+ int prot;
+ } loadcmds[16], *c;
+ size_t nloadcmds = 0, maplength;
++ int i;
+
+- fd = wld_open( name, O_RDONLY );
+- if (fd == -1) fatal_error("%s: could not open\n", name );
++ if (strlen(name)+5 >= MAXPATHLEN)
++ fatal_error("%s: path too long\n", name);
++ for (i=0; i<strlen(name); ++i)
++ altname[i] = name[i];
++ altname[i++] = '-';
++ altname[i++] = 'b';
++ altname[i++] = 'i';
++ altname[i++] = 'n';
++ altname[i++] = '\0';
++ fd = wld_open( altname, O_RDONLY );
++ if (fd == -1) {
++ fd = wld_open( name, O_RDONLY );
++ if (fd == -1)
++ fatal_error("%s: could not open\n", name );
++ }
+
+ if (wld_read( fd, buf, sizeof(buf) ) != sizeof(buf))
+ fatal_error("%s: failed to read ELF header\n", name);
diff --git a/app-emulation/wine/files/digest-wine-20041019-r1 b/app-emulation/wine/files/digest-wine-20041019-r1
new file mode 100644
index 000000000000..d670cd4fc00f
--- /dev/null
+++ b/app-emulation/wine/files/digest-wine-20041019-r1
@@ -0,0 +1,3 @@
+MD5 412d0e6f2e364c43d8c77b5904c70da9 Wine-20041019.tar.gz 11058180
+MD5 5dfe8a4fcf3c9739592bc6219c3fbbe4 wine-20041027-fake_windows.tar.bz2 498
+MD5 a718ee15e68cb93806c095d95ba268e3 wine-20041027-misc.tar.bz2 2530
diff --git a/app-emulation/wine/wine-20041019-r1.ebuild b/app-emulation/wine/wine-20041019-r1.ebuild
new file mode 100644
index 000000000000..f651f0068dcc
--- /dev/null
+++ b/app-emulation/wine/wine-20041019-r1.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-20041019-r1.ebuild,v 1.1 2004/10/27 19:51:58 vapier Exp $
+
+inherit eutils flag-o-matic
+
+STAMP=20041027
+DESCRIPTION="free implementation of Windows(tm) on Unix - CVS snapshot"
+HOMEPAGE="http://www.winehq.com/"
+SRC_URI="mirror://sourceforge/${PN}/Wine-${PV}.tar.gz
+ mirror://gentoo/${PN}-${STAMP}-fake_windows.tar.bz2
+ mirror://gentoo/${PN}-${STAMP}-misc.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="-*"
+IUSE="X jack alsa arts cups debug nas opengl tcltk ncurses"
+
+DEPEND="sys-devel/gcc
+ sys-devel/flex
+ ncurses? ( >=sys-libs/ncurses-5.2 )
+ >=media-libs/freetype-2.0.0
+ jack? ( media-sound/jack )
+ X? ( virtual/x11 )
+ tcltk? ( dev-lang/tcl dev-lang/tk )
+ arts? ( kde-base/arts )
+ alsa? ( media-libs/alsa-lib )
+ nas? ( media-libs/nas )
+ cups? ( net-print/cups )
+ opengl? ( virtual/opengl )
+ >=sys-apps/sed-4"
+
+src_unpack() {
+ unpack Wine-${PV}.tar.gz
+ unpack ${PN}-${STAMP}-fake_windows.tar.bz2
+ mkdir misc ; cd misc
+ unpack ${PN}-${STAMP}-misc.tar.bz2
+
+ cd ${S}
+ epatch ${WORKDIR}/misc/config.patch
+ epatch ${FILESDIR}/winearts-kdecvs-fix.patch
+ epatch ${FILESDIR}/${PV}-load-wrappers.patch
+ sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in
+}
+
+config_cache() {
+ local h ans="no"
+ use ${1} && ans="yes"
+ shift
+ for h in "$@" ; do
+ export ac_cv_header_${h}=${ans}
+ done
+}
+
+src_compile() {
+ export LDCONFIG=/bin/true
+ config_cache jack jack_jack_h
+ config_cache cups cups_cups_h
+ config_cache alsa alsa_asoundlib_h sys_asoundlib_h
+ use arts || export ARTSCCONFIG="/bin/false"
+ config_cache nas audio_audiolib_h
+
+ strip-flags
+
+ # $(use_enable amd64 win64)
+ econf \
+ --sysconfdir=/etc/wine \
+ $(use_enable ncurses curses) \
+ $(use_enable opengl) \
+ $(use_enable debug trace) \
+ $(use_enable debug) \
+ || die "configure failed"
+
+ emake -j1 depend || die "depend"
+ emake all || die "all"
+ emake -C programs || die "programs"
+}
+
+src_install() {
+ ### Install wine to ${D}
+ local WINEMAKEOPTS="
+ prefix=${D}/usr
+ bindir=${D}/usr/bin
+ datadir=${D}/usr/share
+ mandir=${D}/usr/share/man
+ libdir=${D}/usr/lib
+ dlldir=${D}/usr/lib/wine
+ "
+ make ${WINEMAKEOPTS} install || die "install"
+ cd ${S}/programs
+ make ${WINEMAKEOPTS} install || die "install programs"
+
+ # Needed for later installation
+ dodir /usr/bin
+
+ ### Creation of /usr/share/wine/data/
+ # Setting up fake_windows
+ dodir /usr/share/wine/data
+ chown -R root:root ${WORKDIR}/fake_windows/
+ cp -r ${WORKDIR}/fake_windows ${D}/usr/share/wine/data/
+
+ # Unpacking the miscellaneous files
+ cd ${WORKDIR}/misc
+ for x in * ; do
+ [ "${x}" == "config.patch" ] && continue
+ [ -x "${D}/usr/bin/${x}" ] \
+ && mv "${D}"/usr/bin/${x}{,-bin}
+ dobin ${x}
+ done
+
+ # copying the wine.inf into .data (used to be winedefault.reg)
+ cd ${S}
+ insinto /usr/share/wine/data
+ doins documentation/sample/config
+ doins tools/wine.inf
+ insinto /usr/share/wine/data/fake_windows/Windows/System
+ doins tools/wine.inf
+ insinto /usr/share/wine/data/fake_windows/Windows/Inf
+ doins tools/wine.inf
+
+ ### Misc tasks
+ # Take care of the documentation
+ cd ${S}
+ dodoc ANNOUNCE AUTHORS BUGS ChangeLog DEVELOPERS-HINTS README
+}
+
+pkg_postinst() {
+ einfo "Use /usr/bin/wine to start wine. This is a wrapper-script"
+ einfo "which will take care of everything else."
+ einfo
+ einfo "if you have problems with nptl, use wine-pthread to start wine"
+}