summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPacho Ramos <pacho@gentoo.org>2013-05-24 18:08:10 +0000
committerPacho Ramos <pacho@gentoo.org>2013-05-24 18:08:10 +0000
commitc9c11b1b6410b7fec6d421b46716e940cb2427df (patch)
tree013db6541dc2ad11b0d3ce3979d53768e3e7c4a2 /eclass/mono-env.eclass
parentReword sentences a bit (diff)
downloadgentoo-2-c9c11b1b6410b7fec6d421b46716e940cb2427df.tar.gz
gentoo-2-c9c11b1b6410b7fec6d421b46716e940cb2427df.tar.bz2
gentoo-2-c9c11b1b6410b7fec6d421b46716e940cb2427df.zip
Add mono-env.eclass to start a migration to simpler dotnet related eclasses, http://www.gossamer-threads.com/lists/gentoo/dev/270881
Diffstat (limited to 'eclass/mono-env.eclass')
-rw-r--r--eclass/mono-env.eclass43
1 files changed, 43 insertions, 0 deletions
diff --git a/eclass/mono-env.eclass b/eclass/mono-env.eclass
new file mode 100644
index 000000000000..7bf53588c853
--- /dev/null
+++ b/eclass/mono-env.eclass
@@ -0,0 +1,43 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/eclass/mono-env.eclass,v 1.1 2013/05/24 18:08:10 pacho Exp $
+
+# @ECLASS: mono-env.eclass
+# @MAINTAINER:
+# dotnet@gentoo.org
+# @BLURB: Set environment variables commonly used by dotnet packages.
+# @DESCRIPTION:
+# Set environment variables commonly used by dotnet packages.
+
+EXPORT_FUNCTIONS pkg_setup
+
+if [[ ! ${_MONO_ENV} ]]; then
+
+mono-env_pkg_setup() {
+ # >=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}"
+
+ # export more variables as needed by other dotnet packages
+ export MONO_REGISTRY_PATH="${T}/registry"
+ export XDG_DATA_HOME="${T}/data"
+
+ # Building mono, nant and many other dotnet packages is known to fail if LC_ALL
+ # variable is not set to C. To prevent this all mono related packages will be
+ # build with LC_ALL=C (see bugs #146424, #149817)
+ export LC_ALL=C
+
+ # Monodevelop-using applications need this to be set or they will try to create config
+ # files in the user's ~ dir.
+ export XDG_CONFIG_HOME="${T}"
+
+ # Fix bug 83020:
+ # "Access Violations Arise When Emerging Mono-Related Packages with MONO_AOT_CACHE"
+ unset MONO_AOT_CACHE
+
+ # mono libs can live on /usr/lib as they are not arch specific
+ QA_MULTILIB_PATHS="usr/lib/"
+}
+
+_MONO_ENV=1
+fi