BuildingWineFromSource

Differences between revisions 5 and 14 (spanning 9 versions)
Revision 5 as of 2006-04-25 10:04:53
Size: 1630
Editor: 202-155-165-25
Comment:
Revision 14 as of 2006-05-02 17:02:16
Size: 2611
Editor: 68-116-252-236
Comment: sourceforge apt source entry wrong
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
WARNING: The authors of this howto give no guarantees. This is totally YMMV.
Line 13: Line 15:
If not already done, enable the Sourceforge repo. Using synaptic, add the following custom repo Enable the Sourceforge source repo. Using synaptic, add the following custom repo
Line 15: Line 17:
{{{deb http://wine.sourceforge.net/apt source}}} {{{
deb-src http://wine.sourceforge.net/apt source/
}}}
Line 23: Line 27:
{{{sudo apt-get build-dep wine}}} {{{
sudo apt-get build-dep wine
}}}
Line 27: Line 33:
Create the directory you're going to install Wine into Create the directory you're going to install Wine into (wine-0.9.12), and download the source into it. You'll need at least 1.4Gig of free disk to install and build successfully. Last, cd to the directory containing the source code (wine-0.9.12~winehq1), as that's where we'll be working from.
Line 29: Line 35:
{{{mkdir wine-0.9.12 {{{
mkdir wine-0.9.12
Line 33: Line 40:
apt-get source wine}}} apt-get source wine

cd wine-0.9.12~winehq1
}}}
Line 39: Line 49:
{{{patch -p0 < wine-patch#1.patch {{{
patch -p1 < wine-patch#1.patch
Line 41: Line 52:
patch -p0 < wine-patch#2.patch patch -p1 < wine-patch#2.patch
Line 43: Line 54:
etc.}}} etc.
}}}

eg. Applying the WoW patch

Wine needs to be patched for WoW to work properly. Download 0.9.12 patch from http://appdb.winehq.org/appview.php?versionId=4031 and apply the patch to the Wine code.

{{{
patch -p1 < wow.patch.preloader.and.mmap.0.9.12
}}}
Line 47: Line 67:
{{{apt-get build-package -hfakeroot -cu -b}}} {{{
d
pkg-buildpackage -rfakeroot -uc -b
}}}
Line 57: Line 79:
{{{dpkg --purge wine {{{
dpkg --purge wine
Line 61: Line 84:
sudo dpkg -i wine_0.9.12~winehq1-1_i386.deb}}} sudo dpkg -i wine_0.9.12~winehq1-1_i386.deb
}}}

== Clean up ==

Once you're satisfied that Wine is working properly, you can now clean up the files used for building Wine, as this frees up quite a bit of disk. Of course, deleting make's working files will mean that if you need to rebuild, make will have to start right from the beginning.

{{{
cd wine-0.9.12/wine-0.9.12~winehq1

make distclean
}}}

Reasons why one needs to build from source rather than relying on repos:

1 - One needs a more up to date version of Wine

2 - One needs to apply a patch to the stock Wine release

This guide was written for Breezy, using Wine 0.9.12.

WARNING: The authors of this howto give no guarantees. This is totally YMMV.

The process for building Wine from source is as follows:

Enable the Sourceforge source repository

Enable the Sourceforge source repo. Using synaptic, add the following custom repo

deb-src http://wine.sourceforge.net/apt source/

(see: https://wiki.ubuntu.com/AddingRepositoriesHowto for more details)

Install the Wine build dependencies

The purpose of this step is to install any dependencies necessary to the build process.

sudo apt-get build-dep wine

Download the Wine source

Create the directory you're going to install Wine into (wine-0.9.12), and download the source into it. You'll need at least 1.4Gig of free disk to install and build successfully. Last, cd to the directory containing the source code (wine-0.9.12~winehq1), as that's where we'll be working from.

mkdir wine-0.9.12

cd wine-0.9.12

apt-get source wine

cd wine-0.9.12~winehq1 

Apply patches, if necessary

Sometimes the reason you're building from source is because you need to patch the stock release. (eg to apply the WoW patch)

patch -p1 < wine-patch#1.patch

patch -p1 < wine-patch#2.patch

etc.

eg. Applying the WoW patch

Wine needs to be patched for WoW to work properly. Download 0.9.12 patch from http://appdb.winehq.org/appview.php?versionId=4031 and apply the patch to the Wine code.

patch -p1 < wow.patch.preloader.and.mmap.0.9.12

Build Wine

dpkg-buildpackage -rfakeroot -uc -b

The build will take a LONG time, even with a fast machine, around an hour or so on a 2Gig CPU with 1Gig of Ram, so take a break.

Install the new Wine deb

The build process, once it's complete, will create a .deb in the parent directory. This is your new Wine package.

First remove the old Wine package

dpkg --purge wine

cd ..

sudo dpkg -i wine_0.9.12~winehq1-1_i386.deb

Clean up

Once you're satisfied that Wine is working properly, you can now clean up the files used for building Wine, as this frees up quite a bit of disk. Of course, deleting make's working files will mean that if you need to rebuild, make will have to start right from the beginning.

cd wine-0.9.12/wine-0.9.12~winehq1

make distclean

BuildingWineFromSource (last edited 2008-08-06 16:41:12 by localhost)