diff options
author | Solano Gomez <gentoo@sattvik.com> | 2010-03-24 20:05:53 +0000 |
---|---|---|
committer | Solano Gomez <gentoo@sattvik.com> | 2010-03-24 20:05:53 +0000 |
commit | 81d9df5b97cedf098292552a3ea533d87c315a0a (patch) | |
tree | 2833b33c3cf9c409dc2444ab0e279f6f650f5956 /eclass | |
parent | dev-java/saxon-9.2.0.6: finish external javadoc fix. package.env:DEPEND still... (diff) | |
download | java-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.eclass | 31 |
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" |