commit: 9278ba01842058a9f2d17b803c1abfe189c5755c
Author: ArsenShnurkov <Arsen.Shnurkov <AT> gmail <DOT> com>
AuthorDate: Fri Jan 15 14:02:53 2016 +0000
Commit: Mikhail Pukhlikov <cynede <AT> gentoo <DOT> org>
CommitDate: Tue Aug 23 12:59:52 2016 +0000
URL: https://gitweb.gentoo.org/proj/dotnet.git/commit/?id=9278ba01
some draft (nonworking)
dev-util/mono-packaging-tools/metadata.xml | 14 ++++
.../mono-packaging-tools-0.2.1_p20160115.ebuild | 95 ++++++++++++++++++++++
2 files changed, 109 insertions(+)
diff --git a/dev-util/mono-packaging-tools/metadata.xml
b/dev-util/mono-packaging-tools/metadata.xml
index b1262f1..1082890 100644
--- a/dev-util/mono-packaging-tools/metadata.xml
+++ b/dev-util/mono-packaging-tools/metadata.xml
@@ -5,4 +5,18 @@
<email>[email protected]</email>
<description>Gentoo Dotnet Project</description>
</maintainer>
+ <upstream>
+
<bugs-to>https://github.com/ArsenShnurkov/mono-packaging-tools/issues</bugs-to>
+ <remote-id
type="github">ArsenShnurkov/mono-packaging-tools</remote-id>
+ </upstream>
+ <use>
+ <flag name='aot'>compile to machine code and store to disk
during install, to save time later during startups</flag>
+ <flag name='pkg-config'>create .pc file(s) for .dll(s)
installed to gac</flag>
+ </use>
+ <longdescription lang="en">
+ Various utils for packaging mono projects
+ </longdescription>
+ <longdescription lang="ru">
+ Вспомогательные утилиты для использования в ebuild-ах для
clr-приложений
+ </longdescription>
</pkgmetadata>
diff --git
a/dev-util/mono-packaging-tools/mono-packaging-tools-0.2.1_p20160115.ebuild
b/dev-util/mono-packaging-tools/mono-packaging-tools-0.2.1_p20160115.ebuild
new file mode 100644
index 0000000..e6ecf52
--- /dev/null
+++ b/dev-util/mono-packaging-tools/mono-packaging-tools-0.2.1_p20160115.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6 # >=portage-2.2.25
+KEYWORDS="~x86 ~amd64"
+
+USE_DOTNET="net45"
+# debug = debug configuration (symbols and defines for debugging)
+# test = allow NUnit tests to run
+# developer = generate symbols information (to view line numbers in stack
traces, either in debug or release configuration)
+# aot = compile to machine code and store to disk during install, to save time
later during startups
+# nupkg = create .nupkg file from .nuspec
+# gac = install into gac
+# pkg-config = register in pkg-config database
+IUSE="${USE_DOTNET} debug test +developer +aot +nupkg +gac +pkg-config"
+
+inherit nupkg
+
+HOMEPAGE="http://arsenshnurkov.github.io/mono-packaging-tools"
+DESCRIPTION="mono packaging helpers"
+LICENSE="GPL-3"
+LICENSE_URL="https://raw.githubusercontent.com/ArsenShnurkov/mono-packaging-tools/master/LICENSE"
+
+SLOT="0"
+
+REPOSITORY_NAME="mono-packaging-tools"
+REPOSITORY_URL="https://github.com/ArsenShnurkov/${REPOSITORY_NAME}"
+EGIT_COMMIT="17bfa8a2c3a7c3f6507e0226764066750ef91f03"
+SRC_URI="${REPOSITORY_URL}/archive/${EGIT_COMMIT}.zip -> ${P}.zip
+ mirror://gentoo/mono.snk.bz2"
+S="${WORKDIR}/${REPOSITORY_NAME}-${EGIT_COMMIT}"
+
+COMMON_DEPENDENCIES="|| ( >=dev-lang/mono-4.2 <dev-lang/mono-9999 )
+ >=dev-dotnet/eto-parse-1.4.0[nupkg]
+ "
+DEPEND="${COMMON_DEPENDENCIES}
+ "
+RDEPEND="${COMMON_DEPENDENCIES}
+ "
+
+METAFILETOBUILD="${S}/${SLN_FILE}"
+
+METAFILETOBUILD="mono-packaging-tools.sln"
+NUSPEC_FILENAME="${PN}.nuspec"
+NUSPEC_ID="${REPOSITORY_NAME}"
+COMMIT_DATE_INDEX="$(get_version_component_count ${PV} )"
+COMMIT_DATE="$(get_version_component_range $COMMIT_DATE_INDEX ${PV} )"
+NUSPEC_VERSION="$(get_version_component_range 1-3)${COMMIT_DATE//p/.}${PR//r/}"
+ICON_FILENAME="${PN}.png"
+ICON_FINALNAME="${NUSPEC_ID}.${NUSPEC_VERSION}.png"
+ICON_PATH="$(get_nuget_trusted_icons_location)/${ICON_FINALNAME}"
+
+src_prepare() {
+ #change version in .nuspec
+ # PV = Package version (excluding revision, if any), for example 6.3.
+ # It should reflect the upstream versioning scheme
+ sed "s/@VERSION@/${PV}/g" "${FILESDIR}/${NUGET_PACKAGE_ID}.nuspec"
>"${S}/${NUGET_PACKAGE_ID}.nuspec" || die
+
+ enuget_restore "${METAFILETOBUILD}"
+}
+
+src_compile() {
+ exbuild "${METAFILETOBUILD}"
+ enuspec "${NUGET_PACKAGE_ID}.nuspec"
+}
+
+install_tool() {
+ MONO=/usr/bin/mono
+ doins $1/bin/${DIR}/*
+ if use developer; then
+ make_wrapper $1 "${MONO} --debug /usr/share/${PN}/$1.exe"
+ else
+ make_wrapper $1 "${MONO} /usr/share/${PN}/$1.exe"
+ fi;
+}
+
+src_install() {
+ if use debug; then
+ DIR="Debug"
+ else
+ DIR="Release"
+ fi
+
+ insinto "/usr/share/${PN}/"
+ install_tool mpt-gitmodules
+ install_tool mpt-sln
+ install_tool mpt-csproj
+ install_tool mpt-machine
+ install_tool mpt-nuget
+
+ enupkg "${WORKDIR}/${PN}.${PV}.nupkg"
+
+ dodoc README.md
+}