commit: 7da5376f5d63f70afe715fd6cdce3bd794a94296 Author: Bennjamin Blast <bennjamin.blast <AT> gmail <DOT> com> AuthorDate: Tue May 10 03:37:50 2016 +0000 Commit: Heather Cynede <cynede <AT> gentoo <DOT> org> CommitDate: Tue May 10 03:48:54 2016 +0000 URL: https://gitweb.gentoo.org/proj/dotnet.git/commit/?id=7da5376f
Add monodevelop-6.0.0.4761 .../files/6.0-aspnet-template-references-fix.patch | 20 +++ dev-util/monodevelop/files/6.0-kill-gnome.patch | 184 +++++++++++++++++++++ dev-util/monodevelop/monodevelop-6.0.0.4761.ebuild | 124 ++++++++++++++ 3 files changed, 328 insertions(+) diff --git a/dev-util/monodevelop/files/6.0-aspnet-template-references-fix.patch b/dev-util/monodevelop/files/6.0-aspnet-template-references-fix.patch new file mode 100644 index 0000000..9cc1f26 --- /dev/null +++ b/dev-util/monodevelop/files/6.0-aspnet-template-references-fix.patch @@ -0,0 +1,20 @@ +diff -u -r work.unpacked/monodevelop-6.0/src/addins/AspNet/Templates/Projects/EmptyMvcProject.xpt.xml work/monodevelop-6.0/src/addins/AspNet/Templates/Projects/EmptyMvcProject.xpt.xml +--- work.unpacked/monodevelop-6.0/src/addins/AspNet/Templates/Projects/EmptyMvcProject.xpt.xml ++++ work/monodevelop-6.0/src/addins/AspNet/Templates/Projects/EmptyProject.xpt.xml +@@ -27,5 +27,6 @@ + <References> + <Reference type="Package" refto="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> + <Reference type="Package" refto="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> ++ <Reference type="Package" refto="System.Web.Mvc" /> + <Reference type="Package" refto="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> + <Reference type="Package" refto="System.Core" /> +diff -u -r work.unpacked/monodevelop-6.0/src/addins/AspNet/Templates/Projects/MvcProject.xpt.xml work/monodevelop-6.0/src/addins/AspNet/Templates/Projects/MvcProject.xpt.xml +--- work.unpacked/monodevelop-6.0/src/addins/AspNet/Templates/Projects/MvcProject.xpt.xml ++++ work/monodevelop-6.0/src/addins/AspNet/Templates/Projects/MvcProject.xpt.xml +@@ -29,5 +29,6 @@ + <References> + <Reference type="Package" refto="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> + <Reference type="Package" refto="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> ++ <Reference type="Package" refto="System.Web.Mvc" /> + <Reference type="Package" refto="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> + <Reference type="Package" refto="System.Core" /> diff --git a/dev-util/monodevelop/files/6.0-kill-gnome.patch b/dev-util/monodevelop/files/6.0-kill-gnome.patch new file mode 100644 index 0000000..c70ba24 --- /dev/null +++ b/dev-util/monodevelop/files/6.0-kill-gnome.patch @@ -0,0 +1,184 @@ +diff -rupN configure.in configure.in +--- configure.in 2016-05-08 19:44:27.107588191 -0400 ++++ configure.in 2016-05-08 19:47:32.570263105 -0400 +@@ -137,13 +137,6 @@ PKG_CHECK_MODULES(MONODOC, monodoc >= $M + AC_SUBST(MONODOC_LIBS) + + dnl soft dependencies +-PKG_CHECK_MODULES(GNOME_SHARP, gnome-sharp-2.0 >= $GTKSHARP_REQUIRED_VERSION, [gnome_sharp=yes], [gnome_sharp=no]) +-AC_SUBST(GNOME_SHARP_LIBS) +-PKG_CHECK_MODULES(GNOME_VFS_SHARP, gnome-vfs-sharp-2.0 >= $GTKSHARP_REQUIRED_VERSION, [gnome_vfs_sharp=yes], [gnome_vfs_sharp=no]) +-AC_SUBST(GNOME_VFS_SHARP_LIBS) +-PKG_CHECK_MODULES(GCONF_SHARP, gconf-sharp-2.0 >= $GTKSHARP_REQUIRED_VERSION, [gconf_sharp=yes], [gconf_sharp=no]) +-AC_SUBST(GCONF_SHARP_LIBS) +- + gtksharp_prefix="`$PKG_CONFIG --variable=prefix gtk-sharp-2.0`" + AC_SUBST(gtksharp_prefix) + +@@ -202,13 +195,4 @@ AC_ARG_ENABLE(gnomeplatform, + if test x$enable_gnomeplatform = xyes; then +- if test x$gnome_sharp = xno; then +- AC_MSG_ERROR([Cannot enable GNOME platform without gnome-sharp-2.0]) +- fi +- if test x$gnome_vfs_sharp = xno; then +- AC_MSG_ERROR([Cannot enable GNOME platform without gnome-vfs-sharp-2.0]) +- fi +- if test x$gconf_sharp = xno; then +- AC_MSG_ERROR([Cannot enable GNOME platform without gconf-sharp-2.0]) +- fi + platform_bindings="${platform_bindings}GNOME " + fi + +diff -rupN configure configure +--- configure 2016-05-08 19:53:21.359551637 -0400 ++++ configure 2016-05-08 19:53:29.043391220 -0400 +@@ -4116,13 +4116,4 @@ + if test x$enable_gnomeplatform = xyes; then +- if test x$gnome_sharp = xno; then +- as_fn_error $? "Cannot enable GNOME platform without gnome-sharp-2.0" "$LINENO" 5 +- fi +- if test x$gnome_vfs_sharp = xno; then +- as_fn_error $? "Cannot enable GNOME platform without gnome-vfs-sharp-2.0" "$LINENO" 5 +- fi +- if test x$gconf_sharp = xno; then +- as_fn_error $? "Cannot enable GNOME platform without gconf-sharp-2.0" "$LINENO" 5 +- fi + platform_bindings="${platform_bindings}GNOME " + fi + +diff -rupN src/addins/GnomePlatform/GnomePlatform.cs src/addins/GnomePlatform/GnomePlatform.cs +--- src/addins/GnomePlatform/GnomePlatform.cs 2015-07-18 18:40:15.946222126 +0200 ++++ src/addins/GnomePlatform/GnomePlatform.cs 2015-07-18 19:56:35.272686234 +0200 +@@ -26,7 +26,6 @@ + // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + // + +-using Gnome; + using MonoDevelop.Ide.Desktop; + using System; + using System.Collections.Generic; +@@ -40,44 +39,13 @@ namespace MonoDevelop.Platform + { + public class GnomePlatform : PlatformService + { +- static bool useGio; +- +- Gnome.ThumbnailFactory thumbnailFactory = new Gnome.ThumbnailFactory (Gnome.ThumbnailSize.Normal); +- + static GnomePlatform () + { + try { + Gio.GetDefaultForType ("text/plain"); +- useGio = true; + } catch (Exception ex) { + Console.WriteLine (ex); + } +- //apparently Gnome.Icon needs GnomeVFS initialized even when we're using GIO. +- Gnome.Vfs.Vfs.Initialize (); +- } +- +- DesktopApplication GetGnomeVfsDefaultApplication (string mimeType) +- { +- var app = Gnome.Vfs.Mime.GetDefaultApplication (mimeType); +- if (app != null) +- return (DesktopApplication) Marshal.PtrToStructure (app.Handle, typeof(DesktopApplication)); +- else +- return null; +- } +- +- IEnumerable<DesktopApplication> GetGnomeVfsApplications (string mimeType) +- { +- var def = GetGnomeVfsDefaultApplication (mimeType); +- var list = new List<DesktopApplication> (); +- var apps = Gnome.Vfs.Mime.GetAllApplications (mimeType); +- foreach (var app in apps) { +- var dap = (GnomeVfsApp) Marshal.PtrToStructure (app.Handle, typeof(GnomeVfsApp)); +- if (!string.IsNullOrEmpty (dap.Command) && !string.IsNullOrEmpty (dap.DisplayName) && !dap.Command.Contains ("monodevelop ")) { +- var isDefault = def != null && def.Id == dap.Command; +- list.Add (new GnomeDesktopApplication (dap.Command, dap.DisplayName, isDefault)); +- } +- } +- return list; + } + + public override IEnumerable<DesktopApplication> GetApplications (string filename) +@@ -88,10 +56,7 @@ namespace MonoDevelop.Platform + + IEnumerable<DesktopApplication> GetApplicationsForMimeType (string mimeType) + { +- if (useGio) +- return Gio.GetAllForType (mimeType); +- else +- return GetGnomeVfsApplications (mimeType); ++ return Gio.GetAllForType (mimeType); + } + + struct GnomeVfsApp { +@@ -100,23 +65,15 @@ namespace MonoDevelop.Platform + + protected override string OnGetMimeTypeDescription (string mt) + { +- if (useGio) +- return Gio.GetMimeTypeDescription (mt); +- else +- return Gnome.Vfs.Mime.GetDescription (mt); ++ return Gio.GetMimeTypeDescription (mt); + } + + protected override string OnGetMimeTypeForUri (string uri) + { + if (uri == null) + return null; +- +- if (useGio) { +- string mt = Gio.GetMimeTypeForUri (uri); +- if (mt != null) +- return mt; +- } +- return Gnome.Vfs.MimeType.GetMimeTypeForUri (ConvertFileNameToVFS (uri)); ++ ++ return Gio.GetMimeTypeForUri (uri); + } + + protected override bool OnGetMimeTypeIsText (string mimeType) +@@ -128,19 +85,9 @@ namespace MonoDevelop.Platform + return base.OnGetMimeTypeIsText (mimeType); + } + +- +- public override void ShowUrl (string url) +- { +- Gnome.Url.Show (url); +- } +- + public override string DefaultMonospaceFont { + get { +- try { +- return (string) (new GConf.Client ().Get ("/desktop/gnome/interface/monospace_font_name")); +- } catch (Exception) { +- return "Monospace 11"; +- } ++ return "Monospace 11"; + } + } + +@@ -159,18 +106,8 @@ namespace MonoDevelop.Platform + filename = EscapeFileName (filename); + if (filename == null) + return "gnome-fs-regular"; +- +- string icon = null; +- Gnome.IconLookupResultFlags result; +- try { +- icon = Gnome.Icon.LookupSync (IconTheme.Default, thumbnailFactory, filename, null, +- Gnome.IconLookupFlags.None, out result); +- } catch {} +- if (icon != null && icon.Length > 0) +- return icon; +- } ++ } + return "gnome-fs-regular"; +- + } + + protected override Xwt.Drawing.Image OnGetIconForFile (string filename) diff --git a/dev-util/monodevelop/monodevelop-6.0.0.4761.ebuild b/dev-util/monodevelop/monodevelop-6.0.0.4761.ebuild new file mode 100644 index 0000000..bba1fe1 --- /dev/null +++ b/dev-util/monodevelop/monodevelop-6.0.0.4761.ebuild @@ -0,0 +1,124 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit fdo-mime gnome2-utils dotnet versionator eutils + +ROSLYN_COMMIT="16e117c2400d0ab930e7d89512f9894a169a0e6e" + +DESCRIPTION="Integrated Development Environment for .NET" +HOMEPAGE="http://www.monodevelop.com/" +SRC_URI="http://download.mono-project.com/sources/monodevelop/${P}.tar.bz2 + https://github.com/mono/roslyn/archive/${ROSLYN_COMMIT}.zip -> roslyn-${ROSLYN_COMMIT}.zip + https://launchpadlibrarian.net/68057829/NUnit-2.5.10.11092.zip" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+subversion +git doc +gnome qtcurve" + +COMMON_DEPEND=" + >=dev-lang/mono-3.2.8 + >=dev-dotnet/gtk-sharp-2.12.21:2 + >=dev-dotnet/nuget-2.8.7 + dev-dotnet/referenceassemblies-pcl + net-libs/libssh2 + gnome? ( >=dev-dotnet/gnome-sharp-2.24.2-r1 )" +RDEPEND="${COMMON_DEPEND} + dev-util/ctags + sys-apps/dbus[X] + >=www-servers/xsp-2 + doc? ( dev-util/mono-docbrowser ) + git? ( dev-vcs/git ) + subversion? ( dev-vcs/subversion ) + !<dev-util/monodevelop-boo-$(get_version_component_range 1-2) + !<dev-util/monodevelop-java-$(get_version_component_range 1-2) + !<dev-util/monodevelop-database-$(get_version_component_range 1-2) + !<dev-util/monodevelop-debugger-gdb-$(get_version_component_range 1-2) + !<dev-util/monodevelop-debugger-mdb-$(get_version_component_range 1-2) + !<dev-util/monodevelop-vala-$(get_version_component_range 1-2)" +DEPEND="${COMMON_DEPEND} + dev-util/intltool + virtual/pkgconfig + sys-devel/gettext + x11-misc/shared-mime-info + x11-terms/xterm + app-arch/unzip" + +MAKEOPTS="${MAKEOPTS} -j1" #nowarn +S="${WORKDIR}/${PN}-6.0" + +src_unpack() { + cd "${T}" + unpack NUnit-2.5.10.11092.zip + + cd "${WORKDIR}" + unpack "${P}.tar.bz2" + + # roslyn dlls are missing from monodevelop tarball + cd "${S}/external" + unpack "roslyn-${ROSLYN_COMMIT}.zip" + rm -rf "roslyn" + mv "roslyn-${ROSLYN_COMMIT}" "roslyn" +} + +src_prepare() { + # Remove the git rev-parse (changelog?) + sed -i '/<Exec.*rev-parse/ d' "${S}/src/core/MonoDevelop.Core/MonoDevelop.Core.csproj" || die + # Set specific_version to prevent binding problem + # when gtk#-3 is installed alongside gtk#-2 + find "${S}" -name '*.csproj' -exec sed -i 's#<SpecificVersion>.*</SpecificVersion>#<SpecificVersion>True</SpecificVersion>#' {} + || die + + # bundled nuget is missing => use system nuget. + sed -i 's|mono .nuget/NuGet.exe|nuget|g' Makefile* || die + + # fix for https://github.com/gentoo/dotnet/issues/42 + epatch "${FILESDIR}/6.0-aspnet-template-references-fix.patch" + use gnome || epatch "${FILESDIR}/6.0-kill-gnome.patch" + use qtcurve && epatch "${FILESDIR}/kill-qtcurve-warning.patch" + + # copy missing binaries + mkdir -p "${S}"/external/cecil/Test/libs/nunit-2.5.10/ || die + cp -fR "${T}"/NUnit-2.5.10.11092/bin/net-2.0/framework/* "${S}"/external/cecil/Test/libs/nunit-2.5.10/ || die + + default +} + +src_configure() { + # env vars are added as the fix for https://github.com/gentoo/dotnet/issues/29 + MCS=/usr/bin/dmcs CSC=/usr/bin/dmcs GMCS=/usr/bin/dmcs econf \ + --disable-update-mimedb \ + --disable-update-desktopdb \ + --enable-monoextensions \ + --enable-gnomeplatform \ + $(use_enable subversion) \ + $(use_enable git) + # https://github.com/mrward/xdt/issues/4 + # Main.sln file is created on the fly during econf + epatch -p2 "${FILESDIR}/mrward-xdt-issue-4.patch" + # fix of https://github.com/gentoo/dotnet/issues/38 + sed -i -E -e 's#(EXE_PATH=")(.*)(/lib/monodevelop/bin/MonoDevelop.exe")#\1'${EPREFIX}'/usr\3#g' "${S}/monodevelop" || die +} + +src_compile() { + xbuild "${S}/external/libgit2sharp/Lib/CustomBuildTasks/CustomBuildTasks.csproj" + cp "${S}/external/libgit2sharp/Lib/CustomBuildTasks/bin/Debug/CustomBuildTasks.dll" "${S}/external/libgit2sharp/Lib/CustomBuildTasks/" + + default +} + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + gnome2_icon_cache_update + fdo-mime_mime_database_update + fdo-mime_desktop_database_update +} + +pkg_postrm() { + gnome2_icon_cache_update + fdo-mime_mime_database_update + fdo-mime_desktop_database_update +}