|
Project Information
Links
|
osxwinebuilderPurposeThe goal of this project is to provide easy-to-use scripts for cleanly building and installing Wine and its prerequisite software into a self-contained directory hierarchy on Mac OS X. All building and installation takes place in the user's home directory. The installation is entirely in user-space, and should not require any write access to system directories, sudo or root user privileges, or any other form of admin access. If Xcode/Developer Tools or X11 packages are not installed on the system, you will need admin access to get these prerequisites taken care of. I'd recommend being on good terms with your friendly (or otherwise) sysadmin if that's the case. CaveatsYou should be comfortable with using a terminal program, as well as launching programs from your shell. This is a stock Wine install with no pretty GUI or Mac-specific features. If the idea of running Terminal.app scares you, or if you're allergic to shell, you might checkout Mike Kronenberg's excellent WineBottler. But if you need vanilla Wine, this project should get you at least halfway there... Please note that MacPorts, Fink, Homebrew, etc., should be ignored by the script. It should be an entirely self-contained environment, so external software will likely not be picked up by the build. If you've installed versions of included packages using external packaging systems, they may conflict with those built from source. Furthermore, while I've done my best to avoid compile-time problems, run-time errors may occur if external package management systems are installed. Buyer beware. RequirementsYou'll need an X11 package installed, preferably one of Apple's builds. You'll also need a full install of Xcode for compilers, headers, etc., including the X11 development package. Up-to-date versions of X11 can be grabbed for 10.5 and 10.6 from: http://xquartz.macosforge.org/ Xquartz builds from the above URL have been tested on both 10.5 and 10.6, and the default X install should be found and work as expected. There are a few bugs (namely with the XRender extension) that can be fixed using XQuartz on 10.6. While XQuartz on 10.6 is not strictly necessary, and the stock OS X-provided X11.app should work fine, I would recommend using XQuartz for the simple reason that it's kept more up-to-date and therefore receives bug fixes quicker than the OS packages. On 10.5, save yourself the time and effort and just install XQuartz straight away. There are numerous GLX (OpenGL) fixes in XQuartz that should allow graphical programs to work much more reliably. These fixes will likely never make it into the OS-provided X11 packages. Please note that any time you install an OS point release or security update on Leopard, you should reinstall the XQuartz package after the updates are run. This is not necessary on Snow Leopard. The XQuartz 2.5 series is the current stable release of XQuartz for both Leopard and Snow Leopard. The developer tools can be installed from your OS X DVD or downloaded from: https://connect.apple.com/ (free registration required) Around 1.5GB of disk space is needed during compilation. The versioned Wine install itself should be less than 250MB, and the build directories can be safely removed once Wine is successfully built. Internet access during the build is required to download required source packages as well. ReleasesCurrently, only releases of source through the Subversion revision control system are available. Specific versions of Wine may be bundled at some point in the future and be added as either Subversion tags or as .tar.gz/.tar.bz2 archives available from a download section. For now, stick with Subversion's trunk since it will be up-to-date, warts and all. Getting the build script sourceYou can use the source tab to see an example of checking source out of subversion trunk. In a nutshell: mkdir -p ~/wine cd ~/wine svn checkout http://osxwinebuilder.googlecode.com/svn/trunk/ osxwinebuilder-read-only Updating the build script sourceThe checkout process is a one-time operation. You can now update your source easily at any time by running the following: cd ~/wine/osxwinebuilder-read-only svn up Building Wine via the scriptYou can now use the script to build and install Wine into a versioned directory in ~/wine: cd ~/wine/osxwinebuilder-read-only ./osxwinebuild.sh This will download all required source tarballs and build them; make sure you're connected to a network with public access to the internet at large or the build will fail, as it will be unable to grab the source it needs! Source packages will be pulled into ~/wine/source/ and individual build directories will be dropped into ~/wine/build/. The build script will attempt to create these directories if they don't exist. Subdirectories under ~/wine/build/ are removed at script run-time, so do not store anything valuable there. If you need to make changes/patch packages, you'll need to work it into the script. The clean_ script functions can be commented out if necessary. I've so far shied away from adding a package-wide patching mechanism to the script as it's already far too complicated. All software is currently installed via standard configure/make/make install methods where possible after removal and extraction of the source directory. Once the build is complete, you can safely remove everything under ~/wine/build/ to clear up 1GB or more of space. The download/build/install process can take upwards of an hour, even on a fast machine with a decent broadband connection. On a 1.8GHz Core2Duo Mac Mini w/2GB of RAM and 5+Mb broadband, a full build takes around 65 minutes. On a 2.5GHz Core2Duo MacBook Pro w/4GB, it takes 40-45 minutes for a full build. Running WineThe build should complete successfully. The Wine installation (and all of the prerequisites) will be placed into ~/wine/wine-X.X.X where X.X.X is substituted with a valid version number. For example, to run Wine 1.2.1, you can set the following environment variables in your terminal program: export DYLD_FALLBACK_LIBRARY_PATH="${HOME}/wine/wine-1.2.1/lib:/usr/X11/lib:/usr/lib"
export PATH="${HOME}/wine/wine-1.2.1/bin:${PATH}"Running which wine should show something like the following: which wine /Users/yourusername/wine/wine-1.2.1/bin/wine Once the build is verified as installed, you can then add the export lines above to a shell startup script of your choosing. Congratulations, you've now built and installed Wine from source! VerificationYou should now have a new, full Wine installed in a versioned directory under your home directory. You can test functionality by running a couple of test programs. The winecfg program is a GUI tool for setting some common options in Wine: wine winecfg If you've never run Wine before, a new WINEPREFIX holding a virtual Windows C: drive will be created under the default ~/.wine directory. This folder is hidden from the Finder, but you can access it via Terminal.app or other tools. To run Wine's Gecko-based internal web browser, simply type the following into a terminal: wine iexplore You should see the Wine homepage. At this point, Wine is functional, and you can start off with some simple winetricks installs: Reporting bugsAll software has bugs, and I'd love to know about them. Please use the issues tab to report any bugs or problems. I'm always looking for feedback too. If there's anything you want to see, just let me know. I have some ideas for adding Git support, Codeweavers customized Wine source (Crossover Games, specifically) compilation, etc. LicenseLGPL (GNU Lesser General Public License) v2.1. Full text available here. Other softwareThis build relies on other software sources with different licenses; all sources except the GSM library are pulled from public repositories as needed and are not redistributed in any way, binary or otherwise. The original home for toast/GSM (http://user.cs.tu-berlin.de/~jutta/toast.html) has gone offline. External software built by the script along with Wine have been documented: Links
|