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 |
} |