We used to be able to build wine on the buildbot, but we aren't anymore:

https://build.macports.org/builders/ports-10.12_x86_64-builder/builds/32791

The error occurs when installing dependencies, specifically cairo:

> ----> Installing dependency (28 of 120) 'glib2' with variants '+universal+x11'
> ...
> --->  Deactivating glib2 @2.52.3_0+universal+x11
> ...

> ----> Installing dependency (55 of 120) 'cairo' with variants 
> '+quartz+universal+x11'
> ...
> Error: glib2: Variant quartz conflicts with x11

The cairo port has for years had both x11 and quartz variants that are both 
enabled by default. The glib2 port recently got x11 and quartz variants added, 
and they conflict with one another, as they do in most ports that have them; 
the user must choose one or the other. The default is x11, as it is for other 
ports that have this choice.

I think the problem is that mpbb is explicitly specifying the variants when 
installing the dependencies, particularly since wine is 32-bit so it needs the 
dependencies installed with the universal variant, and when installing cairo 
with x11, quartz and universal, it is passing those variants down to cairo's 
dependencies, including glib2.

I don't know why mpbb is specifying all the variants when building 
dependencies. It seems like it would be enough to just specify universal, and 
let the port's default variants take care of the rest.

Many years ago, cairo used to require the user to select whether to use x11 or 
quartz, but then it became possible to use both at once, and the variants were 
kept in case there turned out to be some situations where having both backends 
available caused some problem. As far as I know, no such problem was found, so 
I could just remove the variants from the cairo port, which would fix the 
problem for cairo, but would not fix it for all the other ports that have 
conflicting x11 and quartz variants and depend on glib2, and there are a couple 
of those:

$ port echo variant:quartz and variant:x11 and depends:glib2
cairo                           
cairo-devel                     
gtk3                            
librsvg                         
libVLC                          
pango                           
pango-devel                     
pidgin                          
pspp                            
pspp-devel                      
VLC                             
webkit2-gtk                     
webkit2-gtk-devel               

(Not all of these ports' x11 and quartz variants conflict.)

It's possible the problem only shows up when doing builds with non-default 
variants, which would only be universal at the moment.

Reply via email to