commit:     2fa6b592ca55b53ecceb6659a7f717135d308f27
Author:     ArsenShnurkov <Arsen.Shnurkov <AT> gmail <DOT> com>
AuthorDate: Mon Feb 22 16:03:07 2016 +0000
Commit:     Heather Cynede <cynede <AT> gentoo <DOT> org>
CommitDate: Mon Feb 22 16:03:07 2016 +0000
URL:        https://gitweb.gentoo.org/proj/dotnet.git/commit/?id=2fa6b592

template copied from another ebuild

 dev-dotnet/cecil/cecil-0.9.6_p20160209.ebuild | 125 ++++++++++++++++++++++++++
 dev-dotnet/cecil/files/niget_icon_64x64.png   | Bin 0 -> 7553 bytes
 dev-dotnet/cecil/metadata.xml                 |  21 +++++
 3 files changed, 146 insertions(+)

diff --git a/dev-dotnet/cecil/cecil-0.9.6_p20160209.ebuild 
b/dev-dotnet/cecil/cecil-0.9.6_p20160209.ebuild
new file mode 100644
index 0000000..7726e0f
--- /dev/null
+++ b/dev-dotnet/cecil/cecil-0.9.6_p20160209.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit nupkg
+
+HOMEPAGE="http://cecil.pe/";
+DESCRIPTION="System.Reflection alternative to generate and inspect .NET 
executables/libraries"
+# https://github.com/jbevain/cecil/wiki/License
+# https://github.com/jbevain/cecil/blob/master/LICENSE.txt
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="net45 +gac +nupkg +pkg-config debug developer"
+USE_DOTNET="net45"
+
+COMMON_DEPEND=">=dev-lang/mono-4.0.2.5
+"
+
+RDEPEND="${COMMON_DEPEND}
+"
+
+DEPEND="${COMMON_DEPEND}
+       virtual/pkgconfig
+"
+
+NAME="cecil"
+REPOSITORY="https://github.com/jbevain/${NAME}";
+LICENSE_URL="${REPOSITORY}/blob/master/LICENSE"
+ICONMETA="https://github.com/lontivero/Open.NAT/tree/gh-pages/images/logos";
+ICON_URL="file://${FILESDIR}/nuget_icon_64x64.png"
+
+EGIT_BRANCH="master"
+EGIT_COMMIT="0e24ced7e3e9dd8320f450b6cb1d981bf9412cf8"
+SRC_URI="${REPOSITORY}/archive/${EGIT_BRANCH}/${EGIT_COMMIT}.zip -> ${PF}.zip
+       mirror://gentoo/mono.snk.bz2"
+#S="${WORKDIR}/${NAME}-${EGIT_COMMIT}"
+S="${WORKDIR}/${NAME}-${EGIT_BRANCH}"
+
+METAFILETOBUILD="./Mono.Cecil.sln"
+
+OUTPUT_DIR=Mono.Cecil/bin
+GAC_DLL_NAME=mono.cecil
+
+NUSPEC_FILE="${S}/Mono.Cecil.nuspec"
+NUSPEC_VERSION="${PVR//-r/.}"
+
+src_prepare() {
+       enuget_restore "${METAFILETOBUILD}"
+
+       patch_nuspec_file ${NUSPEC_FILE}
+}
+
+src_configure() {
+       :;
+}
+
+src_compile() {
+       exbuild /p:SignAssembly=true 
"/p:AssemblyOriginatorKeyFile=${WORKDIR}/mono.snk" "${METAFILETOBUILD}"
+
+       # run nuget_pack
+       enuspec -Prop version=${NUSPEC_VERSION} ${NUSPEC_FILE}
+}
+
+src_install() {
+       enupkg "${WORKDIR}/${NAME}.${NUSPEC_VERSION}.nupkg"
+
+       egacinstall "${OUTPUT_DIR}/${DIR}/${GAC_DLL_NAME}.dll"
+
+       install_pc_file
+}
+
+patch_nuspec_file()
+{
+       if use nupkg; then
+               if use debug; then
+                       DIR="Debug"
+               else
+                       DIR="Release"
+               fi
+               FILES_STRING=`cat <<-EOF || die "files at patch_nuspec_file()"
+                      <files> <!-- 
https://docs.nuget.org/create/nuspec-reference -->
+                              <file src="${OUTPUT_DIR}/${DIR}/*.dll" 
target="lib\net45\" />
+                              <file src="${OUTPUT_DIR}/${DIR}/*.mdb" 
target="lib\net45\" />
+                      </files>
+               EOF
+               `
+               einfo ${FILES_STRING}
+               replace "</package>" "${FILES_STRING}</package>" -- $1 || die 
"replace at patch_nuspec_file()"
+       fi
+}
+
+PC_FILE_NAME=${PN}
+
+install_pc_file()
+{
+       if use pkg-config; then
+               dodir /usr/$(get_libdir)/pkgconfig
+               ebegin "Installing ${PC_FILE_NAME}.pc file"
+               sed \
+                       -e "s:@LIBDIR@:$(get_libdir):" \
+                       -e "s:@PACKAGENAME@:${PC_FILE_NAME}:" \
+                       -e "s:@DESCRIPTION@:${DESCRIPTION}:" \
+                       -e "s:@VERSION@:${PV}:" \
+                       -e 
's;@LIBS@;-r:${libdir}'"/mono/${PC_FILE_NAME}/${GAC_DLL_NAME}.dll;" \
+                       <<\EOF 
>"${D}/usr/$(get_libdir)/pkgconfig/${PC_FILE_NAME}.pc" || die
+prefix=${pcfiledir}/../..
+exec_prefix=${prefix}
+libdir=${exec_prefix}/@LIBDIR@
+
+Name: @PACKAGENAME@
+Description: @DESCRIPTION@
+Version: @VERSION@
+Libs: @LIBS@
+EOF
+# Package exported to: 
/var/tmp/portage/dev-dotnet/Open-NAT-1.0.0-r201510290/image//usr/lib64/mono/Open-NAT/Open.Nat.dll
 -> ../gac/Open.Nat/1.0.0.0__0738eb9f132ed756/Open.Nat.dll
+# Installed Open.Nat/bin/Release/Open.Nat.dll into the gac 
(/var/tmp/portage/dev-dotnet/Open-NAT-1.0.0-r201510290/image//usr/lib64/mono/gac)
+
+               einfo PKG_CONFIG_PATH="${D}/usr/$(get_libdir)/pkgconfig/" 
pkg-config --exists "${PC_FILE_NAME}"
+               PKG_CONFIG_PATH="${D}/usr/$(get_libdir)/pkgconfig/" pkg-config 
--exists "${PC_FILE_NAME}" || die ".pc file failed to validate."
+               eend $?
+       fi
+}

diff --git a/dev-dotnet/cecil/files/niget_icon_64x64.png 
b/dev-dotnet/cecil/files/niget_icon_64x64.png
new file mode 100644
index 0000000..2735bfe
Binary files /dev/null and b/dev-dotnet/cecil/files/niget_icon_64x64.png differ

diff --git a/dev-dotnet/cecil/metadata.xml b/dev-dotnet/cecil/metadata.xml
new file mode 100644
index 0000000..481fc5e
--- /dev/null
+++ b/dev-dotnet/cecil/metadata.xml
@@ -0,0 +1,21 @@
+<?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>
+               <description>Gentoo Dotnet Project</description>
+       </maintainer>
+       <upstream>
+               <bugs-to>https://github.com/jbevain/cecil/issues/</bugs-to>
+               <remote-id type="github">jbevain/cecil</remote-id>
+       </upstream>
+       <use>
+               <flag name='pkg-config'>create .pc file(s) for .dll(s) 
installed to gac</flag>
+       </use>
+       <longdescription lang="en">
+               System.Reflection alternative to generate and inspect .NET 
executables and libraries (.NET over PE/COFF+)
+       </use>
+       <longdescription lang="ru">
+               Альтернатива библиотеке System.Reflection для создания и 
анализа .NET сборок (.NET поверх PE/COFF+)
+    </longdescription>
+</pkgmetadata>

Reply via email to