Gentoo Archives: gentoo-commits

From: Heather Cynede <cynede@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/dotnet:master commit in: dev-dotnet/Open-NAT/
Date: Thu, 29 Oct 2015 11:15:44
Message-Id: 1446105415.fe426d6dab349a336a2e18d70705f2d06037efa5.cynede@gentoo
1 commit: fe426d6dab349a336a2e18d70705f2d06037efa5
2 Author: ArsenShnurkov <Arsen.Shnurkov <AT> gmail <DOT> com>
3 AuthorDate: Thu Oct 29 07:56:55 2015 +0000
4 Commit: Heather Cynede <cynede <AT> gentoo <DOT> org>
5 CommitDate: Thu Oct 29 07:56:55 2015 +0000
6 URL: https://gitweb.gentoo.org/proj/dotnet.git/commit/?id=fe426d6d
7
8 initial code
9
10 .../Open-NAT/Open-NAT-1.0.0-r201510290.ebuild | 131 +++++++++++++++++++++
11 dev-dotnet/Open-NAT/metadata.xml | 25 ++++
12 2 files changed, 156 insertions(+)
13
14 diff --git a/dev-dotnet/Open-NAT/Open-NAT-1.0.0-r201510290.ebuild b/dev-dotnet/Open-NAT/Open-NAT-1.0.0-r201510290.ebuild
15 new file mode 100644
16 index 0000000..4061b2b
17 --- /dev/null
18 +++ b/dev-dotnet/Open-NAT/Open-NAT-1.0.0-r201510290.ebuild
19 @@ -0,0 +1,131 @@
20 +# Copyright 1999-2015 Gentoo Foundation
21 +# Distributed under the terms of the GNU General Public License v2
22 +# $Id$
23 +
24 +EAPI=5
25 +
26 +# mono-env
27 +inherit dotnet nupkg
28 +
29 +HOMEPAGE="https://lontivero.github.io/Open.NAT"
30 +DESCRIPTION="Lightweight and easy-to-use class library to allow port forwarding in NAT devices with UPNP and/or PMP"
31 +LICENSE="MIT"
32 +SLOT="0"
33 +KEYWORDS="~amd64 ~x86"
34 +IUSE="net45 +gac +nupkg +pkg-config debug developer"
35 +USE_DOTNET="net45"
36 +
37 +COMMON_DEPEND=">=dev-lang/mono-4.0.2.5
38 +"
39 +
40 +RDEPEND="${COMMON_DEPEND}
41 +"
42 +
43 +DEPEND="${COMMON_DEPEND}
44 + virtual/pkgconfig
45 +"
46 +
47 +NAME="Open.NAT"
48 +REPOSITORY="https://github.com/ArsenShnurkov/${NAME}"
49 +LICENSE_URL="${REPOSITORY}/blob/master/LICENSE"
50 +ICONMETA="https://github.com/lontivero/Open.NAT/tree/gh-pages/images/logos"
51 +ICON_URL="https://raw.githubusercontent.com/lontivero/Open.NAT/gh-pages/images/logos/256.jpg"
52 +
53 +EGIT_BRANCH="gentoo-mono4"
54 +EGIT_COMMIT="8b1120fa0f2d457fa2c703718bbf3ce079ac5aae"
55 +SRC_URI="${REPOSITORY}/archive/${EGIT_BRANCH}/${EGIT_COMMIT}.zip -> ${PF}.zip
56 + mirror://gentoo/mono.snk.bz2"
57 +#S="${WORKDIR}/${NAME}-${EGIT_COMMIT}"
58 +S="${WORKDIR}/${NAME}-${EGIT_BRANCH}"
59 +
60 +#METAFILETOBUILD="./Open.Nat.sln"
61 +METAFILETOBUILD="./Open.Nat/Open.Nat.csproj"
62 +
63 +OUTPUT_DIR=Open.Nat/bin
64 +GAC_DLL_NAME=Open.Nat
65 +
66 +NUSPEC_FILE="${S}/Open.Nat/Open.Nat.nuspec"
67 +NUSPEC_VERSION="${PVR//-r/.}"
68 +
69 +src_prepare() {
70 + enuget_restore "${METAFILETOBUILD}"
71 +
72 + patch_nuspec_file ${NUSPEC_FILE}
73 +}
74 +
75 +src_configure() {
76 + :;
77 +}
78 +
79 +src_compile() {
80 + exbuild /p:SignAssembly=true "/p:AssemblyOriginatorKeyFile=${WORKDIR}/mono.snk" "${METAFILETOBUILD}"
81 +
82 + # run nuget_pack
83 + enuspec -Prop version=${NUSPEC_VERSION} ${NUSPEC_FILE}
84 +}
85 +
86 +src_install() {
87 + enupkg "${WORKDIR}/${NAME}.${NUSPEC_VERSION}.nupkg"
88 +
89 + egacinstall "${OUTPUT_DIR}/${DIR}/${GAC_DLL_NAME}.dll"
90 +
91 + install_pc_file
92 +}
93 +
94 +patch_nuspec_file()
95 +{
96 + if use nupkg; then
97 + if use debug; then
98 + DIR="Debug"
99 + else
100 + DIR="Release"
101 + fi
102 + patch <<EOF $1 || die "patching of $1 failed"
103 +diff --git a/Open.Nat/Open.Nat.nuspec b/Open.Nat/Open.Nat.nuspec
104 +index 1da1488..c562699 100644
105 +--- a/Open.Nat/Open.Nat.nuspec
106 ++++ b/Open.Nat/Open.Nat.nuspec
107 +@@ -64,4 +64,8 @@
108 + Tracing improvements
109 + </releaseNotes>
110 + </metadata>
111 ++ <files> <!-- https://docs.nuget.org/create/nuspec-reference -->
112 ++ <file src="${OUTPUT_DIR}/${DIR}/*.dll" target="lib\net45\" />
113 ++ <file src="${OUTPUT_DIR}/${DIR}/*.mdb" target="lib\net45\" />
114 ++ </files>
115 + </package>
116 +EOF
117 + fi
118 +}
119 +
120 +PC_FILE_NAME=${PN}
121 +
122 +install_pc_file()
123 +{
124 + if use pkg-config; then
125 + dodir /usr/$(get_libdir)/pkgconfig
126 + ebegin "Installing ${PC_FILE_NAME}.pc file"
127 + sed \
128 + -e "s:@LIBDIR@:$(get_libdir):" \
129 + -e "s:@PACKAGENAME@:${PC_FILE_NAME}:" \
130 + -e "s:@DESCRIPTION@:${DESCRIPTION}:" \
131 + -e "s:@VERSION@:${PV}:" \
132 + -e 's;@LIBS@;-r:${libdir}'"/mono/${PC_FILE_NAME}/${GAC_DLL_NAME}.dll;" \
133 + <<\EOF >"${D}/usr/$(get_libdir)/pkgconfig/${PC_FILE_NAME}.pc" || die
134 +prefix=${pcfiledir}/../..
135 +exec_prefix=${prefix}
136 +libdir=${exec_prefix}/@LIBDIR@
137 +
138 +Name: @PACKAGENAME@
139 +Description: @DESCRIPTION@
140 +Version: @VERSION@
141 +Libs: @LIBS@
142 +EOF
143 +# 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
144 +# 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)
145 +
146 + einfo PKG_CONFIG_PATH="${D}/usr/$(get_libdir)/pkgconfig/" pkg-config --exists "${PC_FILE_NAME}"
147 + PKG_CONFIG_PATH="${D}/usr/$(get_libdir)/pkgconfig/" pkg-config --exists "${PC_FILE_NAME}" || die ".pc file failed to validate."
148 + eend $?
149 + fi
150 +}
151
152 diff --git a/dev-dotnet/Open-NAT/metadata.xml b/dev-dotnet/Open-NAT/metadata.xml
153 new file mode 100644
154 index 0000000..4fc4830
155 --- /dev/null
156 +++ b/dev-dotnet/Open-NAT/metadata.xml
157 @@ -0,0 +1,25 @@
158 +<?xml version="1.0" encoding="UTF-8"?>
159 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
160 +<pkgmetadata>
161 + <herd>dotnet</herd>
162 + <maintainer> <!-- https://wiki.gentoo.org/wiki/User:Cynede -->
163 + <email>cynede@g.o</email>
164 + <name>Heather Cynede</name>
165 + </maintainer>
166 + <upstream>
167 + <maintainer status="inactive">
168 + <email>unknown</email>
169 + <name>Lucas Ontivero</name>
170 + </maintainer>
171 + <bugs-to>https://github.com/lontivero/Open.NAT/issues/</bugs-to>
172 + <remote-id type="github">lontivero/Open.NAT</remote-id>
173 + </upstream>
174 + <use>
175 + </use>
176 + <longdescription lang="en">
177 + Lightweight and easy-to-use class library to allow port forwarding in NAT devices with UPNP and/or PMP
178 + </longdescription>
179 + <longdescription lang="ru">
180 + Библиотека-клиент для пробрасывания портов через файрволл по протоколам UPnP и/или PMP
181 + </longdescription>
182 +</pkgmetadata>