[MonoDevelop] Building MonoDevelop on FreeBSD 10.3
Miguel de Icaza
miguel at microsoft.com
Mon Aug 15 13:35:23 UTC 2016
Hello,
Mhm, this looks like a lot of unnecessary gymnastics.
Perhaps the core question is: why is this failing to build for you? I would try to get to the root of the problem instead of using band aids.
Internally, some of our team members have continued to do all their MonoDevelop/Mono work in Linux, and none of this is necessary.
Miguel
On 8/15/16, 2:03 AM, "Monodevelop-list on behalf of Timotheus Pokorra" <monodevelop-list-bounces at lists.dot.net on behalf of timotheus.pokorra at solidcharity.com> wrote:
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
_______________________________________________
Monodevelop-list mailing list
Monodevelop-list at lists.dot.net
https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2flists.dot.net%2fmailman%2flistinfo%2fmonodevelop-list&data=01%7c01%7cmiguel%40microsoft.com%7c29f86d6577a5435dd06408d3c4d1e0ca%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=VJV9DQqezChiBrkiovlud3vjJiu7wAacyeCw%2fLweWBY%3d
More information about the Monodevelop-list
mailing list