diff options
author | Peter Alfredsen <loki_val@gentoo.org> | 2009-01-05 17:12:34 +0000 |
---|---|---|
committer | Peter Alfredsen <loki_val@gentoo.org> | 2009-01-05 17:12:34 +0000 |
commit | f50166d1ef1a9b7de7ebdeaf090f1485e50ed55e (patch) | |
tree | bb36d83ec4dca1187f74b3e4add9ca84087b7f84 /eclass/mono.eclass | |
parent | ~ppc'd wrt bug 250933 (diff) | |
download | gentoo-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.eclass | 36 |
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 +} |