From db58686ea91f7276adbf68e9db40fba0a4112405 Mon Sep 17 00:00:00 2001 From: Nick White Date: Sun, 14 Jun 2009 19:42:51 +0100 Subject: Initial commit --- .../wine/files/corefonts-optional.ebuild.patch | 11 ++ .../wine/files/wine-0.9.51-valgrind.patch | 56 ++++++++ .../wine/files/wine-1.0_rc3-openssl.patch | 81 +++++++++++ .../wine/files/wine-1.1.15-configure-host.patch | 13 ++ app-emulation/wine/files/wine-1.1.15-winegcc.patch | 55 ++++++++ .../wine/files/wine-1.1.4-install-fix.patch | 22 +++ app-emulation/wine/files/wine-gentoo-no-ssp.patch | 16 +++ app-emulation/wine/wine-1.1.12.ebuild | 153 +++++++++++++++++++++ 8 files changed, 407 insertions(+) create mode 100644 app-emulation/wine/files/corefonts-optional.ebuild.patch create mode 100644 app-emulation/wine/files/wine-0.9.51-valgrind.patch create mode 100644 app-emulation/wine/files/wine-1.0_rc3-openssl.patch create mode 100644 app-emulation/wine/files/wine-1.1.15-configure-host.patch create mode 100644 app-emulation/wine/files/wine-1.1.15-winegcc.patch create mode 100644 app-emulation/wine/files/wine-1.1.4-install-fix.patch create mode 100644 app-emulation/wine/files/wine-gentoo-no-ssp.patch create mode 100644 app-emulation/wine/wine-1.1.12.ebuild (limited to 'app-emulation') 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 +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 + # include + #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 +-#undef FAR +-#define FAR do_not_use_this_in_wine +-#undef DSA +-#endif + #ifdef HAVE_SYS_SOCKET_H + # include + #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 + #ifdef HAVE_POLL_H + #include + #endif +@@ -42,6 +43,22 @@ + #ifdef HAVE_SYS_IOCTL_H + # include + #endif ++#include ++#ifdef HAVE_NETDB_H ++# include ++#endif ++#ifdef HAVE_NETINET_IN_H ++# include ++#endif ++#ifdef HAVE_OPENSSL_SSL_H ++# include ++#undef FAR ++#undef DSA ++#endif ++#ifdef HAVE_SYS_SOCKET_H ++# include ++#endif ++ + #include + #include + #include 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 +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" +} -- cgit v1.2.3