summaryrefslogtreecommitdiff
blob: b86abdf4bb43d71b3eeb7fcf3464e1731d624e98 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
# 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 git-r3

DESCRIPTION="Integrated Development Environment for .NET"
HOMEPAGE="http://www.monodevelop.com/"
SRC_URI="https://launchpadlibrarian.net/68057829/NUnit-2.5.10.11092.zip
	https://www.nuget.org/api/v2/package/NUnit/2.6.3 -> NUnit.2.6.3.zip
	https://www.nuget.org/api/v2/package/NUnit.Runners/2.6.3  -> NUnit.Runners.2.6.3.zip
	https://www.nuget.org/api/v2/package/System.Web.Mvc.Extensions.Mvc.4/1.0.9 -> System.Web.Mvc.Extensions.Mvc.4.1.0.9.zip
	https://www.nuget.org/api/v2/package/Microsoft.AspNet.Mvc/5.2.2 -> Microsoft.AspNet.Mvc.5.2.2.zip
	https://www.nuget.org/api/v2/package/Microsoft.AspNet.Razor/3.2.2 -> Microsoft.AspNet.Razor.3.2.2.zip
	https://www.nuget.org/api/v2/package/Microsoft.AspNet.WebPages/3.2.2 -> Microsoft.AspNet.WebPages.3.2.2.zip
	https://www.nuget.org/api/v2/package/Microsoft.Web.Infrastructure/1.0.0.0 -> Microsoft.Web.Infrastructure.1.0.0.0.zip"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="+subversion +git +gnome qtcurve"

RDEPEND=">=dev-lang/mono-3.2.8
	>=dev-dotnet/nuget-2.8.3
	gnome? ( >=dev-dotnet/gnome-sharp-2.24.2-r1 )
	>=dev-dotnet/gtk-sharp-2.12.21:2
	>=www-servers/xsp-2
	dev-util/ctags
	sys-apps/dbus[X]
	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="${RDEPEND}
	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}"/${P}
EGIT_REPO_URI="https://github.com/mono/monodevelop.git"
EGIT_COMMIT="${P}"

src_unpack() {
	cd "${T}"
	unpack NUnit-2.5.10.11092.zip

	#clone from git
	git-r3_fetch
	git-r3_checkout "${EGIT_REPO_URI}" "${T}/${P}"

	#extract packages
	mkdir -p "${T}"/packages || die
	cd "${T}"/packages || die

	for pkg in NUnit.2.6.3 \
				NUnit.Runners.2.6.3 \
				System.Web.Mvc.Extensions.Mvc.4.1.0.9 \
				Microsoft.AspNet.Mvc.5.2.2 \
				Microsoft.AspNet.Razor.3.2.2 \
				Microsoft.AspNet.WebPages.3.2.2 \
				Microsoft.Web.Infrastructure.1.0.0.0
	do
		mkdir $pkg || die
		cd $pkg || die
		unpack $pkg.zip
		cd .. || die
	done
	mkdir -p "${S}"
}

src_prepare() {
	# Remove the git rev-parse (changelog?)
	sed -i '/<Exec.*rev-parse/ d' "${T}/${P}/main/src/core/MonoDevelop.Core/MonoDevelop.Core.csproj" || die
	# Set specific_version to prevent binding problem
	# when gtk#-3 is installed alongside gtk#-2
	find "${T}/${P}" -name '*.csproj' -exec sed -i 's#<SpecificVersion>.*</SpecificVersion>#<SpecificVersion>True</SpecificVersion>#' {} + || die

	#fix ASP.Net
	cd "${T}/${P}/main"
	epatch "${FILESDIR}/5.7-downgrade_to_mvc3.patch"
	epatch "${FILESDIR}/local-nuget-icons.patch"

	# fix for https://github.com/gentoo/dotnet/issues/42
	epatch "${FILESDIR}/aspnet-template-references-fix.patch"
	use gnome || epatch "${FILESDIR}/5.9.5-kill-gnome.patch"
	use qtcurve && epatch "${FILESDIR}/kill-qtcurve-warning.patch"

	#prepare dist package
	cd "${T}/${P}"
	epatch "${FILESDIR}/5.9.5-skip_merged_tar.patch"
	./configure --profile=default || die
	make dist || die

	#move it
	mv -f "${T}/${P}/tarballs/"monodevelop-*/* "${S}" || die

	#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
	mv -f "${T}/packages" "${S}" || 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
}

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
}