aboutsummaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorSolano Gomez <gentoo@sattvik.com>2010-03-24 20:05:53 +0000
committerSolano Gomez <gentoo@sattvik.com>2010-03-24 20:05:53 +0000
commit81d9df5b97cedf098292552a3ea533d87c315a0a (patch)
tree2833b33c3cf9c409dc2444ab0e279f6f650f5956 /eclass
parentdev-java/saxon-9.2.0.6: finish external javadoc fix. package.env:DEPEND still... (diff)
downloadjava-81d9df5b97cedf098292552a3ea533d87c315a0a.tar.gz
java-81d9df5b97cedf098292552a3ea533d87c315a0a.tar.bz2
java-81d9df5b97cedf098292552a3ea533d87c315a0a.zip
clojure.eclass: Added bootstrap mode, fixed various bugs.
clojure-contrib-1.*: Now obeys 'source' USE flag clojure-1*: Use clojure eclass in bootstap mode to use clojure_dosrc svn path=/java-overlay/; revision=8134
Diffstat (limited to 'eclass')
-rw-r--r--eclass/clojure.eclass31
1 files changed, 23 insertions, 8 deletions
diff --git a/eclass/clojure.eclass b/eclass/clojure.eclass
index 2e43cc20..013a9f0d 100644
--- a/eclass/clojure.eclass
+++ b/eclass/clojure.eclass
@@ -47,18 +47,29 @@ WANT_CLOJURE_CONTRIB=${WANT_CLOJURE_CONTRIB:-}
# CLOJURE_VERSION.
CLOJURE_CONTRIB_VERSION=${CLOJURE_CONTRIB_VERSION:-${CLOJURE_VERSION}}
+# @ECLASS-VARIABLE: CLOJURE_BOOTSTRAP_MODE
+# @DESCRIPTION:
+# If set, the eclass will not pull in any Clojure dependencies or export the
+# compile function. This should be used only for the ebuilds that build
+# Clojure itself.
+[[ -n "${CLOJURE_BOOTSTRAP_MODE}" ]] && CLOJURE_VERSION="bootstrap"
+
# Check and normalise Clojure version
case "${CLOJURE_VERSION}" in
1.0*)
CLOJURE_SLOT="0"
- [[ -n JAVA_PKG_DEBUG && "${EBUILD_PHASE}" == "setup" ]] \
+ [[ -n "${JAVA_PKG_DEBUG}" && "${EBUILD_PHASE}" == "setup" ]] \
&& einfo "Building with Clojure 1.0"
;;
1.1*)
CLOJURE_SLOT="1.1"
- [[ -n JAVA_PKG_DEBUG && "${EBUILD_PHASE}" == "setup" ]] \
+ [[ -n "${JAVA_PKG_DEBUG}" && "${EBUILD_PHASE}" == "setup" ]] \
&& einfo "Building with Clojure 1.1"
;;
+ bootstrap)
+ [[ -n "${JAVA_PKG_DEBUG}" && "${EBUILD_PHASE}" == "setup" ]] \
+ && einfo "Bootstrapping Clojure"
+ ;;
*)
die "Clojure version ${CLOJURE_VERSION} is not currently supported by this eclass"
;;
@@ -77,17 +88,21 @@ ECLOJURE_DEPEND="${ECLOJURE_DEPEND} >=virtual/jdk-1.5"
ECLOJURE_RDEPEND="${ECLOJURE_RDEPEND} >=virtual/jre-1.5"
# set up Clojure depends
-ECLOJURE_CDEPEND="${ECLOJURE_CDEPEND} dev-lang/clojure:${CLOJURE_SLOT}"
-if [[ -n ${WANT_CLOJURE_CONTRIB} ]]; then
- ECLOJURE_CDEPEND="${ECLOJURE_CDEPEND} \
- dev-lang/clojure-contrib:${CLOJURE_SLOT}"
+if [[ "${CLOJURE_VERSION}" != "bootstrap" ]]; then
+ ECLOJURE_CDEPEND="${ECLOJURE_CDEPEND} dev-lang/clojure:${CLOJURE_SLOT}"
+ if [[ -n ${WANT_CLOJURE_CONTRIB} ]]; then
+ ECLOJURE_CDEPEND="${ECLOJURE_CDEPEND} \
+ dev-lang/clojure-contrib:${CLOJURE_SLOT}"
+ fi
fi
# finalise depends
DEPEND="${ECLOJURE_CDEPEND} ${ECLOJURE_DEPEND}"
RDEPEND="${ECLOJURE_CDEPEND} ${ECLOJURE_RDEPEND}"
-EXPORT_FUNCTIONS src_compile
+if [[ "${CLOJURE_VERSION}" != "bootstrap" ]]; then
+ EXPORT_FUNCTIONS src_compile
+fi
# @FUNCTION: clojure_src_compile
# @USAGE:
@@ -123,7 +138,7 @@ clojure_dosrc() {
[[ ${#} -lt 1 ]] && die "${FUNCNAME}: At least one argument needed"
local zip_name="${PN}-src.zip"
- local javaincl="-i '*.java'"
+ local javaincl="-i *.java"
while [[ ${1} == --* ]]; do
if [[ ${1} == "--zip-name" ]]; then
[[ ${#} -lt 2 ]] && die "${FUNCNAME}: --zip-name requires an argument"