%define maven 0 %define javahome /usr/lib/jvm/java Name: java-groovy Version: 1.7.2 Release: 3mamba Summary: Groovy scripting language Group: Development/Libraries/Java Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco URL: http://groovy.codehaus.org/ Source0: http://dist.groovy.codehaus.org/distributions/groovy-src-%{version}.zip Source1: groovy-Console.desktop Source2: groovy-Console.png Source3: groovy.png Source4: http://www.aqute.biz/repo/biz/aQute/bnd/0.0.379/bnd-0.0.379.jar Source5: java-groovy-1.7.0-starter.conf Source6: java-groovy-1.7.0-script # from openSUSE ant seems to produce incorrect parameter list to javac Patch1: java-groovy-1.7.0-build_xml.patch Patch2: java-groovy-1.7.2-nojansi.patch License: Apache Software License 2.0 BuildRequires: antlr BuildRequires: apache-ant BuildRequires: apache-ant-antlr BuildRequires: apache-ant-junit BuildRequires: apache-ant-trax BuildRequires: apache-ivy BuildRequires: apache-log4j %if %maven BuildRequires: apache-maven2 BuildRequires: apache-maven2-ant-plugin BuildRequires: apache-maven2-antrun-plugin BuildRequires: apache-maven2-changes-plugin BuildRequires: apache-maven2-compiler-plugin BuildRequires: apache-maven2-dependency-plugin BuildRequires: apache-maven2-idea-plugin BuildRequires: apache-maven2-install-plugin BuildRequires: apache-maven2-jar-plugin BuildRequires: apache-maven2-javadoc-plugin BuildRequires: apache-maven2-resources-plugin BuildRequires: maven-surefire-plugin BuildRequires: java-plexus-container-default BuildRequires: java-plexus-utils %endif BuildRequires: apache-tomcat5-jsp20-api BuildRequires: apache-tomcat5-servletapi5 #BuildRequires: aqute-bnd #BuildRequires: eclipse-rcp BuildRequires: jakarta-bsf24 BuildRequires: jakarta-commons-beanutils BuildRequires: jakarta-commons-cli BuildRequires: jakarta-commons-codec BuildRequires: jakarta-commons-collections BuildRequires: jakarta-commons-httpclient BuildRequires: jakarta-commons-lang BuildRequires: jakarta-commons-logging BuildRequires: jakarta-commons-primitives BuildRequires: jakarta-oro BuildRequires: java-axion BuildRequires: java-cglib BuildRequires: java-checkstyle %if "%{stage1}" != "1" BuildRequires: java-cobertura %endif BuildRequires: java-excalibur-avalon-framework BuildRequires: java-excalibur-avalon-logkit BuildRequires: java-hsqldb BuildRequires: java-jarjar1 BuildRequires: java-jline BuildRequires: java-jmock1 BuildRequires: java-junit3 BuildRequires: java-junit48 BuildRequires: java-livetribe-jsr223 BuildRequires: java-lucene BuildRequires: java-mockobjects BuildRequires: java-mx4j BuildRequires: java-qdox BuildRequires: java-radeox BuildRequires: java-retrotranslator BuildRequires: java-xpp3 BuildRequires: java-xstream BuildRequires: jpackage-utils BuildRequires: nekohtml BuildRequires: objectweb-asm = 3.2 BuildRequires: java-openjdk BuildRequires: java-gcj-compat BuildRequires: xmlunit Requires: antlr Requires: apache-ant Requires: apache-ant-junit Requires: apache-ant-trax Requires: apache-ivy Requires: apache-tomcat5-jsp20-api Requires: apache-tomcat5-servletapi5 Requires: jakarta-bsf24 Requires: jakarta-commons-cli Requires: jakarta-commons-codec Requires: jakarta-commons-collections Requires: jakarta-commons-httpclient Requires: jakarta-commons-logging Requires: jakarta-commons-primitives Requires: jakarta-oro Requires: jakarta-regexp Requires: java-axion Requires: java-cglib Requires: java-hsqldb Requires: java-jarjar1 Requires: java-jline Requires: java-jmock1 Requires: java-junit3 Requires: java-livetribe-jsr223 Requires: java-mockobjects Requires: java-mx4j Requires: java-qdox Requires: java-radeox Requires: java-xpp3 Requires: java-xstream Requires: jpackage-utils Requires: nekohtml Requires: objectweb-asm = 3.2 Requires: xerces-j2 Requires: xml-commons-apis BuildRoot: %{_tmppath}/%{name}-%{version}-root %description Groovy is a new agile dynamic language for the JVM combining lots of great features from languages like Python, Ruby and Smalltalk and making them available to the Java developers using a Java-like syntax. Groovy is designed to help you get things done on the Java platform in a quicker, more concise and fun way - bringing the power of Python and Ruby inside the Java platform. Groovy can be used as an alternative compiler to javac to generate standard Java bytecode to be used by any Java project or it can be used dynamically as an alternative language such as for scripting Java objects, templating or writing unit test cases. %package javadoc Group: Documentation Summary: Javadoc for %{name} %description javadoc Groovy is a new agile dynamic language for the JVM combining lots of great features from languages like Python, Ruby and Smalltalk and making them available to the Java developers using a Java-like syntax. This package contains javadoc for %{name} %prep %setup -q -n groovy-%{version} for j in $(find . -name "*.bat"); do rm -rf $j done #mv bootstrap/maven-ant-tasks-2.1.0.jar bootstrap/maven-ant-tasks-2.1.0.jar.no %patch1 %patch2 -p1 mkdir -p target/lib/{compile,examples,extras,runtime,test,tools} pushd target/lib pushd compile ln -sf $(build-classpath ant-1.7.1) ant-1.7.1.jar ln -sf $(build-classpath antlr) antlr-2.7.6.jar ln -sf $(build-classpath objectweb-asm/asm) asm-3.2.jar ln -sf $(build-classpath objectweb-asm/asm-analysis) asm-analysis-3.2.jar ln -sf $(build-classpath objectweb-asm/asm-commons) asm-commons-3.2.jar ln -sf $(build-classpath objectweb-asm/asm-tree) asm-tree-3.2.jar ln -sf $(build-classpath objectweb-asm/asm-util) asm-util-3.2.jar ln -sf $(build-classpath bsf24) bsf-2.4.0.jar ln -sf $(build-classpath commons-cli) commons-cli-1.2.jar ln -sf $(build-classpath commons-logging) commons-logging-1.1.1.jar ln -sf $(build-classpath ivy) ivy-2.1.0.jar ln -sf $(build-classpath jline) jline-0.9.94.jar ln -sf $(build-classpath jsp-api20) jsp-api-2.0.jar ln -sf $(build-classpath junit-3.8.2) junit-3.8.2.jar ln -sf $(build-classpath livetribe-jsr223) livetribe-jsr223-2.0.6.jar ln -sf $(build-classpath servletapi5) servlet-api-2.4.jar ln -sf $(build-classpath xstream) xstream-1.3.1.jar ln -sf $(build-classpath jarjar1) jarjar-1.0.jar popd pushd examples ln -sf $(build-classpath commons-httpclient) commons-httpclient-3.0.1.jar ln -sf $(build-classpath lucene) lucene-1.4.3.jar popd pushd extras ln -sf $(build-classpath mx4j/mx4j) mx4j-3.0.2.jar popd pushd runtime ln -sf $(build-classpath ant-1.7.1) ant-1.7.1.jar ln -sf $(build-classpath ant-launcher) ant-launcher-1.7.1.jar ln -sf $(build-classpath ant/ant-junit) ant-junit-1.7.1.jar ln -sf $(build-classpath antlr) antlr-2.7.6.jar ln -sf $(build-classpath objectweb-asm/asm) asm-3.2.jar ln -sf $(build-classpath objectweb-asm/asm-analysis) asm-analysis-3.2.jar ln -sf $(build-classpath objectweb-asm/asm-commons) asm-commons-3.2.jar ln -sf $(build-classpath objectweb-asm/asm-tree) asm-tree-3.2.jar ln -sf $(build-classpath objectweb-asm/asm-util) asm-util-3.2.jar ln -sf $(build-classpath bsf24) bsf-2.4.0.jar ln -sf $(build-classpath commons-cli) commons-cli-1.2.jar ln -sf $(build-classpath commons-logging) commons-logging-1.1.1.jar ln -sf $(build-classpath ivy) ivy-2.1.0.jar ln -sf $(build-classpath jline) jline-0.9.94.jar ln -sf $(build-classpath jsp-api20) jsp-api-2.0.jar ln -sf $(build-classpath junit48) junit-4.8.1.jar ln -sf $(build-classpath servletapi5) servlet-api-2.4.jar ln -sf $(build-classpath xstream) xstream-1.3.1.jar popd pushd test ln -sf $(build-classpath ant-1.7.1) ant-1.7.1.jar ln -sf $(build-classpath ant-launcher) ant-launcher-1.7.1.jar ln -sf $(build-classpath ant/ant-junit) ant-junit-1.7.1.jar ln -sf $(build-classpath antlr) antlr-2.7.6.jar ln -sf $(build-classpath objectweb-asm/asm) asm-3.2.jar ln -sf $(build-classpath objectweb-asm/asm-analysis) asm-analysis-3.2.jar ln -sf $(build-classpath objectweb-asm/asm-commons) asm-commons-3.2.jar ln -sf $(build-classpath objectweb-asm/asm-tree) asm-tree-3.2.jar ln -sf $(build-classpath objectweb-asm/asm-util) asm-util-3.2.jar ln -sf $(build-classpath bsf24) bsf-2.4.0.jar ln -sf $(build-classpath cglib-nodep) cglib-nodep-2.1_3.jar ln -sf $(build-classpath commons-cli) commons-cli-1.2.jar ln -sf $(build-classpath commons-logging) commons-logging-1.1.1.jar ln -sf $(build-classpath hsqldb) hsqldb-1.8.0.10.jar ln -sf $(build-classpath ivy) ivy-2.1.0.jar ln -sf $(build-classpath jline) jline-0.9.94.jar ln -sf $(build-classpath jmock1) jmock-1.2.0.jar ln -sf $(build-classpath jmock1-cglib) jmock-cglib-1.2.0.jar ln -sf $(build-classpath jsp-api20) jsp-api-2.0.jar ln -sf $(build-classpath junit48) junit-4.8.1.jar ln -sf $(build-classpath livetribe-jsr223) livetribe-jsr223-2.0.6.jar ln -sf $(build-classpath servletapi5) servlet-api-2.4.jar ln -sf $(build-classpath xmlunit) xmlunit-1.3.jar ln -sf $(build-classpath xstream) xstream-1.3.1.jar popd pushd tools ln -sf $(build-classpath antlr) antlr-2.7.6.jar ln -sf $(build-classpath objectweb-asm/asm) asm-3.2.jar ln -sf $(build-classpath objectweb-asm/asm-commons) asm-commons-3.2.jar ln -sf $(build-classpath backport-util-concurrent) backport-util-concurrent-3.1.jar # TODO cp %{SOURCE4} bnd-0.0.379.jar ln -sf $(build-classpath checkstyle) checkstyle-4.4.jar %if "%{stage1}" != "1" ln -sf $(build-classpath cobertura) cobertura-1.9.3.jar %endif ln -sf $(build-classpath commons-beanutils-core) commons-beanutils-core-1.7.0.jar ln -sf $(build-classpath commons-cli) commons-cli-1.2.jar ln -sf $(build-classpath commons-collections) commons-collections-2.1.jar ln -sf $(build-classpath commons-lang) commons-lang-1.0.jar ln -sf $(build-classpath commons-logging) commons-logging-1.1.1.jar ln -sf $(build-classpath log4j) log4j-1.2.9.jar ln -sf $(build-classpath oro) oro-2.0.8.jar ln -sf $(build-classpath qdox) qdox-1.10.jar ln -sf $(build-classpath retrotranslator-runtime) retrotranslator-runtime-1.2.7.jar ln -sf $(build-classpath retrotranslator-transformer) retrotranslator-transformer-1.2.7.jar ln -sf $(build-classpath jarjar1) jarjar-1.0.jar # simian-2.2.4.jar NON FREE - PROPRIETARY LICENSE # ln -sf %{_libdir}/eclipse/plugins/org.eclipse.osgi_3.5.2.R35x_v20100126.jar org.eclipse.osgi-3.4.3.R34x_v20081215-1030.jar popd popd %build export JAVA_HOME=%javahome export MAVEN_REPO_LOCAL=$PWD/.m2/repository mkdir -p $MAVEN_REPO_LOCAL export ANT_OPTS="-Xmx768m" export DISPLAY=:0.0 CLASSPATH=$(build-classpath commons-logging) ant \ -Duser.home=$PWD \ -Dmaven.repo.local=$MAVEN_REPO_LOCAL \ -D_skipFetch_=true \ -Djava.awt.headless=true \ -DcompileLibDirectory=$PWD/target/lib/compile \ -DruntimeLibDirectory=$PWD/target/lib/runtime \ -DtestLibDirectory=$PWD/target/lib/test \ -DtoolsLibDirectory=$PWD/target/lib/tools \ -DexamplesLibDirectory=$PWD/target/lib/examples \ -DextrasLibDirectory=$PWD/target/lib/extras \ -Djdk14home=/usr/lib/jvm/jdk-gcj \ -Djdk15home=/usr/lib/jvm/jdk-gcj \ -Djdk16home=%javahome \ install -DskipTests=true realgroovydoc docGDK %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" mkdir -p %{buildroot}%{_javadir} install -m 644 target/install/lib/groovy-%{version}.jar \ %{buildroot}%{_javadir}/groovy-%{version}.jar install -m 644 target/install/embeddable/groovy-all-%{version}.jar \ %{buildroot}%{_javadir}/groovy-all-%{version}.jar ( cd %{buildroot}%{_javadir} for jar in *-%{version}*; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"` done ) mkdir -p %{buildroot}%{_datadir}/maven2/poms install -m 644 pom.xml %{buildroot}%{_datadir}/maven2/poms/JPP-groovy.pom %add_to_maven_depmap org.codehaus.groovy groovy %{version} JPP groovy mkdir -p %{buildroot}%{_datadir}/pixmaps mkdir -p %{buildroot}%{_datadir}/applications desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE1} install -pm 644 %{SOURCE3} %{buildroot}%{_datadir}/pixmaps/groovyConsole.png mkdir -p %{buildroot}%{_sysconfdir} install -pm 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/groovy-starter.conf mkdir -p %{buildroot}%{_bindir} # wrapper install -pm 755 %{SOURCE6} $RPM_BUILD_ROOT%{_bindir}/groovy for g in grape groovyc groovyConsole java2groovy groovysh; do ln %{buildroot}%{_bindir}/groovy %{buildroot}%{_bindir}/$g done mkdir -p %{buildroot}%{_javadocdir}/groovy-jdk-%{version} cp -pr target/html/groovy-jdk/* %{buildroot}%{_javadocdir}/groovy-jdk-%{version} ln -s groovy-jdk-%{version} %{buildroot}%{_javadocdir}/groovy-jdk mkdir -p %{buildroot}%{_javadocdir}/groovy-%{version} cp -pr target/html/gapi/* %{buildroot}%{_javadocdir}/groovy-%{version} ln -s groovy-%{version} %{buildroot}%{_javadocdir}/groovy %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %post %update_maven_depmap %postun %update_maven_depmap %files %defattr(-,root,root) %config(noreplace) %{_sysconfdir}/groovy-starter.conf %attr(755, root, root) %{_bindir}/* %{_javadir}/groovy-%{version}.jar %{_javadir}/groovy.jar %{_javadir}/groovy-all-%{version}.jar %{_javadir}/groovy-all.jar %{_datadir}/applications/groovy-Console.desktop %{_datadir}/pixmaps/groovyConsole.png %{_datadir}/maven2/poms %{_mavendepmapfragdir} %doc *.txt src/wiki-snapshot.pdf %files javadoc %defattr(-,root,root) %{_javadocdir}/groovy-%{version} %{_javadocdir}/groovy %{_javadocdir}/groovy-jdk-%{version} %{_javadocdir}/groovy-jdk %changelog * Mon Mar 28 2011 gil 1.7.2-3mamba - rebuilt with java-openjdk support * Sat Jan 08 2011 gil 1.7.2-2mamba - rebuilt devel * Thu Nov 25 2010 gil 1.7.2-1mamba - update to 1.7.2 * Fri May 21 2010 gil 1.7.0-4mamba - edit spec files - fixed java.lang.SecurityException: Prohibited package name: java.util * Fri May 21 2010 gil 1.7.0-3mamba - rebuilt (devel) * Tue Feb 16 2010 gil 1.7.0-2mamba - fixed broken link * Sun Feb 14 2010 gil 1.7.0-1mamba - update to 1.7.0 * Sun Feb 14 2010 gil 1.6.7-1mamba - update to 1.6.7 * Tue May 19 2009 gil 1.6.3-1mamba - package created by autospec