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/system-web/
Date: Wed, 07 Sep 2016 06:14:24
Message-Id: 1473226835.87dcecebadd06fe762624e4d495a4008b82be191.cynede@gentoo
1 commit: 87dcecebadd06fe762624e4d495a4008b82be191
2 Author: ArsenShnurkov <Arsen.Shnurkov <AT> gmail <DOT> com>
3 AuthorDate: Wed Sep 7 05:40:35 2016 +0000
4 Commit: Mikhail Pukhlikov <cynede <AT> gentoo <DOT> org>
5 CommitDate: Wed Sep 7 05:40:35 2016 +0000
6 URL: https://gitweb.gentoo.org/proj/dotnet.git/commit/?id=87dceceb
7
8 .pc file added
9
10 dev-dotnet/system-web/metadata.xml | 4 +--
11 dev-dotnet/system-web/system-web-4.6.0.150.ebuild | 39 +++++++++++++++++++++--
12 2 files changed, 38 insertions(+), 5 deletions(-)
13
14 diff --git a/dev-dotnet/system-web/metadata.xml b/dev-dotnet/system-web/metadata.xml
15 index 5875c6f..e5ffcdc 100644
16 --- a/dev-dotnet/system-web/metadata.xml
17 +++ b/dev-dotnet/system-web/metadata.xml
18 @@ -12,9 +12,9 @@
19 <use>
20 </use>
21 <longdescription lang="en">
22 - This package contains the Microsoft.Web.Infrastructure assembly that lets you dynamically register HTTP modules at run time.
23 + Framework for creating web-applications
24 </longdescription>
25 <longdescription lang="ru">
26 - Сборка Microsoft.Web.Infrastructure.dll позволяет регистрировать модули HTTP динамически во время выполнения.
27 + Фреймворк для создания Web-приложений
28 </longdescription>
29 </pkgmetadata>
30
31 diff --git a/dev-dotnet/system-web/system-web-4.6.0.150.ebuild b/dev-dotnet/system-web/system-web-4.6.0.150.ebuild
32 index 152f290..b871f70 100644
33 --- a/dev-dotnet/system-web/system-web-4.6.0.150.ebuild
34 +++ b/dev-dotnet/system-web/system-web-4.6.0.150.ebuild
35 @@ -6,9 +6,9 @@ EAPI=6
36
37 USE_DOTNET="net45"
38 inherit gac dotnet
39 -IUSE+=" +net45 debug"
40 +IUSE+=" +net45 +pkg-config debug"
41
42 -DESCRIPTION="assembly that lets you dynamically register HTTP modules at run time"
43 +DESCRIPTION="Framework for developing web-applications"
44 HOMEPAGE="https://www.asp.net/"
45 SRC_URI="http://download.mono-project.com/sources/mono/mono-4.6.0.150.tar.bz2"
46
47 @@ -50,6 +50,7 @@ KEYFILE2=${S}/mcs/class/mono.snk
48
49 src_compile()
50 {
51 + # System.Web.dll
52 exbuild /p:SignAssembly=true /p:AssemblyOriginatorKeyFile=${KEYFILE1} /p:DelaySign=true "${S}/mcs/class/${NAME}/${CSPROJ}"
53 if use debug; then
54 DIR="Debug"
55 @@ -57,6 +58,8 @@ src_compile()
56 DIR="Release"
57 fi
58 sn -R "${S}/mcs/class/${NAME}/obj/${DIR}/${NAME}.dll" ${KEYFILE2} || die
59 +
60 + # Policy file
61 al "/link:${S}/policy.4.0.System.Web.config" "/out:${S}/policy.4.0.System.Web.dll" "/keyfile:${KEYFILE1}" /delaysign+ || die
62 sn -R "${S}/policy.4.0.System.Web.dll" ${KEYFILE2} || die
63 }
64 @@ -68,7 +71,37 @@ src_install()
65 else
66 DIR="Release"
67 fi
68 - # installation to GAC will cause file collision with mono package
69 egacinstall "${S}/mcs/class/${NAME}/obj/${DIR}/${NAME}.dll"
70 egacinstall "${S}/policy.4.0.System.Web.dll"
71 + install_pc_file "${PN}" "${NAME}.dll"
72 +}
73 +
74 +# The file format contains predefined metadata keywords and freeform variables (like ${prefix} and ${exec_prefix})
75 +# $1 = ${PN}
76 +# $2 = myassembly.dll
77 +install_pc_file()
78 +{
79 + if use pkg-config; then
80 + dodir /usr/$(get_libdir)/pkgconfig
81 + ebegin "Installing ${PC_FILE_NAME}.pc file"
82 + sed \
83 + -e "s:@LIBDIR@:$(get_libdir):" \
84 + -e "s:@PACKAGENAME@:$1:" \
85 + -e "s:@DESCRIPTION@:${DESCRIPTION}:" \
86 + -e "s:@VERSION@:${PV}:" \
87 + -e 's*@LIBS@*-r:${libdir}'"/mono/$1/$2"'*' \
88 + <<-EOF >"${D}/usr/$(get_libdir)/pkgconfig/$1.pc" || die
89 + prefix=${pcfiledir}/../..
90 + exec_prefix=${prefix}
91 + libdir=${exec_prefix}/@LIBDIR@
92 + Name: @PACKAGENAME@
93 + Description: @DESCRIPTION@
94 + Version: @VERSION@
95 + Libs: @LIBS@
96 + EOF
97 +
98 + einfo PKG_CONFIG_PATH="${D}/usr/$(get_libdir)/pkgconfig/" pkg-config --exists "$1"
99 + PKG_CONFIG_PATH="${D}/usr/$(get_libdir)/pkgconfig/" pkg-config --exists "$1" || die ".pc file failed to validate."
100 + eend $?
101 + fi
102 }