[app-emulation/wine] kill the osmesa hack for win32 which disables it on amd64. requires FireBurn overlay to work, therefore not keyworded, also osmesa use flag on mesa-32bit is required which is not checked here yet due to lazyness
This commit is contained in:
		
							
								
								
									
										55
									
								
								app-emulation/wine/files/wine-1.1.15-winegcc.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								app-emulation/wine/files/wine-1.1.15-winegcc.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -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 ); | ||||
|   | ||||
							
								
								
									
										40
									
								
								app-emulation/wine/files/wine-1.4_rc2-multilib-portage.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								app-emulation/wine/files/wine-1.4_rc2-multilib-portage.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | ||||
| https://bugs.gentoo.org/show_bug.cgi?id=395615 | ||||
|  | ||||
| Explicitly add the required -m32/m64 to *FLAGS; this overrides any  | ||||
| arch-specific -m* flags that may have been appended by multilib-portage. | ||||
|  | ||||
| Even though -m32/m64 is now added to *FLAGS, -m32/m64 still has to be | ||||
| explicitly added to CC and CXX due to wine's build system. For example, | ||||
| winegcc saves the build-time value of CC and uses it at runtime. | ||||
|  | ||||
| --- a/configure.ac | ||||
| +++ b/configure.ac | ||||
| @@ -133,12 +133,18 @@ | ||||
|      then | ||||
|        CC="$CC -m64" | ||||
|        CXX="$CXX -m64" | ||||
| +      CFLAGS="$CFLAGS -m64" | ||||
| +      LDFLAGS="$LDFLAGS -m64" | ||||
| +      CXXFLAGS="$CXXFLAGS -m64" | ||||
|        host_cpu="x86_64" | ||||
|        notice_platform="64-bit " | ||||
|        AC_SUBST(TARGETFLAGS,"-m64") | ||||
|      else | ||||
|        CC="$CC -m32" | ||||
|        CXX="$CXX -m32" | ||||
| +      CFLAGS="$CFLAGS -m32" | ||||
| +      LDFLAGS="$LDFLAGS -m32" | ||||
| +      CXXFLAGS="$CXXFLAGS -m32" | ||||
|        host_cpu="i386" | ||||
|        notice_platform="32-bit " | ||||
|        AC_SUBST(TARGETFLAGS,"-m32") | ||||
| @@ -150,6 +156,9 @@ | ||||
|      then | ||||
|        CC="$CC -m32" | ||||
|        CXX="$CXX -m32" | ||||
| +      CFLAGS="$CFLAGS -m32" | ||||
| +      LDFLAGS="$LDFLAGS -m32" | ||||
| +      CXXFLAGS="$CXXFLAGS -m32" | ||||
|        AC_MSG_CHECKING([whether $CC works]) | ||||
|        AC_LINK_IFELSE([AC_LANG_PROGRAM()],AC_MSG_RESULT([yes]), | ||||
|                       [AC_MSG_RESULT([no]) | ||||
							
								
								
									
										38
									
								
								app-emulation/wine/files/wine-1.5.11-osmesa-check.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								app-emulation/wine/files/wine-1.5.11-osmesa-check.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | ||||
| From 22fcf835dfe713ad93f649a901973208e0f7b62d Mon Sep 17 00:00:00 2001 | ||||
| From: Alexandre Rostovtsev <tetromino@gentoo.org> | ||||
| Date: Tue, 7 Aug 2012 01:29:01 -0400 | ||||
| Subject: [PATCH] Do not check for libGL symbols when checking libOSMesa | ||||
|  | ||||
| If mesa had been built with shared glapi, glAccum is not available in | ||||
| libOSMesa without explicitly linking to libGL. In addition, in | ||||
| mesa-8.0.x and earlier, libOSMesa needs to be explicitly linked to | ||||
| libglapi if mesa was built with shared glapi, see | ||||
| https://bugs.gentoo.org/show_bug.cgi?id=399813 | ||||
| And in mesa-8.1.x, libOSMesa in addition needs libdl, libpthread, and | ||||
| libstdc++, see https://bugs.gentoo.org/show_bug.cgi?id=431832 | ||||
| --- | ||||
|  configure.ac |    8 +++++++- | ||||
|  1 files changed, 7 insertions(+), 1 deletions(-) | ||||
|  | ||||
| diff --git a/configure.ac b/configure.ac | ||||
| index 15ada86..6eab75e 100644 | ||||
| --- a/configure.ac | ||||
| +++ b/configure.ac | ||||
| @@ -1133,7 +1133,13 @@ This probably prevents linking to OpenGL. Try deleting the file and restarting c | ||||
|   | ||||
|                   if test "$ac_cv_header_GL_osmesa_h" = "yes" | ||||
|                   then | ||||
| -                    WINE_CHECK_SONAME(OSMesa,glAccum,,,[$X_LIBS $X_PRE_LIBS $XLIB -lm $X_EXTRA_LIBS]) | ||||
| +                    WINE_CHECK_SONAME(OSMesa,OSMesaCreateContext,,,[$X_LIBS $X_PRE_LIBS $XLIB -lm $X_EXTRA_LIBS]) | ||||
| +                    if test "x$ac_cv_lib_soname_OSMesa" = "x"; then | ||||
| +                       osmesa_save_CC=$CC | ||||
| +                       CC=$CXX | ||||
| +                       WINE_CHECK_SONAME(OSMesa,OSMesaCreateContext,,,[-lglapi -lpthread -ldl $X_LIBS $X_PRE_LIBS $XLIB -lm $X_EXTRA_LIBS]) | ||||
| +                       CC=$osmesa_save_CC | ||||
| +                    fi | ||||
|                   fi | ||||
|                   WINE_NOTICE_WITH(osmesa,[test "x$ac_cv_lib_soname_OSMesa" = "x"], | ||||
|                                   [libOSMesa ${notice_platform}development files not found (or too old), OpenGL rendering in bitmaps won't be supported.]) | ||||
| --  | ||||
| 1.7.8.6 | ||||
|  | ||||
		Reference in New Issue
	
	Block a user