summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Baidakou <the.dmol@gmail.com>2012-09-29 14:27:12 +0300
committerIvan Baidakou <the.dmol@gmail.com>2012-09-29 14:27:12 +0300
commit6fa0949817d98c5259795101fd3601c587324dc4 (patch)
tree83bb3d92c32cbe32bab3380db002f11440db3f58
parentremove as included into main portage tree (diff)
downloaddmol-6fa0949817d98c5259795101fd3601c587324dc4.tar.gz
dmol-6fa0949817d98c5259795101fd3601c587324dc4.tar.bz2
dmol-6fa0949817d98c5259795101fd3601c587324dc4.zip
groovy-1.8.8.ebuild version bump
-rw-r--r--dev-java/groovy/Manifest4
-rw-r--r--dev-java/groovy/files/groovy-1.8-build-pref-locking-fix.patch18
-rw-r--r--dev-java/groovy/groovy-1.8.8.ebuild125
-rw-r--r--dev-java/groovy/metadata.xml7
4 files changed, 154 insertions, 0 deletions
diff --git a/dev-java/groovy/Manifest b/dev-java/groovy/Manifest
new file mode 100644
index 0000000..5cf5afc
--- /dev/null
+++ b/dev-java/groovy/Manifest
@@ -0,0 +1,4 @@
+AUX groovy-1.8-build-pref-locking-fix.patch 1043 SHA256 0a8e60541ec2805f331a7fb7545f8342fe9a895e330886313d522b1b86ee87bd SHA512 b44ef086b7d6116ed82467a777113b38dd8a6ffd03d2f205b053b0be07503906f9a426c78d5976ef7bba93b492319bfa4898a35c9a5d2af993dae7a0893bfc7a WHIRLPOOL 031c8e9815f4478c289716a231ce2fafc2b27854b1b04e0ac97cbf34a44d1a946093326f9ddc454d5016cca5cec1e6b208c4706b86f361d604bd5419c872b955
+DIST groovy-src-1.8.8.zip 28211036 SHA256 2cc16bd6e96c87d01891aaa7775225f2630cd71c1e17a9cdb3a19693bda4ea8e SHA512 45275978c1cd38ff7e90732be8bf6fdaeb028f3489cdf5baf9b2292e11d48c016112e2c650bd9eb87828e221b8df5574d1c784a2f082596923780f8b95aff8d0 WHIRLPOOL 548bb4ea95f37fecde7fc197519d48c231884ece7b46923c31e40cb461bed69143bab78baa328b392a938b5c5732919f0bfa8ffb77d194aa1d10e6c2138ef84a
+EBUILD groovy-1.8.8.ebuild 3929 SHA256 6e569e0bb5c9df688c5b3329f06c87d890b467c6b682b0a8582c215e9c0dcacf SHA512 2b815d8b7cba5f003696e6232644cfae5cb5c8c4c28e5bd9c792176b0dcd2d066011ec9ee0477f9a2e2ec5dd1777c3f9780ea4bf3e40c8bd2428f1b44f0c8887 WHIRLPOOL ee5d67d4be5c07bf8e7179342b1c4c571e3944b29835f95e7731280c131724bea008848fa04722f9391bc824c115eb3e61f751f8c18557a62accd5e412252e48
+MISC metadata.xml 205 SHA256 2ff0740a5424b0e10c7888541a248d1bd363a60911b0921b4cfe5c36590498ce SHA512 e7c77c724739d0af43cc338ded09dcbeee2a710eb0e49f1e656dc4c891bee85bfd6935bf70a191a1c5823f473643e676d64970416e5f1820ea466681016757c5 WHIRLPOOL 5b7f0c2a5243244fa06b072c8f0d9f53e7b6f45c7e1b74a0d945bdcc28b7137fddfd58e85b0d3e721e80963916ceae0d4cca59f48114ba26c47b24a91d6abb27
diff --git a/dev-java/groovy/files/groovy-1.8-build-pref-locking-fix.patch b/dev-java/groovy/files/groovy-1.8-build-pref-locking-fix.patch
new file mode 100644
index 0000000..ac141b1
--- /dev/null
+++ b/dev-java/groovy/files/groovy-1.8-build-pref-locking-fix.patch
@@ -0,0 +1,18 @@
+diff -Nru /tmp/groovy-1.8.8/config/ant/build-setup.xml ./config/ant/build-setup.xml
+--- /tmp/groovy-1.8.8/config/ant/build-setup.xml 2012-09-10 13:54:08.000000000 +0300
++++ ./config/ant/build-setup.xml 2012-09-28 21:41:05.768532228 +0300
+@@ -73,11 +73,13 @@
+ <sequential>
+ <java classname="org.apache.tools.ant.launch.Launcher" fork="true" maxmemory="@{maxmemory}" failonerror="true">
+ <classpath refid="@{classpathref}"/>
+- <jvmarg value="-Duser.home=${user.home}" />
++ <jvmarg value="-Duser.home=${gentoo.user.home}" />
+ <arg value="@{target}"/>
+ <arg value="-DskipFetch=${skipFetch}"/>
+ <arg value="-DruntimeLibDirectory=${runtimeLibDirectory}"/>
+ <arg value="-DtoolsLibDirectory=${toolsLibDirectory}" />
++ <arg value="-Dgentoo.classpath=${gentoo.classpath}" />
++ <arg value="-Dgentoo.user.home=${gentoo.user.home}" />
+ </java>
+ </sequential>
+ </macrodef>
diff --git a/dev-java/groovy/groovy-1.8.8.ebuild b/dev-java/groovy/groovy-1.8.8.ebuild
new file mode 100644
index 0000000..b8644d7
--- /dev/null
+++ b/dev-java/groovy/groovy-1.8.8.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+# Groovy's build system is Ant based, but they use Maven for fetching the dependencies.
+# We just have to remove the fetch dependencies target, and then we can use Ant for this ebuild.
+
+# We currently do not build the embeddable jar (which is created using JarJar).
+# We could provide that via an USE flag.
+# We also don't use automatic build rewriting as there seems to be already some level of support
+# in the upstream build system
+
+# TODO: Install all 3 documentation packages. Currently only the Groovy GDK documentation is installed
+# as our java-pkg_dojavadoc function does not support multiple Javadoc installations.
+
+EAPI="4"
+
+WANT_ANT_TASKS="ant-antlr"
+JAVA_PKG_IUSE="doc source"
+
+inherit base versionator java-pkg-2 java-ant-2
+
+MY_PV=${PV/_rc/-RC-}
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="Groovy is a high-level dynamic language for the JVM"
+HOMEPAGE="http://groovy.codehaus.org/"
+
+SRC_URI="http://dist.groovy.codehaus.org/distributions/${PN}-src-${PV}.zip"
+LICENSE="codehaus-groovy"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="test"
+
+CDEPEND=">=dev-java/asm-3.2
+ >=dev-java/ant-core-1.8.0
+ >=dev-java/junit-4.6
+ dev-java/antlr:0
+ dev-java/ant-ivy:2.2
+ dev-java/xstream:0
+ dev-java/jline:0
+ dev-java/commons-cli:1
+ dev-java/jansi:0
+ java-virtuals/servlet-api:3.0
+ >=dev-java/bsf-2.4
+ java-virtuals/jmx:0"
+
+RDEPEND=">=virtual/jre-1.5
+ ${CDEPEND}"
+
+DEPEND=">=virtual/jdk-1.5
+ dev-java/ant-ivy:2
+ test? (
+ dev-java/jmock:1.0
+ dev-java/xmlunit:1
+ dev-db/hsqldb:0
+ dev-java/commons-logging:0
+ dev-java/ant-junit:0
+ dev-java/ant-trax:0
+ )
+ doc? (
+ dev-java/ant-antlr:0
+ dev-java/qdox:1.12
+ dev-java/commons-logging:0
+ )
+ ${CDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=( "${FILESDIR}/${PN}-1.8-build-pref-locking-fix.patch" )
+
+JAVA_PKG_BSFIX_NAME+=" build-setup.xml"
+JAVA_ANT_REWRITE_CLASSPATH="yes"
+JAVA_ANT_CLASSPATH_TAGS+=" java groovyc taskdef"
+EANT_BUILD_TARGET="createJars"
+EANT_GENTOO_CLASSPATH="asm-3,ant-core,ant-ivy-2.2,junit-4,antlr,xstream,commons-cli-1,jansi,servlet-api-3.0,bsf-2.3,jmx,jline"
+EANT_GENTOO_CLASSPATH_EXTRA="target/tools:target/classes"
+EANT_EXTRA_ARGS="-DskipFetch=true -DskipEmbeddable=true -Dgentoo.user.home='${T}'"
+EANT_DOC_TARGET="doc"
+
+src_prepare() {
+ find "${S}" -name '*.jar' -delete
+ find "${S}" -name '*.class' -delete
+ base_src_prepare
+ sed -i -e 's/fullQualifiedName/fullyQualifiedName/g' \
+ src/tools/org/codehaus/groovy/tools/DocGenerator.groovy
+
+ rm -rf bootstrap
+ # security directory is needed for tests, but they currently don't pass
+ #rm -rf security
+ mkdir -p target/lib/{compile,runtime,tools}
+}
+
+src_compile() {
+ use doc && EANT_ANT_TASKS+=" ant-antlr"
+ use doc && EANT_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjars --build-only qdox-1.12,commons-logging,ant-antlr)"
+ EANT_EXTRA_ARGS+=" -DskipTests=true"
+ java-pkg-2_src_compile
+}
+
+#the tests currently don't pass. The problem, seems in instantiating org.objectweb.asm.ClassWriter:
+#the asm-3 package is the dependency of the groovy, while asm-1.5 is dependency of jmock-1.0
+src_test() {
+ mkdir -p target/lib/{test,extras}
+ EANT_TEST_GENTOO_CLASSPATH="jmock-1.0,ant-junit,xmlunit-1,hsqldb,commons-logging"
+ java-pkg-2_src_test
+}
+
+src_install() {
+ java-pkg_newjar "target/dist/${PN}.jar"
+ use doc && java-pkg_dojavadoc "target/html/groovy-jdk/"
+
+ # FIXME: install those two later
+ #
+ #use doc && java-pkg_dojavadoc "target/html/api/"
+ #use doc && java-pkg_dojavadoc "target/html/gapi/"
+
+ use source && java-pkg_dosrc "src/main/groovy" "src/main/org"
+ java-pkg_dolauncher "groovyc" --main org.codehaus.groovy.tools.FileSystemCompiler
+ java-pkg_dolauncher "groovy" --main groovy.ui.GroovyMain
+ java-pkg_dolauncher "groovysh" --main groovy.ui.InteractiveShell
+ java-pkg_dolauncher "groovyConsole" --main groovy.ui.Console
+ java-pkg_dolauncher "grape" --main org.codehaus.groovy.tools.GrapeMain
+}
diff --git a/dev-java/groovy/metadata.xml b/dev-java/groovy/metadata.xml
new file mode 100644
index 0000000..80859ae
--- /dev/null
+++ b/dev-java/groovy/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>the.dmol@gmail.com</email>
+ </maintainer>
+</pkgmetadata>