Hi all, Thanks to a hint from the MacPorts Wine Portfile[0] I've got Wine working on OS X Lion. A 64-bit Wine is practically useless (only runs 64-bit Windows applications), so usually on x86_64 one mixes a 32-bit Wine with a 64-bit one (they call this "WoW64"[1]) to have working 32-bit /and/ 64-bit binaries. At the moment, this new Wine is 32-bit-only, but I think adding 64-bit support now will be easy.
However, of course, for building a 32-bit Wine one needs 32-bit dependencies. For this, I have created freetype219-x86 (maintainers of freetype219 CC'd) and libpng15-x86 (maintainer of libpng15 CC'd). However, before I commit any of this, I want to discuss with you guys where the files of both packages will be placed. This is what I think Debian calls the issue of "multiarch"[2], which supposedly has been discussed before and voted against -- but this would have the consequence of never having Wine and other x86-only apps on Lion and higher, and I'm not sure we want to go with that. Currently, freetype219 looks like this: %p/lib/freetype219 <-- contains everything %p/bin/freetype-config -> %p/lib/freetype219/bin/freetype-config %p/include/freetype2/freetype/*.h -> %p/lib/freetype219/include/freetype2/freetype/*.h %p/lib/freetype.dylib -> %p/lib/freetype219/lib/libfreetype.dylib [...] Ergo, practically everything is installed in %p/lib/freetype219, and outside of that directory everything is linked. In this case, I've chosen the same approach: freetype219-x86 installs everything in %p/lib/freetype219-x86 -- but the package creates no links to the outside. In Wine, I hardcode the path of %p/lib/freetype219-x86/bin/freetype-config which will return the correct link values for linking against the 32-bit freetype. libpng15 doesn't have this structure at all, and simply installs in %p/bin, %p/include, %p/lib. For libpng15-x86, I've chosen to adher to this closely, and the package installs at %p/bin/libpng15-config-x86 and %p/lib32 -- it has no %p/include, because it would have the same contents as libpng15. Therefore, if a package Build-Depends on libpng15-x86, it should also Build-Depend on libpng15. There are some other libraries which Wine optionally wants in 32-bit mode: libsane, libv4l, libgphoto but also more important ones like libtiff, libxml2, libgettext and libjpeg. This, however, was for now enough of a test case for me to see that it works. The question now remains: where are we going to place the 32-bit versions of the libraries? Is -x86 the right naming approach? Is it better to have Type: arch (x86 x86_64) and Package: libpng15-%type_pkg[arch] ? Or do you have other suggestions? Sjors [0] https://trac.macports.org/browser/trunk/dports/x11/wine/Portfile (Wine constantly crashed in various weird ways, except when the option -Wl,-no_pie was given to the linker...) [1] http://wiki.winehq.org/Wine64 [2] http://wiki.debian.org/Multiarch ------------------------------------------------------------------------------ All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity and more. Splunk takes this data and makes sense of it. Business sense. IT sense. Common sense. http://p.sf.net/sfu/splunk-d2d-oct _______________________________________________ Fink-devel mailing list Fink-devel@lists.sourceforge.net List archive: http://news.gmane.org/gmane.os.apple.fink.devel Subscription management: https://lists.sourceforge.net/lists/listinfo/fink-devel