[MonoDevelop] Building MonoDevelop on FreeBSD 10.3

Timotheus Pokorra timotheus.pokorra at solidcharity.com
Mon Aug 15 06:03:18 UTC 2016


Hello,

> Alternatively you could probably change the target framework of
> RefactoringEssentials.csproj. I'm not sure why it targets PCL.

I am also trying to build MonoDevelop 6 for Linux, especially for Fedora.

My current attempts are here:
https://github.com/tpokorra/lbs-mono-fedora/blob/master/monodevelop/monodevelop.spec

These are my commands to change RefactoringEssentials.csproj to not target PCL:
# do not depend on .NET Portable reference assemblies
RefactoringEssentials=external/RefactoringEssentials/RefactoringEssentials/RefactoringEssentials.csproj
sed -i "s#<NoStdLib>true</NoStdLib>#<NoStdLib>false</NoStdLib>#g"
$RefactoringEssentials
sed -i "s#<TargetFrameworkProfile>Profile7</TargetFrameworkProfile>##g"
$RefactoringEssentials
sed -i "s#.*Microsoft\.VsSDK\.targets.*##g" $RefactoringEssentials
sed -i "s#.*Microsoft\.Portable\.CSharp\.targets.*##g" $RefactoringEssentials
sed -i 's#</Project>#<Import
Project="\$\(MSBuildBinPath\)\\Microsoft.CSharp.Targets"
/>\n</Project>#g' $RefactoringEssentials
sed -i 's#</Project>#<ItemGroup>\n<Reference
Include="System.Xml"/>\n<Reference Include="System"/>\n<Reference
Include="System.Xml.Linq"/>\n</ItemGroup></Project>#g'
$RefactoringEssentials

By the way, I build a monodevelop tarball with this script and patches
on Ubuntu 14.04:
https://github.com/tpokorra/lbs-mono/tree/master/monodevelop-tarball
I patched make dist to also download and include all the nuget
packages required.
MonoDevelop.PackageManagement.Tests
(main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.csproj)
uses a binary external\nuget-binary\NuGet.ProjectManagement.dll which
is compiled against a specific version 6.0 of Newtonsoft.Json which
needs to be fetched from NuGet.

I was able to build an rpm on the weekend, but that was with using all
the prebuilt binaries, which is not acceptable for inclusion into the
official Fedora repositories. I wonder how to build the roslyn
binaries on Mono, and other binaries from nuget. I wonder if we need
to get a build of msbuild for Linux?

But even with that rpm, I could not install it, because it required
mono(System.Web.Mvc) = 5.2.3.0
So I still need to patch that out, I guess.

I hope we can benefit from each others work, and get MonoDevelop 6
running on various Linuxes and BSDs.

Timotheus


More information about the Monodevelop-list mailing list