From 50d9aa0189c183d96f11854c6e5c6882aa45e836 Mon Sep 17 00:00:00 2001 From: Jan Schiefer Date: Wed, 27 Jul 2016 22:44:34 -0700 Subject: [PATCH] Tweaks for Linux build documentation First pass at improving the Linux build docs --- docs/guidelines/build.md | 56 +++++++++++++++++++++++++--------------- 1 file changed, 35 insertions(+), 21 deletions(-) diff --git a/docs/guidelines/build.md b/docs/guidelines/build.md index 8cf0092222..4f13e2fe19 100644 --- a/docs/guidelines/build.md +++ b/docs/guidelines/build.md @@ -18,38 +18,52 @@ We currently need to build our own private version of some libraries. These are ## Linux -This guide Written for Ubuntu 15.04 - I'm not sure how well it applies to other distributions, but -please submit a PR if you have anything to add. +### Install the latest version of Mono -### Install Latest Mono +To build Avalonia under Linux, you need to have a recent version of Mono installed. +Mono is a cross-platform, open source .Net platform. +There is a very good chance that the version of Mono that came with your Linux distribution +is too old, so you want to install a more up-to-date version. The most convenient way to to this +is through your package manager. The Mono project has great +[installation instructions for many popular Linux +distros](http://www.mono-project.com/docs/getting-started/install/linux). -That the time of writing, mono 4.2 aplha was needed to build. Add mono package sources by following -instructions below for the stable channel and then add the alpha channel as well. +This will make the most up-to-date Mono release available through +your package manager, and offer you updates as they become available. -http://www.mono-project.com/docs/getting-started/install/linux/#debian-ubuntu-and-derivatives - -Then install the needed packages: - - sudo apt-get install git mono-devel referenceassemblies-pcl monodevelop +Once you have your package manager configured for the Mono repository, install the required +packages: +* mono-devel +* referenceassemblies-pcl +* monodevelop ### Clone the Avalonia repository git clone https://github.com/AvaloniaUI/Avalonia.git -We currently need to build our own private version of ReactiveUI as it doesn't work on mono. This -is linked as a submodule in the git repository, so run: +### Update the submodules + +The Avalonia repository contains a few submodules, which need to be manually updated. git submodule update --init - -The next step is to download the Skia native libraries. Run ```getnatives.sh``` script which can be found under the folder ```src\Skia\```. - -### Load the Project in MonoDevelop -Start MonoDevelop and open the `Avalonia.sln` solution. Wait for MonoDevelop to install the -project's NuGet packages. +### Restore nuget packages + +Unless you have a very current version of monodevelop (6.1.x or newer), it is necessary to manually +restore the Nuget depdendencies: + + cd Avalonia + mkdir -p .nuget + wget -O .nuget/nuget.exe https://dist.nuget.org/win-x86-commandline/latest/nuget.exe + mono .nuget/nuget.exe restore Avalonia.mono.sln + +### Build Avalonia -Set the TestApplication project as the startup project and click Run. +Start MonoDevelop and open the `Avalonia.sln` solution. Set the Samples/TestApplication +project as the startup project and click Run. -There will be some compile errors in the tests, but ignore them for now. +There will be some compile errors in tests for the Windows platform, which can be safely +ignored. -You can track the Linux version's progress in the [Linux issue](https://github.com/AvaloniaUI/Avalonia/issues/78). +Enjoy playing with Avalonia! You may want to explore some of the other Samples for a +flavor of the Platform \ No newline at end of file