commit: 715c89f32dda8f83c0e5e26662878efc877ad9f5 Author: ArsenShnurkov <Arsen.Shnurkov <AT> gmail <DOT> com> AuthorDate: Fri Aug 5 08:47:23 2016 +0000 Commit: Mikhail Pukhlikov <cynede <AT> gentoo <DOT> org> CommitDate: Fri Aug 5 08:47:23 2016 +0000 URL: https://gitweb.gentoo.org/proj/dotnet.git/commit/?id=715c89f3
initial version dev-dotnet/mono-options/files/Mono.Options.nuspec | 19 ++++++ dev-dotnet/mono-options/metadata.xml | 19 ++++++ .../mono-options/mono-options-4.4.0.0.ebuild | 68 ++++++++++++++++++++++ 3 files changed, 106 insertions(+) diff --git a/dev-dotnet/mono-options/files/Mono.Options.nuspec b/dev-dotnet/mono-options/files/Mono.Options.nuspec new file mode 100644 index 0000000..38ce4b7 --- /dev/null +++ b/dev-dotnet/mono-options/files/Mono.Options.nuspec @@ -0,0 +1,19 @@ +<?xml version="1.0"?> +<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd"> + <metadata> + <id>Mono.Options</id> + <version>4.4.0.0</version> + <title>Mono.Options</title> + <authors>Xamarin Inc.</authors> + <owners>Xamarin Inc.</owners> + <licenseUrl>https://components.xamarin.com/license/mono.options</licenseUrl> + <iconUrl>https://xamarin-component-icons.s3.amazonaws.com/mono.options.png</iconUrl> + <requireLicenseAcceptance>false</requireLicenseAcceptance> + <description>A Getopt::Long-inspired option parsing library for C#.</description> + <summary>A Getopt::Long-inspired option parsing library for C#.</summary> + <copyright>Copyright 2016 Xamarin Inc.</copyright> + </metadata> + <files> + <file src="Mono.Options.dll" target="lib/net40" /> + </files> +</package> \ No newline at end of file diff --git a/dev-dotnet/mono-options/metadata.xml b/dev-dotnet/mono-options/metadata.xml new file mode 100644 index 0000000..c334903 --- /dev/null +++ b/dev-dotnet/mono-options/metadata.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>dot...@gentoo.org</email> + <name>Gentoo Dotnet Project</name> + </maintainer> + <longdescription lang="en"> + Code for parsing command line parameters + </longdescription> + <longdescription lang="ru"> + методы для считывания параметров командной строки + </longdescription> + <use> + <flag name='gac'>n/a</flag> + <flag name='nupkg'>n/a</flag> + <flag name='developer'>n/a</flag> + </use> +</pkgmetadata> diff --git a/dev-dotnet/mono-options/mono-options-4.4.0.0.ebuild b/dev-dotnet/mono-options/mono-options-4.4.0.0.ebuild new file mode 100644 index 0000000..bc385d7 --- /dev/null +++ b/dev-dotnet/mono-options/mono-options-4.4.0.0.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +# Watch the order of these! +inherit nupkg + +KEYWORDS="~amd64 ~x86" +IUSE="+gac +nupkg" +SLOT="0" + +DESCRIPTION="A Getopt::Long-inspired option parsing library for C#" +HOMEPAGE="http://tirania.org/blog/archive/2008/Oct-14.html" +LICENSE="MIT" + +S="${WORKDIR}/mono-4.5.2" +SRC_URI="https://github.com/ArsenShnurkov/shnurise-tarballs/raw/master/mono-4.5.2_p2016061606.tar.bz2 + " +RESTRICT="mirror" + +CDEPEND="" +DEPEND="${CDEPEND} + nupkg? ( dev-dotnet/nuget ) + " +RDEPEND="${CDEPEND} + " + +src_configure() { + # dont' call default configure for the whole mono package, because it is slow + cat <<-METADATA >AssemblyInfo.cs || die + [assembly: System.Reflection.AssemblyVersion("4.4.0.0")] + METADATA +} + +src_compile() { + # exbuild_strong "mcs/class/Mono.Options/Mono.Options-net_4_x.csproj" # csproj is created during configure + if use gac; then + PARAMETERS=-keyfile:mcs/class/mono.snk + else + PARAMETERS= + fi + mcs ${PARAMETERS} -r:System.Core mcs/class/Mono.Options/Mono.Options/Options.cs AssemblyInfo.cs -t:library -out:"Mono.Options.dll" || die "compilation failed" + enuspec "${FILESDIR}/Mono.Options.nuspec" +} + +src_install() { + insinto "${libdir}" + doins "Mono.Options.dll" + + enupkg "${WORKDIR}/Mono.Options.4.4.0.0.nupkg" +} + +pkg_postinst() { + if use gac; then + einfo "adding to GAC" + gacutil -i "${libdir}/Mono.Options.dll" || die + fi +} + +pkg_prerm() { + if use gac; then + einfo "removing from GAC" + gacutil -u Mono.Options + # don't die, it there is no such assembly in GAC + fi +}