[MacPorts] #40724: Wine build under OSX 10.9

MacPorts noreply at macports.org
Thu Oct 10 03:21:41 PDT 2013


#40724: Wine build under OSX 10.9
--------------------------------+--------------------------------
 Reporter:  mattbrocklehurst@…  |      Owner:  macports-tickets@…
     Type:  update              |     Status:  new
 Priority:  Normal              |  Milestone:
Component:  ports               |    Version:  2.2.0
 Keywords:                      |       Port:
--------------------------------+--------------------------------
 Received this when I tried getting Wine to build (after doing hack
 documented earlier)

 gdi.c:144:5: error: use of undeclared identifier 'CGDirectPaletteRef'
     CGDirectPaletteRef palette;
     ^
 gdi.c:190:5: error: use of undeclared identifier 'palette'
     palette = CGPaletteCreateWithDisplay(mainDisplay);
     ^
 gdi.c:191:9: error: use of undeclared identifier 'palette'
     if (palette)
         ^
 gdi.c:193:52: error: use of undeclared identifier 'palette'
         palette_size = CGPaletteGetNumberOfSamples(palette);
                                                    ^
 gdi.c:194:26: error: use of undeclared identifier 'palette'
         CGPaletteRelease(palette);
                          ^
 5 errors generated.
 make[1]: *** [gdi.o] Error 1
 make: *** [dlls/winemac.drv] Error 2
 make: *** Waiting for unfinished jobs....

 Looking around this is in WineHQ and has been patched
    http://bugs.winehq.org/show_bug.cgi?id=34162

 So modified Port file to include patch

 /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/x11/wine/Portfile
 {{{
 patchfiles                  BOOL.patch \
                             mach_machine.patch \
                             gdi.patch \
                             tiger-shell.patch

 }}}

 And added patch to
 /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/x11/wine/files/gdi.patch
 {{{
 --- dlls/winemac.drv/gdi.c.orig
 +++ dlls/winemac.drv/gdi.c
 @@ -49,7 +49,6 @@ static int vert_res;            /* height in pixels of
 screen */
  static int desktop_horz_res;    /* width in pixels of virtual desktop */
  static int desktop_vert_res;    /* height in pixels of virtual desktop */
  static int bits_per_pixel;      /* pixel depth of screen */
 -static int palette_size;        /* number of color entries in palette */
  static int device_data_valid;   /* do the above variables have up-to-date
 values? */

  static CRITICAL_SECTION device_data_section;
 @@ -141,7 +140,6 @@ static void device_init(void)
      CGDirectDisplayID mainDisplay = CGMainDisplayID();
      CGSize size_mm = CGDisplayScreenSize(mainDisplay);
      CGDisplayModeRef mode = CGDisplayCopyDisplayMode(mainDisplay);
 -    CGDirectPaletteRef palette;

      /* Initialize device caps */
      log_pixels_x = log_pixels_y = get_dpi();
 @@ -187,15 +185,6 @@ static void device_init(void)
      desktop_horz_res = desktop_rect.size.width;
      desktop_vert_res = desktop_rect.size.height;

 -    palette = CGPaletteCreateWithDisplay(mainDisplay);
 -    if (palette)
 -    {
 -        palette_size = CGPaletteGetNumberOfSamples(palette);
 -        CGPaletteRelease(palette);
 -    }
 -    else
 -        palette_size = 0;
 -
      device_data_valid = TRUE;
  }

 @@ -368,7 +357,7 @@ static INT macdrv_GetDeviceCaps(PHYSDEV dev, INT cap)
      case RASTERCAPS:
          ret = (RC_BITBLT | RC_BANDING | RC_SCALING | RC_BITMAP64 |
 RC_DI_BITMAP |
                 RC_DIBTODEV | RC_BIGFONT | RC_STRETCHBLT | RC_STRETCHDIB |
 RC_DEVBITS |
 -               (palette_size ? RC_PALETTE : 0));
 +               (bits_per_pixel <= 8 ? RC_PALETTE : 0));
          break;
      case SHADEBLENDCAPS:
          ret = (SB_GRAD_RECT | SB_GRAD_TRI | SB_CONST_ALPHA |
 SB_PIXEL_ALPHA);
 @@ -393,7 +382,7 @@ static INT macdrv_GetDeviceCaps(PHYSDEV dev, INT cap)
          ret = 0;
          break;
      case SIZEPALETTE:
 -        ret = palette_size;
 +        ret = bits_per_pixel <= 8 ? 1 << bits_per_pixel : 0;
          break;
      case NUMRESERVED:
      case PHYSICALWIDTH:
 }}}

 And everything seemed to build ok.

-- 
Ticket URL: <https://trac.macports.org/ticket/40724>
MacPorts <http://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list