# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="8" KEYWORDS="~amd64 ~x86" inherit xdg-utils gnome2-utils dotnet git-r3 DESCRIPTION="Integrated Development Environment for .NET" HOMEPAGE="https://www.monodevelop.com/" LICENSE="LGPL-2 MIT" LICENSE+=" Apache-2.0" # fsharpbinding, monomac LICENSE+=" GPL-2" # ikvm, mono-tools LICENSE+=" GPL-2-with-classpath-exception" # ikvm LICENSE+=" GPL-2-with-linking-exception" # libgit2 SLOT="0" EGIT_COMMIT="${P}" EGIT_REPO_URI="git://github.com/mono/monodevelop.git" EGIT_SUBMODULES=( '*' ) # todo: replace certain submodules with system packages if [ "${PV}" == "9999" ]; then EGIT_COMMIT="HEAD" KEYWORDS="" fi USE_DOTNET="net45" # todo: necessary? IUSE="${USE_DOTNET} +subversion +git qtcurve test" COMMON_DEPEND=" >=dev-lang/mono-4.4.1 >=dev-dotnet/gtk-sharp-2.12.21:2 >=dev-dotnet/nuget-2.8.7 dev-dotnet/referenceassemblies-pcl >=dev-lang/fsharp-4.0.1.15 net-libs/libssh2" RDEPEND="${COMMON_DEPEND} dev-util/ctags sys-apps/dbus[X] >=www-servers/xsp-2 git? ( dev-vcs/git ) subversion? ( dev-vcs/subversion )" DEPEND="${COMMON_DEPEND} dev-util/intltool virtual/pkgconfig sys-devel/gettext x11-misc/shared-mime-info x11-terms/xterm app-arch/unzip" S="${WORKDIR}/${P}/main" src_unpack() { git-r3_fetch git-r3_checkout nuget restore "${S}" default } src_prepare() { # use system nuget find "${S}" -name 'Makefile*' -exec sed -i 's|mono .nuget/NuGet.exe|nuget|g' {} + || die # prevent binding problem when gtk#-3 is installed alongside gtk#-2 find "${S}" -name '*.csproj' -exec sed -i 's#.*#True#' {} + || die # this fsharpbinding test won't build sed -i 's|||g' "${S}"/external/fsharpbinding/MonoDevelop.FSharp.Tests/MonoDevelop.FSharp.Tests.fsproj || die use qtcurve && epatch -p2 "${FILESDIR}/kill-qtcurve-warning.patch" # generate configure script but don't execute yet NOCONFIGURE=1 ./autogen.sh 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 \ --enable-release \ $(use_enable test tests) \ $(use_enable subversion) \ $(use_enable git) # Main.sln file was created on the fly during econf # https://github.com/mrward/xdt/issues/4 epatch -p2 "${FILESDIR}/mrward-xdt-issue-4.patch" # 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 }