summaryrefslogtreecommitdiff
path: root/app-emulation
diff options
context:
space:
mode:
authorNick White <git@njw.me.uk>2009-06-14 19:42:51 +0100
committerNick White <git@njw.me.uk>2009-06-14 19:42:51 +0100
commitdb58686ea91f7276adbf68e9db40fba0a4112405 (patch)
treec1afdd244def5611db551bb25f9a319e7a2aa93b /app-emulation
downloadnjw-gentoo-local-db58686ea91f7276adbf68e9db40fba0a4112405.tar.bz2
njw-gentoo-local-db58686ea91f7276adbf68e9db40fba0a4112405.zip
Initial commit
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/wine/files/corefonts-optional.ebuild.patch11
-rw-r--r--app-emulation/wine/files/wine-0.9.51-valgrind.patch56
-rw-r--r--app-emulation/wine/files/wine-1.0_rc3-openssl.patch81
-rw-r--r--app-emulation/wine/files/wine-1.1.15-configure-host.patch13
-rw-r--r--app-emulation/wine/files/wine-1.1.15-winegcc.patch55
-rw-r--r--app-emulation/wine/files/wine-1.1.4-install-fix.patch22
-rw-r--r--app-emulation/wine/files/wine-gentoo-no-ssp.patch16
-rw-r--r--app-emulation/wine/wine-1.1.12.ebuild153
8 files changed, 407 insertions, 0 deletions
diff --git a/app-emulation/wine/files/corefonts-optional.ebuild.patch b/app-emulation/wine/files/corefonts-optional.ebuild.patch
new file mode 100644
index 0000000..3edcffa
--- /dev/null
+++ b/app-emulation/wine/files/corefonts-optional.ebuild.patch
@@ -0,0 +1,11 @@
+--- wine-1.1.12.ebuild 2009-04-27 07:05:32.000000000 +0100
++++ wine-1.1.12.ebuild 2009-06-13 03:03:57.000000000 +0100
+@@ -29,7 +29,7 @@ IUSE="alsa cups dbus esd +gecko gnutls h
+ RESTRICT="test" #72375
+
+ RDEPEND=">=media-libs/freetype-2.0.0
+- media-fonts/corefonts
++ || ( media-fonts/liberation-fonts media-fonts/corefonts )
+ dev-lang/perl
+ dev-perl/XML-Simple
+ ncurses? ( >=sys-libs/ncurses-5.2 )
diff --git a/app-emulation/wine/files/wine-0.9.51-valgrind.patch b/app-emulation/wine/files/wine-0.9.51-valgrind.patch
new file mode 100644
index 0000000..acd0bb1
--- /dev/null
+++ b/app-emulation/wine/files/wine-0.9.51-valgrind.patch
@@ -0,0 +1,56 @@
+http://bugs.gentoo.org/202542
+
+fix from Rafal Muzylo building with newer versions of valgrind
+
+--- dlls/ntdll/heap.c
++++ dlls/ntdll/heap.c
+@@ -142,6 +142,8 @@
+ if (TRACE_ON(heap) || WARN_ON(heap)) memset( ptr, ARENA_FREE_FILLER, size );
+ #ifdef VALGRIND_MAKE_NOACCESS
+ VALGRIND_DISCARD( VALGRIND_MAKE_NOACCESS( ptr, size ));
++#elif defined(VALGRIND_MAKE_MEM_NOACCESS)
++ VALGRIND_DISCARD( VALGRIND_MAKE_MEM_NOACCESS( ptr, size ));
+ #endif
+ }
+
+@@ -150,6 +152,8 @@
+ {
+ #ifdef VALGRIND_MAKE_READABLE
+ VALGRIND_DISCARD( VALGRIND_MAKE_READABLE( ptr, size ));
++#elif defined(VALGRIND_MAKE_MEM_DEFINED)
++ VALGRIND_DISCARD( VALGRIND_MAKE_MEM_DEFINED( ptr, size ));
+ #endif
+ }
+
+@@ -158,6 +162,8 @@
+ {
+ #ifdef VALGRIND_MAKE_WRITABLE
+ VALGRIND_DISCARD( VALGRIND_MAKE_WRITABLE( ptr, size ));
++#elif defined(VALGRIND_MAKE_MEM_UNDEFINED)
++ VALGRIND_DISCARD( VALGRIND_MAKE_MEM_UNDEFINED( ptr, size ));
+ #endif
+ if (TRACE_ON(heap) || WARN_ON(heap))
+ {
+@@ -165,6 +171,8 @@
+ #ifdef VALGRIND_MAKE_WRITABLE
+ /* make it uninitialized to valgrind again */
+ VALGRIND_DISCARD( VALGRIND_MAKE_WRITABLE( ptr, size ));
++#elif defined(VALGRIND_MAKE_MEM_UNDEFINED)
++ VALGRIND_DISCARD( VALGRIND_MAKE_MEM_UNDEFINED( ptr, size ));
+ #endif
+ }
+ }
+--- dlls/ntdll/signal_i386.c
++++ dlls/ntdll/signal_i386.c
+@@ -936,8 +936,10 @@
+ }
+
+ stack--; /* push the stack_layout structure */
+-#ifdef HAVE_VALGRIND_MEMCHECK_H
++#ifdef VALGRIND_MAKE_WRITABLE
+ VALGRIND_MAKE_WRITABLE(stack, sizeof(*stack));
++#elif defined(VALGRIND_MAKE_MEM_UNDEFINED)
++ VALGRIND_MAKE_MEM_UNDEFINED(stack, sizeof(*stack));
+ #endif
+ stack->ret_addr = (void *)0xdeadbabe; /* raise_func must not return */
+ stack->rec_ptr = &stack->rec;
diff --git a/app-emulation/wine/files/wine-1.0_rc3-openssl.patch b/app-emulation/wine/files/wine-1.0_rc3-openssl.patch
new file mode 100644
index 0000000..b0ef483
--- /dev/null
+++ b/app-emulation/wine/files/wine-1.0_rc3-openssl.patch
@@ -0,0 +1,81 @@
+http://bugs.winehq.org/show_bug.cgi?id=13561
+http://bugs.gentoo.org/224049
+
+commit 7c616799894faa48ee3277bc276a39bed55780e0
+Author: Alexandre Julliard <julliard@winehq.org>
+Date: Mon Jun 2 12:14:37 2008 +0200
+
+ wininet: Include openssl/ssl.h before Windows headers.
+
+diff --git a/dlls/wininet/internet.h b/dlls/wininet/internet.h
+index 2645686..43b8d8e 100644
+--- a/dlls/wininet/internet.h
++++ b/dlls/wininet/internet.h
+@@ -38,18 +38,6 @@
+ # include <sys/types.h>
+ # include <netinet/in.h>
+ #endif
+-#ifdef HAVE_OPENSSL_SSL_H
+-#define DSA __ssl_DSA /* avoid conflict with commctrl.h */
+-#undef FAR
+-/* avoid conflict with wincrypt.h */
+-#undef PKCS7_SIGNER_INFO
+-#undef X509_NAME
+-#undef X509_CERT_PAIR
+-# include <openssl/ssl.h>
+-#undef FAR
+-#define FAR do_not_use_this_in_wine
+-#undef DSA
+-#endif
+ #ifdef HAVE_SYS_SOCKET_H
+ # include <sys/socket.h>
+ #endif
+@@ -69,12 +57,10 @@ typedef struct
+ {
+ BOOL useSSL;
+ int socketFD;
+-#ifdef HAVE_OPENSSL_SSL_H
+- SSL *ssl_s;
++ void *ssl_s;
+ char *peek_msg;
+ char *peek_msg_mem;
+ size_t peek_len;
+-#endif
+ } WININET_NETCONNECTION;
+
+ static inline LPWSTR WININET_strdupW( LPCWSTR str )
+diff --git a/dlls/wininet/netconnection.c b/dlls/wininet/netconnection.c
+index 9cd7917..f55fbf2 100644
+--- a/dlls/wininet/netconnection.c
++++ b/dlls/wininet/netconnection.c
+@@ -23,6 +23,7 @@
+ #include "config.h"
+ #include "wine/port.h"
+
++#include <sys/types.h>
+ #ifdef HAVE_POLL_H
+ #include <poll.h>
+ #endif
+@@ -42,6 +43,22 @@
+ #ifdef HAVE_SYS_IOCTL_H
+ # include <sys/ioctl.h>
+ #endif
++#include <time.h>
++#ifdef HAVE_NETDB_H
++# include <netdb.h>
++#endif
++#ifdef HAVE_NETINET_IN_H
++# include <netinet/in.h>
++#endif
++#ifdef HAVE_OPENSSL_SSL_H
++# include <openssl/ssl.h>
++#undef FAR
++#undef DSA
++#endif
++#ifdef HAVE_SYS_SOCKET_H
++# include <sys/socket.h>
++#endif
++
+ #include <stdarg.h>
+ #include <stdlib.h>
+ #include <string.h>
diff --git a/app-emulation/wine/files/wine-1.1.15-configure-host.patch b/app-emulation/wine/files/wine-1.1.15-configure-host.patch
new file mode 100644
index 0000000..47628f6
--- /dev/null
+++ b/app-emulation/wine/files/wine-1.1.15-configure-host.patch
@@ -0,0 +1,13 @@
+http://bugs.gentoo.org/260726
+
+--- wine-1.1.15/configure
++++ wine-1.1.15/configure
+@@ -3943,7 +3943,7 @@
+ $as_echo "$wine_cv_toolsdir" >&6; }
+ TOOLSDIR=$wine_cv_toolsdir
+
+-if test -n "$host_alias"
++if test -n "$host_alias" -a "$host_alias" != "$build_alias"
+ then
+ TARGETFLAGS="-b $host_alias $TARGETFLAGS"
+
diff --git a/app-emulation/wine/files/wine-1.1.15-winegcc.patch b/app-emulation/wine/files/wine-1.1.15-winegcc.patch
new file mode 100644
index 0000000..6e5bb22
--- /dev/null
+++ b/app-emulation/wine/files/wine-1.1.15-winegcc.patch
@@ -0,0 +1,55 @@
+http://bugs.gentoo.org/260726
+
+--- wine-1.1.15/tools/winegcc/winegcc.c
++++ wine-1.1.15/tools/winegcc/winegcc.c
+@@ -215,10 +215,13 @@
+ strarray* files;
+ };
+
++#undef FORCE_POINTER_SIZE
+ #ifdef __i386__
+ static const enum target_cpu build_cpu = CPU_x86;
++#define FORCE_POINTER_SIZE
+ #elif defined(__x86_64__)
+ static const enum target_cpu build_cpu = CPU_x86_64;
++#define FORCE_POINTER_SIZE
+ #elif defined(__sparc__)
+ static const enum target_cpu build_cpu = CPU_SPARC;
+ #elif defined(__ALPHA__)
+@@ -968,6 +971,9 @@
+ opts.linker_args = strarray_alloc();
+ opts.compiler_args = strarray_alloc();
+ opts.winebuild_args = strarray_alloc();
++#ifdef FORCE_POINTER_SIZE
++ opts.force_pointer_size = sizeof(size_t);
++#endif
+
+ /* determine the processor type */
+ if (strendswith(argv[0], "winecpp")) opts.processor = proc_cpp;
+--- wine-1.1.15/tools/winebuild/main.c
++++ wine-1.1.15/tools/winebuild/main.c
+@@ -50,10 +50,13 @@
+ int link_ext_symbols = 0;
+ int force_pointer_size = 0;
+
++#undef FORCE_POINTER_SIZE
+ #ifdef __i386__
+ enum target_cpu target_cpu = CPU_x86;
++#define FORCE_POINTER_SIZE
+ #elif defined(__x86_64__)
+ enum target_cpu target_cpu = CPU_x86_64;
++#define FORCE_POINTER_SIZE
+ #elif defined(__sparc__)
+ enum target_cpu target_cpu = CPU_SPARC;
+ #elif defined(__ALPHA__)
+@@ -574,6 +577,10 @@
+ signal( SIGTERM, exit_on_signal );
+ signal( SIGINT, exit_on_signal );
+
++#ifdef FORCE_POINTER_SIZE
++ force_pointer_size = sizeof(size_t);
++#endif
++
+ output_file = stdout;
+ argv = parse_options( argc, argv, spec );
+
diff --git a/app-emulation/wine/files/wine-1.1.4-install-fix.patch b/app-emulation/wine/files/wine-1.1.4-install-fix.patch
new file mode 100644
index 0000000..7ff5771
--- /dev/null
+++ b/app-emulation/wine/files/wine-1.1.4-install-fix.patch
@@ -0,0 +1,22 @@
+From: Alexandre Julliard <julliard@winehq.org>
+Date: Mon, 8 Sep 2008 10:37:56 +0000 (+0200)
+Subject: makefile: Fix dependency for programs install.
+X-Git-Url: http://source.winehq.org/git/wine.git/?a=commitdiff_plain;h=78c79ba349deea39
+
+makefile: Fix dependency for programs install.
+---
+
+diff --git a/Makefile.in b/Makefile.in
+index 0b2c6c0..1dd8ef1 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -96,7 +96,8 @@ include/__install__ include/__install-dev__: include libs tools
+ libs/__install__ libs/__install-lib__ libs/__install-dev__: libs
+ loader/__install__ loader/__install-lib__: libs tools
+ server/__install__ server/__install-lib__: libs tools
+-programs/__install__ programs/__install-lib__: libs tools include dlls/__install-lib__
++programs/__install__: libs tools include dlls/__install__
++programs/__install-lib__: libs tools include dlls/__install-lib__
+ tools/__install__ tools/__install-lib__ tools/__install-dev__: tools
+
+ RECURSE_TARGETS = \
diff --git a/app-emulation/wine/files/wine-gentoo-no-ssp.patch b/app-emulation/wine/files/wine-gentoo-no-ssp.patch
new file mode 100644
index 0000000..ee33c4b
--- /dev/null
+++ b/app-emulation/wine/files/wine-gentoo-no-ssp.patch
@@ -0,0 +1,16 @@
+support older ssp (gcc-3.4.x). this ssp was never in mainline gcc, thus
+upstream wine wont accept it. can drop once hardened gets a stable gcc-4.x.
+
+http://bugs.gentoo.org/66002
+
+--- loader/preloader.c
++++ loader/preloader.c
+@@ -155,6 +155,8 @@ struct wld_link_map {
+
+ /* similar to the above but for -fstack-protector */
+ void *__stack_chk_guard = 0;
++void *__guard = 0;
++void __stack_smash_handler(void) { return; }
+ void __stack_chk_fail(void) { return; }
+
+ * The _start function is the entry and exit point of this program
diff --git a/app-emulation/wine/wine-1.1.12.ebuild b/app-emulation/wine/wine-1.1.12.ebuild
new file mode 100644
index 0000000..2671e52
--- /dev/null
+++ b/app-emulation/wine/wine-1.1.12.ebuild
@@ -0,0 +1,153 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.1.12.ebuild,v 1.3 2009/04/27 05:59:22 vapier Exp $
+
+EAPI="1"
+
+inherit eutils flag-o-matic multilib
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://source.winehq.org/git/wine.git"
+ inherit git
+ SRC_URI=""
+else
+ MY_P="${PN}-${PV/_/-}"
+ SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.bz2"
+ S=${WORKDIR}/${MY_P}
+fi
+
+GV="0.9.0"
+DESCRIPTION="free implementation of Windows(tm) on Unix"
+HOMEPAGE="http://www.winehq.org/"
+SRC_URI="${SRC_URI}
+ gecko? ( mirror://sourceforge/wine/wine_gecko-${GV}.cab )"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="-* amd64 x86 ~x86-fbsd"
+IUSE="alsa cups dbus esd +gecko gnutls hal jack jpeg lcms ldap nas ncurses +opengl oss samba scanner xml +X"
+RESTRICT="test" #72375
+
+RDEPEND=">=media-libs/freetype-2.0.0
+ || ( media-fonts/liberation-fonts media-fonts/corefonts )
+ dev-lang/perl
+ dev-perl/XML-Simple
+ ncurses? ( >=sys-libs/ncurses-5.2 )
+ jack? ( media-sound/jack-audio-connection-kit )
+ dbus? ( sys-apps/dbus )
+ gnutls? ( net-libs/gnutls )
+ hal? ( sys-apps/hal )
+ X? (
+ x11-libs/libXcursor
+ x11-libs/libXrandr
+ x11-libs/libXi
+ x11-libs/libXmu
+ x11-libs/libXxf86vm
+ x11-apps/xmessage
+ )
+ alsa? ( media-libs/alsa-lib )
+ esd? ( media-sound/esound )
+ nas? ( media-libs/nas )
+ cups? ( net-print/cups )
+ opengl? ( virtual/opengl )
+ jpeg? ( media-libs/jpeg )
+ ldap? ( net-nds/openldap )
+ lcms? ( media-libs/lcms )
+ samba? ( >=net-fs/samba-3.0.25 )
+ xml? ( dev-libs/libxml2 dev-libs/libxslt )
+ scanner? ( media-gfx/sane-backends )
+ amd64? (
+ X? (
+ >=app-emulation/emul-linux-x86-xlibs-2.1
+ >=app-emulation/emul-linux-x86-soundlibs-2.1
+ )
+ >=sys-kernel/linux-headers-2.6
+ )"
+DEPEND="${RDEPEND}
+ X? (
+ x11-proto/inputproto
+ x11-proto/xextproto
+ x11-proto/xf86vidmodeproto
+ )
+ sys-devel/bison
+ sys-devel/flex"
+
+pkg_setup() {
+ use alsa || return 0
+ if ! built_with_use --missing true media-libs/alsa-lib midi ; then
+ eerror "You must build media-libs/alsa-lib with USE=midi"
+ die "please re-emerge media-libs/alsa-lib with USE=midi"
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} == "9999" ]] ; then
+ git_src_unpack
+ else
+ unpack ${MY_P}.tar.bz2
+ fi
+ cd "${S}"
+
+ sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
+ epatch "${FILESDIR}"/wine-gentoo-no-ssp.patch #66002
+ sed -i '/^MimeType/d' tools/wine.desktop || die #117785
+}
+
+config_cache() {
+ local h ans="no"
+ use $1 && ans="yes"
+ shift
+ for h in "$@" ; do
+ [[ ${h} == *.h ]] \
+ && h=header_${h} \
+ || h=lib_${h}
+ export ac_cv_${h//[:\/.]/_}=${ans}
+ done
+}
+
+src_compile() {
+ export LDCONFIG=/bin/true
+ use esd || export ac_cv_path_ESDCONFIG=""
+ use scanner || export ac_cv_path_sane_devel="no"
+ config_cache jack jack/jack.h
+ config_cache cups cups/cups.h
+ config_cache alsa alsa/asoundlib.h sys/asoundlib.h asound:snd_pcm_open
+ config_cache nas audio/audiolib.h audio/soundlib.h
+ config_cache xml libxml/parser.h libxslt/pattern.h libxslt/transform.h
+ config_cache ldap ldap.h lber.h
+ config_cache dbus dbus/dbus.h
+ config_cache hal hal/libhal.h
+ config_cache jpeg jpeglib.h
+ config_cache oss sys/soundcard.h machine/soundcard.h soundcard.h
+ config_cache lcms lcms.h
+
+ strip-flags
+
+ use amd64 && multilib_toolchain_setup x86
+
+ # $(use_enable amd64 win64)
+ econf \
+ --sysconfdir=/etc/wine \
+ $(use_with gnutls) \
+ $(use_with ncurses curses) \
+ $(use_with opengl) \
+ $(use_with X x) \
+ || die "configure failed"
+
+ emake -j1 depend || die "depend"
+ emake all || die "all"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ dodoc ANNOUNCE AUTHORS README
+ if use gecko ; then
+ insinto /usr/share/wine/gecko
+ doins "${DISTDIR}"/wine_gecko-${GV}.cab || die
+ fi
+}
+
+pkg_postinst() {
+ elog "~/.wine/config is now deprecated. For configuration either use"
+ elog "winecfg or regedit HKCU\\Software\\Wine"
+}