summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Alfredsen <loki_val@gentoo.org>2009-01-05 17:12:34 +0000
committerPeter Alfredsen <loki_val@gentoo.org>2009-01-05 17:12:34 +0000
commitf50166d1ef1a9b7de7ebdeaf090f1485e50ed55e (patch)
treebb36d83ec4dca1187f74b3e4add9ca84087b7f84 /eclass/mono.eclass
parent~ppc'd wrt bug 250933 (diff)
downloadgentoo-2-f50166d1ef1a9b7de7ebdeaf090f1485e50ed55e.tar.gz
gentoo-2-f50166d1ef1a9b7de7ebdeaf090f1485e50ed55e.tar.bz2
gentoo-2-f50166d1ef1a9b7de7ebdeaf090f1485e50ed55e.zip
commit updated gtk-sharp-module eclass
Diffstat (limited to 'eclass/mono.eclass')
-rw-r--r--eclass/mono.eclass36
1 files changed, 35 insertions, 1 deletions
diff --git a/eclass/mono.eclass b/eclass/mono.eclass
index fe4268b93dcb..966785d04d6e 100644
--- a/eclass/mono.eclass
+++ b/eclass/mono.eclass
@@ -1,6 +1,6 @@
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/mono.eclass,v 1.10 2008/12/26 00:37:47 loki_val Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/mono.eclass,v 1.11 2009/01/05 17:12:34 loki_val Exp $
# @ECLASS: mono.eclass
# @MAINTAINER:
@@ -13,6 +13,8 @@
# MONO_SHARED_DIR and sets LC_ALL in order to prevent errors during compilation
# of dotnet packages.
+inherit multilib
+
# >=mono-0.92 versions using mcs -pkg:foo-sharp require shared memory, so we set the
# shared dir to ${T} so that ${T}/.wapi can be used during the install process.
export MONO_SHARED_DIR="${T}"
@@ -31,3 +33,35 @@ export XDG_CONFIG_HOME="${T}"
# "Access Violations Arise When Emerging Mono-Related Packages with MONO_AOT_CACHE"
unset MONO_AOT_CACHE
+
+egacinstall() {
+ gacutil -i "${1}" \
+ -root "${D}"/usr/$(get_libdir) \
+ -gacdir /usr/$(get_libdir) \
+ -package ${2:-${GACPN:-${PN}}} \
+ || die "installing ${1} into the Global Assembly Cache failed"
+}
+
+mono_multilib_comply() {
+ local dir finddirs=()
+ if [[ -d "${D}/usr/lib" && "$(get_libdir)" != "lib" ]]
+ then
+ if ! [[ -d "${D}"/usr/"$(get_libdir)" ]]
+ then
+ mkdir "${D}"/usr/"$(get_libdir)" || die "Couldn't mkdir ${D}/usr/$(get_libdir)"
+ fi
+ cp -ar "${D}"/usr/lib/* "${D}"/usr/"$(get_libdir)"/ || die "Moving files into correct libdir failed"
+ rm -rf "${D}"/usr/lib
+ for dir in "${D}"/usr/"$(get_libdir)"/pkgconfig "${D}"/usr/share/pkgconfig
+ do
+ [[ -d "${dir}" ]] && finddirs=( "${finddirs[@]}" "${dir}" )
+ done
+ if ! [[ -z "${finddirs[@]// /}" ]]
+ then
+ sed -i -r -e 's:/(lib)([^a-zA-Z0-9]|$):/'"$(get_libdir)"'\2:g' \
+ $(find "${finddirs[@]}" -name '*.pc') \
+ || die "Sedding some sense into pkgconfig files failed."
+ fi
+
+ fi
+}