1 |
commit: a692d69588c7f0cfb20edb4303c214290f1e7e4b |
2 |
Author: Tomas Chvatal <scarabeus <AT> gentoo <DOT> org> |
3 |
AuthorDate: Mon Feb 21 18:19:25 2011 +0000 |
4 |
Commit: Tomas Chvatal <scarabeus <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon Feb 21 18:19:25 2011 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/x11.git;a=commit;h=a692d695 |
7 |
|
8 |
Introduce VIRTUALX_COMMAND instead of weird export maketype=... |
9 |
|
10 |
--- |
11 |
eclass/virtualx.eclass | 26 ++++++++++++++++++-------- |
12 |
1 files changed, 18 insertions(+), 8 deletions(-) |
13 |
|
14 |
diff --git a/eclass/virtualx.eclass b/eclass/virtualx.eclass |
15 |
index c248c4d..2acdebb 100644 |
16 |
--- a/eclass/virtualx.eclass |
17 |
+++ b/eclass/virtualx.eclass |
18 |
@@ -31,6 +31,11 @@ VIRTUALX_DEPEND=" |
19 |
x11-apps/xhost |
20 |
" |
21 |
|
22 |
+# @ECLASS-VARIABLE: VIRTUALX_COMMAND |
23 |
+# @DESCRIPTION: |
24 |
+# Command (or eclass function call) to be run in the X11 environment |
25 |
+: ${VIRTUALX_COMMAND:="emake"} |
26 |
+ |
27 |
has "${EAPI:-0}" 0 1 && die "virtualx eclass require EAPI=2 or newer." |
28 |
|
29 |
case ${VIRTUALX_REQUIRED} in |
30 |
@@ -69,6 +74,14 @@ virtualmake() { |
31 |
local XHOST=$(type -p xhost) |
32 |
local xvfbargs="-screen 0 800x600x24" |
33 |
|
34 |
+ # backcompat for maketype |
35 |
+ if [[ -n ${maketype} ]]; then |
36 |
+ ewarn "QA: ebuild is exporting \$maketype=${maketype}" |
37 |
+ ewarn "QA: Ebuild should be migrated to use VIRTUALX_COMMAND=${maketype} instead." |
38 |
+ ewarn "QA: Setting VIRTUALX_COMMAND to \$maketype conviniently for now." |
39 |
+ VIRTUALX_COMMAND=${maketype} |
40 |
+ fi |
41 |
+ |
42 |
# If $DISPLAY is not set, or xhost cannot connect to an X |
43 |
# display, then do the Xvfb hack. |
44 |
if [[ -n ${XVFB} && -n ${XHOST} ]] && \ |
45 |
@@ -121,7 +134,7 @@ virtualmake() { |
46 |
export DISPLAY=:${XDISPLAY} |
47 |
# Do not break on error, but setup $retval, as we need |
48 |
# to kill Xvfb |
49 |
- ${maketype} "$@" |
50 |
+ ${VIRTUALX_COMMAND} "$@" |
51 |
retval=$? |
52 |
|
53 |
# Now kill Xvfb |
54 |
@@ -129,7 +142,7 @@ virtualmake() { |
55 |
else |
56 |
debug-print "${FUNCNAME}: attaching to running X display" |
57 |
# Normal make if we can connect to an X display |
58 |
- ${maketype} "$@" |
59 |
+ ${VIRTUALX_COMMAND} "$@" |
60 |
retval=$? |
61 |
fi |
62 |
|
63 |
@@ -145,8 +158,7 @@ Xmake() { |
64 |
|
65 |
ewarn "QA: you should not execute make directly" |
66 |
ewarn "QA: rather execute Xemake -j1 if you have issues with parallel make" |
67 |
- export maketype="make" |
68 |
- virtualmake "$@" |
69 |
+ VIRTUALX_COMMAND="emake" virtualmake "$@" |
70 |
} |
71 |
|
72 |
# @FUNCTION: Xemake |
73 |
@@ -155,8 +167,7 @@ Xmake() { |
74 |
Xemake() { |
75 |
debug-print-function ${FUNCNAME} "$@" |
76 |
|
77 |
- export maketype="emake" |
78 |
- virtualmake "$@" |
79 |
+ VIRTUALX_COMMAND="emake" virtualmake "$@" |
80 |
} |
81 |
|
82 |
# @FUNCTION: Xeconf |
83 |
@@ -165,6 +176,5 @@ Xemake() { |
84 |
Xeconf() { |
85 |
debug-print-function ${FUNCNAME} "$@" |
86 |
|
87 |
- export maketype="econf" |
88 |
- virtualmake "$@" |
89 |
+ VIRTUALX_COMMAND="econf" virtualmake "$@" |
90 |
} |