Gentoo Archives: gentoo-commits

From: Mikhail Pukhlikov <cynede@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/dotnet:master commit in: dev-dotnet/fluent-nhibernate/
Date: Tue, 31 Oct 2017 08:03:01
Message-Id: 1509376293.d0902422ba17d2b1db7c5acf42ce8f1cce32c9a0.cynede@gentoo
1 commit: d0902422ba17d2b1db7c5acf42ce8f1cce32c9a0
2 Author: ArsenShnurkov <ArsenShnurkov <AT> users <DOT> noreply <DOT> github <DOT> com>
3 AuthorDate: Mon Oct 30 15:11:33 2017 +0000
4 Commit: Mikhail Pukhlikov <cynede <AT> gentoo <DOT> org>
5 CommitDate: Mon Oct 30 15:11:33 2017 +0000
6 URL: https://gitweb.gentoo.org/proj/dotnet.git/commit/?id=d0902422
7
8 archive digest created
9
10 .../fluent-nhibernate-2.0.2.ebuild | 87 ++++++++++++++++++++++
11 dev-dotnet/fluent-nhibernate/metadata.xml | 8 ++
12 2 files changed, 95 insertions(+)
13
14 diff --git a/dev-dotnet/fluent-nhibernate/fluent-nhibernate-2.0.2.ebuild b/dev-dotnet/fluent-nhibernate/fluent-nhibernate-2.0.2.ebuild
15 new file mode 100644
16 index 0000000..8e4ed8f
17 --- /dev/null
18 +++ b/dev-dotnet/fluent-nhibernate/fluent-nhibernate-2.0.2.ebuild
19 @@ -0,0 +1,87 @@
20 +# Copyright 1999-2017 Gentoo Foundation
21 +# Distributed under the terms of the GNU General Public License v2
22 +# $Id$
23 +
24 +EAPI=6
25 +KEYWORDS="~amd64 ~ppc ~x86"
26 +RESTRICT="mirror"
27 +
28 +SLOT="0"
29 +
30 +USE_DOTNET="net45"
31 +inherit msbuild gac
32 +IUSE="+${USE_DOTNET}"
33 +
34 +NAME="fluent-nhibernate"
35 +HOMEPAGE="http://www.fluentnhibernate.org/"
36 +
37 +EGIT_COMMIT="0ac6335d2068798f6b38b98aacade07bc702d68f"
38 +SRC_URI="https://github.com/jagregory/${NAME}/archive/${EGIT_COMMIT}.tar.gz -> ${PF}.tar.gz
39 + https://github.com/mono/mono/raw/master/mcs/class/mono.snk"
40 +S="${WORKDIR}/${NAME}-${EGIT_COMMIT}"
41 +
42 +DESCRIPTION="XML-less, compile safe, automated, convention-based mappings for NHibernate"
43 +LICENSE="BSD" # https://github.com/jagregory/fluent-nhibernate/blob/master/LICENSE.txt
44 +
45 +CDEPEND="|| ( >=dev-lang/mono-5.4.0.167 <dev-lang/mono-9999 )
46 + "
47 +RDEPEND="${CDEPEND}
48 +"
49 +DEPEND="${CDEPEND}
50 + dev-util/antlrcs
51 + >=dev-dotnet/msbuildtasks-1.5.0.240
52 +"
53 +
54 +PATH_TO_PROJ="src/NHibernate"
55 +METAFILE_TO_BUILD=NHibernate
56 +ASSEMBLY_NAME="NHibernate"
57 +
58 +KEY2="${DISTDIR}/mono.snk"
59 +ASSEMBLY_VERSION="${PV}"
60 +
61 +function output_filename ( ) {
62 + local DIR=""
63 + if use debug; then
64 + DIR="Debug"
65 + else
66 + DIR="Release"
67 + fi
68 + echo "${PATH_TO_PROJ}/bin/${DIR}/${ASSEMBLY_NAME}.dll"
69 +}
70 +
71 +src_prepare() {
72 + cp "${FILESDIR}/${METAFILE_TO_BUILD}-${PV}.csproj" "${S}/${PATH_TO_PROJ}/${METAFILE_TO_BUILD}.csproj" || die
73 + cp "${FILESDIR}/SharedAssemblyInfo-${PV}.cs" "${S}/${PATH_TO_PROJ}/../SharedAssemblyInfo.cs" || die
74 + eapply_user
75 +}
76 +
77 +TOOLS_VERSION=4.0
78 +
79 +src_compile() {
80 + emsbuild /p:TargetFrameworkVersion=v4.6 "/p:SignAssembly=true" "/p:PublicSign=true" "/p:AssemblyOriginatorKeyFile=${KEY2}" /p:VersionNumber="${ASSEMBLY_VERSION}" "${S}/${PATH_TO_PROJ}/${METAFILE_TO_BUILD}.csproj"
81 + sn -R "$(output_filename)" "${KEY2}" || die
82 +}
83 +
84 +src_install() {
85 + insinto "/gac"
86 + doins "$(output_filename)"
87 +}
88 +
89 +pkg_preinst()
90 +{
91 + echo mv "${D}/gac/${ASSEMBLY_NAME}.dll" "${T}/${ASSEMBLY_NAME}.dll"
92 + mv "${D}/gac/${ASSEMBLY_NAME}.dll" "${T}/${ASSEMBLY_NAME}.dll" || die
93 + echo rm -rf "${D}/gac"
94 + rm -rf "${D}/gac" || die
95 +}
96 +
97 +pkg_postinst()
98 +{
99 + egacadd "${T}/${ASSEMBLY_NAME}.dll"
100 + rm "${T}/${ASSEMBLY_NAME}.dll" || die
101 +}
102 +
103 +pkg_prerm()
104 +{
105 + egacdel "${ASSEMBLY_NAME}, Version=${ASSEMBLY_VERSION}, Culture=neutral, PublicKeyToken=0738eb9f132ed756"
106 +}
107
108 diff --git a/dev-dotnet/fluent-nhibernate/metadata.xml b/dev-dotnet/fluent-nhibernate/metadata.xml
109 new file mode 100644
110 index 0000000..b1262f1
111 --- /dev/null
112 +++ b/dev-dotnet/fluent-nhibernate/metadata.xml
113 @@ -0,0 +1,8 @@
114 +<?xml version="1.0" encoding="UTF-8"?>
115 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
116 +<pkgmetadata>
117 + <maintainer type="project">
118 + <email>dotnet@g.o</email>
119 + <description>Gentoo Dotnet Project</description>
120 + </maintainer>
121 +</pkgmetadata>